Статья Тестирование web-приложений на проникновение: введение и основные цели

  • Автор темы AnnaDavydova
  • Дата начала
  • Теги
    owasp
AnnaDavydova

AnnaDavydova

Перевожу для codeby
06.08.2016
98
715
Данная статья является частью нового руководства OWASP Testing Guide v4.

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

Что такое тестирование web-приложений на проникновение ?

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

Что такое уязвимость?

Уязвимость – это недостаток или слабая сторона в структуре системы, её использовании, работе или управлении ею, которые могут быть использованы для взлома той или иной системы.

Что такое угроза?

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

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

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

Основной подход в написании данного руководства.

Подход OWASP является открытым и общим:

• Почему открытый: каждый эксперт по безопасности может принимать участие в данном проекте, используя свои идеи и опыт. Все абсолютно бесплатно.
• Почему общий: мозговой штурм проводится до написания статей с той целью, чтобы команда могла делиться идеями и разрабатывать коллективное видение проекта. Это означает приблизительный консенсус, более широкую аудиторию и расширенное участие.

Целью данного подхода является создание определенной методики тестирования, которая будет:
  • Последовательной
  • Воспроизводимой
  • Точной
  • Под контролем качества.
Проблемы, с которыми вы можете столкнуться, тщательно задокументированы и проверены. Очень важно использовать определенный метод, чтобы проверить все известные уязвимости и задокументировать всю деятельность, связанную с проверкой безопасности.

Что такое методика тестирования OWASP?


Проверка безопасности никогда не будет точной наукой, где может быть определен полный список всех возможных проблем, которые должны быть проверены. Действительно, тестирование безопасности является лишь подходящей методикой для проверки безопасности веб-приложений при определенных обстоятельствах. Цель данного проекта - собрать все возможные методы тестирования, объяснить эти методы и постоянно обновлять руководство. Метод тестирования безопасности веб-приложений OWASP основан на подходе «черного ящика» (black box). Тестировщик ничего не знает или у него имеется очень мало информации о тестируемом приложении.

Модель тестирования включает:
  • Тестировщика: тот, кто выполняет тестирование
  • Инструменты и методики: основа данного проекта-руководства по тестированию
  • Приложение: Черный ящик (black box) для тестирования
Процесс тестирования делится на 2 фазы:

Этап 1 Пассивный режим:

В пассивном режиме тестировщик пытается понять логику приложения и играет с приложением. Инструменты могут использоваться для сбора информации. Например, HTTP-прокси может использоваться для наблюдения всех HTTP-запросов и откликов. В конце этого этапа тестировщик должен понимать все логические элементы приложения (например, заголовки HTTP, параметры и файлы cookie). Раздел «Сбор информации» объясняет, как выполнить тестирование в пассивном режиме.

Например, тестировщик может найти следующее
Код:
https://www.example.com/login/Authentic_Form.html
Это может указывать на форму аутентификации, в которой приложение запрашивает имя пользователя и пароль.

Следующие параметры представляют собой два логических элемента приложения:
Код:
http://www.example.com/Appx.jsp?a=1&b=1
В данном случае приложение показывает два логических элемента (параметры a и b). Все обнаруженные на данном этапе логические элементы представляют точку тестирования. Электронная таблица с деревом каталогов приложения и всеми логическими элементами будет полезна для второго этапа.

Этап 2 Активный режим:

На данном этапе тестировщик начинает проверку, используя методику, описанную в последующих разделах.
Набор активных тестов был разделен на 11 подкатегорий, в общей сложности 91 элемент управления:
  • Сбор информации
  • Тестирование управления конфигурацией и развертыванием
  • Тестирование управления идентификацией
  • Тестирование аутентификации
  • Тестирование авторизации
  • Тестирование управления сеансом
  • Тестирование валидации входа
  • Обработка ошибок
  • Криптография
  • Тестирование бизнес-логики
  • Тестирование клиентской стороны
Источник:
 
Мы в соцсетях: