mobile security testing
TRANSCRIPT
В этом докладе
2/18
Небезопасное хранение данных
Недостаточная защита каналов передачи данных
Слабая авторизация и аутентификация
Небезопасное управление сессиями
Insecure Data Storage
3/18
Четыре основные проблемы:
– Hardcoded and forgotten– Incorrect files permissions– SD Storage– Logs
Incorrect files permissions
5/18
One app – One UID – 0660 mask for new files (-rw-rw----) – 0666 mask for new files (-rw-rw-rw)
Защита от уязвимостей
8/18
• Не хранить данные на SD карте• Выключить логирование• Настраивайте права доступа с учетом того,
что пользователь может пользоваться телефоном с Root правами или с джйлбрейком
• Просмотрите конфигурационные файлы вашего приложения на предмет забытых данных.
Insufficient Transport Layer Protection
9/18
Основные проблемы:– Не используется шифрование.– Самоподписанные сертификаты
Шифрование
10/18
– Проверка трафика мобильного приложения– Использовать сертификаты, подписанные
доверенными центрами.– При использовании контент-провайдеров
проверять и прописывать права доступа
Контент-провайдеры
11/18
Контент провайдеры предоставляют доступ к файлам или базам данных для других приложений.
android:protectionLevel=“signature
Weak Authorization
12/18
• Анонимная работа с приложением• Использование пользователей с низким
уровнем привилегий для получения данных доступных всем пользователям
• Слабые пароли
Защита от уязвимости
13/18
• Аутентификация в мобильном приложении должна соответствовать таковой в web версии
• Локальная аутентификация должна работать через куки после того как пользователь был авторизован через сервер
• Запрет анонимной работы• Введение проверки прав пользователя• Сложные пароли
Improper Session Handling
14/18
Механизм переключения состояний:• Смена анонимного пользователя на
зарегистрированного• Переключение между зарегистрированными
пользователями• Переключение между пользователями с разными
правами доступа
Токен должен уничтожаться на сервере.
Куки должны быть невалидны.
Время жизни сессии
15/18
Долгое время жизни сессии• 15 минут для приложений с высоким уровнем
безопасности• 30 минут для приложений среднего уровня
безопасности• 1 час для остальных
Заключение
17/18
1. Проверки не занимают много времени
2. Проверки не требуют специальных знаний
3. Все проще чем кажется
Дополнительные материалы
18/18
1. OWASP Page2. Android Security Webinar 3. Уязвимости SSL
в мобильных приложениях