SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
Комбайны безопасности для
iOS и Android
Дмитрий Евдокимов
Директор исследовательского центра
Digital Security
Комбайны безопасности
для iOS и Android
© 2002—2016, Digital Security© 2002—2016,Digital Security
#whoami
• Исследователь информационной безопасности в Digital Security
• Редактор рубрики в журнале Xakep
• Один из организаторов конференций DEFCON Russia и ZeroNights
• Специализируюсь на поиске уязвимостей в бинарных приложениях
без исходного кода
• Анализ мобильных приложений для Android, iOS, WindowsPhone
• Докладчик на конференциях в Польше, Франции, Испании,
Германии, ОАЭ, Мексики
2
Комбайны безопасности
для iOS и Android
© 2002—2016, Digital Security
План
• Взгляд на безопасность мобильных приложений
• Пентест мобильных приложений
• Инструменты для оценки безопасности мобильных приложений
• Комбайны безопасности
• Заключение
3
Комбайны безопасности
для iOS и Android
© 2002—2016, Digital Security
Мобильные приложения в нашей жизни
4
Комбайны безопасности
для iOS и Android
© 2002—2016, Digital Security
…
Ломается там, где тонко
Безопасность системы
определяется уровнем
безопасности ее самого
слабого звена.
5
Комбайны безопасности
для iOS и Android
© 2002—2016, Digital Security
Когда нужно задумываться о
безопасности?
6
Комбайны безопасности
для iOS и Android
© 2002—2016, Digital Security
Безопасное программирование для
Android
• Android Secure Coding Standard from CERT
• https://www.securecoding.cert.org/confluence/display/android/Android+Secure+Coding+Standard
• The CERT Oracle Secure Coding Standard for Java
• 19 пунктов
• https://www.securecoding.cert.org/confluence/pages/viewpage.action?pageId=111509535
• Analysis of Android Applicability: CERT's Java Coding Guidelines
• 75 рекомендаций
• https://www.securecoding.cert.org/confluence/display/java/Analysis+of+Android+Applicability%3A+CERT%27s+Java+Coding+Guidelines
• Security Tips from Android
• http://developer.android.com/training/articles/security-tips.html
7
Комбайны безопасности
для iOS и Android
© 2002—2016, Digital Security
Безопасное программирование для iOS
• Secure Coding Guide from Apple
– Для Mac и iOS
– https://developer.apple.com/library/ios/documentation/Security/Conceptual/SecureCodingGuide/SecureC
odingGuide.pdf
• IOS Developer Cheat Sheet
– Советы от OWASP для iOS
– https://www.owasp.org/index.php/IOS_Developer_Cheat_Sheet
8
Комбайны безопасности
для iOS и Android
© 2002—2016, Digital Security
Server
Device/Emulator
Data channelApp
3d party Server
App
Анализ безопасности мобильных
приложений
9
Комбайны безопасности
для iOS и Android
© 2002—2016, Digital Security
WP7 (C#/VB)
WP8 (C#/VB/C/C++)
iOS
(Objective-C)
Android
(Java)
Платформа независимые
уязвимости
Платформа зависимые
уязвимости
Уязвимости WP vs. Android vs. iOS
10
Комбайны безопасности
для iOS и Android
© 2002—2016, Digital Security
Проблемы frameworks
• А что там под капотом? Что там с безопасностью?
• Apache Cordova/PhoneGap
• Cross-Application Scripting – выполнение вредоносного JS в контексте Cordova-based приложения
• http://cordova.apache.org/announcements/2014/08/04/android- 351.html
• Titanium
• RCE + отсутствие проверки сертификата
• http://www.appcelerator.com/blog/2012/11/the-titanium-sdk-andcertificate-validation/
• Xamarin
• Android <5.1 DLL Hijack Vulnerability
• http://seclists.org/fulldisclosure/2015/May/78
• …
11
Комбайны безопасности
для iOS и Android
© 2002—2016, Digital Security
Пример: Кошмар Adobe AIR
• Adobe AIR’s EncryptedLocalStorage API
• На деле это Base64 …
• Это не шифрование!
12
Комбайны безопасности
для iOS и Android
© 2002—2016, Digital Security
https://www.owasp.org/index.php/OWASP_Mobile_Security_Project
OWASP Top 10 Mobile Risks
13
Комбайны безопасности
для iOS и Android
© 2002—2016, Digital Security
*список не полный
Что делает* пентестр?
1) Настраивает приложение и окружение для анализа
1) Загрузка приложения
2) Расшифровка приложения (iOS)
3) Создание отладочной версии приложения
2) Статический анализ приложения
1) Декомпиляция
2) Поиск не безопасных участков кода
3) Реверс инжиниринг
• Анализ логики работы приложения
3) Динамический анализ приложения
1) Анализ сетевого трафика и IPC
2) Анализ серверной стороны
3) Фаззинг приложения
4) Создание PoC (Proof-of-Concept) эксплоитов для найденных проблем
5) Написание отчета (проблемы, угрозы, решения, рекомендации и т.д.)
14
Комбайны безопасности
для iOS и Android
© 2002—2016, Digital Security
Pentest tools
• adb, fsmon, APKStudio, Droidbox, adbi, jeb,
AndroidEagleEye, Lobotomy, bytecode-viewer, APKtool,
Enjarify, Dex2jar, FlowDroid, smalisca, Inspeckage,
radare2, Android Cluster Toolkit, Amandroid, Hooker,
GikDbg, iRET, sira, APKinspector, Fino, android-ssl-
bypass, itunnel_mux, otool, clutch, idb,
Dumpdecrypted, class-dump-z, IPA, iNalyzer, gdb,
cycript, Frida, trustme, keychaindumper,
BinaryCookieReader, IDA Pro и т.д.
15
Комбайны безопасности
для iOS и Android
© 2002—2016, Digital Security© 2002—2016,Digital Security
Специализированные ОС
• Appie - https://manifestsecurity.com/appie/ - Android Pentesting Portable Integrated
Environment
• Android Tamer - https://androidtamer.com/ - Virtual/Live Platform for Android
• AppUse - https://appsec-labs.com/AppUse/ - VM for Assessing Android applications
• Androl4b - https://github.com/sh4hin/Androl4b - VM for Assessing Android applications,
Reverse Engineering and Malware Analysis
• Mobisec - http://sourceforge.net/projects/mobisec/ - Live environment for security testing
Android apps
• Santoku - https://santoku-linux.com/ - OS/VM for Mobile Forensics (+iOS), Mobile Malware
Analysis, Mobile Security Testing for
• Vezir Project - https://github.com/oguzhantopgul/Vezir-Project - VM for Mobile Application
Pentesting and Mobile Malware Analysis for Android
16
Комбайны безопасности
для iOS и Android
© 2002—2016, Digital Security
Комбайны ?!
Комбайн безопасности – инструмент, который подсказывает, что и где в
приложении что-то не так с точки зрения информационной безопасности без особых
первоначальных знаний в ИБ.
17
Комбайны безопасности
для iOS и Android
© 2002—2016, Digital Security
Общие моменты
• Все инструменты бесплатные
– Часто с открытым исходным кодом
• Большинство инструментов созданы для пентестеров
– То есть без надежды, что будет исходный код
• Для iOS часто нужно устройство с Jailbreak
– Порой с версией 8.x, а не 9.x
• Нацелены на клиентскую часть
• Не все делают статический и динамический анализ
18
Комбайны безопасности
для iOS и Android
© 2002—2016, Digital Security
https://labs.mwrinfosecurity.com/tools/drozer/
drozer
• Клиент серверной приложение
• Win/Lin/Mac
• Устройство/эмулятор
• Написан на Python и Java
• CLI
• Динамические проверки
• Нацелен для проверки IPC
• Поддержка модулей
Очень мощный инструмент для динамического анализа,
но требует много ручной работы, которую можно
заскриптовать. Может помочь сделать PoC.
19
Комбайны безопасности
для iOS и Android
© 2002—2016, Digital Security
https://code.google.com/archive/p/asef
Позволяет быстро посмотреть на сетевой трафик и поведение программы.
Больше подходит для анализа вредоносного кода.
Android Security Evaluation Framework
• Клиент серверной приложение
– Mac/Linux
– Эмулятор
• CLI
• Написан на Perl и Bash
• Эмитирует нажатия
• Захват сетевого трафика
• Давно не обновлялся (2012)
20
Комбайны безопасности
для iOS и Android
© 2002—2016, Digital Security
https://github.com/LINKEDIN/QARK
Очень хороший инструмент с качественным результатом. Самое то
для разработчика, заботящегося о безопасности своего приложения.
• CLI interactive
• Linux/Mac
• Написан на Python
• В основе много сторонних инструментов
• Хороший набор проверок (~17)
• Может работать с APK и исходным кодом
• Генерирует PoC
• Генерирует HTML отчет
Quick Android Review Kit
21
Комбайны безопасности
для iOS и Android
© 2002—2016, Digital Security
https://github.com/programa-stic/marvin-django
Очень хороший инструмент с хорошим результатом. Удобное
средство для проверки, но не просто в разворачивании.
Marvin
• Web интерфейс
• Ролевая модель
• Linux/Mac
• Набор эмуляторов
• Написан на Python
• В основе лежит SAAF и AndroGuard
• Большой набор проверок (~47)
• Есть проверки для PhoneGap
• Взаимодействие с GooglePlay
• Часть интерфейса на испанском ...
22
Комбайны безопасности
для iOS и Android
© 2002—2016, Digital Security
https://github.com/AndroBugs/AndroBugs_Framework
Очень хороший инструмент с качественным результатом. Самое то
для разработчика, заботящегося о безопасности своего приложения.
AndroBugs Framework
• Win/Lin/Mac
• Написан на Python
• CLI
• В основе AndroGuard
• Статические проверки
• Очень хороший набор проверок (~45)
• Нацелен на массовое сканирование
• Есть рекомендации по исправлению
• Хранит результаты в БД
• Легко расширяем
23
Комбайны безопасности
для iOS и Android
© 2002—2016, Digital Security
https://code.google.com/p/snoop-it/ или в Cydia (http://repo.nesolabs.de/)
Больше подходит для пентесетров, но есть ряд проверок, помогающий
подтвердить проблему в динамике. Можно просто посмотреть на свое
приложение глазами пентестера.
Snoop-it
• Web интерфейс
• Win/Lin/Mac
• JB устройство
• Около 10 проверок
• Динамический анализ
• Профайлер
• Основан на MobileSubstrate
24
Комбайны безопасности
для iOS и Android
© 2002—2016, Digital Security
https://github.com/iSECPartners/Introspy-Analyzer/
https://isecpartners.github.io/Introspy-Android/
https://isecpartners.github.io/Introspy-iOS/
Хороший инструмент с небольшим количеством проверок.
Introspy
• Web интерфейс
• Win/Lin/Mac
• JB/root устройство
• Около 20 проверок
• Динамический анализ
• Основан на MobileSubstrate и Cydia Substrate
• Легко расширяем
• Результат в БД
• Генерирует HTML отчет
25
Комбайны безопасности
для iOS и Android
© 2002—2016, Digital Security
Очень хороший, многофункциональный и удобный инструмент. Самое то для
разработчика, заботящегося о безопасности своего приложения для двухОС.
Mobile Security Framework (MobSF)
• Web интерфейс
• Win/Linux/Mac
• VirtualBox VM
• Написан на Python
• Статические (iOS source code), динамические
проверки (Android)
• Средний набор проверок (25 Android/13 iOS)
• Генерирует PDF отчет
26
https://github.com/ajinabraham/Mobile-Security-Framework-MobSF
Комбайны безопасности
для iOS и Android
© 2002—2016, Digital Security
Резюме по комбайнам безопасности
+ Автоматизация проверок безопасности кода
+ Быстрый порог вхождения
+ Возможность расширяемости и улучшения кода
- Отсутствие полноты исследования
- Не ищут логическиенедостатки и т.д.
- Не проверяют серверную часть
- Есть ошибки как 1 (false positives) так и 2 рода (false negatives)
- Не понимает framework’и
- ТолькоJava или Objective-C
27
Комбайны безопасности
для iOS и Android
© 2002—2016, Digital Security
Выводы
• Комбайнеры позволяют избежать детских ошибок в безопасности
– Снимаем “low danglingfruits”
• Комбайнера безопасности не заменят пентест, но очень быстро поднимут уровень
безопасности вашего приложения
• Безопасность требует комплексного подхода на всех стадиях разработки
28
d.evdokimov@dsec.ru
@evdokimovds
DigitalSecurity в Москве: (495) 223-07-86
DigitalSecurity в Санкт-Петербурге: (812) 703-15-47
Спасибо за внимание!
Вопросы?
29

