stringtranslate.com

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

Тест на проникновение , в просторечии известный как пентест или этический взлом , представляет собой санкционированную симуляцию кибератаки на компьютерную систему, выполняемую для оценки безопасности системы; [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 Corporation, и SDC «участвовали в некоторых из первых так называемых «проникновений». исследования», чтобы попытаться проникнуть в системы разделения времени, чтобы проверить их уязвимость». [16] Практически во всех этих ранних исследованиях команды тигров успешно взломали все целевые компьютерные системы, поскольку системы разделения времени в стране имели плохую защиту.

Из первых действий команды тигров усилия корпорации RAND продемонстрировали полезность проникновения как инструмента для оценки безопасности системы. В то время один аналитик RAND отметил, что испытания «...продемонстрировали практичность проникновения в систему как инструмента оценки эффективности и адекватности реализованных мер безопасности данных». Кроме того, ряд аналитиков RAND настаивали на том, что все тесты на проникновение имеют ряд преимуществ, которые оправдывают их дальнейшее использование. Как они отметили в одной статье: «Похоже, что в поисках слабых мест и неполноты операционной системы у злоумышленника развивается дьявольское мышление, которому трудно подражать». По этим и другим причинам многие аналитики RAND рекомендовали продолжить изучение методов проникновения на предмет их полезности при оценке безопасности системы. [15] : 9 

По-видимому, ведущим экспертом по компьютерному проникновению в эти годы становления был Джеймс П. Андерсон, который работал с АНБ, RAND и другими правительственными агентствами над изучением системной безопасности. В начале 1971 года ВВС США заключили контракт с частной компанией Андерсона на изучение безопасности ее системы разделения времени в Пентагоне. В своем исследовании Андерсон выделил ряд основных факторов, влияющих на проникновение компьютеров. Андерсон описал общую последовательность атак по шагам:

  1. Найдите уязвимость, которую можно использовать.
  2. Разработайте атаку вокруг него.
  3. Проверьте атаку.
  4. Займите используемую линию.
  5. Вступайте в атаку.
  6. Используйте запись для восстановления информации.

Со временем описание Андерсоном общих шагов по проникновению в компьютер помогло многим другим экспертам по безопасности, которые полагались на этот метод для оценки безопасности компьютерных систем с разделением времени. [15] : 9 

В последующие годы проникновение компьютеров как инструмент оценки безопасности стало более изощренным и изощренным. В начале 1980-х годов журналист Уильям Броуд кратко резюмировал продолжающиеся усилия «тигровых команд» по оценке безопасности системы. Как сообщил Броуд, доклад Уиллиса Уэра, спонсируемый Министерством обороны, «...показал, как шпионы могут активно проникать в компьютеры, красть или копировать электронные файлы и выводить из строя устройства, которые обычно охраняют сверхсекретную информацию. Исследование продолжалось более десяти лет. о тихой деятельности элитных групп ученых-компьютерщиков, работающих на правительство, которые пытались взломать чувствительные компьютеры. Они преуспели во всех попытках». [19]

Хотя эти различные исследования, возможно, предполагают, что компьютерная безопасность в США остается серьезной проблемой, ученый Эдвард Хант совсем недавно высказал более широкую точку зрения на обширное исследование проникновения компьютеров как инструмента безопасности. В недавней статье, посвященной истории тестирования на проникновение, Хант предполагает, что оборонное ведомство в конечном итоге «...создало множество инструментов, используемых в современной кибервойне», поскольку оно тщательно определило и исследовало множество способов, с помощью которых компьютерные злоумышленники могут взломать целевые системы. . [15] : 5 

Инструменты

Для помощи в тестировании на проникновение доступен широкий спектр инструментов оценки безопасности , включая бесплатное, бесплатное и коммерческое программное обеспечение .

Специализированные дистрибутивы ОС

Некоторые дистрибутивы операционных систем ориентированы на тестирование на проникновение. [20] Такие дистрибутивы обычно содержат предварительно упакованный и предварительно настроенный набор инструментов. Пентестеру не нужно искать каждый отдельный инструмент, что может увеличить риск осложнений, таких как ошибки компиляции, проблемы с зависимостями и ошибки конфигурации. Кроме того, приобретение дополнительных инструментов может оказаться нецелесообразным в контексте работы тестировщика.

Известные примеры ОС для тестирования на проникновение включают:

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

Ряд дистрибутивов Linux содержат известные уязвимости ОС и приложений, и их можно использовать в качестве целей для тренировок. Такие системы помогают начинающим специалистам по безопасности опробовать новейшие инструменты безопасности в лабораторных условиях. Примеры включают Damn Vulnerable Linux (DVL), среду веб-тестирования OWASP (WTW) и Metasploitable.

Программные платформы

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

Процесс тестирования на проникновение можно упростить и разделить на следующие пять этапов:

  1. Разведка: сбор важной информации о целевой системе. Эту информацию можно использовать для более эффективной атаки цели. Например, поисковые системы с открытым исходным кодом можно использовать для поиска данных, которые можно использовать в атаке социальной инженерии .
  2. Сканирование: использует технические инструменты для расширения знаний злоумышленника о системе. Например, Nmap можно использовать для сканирования открытых портов.
  3. Получение доступа. Используя данные, собранные на этапах разведки и сканирования, злоумышленник может использовать полезную нагрузку для взлома целевой системы. Например, Metasploit можно использовать для автоматизации атак на известные уязвимости.
  4. Поддержание доступа. Поддержание доступа требует принятия мер, необходимых для постоянного пребывания в целевой среде для сбора как можно большего количества данных.
  5. Сокрытие следов: злоумышленник должен удалить любые следы компрометации системы-жертвы, любые типы собранных данных, зарегистрировать события, чтобы оставаться анонимным. [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).

Смотрите также

Общие ссылки

Рекомендации

  1. ^ "Что такое тестирование на проникновение?" . Проверено 18 декабря 2018 г.
  2. ^ «В чем разница между оценкой уязвимости и тестом на проникновение?» . Проверено 21 мая 2020 г.
  3. ^ Руководство по подготовке CISSP® и CAPCM: Platinum Edition . Джон Уайли и сыновья. 06.11.2006. ISBN 978-0-470-00792-1. Тест на проникновение может определить, как система реагирует на атаку, можно ли взломать защиту системы и какую информацию можно получить от системы.
  4. ^ Кевин М. Генри (2012). Тестирование на проникновение: защита сетей и систем . IT Governance Ltd. ISBN 978-1-849-28371-7. Тестирование на проникновение — это моделирование атаки на систему, сеть, часть оборудования или другой объект с целью доказать, насколько уязвимой будет эта система или «цель» для реальной атаки.
  5. ^ аб Крис Томас (Space Rogue), Дэн Паттерсон (2017). Взломать пароли легко с помощью IBM Space Rogue (Видео). CBS Интерактив . Мероприятие происходит в 4:30-5:30 . Проверено 1 декабря 2017 г.
  6. ^ «Объяснение типов пентестов» . 09.06.2017 . Проверено 23 октября 2018 г.
  7. ^ «Тестирование на проникновение: оценка вашей общей безопасности до того, как это сделают злоумышленники» . Институт САНС . Проверено 16 января 2014 г.
  8. ^ ab «Написание отчета о тестировании на проникновение». Институт САНС . Проверено 12 января 2015 г.
  9. ^ «Тестирование на проникновение». НКСК . август 2017 года . Проверено 30 октября 2018 г.
  10. ^ Патрик Энгебретсон, Основы взлома и тестирования на проникновение. Архивировано 4 января 2017 г. в Wayback Machine , Elsevier, 2013 г.
  11. ^ Алан Колдер и Герайнт Уильямс (2014). PCI DSS: Карманное руководство, 3-е издание . ИТ Управление Лимитед. ISBN 978-1-84928-554-4. сетевые уязвимости сканируются не реже одного раза в квартал и после любого существенного изменения в сети.
  12. ^ «Структура управления рисками NIST». НИСТ . 2020.
  13. ^ «CREST выпускает руководство по тестированию на проникновение» . Интеллектуальный CISO . 2022.
  14. ^ Аб Рассел, Дебора; Гангеми, GT (1991). Основы компьютерной безопасности . ISBN O'Reilly Media Inc. 9780937175712.
  15. ^ abcdef Хант, Эдвард (2012). «Программы проникновения в компьютеры правительства США и последствия для кибервойны». IEEE Анналы истории вычислений . 34 (3): 4–21. дои : 10.1109/MAHC.2011.82. S2CID  16367311.
  16. ^ аб Йост, Джеффри Р. (2007). де Леу, Карл; Бергстра, Ян (ред.).История стандартов компьютерной безопасности , в «Истории информационной безопасности: всеобъемлющий справочник» . Эльзевир. стр. 601–602.
  17. ^ Маккензи, Дональд; Поттинджер, Гаррел (1997). «Математика, технологии и доверие: формальная проверка, компьютерная безопасность и вооруженные силы США». IEEE Анналы истории вычислений . 19 (3): 41–59. дои : 10.1109/85.601735.
  18. ^ Маккензи, Дональд А. (2004). Механизация доказательства: вычисления, риск и доверие. Массачусетский Институт Технологий . п. 156. ИСБН 978-0-262-13393-7.
  19. Броуд, Уильям Дж. (25 сентября 1983 г.). «Компьютерная безопасность беспокоит военных экспертов», The New York Times
  20. ^ Фэрклот, Джереми (2011). «Глава 1: Инструменты торговли» (PDF) . Набор инструментов с открытым исходным кодом для тестера на проникновение (Третье изд.). Эльзевир . ISBN 978-1597496278. Проверено 4 января 2018 г.[ нужна цитата для проверки ]
  21. ^ «Подведение итогов пяти этапов тестирования на проникновение - Cybrary» . Кибрари . 06.05.2015 . Проверено 25 июня 2018 г.
  22. ^ "Услуги GSA HACS SIN 132-45" . 1 марта 2018 года. Архивировано из оригинала 23 марта 2019 года . Проверено 1 марта 2018 г.
  23. ^ «Услуги по тестированию пера» . 1 марта 2018 г. Архивировано из оригинала 26 июня 2018 г. Проверено 1 марта 2018 г.
  24. ^ «Руководство по методологии тестирования безопасности с открытым исходным кодом - обзор | Темы ScienceDirect» . www.sciencedirect.com . Проверено 13 октября 2021 г.
  25. ^ Лонг, Джонни (2011). Взлом Google для тестеров на проникновение . Эльзевир Наука. ISBN 978-0-08-048426-6.
  26. ^ «Полное руководство по тестированию на проникновение | Core Sentinel» . Основной страж . Проверено 23 октября 2018 г.