Тест на проникновение
этой статьи Начальный раздел может оказаться слишком длинным . ( декабрь 2021 г. ) |
Тест на проникновение , в просторечии известный как пентест , представляет собой санкционированную симуляцию кибератаки на компьютерную систему, выполняемую для оценки безопасности системы; [1] это не следует путать с оценкой уязвимости . [2] Тест проводится для выявления слабых мест (или уязвимостей ), включая возможность получения неавторизованными лицами доступа к функциям и данным системы. [3] [4] а также сильные стороны, [5] полную оценку рисков что позволяет провести .
В процессе обычно определяются целевые системы и конкретная цель, затем анализируется доступная информация и применяются различные средства для достижения этой цели. Целью теста на проникновение может быть белый ящик (о котором тестировщику заранее предоставляется предыстория и системная информация) или черный ящик (о котором предоставляется только базовая информация, кроме названия компании). Тест на проникновение «серого ящика» представляет собой комбинацию этих двух методов (когда аудитору предоставляются ограниченные знания об объекте). [6] Тест на проникновение может помочь выявить уязвимости системы для атак и оценить, насколько она уязвима. [7] [5]
О проблемах безопасности, обнаруженных тестом на проникновение, следует сообщать владельцу системы. [8] Отчеты о тестах на проникновение также могут оценить потенциальное воздействие на организацию и предложить контрмеры для снижения риска. [8]
Великобритании Национальный центр кибербезопасности описывает тестирование на проникновение как «метод получения уверенности в безопасности ИТ-системы путем попытки частично или полностью нарушить безопасность этой системы, используя те же инструменты и методы, что и злоумышленник». [9]
Цели теста на проникновение различаются в зависимости от типа одобренной деятельности для любого конкретного взаимодействия, при этом основная цель сосредоточена на обнаружении уязвимостей, которые могут быть использованы злоумышленником, и информировании клиента об этих уязвимостях вместе с рекомендуемыми стратегиями смягчения последствий. [10]
Тесты на проникновение являются компонентом полного аудита безопасности . Например, стандарт безопасности данных индустрии платежных карт требует проведения регулярного тестирования на проникновение и после внесения изменений в систему. [11] Тестирование на проникновение также может способствовать оценке рисков, как указано в NIST Risk Management Framework SP 800-53. [12]
Существует несколько стандартных рамок и методологий для проведения тестов на проникновение. К ним относятся Руководство по методологии тестирования безопасности с открытым исходным кодом (OSSTMM), Стандарт выполнения тестирования на проникновение (PTES), Специальная публикация NIST 800-115, Структура оценки безопасности информационных систем (ISSAF) и Руководство по тестированию OWASP . CREST, некоммерческая профессиональная организация в сфере технической кибербезопасности, предоставляет свой стандарт CREST Defensible Penetration Test, который предоставляет отрасли руководство по коммерчески обоснованной деятельности по обеспечению безопасности при проведении тестов на проникновение. [13]
Методология гипотезы дефектов — это метод системного анализа и прогнозирования проникновения, при котором список предполагаемых недостатков в программной системе составляется посредством анализа спецификаций и документации системы. Затем список предполагаемых недостатков определяется по приоритету на основе предполагаемой вероятности того, что недостаток действительно существует, а также легкости его использования до степени контроля или компрометации. Список приоритетов используется для управления фактическим тестированием системы.
Существуют различные типы тестирования на проникновение, в зависимости от целей организации, которые включают в себя: сеть (внешнюю и внутреннюю), беспроводную сеть, веб-приложения, социальную инженерию и проверку исправлений.
История
[ редактировать ]К середине 1960-х годов растущая популярность компьютерных систем с разделением времени , которые обеспечивали доступ к ресурсам по линиям связи, создала новые проблемы безопасности. Как объясняют ученые Дебора Рассел и Г.Т. Гангеми-старший: «1960-е годы ознаменовали истинное начало эпохи компьютерной безопасности». [14] : 27
Например, в июне 1965 года несколько ведущих экспертов по компьютерной безопасности США провели одну из первых крупных конференций по системной безопасности, организованную государственным подрядчиком, Корпорацией системного развития (SDC). Во время конференции кто-то заметил, что один сотрудник SDC смог легко подорвать различные системные средства защиты, добавленные к компьютерной системе с разделением времени AN/FSQ-32 SDC . В надежде, что дальнейшее исследование безопасности системы будет полезным, участники попросили «...провести исследования в таких областях, как взлом защиты в системе с разделением времени». Другими словами, участники конференции инициировали один из первых официальных запросов на использование компьютерного проникновения в качестве инструмента для изучения безопасности систем. [15] : 7–8
На Объединенной компьютерной конференции весной 1967 года многие ведущие компьютерные специалисты снова встретились, чтобы обсудить проблемы безопасности системы. Во время этой конференции эксперты по компьютерной безопасности Уиллис Уэр , Гарольд Петерсен и Рейн Терн, все из корпорации RAND , и Бернард Питерс из Агентства национальной безопасности (АНБ) использовали фразу «проникновение» для описания атаки на компьютер. система. В своей статье Уэр сослался на военные системы разделения времени с удаленным доступом, предупредив, что «необходимо предвидеть преднамеренные попытки проникновения в такие компьютерные системы». Его коллеги Петерсен и Терн разделяли те же опасения, отмечая, что системы онлайн-коммуникаций «...уязвимы для угроз конфиденциальности», включая «преднамеренное проникновение». Бернард Питерс из АНБ высказал то же самое, настаивая на том, что компьютерный ввод и вывод «...может предоставить большие объемы информации для проникающей программы». В ходе конференции проникновение компьютеров было официально признано серьезной угрозой онлайн-компьютерным системам. [15] : 8
Угроза, которую представляло компьютерное проникновение, была затем изложена в большом докладе, подготовленном США (DoD) в конце 1967 года. Министерством обороны академические круги и промышленность для формальной оценки безопасности компьютерных систем с разделением времени. Опираясь на множество документов, представленных во время Объединенной компьютерной конференции весной 1967 года, рабочая группа в значительной степени подтвердила угрозу безопасности системы, которую представляло проникновение компьютеров. Отчет Уэра изначально был засекречен, но многие ведущие компьютерные эксперты страны быстро назвали это исследование исчерпывающим документом по компьютерной безопасности. [15] Джеффри Р. Йост из Института Чарльза Бэббиджа совсем недавно охарактеризовал отчет Уэра как «...безусловно самое важное и тщательное исследование технических и эксплуатационных вопросов, касающихся безопасных вычислительных систем того времени». [16] По сути, отчет Уэра еще раз подтвердил серьезную угрозу, которую представляет проникновение компьютеров в новые онлайновые компьютерные системы с разделением времени.
Чтобы лучше понять слабые места системы, федеральное правительство и его подрядчики вскоре начали организовывать группы злоумышленников, известные как «команды тигров» , для использования проникновения в компьютеры для проверки безопасности системы. Дебора Рассел и Г.Т. Гангеми-старший заявили, что в 1970-е годы «...«команды тигров» впервые появились на компьютерной сцене. Команды тигров представляли собой спонсируемые правительством и промышленностью команды взломщиков, которые пытались разрушить защиту компьютерных систем в усилия по обнаружению и, в конечном итоге, исправлению дыр в безопасности». [14] : 29
Ведущий исследователь истории компьютерной безопасности Дональд Маккензи также отмечает, что «РЭНД провело некоторые исследования проникновения (эксперименты по обходу средств контроля компьютерной безопасности) первых систем разделения времени по поручению правительства». [17] [18] Джеффри Р. Йост из Института Чарльза Бэббиджа в своей работе по истории компьютерной безопасности также признает, что и корпорация RAND, и SDC «участвовали в некоторых из первых так называемых «исследований проникновения», пытаясь проникнуть в системы разделения времени, чтобы проверить их уязвимость». [16] Практически во всех этих ранних исследованиях команды тигров успешно взломали все целевые компьютерные системы, поскольку системы разделения времени в стране имели плохую защиту.
Из первых действий команды тигров усилия корпорации RAND продемонстрировали полезность проникновения как инструмента для оценки безопасности системы. В то время один аналитик RAND отметил, что испытания «...продемонстрировали практичность проникновения в систему как инструмента оценки эффективности и адекватности реализованных мер безопасности данных». Кроме того, ряд аналитиков RAND настаивали на том, что все тесты на проникновение имеют ряд преимуществ, которые оправдывают их дальнейшее использование. Как они отметили в одной статье: «Похоже, что в поисках слабых мест и неполноты операционной системы у злоумышленника развивается дьявольский настрой, которому трудно подражать». По этим и другим причинам многие аналитики RAND рекомендовали продолжить изучение методов проникновения на предмет их полезности при оценке безопасности системы. [15] : 9
По-видимому, ведущим экспертом по компьютерному проникновению в эти годы становления был Джеймс П. Андерсон, который работал с АНБ, RAND и другими правительственными агентствами над изучением системной безопасности. В начале 1971 года ВВС США заключили контракт с частной компанией Андерсона на изучение безопасности ее системы разделения времени в Пентагоне. В своем исследовании Андерсон выделил ряд основных факторов, влияющих на проникновение компьютеров. Андерсон описал общую последовательность атак по шагам:
- Найдите уязвимость, которую можно использовать.
- Разработайте атаку вокруг него.
- Проверьте атаку.
- Займите используемую линию.
- Вступайте в атаку.
- Используйте запись для восстановления информации.
Со временем описание Андерсоном общих шагов по проникновению в компьютер помогло многим другим экспертам по безопасности, которые полагались на этот метод для оценки безопасности компьютерных систем с разделением времени. [15] : 9
В последующие годы проникновение компьютеров как инструмент оценки безопасности стало более изощренным и изощренным. В начале 1980-х годов журналист Уильям Броуд кратко резюмировал продолжающиеся усилия «тигровых команд» по оценке безопасности системы. Как сообщил Броуд, доклад Уиллиса Уэра, спонсируемый Министерством обороны, «...показал, как шпионы могут активно проникать в компьютеры, красть или копировать электронные файлы и выводить из строя устройства, которые обычно охраняют сверхсекретную информацию. Исследование длилось более десяти лет. о тихой деятельности элитных групп ученых-компьютерщиков, работающих на правительство, которые пытались взломать чувствительные компьютеры. Им удалась каждая попытка». [19]
Хотя эти различные исследования, возможно, предполагают, что компьютерная безопасность в США остается серьезной проблемой, ученый Эдвард Хант совсем недавно высказал более широкую точку зрения на обширное исследование проникновения компьютеров как инструмента безопасности. В недавней статье об истории тестирования на проникновение Хант предполагает, что оборонное ведомство в конечном итоге «...создало множество инструментов, используемых в современной кибервойне», поскольку оно тщательно определило и исследовало множество способов, с помощью которых компьютерные злоумышленники могут взломать целевые системы. . [15] : 5
Инструменты
[ редактировать ]Для помощи в тестировании на проникновение доступен широкий выбор инструментов оценки безопасности , включая бесплатное, бесплатное и коммерческое программное обеспечение .
Специализированные дистрибутивы ОС
[ редактировать ]Некоторые дистрибутивы операционных систем ориентированы на тестирование на проникновение. [20] Такие дистрибутивы обычно содержат предварительно упакованный и предварительно настроенный набор инструментов. Пентестеру не нужно искать каждый отдельный инструмент, что может увеличить риск осложнений, таких как ошибки компиляции, проблемы с зависимостями и ошибки конфигурации. Кроме того, приобретение дополнительных инструментов может оказаться нецелесообразным в контексте работы тестировщика.
Известные примеры ОС для тестирования на проникновение включают:
- BlackArch на базе Arch Linux
- BackBox на базе Ubuntu
- Kali Linux (заменил BackTrack , декабрь 2012 г.) на основе Debian
- ОС Parrot Security на базе Debian
- Pentoo на основе Gentoo
- WHAX на основе Slackware
Многие другие специализированные операционные системы облегчают тестирование на проникновение, каждая из которых в той или иной степени посвящена определенной области тестирования на проникновение.
Ряд дистрибутивов Linux содержат известные уязвимости ОС и приложений, и их можно использовать в качестве целей для тренировок. Такие системы помогают начинающим специалистам по безопасности опробовать новейшие инструменты безопасности в лабораторных условиях. Примеры включают Damn Vulnerable Linux (DVL), среду веб-тестирования OWASP (WTW) и Metasploitable.
Программные платформы
[ редактировать ]- Бэкбокс
- Хпинг
- Проект Метасплоит
- Несс
- Нмап
- ОВАСП ЗАП
- СВЯТОЙ
- w3af
- Люкс «Отрыжка»
- Вайршарк
- Джон Потрошитель
- Хэшкэт
Этапы тестирования на проникновение
[ редактировать ]Процесс тестирования на проникновение можно упростить и разделить на следующие пять этапов:
- Разведка: сбор важной информации о целевой системе. Эту информацию можно использовать для более эффективной атаки цели. Например, поисковые системы с открытым исходным кодом можно использовать для поиска данных, которые можно использовать в атаке социальной инженерии .
- Сканирование: использует технические инструменты для расширения знаний злоумышленника о системе. Например, Nmap можно использовать для сканирования открытых портов.
- Получение доступа. Используя данные, собранные на этапах разведки и сканирования, злоумышленник может использовать полезную нагрузку для взлома целевой системы. Например, Metasploit можно использовать для автоматизации атак на известные уязвимости.
- Поддержание доступа. Поддержание доступа требует принятия мер, необходимых для постоянного пребывания в целевой среде для сбора как можно большего количества данных.
- Сокрытие следов: злоумышленник должен удалить любые следы компрометации системы-жертвы, любые типы собранных данных, зарегистрировать события, чтобы оставаться анонимным. [21]
Как только злоумышленник воспользуется одной уязвимостью, он может получить доступ к другим машинам, поэтому процесс повторяется, т.е. он ищет новые уязвимости и пытается их использовать. Этот процесс называется поворотом.
Уязвимости
[ редактировать ]К допустимым операциям, позволяющим тестировщику выполнить недопустимую операцию, относятся неэкранированные команды SQL, неизмененные хешированные пароли в проектах, видимых исходным кодом, человеческие отношения и старые хеширующие или криптографические функции. Одной уязвимости может быть недостаточно для реализации критически серьезного эксплойта. Почти всегда требуется использовать множество известных недостатков и формировать полезную нагрузку таким образом, чтобы она выглядела как допустимая операция. Metasploit предоставляет библиотеку Ruby для общих задач и поддерживает базу данных известных эксплойтов.
При работе в условиях ограниченного бюджета и времени фаззинг является распространенным методом обнаружения уязвимостей. Его цель — получить необработанную ошибку посредством случайного ввода. Тестер использует произвольный ввод для доступа к менее часто используемым путям кода. Проторенные пути кода обычно не содержат ошибок. Ошибки полезны, поскольку они либо предоставляют дополнительную информацию, например, сбои HTTP-сервера с полной обратной трассировкой информации, либо могут использоваться напрямую, например, переполнение буфера .
Представьте, что на веб-сайте есть 100 полей для ввода текста. Некоторые из них уязвимы для SQL-инъекций в определенные строки. Мы надеемся, что отправка случайных строк в эти поля на некоторое время приведет к обнаружению ошибочного пути кода. Ошибка проявляется в виде неработающей HTML-страницы, наполовину отображаемой из-за ошибки SQL. В этом случае только текстовые поля рассматриваются как входные потоки. Однако программные системы имеют множество возможных входных потоков, таких как файлы cookie и данные сеанса, поток загруженных файлов, каналы RPC или память. Ошибки могут произойти в любом из этих входных потоков. Цель тестирования — сначала получить необработанную ошибку, а затем понять ошибку на основе неудачного тестового примера. Тестировщики пишут автоматизированный инструмент для проверки своего понимания ошибки до тех пор, пока она не станет правильной. После этого может стать очевидным, как упаковать полезную нагрузку, чтобы целевая система инициировала ее выполнение. Если это нежизнеспособно, можно надеяться, что еще одна ошибка, допущенная фаззером, принесет больше плодов. Использование фаззера экономит время, поскольку не проверяется адекватные пути кода, где эксплойты маловероятны.
Полезная нагрузка
[ редактировать ]Незаконная операция, или полезная нагрузка в терминологии Metasploit, может включать в себя функции регистрации нажатий клавиш, создания снимков экрана, установки рекламного ПО , кражи учетных данных, создания бэкдоров с использованием шеллкода или изменения данных. Некоторые компании поддерживают большие базы данных известных эксплойтов и предоставляют продукты, которые автоматически проверяют целевые системы на наличие уязвимостей:
Стандартизированные государственные услуги по тестированию на проникновение
[ редактировать ]Управление общих служб (GSA) стандартизировало услугу «теста на проникновение» как предварительно проверенную службу поддержки, позволяющую быстро устранять потенциальные уязвимости и останавливать злоумышленников до того, как они нанесут ущерб федеральным органам власти, правительствам штатов и местным органам власти США. Эти услуги обычно называются высокоадаптивными службами кибербезопасности (HACS) и перечислены на веб-сайте GSA Advantage в США. [22]
В результате этих усилий были выявлены ключевые поставщики услуг, которые прошли техническую проверку и проверку на предмет предоставления этих передовых услуг проникновения. Эта услуга GSA предназначена для улучшения быстрого заказа и развертывания этих услуг, сокращения дублирования контрактов правительства США, а также для более своевременной и эффективной защиты и поддержки инфраструктуры США.
132-45A Тестирование на проникновение [23] — это тестирование безопасности, при котором оценщики услуг имитируют реальные атаки, чтобы определить методы обхода функций безопасности приложения, системы или сети. Службы тестирования на проникновение HACS обычно стратегически проверяют эффективность профилактических и детективных мер безопасности, используемых организацией для защиты активов и данных. В рамках этой услуги сертифицированные этические хакеры обычно проводят симулированную атаку на систему, системы, приложения или другую цель в среде в поисках слабых мест в системе безопасности. После тестирования они обычно документируют уязвимости и определяют, какие средства защиты эффективны, а какие можно преодолеть или использовать.
В Великобритании услуги по тестированию на проникновение стандартизируются профессиональными организациями, работающими в сотрудничестве с Национальным центром кибербезопасности.
Результаты тестов на проникновение различаются в зависимости от используемых стандартов и методологий. Существует пять стандартов тестирования на проникновение: Руководство по методологии тестирования безопасности с открытым исходным кодом. [24] (OSSTMM), Открытый проект безопасности веб-приложений (OWASP), Национальный институт стандартов и технологий (NIST00), Структура оценки безопасности информационных систем (ISSAF) и Методологии и стандарты тестирования на проникновение (PTES).
См. также
[ редактировать ]- ИТ-риск
- ТГК
- Команда Тигра
- Белая шляпа (компьютерная безопасность)
- Моделирование атаки взлома
- Чертовски уязвимое веб-приложение
Общие ссылки
[ редактировать ]- Полное руководство по тестированию на проникновение [25]
- Расширенное тестирование на проникновение: взлом самых безопасных сетей в мире [26]
- The Hacker Playbook 3: Практическое руководство по тестированию на проникновение [27]
- Тестирование на проникновение [28]
Ссылки
[ редактировать ]- ^ «Что такое тестирование на проникновение?» . Проверено 18 декабря 2018 г.
- ^ «В чем разница между оценкой уязвимости и тестом на проникновение?» . Проверено 21 мая 2020 г.
- ^ Руководство по подготовке к CISSP® и CAPCM: Платиновое издание . Джон Уайли и сыновья. 06.11.2006. ISBN 978-0-470-00792-1 .
Тест на проникновение может определить, как система реагирует на атаку, можно ли взломать защиту системы и какую информацию можно получить от системы.
- ^ Кевин М. Генри (2012). Тестирование на проникновение: защита сетей и систем . IT Governance Ltd. ISBN 978-1-849-28371-7 .
Тестирование на проникновение — это моделирование атаки на систему, сеть, часть оборудования или другой объект с целью доказать, насколько уязвимой будет эта система или «цель» для реальной атаки.
- ^ Jump up to: а б Крис Томас (Космический разбойник), Дэн Паттерсон (2017). Взломать пароли легко с помощью IBM Space Rogue (Видео). CBS Интерактив . Мероприятие происходит в 4:30-5:30 . Проверено 1 декабря 2017 г.
- ^ «Объяснение типов пен-тестов» . 09.06.2017 . Проверено 23 октября 2018 г.
- ^ «Тестирование на проникновение: оценка вашей общей безопасности до того, как это сделают злоумышленники» (pdf) . Институт САНС . Архивировано из оригинала 27 февраля 2014 года . Проверено 16 января 2014 г.
- ^ Jump up to: а б «Написание отчета о тестировании на проникновение» . Институт САНС . Проверено 12 января 2015 г.
- ^ «Тестирование на проникновение» . НКСК . август 2017 года . Проверено 30 октября 2018 г.
- ^ Патрик Энгебретсон, Основы взлома и тестирования на проникновение. Архивировано 4 января 2017 г. в Wayback Machine , Elsevier, 2013 г.
- ^ Алан Колдер и Герайнт Уильямс (2014). PCI DSS: Карманное руководство, 3-е издание . ИТ Управление Лимитед. ISBN 978-1-84928-554-4 .
сетевые уязвимости сканируются не реже одного раза в квартал и после любого существенного изменения в сети.
- ^ «Структура управления рисками NIST» . НИСТ . 2020. Архивировано из оригинала 6 мая 2021 года.
- ^ «CREST выпускает руководство по тестированию на проникновение» . Интеллектуальный CISO . 2022.
- ^ Jump up to: а б Рассел, Дебора; Гангеми, GT (1991). Основы компьютерной безопасности . O'Reilly Media Inc. ISBN 9780937175712 .
- ^ Jump up to: а б с д и ж Хант, Эдвард (2012). «Программы проникновения в компьютеры правительства США и последствия для кибервойны». IEEE Анналы истории вычислений . 34 (3): 4–21. дои : 10.1109/MAHC.2011.82 . S2CID 16367311 .
- ^ Jump up to: а б Йост, Джеффри Р. (2007). де Леу, Карл; Бергстра, Ян (ред.). История стандартов компьютерной безопасности , в «Истории информационной безопасности: всеобъемлющий справочник» . Эльзевир. стр. 601–602.
- ^ Маккензи, Дональд; Поттинджер, Гаррел (1997). «Математика, технологии и доверие: формальная проверка, компьютерная безопасность и вооруженные силы США» . IEEE Анналы истории вычислений . 19 (3): 41–59. дои : 10.1109/85.601735 .
- ^ Маккензи, Дональд А. (2004). Механизация доказательства: вычисления, риск и доверие . Массачусетский технологический институт . п. 156. ИСБН 978-0-262-13393-7 .
- ↑ Броуд, Уильям Дж. (25 сентября 1983 г.). «Компьютерная безопасность беспокоит военных экспертов», The New York Times
- ^ Фэрклот, Джереми (2011). «Глава 1: Инструменты торговли» (PDF) . Набор инструментов с открытым исходным кодом для тестера на проникновение (Третье изд.). Эльзевир . ISBN 978-1597496278 . Проверено 4 января 2018 г. [ нужна цитата для проверки ]
- ^ «Подведение итогов пяти этапов тестирования на проникновение — Cybrary» . Кибрари . 06.05.2015. Архивировано из оригинала 8 апреля 2019 года . Проверено 25 июня 2018 г.
- ^ «Услуги GSA HACS SIN 132-45» . 1 марта 2018 г. Архивировано из оригинала 23 марта 2019 г. . Проверено 1 марта 2018 г.
- ^ «Услуги по проверке пера» . 1 марта 2018 г. Архивировано из оригинала 26 июня 2018 г. Проверено 1 марта 2018 г.
- ^ «Руководство по методологии тестирования безопасности с открытым исходным кодом — обзор | Темы ScienceDirect» . www.sciencedirect.com . Проверено 13 октября 2021 г.
- ^ «Полное руководство по тестированию на проникновение | Core Sentinel» . Основной страж . Проверено 23 октября 2018 г.
- ^ Олсопп, Уил (2017). Расширенное тестирование на проникновение: взлом самых безопасных сетей в мире . Индианаполис, Индиана: Уайли. ISBN 978-1-119-36768-0 .
- ^ Ким, Питер (2018). The Hacker Playbook 3: Практическое руководство по тестированию на проникновение (3-е изд.). США: Secure Planet LLC. ISBN 978-1-9809-0175-4 .
- ^ Вайдман, Джорджия (2014). Тестирование на проникновение: практическое введение во взлом . Сан-Франциско: Пресса без крахмала. ISBN 978-1-59327-564-8 .