Есть старая поговорка, что профилактика лучше лечения. Это относится к любому аспекту жизни, как человеческой, так и технологической. Тестирование на проникновение (или pentest) — это превентивное решение для величайшего врага технологий — кибер-атак. Но в отличие от других протоколов безопасности, pentest борется с угрозой, думая и действуя как сама угроза. Это имитация реальной кибератаки, направленная на поиск уязвимостей, слабых мест и других возможных целей, через которые хакеры получают доступ к системе. Результаты тестирования затем используются для устранения недостатков в сети веб-сайта или системе приложений, путем тонкой настройки и укрепления протоколов безопасности.
Типы тестирования на проникновение
Один размер не подходит для всех видов тестирования на проникновение, поэтому существует три различных типа — «белый ящик», «серый ящик» и «черный ящик».
Все варианты услуг являются достаточно дорогими, подробнее про цены на пентест по ссылке.
При тестировании на уязвимость системы количество информации, имеющейся в распоряжении пентестера, играет решающую роль в достижимом уровне доступа. Это аналогично тому, как хакеры могут нанести ущерб в зависимости от того, сколько информации они имеют о системе.
Тестирование «белого ящика»
В ситуации тестирования «белого ящика» пентестер имеет полный доступ к сетевой информации сайта. Этот метод позволяет провести всесторонний анализ как внутренних, так и внешних уязвимостей — от базового URL до карт сети, исходного кода и других учетных данных.
Реальным сценарием такой угрозы может быть случай, когда сотрудник стал мошенником или внешняя сторона украла учетные данные сотрудника.
Пентестер обычно работает в связке с техническими специалистами и службами безопасности, чтобы просеять большое количество данных и обнаружить как можно больше слабых мест. Эта процедура наиболее полезна для углубленного тестирования расчетов, особенно на веб-сайтах, хранящих финансовые и личные данные клиентов.
Тестирование в «сером ящике»
Здесь пентестер имеет доступ к некоторому количеству информации об организации. Это можно сравнить с пользователем сайта, имеющим значительный объем информации о компании, или с хакером, получившим доступ к учетной записи пользователя.
Внутренняя учетная запись предоставляет повышенные знания о сайте и доступ к документации по дизайну и архитектуре. По этой причине он является наиболее распространенным корневым источником киберугроз. Именно по этой причине тестирование «серых ящиков» очень полезно, поскольку пентест позволяет сосредоточить усилия на самых больших и реалистичных рисках.
Тем не менее, уровень доступа ограничен по сравнению с тестированием «белого ящика», поэтому всегда существует небольшая вероятность того, что хакер обнаружит новую лазейку, которую можно использовать. Тем не менее, этот способ является наиболее подходящим для большинства коммерческих предприятий и сайтов с зоной доступа.
Тестирование «черного ящика»
Это полная противоположность «белого ящика», причем не только по цветовому оттенку, но и по уровню доступа. Тестировщик черного ящика не имеет практически никакой информации о сайте.
Это похоже на хакера, который впервые заходит на сайт и пытается получить несанкционированный доступ в качестве внешнего злоумышленника. У хакера есть только общедоступная информация, как и у пентестера при имитации «черного ящика». Основная цель здесь — проверить, как система может быть использована извне сети.
Этот метод довольно трудоемкий, поскольку пентестеру необходимо разработать собственную карту целевой сети, так как такая информация недоступна.
В то время как тестировщики «белого ящика» могут проводить статический анализ кода, тестирование «черного ящика» может проводить только динамический анализ (анализ текущих запущенных программ). Тем не менее, методы динамического анализа эффективны в обнаружении уязвимостей.
Требования Pentest к соответствию требованиям
Тестирование на проникновение не всегда является необязательной процедурой для предприятий. С ростом случаев киберпреступности в последние годы оно стало одним из строгих требований к соблюдению процедур аудита безопасности.
Организации в различных отраслях обязаны проводить и отчитываться о результатах оценки пентестов своих систем. Основное внимание уделяется таким областям, как индустрия обслуживания платежных карт, финансовые учреждения, технологические отрасли и медицинский сектор.
Стандарт безопасности данных индустрии платежных карт (PCI DSS)
Такие брендовые карточные компании, как Mastercard, Visa и American Express, имеют почти всемирную базу пользователей. В этих сетях хранятся большие объемы персональных данных клиентов и миллиарды денежных средств. Поэтому крайне важно защитить дебетовые и кредитные карты от киберкраж и мошенничества.
Этот стандарт безопасности, разработанный в 2004 году, требует ежеквартального или, как минимум, полугодового проведения сканирования уязвимостей и тестов на проникновение. Также рекомендуется делать это после любых изменений в системе.
SOC 2 для технологических служб
В рамках этого стандарта безопасности действуют пять принципов — безопасность, доступность, целостность обработки, конфиденциальность и приватность.
Американский институт CPA (AICPA) разработал SOC 2, чтобы гарантировать, что поставщики цифровых услуг могут безопасно управлять данными клиентов и защищать интересы партнерских предприятий и организаций.
Сертификация SOC 2 необходима, например, при выборе поставщика услуг SaaS. Это также является требованием для любой технологической службы, и для получения сертификата необходимо провести внешний аудит.
К счастью, гибкость этого стандарта безопасности позволяет различным компаниям персонализировать средства контроля в соответствии с конкретными потребностями.
Когда ваша компания нуждается в пентесте?
Важно проводить пентест до запуска в эксплуатацию любой сетевой или прикладной системы, а не до и не после.
Во время развертывания система все еще подвергается постоянным изменениям. В этот момент, возможно, еще слишком рано проводить тестирование на проникновение, потому что по мере изменений в сети могут появиться новые дыры в безопасности.
С другой стороны, запуск сети в производство без предварительного пентеста будет рискованным. Вы оставите дверь открытой для хакеров, которые могут ворваться туда еще до того, как вы сможете достичь ожидаемого ROI (возврата инвестиций).
Другие случаи, когда тестирование на проникновение необходимо, включают:
- Требования соответствия
Соответствие требованиям стандартов безопасности — одна из самых распространенных причин для проведения пентестов. Например, FINRA и HIPAA являются юридически обязательными, поэтому финансовые и медицинские организации обязаны по закону проводить периодические тесты на проникновение.
Последствия несоблюдения этих норм нелегки, поэтому организации стремятся выполнять их. В этих правилах также указывается, как часто следует проводить пентест.
- Инцидент безопасности
В случае кибератаки пострадавшая компания будет вынуждена провести пентест. Этот процесс поможет обнаружить источник нарушения, чтобы устранить его и залатать уязвимости.
Использование пентеста в качестве лекарства эффективно для устранения проблемы. Однако после кибератаки предприятия часто получают серьезный экономический удар. Ущерб, нанесенный торговой марке, еще более серьезен, поскольку восстановление разрушенного доверия занимает немало времени. Желательно не доводить дело до такого состояния.
- Альтернативные варианты внешнего пентеста
Проведение пентеста — тяжелое испытание для кармана, а при ограниченном бюджете его проведение может оказаться затруднительным. Для компаний, не имеющих возможности провести полноценный пентест, существует несколько альтернатив.
Баг баунти
Баг баунти — это проверка безопасности, инициируемая компанией и проводимая этичными хакерами с целью предотвращения кибератак. Хакеры, обнаружившие соответствующие уязвимости, получают вознаграждение.
В отличие от полномасштабного пентеста, где существует фиксированная цена за ряд проверок безопасности, организации, проводящие программу bug bounty, устанавливают сумму вознаграждения. Компания платит только за обнаруженные неотъемлемые слабые места. Кроме того, уязвимости могут проверяться по отдельности в течение определенного времени.
Однако в случае с программой «bug bounty» применимо только тестирование «черного ящика», поскольку этичные хакеры будут иметь доступ только к общедоступной информации веб-сайта.
Автоматизированное сканирование/сканирование уязвимостей
Сканирование уязвимостей — это инструмент тестирования безопасности, который сканирует сеть для обнаружения критических слабых мест. Он ищет лазейки, через которые хакеры могут получить доступ к сайту, и сообщает об этих местах.
Это похоже на то, что делает пентест. Однако если инструменты для сканирования уязвимостей предоставляют лишь обычный отчет о потенциально слабых местах в системе, то полное тестирование на проникновение идет дальше и использует эти уязвимости, чтобы понять, может ли эта лазейка стать источником высокого риска или это просто информационный вопрос.
Таким образом, проверка на уязвимость является меньшей частью тестирования на проникновение.
Анализ исходного кода
С помощью инструментов анализа исходного кода можно изучить исходный код системы, чтобы найти ошибки, которые остались незамеченными на этапе разработки приложения. При анализе исходного кода код рассматривается под микроскопом, сканируется каждая строчка и в итоге сообщается о возможных уязвимостях.
И снова, этот анализ часто является предшественником полноценного пентеста, где пентестер впоследствии углубляется в обнаруженные уязвимости.
Помимо ошибок шифрования, анализ исходного кода также позволяет обнаружить:
- переполнения буфера
- SQL-инъекции
- XSS (межсайтовый скриптинг) уязвимости
- условия гонки
Анализ исходного кода способствует более быстрому проведению пен-тестирования. Не говоря уже о том, что это также экономит средства.
Заключение
Тестирование на проникновение — это углубленный протокол безопасности, который требует от экспертов-тестеров преодолевать стены безопасности, как это делал бы хакер, посредством планирования и разведки, сканирования, получения доступа, поддержания доступа и анализа результатов.
Цель https://rtmtech.ru/ заключается в успешной настройке межсетевого экрана веб-приложения (WAF) для противостояния любым угрозам через обнаруженные лазейки. Частота проведения пентеста зависит от таких факторов, как размер бизнеса, бюджет и строгость законов о соответствии. Регулярное проведение пентестов, безусловно, поможет вам оставаться на вершине периметра кибербезопасности.