Самочувствие malware на iOS устройствах / Дмитрий Евдокимов (Didital Security)

Ontico
OnticoOntico
Самочувствие malware на
iOS устройствах
Дмитрий Евдокимов
Директор исследовательского центра
Digital Security
Самочувствие malware на
iOS устройствах
© 2002—2016, Digital Security
#whoami
• Исследователь информационной безопасности в Digital Security
• Редактор рубрики в журнале Xakep
• Один из организаторов конференций DEFCON Russia и
ZeroNights
• Специализируюсь на поиске уязвимостей в бинарных
приложениях без исходного кода
• Анализ мобильных приложений для Android, iOS,
WindowsPhone
• Докладчик на конференциях в Польше, Франции, Испании,
Германии, ОАЭ, Мексике
2
Самочувствие malware на
iOS устройствах
© 2002—2016, Digital Security
План
• Безопасность iOS
• Malware для iOS устройств
– С Jailbreak
– Без Jailbreak
• Подходы/техники используемые malware
• Заключение
3
Самочувствие malware на
iOS устройствах
© 2002—2016, Digital Security
Безопасность iOS
• Проверка приложений компанией Apple
• Подпись кода
– X.509v3 сертификат + подтверждение личности
– W^X
• Песочница (Seatbelt)
– /var/mobile/Applications/<app-GUID>/
– /var/mobile/Containers/Bundle/Application/
• Нет доступа к другим процессам
• Отсутствие прямого доступа к железу устройства
• Невозможность динамически генерировать код
• Разделение привилегий
– Приложения с правами mobile + Entitlements
4
Самочувствие malware на
iOS устройствах
© 2002—2016, Digital Security
Распространение ПО/malware для iOS
• AppStore
– Подписано distribution-сертификатом
– ПроходитApp Review
• TestFlight (из AppStore)
– Подписано distribution-сертификатом
– С beta entitlement, доступна для 1000 пользователей
– ПроходитBeta App Review
• Персональный сертификат
– Установка только на одно устройство без распространения без проверки Apple
• Ad Hoc распространение
– Подписано developer-сертификатом
– Не более 100 заранее оговоренныхустройств – необходимо знание UUID
– Проверка кода от Apple отсутствует
• In-House распространение
– Подписанныеenterprise-сертификатом
– Проверка кода от Apple отсутствует
5
Коддолженбытьподписан!
Самочувствие malware на
iOS устройствах
© 2002—2016, Digital Security
Jailbreak
Jailbreak - это процесс удаления ограничений, введённых компаний Apple на своих
устройствах, посредством эксплоитов.
– Привязной (Tethered)
– Отвязной (Untethered)
Последствия:
– Возможность доступа к файловой системе
– Обход ограничений sandbox (песочница)
– Запуск неподписанных приложений
JB: PwnageTool, redsn0w, purplera1n, Spirit, JailbreakMe, Absinthe, evasi0n, Pangu, TaiG
Лица: iPhone Dev Team, Chronic Dev Team, George Hotz, comex, pod2g, evad3rs + saurik,
Pangu team
6
Самочувствие malware на
iOS устройствах
© 2002—2016, Digital Security
С jailbreak
• iKee and Duh (Ноябрь 2009) - заражение через пароль по умолчанию для OpenSSH
• AdThief/Spad (Март и Август 2014) - кража выплат за рекламу
• Unflod (Апрель 2014) - кража Apple ID и пароля
• AppBuyer (Сентябрь 2014) - кража Apple ID и пароля для покупки платных приложений
• Xsser mRAT (Декабрь 2014) - получение и выполнение команд с С2, сбор данных
• KeyRaider (Август 2015) - кража Apple ID и пароля
• XAgent (Февраль 2015) – скрытая работа в фоне, сбор данных
• Попадали на устройства из сторонних источников (Cydia и т.д.) или через социальную
инженерию
• В основе большинства Cydia Substrate
7
Самочувствие malware на
iOS устройствах
© 2002—2016, Digital Security
Remote Jailbreak
• Цена на черном рынке > 1.000.000 евро
• Подобное уже делал Comex
– Сайт JailbreakMe
– Достаточно было зайти на сайт
8
Самочувствие malware на
iOS устройствах
© 2002—2016, Digital Security
Векторы атак на устройство без JB
• «Вредоносный подарочек»
• Через зараженный компьютер
• Пара секунд в чужих руках
• «Сам себе Буратино»
• Взломанный разработчик
• Инсайдер
• Через уязвимость приложения
• Благодаря уязвимости в iOS
9
Самочувствие malware на
iOS устройствах
© 2002—2016, Digital Security
Возможности malware в sandbox
• Использование private API
– Установка и удаление приложений и много другое
• Злонамеренный доступ к адресной книге, календарю и т.д.
• Злонамеренный доступ к геолокации
• Утечка критичной/конфиденциальной информации
• Проведение социальной инженерии
– Фишинг
• Нарушение нормальной работы других приложений
• Подгрузка непроверенного Apple кода
• Осуществление jailbreak
• …
10
Самочувствие malware на
iOS устройствах
© 2002—2016, Digital Security
Без jailbreak
• Из AppStore
– ZergHelper
• Использование enterprise сертификата
– WireLurker, Oneclickfraud, YiSpecter, TracerPlus, TinyV
• “Взломанный” разработчик
– XcodeGhost (зараженнаяверсия Xcode 7)
• Эксплотация уязвимость технологии Apple
– AceDeceiver
• И многие другие: Tories, LBTM, iSAM, FinaAndCall , InstaStock, CarrierIQ,
Jekyll, FakeTor, …
11
Самочувствие malware на
iOS устройствах
© 2002—2016, Digital Security
WireLurker
• Атака на Mac OS и iOS системы
• Инфицирование iOS с зараженного ПК через USB
• Использование переупаковки установленных
приложений
• Первое malware, применившее enterprise сертификат
12
Самочувствие malware на
iOS устройствах
© 2002—2016, Digital Security
ZergHelper
• Приложение “开心日常英语(Happy Daily English)”
– Изучение английского языка
– На самом деле магазин пиратских приложений =)
• Распространение из AppStore + обход App Review
• Использование enterprise и personal сертификатов
для подписи и установки других приложений
• Динамическое обновление кода
– wax фреймворк – пишем на Lua для iOS
13
Самочувствие malware на
iOS устройствах
© 2002—2016, Digital Security
AceDeceiver
• Обход App Review
– Как и в ZergHelper в зависимости от геолокации
• Установка приложения без уведомления пользователя
– Не использует enterprise сертификат
– Устанавливаетсяс заражённогоПК
– Эксплотирует недостаток Apple DRM
• Техника “FairPlay Man-In-The-Middle (MITM)”
• Известна с 2013 года
• Техника работает и по сей день
14
Самочувствие malware на
iOS устройствах
© 2002—2016, Digital Security
Дополнительные возможности / Private API
• Использование private API
– дополнительные функциональные возможности
• Общение с окружающими сервисами (типа mach-
портов)
• Увеличение attack surface для проведения jailbreak
на устройстве
• Важно: Подпись кода -> Сертификат от Apple -> В
сертификате прописаны entitlements -> Можно
работать с private API в пределах entitlements
15
Самочувствие malware на
iOS устройствах
© 2002—2016, Digital Security
Переупаковка приложения -> malware
1. Скачивание легитимного приложения
2. Распаковка приложения
3. Добавление вредоносной dylib
4. Переподписывание приложения легитимным сертификатом
5. Установка жертве
• Все уже автоматизировано в инструменте su-a-cyder
– В основе лежит Theos-Jailedи fastlane
16
Самочувствие malware на
iOS устройствах
© 2002—2016, Digital Security
Уязвимость "Masque"
• Позволяла приложению подписанному enterprise сертификатом заменить уже
существующее на устройстве в процессе обновления и получить доступ к
содержимому приложения
– Коллизия в bundle ID приложения
– Исправлена Apple - не работает на iOS версии > 8.3
• SandJacking
– Перерождение “Masque”
– Замена приложенияпроисходит в backup и применяется в момент восстановленияна устройство
– На данный момент уязвимость Apple не закрыта
17
Самочувствие malware на
iOS устройствах
© 2002—2016, Digital Security
Downgrade атака на приложения
• Apple хранит все версии приложений
• Скачиваем и устанавливаем старую версию приложения из AppStore
– Включая приложения с утечками критической информации
– Включая версии приложений без обфускации
– Включая уязвимые версии приложений
– …
• Злоумышленник использует недостаток в личных целях
18
Самочувствие malware на
iOS устройствах
© 2002—2016, Digital Security
All your traffic belong to us
• Вредоносный VPN
– Перехват всего сетевого трафика устройства легитимным способом
• Идея AdThief + vpn функционал = $$$
• "What’s New in Network Extension and VPN", WWDC15
19
Самочувствие malware на
iOS устройствах
© 2002—2016, Digital Security
Динамически подгружаемый/обновляемый код
• Просто нужен интерфейс от скриптового языка к Оbjective-C
• JSPatch – JavaScript интерфейс к Objective-C
– Существует множество других …
• Сложно идентифицировать/заблокировать нежелательную функциональность,
которой нет в коде ;)
1. Подключаем #import "JPEngine.h"
2. Инициализируем [JPEngine startEngine]
3. Выполняем JS [JPEngine evaluateScript:script]
20
Самочувствие malware на
iOS устройствах
© 2002—2016, Digital Security
Полезные ссылки
• “iOS Malware”, Claud Xiao
• “Червивые яблочки [БЕЗ JailBreak]”, Дмитрий Евдокимов
• “Who’s Breaking into Your Garden”, Claud Xiao
• “SU-A-CYDER: HOMEBREWING MALWARE FOR IOS LIKE A B0$$!”, Chilik Tamir
• "SandJacking: Profiting from iOS Malware", Chilik Tamir
21
Самочувствие malware на
iOS устройствах
© 2002—2016, Digital Security
Рекомендации
• Не устанавливайте приложения из сторонних источников
• Не подключайте устройства к не доверенным системам
• Обновляйте ОС
• Контролируйте профили на устройстве (Настройки -> Основные -> Профили)
• Храните в безопасности ваши сертификаты (для разработчиков)
• Контролируйте код, который пишут для in-house-распространения (для заказчиков)
22
Самочувствие malware на
iOS устройствах
© 2002—2016, Digital Security
Выводы
• Заражение устройства может происходить по многочисленным сценариям
• Процесс App Review от Apple обходится
• Отсутствие Jailbreak и наличие последней версии ОС не гарантирует безопасность
устройству от заражения
• Подпись на коде не спасает от появления нового, подозрительного кода
• Вредоносный код стремится быть максимально близким и похожим на легитимный
код.
• Количество модификаций вредоносного кода для iOS будет расти и дальше
23
d.evdokimov@dsec.ru
@evdokimovds
DigitalSecurity в Москве: (495) 223-07-86
DigitalSecurity в Санкт-Петербурге: (812) 703-15-47
Спасибо за внимание!
Вопросы?
24
1 of 24

