Исследователи известной американской security-компании Palo Alto Networks сообщили об обнаружении множества вредоносных приложений в App Store. Этот магазин приложений поддерживается компанией Apple и известен как самый достоверный и безопасный центр дистрибуции приложений для iOS. Особенность попадания туда вредоносных приложений заключалась в том, что они были скомпилированы нелегитимным инструментом Xcode. Сам Xcode представляет из себя среду разработки приложений для iOS, которым пользуются все разработчики.



Скомпилированные фальшивым Xcode приложения получили название XcodeGhost, а их количество, по последним данным, исчисляется тысячами, причем более тысячи все еще остаются в App Store на текущий момент. Антивирусные продукты ESET обнаруживают вредоносное ПО XcodeGhost как iOS/XcodeGhost (F-Secure: Backdoor:iPhoneOS/XCodeGhost.A, Sophos: iPh/XcdGhost-A, Symantec: OSX.Codgost).

Фальшивый Xcode затронул китайских разработчиков, поскольку именно они первыми воспользовались данным инструментом, решив не скачивать его с портала разработчиков Apple, а прибегнуть для этого к торрентам и другим недостоверным «местам». Внедрение вредоносного кода в легитимное компилируемое приложение осуществлялось на стадии компоновки, когда компоновщик связывал объектный код самого приложения с вредоносным объектным кодом, получая на выходе приложение, которое для разработчика выглядит полностью легитимным, а на самом деле уже являющееся вредоносным. Полученное приложение подписывалось цифровым сертификатом разработчика и размещалось в App Store как легитимное.

Вредоносный код XcodeGhost, т. е. тот, который компоновщик внедрял в легитимное приложение, не выполняет никаких деструктивных для устройства функций, а просто собирает статистику об устройстве и отправляет ее на C&C-сервер злоумышленников в зашифрованном виде. Вредоносный объектный файл, данные которого добавлялись в легитимное приложение, назывался CoreServices, а сам он располагался в одной из директорий фреймворка Xcode.

Следующие файлы были добавлены в скомпрометированный фреймворк разработки Xcode.


Рис. Добавленные в среду Xcode файлы, необходимые для успешной компоновки программы с вредоносным кодом (данные Palo Alto Networks).

XcodeGhost специализируется только на сборе информации о системе.


Рис. Собираемая XcodeGhost информация о системе (данные Palo Alto Networks).

  • Текущее на момент получения данных время.
  • Название приложения XcodeGhost.
  • Bundle ID приложения XcodeGhost.
  • Тип устройства и его имя.
  • Текущая страна и язык.
  • Текущий идентификатор UUID.
  • Тип сети.

Компания Apple уже начала зачистку App Store от вредоносных приложений, среди которых были и популярные у пользователей экземпляры.

XcodeGhost стал первой массовой вредоносной программой или технологией заражения одной из самых безопасных ОС — Apple iOS. До XcodeGhost количество вредоносных программ для iOS едва ли составляло десяток и все они были рассчитаны на устройства с jailbreak, не говоря уже о том, что кто-либо мог распространять их через App Store. Высокий уровень безопасности последних версий этой мобильной ОС (DEP/ASLR, sandboxing, rootless, code signing, secure bootchain, привязка к App Store) сделал ее почти полностью непроницаемой для различного рода эксплойтов и вредоносных программ.

Комментарии (7)


  1. PapaBubaDiop
    22.09.2015 13:55

    Текущий идентификатор UUID


    Если разработчик не сказал, что он использует UUID, то приложение не пройдет проверку.


    1. Pr0Ger
      22.09.2015 14:38

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


  1. egyp7
    22.09.2015 15:27
    +1

    антивирусные продукты ESET обнаруживают вредоносное ПО XcodeGhost как iOS/XcodeGhost (F-Secure: Backdoor:iPhoneOS/XCodeGhost.A, Sophos: iPh/XcdGhost-A, Symantec: OSX.Codgost).


    esetnod32 все это так, но вот антивируса вашего под iOS ведь не существует. Под iOS я вообще не видел не одного авера. Замечу также, что пользователь будет ставить вредоносное ПО прямиком из App Store, а не с компа с вашим AV.
    P.S.: Тут вот сорсы для более наглядного изучения выложили: github.com/XcodeGhostSource/XcodeGhost


  1. grokinn
    22.09.2015 18:21

    Если eset-ом проверить папку Mobile Applications от iTunes на компьютере после бекапа телефона он будет обнаруживать вирус?


    1. not_ice
      22.09.2015 21:20

      Написано же, что заражённые приложения не содержат в себе вирусов в классическом понимании, а занимаются только сбором статистики (т.е. с натяжкой тянут на троянов). Если бы внедрялось что-то более серьезное, фиг бы такие приложения прошли модерацию в Аппсторе.


      1. grokinn
        22.09.2015 21:21

        Ну по сигнатуре то их все равно можно вычислить. Или нельзя, собственно в том то и вопрос.


        1. not_ice
          22.09.2015 21:38
          +1

          Это вопрос — добавили ли есет сигнатуры. А эвристикой там вряд ли можно за что то зацепиться )