webinar last

88
www.hackapp.com Чем грозит мобильная революция Уязвимости мобильных приложений

Upload: risspa

Post on 24-May-2015

229 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Webinar last

www.hackapp.com

Чем грозит мобильная революция Уязвимости мобильных приложений

Page 2: Webinar last

www.hackapp.com

О чем мы будем говорить?

— Что такое мобильная революция

— Уязвимости мобильных приложений

— Подходы и инструменты для выявления проблем

Page 3: Webinar last

www.hackapp.com

Что такое мобильная революция?

Page 4: Webinar last

www.hackapp.com

Где мы сейчас ?

Page 5: Webinar last

www.hackapp.com

Почему так произошло?

Page 6: Webinar last

www.hackapp.com

Пользователи любят «здесь и сейчас»

— Социальные сети

— Картографические сервисы и локальный поиск

— Быстрые ответы

Page 7: Webinar last

www.hackapp.com

Устройства становятся доступнее

— Плеер

— Навигатор

— Камера

— Сообщения

— Телефон

— Приближение к функционалу десктопа

Сколько же все это стоит ??

Page 8: Webinar last

www.hackapp.com

Page 9: Webinar last

www.hackapp.com

Мобильный интернет проще

— Не нужно кидать провод

— Всегда под рукой

Page 10: Webinar last

www.hackapp.com

Любимые приложения

—Игры

—Видеосвязь

—Карты

Page 11: Webinar last

www.hackapp.com

Телефон = Бумажник + Ключи

—Мобильные платежи

—2х факторная аутентификация

—Мобильный банкинг

Page 12: Webinar last

www.hackapp.com

Множество абонентов, и что?

— Новые данные для маркетинговых исследований

— Определяются новые потребности

— Потребности монетизируется

Page 13: Webinar last

www.hackapp.com

Page 14: Webinar last

www.hackapp.com

Что за данные ?

—Социальный граф

—Координаты (GPS)

—MAC и IMEI

—Корреляция всего перечисленного

Page 15: Webinar last

www.hackapp.com

Что дальше? Internet of things !

Page 16: Webinar last

www.hackapp.com

Базовые угрозы “You wanted to be a genie?

You got it and everything what goes with it !” Aladdin

Page 17: Webinar last

www.hackapp.com

Scope

Page 18: Webinar last

www.hackapp.com

«Облачная» сторона iOS

—Постоянное подключение

—Удаленное управление

—Закрытый протокол

—Backup в icloud

—Приватность «держится» на appleid

Page 19: Webinar last

www.hackapp.com

«Облачная» сторона Android

—Автоматическая установка любых приложение из google play

—Управляется через учётную запись в Google

Page 20: Webinar last

www.hackapp.com

Корневые сертификаты iOS Android

Page 21: Webinar last

www.hackapp.com

Обновления в Android

—Приложения постоянно лезут обновляться, расширяя права

—ОС может не обновляться вообще (зависит от модели)

—Закрытый исходный код прошивок

Page 22: Webinar last

www.hackapp.com

Вы не хозяин – вы пользователь

Page 23: Webinar last

www.hackapp.com

Как выглядит нападающий ?

Page 24: Webinar last

www.hackapp.com

Что мы защищаем?

—Данные на устройстве ● Вредоносное ПО

● Физический доступ

—Данные передаваемые по сети ● Пассивный перехват

● Активный перехват

Page 25: Webinar last

www.hackapp.com

Нападающий может

—Может контролировать канал (MITM)

—Может получить физический доступ к устройству (без спецсредств)

—Может установить свое приложение на устройстве

—Имеет доступ к дистрибутивам приложений, которыми пользуется пользователь

Page 26: Webinar last

www.hackapp.com

Нападающий НЕ может

—Использовать уязвимости ОС

—Не имеет привилегированного доступа к СA

—Не использует социальную инженерию

—Не имеет привилегированного доступа к облачной стороне ОС (icloud,play)

Page 27: Webinar last

www.hackapp.com

Что такое мобильное приложение?

Page 28: Webinar last

www.hackapp.com

Дистрибутив – ZIP архив

—Ресурсы (картинки, аудио, строки)