More Related Content

What's hot(20)

McAfee Endpoint Protection 2014McAfee Endpoint Protection 2014
McAfee Endpoint Protection 2014
Vladyslav Radetsky2.3K views
McAfee Encryption 2015McAfee Encryption 2015
McAfee Encryption 2015
Vladyslav Radetsky3K views
PerimetrPerimetr
Perimetr
ЭЛВИС-ПЛЮС356 views
AnyConnect, NVM и AMPAnyConnect, NVM и AMP
AnyConnect, NVM и AMP
Cisco Russia 766 views

Similar to Самочувствие malware на iOS устройствах / Дмитрий Евдокимов (Didital Security)(20)

Bitdefender io t_pta_2017Bitdefender io t_pta_2017
Bitdefender io t_pta_2017
Пиняев Андрей58 views
10 уязвимостей в мобильном ПО10 уязвимостей в мобильном ПО
10 уязвимостей в мобильном ПО
jet_information_security319 views
12 причин хорошего SOC12 причин хорошего SOC
12 причин хорошего SOC
Denis Batrankov, CISSP540 views
Mob secMob sec
Mob sec
Ellada 560 views
IOS security and hackingIOS security and hacking
IOS security and hacking
Julia Lyakhova419 views

More from Ontico(20)

Самочувствие malware на iOS устройствах / Дмитрий Евдокимов (Didital Security)

  • 1. Самочувствие malware на iOS устройствах Дмитрий Евдокимов Директор исследовательского центра Digital Security
  • 2. Самочувствие malware на iOS устройствах © 2002—2016, Digital Security #whoami • Исследователь информационной безопасности в Digital Security • Редактор рубрики в журнале Xakep • Один из организаторов конференций DEFCON Russia и ZeroNights • Специализируюсь на поиске уязвимостей в бинарных приложениях без исходного кода • Анализ мобильных приложений для Android, iOS, WindowsPhone • Докладчик на конференциях в Польше, Франции, Испании, Германии, ОАЭ, Мексике 2
  • 3. Самочувствие malware на iOS устройствах © 2002—2016, Digital Security План • Безопасность iOS • Malware для iOS устройств – С Jailbreak – Без Jailbreak • Подходы/техники используемые malware • Заключение 3
  • 4. Самочувствие malware на iOS устройствах © 2002—2016, Digital Security Безопасность iOS • Проверка приложений компанией Apple • Подпись кода – X.509v3 сертификат + подтверждение личности – W^X • Песочница (Seatbelt) – /var/mobile/Applications/<app-GUID>/ – /var/mobile/Containers/Bundle/Application/ • Нет доступа к другим процессам • Отсутствие прямого доступа к железу устройства • Невозможность динамически генерировать код • Разделение привилегий – Приложения с правами mobile + Entitlements 4
  • 5. Самочувствие malware на iOS устройствах © 2002—2016, Digital Security Распространение ПО/malware для iOS • AppStore – Подписано distribution-сертификатом – ПроходитApp Review • TestFlight (из AppStore) – Подписано distribution-сертификатом – С beta entitlement, доступна для 1000 пользователей – ПроходитBeta App Review • Персональный сертификат – Установка только на одно устройство без распространения без проверки Apple • Ad Hoc распространение – Подписано developer-сертификатом – Не более 100 заранее оговоренныхустройств – необходимо знание UUID – Проверка кода от Apple отсутствует • In-House распространение – Подписанныеenterprise-сертификатом – Проверка кода от Apple отсутствует 5 Коддолженбытьподписан!
  • 6. Самочувствие malware на iOS устройствах © 2002—2016, Digital Security Jailbreak Jailbreak - это процесс удаления ограничений, введённых компаний Apple на своих устройствах, посредством эксплоитов. – Привязной (Tethered) – Отвязной (Untethered) Последствия: – Возможность доступа к файловой системе – Обход ограничений sandbox (песочница) – Запуск неподписанных приложений JB: PwnageTool, redsn0w, purplera1n, Spirit, JailbreakMe, Absinthe, evasi0n, Pangu, TaiG Лица: iPhone Dev Team, Chronic Dev Team, George Hotz, comex, pod2g, evad3rs + saurik, Pangu team 6
  • 7. Самочувствие malware на iOS устройствах © 2002—2016, Digital Security С jailbreak • iKee and Duh (Ноябрь 2009) - заражение через пароль по умолчанию для OpenSSH • AdThief/Spad (Март и Август 2014) - кража выплат за рекламу • Unflod (Апрель 2014) - кража Apple ID и пароля • AppBuyer (Сентябрь 2014) - кража Apple ID и пароля для покупки платных приложений • Xsser mRAT (Декабрь 2014) - получение и выполнение команд с С2, сбор данных • KeyRaider (Август 2015) - кража Apple ID и пароля • XAgent (Февраль 2015) – скрытая работа в фоне, сбор данных • Попадали на устройства из сторонних источников (Cydia и т.д.) или через социальную инженерию • В основе большинства Cydia Substrate 7
  • 8. Самочувствие malware на iOS устройствах © 2002—2016, Digital Security Remote Jailbreak • Цена на черном рынке > 1.000.000 евро • Подобное уже делал Comex – Сайт JailbreakMe – Достаточно было зайти на сайт 8
  • 9. Самочувствие malware на iOS устройствах © 2002—2016, Digital Security Векторы атак на устройство без JB • «Вредоносный подарочек» • Через зараженный компьютер • Пара секунд в чужих руках • «Сам себе Буратино» • Взломанный разработчик • Инсайдер • Через уязвимость приложения • Благодаря уязвимости в iOS 9
  • 10. Самочувствие malware на iOS устройствах © 2002—2016, Digital Security Возможности malware в sandbox • Использование private API – Установка и удаление приложений и много другое • Злонамеренный доступ к адресной книге, календарю и т.д. • Злонамеренный доступ к геолокации • Утечка критичной/конфиденциальной информации • Проведение социальной инженерии – Фишинг • Нарушение нормальной работы других приложений • Подгрузка непроверенного Apple кода • Осуществление jailbreak • … 10
  • 11. Самочувствие malware на iOS устройствах © 2002—2016, Digital Security Без jailbreak • Из AppStore – ZergHelper • Использование enterprise сертификата – WireLurker, Oneclickfraud, YiSpecter, TracerPlus, TinyV • “Взломанный” разработчик – XcodeGhost (зараженнаяверсия Xcode 7) • Эксплотация уязвимость технологии Apple – AceDeceiver • И многие другие: Tories, LBTM, iSAM, FinaAndCall , InstaStock, CarrierIQ, Jekyll, FakeTor, … 11
  • 12. Самочувствие malware на iOS устройствах © 2002—2016, Digital Security WireLurker • Атака на Mac OS и iOS системы • Инфицирование iOS с зараженного ПК через USB • Использование переупаковки установленных приложений • Первое malware, применившее enterprise сертификат 12
  • 13. Самочувствие malware на iOS устройствах © 2002—2016, Digital Security ZergHelper • Приложение “开心日常英语(Happy Daily English)” – Изучение английского языка – На самом деле магазин пиратских приложений =) • Распространение из AppStore + обход App Review • Использование enterprise и personal сертификатов для подписи и установки других приложений • Динамическое обновление кода – wax фреймворк – пишем на Lua для iOS 13
  • 14. Самочувствие malware на iOS устройствах © 2002—2016, Digital Security AceDeceiver • Обход App Review – Как и в ZergHelper в зависимости от геолокации • Установка приложения без уведомления пользователя – Не использует enterprise сертификат – Устанавливаетсяс заражённогоПК – Эксплотирует недостаток Apple DRM • Техника “FairPlay Man-In-The-Middle (MITM)” • Известна с 2013 года • Техника работает и по сей день 14
  • 15. Самочувствие malware на iOS устройствах © 2002—2016, Digital Security Дополнительные возможности / Private API • Использование private API – дополнительные функциональные возможности • Общение с окружающими сервисами (типа mach- портов) • Увеличение attack surface для проведения jailbreak на устройстве • Важно: Подпись кода -> Сертификат от Apple -> В сертификате прописаны entitlements -> Можно работать с private API в пределах entitlements 15
  • 16. Самочувствие malware на iOS устройствах © 2002—2016, Digital Security Переупаковка приложения -> malware 1. Скачивание легитимного приложения 2. Распаковка приложения 3. Добавление вредоносной dylib 4. Переподписывание приложения легитимным сертификатом 5. Установка жертве • Все уже автоматизировано в инструменте su-a-cyder – В основе лежит Theos-Jailedи fastlane 16
  • 17. Самочувствие malware на iOS устройствах © 2002—2016, Digital Security Уязвимость "Masque" • Позволяла приложению подписанному enterprise сертификатом заменить уже существующее на устройстве в процессе обновления и получить доступ к содержимому приложения – Коллизия в bundle ID приложения – Исправлена Apple - не работает на iOS версии > 8.3 • SandJacking – Перерождение “Masque” – Замена приложенияпроисходит в backup и применяется в момент восстановленияна устройство – На данный момент уязвимость Apple не закрыта 17
  • 18. Самочувствие malware на iOS устройствах © 2002—2016, Digital Security Downgrade атака на приложения • Apple хранит все версии приложений • Скачиваем и устанавливаем старую версию приложения из AppStore – Включая приложения с утечками критической информации – Включая версии приложений без обфускации – Включая уязвимые версии приложений – … • Злоумышленник использует недостаток в личных целях 18
  • 19. Самочувствие malware на iOS устройствах © 2002—2016, Digital Security All your traffic belong to us • Вредоносный VPN – Перехват всего сетевого трафика устройства легитимным способом • Идея AdThief + vpn функционал = $$$ • "What’s New in Network Extension and VPN", WWDC15 19
  • 20. Самочувствие malware на iOS устройствах © 2002—2016, Digital Security Динамически подгружаемый/обновляемый код • Просто нужен интерфейс от скриптового языка к Оbjective-C • JSPatch – JavaScript интерфейс к Objective-C – Существует множество других … • Сложно идентифицировать/заблокировать нежелательную функциональность, которой нет в коде ;) 1. Подключаем #import "JPEngine.h" 2. Инициализируем [JPEngine startEngine] 3. Выполняем JS [JPEngine evaluateScript:script] 20
  • 21. Самочувствие malware на iOS устройствах © 2002—2016, Digital Security Полезные ссылки • “iOS Malware”, Claud Xiao • “Червивые яблочки [БЕЗ JailBreak]”, Дмитрий Евдокимов • “Who’s Breaking into Your Garden”, Claud Xiao • “SU-A-CYDER: HOMEBREWING MALWARE FOR IOS LIKE A B0$$!”, Chilik Tamir • "SandJacking: Profiting from iOS Malware", Chilik Tamir 21
  • 22. Самочувствие malware на iOS устройствах © 2002—2016, Digital Security Рекомендации • Не устанавливайте приложения из сторонних источников • Не подключайте устройства к не доверенным системам • Обновляйте ОС • Контролируйте профили на устройстве (Настройки -> Основные -> Профили) • Храните в безопасности ваши сертификаты (для разработчиков) • Контролируйте код, который пишут для in-house-распространения (для заказчиков) 22
  • 23. Самочувствие malware на iOS устройствах © 2002—2016, Digital Security Выводы • Заражение устройства может происходить по многочисленным сценариям • Процесс App Review от Apple обходится • Отсутствие Jailbreak и наличие последней версии ОС не гарантирует безопасность устройству от заражения • Подпись на коде не спасает от появления нового, подозрительного кода • Вредоносный код стремится быть максимально близким и похожим на легитимный код. • Количество модификаций вредоносного кода для iOS будет расти и дальше 23
  • 24. d.evdokimov@dsec.ru @evdokimovds DigitalSecurity в Москве: (495) 223-07-86 DigitalSecurity в Санкт-Петербурге: (812) 703-15-47 Спасибо за внимание! Вопросы? 24