Тестирование на проникновение, также известное как пентест, — это практика тестирования компьютерной системы, сети или веб-приложения с целью обнаружения уязвимостей безопасности, которыми может воспользоваться злоумышленник. Тестирование на проникновение может быть автоматизировано с помощью программного приложения или проводиться вручную. В любом случае, процесс включает в себя сбор информации об объекте перед тестированием, определение возможных точек входа, попытку взлома (виртуальную или реальную) и отчет о результатах.
Давайте посмотрим на английское объяснение на Wikipedia
Тест на проникновение — это авторизованное моделирование атаки на компьютерную систему, используемое для оценки безопасности системы. Испытания проводятся для выявления двух недостатков (также известных как уязвимости), включая возможность доступа неавторизованных лиц к функциям и данным системы, а также преимуществ, что позволяет провести полную оценку рисков. В процессе обычно определяются целевая система и конкретная цель, затем рассматривается имеющаяся информация и внедряются различные средства для достижения этой цели. Цели тестирования на проникновение могут быть достигнуты методом «белого ящика» (предоставляющими справочную и системную информацию) или «черного ящика» (предоставляющими только основную информацию или не предоставляющими никакой информации, кроме названия компании). Тестирование на проникновение методом «серого ящика» — это комбинация обоих методов (когда ограниченные знания о цели передаются аудитору). Пентест может помочь определить, уязвима ли система к атакам, адекватна ли защита, и какие средства защиты, если таковые имеются, были разрушены в результате тестирования. О проблемах безопасности, выявленных в ходе тестирования на проникновение, следует сообщать владельцу системы. Отчеты о тестировании на проникновение также могут оценить потенциальное воздействие на организацию и предложить контрмеры для снижения риска.
Цели пентеста
Цели тестирования на проникновение варьируются в зависимости от типа утвержденной деятельности в отношении каждого конкретного задания, где основной целью является обнаружение уязвимостей, которые могут быть использованы злоумышленниками, и информирование клиента об этих уязвимостях вместе с рекомендуемыми стратегиями их устранения. Тестирование на проникновение является неотъемлемой частью комплексного аудита безопасности. Например, стандарт безопасности данных индустрии платежных карт требует, чтобы тестирование на проникновение проводилось регулярно после изменений в системе.
Гипотеза о недостатках — это метод системного анализа и прогнозирования проникновения, при котором список гипотетических недостатков в программной системе составляется путем анализа спецификаций и документации системы. Затем список гипотетических недостатков расставляется по приоритетам на основе оценки вероятности того, что недостаток действительно существует и что уязвимость может быть легко использована в контролируемом или скомпрометированном диапазоне. Список приоритетов используется для руководства фактическим тестированием системы.
Зачем нужен пентест?
Цель тестирования на проникновение видна из описания его определения. Например, тестирование на проникновение веб-приложений используется для получения доступа к конфиденциальным данным путем имитации несанкционированной атаки изнутри или извне. Веб-проникновение помогает конечным пользователям обнаружить возможность доступа хакеров к данным из Интернета, обнаружить безопасность своих серверов электронной почты, а также понять уровень безопасности сайтов и серверов веб-хостинга. Когда мы говорим о безопасности, чаще всего мы слышим слово «уязвимость».
Что такое уязвимость?
Это можно объяснить следующим образом: уязвимость — это термин, используемый для определения недостатков в системе, которые могут подвергнуть ее угрозам безопасности.
В чем разница между сканированием уязвимостей и тестом на проникновение?
Сканирование уязвимостей позволяет пользователям обнаружить известные слабые места в приложении и определить способы их устранения и повышения общей безопасности приложения. По сути, оно выясняет, установлены ли исправления безопасности и правильно ли настроена система, чтобы затруднить атаки. Тестирование на проникновение, с другой стороны, в основном моделирует системы в реальном времени и помогает пользователям понять, может ли система быть доступна неавторизованным пользователям, и если да, то какой ущерб может быть нанесен и т.д. Таким образом, сканирование уязвимостей — это метод контроля обнаружения, который предлагает способы улучшения процедур безопасности и гарантирует, что известные недостатки не появятся вновь. В то время как тестирование на проникновение — это метод превентивного контроля, который дает общее представление о существующих уровнях безопасности системы. Хотя оба метода имеют свое значение, все зависит от того, что действительно ожидается в рамках тестирования. Важно четко определить цель тестирования до его начала. Если вы четко определите цель, то сможете определить, требуется ли вам сканирование уязвимостей или тест на проникновение.
Важность пентеста
Важность проведения теста на проникновение заключается в следующем:
- Тестирование на проникновение помогает выявить неизвестные уязвимости;
- Помогает проверить эффективность общей политики безопасности;
- Помогает тестировать общедоступные компоненты, такие как брандмауэры; маршрутизаторы и DNS;
- Позволяет пользователям определить наиболее уязвимые пути атаки;
- Помогает выявить уязвимости, которые могут привести к краже конфиденциальных данных.
Если посмотреть на текущий рыночный спрос, то использование мобильных телефонов резко возросло, и это становится основным потенциальным фактором нападений. Сайты, доступ к которым осуществляется через мобильные телефоны, чаще подвергаются атакам, которые могут повредить данные. Поэтому тестирование на проникновение становится очень важным для создания безопасной системы, которую пользователи могут использовать без опасений взлома или потери данных.