SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
1
2 
Выставка трофеев 
Итоги «охоты» в мобильных приложениях
3 
"Alces alces elan trophee chateau Tanlay" by Myrabella - Own work. Licensed under Creative Commons Attribution-Share Alike 4.0 via Wikimedia Commons - https://commons.wikimedia.org/wiki/File:Alces_alces_elan_trophee_chateau_Tanlay.jpg#mediaviewer/File:Alces_alces_elan_trophee_chateau_Tanlay.jpg
4 
Охота за ошибками 
•Мы платим за найденные проблемы с безопасностью 
•Не только в веб, но и в мобильных приложениях 
•Это программа поощрения для всех 
•Участвуют люди со всего мира 
•За интересные ошибки платим больше ;-) 
•Подробнее на http://company.yandex.ru/security/
5 
Скучная классификация трофеев
6 
Моя классификация 
•Типовые ошибки 
•Неочевидные и забористые проблемы 
•Всяческий трэш
7 
Типовые ошибки
8
9 
Открытые контент-провайдеры 
OWASP M2 Insecure Data Storage в Android 
•Открыты по-умолчанию в SDK <= 16 
•Часто прицеплены к базе данных SQLite 
public synchronized Cursor query (Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) 
{ 
-return Database.getReadableDB().query(Database.DEVICE_ID_TABLE, projection, selection, selectionArgs, null, null, sortOrder); 
+ return Database.getReadableDB().query(Database.DEVICE_ID_TABLE, null, null, null, null, null, null); 
}
10 
Oauth-токен, куда бы его деть? 
OWASP M2 Insecure Data Storage в iOS 
•Авторизуем пользователя и сохраняем OAuth-токен в plist-файлы приложения 
ru.yandex.fotki.client.plist 
{ 
... 
YandexLogin = testuser; 
YandexToken = 64bb**************fcb9; 
... 
}
11 
Что было в логах, остается в логах? 
OWASP M4 Unintended Data Leakage 
•OVER9000 способов логирования 
•Пишем в логи всё подряд, например, тело HTTP-запроса или авторизационные токены 
D/Facebook-authorize( 2228): Login Success! 
access_token=CAACO8cOreeMB**********QXANzAqzDz3IJZB3wZAZAD9PIUcrSzdVMNO1i6ZB9zogduHbZAl6fnXO**********EIJzuXak3V6CJCx**************B3D9ZBvLCEKTjs3w************* 
expires=1377739946011
12 
Совсем не HTTPS 
OWASP M3 Insufficient Transport Layer Protection 
•В iOS и Android 
•Либо совсем нет шифрования, либо не проверяем сертификаты 
NSMutableURLRequest *request = [self requestWithMethod:@"GET" path:requestURL parameters:nil]; 
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request]; 
operation.allowsInvalidSSLCertificate = YES;
13 
Решения 
•Общие библиотеки 
•Тотальный HTTPS с проверкой сертификатов и пинингом 
•Логирование с предфильтрацией 
•Использование системных хранилищ для токенов
14 
Неочевидные серьезные проблемы
15 
Нарушение SOP в браузере под iOS 
w = window.open('http://host/redirect.html'); 
setTimeout(function() 
{ 
w.document.write(document.domain+' writes to <script> 
document.write(document.domain) 
</script>'); 
}, 
5000); 
? 
Сайт 1 (На первой вкладке) 
Сайт 2 (На второй вкладке)
16 
Кто виноват, что делать? 
•Не сделали нужных проверок для особого случая работы вкладок 
•Было сложно сделать тесты для работы с вкладками 
•При взаимодействии вкладок этом должна выполняться same origin policy, либо дочерняя вкладка должна быть пустой (about:blank). 
•Новые сложные тесты, проверяющие логику работы вкладок.
17 
Broadcast Intent в Android 
Broadcast Intent 
Открытый контент провайдер 
Доступ к аттачментам
18 
Кто виноват, что делать? 
•Не знали, что broadcast intent может быть перехвачен третьей стороной 
•Думали, что длинный случайный идентификатор – достаточная защита для аттачмента 
•Отказались от пересылки идентификатора 
•Закрыли контент-провайдер
19 
Статистика 
There are three kinds of lies: lies, damned lies, and statistics
20 
Количество уязвимостей по платформам 
23 
84 
3 
2 
iOS 
Android 
Windows Phone 
Symbian 
За всё время работы программы
21 
•2,5 % сообщений про мобильные приложения 
•В среднем мы получаем по одной уязвимости раз в четыре дня 
•Выплачено около 500000 рублей (максимум 1337$) 
•Типовых проблем больше в приложениях для Android 
•Сложных проблем больше в iOS
22 
Выводы
23 
Что в итоге? 
•Большое количество исследователей 
•Участвуют компетентные профессионалы 
•Множество исправленных проблем и найденных решений 
•… 
•PROFIT!!!
24 
Спасибо за внимание!
25 
Юрий Леонычев 
Администратор информационной безопасности 
yleonychev@yandex-team.ru tracer0tong 
© 000«Яндекс» 2014

Mais conteúdo relacionado

Destaque

Олесь Писаренко: Игровые механики в тестировании
Олесь Писаренко: Игровые механики в тестированииОлесь Писаренко: Игровые механики в тестировании
Олесь Писаренко: Игровые механики в тестированииYandex
 
Кирилл Голышев — Влияние анимации на UX в мобильных приложениях
Кирилл Голышев — Влияние анимации на UX в мобильных приложенияхКирилл Голышев — Влияние анимации на UX в мобильных приложениях
Кирилл Голышев — Влияние анимации на UX в мобильных приложенияхUX-Среда
 
продуктовая статистика в мобильных приложениях
продуктовая статистика в мобильных приложенияхпродуктовая статистика в мобильных приложениях
продуктовая статистика в мобильных приложенияхOlga Alekseeva
 
DesignCamp2012: Д.Кулагин — Брендинг против гайдлайнов
DesignCamp2012: Д.Кулагин — Брендинг против гайдлайновDesignCamp2012: Д.Кулагин — Брендинг против гайдлайнов
DesignCamp2012: Д.Кулагин — Брендинг против гайдлайновUX-Среда
 
Тех. Документация - UX beyond UI
Тех. Документация - UX beyond UI Тех. Документация - UX beyond UI
Тех. Документация - UX beyond UI Yury Solonitsyn
 
Алексей Рытов — Процесс проектирования в крупной компании
Алексей Рытов — Процесс проектирования в крупной компанииАлексей Рытов — Процесс проектирования в крупной компании
Алексей Рытов — Процесс проектирования в крупной компанииUX-Среда
 
Игорь Афанасьев "Роль мобильных приложений в экосистеме сервиса Evernote"
Игорь Афанасьев "Роль мобильных приложений в экосистеме сервиса Evernote"Игорь Афанасьев "Роль мобильных приложений в экосистеме сервиса Evernote"
Игорь Афанасьев "Роль мобильных приложений в экосистеме сервиса Evernote"Yandex
 
Тренды в UX исследованиях
Тренды в UX исследованияхТренды в UX исследованиях
Тренды в UX исследованияхNatalia Sprogis
 
Все о бекенде мобильных приложений Badoo
Все о бекенде мобильных приложений BadooВсе о бекенде мобильных приложений Badoo
Все о бекенде мобильных приложений BadooCodeFest
 
Игрофикация для бизнеса
Игрофикация для бизнесаИгрофикация для бизнеса
Игрофикация для бизнесаНетология
 
Что знают геймдизайнеры
Что знают геймдизайнерыЧто знают геймдизайнеры
Что знают геймдизайнерыAlexey Kopylov
 
User eXperience в разработке мобильных приложений
User eXperience в разработке мобильных приложенийUser eXperience в разработке мобильных приложений
User eXperience в разработке мобильных приложенийhouseofapps
 
Аналитика мобильных приложений
Аналитика мобильных приложенийАналитика мобильных приложений
Аналитика мобильных приложенийAnatoly Sharifulin
 
Курсы по User Experience от ITMINE
Курсы по User Experience от ITMINEКурсы по User Experience от ITMINE
Курсы по User Experience от ITMINEAnastasia Schebrova
 
UX-Среда №21: Дмитрий Щеглов — Мобильный дизайн в Сбербанке
UX-Среда №21: Дмитрий Щеглов — Мобильный дизайн в СбербанкеUX-Среда №21: Дмитрий Щеглов — Мобильный дизайн в Сбербанке
UX-Среда №21: Дмитрий Щеглов — Мобильный дизайн в СбербанкеUX-Среда
 
UX-Марафон 2015: Ю.Ветров — Дайджест продуктового дизайна, выпуск 1
UX-Марафон 2015: Ю.Ветров — Дайджест продуктового дизайна, выпуск 1UX-Марафон 2015: Ю.Ветров — Дайджест продуктового дизайна, выпуск 1
UX-Марафон 2015: Ю.Ветров — Дайджест продуктового дизайна, выпуск 1Yury Vetrov
 
Геймификация: Level 2
Геймификация: Level 2Геймификация: Level 2
Геймификация: Level 2Vasily Bogdanov
 
Исследование физических ограничений пользователей при работе с планшетом
Исследование физических ограничений пользователей при работе с планшетомИсследование физических ограничений пользователей при работе с планшетом
Исследование физических ограничений пользователей при работе с планшетомKsenia Sternina
 
Продуктовая Аналитика — Карго Культ в современных компаниях
Продуктовая Аналитика — Карго Культ в современных компанияхПродуктовая Аналитика — Карго Культ в современных компаниях
Продуктовая Аналитика — Карго Культ в современных компанияхEvgeny Kuryshev
 

Destaque (20)

Олесь Писаренко: Игровые механики в тестировании
Олесь Писаренко: Игровые механики в тестированииОлесь Писаренко: Игровые механики в тестировании
Олесь Писаренко: Игровые механики в тестировании
 
Кирилл Голышев — Влияние анимации на UX в мобильных приложениях
Кирилл Голышев — Влияние анимации на UX в мобильных приложенияхКирилл Голышев — Влияние анимации на UX в мобильных приложениях
Кирилл Голышев — Влияние анимации на UX в мобильных приложениях
 
продуктовая статистика в мобильных приложениях
продуктовая статистика в мобильных приложенияхпродуктовая статистика в мобильных приложениях
продуктовая статистика в мобильных приложениях
 
DesignCamp2012: Д.Кулагин — Брендинг против гайдлайнов
DesignCamp2012: Д.Кулагин — Брендинг против гайдлайновDesignCamp2012: Д.Кулагин — Брендинг против гайдлайнов
DesignCamp2012: Д.Кулагин — Брендинг против гайдлайнов
 
Тех. Документация - UX beyond UI
Тех. Документация - UX beyond UI Тех. Документация - UX beyond UI
Тех. Документация - UX beyond UI
 
Алексей Рытов — Процесс проектирования в крупной компании
Алексей Рытов — Процесс проектирования в крупной компанииАлексей Рытов — Процесс проектирования в крупной компании
Алексей Рытов — Процесс проектирования в крупной компании
 
Игорь Афанасьев "Роль мобильных приложений в экосистеме сервиса Evernote"
Игорь Афанасьев "Роль мобильных приложений в экосистеме сервиса Evernote"Игорь Афанасьев "Роль мобильных приложений в экосистеме сервиса Evernote"
Игорь Афанасьев "Роль мобильных приложений в экосистеме сервиса Evernote"
 
Тренды в UX исследованиях
Тренды в UX исследованияхТренды в UX исследованиях
Тренды в UX исследованиях
 
Все о бекенде мобильных приложений Badoo
Все о бекенде мобильных приложений BadooВсе о бекенде мобильных приложений Badoo
Все о бекенде мобильных приложений Badoo
 
Игрофикация для бизнеса
Игрофикация для бизнесаИгрофикация для бизнеса
Игрофикация для бизнеса
 
Что знают геймдизайнеры
Что знают геймдизайнерыЧто знают геймдизайнеры
Что знают геймдизайнеры
 
User eXperience в разработке мобильных приложений
User eXperience в разработке мобильных приложенийUser eXperience в разработке мобильных приложений
User eXperience в разработке мобильных приложений
 
Аналитика мобильных приложений
Аналитика мобильных приложенийАналитика мобильных приложений
Аналитика мобильных приложений
 
Курсы по User Experience от ITMINE
Курсы по User Experience от ITMINEКурсы по User Experience от ITMINE
Курсы по User Experience от ITMINE
 
UX-Среда №21: Дмитрий Щеглов — Мобильный дизайн в Сбербанке
UX-Среда №21: Дмитрий Щеглов — Мобильный дизайн в СбербанкеUX-Среда №21: Дмитрий Щеглов — Мобильный дизайн в Сбербанке
UX-Среда №21: Дмитрий Щеглов — Мобильный дизайн в Сбербанке
 
B2B Mobile App
B2B Mobile AppB2B Mobile App
B2B Mobile App
 
UX-Марафон 2015: Ю.Ветров — Дайджест продуктового дизайна, выпуск 1
UX-Марафон 2015: Ю.Ветров — Дайджест продуктового дизайна, выпуск 1UX-Марафон 2015: Ю.Ветров — Дайджест продуктового дизайна, выпуск 1
UX-Марафон 2015: Ю.Ветров — Дайджест продуктового дизайна, выпуск 1
 
Геймификация: Level 2
Геймификация: Level 2Геймификация: Level 2
Геймификация: Level 2
 
Исследование физических ограничений пользователей при работе с планшетом
Исследование физических ограничений пользователей при работе с планшетомИсследование физических ограничений пользователей при работе с планшетом
Исследование физических ограничений пользователей при работе с планшетом
 
Продуктовая Аналитика — Карго Культ в современных компаниях
Продуктовая Аналитика — Карго Культ в современных компанияхПродуктовая Аналитика — Карго Культ в современных компаниях
Продуктовая Аналитика — Карго Культ в современных компаниях
 

Semelhante a Выставка трофеев: итоги «охоты за ошибками» в мобильных приложениях, Юрий Леонычев

SECON'2017, Щеглова Нина, Как мы делаем это: тестирование в ecommerce междуна...
SECON'2017, Щеглова Нина, Как мы делаем это: тестирование в ecommerce междуна...SECON'2017, Щеглова Нина, Как мы делаем это: тестирование в ecommerce междуна...
SECON'2017, Щеглова Нина, Как мы делаем это: тестирование в ecommerce междуна...SECON
 
Роман Еникеев - PHP обязан умирать
Роман Еникеев - PHP обязан умиратьРоман Еникеев - PHP обязан умирать
Роман Еникеев - PHP обязан умиратьDataArt
 
Максим Лапшин. Erlang production
Максим Лапшин. Erlang productionМаксим Лапшин. Erlang production
Максим Лапшин. Erlang productionAlina Dolgikh
 
Тестирование мобильных приложений
Тестирование мобильных приложенийТестирование мобильных приложений
Тестирование мобильных приложенийAlexander Khozya
 
Автоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаАвтоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаIgor Lyubin
 
Микросервисы для автоматизации тестирования - опыт "Одноклассников"
Микросервисы для автоматизации тестирования - опыт "Одноклассников"Микросервисы для автоматизации тестирования - опыт "Одноклассников"
Микросервисы для автоматизации тестирования - опыт "Одноклассников"SQALab
 
Microservices for test automation - OK.RU expirience
Microservices for test automation - OK.RU expirienceMicroservices for test automation - OK.RU expirience
Microservices for test automation - OK.RU expirienceNikita Makarov
 
Олег Миколайченко "Как перестать хранить секреты в git и начать использовать ...
Олег Миколайченко "Как перестать хранить секреты в git и начать использовать ...Олег Миколайченко "Как перестать хранить секреты в git и начать использовать ...
Олег Миколайченко "Как перестать хранить секреты в git и начать использовать ...Fwdays
 
#MBLTdev: Безопасность iOS-устройств (viaForensics)
#MBLTdev: Безопасность iOS-устройств (viaForensics)#MBLTdev: Безопасность iOS-устройств (viaForensics)
#MBLTdev: Безопасность iOS-устройств (viaForensics)e-Legion
 
Как перестать хранить секреты в git и начать использовать Hashicorp Vault
Как перестать хранить секреты в git и начать использовать Hashicorp VaultКак перестать хранить секреты в git и начать использовать Hashicorp Vault
Как перестать хранить секреты в git и начать использовать Hashicorp VaultOleg Mykolaichenko
 
Юнит тестирование в Web. Как получать пользу и удовольствие.
Юнит тестирование в Web. Как получать пользу и удовольствие.Юнит тестирование в Web. Как получать пользу и удовольствие.
Юнит тестирование в Web. Как получать пользу и удовольствие.Sergey Ryabenko
 
Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"Tanya Denisyuk
 
От разрозненных фидов к целостной программе Threat intelligence
От разрозненных фидов к целостной программе Threat intelligenceОт разрозненных фидов к целостной программе Threat intelligence
От разрозненных фидов к целостной программе Threat intelligenceAleksey Lukatskiy
 
Информационная безопасность на базе open source: есть ли смысл?
Информационная безопасность на базе open source: есть ли смысл?Информационная безопасность на базе open source: есть ли смысл?
Информационная безопасность на базе open source: есть ли смысл?Aleksey Lukatskiy
 
2014.12.06 06 Алёна Паньшина — Простой обмен данными с пользователями на прим...
2014.12.06 06 Алёна Паньшина — Простой обмен данными с пользователями на прим...2014.12.06 06 Алёна Паньшина — Простой обмен данными с пользователями на прим...
2014.12.06 06 Алёна Паньшина — Простой обмен данными с пользователями на прим...HappyDev
 
В offline и обратно
В offline и обратноВ offline и обратно
В offline и обратноDen Ilin
 
Real-Time Error Alerting & Debugging Tools: Rollbar - Alex Petrov
Real-Time Error Alerting & Debugging Tools: Rollbar - Alex PetrovReal-Time Error Alerting & Debugging Tools: Rollbar - Alex Petrov
Real-Time Error Alerting & Debugging Tools: Rollbar - Alex PetrovRuby Meditation
 
Доктор Веб - Почему при наличии антивируса компании несут убытки от вирусных ...
Доктор Веб - Почему при наличии антивируса компании несут убытки от вирусных ...Доктор Веб - Почему при наличии антивируса компании несут убытки от вирусных ...
Доктор Веб - Почему при наличии антивируса компании несут убытки от вирусных ...Expolink
 
Доктор Веб - Почему при наличии антивируса компании несут убытки от вирусных ...
Доктор Веб - Почему при наличии антивируса компании несут убытки от вирусных ...Доктор Веб - Почему при наличии антивируса компании несут убытки от вирусных ...
Доктор Веб - Почему при наличии антивируса компании несут убытки от вирусных ...Expolink
 
Продукты Doctor web: как на самом деле нужно защищаться?
Продукты Doctor web: как на самом деле нужно защищаться?Продукты Doctor web: как на самом деле нужно защищаться?
Продукты Doctor web: как на самом деле нужно защищаться?Expolink
 

Semelhante a Выставка трофеев: итоги «охоты за ошибками» в мобильных приложениях, Юрий Леонычев (20)

SECON'2017, Щеглова Нина, Как мы делаем это: тестирование в ecommerce междуна...
SECON'2017, Щеглова Нина, Как мы делаем это: тестирование в ecommerce междуна...SECON'2017, Щеглова Нина, Как мы делаем это: тестирование в ecommerce междуна...
SECON'2017, Щеглова Нина, Как мы делаем это: тестирование в ecommerce междуна...
 
Роман Еникеев - PHP обязан умирать
Роман Еникеев - PHP обязан умиратьРоман Еникеев - PHP обязан умирать
Роман Еникеев - PHP обязан умирать
 
Максим Лапшин. Erlang production
Максим Лапшин. Erlang productionМаксим Лапшин. Erlang production
Максим Лапшин. Erlang production
 
Тестирование мобильных приложений
Тестирование мобильных приложенийТестирование мобильных приложений
Тестирование мобильных приложений
 
Автоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаАвтоматическое тестирование. Моя система
Автоматическое тестирование. Моя система
 
Микросервисы для автоматизации тестирования - опыт "Одноклассников"
Микросервисы для автоматизации тестирования - опыт "Одноклассников"Микросервисы для автоматизации тестирования - опыт "Одноклассников"
Микросервисы для автоматизации тестирования - опыт "Одноклассников"
 
Microservices for test automation - OK.RU expirience
Microservices for test automation - OK.RU expirienceMicroservices for test automation - OK.RU expirience
Microservices for test automation - OK.RU expirience
 
Олег Миколайченко "Как перестать хранить секреты в git и начать использовать ...
Олег Миколайченко "Как перестать хранить секреты в git и начать использовать ...Олег Миколайченко "Как перестать хранить секреты в git и начать использовать ...
Олег Миколайченко "Как перестать хранить секреты в git и начать использовать ...
 
#MBLTdev: Безопасность iOS-устройств (viaForensics)
#MBLTdev: Безопасность iOS-устройств (viaForensics)#MBLTdev: Безопасность iOS-устройств (viaForensics)
#MBLTdev: Безопасность iOS-устройств (viaForensics)
 
Как перестать хранить секреты в git и начать использовать Hashicorp Vault
Как перестать хранить секреты в git и начать использовать Hashicorp VaultКак перестать хранить секреты в git и начать использовать Hashicorp Vault
Как перестать хранить секреты в git и начать использовать Hashicorp Vault
 
Юнит тестирование в Web. Как получать пользу и удовольствие.
Юнит тестирование в Web. Как получать пользу и удовольствие.Юнит тестирование в Web. Как получать пользу и удовольствие.
Юнит тестирование в Web. Как получать пользу и удовольствие.
 
Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"
 
От разрозненных фидов к целостной программе Threat intelligence
От разрозненных фидов к целостной программе Threat intelligenceОт разрозненных фидов к целостной программе Threat intelligence
От разрозненных фидов к целостной программе Threat intelligence
 
Информационная безопасность на базе open source: есть ли смысл?
Информационная безопасность на базе open source: есть ли смысл?Информационная безопасность на базе open source: есть ли смысл?
Информационная безопасность на базе open source: есть ли смысл?
 
2014.12.06 06 Алёна Паньшина — Простой обмен данными с пользователями на прим...
2014.12.06 06 Алёна Паньшина — Простой обмен данными с пользователями на прим...2014.12.06 06 Алёна Паньшина — Простой обмен данными с пользователями на прим...
2014.12.06 06 Алёна Паньшина — Простой обмен данными с пользователями на прим...
 
В offline и обратно
В offline и обратноВ offline и обратно
В offline и обратно
 
Real-Time Error Alerting & Debugging Tools: Rollbar - Alex Petrov
Real-Time Error Alerting & Debugging Tools: Rollbar - Alex PetrovReal-Time Error Alerting & Debugging Tools: Rollbar - Alex Petrov
Real-Time Error Alerting & Debugging Tools: Rollbar - Alex Petrov
 
Доктор Веб - Почему при наличии антивируса компании несут убытки от вирусных ...
Доктор Веб - Почему при наличии антивируса компании несут убытки от вирусных ...Доктор Веб - Почему при наличии антивируса компании несут убытки от вирусных ...
Доктор Веб - Почему при наличии антивируса компании несут убытки от вирусных ...
 
Доктор Веб - Почему при наличии антивируса компании несут убытки от вирусных ...
Доктор Веб - Почему при наличии антивируса компании несут убытки от вирусных ...Доктор Веб - Почему при наличии антивируса компании несут убытки от вирусных ...
Доктор Веб - Почему при наличии антивируса компании несут убытки от вирусных ...
 
Продукты Doctor web: как на самом деле нужно защищаться?
Продукты Doctor web: как на самом деле нужно защищаться?Продукты Doctor web: как на самом деле нужно защищаться?
Продукты Doctor web: как на самом деле нужно защищаться?
 

Mais de Yandex

Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksYandex
 
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Yandex
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаYandex
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаYandex
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Yandex
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Yandex
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Yandex
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Yandex
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Yandex
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Yandex
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Yandex
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Yandex
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровYandex
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Yandex
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Yandex
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Yandex
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Yandex
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Yandex
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Yandex
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Yandex
 

Mais de Yandex (20)

Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of Tanks
 
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
 

Выставка трофеев: итоги «охоты за ошибками» в мобильных приложениях, Юрий Леонычев

  • 1. 1
  • 2. 2 Выставка трофеев Итоги «охоты» в мобильных приложениях
  • 3. 3 "Alces alces elan trophee chateau Tanlay" by Myrabella - Own work. Licensed under Creative Commons Attribution-Share Alike 4.0 via Wikimedia Commons - https://commons.wikimedia.org/wiki/File:Alces_alces_elan_trophee_chateau_Tanlay.jpg#mediaviewer/File:Alces_alces_elan_trophee_chateau_Tanlay.jpg
  • 4. 4 Охота за ошибками •Мы платим за найденные проблемы с безопасностью •Не только в веб, но и в мобильных приложениях •Это программа поощрения для всех •Участвуют люди со всего мира •За интересные ошибки платим больше ;-) •Подробнее на http://company.yandex.ru/security/
  • 6. 6 Моя классификация •Типовые ошибки •Неочевидные и забористые проблемы •Всяческий трэш
  • 8. 8
  • 9. 9 Открытые контент-провайдеры OWASP M2 Insecure Data Storage в Android •Открыты по-умолчанию в SDK <= 16 •Часто прицеплены к базе данных SQLite public synchronized Cursor query (Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { -return Database.getReadableDB().query(Database.DEVICE_ID_TABLE, projection, selection, selectionArgs, null, null, sortOrder); + return Database.getReadableDB().query(Database.DEVICE_ID_TABLE, null, null, null, null, null, null); }
  • 10. 10 Oauth-токен, куда бы его деть? OWASP M2 Insecure Data Storage в iOS •Авторизуем пользователя и сохраняем OAuth-токен в plist-файлы приложения ru.yandex.fotki.client.plist { ... YandexLogin = testuser; YandexToken = 64bb**************fcb9; ... }
  • 11. 11 Что было в логах, остается в логах? OWASP M4 Unintended Data Leakage •OVER9000 способов логирования •Пишем в логи всё подряд, например, тело HTTP-запроса или авторизационные токены D/Facebook-authorize( 2228): Login Success! access_token=CAACO8cOreeMB**********QXANzAqzDz3IJZB3wZAZAD9PIUcrSzdVMNO1i6ZB9zogduHbZAl6fnXO**********EIJzuXak3V6CJCx**************B3D9ZBvLCEKTjs3w************* expires=1377739946011
  • 12. 12 Совсем не HTTPS OWASP M3 Insufficient Transport Layer Protection •В iOS и Android •Либо совсем нет шифрования, либо не проверяем сертификаты NSMutableURLRequest *request = [self requestWithMethod:@"GET" path:requestURL parameters:nil]; AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request]; operation.allowsInvalidSSLCertificate = YES;
  • 13. 13 Решения •Общие библиотеки •Тотальный HTTPS с проверкой сертификатов и пинингом •Логирование с предфильтрацией •Использование системных хранилищ для токенов
  • 15. 15 Нарушение SOP в браузере под iOS w = window.open('http://host/redirect.html'); setTimeout(function() { w.document.write(document.domain+' writes to <script> document.write(document.domain) </script>'); }, 5000); ? Сайт 1 (На первой вкладке) Сайт 2 (На второй вкладке)
  • 16. 16 Кто виноват, что делать? •Не сделали нужных проверок для особого случая работы вкладок •Было сложно сделать тесты для работы с вкладками •При взаимодействии вкладок этом должна выполняться same origin policy, либо дочерняя вкладка должна быть пустой (about:blank). •Новые сложные тесты, проверяющие логику работы вкладок.
  • 17. 17 Broadcast Intent в Android Broadcast Intent Открытый контент провайдер Доступ к аттачментам
  • 18. 18 Кто виноват, что делать? •Не знали, что broadcast intent может быть перехвачен третьей стороной •Думали, что длинный случайный идентификатор – достаточная защита для аттачмента •Отказались от пересылки идентификатора •Закрыли контент-провайдер
  • 19. 19 Статистика There are three kinds of lies: lies, damned lies, and statistics
  • 20. 20 Количество уязвимостей по платформам 23 84 3 2 iOS Android Windows Phone Symbian За всё время работы программы
  • 21. 21 •2,5 % сообщений про мобильные приложения •В среднем мы получаем по одной уязвимости раз в четыре дня •Выплачено около 500000 рублей (максимум 1337$) •Типовых проблем больше в приложениях для Android •Сложных проблем больше в iOS
  • 23. 23 Что в итоге? •Большое количество исследователей •Участвуют компетентные профессионалы •Множество исправленных проблем и найденных решений •… •PROFIT!!!
  • 24. 24 Спасибо за внимание!
  • 25. 25 Юрий Леонычев Администратор информационной безопасности yleonychev@yandex-team.ru tracer0tong © 000«Яндекс» 2014