SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
ТИПИЧНЫЕ ПРОБЛЕМЫ 
БЕЗОПАСНОСТИ В 
ПРИЛОЖЕНИЯХ ДЛЯ IOS 
Андрей Беленко 
viaForensics
Интернет
ПРИЛОЖЕНИЕ 
What can go wrong?
ПРИЛОЖЕНИЕ 
• Небезопасное хранение данных 
• Утечки данных 
• “Неправильная” криптография 
• Слабая защита исполняемых файлов 
• Многое другое. См. OWASP Mobile Top 10
ДАННЫЕ ПРИЛОЖЕНИЯ 
• Приложение выполняется в песочнице 
• Приложения не имеют доступа к 
“чужим” песочницам 
Это не означает что данные 
недоступны извне
ДАННЫЕ ПРИЛОЖЕНИЯ 
• File Sharing (через iTunes или Xcode) 
• iTunes Backup (включая Keychain!) 
• iCloud 
• com.apple.mobile.house_arrest 
• Джейлбрейк
Доступ к песочнице приложения с помощью iExplorer
Данные учетной записи хранятся в NSUserDefaults
УЧЕТНЫЕ ЗАПИСИ 
• Никогда не храните в NSUserDefaults или 
CoreData 
• Используйте Keychain 
• Используйте наиболее строгий класс защиты 
при котором приложение еще работает
КОНФИДЕНЦИАЛЬНЫЕ 
ДАННЫЕ 
• Избегайте использования NSUserDefaults и 
CoreData 
• Используйте Data Protection 
• Используйте наиболее строгий класс защиты при 
котором приложение еще работает 
• Используя NSUserDefaults или CoreData 
обеспечьте дополнительную защиту
КЛАССЫ ЗАЩИТЫ 
Файл 
NSFileProtection… 
Keychain 
kSecAttrAccessible… 
None Always(ThisDeviceOnly) 
Complete WhenUnlocked(ThisDeviceOnly) 
CompleteUnlessOpen 
CompleteUntilFirstUserAuthentication AfterFirstUnlock(ThisDeviceOnly)
УТЕЧКИ ДАННЫХ 
• Логи 
• Удалите (или #ifdef) вывод логов в Release 
конфигурации 
• Cookies и кэши 
• См. NSURLCache, NSHTTPCookieStorage 
• Указывайте политики при создании запросов 
• Скриншоты 
• applicationDidEnterBackground:
КРИПТОГРАФИЯ 
• Не используйте статические ключи 
• Не реализуйте криптографию самостоятельно 
• Не придумывайте собственные алгоритмы или 
протоколы 
• Если нестандартная криптография необходима 
– найдите профессионала
ИСПОЛНЯЕМЫЕ ФАЙЛЫ 
• Борьба с эксплоитами 
• -fstack-protector(-strong, -all) 
• ASLR 
• DRM, интеллектуальная собственность 
• Обфускация
ОБФУСКАЦИЯ?
ОБФУСКАЦИЯ 
• Strip; минимум строк в исполняемом 
файле 
• C++ вместо Objective-C 
• Static linking 
• https://github.com/obfuscator-llvm 
• http://tigress.cs.arizona.edu 
Делайте это только если Вы понимаете что делаете и если это Вам 
действительно нужно!
Интернет
ИНТЕРНЕТ 
• Никогда не используйте незащищенные 
протоколы (такие как HTTP) 
• Используйте их защищенный вариант 
(HTTPS) 
• Используйте их правильно (да, это сложная 
часть)
КАК УСТРОЕН SSL? 
Соединение 
Сертификат 
ОК? 
Продолжить сессию 
да 
нет: завершить сессию 
N.B.: на самом деле SSL намного более сложный протокол
СЕРТИФИКАТЫ 
• Проверка сертификата чрезвычайно 
важна 
• Не используйте самоподписанные 
сертификаты в production 
• Если возможно, используйте фиксацию 
(“pinning”) сертификатов
ПРОВЕРКА СЕРТИФИКАТА 
да нет 
Доверять Не доверять 
БД доверенных 
ЦС 
iOS 8: ~ 250 ЦС 
Сертификат подписан 
одним из доверенных 
центров сертификации?
ПРОВЕРКА СЕРТИФИКАТА 
• Любой, кто может подписывать сертификаты 
одним из доверенных ЦС может 
организовать MITM 
• Это не уязвимость протокола; просто PKI так 
устроено 
• Вероятно, именно это произошло с 
iCloud.com в Китае на прошлой неделе
ФИКСАЦИЯ СЕРТИФИКАТА 
Приложение ожидает 
именно этот сертификат? 
да нет 
Доверять Не доверять
ФИКСАЦИЯ СЕРТИФИКАТА 
• Удостоверяет что приложение общается 
с владельцем Вашего закрытого ключа: 
• или с Вами… 
• …или с кем-то кто серьезно “взломал” 
Ваш бэкэнд 
• Подменяет хранилище корневых ЦС
НО ЭТО НЕ ВСЕ…
SSL СЛОМАН 
Ему уже ~18 лет и ему пора на покой 
TLS заменяет собой SSL
ИНТЕРНЕТ 
• Запретите использование SSL в приложениях и на 
серверах 
• Используйте TLS (желательно 1.2) с шифрами AEAD 
• Фиксируйте или хотя бы полноценно проверяйте 
сертификаты 
• Убедитесь что все “обходы” проверок сертификата 
отключены/удалены в Release коде
Интернет
СЕРВЕР 
• Сохраняйте площадь атаки минимальной 
• Не раскрывайте test/qa/dev/debug интерфейсы 
• Не доверяйте данным, получаемым от 
клиентов 
• Обеспечьте защиту передачи данных: 
• TLS (1.2) со стойкими AEAD-шифрами
Q & A
СПАСИБО! 
abelenko@viaforensics.com 
@abelenko

Weitere ähnliche Inhalte

Was ist angesagt?

Credential stuffing и брутфорс-атаки
Credential stuffing и брутфорс-атакиCredential stuffing и брутфорс-атаки
Credential stuffing и брутфорс-атакиPositive Hack Days
 
Опыт организации тестирования безопасности Web приложений в компании
Опыт организации тестирования безопасности Web приложений в компанииОпыт организации тестирования безопасности Web приложений в компании
Опыт организации тестирования безопасности Web приложений в компанииSQALab
 
Кибербезопасность промышленного Интернета вещей
Кибербезопасность промышленного Интернета вещейКибербезопасность промышленного Интернета вещей
Кибербезопасность промышленного Интернета вещейAleksey Lukatskiy
 
Нагрузочное тестирование по-живому
Нагрузочное тестирование по-живомуНагрузочное тестирование по-живому
Нагрузочное тестирование по-живомуAnton Stepanenko
 
Palo Alto Traps - тестирование на реальных семплах
Palo Alto Traps - тестирование на реальных семплахPalo Alto Traps - тестирование на реальных семплах
Palo Alto Traps - тестирование на реальных семплахVladyslav Radetsky
 
Fuzzing - автоматическое тестирование безопасности
Fuzzing - автоматическое тестирование безопасностиFuzzing - автоматическое тестирование безопасности
Fuzzing - автоматическое тестирование безопасностиSQALab
 
Юзабилити в информационной безопасности
Юзабилити в информационной безопасностиЮзабилити в информационной безопасности
Юзабилити в информационной безопасностиTimur Sultanov
 
McAfee Иммунная система [ATD + TIE]
McAfee Иммунная система [ATD + TIE]McAfee Иммунная система [ATD + TIE]
McAfee Иммунная система [ATD + TIE]Vladyslav Radetsky
 
Check Point. Сергей Чекрыгин. "На один шаг впереди"
Check Point. Сергей Чекрыгин. "На один шаг впереди"Check Point. Сергей Чекрыгин. "На один шаг впереди"
Check Point. Сергей Чекрыгин. "На один шаг впереди"Expolink
 
Check Point. Сергей Чекрыгин. "На один шаг впереди"
Check Point. Сергей Чекрыгин. "На один шаг впереди"Check Point. Сергей Чекрыгин. "На один шаг впереди"
Check Point. Сергей Чекрыгин. "На один шаг впереди"Expolink
 
Подход QIWI к проведению тестирования на проникновение
Подход QIWI к проведению тестирования на проникновениеПодход QIWI к проведению тестирования на проникновение
Подход QIWI к проведению тестирования на проникновениеKirill Ermakov
 
Взгляд Cisco на борьбу с целенаправленными угроами
Взгляд Cisco на борьбу с целенаправленными угроамиВзгляд Cisco на борьбу с целенаправленными угроами
Взгляд Cisco на борьбу с целенаправленными угроамиCisco Russia
 
McAfee Endpoint Protection 2014
McAfee Endpoint Protection 2014McAfee Endpoint Protection 2014
McAfee Endpoint Protection 2014Vladyslav Radetsky
 
Предисловие. Готовь сани летом: сложные угрозы, APT и целевые атаки – реальн...
Предисловие. Готовь сани летом: сложные угрозы, APT и целевые атаки – реальн...Предисловие. Готовь сани летом: сложные угрозы, APT и целевые атаки – реальн...
Предисловие. Готовь сани летом: сложные угрозы, APT и целевые атаки – реальн...Denis Bezkorovayny
 
Intel Security Endpoint Protection 2015
Intel Security Endpoint Protection 2015Intel Security Endpoint Protection 2015
Intel Security Endpoint Protection 2015Vladyslav Radetsky
 
Защита данных безнеса с помощью шифрования
Защита данных безнеса с помощью шифрованияЗащита данных безнеса с помощью шифрования
Защита данных безнеса с помощью шифрованияVladyslav Radetsky
 
SECON'2017, Щеглова Нина, Как мы делаем это: тестирование в ecommerce междуна...
SECON'2017, Щеглова Нина, Как мы делаем это: тестирование в ecommerce междуна...SECON'2017, Щеглова Нина, Как мы делаем это: тестирование в ecommerce междуна...
SECON'2017, Щеглова Нина, Как мы делаем это: тестирование в ecommerce междуна...SECON
 
Аутсорсинг и безопасность ЦОД в контексте переноса ПДн в РФ
Аутсорсинг и безопасность ЦОД в контексте переноса ПДн в РФ Аутсорсинг и безопасность ЦОД в контексте переноса ПДн в РФ
Аутсорсинг и безопасность ЦОД в контексте переноса ПДн в РФ КРОК
 

Was ist angesagt? (20)

Credential stuffing и брутфорс-атаки
Credential stuffing и брутфорс-атакиCredential stuffing и брутфорс-атаки
Credential stuffing и брутфорс-атаки
 
Опыт организации тестирования безопасности Web приложений в компании
Опыт организации тестирования безопасности Web приложений в компанииОпыт организации тестирования безопасности Web приложений в компании
Опыт организации тестирования безопасности Web приложений в компании
 
McAfee Data Protection 2014
McAfee Data Protection 2014McAfee Data Protection 2014
McAfee Data Protection 2014
 
Кибербезопасность промышленного Интернета вещей
Кибербезопасность промышленного Интернета вещейКибербезопасность промышленного Интернета вещей
Кибербезопасность промышленного Интернета вещей
 
Нагрузочное тестирование по-живому
Нагрузочное тестирование по-живомуНагрузочное тестирование по-живому
Нагрузочное тестирование по-живому
 
Palo Alto Traps - тестирование на реальных семплах
Palo Alto Traps - тестирование на реальных семплахPalo Alto Traps - тестирование на реальных семплах
Palo Alto Traps - тестирование на реальных семплах
 
Fuzzing - автоматическое тестирование безопасности
Fuzzing - автоматическое тестирование безопасностиFuzzing - автоматическое тестирование безопасности
Fuzzing - автоматическое тестирование безопасности
 
Юзабилити в информационной безопасности
Юзабилити в информационной безопасностиЮзабилити в информационной безопасности
Юзабилити в информационной безопасности
 
McAfee Иммунная система [ATD + TIE]
McAfee Иммунная система [ATD + TIE]McAfee Иммунная система [ATD + TIE]
McAfee Иммунная система [ATD + TIE]
 
Check Point. Сергей Чекрыгин. "На один шаг впереди"
Check Point. Сергей Чекрыгин. "На один шаг впереди"Check Point. Сергей Чекрыгин. "На один шаг впереди"
Check Point. Сергей Чекрыгин. "На один шаг впереди"
 
Check Point. Сергей Чекрыгин. "На один шаг впереди"
Check Point. Сергей Чекрыгин. "На один шаг впереди"Check Point. Сергей Чекрыгин. "На один шаг впереди"
Check Point. Сергей Чекрыгин. "На один шаг впереди"
 
Подход QIWI к проведению тестирования на проникновение
Подход QIWI к проведению тестирования на проникновениеПодход QIWI к проведению тестирования на проникновение
Подход QIWI к проведению тестирования на проникновение
 
Взгляд Cisco на борьбу с целенаправленными угроами
Взгляд Cisco на борьбу с целенаправленными угроамиВзгляд Cisco на борьбу с целенаправленными угроами
Взгляд Cisco на борьбу с целенаправленными угроами
 
McAfee Endpoint Protection 2014
McAfee Endpoint Protection 2014McAfee Endpoint Protection 2014
McAfee Endpoint Protection 2014
 
Предисловие. Готовь сани летом: сложные угрозы, APT и целевые атаки – реальн...
Предисловие. Готовь сани летом: сложные угрозы, APT и целевые атаки – реальн...Предисловие. Готовь сани летом: сложные угрозы, APT и целевые атаки – реальн...
Предисловие. Готовь сани летом: сложные угрозы, APT и целевые атаки – реальн...
 
Кибербезопасность АСУ ТП
Кибербезопасность АСУ ТПКибербезопасность АСУ ТП
Кибербезопасность АСУ ТП
 
Intel Security Endpoint Protection 2015
Intel Security Endpoint Protection 2015Intel Security Endpoint Protection 2015
Intel Security Endpoint Protection 2015
 
Защита данных безнеса с помощью шифрования
Защита данных безнеса с помощью шифрованияЗащита данных безнеса с помощью шифрования
Защита данных безнеса с помощью шифрования
 
SECON'2017, Щеглова Нина, Как мы делаем это: тестирование в ecommerce междуна...
SECON'2017, Щеглова Нина, Как мы делаем это: тестирование в ecommerce междуна...SECON'2017, Щеглова Нина, Как мы делаем это: тестирование в ecommerce междуна...
SECON'2017, Щеглова Нина, Как мы делаем это: тестирование в ecommerce междуна...
 
Аутсорсинг и безопасность ЦОД в контексте переноса ПДн в РФ
Аутсорсинг и безопасность ЦОД в контексте переноса ПДн в РФ Аутсорсинг и безопасность ЦОД в контексте переноса ПДн в РФ
Аутсорсинг и безопасность ЦОД в контексте переноса ПДн в РФ
 

Ähnlich wie #MBLTdev: Безопасность iOS-устройств (viaForensics)

Безопасные связи, Дмитрий Евдокимов
Безопасные связи, Дмитрий ЕвдокимовБезопасные связи, Дмитрий Евдокимов
Безопасные связи, Дмитрий ЕвдокимовYandex
 
Информационная безопасность и web-приложения
Информационная безопасность и web-приложенияИнформационная безопасность и web-приложения
Информационная безопасность и web-приложенияMaxim Krentovskiy
 
MID_McAfee_DLP_Vlad_Radetskiy_RU
MID_McAfee_DLP_Vlad_Radetskiy_RUMID_McAfee_DLP_Vlad_Radetskiy_RU
MID_McAfee_DLP_Vlad_Radetskiy_RUVladyslav Radetsky
 
#MBLTdev: Знакомство с codesign (e-Legion)
#MBLTdev: Знакомство с codesign (e-Legion)#MBLTdev: Знакомство с codesign (e-Legion)
#MBLTdev: Знакомство с codesign (e-Legion)e-Legion
 
Петр Хенкин. Уязвимости реализаций криптографических приложений для платформы...
Петр Хенкин. Уязвимости реализаций криптографических приложений для платформы...Петр Хенкин. Уязвимости реализаций криптографических приложений для платформы...
Петр Хенкин. Уязвимости реализаций криптографических приложений для платформы...Positive Hack Days
 
2013 05-23 android&crypto
2013 05-23 android&crypto2013 05-23 android&crypto
2013 05-23 android&cryptoPeter Khenkin
 
ВЕБИНАР: Риски утечки конфиденциальных данных клиентов. Какие мы ошибки допу...
 ВЕБИНАР: Риски утечки конфиденциальных данных клиентов. Какие мы ошибки допу... ВЕБИНАР: Риски утечки конфиденциальных данных клиентов. Какие мы ошибки допу...
ВЕБИНАР: Риски утечки конфиденциальных данных клиентов. Какие мы ошибки допу...sharbachou
 
Сергей Вахонин (Смарт Лайн Инк) "Эффективная защита от утечек данных"
Сергей Вахонин (Смарт Лайн Инк) "Эффективная защита от утечек данных"Сергей Вахонин (Смарт Лайн Инк) "Эффективная защита от утечек данных"
Сергей Вахонин (Смарт Лайн Инк) "Эффективная защита от утечек данных"Expolink
 
Device lock (code-ib пермь)
 Device lock (code-ib пермь) Device lock (code-ib пермь)
Device lock (code-ib пермь)Expolink
 
Как компания Cisco защищает сама себя
Как компания Cisco защищает сама себяКак компания Cisco защищает сама себя
Как компания Cisco защищает сама себяCisco Russia
 
Обеспечение безопасности активов современного бизнеса с помощью криптографии
Обеспечение безопасности активов современного бизнеса с помощью криптографии Обеспечение безопасности активов современного бизнеса с помощью криптографии
Обеспечение безопасности активов современного бизнеса с помощью криптографии BAKOTECH
 
Безопасность мобильных устройств
Безопасность мобильных устройствБезопасность мобильных устройств
Безопасность мобильных устройствSergey Soldatov
 
Device lock 7 2013 code ib нн
Device lock 7 2013 code ib ннDevice lock 7 2013 code ib нн
Device lock 7 2013 code ib ннExpolink
 
(Pdf) yury chemerkin info_securityrussia_2011
(Pdf) yury chemerkin info_securityrussia_2011(Pdf) yury chemerkin info_securityrussia_2011
(Pdf) yury chemerkin info_securityrussia_2011STO STRATEGY
 
Популярні способи зломів та шахрайські схеми
Популярні способи зломів та шахрайські схемиПопулярні способи зломів та шахрайські схеми
Популярні способи зломів та шахрайські схемиAvivi Academy
 
Безопасность в Интернете: основные инструменты
Безопасность в Интернете: основные инструментыБезопасность в Интернете: основные инструменты
Безопасность в Интернете: основные инструментыOleg Kozlovsky
 
Построение защищенного Интернет-периметра
Построение защищенного Интернет-периметраПостроение защищенного Интернет-периметра
Построение защищенного Интернет-периметраCisco Russia
 
Практические особенности внедрения систем класса DLP
Практические особенности внедрения систем класса DLPПрактические особенности внедрения систем класса DLP
Практические особенности внедрения систем класса DLPDialogueScience
 
Евгений Кутя - Информационная безопасность
Евгений Кутя - Информационная безопасностьЕвгений Кутя - Информационная безопасность
Евгений Кутя - Информационная безопасностьGAiN@ESD
 

Ähnlich wie #MBLTdev: Безопасность iOS-устройств (viaForensics) (20)

Безопасные связи, Дмитрий Евдокимов
Безопасные связи, Дмитрий ЕвдокимовБезопасные связи, Дмитрий Евдокимов
Безопасные связи, Дмитрий Евдокимов
 
Информационная безопасность и web-приложения
Информационная безопасность и web-приложенияИнформационная безопасность и web-приложения
Информационная безопасность и web-приложения
 
MID_McAfee_DLP_Vlad_Radetskiy_RU
MID_McAfee_DLP_Vlad_Radetskiy_RUMID_McAfee_DLP_Vlad_Radetskiy_RU
MID_McAfee_DLP_Vlad_Radetskiy_RU
 
#MBLTdev: Знакомство с codesign (e-Legion)
#MBLTdev: Знакомство с codesign (e-Legion)#MBLTdev: Знакомство с codesign (e-Legion)
#MBLTdev: Знакомство с codesign (e-Legion)
 
2013 05-23 android&crypto
2013 05-23 android&crypto2013 05-23 android&crypto
2013 05-23 android&crypto
 
Петр Хенкин. Уязвимости реализаций криптографических приложений для платформы...
Петр Хенкин. Уязвимости реализаций криптографических приложений для платформы...Петр Хенкин. Уязвимости реализаций криптографических приложений для платформы...
Петр Хенкин. Уязвимости реализаций криптографических приложений для платформы...
 
2013 05-23 android&crypto
2013 05-23 android&crypto2013 05-23 android&crypto
2013 05-23 android&crypto
 
ВЕБИНАР: Риски утечки конфиденциальных данных клиентов. Какие мы ошибки допу...
 ВЕБИНАР: Риски утечки конфиденциальных данных клиентов. Какие мы ошибки допу... ВЕБИНАР: Риски утечки конфиденциальных данных клиентов. Какие мы ошибки допу...
ВЕБИНАР: Риски утечки конфиденциальных данных клиентов. Какие мы ошибки допу...
 
Сергей Вахонин (Смарт Лайн Инк) "Эффективная защита от утечек данных"
Сергей Вахонин (Смарт Лайн Инк) "Эффективная защита от утечек данных"Сергей Вахонин (Смарт Лайн Инк) "Эффективная защита от утечек данных"
Сергей Вахонин (Смарт Лайн Инк) "Эффективная защита от утечек данных"
 
Device lock (code-ib пермь)
 Device lock (code-ib пермь) Device lock (code-ib пермь)
Device lock (code-ib пермь)
 
Как компания Cisco защищает сама себя
Как компания Cisco защищает сама себяКак компания Cisco защищает сама себя
Как компания Cisco защищает сама себя
 
Обеспечение безопасности активов современного бизнеса с помощью криптографии
Обеспечение безопасности активов современного бизнеса с помощью криптографии Обеспечение безопасности активов современного бизнеса с помощью криптографии
Обеспечение безопасности активов современного бизнеса с помощью криптографии
 
Безопасность мобильных устройств
Безопасность мобильных устройствБезопасность мобильных устройств
Безопасность мобильных устройств
 
Device lock 7 2013 code ib нн
Device lock 7 2013 code ib ннDevice lock 7 2013 code ib нн
Device lock 7 2013 code ib нн
 
(Pdf) yury chemerkin info_securityrussia_2011
(Pdf) yury chemerkin info_securityrussia_2011(Pdf) yury chemerkin info_securityrussia_2011
(Pdf) yury chemerkin info_securityrussia_2011
 
Популярні способи зломів та шахрайські схеми
Популярні способи зломів та шахрайські схемиПопулярні способи зломів та шахрайські схеми
Популярні способи зломів та шахрайські схеми
 
Безопасность в Интернете: основные инструменты
Безопасность в Интернете: основные инструментыБезопасность в Интернете: основные инструменты
Безопасность в Интернете: основные инструменты
 
Построение защищенного Интернет-периметра
Построение защищенного Интернет-периметраПостроение защищенного Интернет-периметра
Построение защищенного Интернет-периметра
 
Практические особенности внедрения систем класса DLP
Практические особенности внедрения систем класса DLPПрактические особенности внедрения систем класса DLP
Практические особенности внедрения систем класса DLP
 
Евгений Кутя - Информационная безопасность
Евгений Кутя - Информационная безопасностьЕвгений Кутя - Информационная безопасность
Евгений Кутя - Информационная безопасность
 

Mehr von e-Legion

MBLT16: Elena Rydkina, Pure
MBLT16: Elena Rydkina, PureMBLT16: Elena Rydkina, Pure
MBLT16: Elena Rydkina, Puree-Legion
 
MBLT16: Alexander Lukin, AppMetrica
MBLT16: Alexander Lukin, AppMetricaMBLT16: Alexander Lukin, AppMetrica
MBLT16: Alexander Lukin, AppMetricae-Legion
 
MBLT16: Vincent Wu, Alibaba Mobile
MBLT16: Vincent Wu, Alibaba MobileMBLT16: Vincent Wu, Alibaba Mobile
MBLT16: Vincent Wu, Alibaba Mobilee-Legion
 
MBLT16: Dmitriy Geranin, Afisha Restorany
MBLT16: Dmitriy Geranin, Afisha RestoranyMBLT16: Dmitriy Geranin, Afisha Restorany
MBLT16: Dmitriy Geranin, Afisha Restoranye-Legion
 
MBLT16: Marvin Liao, 500Startups
MBLT16: Marvin Liao, 500StartupsMBLT16: Marvin Liao, 500Startups
MBLT16: Marvin Liao, 500Startupse-Legion
 
MBLT16: Andrey Maslak, Aviasales
MBLT16: Andrey Maslak, AviasalesMBLT16: Andrey Maslak, Aviasales
MBLT16: Andrey Maslak, Aviasalese-Legion
 
MBLT16: Andrey Bakalenko, Sberbank Online
MBLT16: Andrey Bakalenko, Sberbank OnlineMBLT16: Andrey Bakalenko, Sberbank Online
MBLT16: Andrey Bakalenko, Sberbank Onlinee-Legion
 
Rx Java architecture
Rx Java architectureRx Java architecture
Rx Java architecturee-Legion
 
MBLTDev15: Hector Zarate, Spotify
MBLTDev15: Hector Zarate, SpotifyMBLTDev15: Hector Zarate, Spotify
MBLTDev15: Hector Zarate, Spotifye-Legion
 
MBLTDev15: Cesar Valiente, Wunderlist
MBLTDev15: Cesar Valiente, WunderlistMBLTDev15: Cesar Valiente, Wunderlist
MBLTDev15: Cesar Valiente, Wunderliste-Legion
 
MBLTDev15: Brigit Lyons, Soundcloud
MBLTDev15: Brigit Lyons, SoundcloudMBLTDev15: Brigit Lyons, Soundcloud
MBLTDev15: Brigit Lyons, Soundcloude-Legion
 
MBLTDev15: Egor Tolstoy, Rambler&Co
MBLTDev15: Egor Tolstoy, Rambler&CoMBLTDev15: Egor Tolstoy, Rambler&Co
MBLTDev15: Egor Tolstoy, Rambler&Coe-Legion
 
MBLTDev15: Alexander Orlov, Postforpost
MBLTDev15: Alexander Orlov, PostforpostMBLTDev15: Alexander Orlov, Postforpost
MBLTDev15: Alexander Orlov, Postforposte-Legion
 
MBLTDev15: Artemiy Sobolev, Parallels
MBLTDev15: Artemiy Sobolev, ParallelsMBLTDev15: Artemiy Sobolev, Parallels
MBLTDev15: Artemiy Sobolev, Parallelse-Legion
 
MBLTDev15: Alexander Dimchenko, DIT
MBLTDev15: Alexander Dimchenko, DITMBLTDev15: Alexander Dimchenko, DIT
MBLTDev15: Alexander Dimchenko, DITe-Legion
 
MBLTDev: Evgeny Lisovsky, Litres
MBLTDev: Evgeny Lisovsky, LitresMBLTDev: Evgeny Lisovsky, Litres
MBLTDev: Evgeny Lisovsky, Litrese-Legion
 
MBLTDev: Alexander Dimchenko, Bright Box
MBLTDev: Alexander Dimchenko, Bright Box MBLTDev: Alexander Dimchenko, Bright Box
MBLTDev: Alexander Dimchenko, Bright Box e-Legion
 
MBLTDev15: Konstantin Goldshtein, Microsoft
MBLTDev15: Konstantin Goldshtein, MicrosoftMBLTDev15: Konstantin Goldshtein, Microsoft
MBLTDev15: Konstantin Goldshtein, Microsofte-Legion
 
MBLTDev15: Anna Mikhina, Maxim Evdokimov, Tinkoff Bank
MBLTDev15: Anna Mikhina, Maxim Evdokimov, Tinkoff Bank MBLTDev15: Anna Mikhina, Maxim Evdokimov, Tinkoff Bank
MBLTDev15: Anna Mikhina, Maxim Evdokimov, Tinkoff Bank e-Legion
 

Mehr von e-Legion (20)

MBLT16: Elena Rydkina, Pure
MBLT16: Elena Rydkina, PureMBLT16: Elena Rydkina, Pure
MBLT16: Elena Rydkina, Pure
 
MBLT16: Alexander Lukin, AppMetrica
MBLT16: Alexander Lukin, AppMetricaMBLT16: Alexander Lukin, AppMetrica
MBLT16: Alexander Lukin, AppMetrica
 
MBLT16: Vincent Wu, Alibaba Mobile
MBLT16: Vincent Wu, Alibaba MobileMBLT16: Vincent Wu, Alibaba Mobile
MBLT16: Vincent Wu, Alibaba Mobile
 
MBLT16: Dmitriy Geranin, Afisha Restorany
MBLT16: Dmitriy Geranin, Afisha RestoranyMBLT16: Dmitriy Geranin, Afisha Restorany
MBLT16: Dmitriy Geranin, Afisha Restorany
 
MBLT16: Marvin Liao, 500Startups
MBLT16: Marvin Liao, 500StartupsMBLT16: Marvin Liao, 500Startups
MBLT16: Marvin Liao, 500Startups
 
MBLT16: Andrey Maslak, Aviasales
MBLT16: Andrey Maslak, AviasalesMBLT16: Andrey Maslak, Aviasales
MBLT16: Andrey Maslak, Aviasales
 
MBLT16: Andrey Bakalenko, Sberbank Online
MBLT16: Andrey Bakalenko, Sberbank OnlineMBLT16: Andrey Bakalenko, Sberbank Online
MBLT16: Andrey Bakalenko, Sberbank Online
 
Rx Java architecture
Rx Java architectureRx Java architecture
Rx Java architecture
 
Rx java
Rx javaRx java
Rx java
 
MBLTDev15: Hector Zarate, Spotify
MBLTDev15: Hector Zarate, SpotifyMBLTDev15: Hector Zarate, Spotify
MBLTDev15: Hector Zarate, Spotify
 
MBLTDev15: Cesar Valiente, Wunderlist
MBLTDev15: Cesar Valiente, WunderlistMBLTDev15: Cesar Valiente, Wunderlist
MBLTDev15: Cesar Valiente, Wunderlist
 
MBLTDev15: Brigit Lyons, Soundcloud
MBLTDev15: Brigit Lyons, SoundcloudMBLTDev15: Brigit Lyons, Soundcloud
MBLTDev15: Brigit Lyons, Soundcloud
 
MBLTDev15: Egor Tolstoy, Rambler&Co
MBLTDev15: Egor Tolstoy, Rambler&CoMBLTDev15: Egor Tolstoy, Rambler&Co
MBLTDev15: Egor Tolstoy, Rambler&Co
 
MBLTDev15: Alexander Orlov, Postforpost
MBLTDev15: Alexander Orlov, PostforpostMBLTDev15: Alexander Orlov, Postforpost
MBLTDev15: Alexander Orlov, Postforpost
 
MBLTDev15: Artemiy Sobolev, Parallels
MBLTDev15: Artemiy Sobolev, ParallelsMBLTDev15: Artemiy Sobolev, Parallels
MBLTDev15: Artemiy Sobolev, Parallels
 
MBLTDev15: Alexander Dimchenko, DIT
MBLTDev15: Alexander Dimchenko, DITMBLTDev15: Alexander Dimchenko, DIT
MBLTDev15: Alexander Dimchenko, DIT
 
MBLTDev: Evgeny Lisovsky, Litres
MBLTDev: Evgeny Lisovsky, LitresMBLTDev: Evgeny Lisovsky, Litres
MBLTDev: Evgeny Lisovsky, Litres
 
MBLTDev: Alexander Dimchenko, Bright Box
MBLTDev: Alexander Dimchenko, Bright Box MBLTDev: Alexander Dimchenko, Bright Box
MBLTDev: Alexander Dimchenko, Bright Box
 
MBLTDev15: Konstantin Goldshtein, Microsoft
MBLTDev15: Konstantin Goldshtein, MicrosoftMBLTDev15: Konstantin Goldshtein, Microsoft
MBLTDev15: Konstantin Goldshtein, Microsoft
 
MBLTDev15: Anna Mikhina, Maxim Evdokimov, Tinkoff Bank
MBLTDev15: Anna Mikhina, Maxim Evdokimov, Tinkoff Bank MBLTDev15: Anna Mikhina, Maxim Evdokimov, Tinkoff Bank
MBLTDev15: Anna Mikhina, Maxim Evdokimov, Tinkoff Bank
 

#MBLTdev: Безопасность iOS-устройств (viaForensics)

  • 1. ТИПИЧНЫЕ ПРОБЛЕМЫ БЕЗОПАСНОСТИ В ПРИЛОЖЕНИЯХ ДЛЯ IOS Андрей Беленко viaForensics
  • 4. ПРИЛОЖЕНИЕ • Небезопасное хранение данных • Утечки данных • “Неправильная” криптография • Слабая защита исполняемых файлов • Многое другое. См. OWASP Mobile Top 10
  • 5. ДАННЫЕ ПРИЛОЖЕНИЯ • Приложение выполняется в песочнице • Приложения не имеют доступа к “чужим” песочницам Это не означает что данные недоступны извне
  • 6. ДАННЫЕ ПРИЛОЖЕНИЯ • File Sharing (через iTunes или Xcode) • iTunes Backup (включая Keychain!) • iCloud • com.apple.mobile.house_arrest • Джейлбрейк
  • 7. Доступ к песочнице приложения с помощью iExplorer
  • 8. Данные учетной записи хранятся в NSUserDefaults
  • 9. УЧЕТНЫЕ ЗАПИСИ • Никогда не храните в NSUserDefaults или CoreData • Используйте Keychain • Используйте наиболее строгий класс защиты при котором приложение еще работает
  • 10. КОНФИДЕНЦИАЛЬНЫЕ ДАННЫЕ • Избегайте использования NSUserDefaults и CoreData • Используйте Data Protection • Используйте наиболее строгий класс защиты при котором приложение еще работает • Используя NSUserDefaults или CoreData обеспечьте дополнительную защиту
  • 11. КЛАССЫ ЗАЩИТЫ Файл NSFileProtection… Keychain kSecAttrAccessible… None Always(ThisDeviceOnly) Complete WhenUnlocked(ThisDeviceOnly) CompleteUnlessOpen CompleteUntilFirstUserAuthentication AfterFirstUnlock(ThisDeviceOnly)
  • 12. УТЕЧКИ ДАННЫХ • Логи • Удалите (или #ifdef) вывод логов в Release конфигурации • Cookies и кэши • См. NSURLCache, NSHTTPCookieStorage • Указывайте политики при создании запросов • Скриншоты • applicationDidEnterBackground:
  • 13. КРИПТОГРАФИЯ • Не используйте статические ключи • Не реализуйте криптографию самостоятельно • Не придумывайте собственные алгоритмы или протоколы • Если нестандартная криптография необходима – найдите профессионала
  • 14. ИСПОЛНЯЕМЫЕ ФАЙЛЫ • Борьба с эксплоитами • -fstack-protector(-strong, -all) • ASLR • DRM, интеллектуальная собственность • Обфускация
  • 16.
  • 17.
  • 18. ОБФУСКАЦИЯ • Strip; минимум строк в исполняемом файле • C++ вместо Objective-C • Static linking • https://github.com/obfuscator-llvm • http://tigress.cs.arizona.edu Делайте это только если Вы понимаете что делаете и если это Вам действительно нужно!
  • 20. ИНТЕРНЕТ • Никогда не используйте незащищенные протоколы (такие как HTTP) • Используйте их защищенный вариант (HTTPS) • Используйте их правильно (да, это сложная часть)
  • 21. КАК УСТРОЕН SSL? Соединение Сертификат ОК? Продолжить сессию да нет: завершить сессию N.B.: на самом деле SSL намного более сложный протокол
  • 22. СЕРТИФИКАТЫ • Проверка сертификата чрезвычайно важна • Не используйте самоподписанные сертификаты в production • Если возможно, используйте фиксацию (“pinning”) сертификатов
  • 23. ПРОВЕРКА СЕРТИФИКАТА да нет Доверять Не доверять БД доверенных ЦС iOS 8: ~ 250 ЦС Сертификат подписан одним из доверенных центров сертификации?
  • 24. ПРОВЕРКА СЕРТИФИКАТА • Любой, кто может подписывать сертификаты одним из доверенных ЦС может организовать MITM • Это не уязвимость протокола; просто PKI так устроено • Вероятно, именно это произошло с iCloud.com в Китае на прошлой неделе
  • 25. ФИКСАЦИЯ СЕРТИФИКАТА Приложение ожидает именно этот сертификат? да нет Доверять Не доверять
  • 26. ФИКСАЦИЯ СЕРТИФИКАТА • Удостоверяет что приложение общается с владельцем Вашего закрытого ключа: • или с Вами… • …или с кем-то кто серьезно “взломал” Ваш бэкэнд • Подменяет хранилище корневых ЦС
  • 27. НО ЭТО НЕ ВСЕ…
  • 28. SSL СЛОМАН Ему уже ~18 лет и ему пора на покой TLS заменяет собой SSL
  • 29. ИНТЕРНЕТ • Запретите использование SSL в приложениях и на серверах • Используйте TLS (желательно 1.2) с шифрами AEAD • Фиксируйте или хотя бы полноценно проверяйте сертификаты • Убедитесь что все “обходы” проверок сертификата отключены/удалены в Release коде
  • 31. СЕРВЕР • Сохраняйте площадь атаки минимальной • Не раскрывайте test/qa/dev/debug интерфейсы • Не доверяйте данным, получаемым от клиентов • Обеспечьте защиту передачи данных: • TLS (1.2) со стойкими AEAD-шифрами
  • 32. Q & A