Особенности проведения тестирования приложения на безопасности

Как проводится тестирование безопасности мобильного приложения

Перед релизом приложение нужно тестировать. Оно включает не только проверку работоспособности и выявление багов. Если программа собирает данные пользователей, то она должна обеспечивает их безопасное хранение. Поэтому при разработке мобильного приложения нужно проверить продукт на наличие уязвимостей.

Проведение тестирование на безопасность

Сначала нужно убедиться в невозможности SQL инъекций. Для этого важно соблюдать два правила — данные отправляются через плейсхолдеры (специальные текстовые поля) и ключевые слова вставляются только из белого списка. Важно настроить параметризацию.

Проверку на выявление "дыр" можно осуществлять специальными сервисами. Например, OpenVAS выявляет уязвимости, и выдает рекомендации по исправлению проблемы. Может помочь Approof от Positive Technologies — он выявляет незащищенные данные.

Пароли пользователей нужно хранить в зашифрованном виде. Для этого нужно использовать односторонние алгоритмы, например, SHA. Дополнительно внедряют "соль" — строку, которая усложнит расшифровку данных.

Проверка OWASP Xenotix позволяет выявить XSS-уязвимостей. Они направлены на добавление вредоносного кода. Например, пользователь пишет комментарий с опасным содержимым. Другой человек, когда прочитает его, лишается данных авторизации — они отправляются злоумышленникам. Желательно использовать CSP — она определяет допустимые источники для загрузки. Например, не получится использовать скрипт из другого домена.

Нужно получить сертификат SSL. Он позволяет использовать защищенный канал для передачи данных. Выдают его специальные организации. Если при разработке приложения для iOS или Android планируется внедрение функции загрузки файлов, например аватарки, то нужно предпринять меры безопасности. Можно запретить прямой доступ или ограничить его возможности. Например, изменять расширение или помещать их в закрытую часть.

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