Онлайн-сообщество OWASP делает публикации тестирование безопасности. В частности, они рассказывают про ТОП-10 главных угроз, которые желательно проверять в ПО. Познакомимся с ними поближе.
Онлайн-сообщество OWASP делает публикации тестирование безопасности. В частности, они рассказывают про ТОП-10 главных угроз, которые желательно проверять в ПО. Познакомимся с ними поближе.
Оглавление
ToggleПри тестировании безопасности важно иметь актуальную информацию о наиболее значимых типах уязвимости и угроз. OWASP (Open Web Application Security Project) периодически выпускает сводку по 10 самым распространенным ошибкам в безопасности ПО, он называется OWASP Top-10.
Благодаря этой сводке тестировщики узнают самые частые угрозы. Проверяя их, можно обеспечить лучшее качество ПО. Что из себя представляет OWASP Top-10 – рассказываем в нашей статье.
Если приложение работает на SQL-движке и готово принимать параметры от пользователей для обработки, то злоумышленники под видом нормальных данных могут загрузить на сервер специальный набор SQL-команд, чтобы украсть и/или удалить конфиденциальную информацию.
Тестировать можно проверкой введения символов, характерных для SQL-команд. Более подробно про SQL-команд можно прочитать в статье на нашем сайте.
Плохо настроенная аутентификация при входе в приложение – это тоже дефект ПО. Злоумышленник может попытаться угадать пару логин/пароль (в т.ч. перебором с помощью специальной программы), чтобы войти в аккаунт и затем похитить данные (или получить контроль над какими-либо действиями.).
Тестировать можно через проверку слабых паролей (Password, Admin и 10 000 других самых плохих логинов/паролей) и установление ограничений на количество и время авторизаций в системе.
В каждом ПО есть наиболее важные данные – например, номера банковских карт, паспортные данные, реквизиты счетов, конфиденциальная информация и т.п. Злоумышленники охотятся прежде всего за ними, поэтому так важно обеспечить их сохранность. Это решается с помощью надежного шифрования данных. В этом случае злоумышленник не получит желаемого, даже если приложение будет взломано.
Тестировать можно с помощью проверки того, что все критичные данные зашифрованы.
Если приложение готово обрабатывать данные из внешнего XML-объекта и при этом не проверяет их, то злоумышленник может воспользоваться этим и передать вредоносное содержимое в виде XML-документа. Чтобы избежать такой ошибки, разработчики должны реализовать положительную проверку входных данных («белый список»). Поэтому здесь можно тестировать путем ввода данных вне белого списка.
Чтобы повысить сохранность данных и снизить вероятность их утечки – применяют разделение доступа. Администратор имеет другой уровень доступа, нежели обычные пользователи. Если контроль доступа будет нарушен – то злоумышленник может похитить данные.
Тестировать можно путем входа в систему под учетками с разным уровнем доступа.
В некоторых приложениях, созданных на основе типового ПО, разработчики иногда забывают убрать значения по умолчанию. Этим может воспользоваться злоумышленник, подсмотрев важную информацию. С помощью перебора («грубой силы») он может сгенерировать данные для доступа.
Тестировать можно путем проверки ПО на наличие неиспользуемых страниц, ненужных служб, конфигурации по умолчанию, сохраненных настроек доступа к файлам.
Межсайтовый скриптинг (XSS) — это внедрение злоумышленником вредоносного кода в выдаваемую веб-системой страницу вредоносного кода, который затем будет выполнен на устройстве клиента. Например, он может собрать данные или заставить загрузить зараженный HTML и выполнить команды JavaScript в браузере жертвы.
Тестировать можно через анализ API.
Сериализация — это процесс преобразования объектов в байтовые строки. Десереализация, соответственно, — это преобразование байтовых строк обратно в объекты. Злоумышленник может попытаться вклинить в байтовые строк вредоносную вставку, чтобы заразить объект и/или получить права администратора.
Лучший способ предотвратить – своевременно обновлять ПО.
Приложение может продолжать использовать ПО, которое уже не поддерживается или устарело. Например, системы управления базами данных, стороннее приложение, API, библиотеки и т.п. У них, в свою очередь, могут быть неустраненные уязвимости, которыми могут воспользоваться злоумышленники.
Поэтому нужно проверять, что ПО опирается на последние версии других операционных систем, сторонних приложений и т.д.
Программное обеспечение постоянно совершенствуется и обновляется. Поэтому важно проверять, все ли уязвимости учтены. Для этого разработчикам следует вести журнал аудита безопасности, в котором регистрируют все подозрительные события.
Тестировщик здесь может помочь проведением регрессионных тестов, чтобы еще раз проверить безопасность.
Сообщество OWASP регулярно составляет ТОП-10 главных угроз в безопасности ПО. QA-специалисту следует иметь их в виду, когда он занимается тестированием безопасности.
Автор Михаил Кулешов
Михаил, профессиональный партнерский маркетолог, является основателем компании South Media OÜ, которая была создана в 2018 году и базируется в Таллинне. С 2016 года Михаил уехал из Финляндии и жил как настоящий «цифровой кочевник» в IT-индустрии, путешествуя по миру только с ноутбуком. Михаил работает и пишет статьи, связанные с IT-индустрией.
© Copyright 2023 Testirovshik.com