Mais conteúdo relacionado

Mais procurados

Security zap and selenium
Security zap and seleniumSecurity zap and selenium
Security zap and selenium
Anton Shapin
 
современная практика статического анализа безопасности кода веб приложений
современная практика статического анализа безопасности кода веб приложенийсовременная практика статического анализа безопасности кода веб приложений
современная практика статического анализа безопасности кода веб приложений
Sergey Belov
 
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
QAFest
 
защита Web приложений f5 cti
защита Web приложений f5 ctiзащита Web приложений f5 cti
защита Web приложений f5 cti
CTI_analytics
 
очир абушинов
очир абушиновочир абушинов
очир абушинов
Alexei Lupan
 
Эвристические методы защиты приложений
Эвристические методы защиты приложенийЭвристические методы защиты приложений
Эвристические методы защиты приложений
Positive Hack Days
 

Mais procurados (20)

(Не)безопасный frontend
(Не)безопасный frontend(Не)безопасный frontend
(Не)безопасный frontend
 
QA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложении
QA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложенииQA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложении
QA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложении
 
Security zap and selenium
Security zap and seleniumSecurity zap and selenium
Security zap and selenium
 
Vladimir Obrizan "Ecosystem for reliable Python programming"
Vladimir Obrizan "Ecosystem for reliable Python programming"Vladimir Obrizan "Ecosystem for reliable Python programming"
Vladimir Obrizan "Ecosystem for reliable Python programming"
 