—Код в бинарном виде

—Мета-данные (подписи, сертификаты и пр)

—????

Page 29: Webinar last

www.hackapp.com

Что такое DRM и зачем? (Digital rights management)

—Шифрование кода с привязкой к устройству

—Не позволяет копировать приложение между устройствам

Page 30: Webinar last

www.hackapp.com

Какими ресурсами располагает приложение?

—Работает с неразделяемым хранилищем

—Работает с разделяемым хранилищем

—Работает с сетевыми сокетами

—Взаимодействует с другими приложениями

Page 31: Webinar last

www.hackapp.com

Поверхность атаки

Page 32: Webinar last

www.hackapp.com

Ошибки в архитектуре. «Общественная» аутентификация

Page 33: Webinar last

www.hackapp.com

Page 34: Webinar last

www.hackapp.com

Page 35: Webinar last

www.hackapp.com

Amazon cloud token

Page 36: Webinar last

www.hackapp.com

Внутри облака

Page 37: Webinar last

www.hackapp.com

Файлы

Page 38: Webinar last

www.hackapp.com

Координаты

Page 39: Webinar last

www.hackapp.com

Итог

—Amazon отозвал ключи – приложение отключилось

—Выкатка новой версии в AppStore занимает ~7 дней

—Фрустрация пользователей

Page 40: Webinar last

www.hackapp.com

Ошибки в архитектуре Аутентификация на клиенте

Page 41: Webinar last

www.hackapp.com

Page 42: Webinar last

www.hackapp.com

Файлы

Page 43: Webinar last

www.hackapp.com

Один VPN на всех

Page 44: Webinar last

www.hackapp.com

Итог

—Бесплатный VPN всем желающим за счёт MarblesSecurity

Page 45: Webinar last

www.hackapp.com

Ошибки при сохранении данных Случай с Telegram

Page 46: Webinar last

www.hackapp.com

Android – кеширование чата на SD

Page 47: Webinar last

www.hackapp.com

Android – кеширование чата на SD

Page 48: Webinar last

www.hackapp.com

Android – Итог

—Секретный чат кешируется на SD, т.е. доступен любому приложению, т.к.

Page 49: Webinar last

www.hackapp.com

iOS – история в открытом виде

Page 50: Webinar last

www.hackapp.com

iOS – история в открытом виде в backup

Page 51: Webinar last

www.hackapp.com

iOS – Итог

—Секретный чат сохраняется в открытом виде

—BackUp выполняется в iCloud автоматически

—Из iCloud BackUp скачивается с помощью AppleID, пароль к которому можно

● Сфишить

● Подобрать

Page 52: Webinar last

www.hackapp.com

Артефакты разработки

Page 53: Webinar last

www.hackapp.com

Следы DEV-среды

—Cсылки на тестинг

—Ссылки на отладочные интерфейсы

—Следы систем контроля версий

Page 54: Webinar last

www.hackapp.com

Что-нибудь удивительное

—Исходники

—Приватные ключи

— … да все что угодно

Page 55: Webinar last

www.hackapp.com

Остатки dev-данных в SQLite

Page 56: Webinar last

www.hackapp.com

Data Leak в логах приложения

Page 57: Webinar last

www.hackapp.com

Data Leak - syslog

Page 58: Webinar last

www.hackapp.com

Data Leak – Crash Dumps

Page 59: Webinar last

www.hackapp.com

Использование сторонних компонентов

Page 60: Webinar last

www.hackapp.com

"Titanium is an open-source framework that allows the creation of mobile apps on platforms including iOS, Android, Windows Phone, BlackBerry OS, and Tizen from a single JavaScript codebase".

http://www.securify.nl/advisory/SFY20140301/nss_2014_affected_by_remote_code_execution

___insecure_certificate_validation.html “ As it seems, there are various situations in which Titanium will use insecure

connections. Due to this, it is more likely for developers to create an insecure app than one that does validate server certificates ”

Page 61: Webinar last

www.hackapp.com

—OpenSSL 1.0.0e ● CVE-2011-3207

● CVE-2011-3210

Page 62: Webinar last

www.hackapp.com

Итог

