Для распространения вредоносной программы злоумышленники выбрали эффективный способ компрометации дистрибутивов ПО под названием Transmission для OS X. Эта программа представляет из себя простой свободно распространяемый клиент BitTorrent. Несколько дней назад два дистрибутива Transmission v2.90 были скомпрометированы KeRanger и распространялись на официальном веб-сайте клиента. Так как Transmission является свободным ПО, злоумышленники могли просто скомпилировать специальную backdoored-версию и заменить ее на сервере разработчиков. Кроме этого, скомпрометированный дистрибутив был подписан легитимным цифровым сертификатом разработчика для Mac.
Рис. Скомпрометированный дистрибутив Transmission на официальном веб-сайте. (данные Palo Alto Networks)
Так как файл снабжен легитимной цифровой подписью, вредоносная программа может успешно обойти проверку защитного ПО Apple Gatekeeper. После установки скомпрометированного приложения, на компьютере пользователя активируется вредоносный код. После этого, KeRanger выжидает целых три дня до первого подключения с своему управляющему C&C-серверу, причем с использованием анонимной сети Tor. Такой трюк маскирует присутствие вымогателя после непосредственной компрометации пользователя.
После подключения к C&C, KeRanger инициирует процесс шифрования определенных типов файлов пользователя на компьютере. Для расшифровки файлов злоумышленники требуют выкуп размером в один биткоин (около $400). В дополнение к этому, KeRanger пытается шифровать файлы резервного копирования для предотвращения возможности пользователя восстановить из них свои данные.
Рис. Информация о цифровой подписи вредоносного дистрибутива. Файлы были подписаны 4-го марта. (данные Palo Alto Networks)
Как мы уже упоминали, оба скомпрометированных дистрибутива были подписаны легитимным цифровым сертификатом, который был выдан компанией Apple. Идентификатор разработчика в этом цифровом сертификате «POLISAN BOYA SANAYI VE TICARET ANONIM SIRKETI (Z7276PX673)», что отличается от аналогичного идентификатора, использовавшегося для подписи предыдущих легитимных версий Transmission.
Скомпрометированный дистрибутив содержит в своем составе дополнительный файл под названием General.rtf, расположенном по пути Transmission.app/Contents/Resources. Этот файл является исполняемым формата Mach-O, но для его маскировки используется значок RTF-документа. Исполняемый файл упакован с использованием UPX версии 3.91. Когда пользователь запускает на исполнение зараженные дистрибутивы, встроенное легитимное приложение Transmission.app/Content/MacOS/Transmission скопирует файл General.rtf в расположение ~/Library/kernel_service и исполнит файл «kernel_service» еще до того, как пользователь начнет работу с GUI.
Рис. Значки вредоносных объектов в дистрибутиве. (данные Palo Alto Networks)
Рис. Код KeRanger исполняет упоминаемый General.rtf, который специализируется на шифровании файлов и требовании выкупа. (данные Palo Alto Networks)
Вредоносная программа специализируется на шифровании более чем трехсот типов файлов, включая следующие:
- Документы: .doc, .docx, .docm, .dot, .dotm, .ppt, .pptx, .pptm, .pot, .potx, .potm, .pps, .ppsm, .ppsx, .xls, .xlsx, .xlsm, .xlt, .xltm, .xltx, .txt, .csv, .rtf, .tex
- Изображения: .jpg, .jpeg
- Аудио и видео: .mp3, .mp4, .avi, .mpg, .wav, .flac
- Архивы: .zip, .rar., .tar, .gzip
- Исходный код: .cpp, .asp, .csh, .class, .java, .lua
- Базы данных: .db, .sql
- Электронные письма: .eml
- Сертификаты: .pem.
Рис. Запрос с требованием выкупа, который был получен вымогателем от C&C-сервера. (данные Palo Alto Networks)
Зашифрованные KeRanger файлы получают дополнительное расширение .encrypted к уже существующему имени. Для шифрования файлов используется процедура, аналогичная шифровальщикам для Windows, т. е. в ней используются алгоритмы симметричного AES и асимметричного RSA шифрования. Функция шифрования указана ниже. Для расшифровки файлов нужно получить закрытый RSA ключа, с помощью которого можно расшифровать симметричный ключ AES, хранящийся в теле каждого файла.
Рис. Функция шифрования файлов с использованием AES.
Заключение
Цифровой сертификат, который использовался для подписания вредоносных файлов, уже был отозван Apple, а защитное ПО Gatekeeper уже обнаруживает файлы KeRanger. Авторы Transmission Project также были уведомлены о произошедшем и скомпрометированные дистрибутивы были удалены с сервера. Apple добавила сигнатуры KeRanger в свой инструмент безопасности XProtect, при этом соответствующее обновление автоматически получили маки.
Комментарии (16)
NMellon
07.03.2016 17:41+5Да, много факторов сработало, чтобы вирус прокрался на маки.
Но что мне нравится, без всяких антивирусов за пару дней (или сколько там прошло) маки снова под защитой.
Одно очень не приятно, что скачивая с официального сайта получаешь такой сюрприз.navion
08.03.2016 02:08+2В Windows тоже есть application whitelisting, но его принудительное включение многие не поймут.
DrLivesey
08.03.2016 11:26+1В этом отношении централизованное хранилище приложений, как в Ubuntu выглядит надежнее т.к его проще контролировать.
Никто, однако, не отменял ручной установки пакетов и сторонних репозиториев.
dimiork
11.03.2016 00:03Меня во всем этом деле смущает фраза:
Так как Transmission является свободным ПО, злоумышленники могли просто скомпилировать специальную backdoored-версию и заменить ее на сервере разработчиков.
Недавно нечто похожее было с Linux Mint. Что, вот так просто можно брать и заменять? Это ж не проходной двор.
В общем, был бы интересен анализ способов таких "замен", а также способы защиты.grossws
11.03.2016 01:42Взломали сайт и подменили ссылку. Свободное или проприетарное ПО — никакой разницы. Встроить модуль в проприетарную программу не сильно сложнее чем пересобрать transmission.
grossws
11.03.2016 01:45Если говорить о защите — проверять хэши и подписи скачанного софта. А ещё лучше — ставить из репозитория, чтобы проверял пакетный менеджер. Стоит помнить, что не взламывается только выключенный запертый в сейф сервер.
С подменой ссылок на минт заметили подмену, собственно, по некорректным хэшам.
he11c0de
Неожиданно..
Есть какие либо меры для защиты от подобных случаев кроме как не пользоваться торрентами и делать регулярные бэкапы?
iLexey
Бэкапы не помогут (о чем сказано в статье). А средство конечно есть и очень простое — поставить галочку, что разрешается использовать ПО только из AppStore. Правда не всех это устроит...
he11c0de
Да, но подпись то была валидная. Или эта подпись отличается от тех, что в приложениях на AppStore?
iLexey
Есть валидная подпись, а есть софт из AppStore.
Valery4
Бэкапы не ставят на тот же диск, на котором установлена система. В идеале на внешний или сетевой диск.
iLexey
Так фишка в том, что даже внешний диск не поможет. Если говорить про стандартный механизм MacOS — TimeMachine, то во время бэкапа оно монтируется в стандартную папку /Volumes и благополучно шифруется вымогателем… Это как если складывать бэкапы в windows на сетевой диск, вроде и внешний, но вроде как и локально подключен.
MichaelBorisov
Надо ставить бэкапы на такой диск, который не подключен. И вообще, проявить изобретательность, выявить уязвимые места используемой системы резервного копирования и постараться их устранить, учитывая, что борьба ведется не с техническими неисправностями, а со злонамеренными действиями людей.
Kovu
Бекапы по определению должны храниться отдельно.
oWeRQ
В идеале, должны быть доступны только на добавление и чтение, удаление и изменение должно быть защищено на стороне бекапа.