EITC/IS/WAPT Web Applications Penetration Testing — это европейская программа сертификации ИТ по теоретическим и практическим аспектам тестирования веб-приложений на проникновение (белый взлом), включая различные методы для поиска веб-сайтов, сканирования и методы атак, включая специализированные инструменты и наборы для тестирования на проникновение. .
Учебная программа EITC/IS/WAPT по тестированию на проникновение веб-приложений включает в себя введение в Burp Suite, веб-распределение и DVWA, тестирование грубой силы с помощью Burp Suite, обнаружение брандмауэра веб-приложений (WAF) с помощью WAFW00F, целевую область и спайдеринг, обнаружение скрытых файлов с помощью ZAP, сканирование уязвимостей WordPress и перечисление имен пользователей, сканирование балансировщика нагрузки, межсайтовый скриптинг, XSS — отражение, сохранение и DOM, прокси-атаки, настройка прокси в ZAP, атаки на файлы и каталоги, обнаружение файлов и каталогов с помощью DirBuster, практика веб-атак , OWASP Juice Shop, CSRF — подделка межсайтовых запросов, сбор файлов cookie и реверс-инжиниринг, HTTP-атрибуты — кража файлов cookie, внедрение SQL, DotDotPwn — фаззинг при обходе каталогов, внедрение iframe и внедрение HTML, эксплойт Heartbleed — обнаружение и эксплуатация, внедрение кода PHP, bWAPP — внедрение HTML, отражение POST, внедрение команд ОС с помощью Commix, серверная часть включает внедрение SSI, тестирование на проникновение в Docker, OverTheWire Natas, LFI и внедрение команд, взлом Google для пентестинга, Google Dorks для тестирования на проникновение, Apache2 ModSecurity, а также Nginx ModSecurity в следующей структуре, включающей исчерпывающий обучающий видеоконтент в качестве справочного материала для этой сертификации EITC.
Безопасность веб-приложений (часто называемая Web AppSec) — это концепция проектирования веб-сайтов таким образом, чтобы они нормально функционировали даже в случае атаки. Идея заключается в интеграции набора мер безопасности в веб-приложение для защиты его активов от враждебных агентов. Веб-приложения, как и все программное обеспечение, подвержены недостаткам. Некоторые из этих недостатков являются реальными уязвимостями, которые можно использовать, создавая риск для бизнеса. Такие недостатки защищены с помощью безопасности веб-приложений. Это влечет за собой использование безопасных подходов к разработке и введение средств контроля безопасности на протяжении всего жизненного цикла разработки программного обеспечения (SDLC), гарантируя устранение недостатков проектирования и проблем реализации. Онлайн-тестирование на проникновение, которое проводится экспертами, нацеленными на обнаружение и использование уязвимостей веб-приложений с использованием так называемого подхода «белого взлома», является важной практикой для обеспечения надлежащей защиты.
Тест на проникновение в Интернет, также известный как веб-тест на проникновение, имитирует кибератаку на веб-приложение с целью обнаружения уязвимых мест. Тестирование на проникновение часто используется в дополнение к брандмауэру веб-приложений в контексте безопасности веб-приложений (WAF). Тестирование на проникновение, как правило, влечет за собой попытки проникнуть в любое количество прикладных систем (например, API-интерфейсы, интерфейсные/внутренние серверы) с целью обнаружения уязвимостей, таких как недезинфицированные входные данные, уязвимые для атак путем внедрения кода.
Результаты онлайн-теста на проникновение можно использовать для настройки политик безопасности WAF и устранения обнаруженных уязвимостей.
Тестирование на проникновение состоит из пяти шагов.
Процедура тестирования пера разделена на пять шагов.
- Планирование и разведка
Определение объема и целей тестирования, в том числе систем, которые должны быть рассмотрены, и методологий тестирования, которые будут использоваться, является первым этапом.
Чтобы лучше понять, как работает цель и ее потенциальные недостатки, соберите информацию (например, сетевые и доменные имена, почтовый сервер). - Сканирование
Следующий этап — выяснить, как целевое приложение будет реагировать на различные типы попыток вторжения. Обычно это достигается с помощью следующих методов:
Статический анализ — изучение кода приложения для прогнозирования его поведения при запуске. За один проход эти инструменты могут сканировать весь код.
Динамический анализ — это процесс проверки кода приложения во время его работы. Этот метод сканирования является более практичным, поскольку он обеспечивает представление производительности приложения в режиме реального времени. - Получение доступа
Чтобы найти слабые места цели, на этом этапе используются атаки на веб-приложения, такие как межсайтовый скриптинг, SQL-инъекция и бэкдоры. Чтобы понять ущерб, который могут нанести эти уязвимости, тестировщики пытаются использовать их, повышая привилегии, воруя данные, перехватывая трафик и так далее. - Сохранение доступа
Цель этого этапа — оценить, можно ли использовать уязвимость для установления долгосрочного присутствия в скомпрометированной системе, что позволит злоумышленнику получить углубленный доступ. Цель состоит в том, чтобы имитировать сложные постоянные угрозы, которые могут оставаться в системе в течение нескольких месяцев, чтобы украсть наиболее конфиденциальную информацию компании. - Анализ
Затем результаты теста на проникновение помещаются в отчет, который включает в себя такую информацию, как:
Уязвимости, которые были использованы в деталях
Полученные данные, которые были конфиденциальными
Количество времени, в течение которого пентестер мог оставаться незамеченным в системе.
Эксперты по безопасности используют эти данные, чтобы помочь настроить параметры WAF предприятия и другие решения безопасности приложений, чтобы исправить уязвимости и предотвратить дальнейшие атаки.
Методы тестирования на проникновение
- Внешнее тестирование на проникновение фокусируется на активах фирмы, видимых в Интернете, таких как само веб-приложение, веб-сайт компании, а также серверы электронной почты и доменных имен (DNS). Цель состоит в том, чтобы получить доступ и извлечь полезную информацию.
- Внутреннее тестирование предполагает, что тестировщик имеет доступ к приложению за брандмауэром компании, имитируя враждебную инсайдерскую атаку. Это не обязательно мошенническая симуляция сотрудника. Обычно отправной точкой является сотрудник, учетные данные которого были получены в результате попытки фишинга.
- Слепое тестирование — это когда тестировщику просто сообщают название тестируемой компании. Это позволяет экспертам по безопасности увидеть, как может происходить реальная атака на приложение в режиме реального времени.
- Двойное слепое тестирование: при двойном слепом тестировании специалисты по безопасности заранее не знают о смоделированной атаке. У них не будет времени укрепить свои укрепления до попытки прорыва, как в реальном мире.
- Целевое тестирование — в этом сценарии тестировщик и сотрудники службы безопасности сотрудничают и отслеживают перемещения друг друга. Это отличное учебное упражнение, которое дает команде безопасности обратную связь в режиме реального времени с точки зрения хакера.
Брандмауэры веб-приложений и тестирование на проникновение
Тестирование на проникновение и WAF — это два отдельных, но дополняющих друг друга метода обеспечения безопасности. Тестер, скорее всего, будет использовать данные WAF, такие как журналы, для поиска и использования слабых мест приложения во многих типах ручного тестирования (за исключением слепых и двойных слепых тестов).
В свою очередь, данные ручного тестирования могут помочь администраторам WAF. После завершения теста конфигурации WAF могут быть изменены для защиты от недостатков, обнаруженных во время теста.
Наконец, ручное тестирование удовлетворяет некоторым требованиям соответствия методов аудита безопасности, таким как PCI DSS и SOC 2. Некоторые требования, такие как PCI-DSS 6.6, могут быть выполнены только в том случае, если используется сертифицированный WAF. Однако из-за вышеупомянутых преимуществ и возможности изменения настроек WAF это не делает тестирование пера менее полезным.
Каково значение тестирования веб-безопасности?
Целью тестирования веб-безопасности является выявление недостатков безопасности в веб-приложениях и их настройке. Прикладной уровень является основной целью (т. е. то, что выполняется по протоколу HTTP). Отправка различных форм входных данных в веб-приложение, чтобы вызвать проблемы и заставить систему реагировать неожиданным образом, является распространенным подходом к тестированию его безопасности. Эти «отрицательные тесты» смотрят, делает ли система что-то, для чего она не предназначена.
Также очень важно понимать, что тестирование веб-безопасности включает в себя больше, чем просто проверку функций безопасности приложения (таких как аутентификация и авторизация). Также крайне важно обеспечить безопасное развертывание других функций (например, бизнес-логики и использования надлежащей проверки входных данных и кодирования выходных данных). Цель состоит в том, чтобы убедиться, что функции веб-приложения безопасны.
Какие существуют типы оценок безопасности?
- Тест на динамическую безопасность приложений (DAST). Этот автоматизированный тест безопасности приложений лучше всего подходит для внутренних приложений с низким уровнем риска, которые должны соответствовать нормативным требованиям безопасности. Сочетание DAST с некоторым ручным онлайн-тестированием безопасности на наличие распространенных уязвимостей — лучшая стратегия для приложений со средним уровнем риска и важных приложений, в которые вносятся незначительные изменения.
- Проверка безопасности для статических приложений (SAST). Эта стратегия безопасности приложений включает как автоматизированные, так и ручные методы тестирования. Он идеально подходит для обнаружения ошибок без необходимости запускать приложения в реальной среде. Это также позволяет инженерам сканировать исходный код для систематического обнаружения и устранения недостатков безопасности программного обеспечения.
- Экзамен на проникновение. Этот ручной тест безопасности приложений идеально подходит для важных приложений, особенно тех, которые претерпевают значительные изменения. Чтобы найти расширенные сценарии атак, оценка использует бизнес-логику и тестирование на основе злоумышленников.
- Самозащита приложений во время выполнения (RASP). Этот развивающийся метод обеспечения безопасности приложений включает в себя различные технологические приемы для оснащения приложения таким образом, чтобы можно было наблюдать за угрозами и, возможно, предотвращать их в режиме реального времени по мере их возникновения.
Какую роль играет тестирование безопасности приложений в снижении рисков компании?
Подавляющее большинство атак на веб-приложения включают:
- SQL-инъекция
- XSS (межсайтовый скриптинг)
- Удаленное выполнение команд
- Атака обхода пути
- Ограниченный доступ к контенту
- Скомпрометированные учетные записи пользователей
- Установка вредоносного кода
- Упущенный доход от продаж
- Доверие клиентов подрывается
- Ущерб репутации бренда
- И много других атак
В современной среде Интернета веб-приложение может быть повреждено различными проблемами. На приведенном выше рисунке показано несколько наиболее распространенных атак, совершаемых злоумышленниками, каждая из которых может нанести значительный ущерб отдельному приложению или всему бизнесу. Знание множества атак, делающих приложение уязвимым, а также возможных результатов атаки позволяет компании заблаговременно устранять уязвимости и эффективно их тестировать.
На ранних этапах SDLC можно установить смягчающие меры, чтобы предотвратить любые проблемы путем определения основной причины уязвимости. Во время тестирования безопасности веб-приложения знание того, как работают эти угрозы, также может быть использовано для нацеливания на известные достопримечательности.
Распознавание последствий атаки также важно для управления рисками компании, поскольку последствия успешной атаки могут быть использованы для определения серьезности уязвимости в целом. Если во время тестирования безопасности обнаруживаются уязвимости, определение их серьезности позволяет компании более эффективно расставлять приоритеты по устранению недостатков. Чтобы снизить риск для компании, начните с проблем критической важности и постепенно опускайтесь до тех, которые менее значимы.
Перед выявлением проблемы оценка возможного влияния каждой программы в библиотеке приложений компании поможет вам расставить приоритеты при тестировании безопасности приложений. Тестирование безопасности Wenb может быть запланировано в первую очередь для критически важных приложений фирмы, с более целенаправленным тестированием, чтобы снизить риск для бизнеса. Имея установленный список приложений высокого профиля, тестирование безопасности wenb может быть запланировано в первую очередь для критически важных приложений фирмы, с более целенаправленным тестированием, чтобы снизить риск для бизнеса.
Какие функции следует проверить во время тестирования безопасности веб-приложения?
Во время тестирования безопасности веб-приложений рассмотрите следующий неисчерпывающий список функций. Неэффективное внедрение каждого из них может привести к возникновению слабых сторон, что поставит компанию под угрозу.
- Настройка приложения и сервера. Настройки шифрования/криптографии, конфигурации веб-сервера и т. д. — все это примеры потенциальных недостатков.
- Проверка ввода и обработка ошибок Плохая обработка ввода и вывода приводит к внедрению кода SQL, межсайтовому скриптингу (XSS) и другим типичным проблемам внедрения.
- Аутентификация и обслуживание сессий. Уязвимости, которые могут привести к олицетворению пользователя. Также следует учитывать надежность и защиту учетных данных.
- Авторизация. Тестируется способность приложения защищать от вертикального и горизонтального повышения привилегий.
- Логика в бизнесе. Большинство программ, обеспечивающих бизнес-функциональность, полагаются на них.
- Логика на стороне клиента. Этот тип функций становится все более распространенным на современных веб-страницах с большим количеством JavaScript, а также на веб-страницах, использующих другие типы клиентских технологий (например, Silverlight, Flash, апплеты Java).
Чтобы более подробно ознакомиться с учебным планом сертификации, вы можете расширить и проанализировать таблицу ниже.
Учебная программа EITC/IS/WAPT по сертификации тестирования на проникновение веб-приложений ссылается на дидактические материалы с открытым доступом в виде видео. Процесс обучения разделен на пошаговую структуру (программы -> уроки -> темы), охватывающую соответствующие разделы учебного плана. Также предоставляются неограниченные консультации с экспертами в предметной области.
Подробнее о процедуре сертификации см. Как это работает.
Загрузите полные подготовительные материалы для автономного самообучения для программы тестирования на проникновение веб-приложений EITC/IS/WAPT в файле PDF.
Подготовительные материалы EITC/IS/WAPT – стандартная версия
Подготовительные материалы EITC/IS/WAPT – расширенная версия с обзорными вопросами