—Можно оказаться в заложниках у тех, кого безопасность не интересует

Page 63: Webinar last

www.hackapp.com

Уязвимости в механизмах взаимодействия приложений

Page 64: Webinar last

www.hackapp.com

iOS Android

— scheme:// — scheme://

— Content Provider

— Service

— Receiver

Page 65: Webinar last

www.hackapp.com

Scheme://

Автоматический вызов приложения с параметрами в ссылке:

<iframe src="facetime-audio://[email protected]"></iframe>

CVE-2013-6835

Page 66: Webinar last

www.hackapp.com

Content Provider

Предоставляет интерфейс, для чтения заданных данных одного приложения другим

— SQL инъекции

— Некорректная настройка доступа к данным

Может эксплуатироваться вредоносным ПО, написанным под конкретные приложения

Page 67: Webinar last

www.hackapp.com

ContentProvider

Хороший Пример инъекции в приложение eBay:

https://viaforensics.com/mobile-security/ebay-android-content-provider-injection-vulnerability.html

Page 68: Webinar last

www.hackapp.com

Service и Receiver

— Service ● Работа с данными, пока приложение отключено

— Receiver ● «хук» на системное событие, которое запускает приложение (например, получение SMS)

Может эксплуатироваться вредоносным ПО, написанным под конкретные приложения

Page 69: Webinar last

www.hackapp.com

Итог

—Приватные данные будут доступны стороннему ПО

—Можно столкнуться с вредоносным ПО написанным под конкретное приложение

Page 70: Webinar last

www.hackapp.com

Безопасность канала

Page 71: Webinar last

www.hackapp.com

MITM+Sniff

— Нет шифрования

— Нет контроля подлинности сертификата

— Утечка данных через сторонние библиотеки

Page 72: Webinar last

www.hackapp.com

«Утечка» GPS координат в Telegram

Page 73: Webinar last

www.hackapp.com

«Утечка» GPS координат в Telegram

Page 74: Webinar last

www.hackapp.com

«Облачная» сторона (API)

Page 75: Webinar last

www.hackapp.com

Что это?

—HTTP(S) (в большинстве случаев)

—Все server-side уязвимости веб-приложений ● SQLi

● XXE

● RCE

● ….

Page 76: Webinar last

www.hackapp.com

Анализ безопасности

Page 77: Webinar last

www.hackapp.com

Динамический

Изучение реакции программы на атаки по факту

—Ручной

—На устройстве

—Требует индивидуального подхода

—Самый дорогой

Page 78: Webinar last

www.hackapp.com

Статический

Поиск сигнатур уязвимостей

—Автоматизируется

—Вне устройства

—Требует базы сигнатур

—Много ошибок вида False Positive

—Дешевле

Page 79: Webinar last

www.hackapp.com

Инструменты статического анализа

Page 80: Webinar last

www.hackapp.com

Анализ дистрибутива

—Скрипты с использованием Zip,awk,grep,sqlite3 и т.п.

—HackApp – all-in-one сервис + декомпилятор Android

● Поиск по сигнатурам в бинарных структурах

● Поиск подозрительных файлов

● Анализ манифеста приложения

Page 81: Webinar last

www.hackapp.com

Анализ бинарного кода

iOS Android

— Снятие DRM https://github.com/KJCracks/Clutch

— Определение списка Objective-C классов https://code.google.com/p/networkpx/wiki/class_dump_z

— Дизассемблер https://www.hex-rays.com/products/ida/

— Декомпиляция http://jd.benow.ca/

— Деобфускатор https://github.com/fileoffset/JDO

— Инструментация https://code.google.com/p/android-apktool

Page 82: Webinar last

www.hackapp.com

Инструменты динамического анализа

Page 84: Webinar last

www.hackapp.com

Поддержка приложения

—План поддержки

—Возможность патча

—Регулярный анализ новых версий

Page 85: Webinar last

www.hackapp.com

Насколько сложно нападать? Smartphone Pentest Framework

Page 87: Webinar last

www.hackapp.com

Page 88: Webinar last

www.hackapp.com

Спасибо за внимание Вопросы?

@hackappcom

[email protected]