SlideShare a Scribd company logo
(Non)security of mobile
applications
Yaroslav Vorontsov
Senior Software Engineer/Tech Lead
M.Sc, PhD
yvorontsov@dataart.com
Agenda
Agenda
u Генеральная информация
(General words)
u Немного про безопасность iOS
u Четыре почти реальные ситуации
u Векторы атак
u Инструменты начинающего
хакера/пентестера
u Атаки на приложения IRL
Теоретический криптоминимум:AES
AES-CBC
SSL Handshake
Cipher suite
u Key exchange/agreement
u RSA, Diffie-Hellman, ECDH, SRP, PSK
u Authentication
u RSA, DSA, ECDSA
u Bulk ciphers
u RC4, Triple DES,AES, IDEA, DES, or Camellia.
u Message authentication for
u TLS, a Hash-based MessageAuthentication Code usingMD5 or one of the SHAhash
functions is used.
u For SSL, SHA, MD5, MD4, and MD2 are used.
Модель безопасности
u Device security
u Passcode/PIN lock and wipe policy
u Forced security policy setup via
configuration profiles
u Data security
u Remote device wipe
u Built-in and hardware-accelerated FS
encryption features
u Network security
u SSL certificate validation
u SSL/TLS secured connections and WPA2
wireless authentication
u Application security
u Sandboxing– chroot jail
u Custom data encryption by the applications
Что же на самом деле?
u iOS сертифицирована (FIPS 140-2)
u Это всего лишь значит, что приложение удовлетворяет набору требований, не более
u В iOS есть функциональность по hardware-accelerated шифрованию
u Которая, конечно же, не работает, если у вас не установлен passcode
u iOS можно централизованно сконфигурировать с помощью Configuration profiles
u Но кому охота портить свой ЛИЧНЫЙ девайс какими-то глупыми настройками!
u В iOS встроены механизмы проверки сертификатов
u Но некоторые разработчики с дырявымиголовами забывают убрать дебажный код,
который принимает ЛЮБОЙ сертификат вообще.
u В iOS есть безопасное хранилище для паролей – Keychain
u Но и оно компрометируется, если вы забыли про passcode
Trust nobody! (Траст ноубади!)
Даже ему
“Со мной такого не случится!”
Четыре (почти) реальных сценария
“Это может случиться и с вами”
Серия 1: “Иде я нахожусь?”
u - «Идея?» - «Какая, Леонид
Ильич?» - «Иде я нахожусь?»
u Вы проснулись не пойми где
после бурной ночи. Рядом тигр и
курица, а Вашего телефона нет –
похоже, кто-то его взял (ну или
вы его где-то забыли)
u Что самое плохое, из-за жуткой
головной боли вы даже не в
состоянии вспомнить свой Apple
ID, чтобы выполнить удалённое
стирание данных
“Это может случиться и с вами”
Серия 2: “Приспичило”
u - «Вась, я на минутку, пригляди
за моим ифоном, он вон там на
стойке» - «Окей, присмотрю»
u Через минуту вы всё ещё пудрите
носик, Вася танцует с
длинноногой блондинкой, а в это
время…
u Ваш девайс меняют. На точно
такой же, с таким же контентом и
приложениями. Но есть
невидимые нюансы – в таком
телефоне полно дыр
“Это может случиться и с вами”
Серия 3: “Их разыскивает полиция”
u «Ой, а ты тоже любишь Джастина
Бибера? Неужели? А ты не
слышала его новый альбом?
Серьёзно? Дай-ка телефончик, я
тебе его загуглю»
u Друг подруги друга открывает
Safari и устанавливает «левый»
сертификат как корневой с
максимальным уровнем доверия
u Теперь он знает, в каком банке у
вас счёт и сколько денег на нём
“Это может случиться и с вами”
Серия 4: “Котики Вконтактике”
u После долгого стояния в очереди
в «Макдак» вы садитесь попить
кофе, почитать ленту новостей и
полюбоваться котиками
u «Открытый Wi-Fi как-то
подозрительно хорошо ловит на
этом месте, вчера такого не
было?»
u «А этот парень с немытыми
длинными волосами, какого он
так смотрит на меня, что-то
печатает и смеётся?»
Что это было? – You’ve been PWNED
Jailbreak и его последствия
u Самый страшный вирус в UNIX
системе – прокладка между
стулом и экраном
u После jailbreak-а открыт доступ к
следующему:
u Direct data copying
u Remote debugging
u Attaching to processes’ memory
u Full UNIX toolchain
u Runtime manupulations
Побег из песочницы
Атака «человек посередине»
(Man-in-the-middle, MITM)
Атака типа «злой близнец»
(Evil Twin)
u “Evil twin” attack – точка доступа
WiFi маскируется другой точкой
доступа, которую создаёт
злоумышленник на своём
компьютере
u Выпуск и рассылка
конфигурационного профиля –
самоподписанный профиль с
настройками
прокси/сертификатов
рассылается по почте от якобы
имени Apple
u БУДЬТЕ БДИТЕЛЬНЫ!
Атака типа «злой близнец»
(Evil Twin)
Методы социальной инженерии
(Social Engineering)
u Тоже методы
u Особенно это касается активных
пользователей соцсетей
u И тех, кто ставит один пароль на
много разных аккаунтов в
различных сервисах
u Основаны на склонности
человеческой натуры доверять
«своим»
u Основная задача – стать «своим»,
остальное – дело техники
Другие источники уязвимостей
u Camera – геотеги
u Фоновый режим работы – система
делает скриншот
u Pasteboard – глобальный кэш
u Auto-completion/auto-correction –
также глобальный кэш
u AES encryption – не передан IV
(вектор инициализации)
u Хранение ключа шифрования
только на девайсе/сервере
u …
Tools
Средства для анализа и тестирования на уязвимости
Proxy
u Burp Suite (Cross-platform)
u Fiddler (Windows, C#, freeware)
u Proxy.app (Mac OS X, native)
u Charles (Cross-platform, Java)
u mitmproxy (Cross-platform, CLI)
u sslstrip (Cross-platform, CLI)
u Custom-written TCP/UDP proxy
(for non-HTTP protocols)
Proxy.app – Example of captured packets
Сниффер
Сниффер, он же анализатор трафика
u Наиболее известные
u aircrack-ng
u tcpdump
u dsniff
u Wireshark
u Cocoa Packet Analyzer
u Используется «белыми»
u Анализ проблем сети
u Поиск «бутылочных горлышек»
u Мониторинг сети
u Используется «чёрными»
u Поиск открытых паролей
u Перехват личной информации
u Анализ сетевого трафика
Wireshark, проводная и беспроводная
акула
Принцип работы
Command line tools, или консоли
бояться – в лес не ходить
u Ps – process monitor
u Lsof – list opened files
u Tcpdump - sniffer
u Ifconfig – network interface
configuration tool
u Route – change you default
gateway and redirect the traffic
u Sysctl – read and modify
system/kernel parameters
u Nmap – network scanning
u Ssh – connection to the device
u Netstat – opened ports
u Otool – information about
executables/shared&dynamic
libraries/object files
u LLDB/gdb – no comments
u Nm – display symbol table
u Cycript – runtime manipulations
u OpenSSL to generate self-signed
certificates…
Основные требования при
тестировании на уязвимости
u Black-box
u Девайс должен быть рутованный
(c jailbreak’ом)
u Пароль root – alpine
u Одна WiFi-сеть, один broadcast-
домен
u White-box
u Полный доступ к исходномукоду
для его анализа и аудита
u Работа с симулятором (ввиду
доступности FS, хорошо
эмулирует «взломанный» iPhone)
IRL, или примеры из практики
С доказательствами
Offline-атаки
u Offline attacks
u Breaking Keychain
u Stealing unencrypted data
u Looking for browser caches
u If your device’s secured with a
passcode…
u Every kind of a file protection level
has its own key. These keys are used
to encrypt actual file system content
u This encryption is transparent; keys
are stored ON THE DEVICE!
u The passcode is the only guard of your
data
u DeviceEncryptionKeys.plist
Offline-атака: первый улов, файл
конфигурации
Offline-атака: о, переписка! Это уже
интереснее…
Offline-атака: открываем двери ударом
ноги с разворота
u Keychain - SQLite база данных с
шифрованными колонками
u Используется для паролей,
ключей, сертификатов…
u Утилита
https://github.com/ptoomey3/Key
chain-Dumper
u Compile using latest SDK and self-
signed certificate
u Copy to device via SSH
u Run and enjoy
Подготовка к runtime-атаке
u Otool – лучший друг пентестера
u Otool –L – linked libraries
u Otool –f – информация о файле (архитектура CPU, offsets…)
u Otool –l – метаданные
u Otool –arch – информация по выбранной архитектуре CPU в файле
u Утилита class-dump-z
u https://code.google.com/p/networkpx/wiki/class_dump_z
u Восстанавливает заголовочные файлы на основе метаданных
u Nm – просмотр таблиц символов
u Просмотр вызываемых библиотечных методов/функций
u Чаще всего используется для поиска вызовов NSLog
u Otool –arch –l | grep crypt – проверка на то, зашифрован ли файл
Runtime-атака: cycript
u http://www.cycript.org - JavaScript-based approach
u Ставится дебиановским DPKG
u Поддерживает и C, и Objective-C
u Ps aux | grep <appname> - поиск процесса по pid
u Cycript –p <pid> - смотрим, что можно найти
u Var app = [UIApplication sharedApplication]
u App.delegate – адрес app делегата в памяти
u Var delegate = new Instance (0x2f34…) – доступ к «сырой» памяти
u [delegate dismissPinPadScreenAnimated] – вызов метода
u Ivar values – ls(delegate) – дамп класса
u Method swizzling– modifyingisa.messages[‘…’] in runtime
u Breaking device policy
Online-атаки
u Man-in-the-middle
u Stolen credentials
u MITM mechanism
u Ordinary communication in a plain
network (top picture)
u An attacker makes both sides think
that they are communicating with
each other. However, it’s wrong
(bottom picture)
u The most common attack initiation
– two-way ARP spoofing + IP
forwarding
u If hosts are located in different
networks, attack is initiated by 2-
way ARP spoofingbetween host
and router
Перехваченный трафик
Итоги взлома
u Найдены незашифрованные чаты
u Найдены пароли и явки от
SSH/web/MySQL
u Связка otool+class-dump-z помогла
найти библиотеку liblinphone
u Приложение могло соединяться с
Linphone iOS по незашифрованному
соединению
u У приложения своя цепочка
доверенных сертификатов
u Добавление самоподписанного
сертификата позволило продолжить
непотребства
u Используется шифрование SIP
трафика
u Взломано с помощью самописного
TCP proxy
Другие примеры
u Mobile banking application
u Цель: “confirm that application
has no data cached on the disk”
u Результаты:
u Передача username/password
открытым текстом
u Source code audit: neither
username nor password are stored
in memory
u A number of web service
vulnerabilities
u Secure documents application
u Purpose: “try to steal any personal
data and/or PDF documents”
u Results
u Almost no vulnerabilities in the
application (except Pasteboard
which was not disabled)
u Web part: username/password
transferred in plaintext
Рекомендации по защите
u Разработчики
u ТОЛЬКО HTTPS
u Откажитесь от принципа
«неуловимого Джо» при
разработке приложений
u Выбирая между SSL v2/v3 и TLS
1.0/1.1, вы обречены, ну или
очень рискуете (weak MD5/no
handshake
protection/POODLE/BEAST/etc)
u Используйте только проверенные
криптобиблиотеки
u Пользователи
u Поставьте, наконец, на свой
телефон passcode!
u Установите auto-lock таймаут
u Включите стирание контента
после 10 неверных попыток
пасскода
u Регулярно обновляйте iOS – в
обновлениях действительно
фиксят security issues
u Выключите всё то, что может
быть доступно без passcode
Further reading
u In-depth introduction to SSL (https://timnash.co.uk/guessing-ssl-questions/)
u Обзор способов и протоколов аутентификации в веб-приложениях
(http://habrahabr.ru/company/dataart/blog/262817/)
u McAfee whitepapers
u K.Shah “Penetration testing for iPhone/iPad applications” (McAfee)
u K.Shah “Top 10 iPhone security tips” (McAfee)
u www.slideshare.net - презентации по Web/Mobile App Security, тысячи их
u Хаб «Информационная безопасность», http://habr.ru
u Coursera – Cryptography I and Cryptography II by Dan Boneh
Further reading
u Jonathan Zdziarski “Hacking and Securing iOS Applications”
u C.Whiller “iOS Hacker’s handbook”
u J.Ericksson “Hacking: the art of exploitation” (мужик с топором)
u WWDC 2011 Session 202 – Security Overview
u WWDC 2011 Session 208 – Securing iOS Applications
u WWDC 2012 Session 704 – Security Framework
u WWDC 2012 Session 714 – Protecting the User’s Data
Thnx!
Yaroslav Vorontsov
Senior Software Engineer/Tech Lead
M.Sc, PhD
yvorontsov@dataart.com

More Related Content

Viewers also liked

Matematicas
MatematicasMatematicas
git - the basics
git - the basicsgit - the basics
git - the basics
Arnelle Balane
 
Наталья Шпот «Магия приоритетов как ключ к личному счастью»
Наталья Шпот «Магия приоритетов как ключ к личному счастью»Наталья Шпот «Магия приоритетов как ключ к личному счастью»
Наталья Шпот «Магия приоритетов как ключ к личному счастью»
DataArt
 
Mobile Flex-Cool Brochure
Mobile Flex-Cool BrochureMobile Flex-Cool Brochure
Mobile Flex-Cool Brochure
Espar Climate Control Systems
 
Reader’s theater (1)
Reader’s theater (1)Reader’s theater (1)
Reader’s theater (1)
IIPCONX
 
Роман Денисенко — Нагрузочное тестирование для самых маленьких.
Роман Денисенко — Нагрузочное тестирование для самых маленьких.Роман Денисенко — Нагрузочное тестирование для самых маленьких.
Роман Денисенко — Нагрузочное тестирование для самых маленьких.
DataArt
 
Testing in projects
Testing in projectsTesting in projects
Testing in projects
DataArt
 
Propiedad intelectual del soft ware
Propiedad intelectual del soft warePropiedad intelectual del soft ware
Propiedad intelectual del soft ware
Joel Quintana
 
sistema de gestión de contenidos
sistema de gestión de contenidossistema de gestión de contenidos
sistema de gestión de contenidos
Diego Rojas
 
Cara menginstall windows 7
Cara menginstall windows 7Cara menginstall windows 7
Cara menginstall windows 7
julyandre777
 
«Lean UX — мелочи для успешных проектов» Анастасия Режепп, DataArt
«Lean UX — мелочи для успешных проектов» Анастасия Режепп, DataArt  «Lean UX — мелочи для успешных проектов» Анастасия Режепп, DataArt
«Lean UX — мелочи для успешных проектов» Анастасия Режепп, DataArt
DataArt
 
"Тестирование в Agile в среде виртуализации Vagrant+Docker", Владимир Сидорен...
"Тестирование в Agile в среде виртуализации Vagrant+Docker", Владимир Сидорен..."Тестирование в Agile в среде виртуализации Vagrant+Docker", Владимир Сидорен...
"Тестирование в Agile в среде виртуализации Vagrant+Docker", Владимир Сидорен...
DataArt
 
Альтернативные способы заваривания кофе
Альтернативные способы заваривания кофеАльтернативные способы заваривания кофе
Альтернативные способы заваривания кофе
DataArt
 
นิทาน
นิทานนิทาน
นิทานExitOfLove
 
Александр Богданов «Lambda - архитектура»
Александр Богданов «Lambda - архитектура»Александр Богданов «Lambda - архитектура»
Александр Богданов «Lambda - архитектура»DataArt
 
Анастасия Белокурова (DataArt) "С телефона в облака: Azure Mobile Services. С...
Анастасия Белокурова (DataArt) "С телефона в облака: Azure Mobile Services. С...Анастасия Белокурова (DataArt) "С телефона в облака: Azure Mobile Services. С...
Анастасия Белокурова (DataArt) "С телефона в облака: Azure Mobile Services. С...
DataArt
 

Viewers also liked (16)

Matematicas
MatematicasMatematicas
Matematicas
 
git - the basics
git - the basicsgit - the basics
git - the basics
 
Наталья Шпот «Магия приоритетов как ключ к личному счастью»
Наталья Шпот «Магия приоритетов как ключ к личному счастью»Наталья Шпот «Магия приоритетов как ключ к личному счастью»
Наталья Шпот «Магия приоритетов как ключ к личному счастью»
 
Mobile Flex-Cool Brochure
Mobile Flex-Cool BrochureMobile Flex-Cool Brochure
Mobile Flex-Cool Brochure
 
Reader’s theater (1)
Reader’s theater (1)Reader’s theater (1)
Reader’s theater (1)
 
Роман Денисенко — Нагрузочное тестирование для самых маленьких.
Роман Денисенко — Нагрузочное тестирование для самых маленьких.Роман Денисенко — Нагрузочное тестирование для самых маленьких.
Роман Денисенко — Нагрузочное тестирование для самых маленьких.
 
Testing in projects
Testing in projectsTesting in projects
Testing in projects
 
Propiedad intelectual del soft ware
Propiedad intelectual del soft warePropiedad intelectual del soft ware
Propiedad intelectual del soft ware
 
sistema de gestión de contenidos
sistema de gestión de contenidossistema de gestión de contenidos
sistema de gestión de contenidos
 
Cara menginstall windows 7
Cara menginstall windows 7Cara menginstall windows 7
Cara menginstall windows 7
 
«Lean UX — мелочи для успешных проектов» Анастасия Режепп, DataArt
«Lean UX — мелочи для успешных проектов» Анастасия Режепп, DataArt  «Lean UX — мелочи для успешных проектов» Анастасия Режепп, DataArt
«Lean UX — мелочи для успешных проектов» Анастасия Режепп, DataArt
 
"Тестирование в Agile в среде виртуализации Vagrant+Docker", Владимир Сидорен...
"Тестирование в Agile в среде виртуализации Vagrant+Docker", Владимир Сидорен..."Тестирование в Agile в среде виртуализации Vagrant+Docker", Владимир Сидорен...
"Тестирование в Agile в среде виртуализации Vagrant+Docker", Владимир Сидорен...
 
Альтернативные способы заваривания кофе
Альтернативные способы заваривания кофеАльтернативные способы заваривания кофе
Альтернативные способы заваривания кофе
 
นิทาน
นิทานนิทาน
นิทาน
 
Александр Богданов «Lambda - архитектура»
Александр Богданов «Lambda - архитектура»Александр Богданов «Lambda - архитектура»
Александр Богданов «Lambda - архитектура»
 
Анастасия Белокурова (DataArt) "С телефона в облака: Azure Mobile Services. С...
Анастасия Белокурова (DataArt) "С телефона в облака: Azure Mobile Services. С...Анастасия Белокурова (DataArt) "С телефона в облака: Azure Mobile Services. С...
Анастасия Белокурова (DataArt) "С телефона в облака: Azure Mobile Services. С...
 

Similar to Ярослав Воронцов - Security

Обнаружение атак - из конца 90-х в 2018-й
Обнаружение атак - из конца 90-х в 2018-йОбнаружение атак - из конца 90-х в 2018-й
Обнаружение атак - из конца 90-х в 2018-й
Aleksey Lukatskiy
 
FireEye - система защиты от целенаправленных атак
FireEye - система защиты от целенаправленных атакFireEye - система защиты от целенаправленных атак
FireEye - система защиты от целенаправленных атак
DialogueScience
 
Сеть как средство защиты и реагирования на угрозы
Сеть как средство защиты и реагирования на угрозыСеть как средство защиты и реагирования на угрозы
Сеть как средство защиты и реагирования на угрозы
Cisco Russia
 
Cisco. Лукацкий Алексей. "Обнаружение необнаруживаемого. Как идентифицировать...
Cisco. Лукацкий Алексей. "Обнаружение необнаруживаемого. Как идентифицировать...Cisco. Лукацкий Алексей. "Обнаружение необнаруживаемого. Как идентифицировать...
Cisco. Лукацкий Алексей. "Обнаружение необнаруживаемого. Как идентифицировать...
Expolink
 
Обнаружение необнаруживаемого
Обнаружение необнаруживаемогоОбнаружение необнаруживаемого
Обнаружение необнаруживаемого
Aleksey Lukatskiy
 
Cisco TALOS – интеллектуальная платформа для анализа угроз
Cisco TALOS – интеллектуальная платформа для анализа угрозCisco TALOS – интеллектуальная платформа для анализа угроз
Cisco TALOS – интеллектуальная платформа для анализа угроз
Cisco Russia
 
Безопасная разработка (СТАЧКА 2015)
Безопасная разработка (СТАЧКА 2015)Безопасная разработка (СТАЧКА 2015)
Безопасная разработка (СТАЧКА 2015)
Alexey Kachalin
 
Как превратить свою сеть в систему информационной безопасности
Как превратить свою сеть в систему информационной безопасности Как превратить свою сеть в систему информационной безопасности
Как превратить свою сеть в систему информационной безопасности
Cisco Russia
 
Безопасность для сайта
Безопасность  для сайтаБезопасность  для сайта
Безопасность для сайта
Maksym Balaklytskyi
 
Какие вопросы чаще всего задают вендору при выборе решения по информационной ...
Какие вопросы чаще всего задают вендору при выборе решения по информационной ...Какие вопросы чаще всего задают вендору при выборе решения по информационной ...
Какие вопросы чаще всего задают вендору при выборе решения по информационной ...
Denis Batrankov, CISSP
 
SQA days 17 "Моделирование угроз для приложений"
SQA days 17 "Моделирование угроз для приложений"SQA days 17 "Моделирование угроз для приложений"
SQA days 17 "Моделирование угроз для приложений"
Sergey Atroschenkov
 
обнаружение сетевых атак
обнаружение сетевых атакобнаружение сетевых атак
обнаружение сетевых атакMike Gorohov
 
Евгений Кутя - Информационная безопасность
Евгений Кутя - Информационная безопасностьЕвгений Кутя - Информационная безопасность
Евгений Кутя - Информационная безопасностьGAiN@ESD
 
Защита информации. Александрович Виктория
Защита информации. Александрович ВикторияЗащита информации. Александрович Виктория
Защита информации. Александрович ВикторияVika Ezhevika
 
Разработка эксплойтов для АСУ ТП: двойная игра
Разработка эксплойтов для АСУ ТП: двойная играРазработка эксплойтов для АСУ ТП: двойная игра
Разработка эксплойтов для АСУ ТП: двойная игра
Компания УЦСБ
 
Доктор Веб: Цели хакеров
Доктор Веб: Цели хакеровДоктор Веб: Цели хакеров
Доктор Веб: Цели хакеров
Expolink
 
virusi
virusivirusi
virusiTanaS
 
virusi
virusivirusi
virusiTanaS
 
Fireeye 201FireEye - система защиты от целенаправленных атак5
Fireeye  201FireEye - система защиты от целенаправленных атак5Fireeye  201FireEye - система защиты от целенаправленных атак5
Fireeye 201FireEye - система защиты от целенаправленных атак5
DialogueScience
 

Similar to Ярослав Воронцов - Security (20)

Обнаружение атак - из конца 90-х в 2018-й
Обнаружение атак - из конца 90-х в 2018-йОбнаружение атак - из конца 90-х в 2018-й
Обнаружение атак - из конца 90-х в 2018-й
 
FireEye - система защиты от целенаправленных атак
FireEye - система защиты от целенаправленных атакFireEye - система защиты от целенаправленных атак
FireEye - система защиты от целенаправленных атак
 
Сеть как средство защиты и реагирования на угрозы
Сеть как средство защиты и реагирования на угрозыСеть как средство защиты и реагирования на угрозы
Сеть как средство защиты и реагирования на угрозы
 
Cisco. Лукацкий Алексей. "Обнаружение необнаруживаемого. Как идентифицировать...
Cisco. Лукацкий Алексей. "Обнаружение необнаруживаемого. Как идентифицировать...Cisco. Лукацкий Алексей. "Обнаружение необнаруживаемого. Как идентифицировать...
Cisco. Лукацкий Алексей. "Обнаружение необнаруживаемого. Как идентифицировать...
 
Обнаружение необнаруживаемого
Обнаружение необнаруживаемогоОбнаружение необнаруживаемого
Обнаружение необнаруживаемого
 
Cisco TALOS – интеллектуальная платформа для анализа угроз
Cisco TALOS – интеллектуальная платформа для анализа угрозCisco TALOS – интеллектуальная платформа для анализа угроз
Cisco TALOS – интеллектуальная платформа для анализа угроз
 
Безопасная разработка (СТАЧКА 2015)
Безопасная разработка (СТАЧКА 2015)Безопасная разработка (СТАЧКА 2015)
Безопасная разработка (СТАЧКА 2015)
 
Как превратить свою сеть в систему информационной безопасности
Как превратить свою сеть в систему информационной безопасности Как превратить свою сеть в систему информационной безопасности
Как превратить свою сеть в систему информационной безопасности
 
Безопасность для сайта
Безопасность  для сайтаБезопасность  для сайта
Безопасность для сайта
 
Какие вопросы чаще всего задают вендору при выборе решения по информационной ...
Какие вопросы чаще всего задают вендору при выборе решения по информационной ...Какие вопросы чаще всего задают вендору при выборе решения по информационной ...
Какие вопросы чаще всего задают вендору при выборе решения по информационной ...
 
SQA days 17 "Моделирование угроз для приложений"
SQA days 17 "Моделирование угроз для приложений"SQA days 17 "Моделирование угроз для приложений"
SQA days 17 "Моделирование угроз для приложений"
 
обнаружение сетевых атак
обнаружение сетевых атакобнаружение сетевых атак
обнаружение сетевых атак
 
Евгений Кутя - Информационная безопасность
Евгений Кутя - Информационная безопасностьЕвгений Кутя - Информационная безопасность
Евгений Кутя - Информационная безопасность
 
Защита информации. Александрович Виктория
Защита информации. Александрович ВикторияЗащита информации. Александрович Виктория
Защита информации. Александрович Виктория
 
Разработка эксплойтов для АСУ ТП: двойная игра
Разработка эксплойтов для АСУ ТП: двойная играРазработка эксплойтов для АСУ ТП: двойная игра
Разработка эксплойтов для АСУ ТП: двойная игра
 
Ответы
ОтветыОтветы
Ответы
 
Доктор Веб: Цели хакеров
Доктор Веб: Цели хакеровДоктор Веб: Цели хакеров
Доктор Веб: Цели хакеров
 
virusi
virusivirusi
virusi
 
virusi
virusivirusi
virusi
 
Fireeye 201FireEye - система защиты от целенаправленных атак5
Fireeye  201FireEye - система защиты от целенаправленных атак5Fireeye  201FireEye - система защиты от целенаправленных атак5
Fireeye 201FireEye - система защиты от целенаправленных атак5
 

More from DataArt

DataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human ApproachDataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human Approach
DataArt
 
DataArt Healthcare & Life Sciences
DataArt Healthcare & Life SciencesDataArt Healthcare & Life Sciences
DataArt Healthcare & Life Sciences
DataArt
 
DataArt Financial Services and Capital Markets
DataArt Financial Services and Capital MarketsDataArt Financial Services and Capital Markets
DataArt Financial Services and Capital Markets
DataArt
 
About DataArt HR Partners
About DataArt HR PartnersAbout DataArt HR Partners
About DataArt HR Partners
DataArt
 
Event management в IT
Event management в ITEvent management в IT
Event management в IT
DataArt
 
Digital Marketing from inside
Digital Marketing from insideDigital Marketing from inside
Digital Marketing from inside
DataArt
 
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
DataArt
 
DevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проектDevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проект
DataArt
 
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArtIT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
DataArt
 
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
 «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han... «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
DataArt
 
Communication in QA's life
Communication in QA's lifeCommunication in QA's life
Communication in QA's life
DataArt
 
Нельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьмиНельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьми
DataArt
 
Знакомьтесь, DevOps
Знакомьтесь, DevOpsЗнакомьтесь, DevOps
Знакомьтесь, DevOps
DataArt
 
DevOps in real life
DevOps in real lifeDevOps in real life
DevOps in real life
DataArt
 
Codeless: автоматизация тестирования
Codeless: автоматизация тестированияCodeless: автоматизация тестирования
Codeless: автоматизация тестирования
DataArt
 
Selenoid
SelenoidSelenoid
Selenoid
DataArt
 
Selenide
SelenideSelenide
Selenide
DataArt
 
A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"
DataArt
 
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
DataArt
 
IT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNGIT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNG
DataArt
 

More from DataArt (20)

DataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human ApproachDataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human Approach
 
DataArt Healthcare & Life Sciences
DataArt Healthcare & Life SciencesDataArt Healthcare & Life Sciences
DataArt Healthcare & Life Sciences
 
DataArt Financial Services and Capital Markets
DataArt Financial Services and Capital MarketsDataArt Financial Services and Capital Markets
DataArt Financial Services and Capital Markets
 
About DataArt HR Partners
About DataArt HR PartnersAbout DataArt HR Partners
About DataArt HR Partners
 
Event management в IT
Event management в ITEvent management в IT
Event management в IT
 
Digital Marketing from inside
Digital Marketing from insideDigital Marketing from inside
Digital Marketing from inside
 
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
 
DevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проектDevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проект
 
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArtIT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
 
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
 «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han... «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
 
Communication in QA's life
Communication in QA's lifeCommunication in QA's life
Communication in QA's life
 
Нельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьмиНельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьми
 
Знакомьтесь, DevOps
Знакомьтесь, DevOpsЗнакомьтесь, DevOps
Знакомьтесь, DevOps
 
DevOps in real life
DevOps in real lifeDevOps in real life
DevOps in real life
 
Codeless: автоматизация тестирования
Codeless: автоматизация тестированияCodeless: автоматизация тестирования
Codeless: автоматизация тестирования
 
Selenoid
SelenoidSelenoid
Selenoid
 
Selenide
SelenideSelenide
Selenide
 
A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"
 
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
 
IT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNGIT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNG
 

Ярослав Воронцов - Security

  • 1. (Non)security of mobile applications Yaroslav Vorontsov Senior Software Engineer/Tech Lead M.Sc, PhD yvorontsov@dataart.com
  • 3. Agenda u Генеральная информация (General words) u Немного про безопасность iOS u Четыре почти реальные ситуации u Векторы атак u Инструменты начинающего хакера/пентестера u Атаки на приложения IRL
  • 7.
  • 8. Cipher suite u Key exchange/agreement u RSA, Diffie-Hellman, ECDH, SRP, PSK u Authentication u RSA, DSA, ECDSA u Bulk ciphers u RC4, Triple DES,AES, IDEA, DES, or Camellia. u Message authentication for u TLS, a Hash-based MessageAuthentication Code usingMD5 or one of the SHAhash functions is used. u For SSL, SHA, MD5, MD4, and MD2 are used.
  • 9. Модель безопасности u Device security u Passcode/PIN lock and wipe policy u Forced security policy setup via configuration profiles u Data security u Remote device wipe u Built-in and hardware-accelerated FS encryption features u Network security u SSL certificate validation u SSL/TLS secured connections and WPA2 wireless authentication u Application security u Sandboxing– chroot jail u Custom data encryption by the applications
  • 10. Что же на самом деле? u iOS сертифицирована (FIPS 140-2) u Это всего лишь значит, что приложение удовлетворяет набору требований, не более u В iOS есть функциональность по hardware-accelerated шифрованию u Которая, конечно же, не работает, если у вас не установлен passcode u iOS можно централизованно сконфигурировать с помощью Configuration profiles u Но кому охота портить свой ЛИЧНЫЙ девайс какими-то глупыми настройками! u В iOS встроены механизмы проверки сертификатов u Но некоторые разработчики с дырявымиголовами забывают убрать дебажный код, который принимает ЛЮБОЙ сертификат вообще. u В iOS есть безопасное хранилище для паролей – Keychain u Но и оно компрометируется, если вы забыли про passcode
  • 11. Trust nobody! (Траст ноубади!)
  • 13. “Со мной такого не случится!” Четыре (почти) реальных сценария
  • 14. “Это может случиться и с вами” Серия 1: “Иде я нахожусь?” u - «Идея?» - «Какая, Леонид Ильич?» - «Иде я нахожусь?» u Вы проснулись не пойми где после бурной ночи. Рядом тигр и курица, а Вашего телефона нет – похоже, кто-то его взял (ну или вы его где-то забыли) u Что самое плохое, из-за жуткой головной боли вы даже не в состоянии вспомнить свой Apple ID, чтобы выполнить удалённое стирание данных
  • 15. “Это может случиться и с вами” Серия 2: “Приспичило” u - «Вась, я на минутку, пригляди за моим ифоном, он вон там на стойке» - «Окей, присмотрю» u Через минуту вы всё ещё пудрите носик, Вася танцует с длинноногой блондинкой, а в это время… u Ваш девайс меняют. На точно такой же, с таким же контентом и приложениями. Но есть невидимые нюансы – в таком телефоне полно дыр
  • 16. “Это может случиться и с вами” Серия 3: “Их разыскивает полиция” u «Ой, а ты тоже любишь Джастина Бибера? Неужели? А ты не слышала его новый альбом? Серьёзно? Дай-ка телефончик, я тебе его загуглю» u Друг подруги друга открывает Safari и устанавливает «левый» сертификат как корневой с максимальным уровнем доверия u Теперь он знает, в каком банке у вас счёт и сколько денег на нём
  • 17. “Это может случиться и с вами” Серия 4: “Котики Вконтактике” u После долгого стояния в очереди в «Макдак» вы садитесь попить кофе, почитать ленту новостей и полюбоваться котиками u «Открытый Wi-Fi как-то подозрительно хорошо ловит на этом месте, вчера такого не было?» u «А этот парень с немытыми длинными волосами, какого он так смотрит на меня, что-то печатает и смеётся?»
  • 18. Что это было? – You’ve been PWNED
  • 19. Jailbreak и его последствия u Самый страшный вирус в UNIX системе – прокладка между стулом и экраном u После jailbreak-а открыт доступ к следующему: u Direct data copying u Remote debugging u Attaching to processes’ memory u Full UNIX toolchain u Runtime manupulations
  • 22. Атака типа «злой близнец» (Evil Twin) u “Evil twin” attack – точка доступа WiFi маскируется другой точкой доступа, которую создаёт злоумышленник на своём компьютере u Выпуск и рассылка конфигурационного профиля – самоподписанный профиль с настройками прокси/сертификатов рассылается по почте от якобы имени Apple u БУДЬТЕ БДИТЕЛЬНЫ!
  • 23. Атака типа «злой близнец» (Evil Twin)
  • 24. Методы социальной инженерии (Social Engineering) u Тоже методы u Особенно это касается активных пользователей соцсетей u И тех, кто ставит один пароль на много разных аккаунтов в различных сервисах u Основаны на склонности человеческой натуры доверять «своим» u Основная задача – стать «своим», остальное – дело техники
  • 25. Другие источники уязвимостей u Camera – геотеги u Фоновый режим работы – система делает скриншот u Pasteboard – глобальный кэш u Auto-completion/auto-correction – также глобальный кэш u AES encryption – не передан IV (вектор инициализации) u Хранение ключа шифрования только на девайсе/сервере u …
  • 26. Tools Средства для анализа и тестирования на уязвимости
  • 27. Proxy u Burp Suite (Cross-platform) u Fiddler (Windows, C#, freeware) u Proxy.app (Mac OS X, native) u Charles (Cross-platform, Java) u mitmproxy (Cross-platform, CLI) u sslstrip (Cross-platform, CLI) u Custom-written TCP/UDP proxy (for non-HTTP protocols)
  • 28. Proxy.app – Example of captured packets
  • 30. Сниффер, он же анализатор трафика u Наиболее известные u aircrack-ng u tcpdump u dsniff u Wireshark u Cocoa Packet Analyzer u Используется «белыми» u Анализ проблем сети u Поиск «бутылочных горлышек» u Мониторинг сети u Используется «чёрными» u Поиск открытых паролей u Перехват личной информации u Анализ сетевого трафика
  • 31. Wireshark, проводная и беспроводная акула
  • 33. Command line tools, или консоли бояться – в лес не ходить u Ps – process monitor u Lsof – list opened files u Tcpdump - sniffer u Ifconfig – network interface configuration tool u Route – change you default gateway and redirect the traffic u Sysctl – read and modify system/kernel parameters u Nmap – network scanning u Ssh – connection to the device u Netstat – opened ports u Otool – information about executables/shared&dynamic libraries/object files u LLDB/gdb – no comments u Nm – display symbol table u Cycript – runtime manipulations u OpenSSL to generate self-signed certificates…
  • 34. Основные требования при тестировании на уязвимости u Black-box u Девайс должен быть рутованный (c jailbreak’ом) u Пароль root – alpine u Одна WiFi-сеть, один broadcast- домен u White-box u Полный доступ к исходномукоду для его анализа и аудита u Работа с симулятором (ввиду доступности FS, хорошо эмулирует «взломанный» iPhone)
  • 35. IRL, или примеры из практики С доказательствами
  • 36. Offline-атаки u Offline attacks u Breaking Keychain u Stealing unencrypted data u Looking for browser caches u If your device’s secured with a passcode… u Every kind of a file protection level has its own key. These keys are used to encrypt actual file system content u This encryption is transparent; keys are stored ON THE DEVICE! u The passcode is the only guard of your data u DeviceEncryptionKeys.plist
  • 37. Offline-атака: первый улов, файл конфигурации
  • 38. Offline-атака: о, переписка! Это уже интереснее…
  • 39. Offline-атака: открываем двери ударом ноги с разворота u Keychain - SQLite база данных с шифрованными колонками u Используется для паролей, ключей, сертификатов… u Утилита https://github.com/ptoomey3/Key chain-Dumper u Compile using latest SDK and self- signed certificate u Copy to device via SSH u Run and enjoy
  • 40. Подготовка к runtime-атаке u Otool – лучший друг пентестера u Otool –L – linked libraries u Otool –f – информация о файле (архитектура CPU, offsets…) u Otool –l – метаданные u Otool –arch – информация по выбранной архитектуре CPU в файле u Утилита class-dump-z u https://code.google.com/p/networkpx/wiki/class_dump_z u Восстанавливает заголовочные файлы на основе метаданных u Nm – просмотр таблиц символов u Просмотр вызываемых библиотечных методов/функций u Чаще всего используется для поиска вызовов NSLog u Otool –arch –l | grep crypt – проверка на то, зашифрован ли файл
  • 41. Runtime-атака: cycript u http://www.cycript.org - JavaScript-based approach u Ставится дебиановским DPKG u Поддерживает и C, и Objective-C u Ps aux | grep <appname> - поиск процесса по pid u Cycript –p <pid> - смотрим, что можно найти u Var app = [UIApplication sharedApplication] u App.delegate – адрес app делегата в памяти u Var delegate = new Instance (0x2f34…) – доступ к «сырой» памяти u [delegate dismissPinPadScreenAnimated] – вызов метода u Ivar values – ls(delegate) – дамп класса u Method swizzling– modifyingisa.messages[‘…’] in runtime u Breaking device policy
  • 42. Online-атаки u Man-in-the-middle u Stolen credentials u MITM mechanism u Ordinary communication in a plain network (top picture) u An attacker makes both sides think that they are communicating with each other. However, it’s wrong (bottom picture) u The most common attack initiation – two-way ARP spoofing + IP forwarding u If hosts are located in different networks, attack is initiated by 2- way ARP spoofingbetween host and router
  • 44. Итоги взлома u Найдены незашифрованные чаты u Найдены пароли и явки от SSH/web/MySQL u Связка otool+class-dump-z помогла найти библиотеку liblinphone u Приложение могло соединяться с Linphone iOS по незашифрованному соединению u У приложения своя цепочка доверенных сертификатов u Добавление самоподписанного сертификата позволило продолжить непотребства u Используется шифрование SIP трафика u Взломано с помощью самописного TCP proxy
  • 45. Другие примеры u Mobile banking application u Цель: “confirm that application has no data cached on the disk” u Результаты: u Передача username/password открытым текстом u Source code audit: neither username nor password are stored in memory u A number of web service vulnerabilities u Secure documents application u Purpose: “try to steal any personal data and/or PDF documents” u Results u Almost no vulnerabilities in the application (except Pasteboard which was not disabled) u Web part: username/password transferred in plaintext
  • 46. Рекомендации по защите u Разработчики u ТОЛЬКО HTTPS u Откажитесь от принципа «неуловимого Джо» при разработке приложений u Выбирая между SSL v2/v3 и TLS 1.0/1.1, вы обречены, ну или очень рискуете (weak MD5/no handshake protection/POODLE/BEAST/etc) u Используйте только проверенные криптобиблиотеки u Пользователи u Поставьте, наконец, на свой телефон passcode! u Установите auto-lock таймаут u Включите стирание контента после 10 неверных попыток пасскода u Регулярно обновляйте iOS – в обновлениях действительно фиксят security issues u Выключите всё то, что может быть доступно без passcode
  • 47. Further reading u In-depth introduction to SSL (https://timnash.co.uk/guessing-ssl-questions/) u Обзор способов и протоколов аутентификации в веб-приложениях (http://habrahabr.ru/company/dataart/blog/262817/) u McAfee whitepapers u K.Shah “Penetration testing for iPhone/iPad applications” (McAfee) u K.Shah “Top 10 iPhone security tips” (McAfee) u www.slideshare.net - презентации по Web/Mobile App Security, тысячи их u Хаб «Информационная безопасность», http://habr.ru u Coursera – Cryptography I and Cryptography II by Dan Boneh
  • 48. Further reading u Jonathan Zdziarski “Hacking and Securing iOS Applications” u C.Whiller “iOS Hacker’s handbook” u J.Ericksson “Hacking: the art of exploitation” (мужик с топором) u WWDC 2011 Session 202 – Security Overview u WWDC 2011 Session 208 – Securing iOS Applications u WWDC 2012 Session 704 – Security Framework u WWDC 2012 Session 714 – Protecting the User’s Data
  • 49. Thnx! Yaroslav Vorontsov Senior Software Engineer/Tech Lead M.Sc, PhD yvorontsov@dataart.com