Самочувствие malware на€¦ · Самочувствие malware на iOS...
Transcript of Самочувствие malware на€¦ · Самочувствие malware на iOS...
Самочувствие malware на
iOS устройствахДмитрий Евдокимов
Директор исследовательского центра
Digital Security
Самочувствие malware на iOS устройствах
© 2003—2016, Digital Security
#whoami• Исследователь информационной безопасности в Digital Security
• Редактор рубрики в журнале Xakep
• Один из организаторов конференций DEFCON Russia и ZeroNights
• Специализируюсь на поиске уязвимостей в бинарных приложениях без исходного кода
• Анализ мобильных приложений для Android, iOS, WindowsPhone
• Докладчик на конференциях в Польше, Франции, Испании, Германии, ОАЭ, Мексике
2
Самочувствие malware на iOS устройствах
© 2003—2016, Digital Security
План
• Безопасность iOS
• Malware для iOS устройств– С Jailbreak
– Без Jailbreak
• Подходы/техники используемые malware
• Заключение
3
Самочувствие malware на iOS устройствах
© 2003—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 устройствах
© 2003—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 устройствах
© 2003—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 устройствах
© 2003—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 Substrate7
Самочувствие malware на iOS устройствах
© 2003—2016, Digital Security
Remote Jailbreak
• Цена на черном рынке > 1.000.000 евро
• Подобное уже делал Comex– Сайт JailbreakMe
– Достаточно было зайти на сайт
8
Самочувствие malware на iOS устройствах
© 2003—2016, Digital Security
Векторы атак на устройство без JB
• «Вредоносный подарочек»
• Через зараженный компьютер
• Пара секунд в чужих руках
• «Сам себе Буратино»
• Взломанный разработчик
• Инсайдер
• Через уязвимость приложения
• Благодаря уязвимости в iOS
9
Самочувствие malware на iOS устройствах
© 2003—2016, Digital Security
Возможности malware в sandbox
• Использование private API– Установка и удаление приложений и много другое
• Злонамеренный доступ к адресной книге, календарю и т.д.
• Злонамеренный доступ к геолокации
• Утечка критичной/конфиденциальной информации
• Проведение социальной инженерии– Фишинг
• Нарушение нормальной работы других приложений
• Подгрузка непроверенного Apple кода
• Осуществление jailbreak
• …10
Самочувствие malware на iOS устройствах
© 2003—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 устройствах
© 2003—2016, Digital Security
WireLurker
• Атака на Mac OS и iOS системы
• Инфицирование iOS с зараженного ПК через USB
• Использование переупаковки установленных приложений
• Первое malware, применившее enterprise сертификат
12
Самочувствие malware на iOS устройствах
© 2003—2016, Digital Security
ZergHelper
• Приложение “开心日常英语 (Happy Daily English)”– Изучение английского языка
– На самом деле магазин пиратских приложений =)
• Распространение из AppStore + обход App Review
• Использование enterprise и personal сертификатов для подписи и установки других приложений
• Динамическое обновление кода– wax фреймворк – пишем на Lua для iOS
13
Самочувствие malware на iOS устройствах
© 2003—2016, Digital Security
AceDeceiver
• Обход App Review– Как и в ZergHelper в зависимости от геолокации
• Установка приложения без уведомления пользователя– Не использует enterprise сертификат
– Устанавливается с заражённого ПК
– Эксплотирует недостаток Apple DRM
• Техника “FairPlay Man-In-The-Middle (MITM)”
• Известна с 2013 года
• Техника работает и по сей день
14
Самочувствие malware на iOS устройствах
© 2003—2016, Digital Security
Дополнительные возможности / Private API
• Использование private API– дополнительные функциональные возможности
• Общение с окружающими сервисами (типа mach-портов)
• Увеличение attack surface для проведения jailbreakна устройстве
• Важно: Подпись кода -> Сертификат от Apple -> В сертификате прописаны entitlements -> Можно работать с private API в пределах entitlements
15
Самочувствие malware на iOS устройствах
© 2003—2016, Digital Security
Переупаковка приложения -> malware
1. Скачивание легитимного приложения
2. Распаковка приложения
3. Добавление вредоносной dylib
4. Переподписывание приложения легитимным сертификатом
5. Установка жертве
• Все уже автоматизировано в инструменте su-a-cyder– В основе лежит Theos-Jailed и fastlane
16
Самочувствие malware на iOS устройствах
© 2003—2016, Digital Security
Уязвимость "Masque"
• Позволяла приложению подписанному enterprise сертификатом заменить уже существующее на устройстве в процессе обновления и получить доступ к содержимому приложения
– Коллизия в bundle ID приложения
– Исправлена Apple - не работает на iOS версии > 8.3
• SandJacking– Перерождение “Masque”
– Замена приложения происходит в backup и применяется в момент восстановления на устройство
– На данный момент уязвимость Apple не закрыта
17
Самочувствие malware на iOS устройствах
© 2003—2016, Digital Security
Downgrade атака на приложения
• Apple хранит все версии приложений
• Скачиваем и устанавливаем старую версию приложения из AppStore– Включая приложения с утечками критической информации
– Включая версии приложений без обфускации
– Включая уязвимые версии приложений
– …
• Злоумышленник использует недостаток в личных целях
18
Самочувствие malware на iOS устройствах
© 2003—2016, Digital Security
All your traffic belong to us
• Вредоносный VPN– Перехват всего сетевого трафика устройства легитимным способом
• Идея AdThief + vpn функционал = $$$
• "What’s New in Network Extension and VPN", WWDC1519
Самочувствие malware на iOS устройствах
© 2003—2016, Digital Security
Динамически подгружаемый/обновляемый код
• Просто нужен интерфейс от скриптового языка к Оbjective-C
• JSPatch – JavaScript интерфейс к Objective-C – Существует множество других …
• Сложно идентифицировать/заблокировать нежелательную функциональность, которой нет в коде ;)
1. Подключаем #import "JPEngine.h"
2. Инициализируем [JPEngine startEngine]
3. Выполняем JS [JPEngine evaluateScript:script]
20
Самочувствие malware на iOS устройствах
© 2003—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 устройствах
© 2003—2016, Digital Security
Рекомендации
• Не устанавливайте приложения из сторонних источников
• Не подключайте устройства к не доверенным системам
• Обновляйте ОС
• Контролируйте профили на устройстве (Настройки -> Основные -> Профили)
• Храните в безопасности ваши сертификаты (для разработчиков)
• Контролируйте код, который пишут для in-house-распространения (для заказчиков)
22
Самочувствие malware на iOS устройствах
© 2003—2016, Digital Security
Выводы
• Заражение устройства может происходить по многочисленным сценариям
• Процесс App Review от Apple обходится
• Отсутствие Jailbreak и наличие последней версии ОС не гарантирует безопасность устройству от заражения
• Подпись на коде не спасает от появления нового, подозрительного кода
• Вредоносный код стремится быть максимально близким и похожим на легитимный код.
• Количество модификаций вредоносного кода для iOS будет расти и дальше
23
[email protected]@evdokimovds
Digital Security в Москве: (495) 223-07-86Digital Security в Санкт-Петербурге: (812) 703-15-47
Спасибо за внимание!Вопросы?
24