atesting.ru Блог Учебное пособие по тестированию безопасности | Материалы для тестирования программного обеспечения

Учебное пособие по тестированию безопасности | Материалы для тестирования программного обеспечения

Учебное пособие по тестированию безопасности | Материалы для тестирования программного обеспечения

В этом руководстве по тестированию безопасности мы собираемся изучить следующее

Что такое тестирование безопасности?

Тестирование безопасности — это процесс, позволяющий определить, защищает ли система данные и поддерживает ли она функциональность, как задумано.

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

Он проходит в рамках нефункционального тестирования.

Мы можем проводить это тестирование, используя как ручные, так и автоматизированные инструменты и методы тестирования безопасности. Тестирование безопасности рассматривает существующую систему, чтобы найти уязвимости.

Большинство компаний тестируют безопасность на недавно развернутом или разработанном программном обеспечении, оборудовании, а также в сетевой или информационной среде. Но эксперты настоятельно рекомендуют проводить тестирование безопасности как часть процесса аудита информационной системы существующей информационной системы, чтобы выявить все возможные риски безопасности и помочь разработчикам в их устранении.

Что такое основные направления тестирования безопасности

Ниже приведены четыре основных направления, которые следует учитывать при тестировании безопасности веб-приложения.

Сетевая безопасность:

Тестировщикам необходимо внимательно присмотреться к ним. на наличие уязвимостей в сетевой инфраструктуре (ресурсы и политики).

Безопасность системного программного обеспечения:

Тестировщики должны оценить слабые места в различном программном обеспечении, таком как операционное системы, базы данных и другое связанное программное обеспечение, от которого зависит приложение.

Безопасность клиентского приложения:

Чтобы гарантировать, что клиентский браузер и связанные с ним инструменты не подвергаются манипуляциям.

Безопасность серверного приложения:

Чтобы убедиться, что сервер и связанные с ним технологии достаточно надежны, чтобы блокировать любые уязвимости.

Каковы принципы тестирования безопасности?

Он направлен на охват следующих основных компонентов безопасности

  1. Аутентификация
  2. Авторизация
  3. Доступность
  4. Конфиденциальность
  5. Целостность
  6. Отсутствие отказа от авторства

Почему важно тестирование безопасности?

Тестирование безопасности программного обеспечения важно из-за увеличения числа нарушений конфиденциальности, с которыми сегодня сталкиваются веб-сайты. Чтобы избежать этих нарушений конфиденциальности, организации, занимающиеся разработкой программного обеспечения, должны включить это тестирование в свою стратегию разработки, основанную на методологиях тестирования и последних отраслевых стандартах.

Важно внедрить процесс безопасности на каждом этапе SDLC.

  • Этап требований: анализ безопасности всех требований.
  • < strong> Этап разработки: реализация плана тестирования, включая тесты безопасности.
  • Code & amp; Модульное тестирование: тестирование «белого ящика» безопасности
  • Тестирование интеграции: тестирование «черного ящика»
  • Тестирование системы: черный ящик Тестирование & amp; Сканирование уязвимостей
  • Внедрение системного тестирования: тестирование на проникновение & amp; Сканирование уязвимостей
  • Поддержка: анализ воздействия

Основные уязвимости:

Тесты безопасности включают тестирование уязвимостей, таких как

  • SQL-инъекция
  • Межсайтовый скриптинг (XSS)
  • Управление сеансом
  • Нарушение аутентификации
  • Подделка межсайтовых запросов (CSRF)
  • Неверная конфигурация безопасности
  • Неспособность ограничить доступ к URL-адресу
  • Открытие защищенных данных
  • Ссылка на незащищенные прямые объекты
  • Отсутствие контроля доступа на уровне функций
  • Использование компонентов с известными уязвимостями
  • Непроверенные перенаправления и переадресации

Какие бывают типы тестирования безопасности

Ниже представлены семь основных типов тестирования безопасности.

Учебное пособие по тестированию безопасности | Материалы для тестирования программного обеспечения

Сканирование уязвимостей:

При сканировании уязвимостей (также известном как оценка уязвимости) мы просто выявляем уязвимость и сообщаем о ней с помощью инструментов сканирования уязвимостей.

< p> Это первый шаг к повышению безопасности системы.

Отчет об оценке уязвимости должен содержать заголовок, описание и степень серьезности уязвимости.

Сканирование безопасности:

Сканирование безопасности выполняется для выявления слабых мест в безопасности сети и системы, а также предоставляет решения для снижения этих рисков.

Тестирование на проникновение :

В ходе тестирования на проникновение (также известного как Pen-тест) мы выявляем уязвимости и пытаемся использовать их с помощью инструментов тестирования на проникновение. Мы повторяем те же тесты на проникновение, пока система не даст отрицательный результат по всем этим тестам.

Тестирование на проникновение можно разделить на три метода, такие как ручное тестирование на проникновение, автоматическое тестирование на проникновение и сочетание ручного и ручного тестирования. автоматическое тестирование на проникновение.

Оценка рисков:

Оценка рисков включает в себя рассмотрение и анализ рисков безопасности, которые позже будут определены как низкий, средний и высокий. Он также рекомендует возможные способы предотвращения риска.

Аудит безопасности:

Аудит безопасности — это процедура определения недостатков безопасности. Это внутренняя проверка систем для поиска недостатков безопасности. В некоторых случаях аудит проводится построчно, проверяя код

Этический взлом:

Этический взлом выполняется в системе с целью найти и выявить проблемы безопасности в системе. Этический взлом выполняется хакером в белой шляпе. Хакер в белой шляпе — профессионал в области безопасности, который законным образом использует свои навыки для выявления дефектов системы.

Оценка состояния:

Оценка состояния — это комбинация сканирования безопасности, этического взлома и оценки рисков для представления состояния безопасности системы или организации.

Методы тестирования безопасности

При тестировании безопасности используются следующие методы/методики.

Тестирование черного ящика:

В черном ящике тестировщикам разрешено проводить тестирование всего, что касается топология сети и технология.

Тестирование серого ящика:

В сером ящике тестировщикам предоставляется частичная информация о системе. Это гибрид моделей белого и черного ящиков.

Тестирование тигрового ящика:

Оно проводится в системе с набором операционных систем и инструменты взлома. Он помогает тестировщикам безопасности проводить оценку уязвимостей и атаки.

Инструменты тестирования безопасности:

Чтобы найти недостатки и уязвимости в веб-приложении, на рынке доступно множество бесплатных, платных и открытых инструментов. Мы знаем, что преимущество инструментов с открытым исходным кодом состоит в том, что мы можем легко настроить их в соответствии с нашими требованиями. Мы здесь, чтобы продемонстрировать некоторые из 12 лучших инструментов тестирования безопасности с открытым исходным кодом.

Мы используем эти инструменты тестирования для проверки того, насколько безопасен веб-сайт или веб-приложение.

Инструменты тестирования безопасности с открытым исходным кодом:

Некоторые из инструментов с открытым исходным кодом: Zed Attack Proxy, Wfuzz, Wapiti и т. Д.

Коммерческое тестирование безопасности Инструменты:

Некоторые из коммерческих инструментов — GrammaTech, Appscan, Veracode и т. Д.

Чтобы узнать больше, вы также можете проверить OWASP (Open Web Application Security Project ).

Заключение:

Мы знаем, насколько важно тестирование безопасности в наши дни. Его цель — выявить все возможные лазейки и слабые места системы. Тестировщики играют роль злоумышленника, чтобы обнаружить в системе ошибки, связанные с безопасностью.

Если у вас есть какие-либо вопросы, оставьте комментарий ниже.

TAG: qa