<style>.lazy{display:none}</style>Основы тестирования на проникновение

Основы тестирования на проникновение

Прежде всего, что такое тестирование на проникновение?

Тестирование на проникновение (Penetration Testing) включает в себя различные ручные и автоматизированные методы имитации атак на информационные системы организаций. Обычно тестирование проводит этичный хакер или пентестер, который пытается проникнуть в корпоративные системы, найти и использовать уязвимости до того, как это сделает реальный злоумышленник.

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

Скачать одну из самых популярных книг по тестированию "Как тестируют в Google"

Содержание

Почему организации должны проводить тестирование на проникновение?

Перечислим причины, по которым проводить тестирование на проникновение необходимо:

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

Этапы тестирования на проникновение

Этапы тестирования на проникновение

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

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

Этапы следующие:

1. Планирование и разведка

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

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

2. Сканирование

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

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

3. Получение доступа или эксплуатация

На данном этапе найденные уязвимости активно используются для получения доступа к системе или ценным данным.

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

4. Поддержание доступа

Цель этапа заключается в проверке возможности сохранения постоянного доступа к приложению или системе.

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

5. Анализ и отчеты

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

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

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

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

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

Черный ящик

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

Как правило, тестировщик проводит разведку, чтобы получить информацию о системе и инфраструктуре безопасности.

Белый ящик

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

Это комплексный метод оценки, позволяющий выявлять как внешние, так и внутренние уязвимости.

Серый ящик

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

Тесты на физическое проникновение

Организации должны быть готовы к тому, что хакеры могут физически получить доступ к объекту. Их целью может быть как получение доступа, так и осуществление технических атак после этого.

Ниже представлены физические тесты на проникновение:

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

Тесты социальной инженерии

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

Типы атак следующие:

  • Фишинг: личная информация добывается путем рассылки вредоносного или зараженного кода по почте или в сообщениях;
  • Предлог (Pretexting): это форма кражи личных данных, при которой хакеры выдают себя за другого человека, являющегося частью организации, и получают доступ к инфраструктуре безопасности или конфиденциальным данным. Злоумышленник обычно создает ложный предлог или выдуманную историю, чтобы завоевать доверие жертвы и убедить ее совершить желаемое действие.

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

1. Тестирование на проникновение в сеть

Это наиболее распространенный и востребованный метод, который помогает обнаружить и использовать уязвимости в сетевой системе или инфраструктуре. Существует три типа сетевых тестов на проникновение: внешние, внутренние и беспроводные.

Внешнее проникновение: это процесс проверки безопасности сетей, серверов и систем, которые доступны из интернета. Тестирование поможет вам проверить, насколько надежно ваша система реагирует на угрозы извне.

Тесты, как правило, направлены на сетевые аспекты, такие как конфигурация брандмауэра, обход брандмауэра, обман системы предотвращения вторжений (Intrusion Prevention System, IPS) и атаки на уровне DNS.

Сканирование уязвимостей – автоматизированный процесс, в котором используются инструменты для поиска известных уязвимостей в вашей системе.

Сочетание автоматического и ручного тестирования на проникновение – это процесс, в ходе которого нацеливаются на найденные уязвимости и проводят различные атаки для получения полного контроля над системами, подключенными к интернету.

Внутреннее проникновение: этот тест включает в себя выявление слабых мест сети безопасности в ваших внутренних системах или инфраструктуре. Затем эти уязвимости используются для атак, чтобы проанализировать, как на них реагируют внутренние системы.

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

Тестирование на проникновение в беспроводные сети: беспроводные системы дают злоумышленникам возможность проникнуть в систему сетевой безопасности организации.

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

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

2. Тестирование на проникновение веб-приложений

Веб-приложения являются неотъемлемой частью организаций. И, поэтому, взломанное веб-приложение может привести к утечке конфиденциальной информации.

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

Смотрите также: “Тестирование безопасности приложения”.

3. Тестирование на проникновение мобильных приложений

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

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

Инструменты для тестирования на проникновение

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

Один из самых распространенных инструментов – BURP SUITE PRO.

Планирование бюджета

Стоимость и бюджет зависят от множества факторов и не являются постоянными. На стоимость тестирования на проникновение влияют следующие факторы:

  • Цель тестирования
  • Объем
  • Методология или подход
  • Навыки
  • Ретесты

Заключение

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

Крайне важно проводить тестирование на проникновение периодически, а не надеяться, что одного раза будет достаточно. 

Благодаря развитию облачных технологий, очень многие стартапы организуют свою деятельность по модели SaaS (программное обеспечение как услуга, Software as a Service). И, будучи новичками, молодые компании склонны не уделять должного внимания безопасности приложений.

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

Перевод статьи «The Basics of Penetration Testing».

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *