Защищаем себя и пользователей — Вадим Дробинин (iOS Security Guide by Vadim Drobinin)

Vadim Drobinin
Vadim DrobininiOS Developer
@Valzevul
Вадим Дробинин
Защищаем себя и
пользователей
(руководство по безопасности для iOS)
@ValzevulЗащищаем себя и пользователей
В двух словах
• Что мы будем защищать?
• Какие бывают атаки?
• Примеры атак
• Как проверить приложение?
• Способы защиты
• Что дальше?
2
@Valzevul
Мобильные устройства —
основной источник личных
данных пользователей
и мы не умеем их защищать
@ValzevulЗащищаем себя и пользователей
Что мы будем защищать?
4
Стэк
мобильной
безопасности
Уровень
инфраструктуры
• CDMA, GSM
• GPS
• SMS, MMS
Уровень «железа»
• Устройство
• Прошивка
Уровень ОС
• Версия OS
• Root-доступ
Уровень
приложений
• ???
@ValzevulЗащищаем себя и пользователей
Уровень приложений
Transport Layer Security
• NSURLConnection и
NSURLSession
требуют ATS
• ATS требует TLS 1.2 и
сертификаты
• Приложения должны
соответствовать *
5
Защита данных
• Всё шифруется с
помощью уникального
ключа в 256 бит
• Ключи «оборачиваются»
в ключи классов
• Класс = политика
безопасности
@ValzevulЗащищаем себя и пользователей
Уровень приложений
Transport Layer Security
6
Защита данных
С iOS9 сложно
налажать в
зашифрованной
передаче данных
Почти все файлы
надежно
зашифрованы на
диске
@ValzevulЗащищаем себя и пользователей
Какие бывают атаки?
7
TamperingRepudiation
Information
Disclosure
Denial of
Service
Elevation of
Privilege
Spoofing
@ValzevulЗащищаем себя и пользователей
Repudiation
Какие бывают атаки?
8
Repudiation

(атаки отказа)
«Toll Fraud»
Внедрение
на стороне
клиента
Утерянный
девайс
Вредоносная
программа
@ValzevulЗащищаем себя и пользователей
Какие бывают атаки?
9
Spoofing

(атаки
подмены)
Социальная
инженерия
Вредоносный
QR-код
Неправильная
обработка
сессий
Непроверенные
NFC-теги
Слабая
система
авторизации
Вредоносное
приложение
@ValzevulЗащищаем себя и пользователей
Какие бывают атаки?
10
Tampering

(атаки
искажения)
Взлом
мобильной
сети
Незащищенная
Wi-Fi сеть
Изменение
локальных
данных
@ValzevulЗащищаем себя и пользователей
Какие бывают атаки?
11
Information
Disclosure

(атаки
раскрытия)
Взлом
бэкенда
Reverse
Engineering
приложения
Утерянный
девайс
Вредоносная
программа
@ValzevulЗащищаем себя и пользователей
Какие бывают атаки?
12
Denial of
Service (атаки
обслуживания)
Спам
уведомлениями
DDoS
Падение
приложения
Излишнее
использование
API
@ValzevulЗащищаем себя и пользователей
Какие бывают атаки?
13
Elevation
of Privilege

