Специалисты компании Palo Alto Networks обнаружили первый настоящий вымогатель (ransomware) для Apple OS X. Вредоносная программа получила название KeRanger и обнаруживается нашими антивирусными продуктами как OSX/Filecoder.KeRanger.A. KeRanger относится к типу crypto-ransomware или filecoder и специализируется на шифровании файлов пользователя с дальнейшим требованием выкупа за расшифровку.



Для распространения вредоносной программы злоумышленники выбрали эффективный способ компрометации дистрибутивов ПО под названием 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)


  1. he11c0de
    07.03.2016 17:38
    -8

    Неожиданно..

    Есть какие либо меры для защиты от подобных случаев кроме как не пользоваться торрентами и делать регулярные бэкапы?


    1. iLexey
      07.03.2016 17:41

      Бэкапы не помогут (о чем сказано в статье). А средство конечно есть и очень простое — поставить галочку, что разрешается использовать ПО только из AppStore. Правда не всех это устроит...


      1. he11c0de
        07.03.2016 17:43

        Да, но подпись то была валидная. Или эта подпись отличается от тех, что в приложениях на AppStore?


        1. iLexey
          07.03.2016 17:47
          +4

          Есть валидная подпись, а есть софт из AppStore.

          image


      1. Valery4
        07.03.2016 19:31
        +5

        Бэкапы не ставят на тот же диск, на котором установлена система. В идеале на внешний или сетевой диск.


        1. iLexey
          08.03.2016 12:49

          Так фишка в том, что даже внешний диск не поможет. Если говорить про стандартный механизм MacOS — TimeMachine, то во время бэкапа оно монтируется в стандартную папку /Volumes и благополучно шифруется вымогателем… Это как если складывать бэкапы в windows на сетевой диск, вроде и внешний, но вроде как и локально подключен.


          1. MichaelBorisov
            08.03.2016 22:43

            Надо ставить бэкапы на такой диск, который не подключен. И вообще, проявить изобретательность, выявить уязвимые места используемой системы резервного копирования и постараться их устранить, учитывая, что борьба ведется не с техническими неисправностями, а со злонамеренными действиями людей.


      1. Kovu
        08.03.2016 01:30
        +1

        Бекапы по определению должны храниться отдельно.


        1. oWeRQ
          09.03.2016 13:22

          В идеале, должны быть доступны только на добавление и чтение, удаление и изменение должно быть защищено на стороне бекапа.


  1. NMellon
    07.03.2016 17:41
    +5

    Да, много факторов сработало, чтобы вирус прокрался на маки.
    Но что мне нравится, без всяких антивирусов за пару дней (или сколько там прошло) маки снова под защитой.
    Одно очень не приятно, что скачивая с официального сайта получаешь такой сюрприз.


    1. navion
      08.03.2016 02:08
      +2

      В Windows тоже есть application whitelisting, но его принудительное включение многие не поймут.


    1. DrLivesey
      08.03.2016 11:26
      +1

      В этом отношении централизованное хранилище приложений, как в Ubuntu выглядит надежнее т.к его проще контролировать.
      Никто, однако, не отменял ручной установки пакетов и сторонних репозиториев.


  1. DrLivesey
    08.03.2016 11:08

    Статья про то же и с теми же картинками на ГТ на 3 часа раньше.


  1. dimiork
    11.03.2016 00:03

    Меня во всем этом деле смущает фраза:

    Так как Transmission является свободным ПО, злоумышленники могли просто скомпилировать специальную backdoored-версию и заменить ее на сервере разработчиков.

    Недавно нечто похожее было с Linux Mint. Что, вот так просто можно брать и заменять? Это ж не проходной двор.
    В общем, был бы интересен анализ способов таких "замен", а также способы защиты.


    1. grossws
      11.03.2016 01:42

      Взломали сайт и подменили ссылку. Свободное или проприетарное ПО — никакой разницы. Встроить модуль в проприетарную программу не сильно сложнее чем пересобрать transmission.


    1. grossws
      11.03.2016 01:45

      Если говорить о защите — проверять хэши и подписи скачанного софта. А ещё лучше — ставить из репозитория, чтобы проверял пакетный менеджер. Стоит помнить, что не взламывается только выключенный запертый в сейф сервер.

      С подменой ссылок на минт заметили подмену, собственно, по некорректным хэшам.