Использование анализатора кода SonarQube
Использование анализатора кода SonarQubeИспользование анализатора кода SonarQube
Использование анализатора кода SonarQube
 
современная практика статического анализа безопасности кода веб приложений
современная практика статического анализа безопасности кода веб приложенийсовременная практика статического анализа безопасности кода веб приложений
современная практика статического анализа безопасности кода веб приложений
 
Cisco. Алексей Лукацкий. "Что движет ИБ на вашем предприятии?"
Cisco. Алексей Лукацкий. "Что движет ИБ на вашем предприятии?"Cisco. Алексей Лукацкий. "Что движет ИБ на вашем предприятии?"
Cisco. Алексей Лукацкий. "Что движет ИБ на вашем предприятии?"
 
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
 
Python tools for web development (Python meetup Almaty #ALAPY)
Python tools for web development (Python meetup Almaty #ALAPY)Python tools for web development (Python meetup Almaty #ALAPY)
Python tools for web development (Python meetup Almaty #ALAPY)
 
защита Web приложений f5 cti
защита Web приложений f5 ctiзащита Web приложений f5 cti
защита Web приложений f5 cti
 
C#5 What's new?
C#5 What's new?C#5 What's new?
C#5 What's new?
 
#MBLTdev: Как не стать заложником одной платформы (Parallels)
#MBLTdev: Как не стать заложником одной платформы (Parallels)#MBLTdev: Как не стать заложником одной платформы (Parallels)
#MBLTdev: Как не стать заложником одной платформы (Parallels)
 
От экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 летОт экспериментального программирования к промышленному: путь длиной в 10 лет
От экспериментального программирования к промышленному: путь длиной в 10 лет
 
Развитие сообщества Open DevOps Community
Развитие сообщества Open DevOps CommunityРазвитие сообщества Open DevOps Community
Развитие сообщества Open DevOps Community
 
очир абушинов
очир абушиновочир абушинов
очир абушинов
 
#MBLTdev: Знакомство с codesign (e-Legion)
#MBLTdev: Знакомство с codesign (e-Legion)#MBLTdev: Знакомство с codesign (e-Legion)
#MBLTdev: Знакомство с codesign (e-Legion)
 
Валерий Блонский (Казахстан), PACIFICA. Как угнать Ботнет
Валерий Блонский (Казахстан), PACIFICA. Как угнать БотнетВалерий Блонский (Казахстан), PACIFICA. Как угнать Ботнет
Валерий Блонский (Казахстан), PACIFICA. Как угнать Ботнет
 
Эвристические методы защиты приложений
Эвристические методы защиты приложенийЭвристические методы защиты приложений
Эвристические методы защиты приложений
 
Самодиагностика сервисов на базе платформы .NET
Самодиагностика сервисов на базе платформы .NETСамодиагностика сервисов на базе платформы .NET
Самодиагностика сервисов на базе платформы .NET
 
Уязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на граблиУязвимое Android-приложение: N проверенных способов наступить на грабли
Уязвимое Android-приложение: N проверенных способов наступить на грабли
 

Destaque (11)

Дмитрий Кулижников
Дмитрий КулижниковДмитрий Кулижников
Дмитрий Кулижников
 
Кирилл Харьков
Кирилл ХарьковКирилл Харьков
Кирилл Харьков
 
cv
cvcv
cv
 
CVVladimirProkhoda
CVVladimirProkhodaCVVladimirProkhoda
CVVladimirProkhoda
 
тратуарная плитка гибкийбордюр
тратуарная плитка   гибкийбордюртратуарная плитка   гибкийбордюр
тратуарная плитка гибкийбордюр
 
cv_filustek_en_08
cv_filustek_en_08cv_filustek_en_08
cv_filustek_en_08
 
Anton Zorin - cv
Anton Zorin - cvAnton Zorin - cv
Anton Zorin - cv
 
Resume
ResumeResume
Resume
 
Alex Shulga resume
Alex Shulga resumeAlex Shulga resume
Alex Shulga resume
 
Алексей Ильичев
Алексей ИльичевАлексей Ильичев
Алексей Ильичев
 
Сергей Крапивенский
Сергей КрапивенскийСергей Крапивенский
Сергей Крапивенский
 

Semelhante a Дмитрий Евдокимов

Контроль уязвимостей в программных приложениях
Контроль уязвимостей в программных приложенияхКонтроль уязвимостей в программных приложениях
Контроль уязвимостей в программных приложениях
jet_information_security
 
Астерит. Михаил Пузин. "Целевые атаки: разбор реального кейса"
Астерит. Михаил Пузин. "Целевые атаки: разбор реального кейса"Астерит. Михаил Пузин. "Целевые атаки: разбор реального кейса"
Астерит. Михаил Пузин. "Целевые атаки: разбор реального кейса"
Expolink
 

Semelhante a Дмитрий Евдокимов (20)

Безопасные связи, Дмитрий Евдокимов
Безопасные связи, Дмитрий ЕвдокимовБезопасные связи, Дмитрий Евдокимов
Безопасные связи, Дмитрий Евдокимов
 
Самочувствие malware на iOS устройствах / Дмитрий Евдокимов (Didital Security)
Самочувствие malware на iOS устройствах / Дмитрий Евдокимов (Didital Security)Самочувствие malware на iOS устройствах / Дмитрий Евдокимов (Didital Security)
Самочувствие malware на iOS устройствах / Дмитрий Евдокимов (Didital Security)
 
Валерий Боронин (Россия), Positive Technologies. SSDL для руководителей: как ...
Валерий Боронин (Россия), Positive Technologies. SSDL для руководителей: как ...Валерий Боронин (Россия), Positive Technologies. SSDL для руководителей: как ...
Валерий Боронин (Россия), Positive Technologies. SSDL для руководителей: как ...
 
Контроль уязвимостей в программных приложениях
Контроль уязвимостей в программных приложенияхКонтроль уязвимостей в программных приложениях
Контроль уязвимостей в программных приложениях
 
Bitdefender io t_pta_2017
Bitdefender io t_pta_2017Bitdefender io t_pta_2017
Bitdefender io t_pta_2017
 
Check point держи марку! Серия №1
Check point  держи марку! Серия №1Check point  держи марку! Серия №1
Check point держи марку! Серия №1
 
Solar in code: в поисках уязвимостей
Solar in code: в поисках уязвимостей Solar in code: в поисках уязвимостей
Solar in code: в поисках уязвимостей
 
(Не)безопасный Frontend / Сергей Белов (Digital Security)
(Не)безопасный Frontend / Сергей Белов (Digital Security)(Не)безопасный Frontend / Сергей Белов (Digital Security)
(Не)безопасный Frontend / Сергей Белов (Digital Security)
 
пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого...
пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого...пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого...
пр Спроси эксперта. Все, что вы хотели узнать про «дыры» в коде, но не у кого...
 
Arbor, держи марку! Серия №11
Arbor, держи марку! Серия №11Arbor, держи марку! Серия №11
Arbor, держи марку! Серия №11
 
SECON'2016. Евдокимов Дмитрий, Информационная безопасность: Никогда и нигде н...
SECON'2016. Евдокимов Дмитрий, Информационная безопасность: Никогда и нигде н...SECON'2016. Евдокимов Дмитрий, Информационная безопасность: Никогда и нигде н...
SECON'2016. Евдокимов Дмитрий, Информационная безопасность: Никогда и нигде н...
 
Астерит. Михаил Пузин. "Целевые атаки: разбор реального кейса"
Астерит. Михаил Пузин. "Целевые атаки: разбор реального кейса"Астерит. Михаил Пузин. "Целевые атаки: разбор реального кейса"
Астерит. Михаил Пузин. "Целевые атаки: разбор реального кейса"
 
Security Meetup 22 октября. «Мобилки, деньги, два фактора». Дмитрий Евдокимо...
Security Meetup 22 октября. «Мобилки, деньги, два фактора».  Дмитрий Евдокимо...Security Meetup 22 октября. «Мобилки, деньги, два фактора».  Дмитрий Евдокимо...
Security Meetup 22 октября. «Мобилки, деньги, два фактора». Дмитрий Евдокимо...
 
Создай свое первое Android приложение.
Создай свое первое Android приложение. Создай свое первое Android приложение.
Создай свое первое Android приложение.
 
Юрий Леонычев «Безопасность мобильных приложений для Android. Теория и практика»
Юрий Леонычев «Безопасность мобильных приложений для Android. Теория и практика»Юрий Леонычев «Безопасность мобильных приложений для Android. Теория и практика»
Юрий Леонычев «Безопасность мобильных приложений для Android. Теория и практика»
 
Solar inCode – система анализа программного кода на наличие уязвимостей ИБ
Solar inCode – системаанализа программного кода на наличие уязвимостей ИБSolar inCode – системаанализа программного кода на наличие уязвимостей ИБ
Solar inCode – система анализа программного кода на наличие уязвимостей ИБ
 
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...
 
Rad studio 10 seatlle обзор продукта
Rad studio 10 seatlle обзор продуктаRad studio 10 seatlle обзор продукта
Rad studio 10 seatlle обзор продукта
 
Зачем директору завода ИБ в АСУ ТП
Зачем директору завода ИБ в АСУ ТПЗачем директору завода ИБ в АСУ ТП
Зачем директору завода ИБ в АСУ ТП
 
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
 

Mais de CodeFest

Mais de CodeFest (20)

Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander Graebe
 
Никита Прокопов
Никита ПрокоповНикита Прокопов
Никита Прокопов
 
Денис Баталов
Денис БаталовДенис Баталов
Денис Баталов
 
Елена Гальцина
Елена ГальцинаЕлена Гальцина
Елена Гальцина
 
Александр Калашников
Александр КалашниковАлександр Калашников
Александр Калашников
 
Ирина Иванова
Ирина ИвановаИрина Иванова
Ирина Иванова
 
Marko Berković
Marko BerkovićMarko Berković
Marko Berković
 
Денис Кортунов
Денис КортуновДенис Кортунов
Денис Кортунов
 
Александр Зимин
Александр ЗиминАлександр Зимин
Александр Зимин
 
Сергей Крапивенский
Сергей КрапивенскийСергей Крапивенский
Сергей Крапивенский
 
Сергей Игнатов
Сергей ИгнатовСергей Игнатов
Сергей Игнатов
 
Николай Крапивный
Николай КрапивныйНиколай Крапивный
Николай Крапивный
 
Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander Graebe
 
Вадим Смирнов
Вадим СмирновВадим Смирнов
Вадим Смирнов
 
Константин Осипов
Константин ОсиповКонстантин Осипов
Константин Осипов
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele Rialdi
 
Максим Пугачев
Максим ПугачевМаксим Пугачев
Максим Пугачев
 
Rene Groeschke
Rene GroeschkeRene Groeschke
Rene Groeschke
 
Иван Бондаренко
Иван БондаренкоИван Бондаренко
Иван Бондаренко
 
Mete Atamel
Mete AtamelMete Atamel
Mete Atamel
 

Дмитрий Евдокимов

  • 1. Комбайны безопасности для iOS и Android Дмитрий Евдокимов Директор исследовательского центра Digital Security
  • 2. Комбайны безопасности для iOS и Android © 2002—2016, Digital Security© 2002—2016,Digital Security #whoami • Исследователь информационной безопасности в Digital Security • Редактор рубрики в журнале Xakep • Один из организаторов конференций DEFCON Russia и ZeroNights • Специализируюсь на поиске уязвимостей в бинарных приложениях без исходного кода • Анализ мобильных приложений для Android, iOS, WindowsPhone • Докладчик на конференциях в Польше, Франции, Испании, Германии, ОАЭ, Мексики 2
  • 3. Комбайны безопасности для iOS и Android © 2002—2016, Digital Security План • Взгляд на безопасность мобильных приложений • Пентест мобильных приложений • Инструменты для оценки безопасности мобильных приложений • Комбайны безопасности • Заключение 3
  • 4. Комбайны безопасности для iOS и Android © 2002—2016, Digital Security Мобильные приложения в нашей жизни 4
  • 5. Комбайны безопасности для iOS и Android © 2002—2016, Digital Security … Ломается там, где тонко Безопасность системы определяется уровнем безопасности ее самого слабого звена. 5
  • 6. Комбайны безопасности для iOS и Android © 2002—2016, Digital Security Когда нужно задумываться о безопасности? 6
  • 7. Комбайны безопасности для iOS и Android © 2002—2016, Digital Security Безопасное программирование для Android • Android Secure Coding Standard from CERT • https://www.securecoding.cert.org/confluence/display/android/Android+Secure+Coding+Standard • The CERT Oracle Secure Coding Standard for Java • 19 пунктов • https://www.securecoding.cert.org/confluence/pages/viewpage.action?pageId=111509535 • Analysis of Android Applicability: CERT's Java Coding Guidelines • 75 рекомендаций • https://www.securecoding.cert.org/confluence/display/java/Analysis+of+Android+Applicability%3A+CERT%27s+Java+Coding+Guidelines • Security Tips from Android • http://developer.android.com/training/articles/security-tips.html 7
  • 8. Комбайны безопасности для iOS и Android © 2002—2016, Digital Security Безопасное программирование для iOS • Secure Coding Guide from Apple – Для Mac и iOS – https://developer.apple.com/library/ios/documentation/Security/Conceptual/SecureCodingGuide/SecureC odingGuide.pdf • IOS Developer Cheat Sheet – Советы от OWASP для iOS – https://www.owasp.org/index.php/IOS_Developer_Cheat_Sheet 8
  • 9. Комбайны безопасности для iOS и Android © 2002—2016, Digital Security Server Device/Emulator Data channelApp 3d party Server App Анализ безопасности мобильных приложений 9
  • 10. Комбайны безопасности для iOS и Android © 2002—2016, Digital Security WP7 (C#/VB) WP8 (C#/VB/C/C++) iOS (Objective-C) Android (Java) Платформа независимые уязвимости Платформа зависимые уязвимости Уязвимости WP vs. Android vs. iOS 10
  • 11. Комбайны безопасности для iOS и Android © 2002—2016, Digital Security Проблемы frameworks • А что там под капотом? Что там с безопасностью? • Apache Cordova/PhoneGap • Cross-Application Scripting – выполнение вредоносного JS в контексте Cordova-based приложения • http://cordova.apache.org/announcements/2014/08/04/android- 351.html • Titanium • RCE + отсутствие проверки сертификата • http://www.appcelerator.com/blog/2012/11/the-titanium-sdk-andcertificate-validation/ • Xamarin • Android <5.1 DLL Hijack Vulnerability • http://seclists.org/fulldisclosure/2015/May/78 • … 11
  • 12. Комбайны безопасности для iOS и Android © 2002—2016, Digital Security Пример: Кошмар Adobe AIR • Adobe AIR’s EncryptedLocalStorage API • На деле это Base64 … • Это не шифрование! 12
  • 13. Комбайны безопасности для iOS и Android © 2002—2016, Digital Security https://www.owasp.org/index.php/OWASP_Mobile_Security_Project OWASP Top 10 Mobile Risks 13
  • 14. Комбайны безопасности для iOS и Android © 2002—2016, Digital Security *список не полный Что делает* пентестр? 1) Настраивает приложение и окружение для анализа 1) Загрузка приложения 2) Расшифровка приложения (iOS) 3) Создание отладочной версии приложения 2) Статический анализ приложения 1) Декомпиляция 2) Поиск не безопасных участков кода 3) Реверс инжиниринг • Анализ логики работы приложения 3) Динамический анализ приложения 1) Анализ сетевого трафика и IPC 2) Анализ серверной стороны 3) Фаззинг приложения 4) Создание PoC (Proof-of-Concept) эксплоитов для найденных проблем 5) Написание отчета (проблемы, угрозы, решения, рекомендации и т.д.) 14
  • 15. Комбайны безопасности для iOS и Android © 2002—2016, Digital Security Pentest tools • adb, fsmon, APKStudio, Droidbox, adbi, jeb, AndroidEagleEye, Lobotomy, bytecode-viewer, APKtool, Enjarify, Dex2jar, FlowDroid, smalisca, Inspeckage, radare2, Android Cluster Toolkit, Amandroid, Hooker, GikDbg, iRET, sira, APKinspector, Fino, android-ssl- bypass, itunnel_mux, otool, clutch, idb, Dumpdecrypted, class-dump-z, IPA, iNalyzer, gdb, cycript, Frida, trustme, keychaindumper, BinaryCookieReader, IDA Pro и т.д. 15
  • 16. Комбайны безопасности для iOS и Android © 2002—2016, Digital Security© 2002—2016,Digital Security Специализированные ОС • Appie - https://manifestsecurity.com/appie/ - Android Pentesting Portable Integrated Environment • Android Tamer - https://androidtamer.com/ - Virtual/Live Platform for Android • AppUse - https://appsec-labs.com/AppUse/ - VM for Assessing Android applications • Androl4b - https://github.com/sh4hin/Androl4b - VM for Assessing Android applications, Reverse Engineering and Malware Analysis • Mobisec - http://sourceforge.net/projects/mobisec/ - Live environment for security testing Android apps • Santoku - https://santoku-linux.com/ - OS/VM for Mobile Forensics (+iOS), Mobile Malware Analysis, Mobile Security Testing for • Vezir Project - https://github.com/oguzhantopgul/Vezir-Project - VM for Mobile Application Pentesting and Mobile Malware Analysis for Android 16
  • 17. Комбайны безопасности для iOS и Android © 2002—2016, Digital Security Комбайны ?! Комбайн безопасности – инструмент, который подсказывает, что и где в приложении что-то не так с точки зрения информационной безопасности без особых первоначальных знаний в ИБ. 17
  • 18. Комбайны безопасности для iOS и Android © 2002—2016, Digital Security Общие моменты • Все инструменты бесплатные – Часто с открытым исходным кодом • Большинство инструментов созданы для пентестеров – То есть без надежды, что будет исходный код • Для iOS часто нужно устройство с Jailbreak – Порой с версией 8.x, а не 9.x • Нацелены на клиентскую часть • Не все делают статический и динамический анализ 18
  • 19. Комбайны безопасности для iOS и Android © 2002—2016, Digital Security https://labs.mwrinfosecurity.com/tools/drozer/ drozer • Клиент серверной приложение • Win/Lin/Mac • Устройство/эмулятор • Написан на Python и Java • CLI • Динамические проверки • Нацелен для проверки IPC • Поддержка модулей Очень мощный инструмент для динамического анализа, но требует много ручной работы, которую можно заскриптовать. Может помочь сделать PoC. 19
  • 20. Комбайны безопасности для iOS и Android © 2002—2016, Digital Security https://code.google.com/archive/p/asef Позволяет быстро посмотреть на сетевой трафик и поведение программы. Больше подходит для анализа вредоносного кода. Android Security Evaluation Framework • Клиент серверной приложение – Mac/Linux – Эмулятор • CLI • Написан на Perl и Bash • Эмитирует нажатия • Захват сетевого трафика • Давно не обновлялся (2012) 20
  • 21. Комбайны безопасности для iOS и Android © 2002—2016, Digital Security https://github.com/LINKEDIN/QARK Очень хороший инструмент с качественным результатом. Самое то для разработчика, заботящегося о безопасности своего приложения. • CLI interactive • Linux/Mac • Написан на Python • В основе много сторонних инструментов • Хороший набор проверок (~17) • Может работать с APK и исходным кодом • Генерирует PoC • Генерирует HTML отчет Quick Android Review Kit 21
  • 22. Комбайны безопасности для iOS и Android © 2002—2016, Digital Security https://github.com/programa-stic/marvin-django Очень хороший инструмент с хорошим результатом. Удобное средство для проверки, но не просто в разворачивании. Marvin • Web интерфейс • Ролевая модель • Linux/Mac • Набор эмуляторов • Написан на Python • В основе лежит SAAF и AndroGuard • Большой набор проверок (~47) • Есть проверки для PhoneGap • Взаимодействие с GooglePlay • Часть интерфейса на испанском ... 22
  • 23. Комбайны безопасности для iOS и Android © 2002—2016, Digital Security https://github.com/AndroBugs/AndroBugs_Framework Очень хороший инструмент с качественным результатом. Самое то для разработчика, заботящегося о безопасности своего приложения. AndroBugs Framework • Win/Lin/Mac • Написан на Python • CLI • В основе AndroGuard • Статические проверки • Очень хороший набор проверок (~45) • Нацелен на массовое сканирование • Есть рекомендации по исправлению • Хранит результаты в БД • Легко расширяем 23
  • 24. Комбайны безопасности для iOS и Android © 2002—2016, Digital Security https://code.google.com/p/snoop-it/ или в Cydia (http://repo.nesolabs.de/) Больше подходит для пентесетров, но есть ряд проверок, помогающий подтвердить проблему в динамике. Можно просто посмотреть на свое приложение глазами пентестера. Snoop-it • Web интерфейс • Win/Lin/Mac • JB устройство • Около 10 проверок • Динамический анализ • Профайлер • Основан на MobileSubstrate 24
  • 25. Комбайны безопасности для iOS и Android © 2002—2016, Digital Security https://github.com/iSECPartners/Introspy-Analyzer/ https://isecpartners.github.io/Introspy-Android/ https://isecpartners.github.io/Introspy-iOS/ Хороший инструмент с небольшим количеством проверок. Introspy • Web интерфейс • Win/Lin/Mac • JB/root устройство • Около 20 проверок • Динамический анализ • Основан на MobileSubstrate и Cydia Substrate • Легко расширяем • Результат в БД • Генерирует HTML отчет 25
  • 26. Комбайны безопасности для iOS и Android © 2002—2016, Digital Security Очень хороший, многофункциональный и удобный инструмент. Самое то для разработчика, заботящегося о безопасности своего приложения для двухОС. Mobile Security Framework (MobSF) • Web интерфейс • Win/Linux/Mac • VirtualBox VM • Написан на Python • Статические (iOS source code), динамические проверки (Android) • Средний набор проверок (25 Android/13 iOS) • Генерирует PDF отчет 26 https://github.com/ajinabraham/Mobile-Security-Framework-MobSF
  • 27. Комбайны безопасности для iOS и Android © 2002—2016, Digital Security Резюме по комбайнам безопасности + Автоматизация проверок безопасности кода + Быстрый порог вхождения + Возможность расширяемости и улучшения кода - Отсутствие полноты исследования - Не ищут логическиенедостатки и т.д. - Не проверяют серверную часть - Есть ошибки как 1 (false positives) так и 2 рода (false negatives) - Не понимает framework’и - ТолькоJava или Objective-C 27
  • 28. Комбайны безопасности для iOS и Android © 2002—2016, Digital Security Выводы • Комбайнеры позволяют избежать детских ошибок в безопасности – Снимаем “low danglingfruits” • Комбайнера безопасности не заменят пентест, но очень быстро поднимут уровень безопасности вашего приложения • Безопасность требует комплексного подхода на всех стадиях разработки 28
  • 29. d.evdokimov@dsec.ru @evdokimovds DigitalSecurity в Москве: (495) 223-07-86 DigitalSecurity в Санкт-Петербурге: (812) 703-15-47 Спасибо за внимание! Вопросы? 29