(атаки уровня
доступа)
Скомпромен-
тированные
credentials (1)
Изъяны в
аутентификации
Выход из
Sandbox
Jailbreak /
Rootkits
Слабая
система
авторизации
Скомпромен-
тированные
credentials (2)
@ValzevulЗащищаем себя и пользователей
Примеры атак
• Information Disclosure (1):
• Бэкапы в iTunes не шифруются по-умолчанию
• Вирус BackStab
• Information Disclosure (2):
• Никто не шифрует данные под PIN
• Elcomsoft iOS Forensic Toolkit
14
@ValzevulЗащищаем себя и пользователей
Примеры атак
• Information Disclosure (3):
• UIPasteboard (1Password, токены, URLы)
• Кэш
• Elevation of Privilege:
• Ad-hoc → можно использовать Private APIs
• Вирусы для EnPublic (CVE-2014-1276)
15
@ValzevulЗащищаем себя и пользователей
Elevation of Privilege
16
github.com/valzevul/ElevationOfPrivilegeHack
@ValzevulЗащищаем себя и пользователей
Как проверить
приложение?
• White-box vs. Black-box;
• Личные данные (PII, personal or identifying
information);
• Penetration-тесты («пентесты»).
17
@ValzevulЗащищаем себя и пользователей
PII
• Логины, пароли, геолокация, адрес, связь с
социальными сетями;
• Имя девайса, имя сети, UDID;
• Данные приложения, логи и cookies.
18
@ValzevulЗащищаем себя и пользователей
Пентесты
19
Взаимодействие
с сетью
Проблемы с
приватностью
Reverse
Engineering
URL Schema
(iOS Masque
Attack)
Анализ Runtime
@ValzevulЗащищаем себя и пользователей
Пентесты
• Окружение:
• iDevice
• Сеть
• Jailbreak
• Утилиты:
• BigBoss Recommended Tools
• OpenSSH
• Clutch
• Class-Dump
• Cycript
• Keychain dumper
• …
20
@ValzevulЗащищаем себя и пользователей
Как защитить приложение?
• TLS и Certificate Pinning
• Secure Networking by Apple
• TrustKit
• Шифрование
• Шифруйте всё (атрибуты NSData и NSFileManager)
• Используйте Keychain
• Не используйте Preferences, Cookies, /Library и /Documents
21
@ValzevulЗащищаем себя и пользователей
Как защитить приложение?
• Запретите синхронизацию
• NSURLIsExcludedFromBackupKey
• Очищайте «скриншоты»
• applicationDidEnterBackground → hidden
• Не пишите в NSLog
• Избегайте кэша клавиатуры
• secureTextEntry
• UITextAutocorrectionTypeNo
22
@ValzevulЗащищаем себя и пользователей
Как защитить приложение?
• Jailbreak-detection:
• Проверьте наличие файлов MobileSubstrate.dylib, ssh,
…
• Попробуйте открыть Cydia.app
• Проверьте вызов fork()
• Проверьте родителя через sysctl (если не запущен
или это ядро, вас дебажат!)
• Обфусцируйте код
23
@ValzevulЗащищаем себя и пользователей
Что дальше?
24
@ValzevulЗащищаем себя и пользователей
Что дальше?
• https://www.slideshare.net/eightbit/owasp-melbourne-introduction-
to-ios-application-penetration-testing
• https://www.slideshare.net/OWASP_Poland/introduction-to-ios-
penetration-testing
• Apple Pay: Inspect, Set Up, Promote (Vadim Drobinin, https://vk.cc/
6iPXEe)
• Usability vs. Security (Josiah Renaudin, https://vk.cc/6j2i75)
• Demystifying Apple 'Pie' & TouchID (Sebas Guerrero, https://vk.cc/
6iPY3f)
• iOS Headers, http://developer.limneos.net/
25
vadim@drobinin.com
Вопросы и
хейт-мейлы
@Valzevul
Узнавайте в
кальянных и на
конференциях
1 of 26

Recommended

Вадим Дробинин. Защищаем себя и пользователей: руководство по безопасности by
Вадим Дробинин. Защищаем себя и пользователей: руководство по безопасностиВадим Дробинин. Защищаем себя и пользователей: руководство по безопасности
Вадим Дробинин. Защищаем себя и пользователей: руководство по безопасностиAvitoTech
4K views26 slides
Самочувствие malware на iOS устройствах / Дмитрий Евдокимов (Didital Security) by
Самочувствие malware на iOS устройствах / Дмитрий Евдокимов (Didital Security)Самочувствие malware на iOS устройствах / Дмитрий Евдокимов (Didital Security)
Самочувствие malware на iOS устройствах / Дмитрий Евдокимов (Didital Security)Ontico
723 views24 slides
#MBLTdev: Безопасность iOS-устройств (viaForensics) by
#MBLTdev: Безопасность iOS-устройств (viaForensics)#MBLTdev: Безопасность iOS-устройств (viaForensics)
#MBLTdev: Безопасность iOS-устройств (viaForensics)e-Legion
1.5K views33 slides
Борьба с целенаправленными угрозами: взгляд Cisco by
Борьба с целенаправленными угрозами: взгляд Cisco Борьба с целенаправленными угрозами: взгляд Cisco
Борьба с целенаправленными угрозами: взгляд Cisco Cisco Russia
879 views12 slides
Cisco Talos. Эксперты по безопасности, которые защитят вас. by
Cisco Talos. Эксперты по безопасности, которые защитят вас.Cisco Talos. Эксперты по безопасности, которые защитят вас.
Cisco Talos. Эксперты по безопасности, которые защитят вас.Cisco Russia
236 views1 slide
Свой или чужой? by
Свой или чужой? Свой или чужой?
Свой или чужой? Positive Hack Days
1.6K views10 slides

More Related Content

What's hot

Лаборатория Касперского. Алексей Киселев. "Современные DDoS-атаки - в чем опа... by
Лаборатория Касперского. Алексей Киселев. "Современные DDoS-атаки - в чем опа...Лаборатория Касперского. Алексей Киселев. "Современные DDoS-атаки - в чем опа...
Лаборатория Касперского. Алексей Киселев. "Современные DDoS-атаки - в чем опа...Expolink
471 views14 slides
CWS_20082014_Дарья_Коваленко by
CWS_20082014_Дарья_КоваленкоCWS_20082014_Дарья_Коваленко
CWS_20082014_Дарья_КоваленкоDaria Kovalenko
428 views21 slides
Целенаправленные угрозы by
Целенаправленные угрозыЦеленаправленные угрозы
Целенаправленные угрозыAleksey Lukatskiy
3.1K views27 slides
Комплексные решения С-Терра для безопасности ИС. Тенденции и перспективы (31.... by
Комплексные решения С-Терра для безопасности ИС.Тенденции и перспективы (31....Комплексные решения С-Терра для безопасности ИС.Тенденции и перспективы (31....
Комплексные решения С-Терра для безопасности ИС. Тенденции и перспективы (31....S-Terra CSP
233 views19 slides
FireEye - защита от APT и Zero Day атак by
FireEye - защита от APT и Zero Day атакFireEye - защита от APT и Zero Day атак
FireEye - защита от APT и Zero Day атакArtem Tarashkevych
1.3K views14 slides
Доктор Веб. Дмитрий Иванов. "Как избавиться от шифровальщиков" by
Доктор Веб. Дмитрий Иванов. "Как избавиться от шифровальщиков"Доктор Веб. Дмитрий Иванов. "Как избавиться от шифровальщиков"
Доктор Веб. Дмитрий Иванов. "Как избавиться от шифровальщиков"Expolink
273 views40 slides

What's hot(9)

Лаборатория Касперского. Алексей Киселев. "Современные DDoS-атаки - в чем опа... by Expolink
Лаборатория Касперского. Алексей Киселев. "Современные DDoS-атаки - в чем опа...Лаборатория Касперского. Алексей Киселев. "Современные DDoS-атаки - в чем опа...
Лаборатория Касперского. Алексей Киселев. "Современные DDoS-атаки - в чем опа...
Expolink471 views
CWS_20082014_Дарья_Коваленко by Daria Kovalenko
CWS_20082014_Дарья_КоваленкоCWS_20082014_Дарья_Коваленко
CWS_20082014_Дарья_Коваленко
Daria Kovalenko428 views
Целенаправленные угрозы by Aleksey Lukatskiy
Целенаправленные угрозыЦеленаправленные угрозы
Целенаправленные угрозы
Aleksey Lukatskiy3.1K views
Комплексные решения С-Терра для безопасности ИС. Тенденции и перспективы (31.... by S-Terra CSP
Комплексные решения С-Терра для безопасности ИС.Тенденции и перспективы (31....Комплексные решения С-Терра для безопасности ИС.Тенденции и перспективы (31....
Комплексные решения С-Терра для безопасности ИС. Тенденции и перспективы (31....
S-Terra CSP233 views
FireEye - защита от APT и Zero Day атак by Artem Tarashkevych
FireEye - защита от APT и Zero Day атакFireEye - защита от APT и Zero Day атак
FireEye - защита от APT и Zero Day атак
Artem Tarashkevych1.3K views
Доктор Веб. Дмитрий Иванов. "Как избавиться от шифровальщиков" by Expolink
Доктор Веб. Дмитрий Иванов. "Как избавиться от шифровальщиков"Доктор Веб. Дмитрий Иванов. "Как избавиться от шифровальщиков"
Доктор Веб. Дмитрий Иванов. "Как избавиться от шифровальщиков"
Expolink273 views
Check Point. Сергей Чекрыгин. "На один шаг впереди" by Expolink
Check Point. Сергей Чекрыгин. "На один шаг впереди"Check Point. Сергей Чекрыгин. "На один шаг впереди"
Check Point. Сергей Чекрыгин. "На один шаг впереди"
Expolink188 views
Защита удалённого доступа к внутренним ресурсам компании by Alexey Komarov
Защита удалённого доступа к внутренним ресурсам компанииЗащита удалённого доступа к внутренним ресурсам компании
Защита удалённого доступа к внутренним ресурсам компании
Alexey Komarov792 views
Взгляд Cisco на борьбу с целенаправленными угроами by Cisco Russia
Взгляд Cisco на борьбу с целенаправленными угроамиВзгляд Cisco на борьбу с целенаправленными угроами
Взгляд Cisco на борьбу с целенаправленными угроами
Cisco Russia 481 views

Viewers also liked

Фриланс и мобильные приложения (Вадим Дробинин) by
Фриланс и мобильные приложения (Вадим Дробинин)Фриланс и мобильные приложения (Вадим Дробинин)
Фриланс и мобильные приложения (Вадим Дробинин)Vadim Drobinin
3.2K views31 slides
Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P... by
Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...
Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...AvitoTech
3.8K views14 slides
Андрей Юткин. Media Picker — to infinity and beyond by
Андрей Юткин. Media Picker — to infinity and beyondАндрей Юткин. Media Picker — to infinity and beyond
Андрей Юткин. Media Picker — to infinity and beyondAvitoTech
3.9K views110 slides
Александр Зимин, Onboarding в мобильном приложении: первое впечатление — всё,... by
Александр Зимин, Onboarding в мобильном приложении: первое впечатление — всё,...Александр Зимин, Onboarding в мобильном приложении: первое впечатление — всё,...
Александр Зимин, Onboarding в мобильном приложении: первое впечатление — всё,...Mail.ru Group
4.2K views35 slides
Вадим Дробинин, Фриланс в сфере мобильных приложений: с чего начинать by
Вадим Дробинин, Фриланс в сфере мобильных приложений: с чего начинатьВадим Дробинин, Фриланс в сфере мобильных приложений: с чего начинать
Вадим Дробинин, Фриланс в сфере мобильных приложений: с чего начинатьMail.ru Group
5.1K views31 slides
The Dangers of Cucumber by
The Dangers of CucumberThe Dangers of Cucumber
The Dangers of CucumberÞorgeir Ingvarsson
39.4K views13 slides

Viewers also liked(7)

Фриланс и мобильные приложения (Вадим Дробинин) by Vadim Drobinin
Фриланс и мобильные приложения (Вадим Дробинин)Фриланс и мобильные приложения (Вадим Дробинин)
Фриланс и мобильные приложения (Вадим Дробинин)
Vadim Drobinin3.2K views
Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P... by AvitoTech
Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...
Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...
AvitoTech3.8K views
Андрей Юткин. Media Picker — to infinity and beyond by AvitoTech
Андрей Юткин. Media Picker — to infinity and beyondАндрей Юткин. Media Picker — to infinity and beyond
Андрей Юткин. Media Picker — to infinity and beyond
AvitoTech3.9K views
Александр Зимин, Onboarding в мобильном приложении: первое впечатление — всё,... by Mail.ru Group
Александр Зимин, Onboarding в мобильном приложении: первое впечатление — всё,...Александр Зимин, Onboarding в мобильном приложении: первое впечатление — всё,...
Александр Зимин, Onboarding в мобильном приложении: первое впечатление — всё,...
Mail.ru Group4.2K views
Вадим Дробинин, Фриланс в сфере мобильных приложений: с чего начинать by Mail.ru Group
Вадим Дробинин, Фриланс в сфере мобильных приложений: с чего начинатьВадим Дробинин, Фриланс в сфере мобильных приложений: с чего начинать
Вадим Дробинин, Фриланс в сфере мобильных приложений: с чего начинать
Mail.ru Group5.1K views

Similar to Защищаем себя и пользователей — Вадим Дробинин (iOS Security Guide by Vadim Drobinin)

Безопасные связи, Дмитрий Евдокимов by
Безопасные связи, Дмитрий ЕвдокимовБезопасные связи, Дмитрий Евдокимов
Безопасные связи, Дмитрий ЕвдокимовYandex
745 views31 slides
Тенденции киберугроз. Что необходимо знать? by
Тенденции киберугроз. Что необходимо знать?Тенденции киберугроз. Что необходимо знать?
Тенденции киберугроз. Что необходимо знать?Aleksey Lukatskiy
680 views29 slides
Cisco TALOS – интеллектуальная платформа для анализа угроз by
Cisco TALOS – интеллектуальная платформа для анализа угрозCisco TALOS – интеллектуальная платформа для анализа угроз
Cisco TALOS – интеллектуальная платформа для анализа угрозCisco Russia
2K views78 slides
Доктор Веб. Вячслав Медведев: "Антивирусная безопасность. Типичные ошибки" by
Доктор Веб. Вячслав Медведев: "Антивирусная безопасность. Типичные ошибки"Доктор Веб. Вячслав Медведев: "Антивирусная безопасность. Типичные ошибки"
Доктор Веб. Вячслав Медведев: "Антивирусная безопасность. Типичные ошибки"Expolink
372 views24 slides
Информационная безопасность и web-приложения by
Информационная безопасность и web-приложенияИнформационная безопасность и web-приложения
Информационная безопасность и web-приложенияMaxim Krentovskiy
1.8K views45 slides
Безопасность каждого шага Вашего мобильного бизнеса by
Безопасность каждого шага Вашего мобильного бизнесаБезопасность каждого шага Вашего мобильного бизнеса
Безопасность каждого шага Вашего мобильного бизнесаКРОК
349 views15 slides

Similar to Защищаем себя и пользователей — Вадим Дробинин (iOS Security Guide by Vadim Drobinin)(20)

Безопасные связи, Дмитрий Евдокимов by Yandex
Безопасные связи, Дмитрий ЕвдокимовБезопасные связи, Дмитрий Евдокимов
Безопасные связи, Дмитрий Евдокимов
Yandex745 views
Тенденции киберугроз. Что необходимо знать? by Aleksey Lukatskiy
Тенденции киберугроз. Что необходимо знать?Тенденции киберугроз. Что необходимо знать?
Тенденции киберугроз. Что необходимо знать?
Aleksey Lukatskiy680 views
Cisco TALOS – интеллектуальная платформа для анализа угроз by Cisco Russia
Cisco TALOS – интеллектуальная платформа для анализа угрозCisco TALOS – интеллектуальная платформа для анализа угроз
Cisco TALOS – интеллектуальная платформа для анализа угроз
Cisco Russia 2K views
Доктор Веб. Вячслав Медведев: "Антивирусная безопасность. Типичные ошибки" by Expolink
Доктор Веб. Вячслав Медведев: "Антивирусная безопасность. Типичные ошибки"Доктор Веб. Вячслав Медведев: "Антивирусная безопасность. Типичные ошибки"
Доктор Веб. Вячслав Медведев: "Антивирусная безопасность. Типичные ошибки"
Expolink372 views
Информационная безопасность и web-приложения by Maxim Krentovskiy
Информационная безопасность и web-приложенияИнформационная безопасность и web-приложения
Информационная безопасность и web-приложения
Maxim Krentovskiy1.8K views
Безопасность каждого шага Вашего мобильного бизнеса by КРОК
Безопасность каждого шага Вашего мобильного бизнесаБезопасность каждого шага Вашего мобильного бизнеса
Безопасность каждого шага Вашего мобильного бизнеса
КРОК349 views
Cisco AMP: платформа для борьбы с вредоносным кодом by Cisco Russia
Cisco AMP: платформа для борьбы с вредоносным кодомCisco AMP: платформа для борьбы с вредоносным кодом
Cisco AMP: платформа для борьбы с вредоносным кодом
Cisco Russia 1.3K views
Экспресс-анализ российского рынка ИБ в условиях курса на импортозамещение by Aleksey Lukatskiy
Экспресс-анализ российского рынка ИБ в условиях курса на импортозамещениеЭкспресс-анализ российского рынка ИБ в условиях курса на импортозамещение
Экспресс-анализ российского рынка ИБ в условиях курса на импортозамещение
Aleksey Lukatskiy9.5K views
Как создать в России свою систему Threat intelligence? by Aleksey Lukatskiy
Как создать в России свою систему Threat intelligence?Как создать в России свою систему Threat intelligence?
Как создать в России свою систему Threat intelligence?
Aleksey Lukatskiy8.3K views
От разрозненных фидов к целостной программе Threat intelligence by Aleksey Lukatskiy
От разрозненных фидов к целостной программе Threat intelligenceОт разрозненных фидов к целостной программе Threat intelligence
От разрозненных фидов к целостной программе Threat intelligence
Aleksey Lukatskiy1.8K views
ВЕБИНАР: Риски утечки конфиденциальных данных клиентов. Какие мы ошибки допу... by sharbachou
 ВЕБИНАР: Риски утечки конфиденциальных данных клиентов. Какие мы ошибки допу... ВЕБИНАР: Риски утечки конфиденциальных данных клиентов. Какие мы ошибки допу...
ВЕБИНАР: Риски утечки конфиденциальных данных клиентов. Какие мы ошибки допу...
sharbachou108 views
Юрий Леонычев «Безопасность мобильных приложений для Android. Теория и практика» by Yandex
Юрий Леонычев «Безопасность мобильных приложений для Android. Теория и практика»Юрий Леонычев «Безопасность мобильных приложений для Android. Теория и практика»
Юрий Леонычев «Безопасность мобильных приложений для Android. Теория и практика»
Yandex1.8K views
Доктор Веб - Почему в информационной безопасности ничего не меняется? by Expolink
Доктор Веб - Почему в информационной безопасности ничего не меняется?Доктор Веб - Почему в информационной безопасности ничего не меняется?
Доктор Веб - Почему в информационной безопасности ничего не меняется?
Expolink381 views
Доктор Веб - Почему при наличии антивируса компании несут убытки от вирусных ... by Expolink
Доктор Веб - Почему при наличии антивируса компании несут убытки от вирусных ...Доктор Веб - Почему при наличии антивируса компании несут убытки от вирусных ...
Доктор Веб - Почему при наличии антивируса компании несут убытки от вирусных ...
Expolink585 views
Доктор Веб - Почему при наличии антивируса компании несут убытки от вирусных ... by Expolink
Доктор Веб - Почему при наличии антивируса компании несут убытки от вирусных ...Доктор Веб - Почему при наличии антивируса компании несут убытки от вирусных ...
Доктор Веб - Почему при наличии антивируса компании несут убытки от вирусных ...
Expolink410 views
Обеспечение безопасности активов современного бизнеса с помощью криптографии by BAKOTECH
Обеспечение безопасности активов современного бизнеса с помощью криптографии Обеспечение безопасности активов современного бизнеса с помощью криптографии
Обеспечение безопасности активов современного бизнеса с помощью криптографии
BAKOTECH668 views
Защита данных безнеса с помощью шифрования by Vladyslav Radetsky
Защита данных безнеса с помощью шифрованияЗащита данных безнеса с помощью шифрования
Защита данных безнеса с помощью шифрования
Vladyslav Radetsky4.2K views

Защищаем себя и пользователей — Вадим Дробинин (iOS Security Guide by Vadim Drobinin)

  • 1. @Valzevul Вадим Дробинин Защищаем себя и пользователей (руководство по безопасности для iOS)
  • 2. @ValzevulЗащищаем себя и пользователей В двух словах • Что мы будем защищать? • Какие бывают атаки? • Примеры атак • Как проверить приложение? • Способы защиты • Что дальше? 2
  • 3. @Valzevul Мобильные устройства — основной источник личных данных пользователей и мы не умеем их защищать
  • 4. @ValzevulЗащищаем себя и пользователей Что мы будем защищать? 4 Стэк мобильной безопасности Уровень инфраструктуры • CDMA, GSM • GPS • SMS, MMS Уровень «железа» • Устройство • Прошивка Уровень ОС • Версия OS • Root-доступ Уровень приложений • ???
  • 5. @ValzevulЗащищаем себя и пользователей Уровень приложений Transport Layer Security • NSURLConnection и NSURLSession требуют ATS • ATS требует TLS 1.2 и сертификаты • Приложения должны соответствовать * 5 Защита данных • Всё шифруется с помощью уникального ключа в 256 бит • Ключи «оборачиваются» в ключи классов • Класс = политика безопасности
  • 6. @ValzevulЗащищаем себя и пользователей Уровень приложений Transport Layer Security 6 Защита данных С iOS9 сложно налажать в зашифрованной передаче данных Почти все файлы надежно зашифрованы на диске
  • 7. @ValzevulЗащищаем себя и пользователей Какие бывают атаки? 7 TamperingRepudiation Information Disclosure Denial of Service Elevation of Privilege Spoofing
  • 8. @ValzevulЗащищаем себя и пользователей Repudiation Какие бывают атаки? 8 Repudiation
 (атаки отказа) «Toll Fraud» Внедрение на стороне клиента Утерянный девайс Вредоносная программа
  • 9. @ValzevulЗащищаем себя и пользователей Какие бывают атаки? 9 Spoofing
 (атаки подмены) Социальная инженерия Вредоносный QR-код Неправильная обработка сессий Непроверенные NFC-теги Слабая система авторизации Вредоносное приложение
  • 10. @ValzevulЗащищаем себя и пользователей Какие бывают атаки? 10 Tampering
 (атаки искажения) Взлом мобильной сети Незащищенная Wi-Fi сеть Изменение локальных данных
  • 11. @ValzevulЗащищаем себя и пользователей Какие бывают атаки? 11 Information Disclosure
 (атаки раскрытия) Взлом бэкенда Reverse Engineering приложения Утерянный девайс Вредоносная программа
  • 12. @ValzevulЗащищаем себя и пользователей Какие бывают атаки? 12 Denial of Service (атаки обслуживания) Спам уведомлениями DDoS Падение приложения Излишнее использование API
  • 13. @ValzevulЗащищаем себя и пользователей Какие бывают атаки? 13 Elevation of Privilege
 (атаки уровня доступа) Скомпромен- тированные credentials (1) Изъяны в аутентификации Выход из Sandbox Jailbreak / Rootkits Слабая система авторизации Скомпромен- тированные credentials (2)
  • 14. @ValzevulЗащищаем себя и пользователей Примеры атак • Information Disclosure (1): • Бэкапы в iTunes не шифруются по-умолчанию • Вирус BackStab • Information Disclosure (2): • Никто не шифрует данные под PIN • Elcomsoft iOS Forensic Toolkit 14
  • 15. @ValzevulЗащищаем себя и пользователей Примеры атак • Information Disclosure (3): • UIPasteboard (1Password, токены, URLы) • Кэш • Elevation of Privilege: • Ad-hoc → можно использовать Private APIs • Вирусы для EnPublic (CVE-2014-1276) 15
  • 16. @ValzevulЗащищаем себя и пользователей Elevation of Privilege 16 github.com/valzevul/ElevationOfPrivilegeHack
  • 17. @ValzevulЗащищаем себя и пользователей Как проверить приложение? • White-box vs. Black-box; • Личные данные (PII, personal or identifying information); • Penetration-тесты («пентесты»). 17
  • 18. @ValzevulЗащищаем себя и пользователей PII • Логины, пароли, геолокация, адрес, связь с социальными сетями; • Имя девайса, имя сети, UDID; • Данные приложения, логи и cookies. 18
  • 19. @ValzevulЗащищаем себя и пользователей Пентесты 19 Взаимодействие с сетью Проблемы с приватностью Reverse Engineering URL Schema (iOS Masque Attack) Анализ Runtime
  • 20. @ValzevulЗащищаем себя и пользователей Пентесты • Окружение: • iDevice • Сеть • Jailbreak • Утилиты: • BigBoss Recommended Tools • OpenSSH • Clutch • Class-Dump • Cycript • Keychain dumper • … 20
  • 21. @ValzevulЗащищаем себя и пользователей Как защитить приложение? • TLS и Certificate Pinning • Secure Networking by Apple • TrustKit • Шифрование • Шифруйте всё (атрибуты NSData и NSFileManager) • Используйте Keychain • Не используйте Preferences, Cookies, /Library и /Documents 21
  • 22. @ValzevulЗащищаем себя и пользователей Как защитить приложение? • Запретите синхронизацию • NSURLIsExcludedFromBackupKey • Очищайте «скриншоты» • applicationDidEnterBackground → hidden • Не пишите в NSLog • Избегайте кэша клавиатуры • secureTextEntry • UITextAutocorrectionTypeNo 22
  • 23. @ValzevulЗащищаем себя и пользователей Как защитить приложение? • Jailbreak-detection: • Проверьте наличие файлов MobileSubstrate.dylib, ssh, … • Попробуйте открыть Cydia.app • Проверьте вызов fork() • Проверьте родителя через sysctl (если не запущен или это ядро, вас дебажат!) • Обфусцируйте код 23
  • 24. @ValzevulЗащищаем себя и пользователей Что дальше? 24
  • 25. @ValzevulЗащищаем себя и пользователей Что дальше? • https://www.slideshare.net/eightbit/owasp-melbourne-introduction- to-ios-application-penetration-testing • https://www.slideshare.net/OWASP_Poland/introduction-to-ios- penetration-testing • Apple Pay: Inspect, Set Up, Promote (Vadim Drobinin, https://vk.cc/ 6iPXEe) • Usability vs. Security (Josiah Renaudin, https://vk.cc/6j2i75) • Demystifying Apple 'Pie' & TouchID (Sebas Guerrero, https://vk.cc/ 6iPY3f) • iOS Headers, http://developer.limneos.net/ 25