Тестирование безопасности мобильных приложений
TRANSCRIPT
![Page 1: Тестирование безопасности мобильных приложений](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb81ffbb61ebc17c8b4601/html5/thumbnails/1.jpg)
Мобильная безопасность. Что тестировать?
Igor Bondarenko. Neklo LLC
![Page 2: Тестирование безопасности мобильных приложений](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb81ffbb61ebc17c8b4601/html5/thumbnails/2.jpg)
OWASP TOP 10
1/18
![Page 3: Тестирование безопасности мобильных приложений](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb81ffbb61ebc17c8b4601/html5/thumbnails/3.jpg)
В этом докладе
2/18
Небезопасное хранение данных
Недостаточная защита каналов передачи данных
Слабая авторизация и аутентификация
Небезопасное управление сессиями
![Page 4: Тестирование безопасности мобильных приложений](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb81ffbb61ebc17c8b4601/html5/thumbnails/4.jpg)
Insecure Data Storage
3/18
Четыре основные проблемы:
– Hardcoded and forgotten– Incorrect files permissions– SD Storage– Logs
![Page 5: Тестирование безопасности мобильных приложений](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb81ffbb61ebc17c8b4601/html5/thumbnails/5.jpg)
Hardcoded and forgotten
4/18
- Default/test credentials - Test servers/ locals Ips
![Page 6: Тестирование безопасности мобильных приложений](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb81ffbb61ebc17c8b4601/html5/thumbnails/6.jpg)
Incorrect files permissions
5/18
One app – One UID – 0660 mask for new files (-rw-rw----) – 0666 mask for new files (-rw-rw-rw)
![Page 7: Тестирование безопасности мобильных приложений](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb81ffbb61ebc17c8b4601/html5/thumbnails/7.jpg)
SD Storage
6/18
Данные на SD карте доступны всем приложениям.
![Page 8: Тестирование безопасности мобильных приложений](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb81ffbb61ebc17c8b4601/html5/thumbnails/8.jpg)
Логирование
7/18
android.permission.READ_LOGS
![Page 9: Тестирование безопасности мобильных приложений](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb81ffbb61ebc17c8b4601/html5/thumbnails/9.jpg)
Защита от уязвимостей
8/18
• Не хранить данные на SD карте• Выключить логирование• Настраивайте права доступа с учетом того,
что пользователь может пользоваться телефоном с Root правами или с джйлбрейком
• Просмотрите конфигурационные файлы вашего приложения на предмет забытых данных.
![Page 10: Тестирование безопасности мобильных приложений](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb81ffbb61ebc17c8b4601/html5/thumbnails/10.jpg)
Insufficient Transport Layer Protection
9/18
Основные проблемы:– Не используется шифрование.– Самоподписанные сертификаты
![Page 11: Тестирование безопасности мобильных приложений](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb81ffbb61ebc17c8b4601/html5/thumbnails/11.jpg)
Шифрование
10/18
– Проверка трафика мобильного приложения– Использовать сертификаты, подписанные
доверенными центрами.– При использовании контент-провайдеров
проверять и прописывать права доступа
![Page 12: Тестирование безопасности мобильных приложений](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb81ffbb61ebc17c8b4601/html5/thumbnails/12.jpg)
Контент-провайдеры
11/18
Контент провайдеры предоставляют доступ к файлам или базам данных для других приложений.
android:protectionLevel=“signature
![Page 13: Тестирование безопасности мобильных приложений](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb81ffbb61ebc17c8b4601/html5/thumbnails/13.jpg)
Weak Authorization
12/18
• Анонимная работа с приложением• Использование пользователей с низким
уровнем привилегий для получения данных доступных всем пользователям
• Слабые пароли
![Page 14: Тестирование безопасности мобильных приложений](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb81ffbb61ebc17c8b4601/html5/thumbnails/14.jpg)
Защита от уязвимости
13/18
• Аутентификация в мобильном приложении должна соответствовать таковой в web версии
• Локальная аутентификация должна работать через куки после того как пользователь был авторизован через сервер
• Запрет анонимной работы• Введение проверки прав пользователя• Сложные пароли
![Page 15: Тестирование безопасности мобильных приложений](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb81ffbb61ebc17c8b4601/html5/thumbnails/15.jpg)
Improper Session Handling
14/18
Механизм переключения состояний:• Смена анонимного пользователя на
зарегистрированного• Переключение между зарегистрированными
пользователями• Переключение между пользователями с разными
правами доступа
Токен должен уничтожаться на сервере.
Куки должны быть невалидны.
![Page 16: Тестирование безопасности мобильных приложений](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb81ffbb61ebc17c8b4601/html5/thumbnails/16.jpg)
Время жизни сессии
15/18
Долгое время жизни сессии• 15 минут для приложений с высоким уровнем
безопасности• 30 минут для приложений среднего уровня
безопасности• 1 час для остальных
![Page 17: Тестирование безопасности мобильных приложений](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb81ffbb61ebc17c8b4601/html5/thumbnails/17.jpg)
Предсказуемые токены
16/18
UserID+Current_DateTime
Autoincrement
![Page 18: Тестирование безопасности мобильных приложений](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb81ffbb61ebc17c8b4601/html5/thumbnails/18.jpg)
Заключение
17/18
1. Проверки не занимают много времени
2. Проверки не требуют специальных знаний
3. Все проще чем кажется
![Page 19: Тестирование безопасности мобильных приложений](https://reader030.vdocuments.net/reader030/viewer/2022032506/55cb81ffbb61ebc17c8b4601/html5/thumbnails/19.jpg)
Дополнительные материалы
18/18
1. OWASP Page2. Android Security Webinar 3. Уязвимости SSL
в мобильных приложениях