SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
ТИПИЧНЫЕ ПРОБЛЕМЫ 
БЕЗОПАСНОСТИ В 
ПРИЛОЖЕНИЯХ ДЛЯ 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

Contenu connexe

Tendances

Юзабилити в информационной безопасности
Юзабилити в информационной безопасностиЮзабилити в информационной безопасности
Юзабилити в информационной безопасности
Timur Sultanov
 
Предисловие. Готовь сани летом: сложные угрозы, APT и целевые атаки – реальн...
Предисловие. Готовь сани летом: сложные угрозы, APT и целевые атаки – реальн...Предисловие. Готовь сани летом: сложные угрозы, APT и целевые атаки – реальн...
Предисловие. Готовь сани летом: сложные угрозы, APT и целевые атаки – реальн...
Denis Bezkorovayny
 
SECON'2017, Щеглова Нина, Как мы делаем это: тестирование в ecommerce междуна...
SECON'2017, Щеглова Нина, Как мы делаем это: тестирование в ecommerce междуна...SECON'2017, Щеглова Нина, Как мы делаем это: тестирование в ecommerce междуна...
SECON'2017, Щеглова Нина, Как мы делаем это: тестирование в ecommerce междуна...
SECON
 

Tendances (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 междуна...
 
Аутсорсинг и безопасность ЦОД в контексте переноса ПДн в РФ
Аутсорсинг и безопасность ЦОД в контексте переноса ПДн в РФ Аутсорсинг и безопасность ЦОД в контексте переноса ПДн в РФ
Аутсорсинг и безопасность ЦОД в контексте переноса ПДн в РФ
 

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

Петр Хенкин. Уязвимости реализаций криптографических приложений для платформы...
Петр Хенкин. Уязвимости реализаций криптографических приложений для платформы...Петр Хенкин. Уязвимости реализаций криптографических приложений для платформы...
Петр Хенкин. Уязвимости реализаций криптографических приложений для платформы...
Positive Hack Days
 
Сергей Вахонин (Смарт Лайн Инк) "Эффективная защита от утечек данных"
Сергей Вахонин (Смарт Лайн Инк) "Эффективная защита от утечек данных"Сергей Вахонин (Смарт Лайн Инк) "Эффективная защита от утечек данных"
Сергей Вахонин (Смарт Лайн Инк) "Эффективная защита от утечек данных"
Expolink
 
Device lock (code-ib пермь)
 Device lock (code-ib пермь) Device lock (code-ib пермь)
Device lock (code-ib пермь)
Expolink
 
Безопасность мобильных устройств
Безопасность мобильных устройствБезопасность мобильных устройств
Безопасность мобильных устройств
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_2011
STO STRATEGY
 
Построение защищенного Интернет-периметра
Построение защищенного Интернет-периметраПостроение защищенного Интернет-периметра
Построение защищенного Интернет-периметра
Cisco Russia
 
Евгений Кутя - Информационная безопасность
Евгений Кутя - Информационная безопасностьЕвгений Кутя - Информационная безопасность
Евгений Кутя - Информационная безопасность
GAiN@ESD
 

Similaire à #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
 
Евгений Кутя - Информационная безопасность
Евгений Кутя - Информационная безопасностьЕвгений Кутя - Информационная безопасность
Евгений Кутя - Информационная безопасность
 

Plus de e-Legion

Plus de 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