20
Мобильная безопасность. Что тестировать? Igor Bondarenko. Neklo LLC

Тестирование безопасности мобильных приложений

Embed Size (px)

Citation preview

Page 1: Тестирование безопасности мобильных приложений

Мобильная безопасность. Что тестировать?

Igor Bondarenko. Neklo LLC

Page 2: Тестирование безопасности мобильных приложений

OWASP TOP 10

1/18

Page 3: Тестирование безопасности мобильных приложений

В этом докладе

2/18

Небезопасное хранение данных

Недостаточная защита каналов передачи данных

Слабая авторизация и аутентификация

Небезопасное управление сессиями

Page 4: Тестирование безопасности мобильных приложений

Insecure Data Storage

3/18

Четыре основные проблемы:

– Hardcoded and forgotten– Incorrect files permissions– SD Storage– Logs

Page 5: Тестирование безопасности мобильных приложений

Hardcoded and forgotten

4/18

- Default/test credentials - Test servers/ locals Ips

Page 6: Тестирование безопасности мобильных приложений

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: Тестирование безопасности мобильных приложений

SD Storage

6/18

Данные на SD карте доступны всем приложениям.

Page 8: Тестирование безопасности мобильных приложений

Логирование

7/18

android.permission.READ_LOGS

Page 9: Тестирование безопасности мобильных приложений

Защита от уязвимостей

8/18

• Не хранить данные на SD карте• Выключить логирование• Настраивайте права доступа с учетом того,

что пользователь может пользоваться телефоном с Root правами или с джйлбрейком

• Просмотрите конфигурационные файлы вашего приложения на предмет забытых данных.

Page 10: Тестирование безопасности мобильных приложений

Insufficient Transport Layer Protection

9/18

Основные проблемы:– Не используется шифрование.– Самоподписанные сертификаты

Page 11: Тестирование безопасности мобильных приложений

Шифрование

10/18

– Проверка трафика мобильного приложения– Использовать сертификаты, подписанные

доверенными центрами.– При использовании контент-провайдеров

проверять и прописывать права доступа

Page 12: Тестирование безопасности мобильных приложений

Контент-провайдеры

11/18

Контент провайдеры предоставляют доступ к файлам или базам данных для других приложений.

android:protectionLevel=“signature

Page 13: Тестирование безопасности мобильных приложений

Weak Authorization

12/18

• Анонимная работа с приложением• Использование пользователей с низким

уровнем привилегий для получения данных доступных всем пользователям

• Слабые пароли

Page 14: Тестирование безопасности мобильных приложений

Защита от уязвимости

13/18

• Аутентификация в мобильном приложении должна соответствовать таковой в web версии

• Локальная аутентификация должна работать через куки после того как пользователь был авторизован через сервер

• Запрет анонимной работы• Введение проверки прав пользователя• Сложные пароли

Page 15: Тестирование безопасности мобильных приложений

Improper Session Handling

14/18

Механизм переключения состояний:• Смена анонимного пользователя на

зарегистрированного• Переключение между зарегистрированными

пользователями• Переключение между пользователями с разными

правами доступа

Токен должен уничтожаться на сервере.

Куки должны быть невалидны.

Page 16: Тестирование безопасности мобильных приложений

Время жизни сессии

15/18

Долгое время жизни сессии• 15 минут для приложений с высоким уровнем

безопасности• 30 минут для приложений среднего уровня

безопасности• 1 час для остальных

Page 17: Тестирование безопасности мобильных приложений

Предсказуемые токены

16/18

UserID+Current_DateTime

Autoincrement

Page 18: Тестирование безопасности мобильных приложений

Заключение

17/18

1. Проверки не занимают много времени

2. Проверки не требуют специальных знаний

3. Все проще чем кажется

Page 20: Тестирование безопасности мобильных приложений

Вопросы

Email: [email protected]

Skype: igor.bondarenko1