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

А тест на проникновение, в просторечии известный как тест пера, пентест или же этический взлом, является авторизованным смоделированным кибератака в компьютерной системе, выполняется для оценки безопасность системы.[1][2] Не путать с Оценка уязвимости.[3] Тест проводится для выявления обеих слабых сторон (также называемых уязвимостями), включая возможность получения неавторизованными сторонами доступа к функциям и данным системы,[4][5] а также сильные стороны,[6] обеспечение полного оценка рисков должен быть завершен.

В процессе обычно определяются целевые системы и конкретная цель, затем анализируется доступная информация и используются различные средства для достижения этой цели. Целью теста на проникновение может быть белая коробка (который предоставляет справочную и системную информацию) или черный ящик (который предоставляет только основную информацию или не предоставляет никакой информации, кроме названия компании). Тест на проникновение в сером ящике представляет собой комбинацию этих двух (где аудитору предоставляются ограниченные знания о цели).[7] Тест на проникновение может помочь определить, уязвима ли система для атаки, если защита была достаточной, и какие виды защиты (если таковые имеются) не прошли проверку.[8][6]

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

В Национальный центр кибербезопасности описывает тестирование на проникновение следующим образом: «Метод получения уверенности в безопасности ИТ-системы путем попытки взломать часть или всю безопасность этой системы с использованием тех же инструментов и методов, что и злоумышленник». [10]

Цели теста на проникновение различаются в зависимости от типа одобренной деятельности для любого конкретного взаимодействия с основной целью, направленной на поиск уязвимостей, которые могут быть использованы злоумышленником, и информирование клиента об этих уязвимостях вместе с рекомендуемыми стратегиями смягчения.[11]

Тесты на проникновение являются составной частью полноценного аудит безопасности. Например, Стандарт безопасности данных индустрии платежных карт требует регулярного тестирования на проникновение и после системных изменений.[12]

Существует несколько стандартных структур и методологий для проведения тестов на проникновение. К ним относятся Руководство по методологии тестирования безопасности с открытым исходным кодом (OSSTMM), Стандарт выполнения тестирования на проникновение (PTES), NIST Специальная публикация 800-115, Структура оценки безопасности информационных систем (ISSAF) и OWASP Руководство по тестированию.

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

История

К середине 1960-х годов растущая популярность совместное времяпровождение компьютерные системы, которые сделали ресурсы доступными по линиям связи, создали новые проблемы безопасности. Как объясняют ученые Дебора Рассел и Г. Т. Гангеми-старший, «1960-е годы ознаменовали истинное начало эпохи компьютерной безопасности».[13]:27

Например, в июне 1965 года несколько ведущих специалистов страны по компьютерной безопасности провели одну из первых крупных конференций по безопасности систем, организованную государственным подрядчиком, Корпорация системного развития (SDC). Во время конференции кто-то отметил, что одному сотруднику SDC удалось легко подорвать различные системные меры безопасности, добавленные к SDC. AN / FSQ-32 компьютерная система с разделением времени. В надежде, что дальнейшее исследование безопасности системы будет полезным, участники попросили «... провести исследования в таких областях, как нарушение защиты в системе с разделением времени». Другими словами, участники конференции инициировали один из первых официальных запросов на использование компьютерного проникновения в качестве инструмента для изучения безопасности системы.[14]:7–8

Весной 1967 года на совместной компьютерной конференции многие ведущие компьютерные специалисты снова встретились, чтобы обсудить проблемы безопасности системы. Во время этой конференции эксперты по компьютерной безопасности Уиллис Уэр, Гарольд Петерсен и Рейн Терн, все RAND Corporation, и Бернард Питерс из Национальное Агенство Безопасности (NSA) все использовали фразу «проникновение» для описания атаки на компьютерную систему. В своем документе Уэр упомянул удаленно доступные военные системы с разделением времени, предупредив, что «следует предвидеть преднамеренные попытки проникновения в такие компьютерные системы». Его коллеги Петерсен и Терн разделили те же опасения, отметив, что системы онлайн-коммуникации «... уязвимы для угроз конфиденциальности», включая «преднамеренное проникновение». Бернард Петерс из АНБ высказал то же самое, настаивая на том, что компьютерный ввод и вывод "... могут предоставить большие объемы информации для проникающей программы". Во время конференции компьютерное проникновение будет официально идентифицировано как серьезная угроза для компьютерных систем онлайн.[14]:8

Угроза компьютерного проникновения была затем изложена в большом отчете, организованном Министерство обороны США (DoD) в конце 1967 года. По сути, официальные лица DoD обратились к Уиллису Уэру, чтобы тот возглавил рабочую группу экспертов из АНБ, ЦРУ, DoD, академические круги и промышленность для формальной оценки безопасности компьютерных систем с разделением времени. Опираясь на многие документы, представленные на совместной компьютерной конференции весной 1967 года, целевая группа в значительной степени подтвердила угрозу безопасности системы, которую представляет компьютерное проникновение. Первоначально отчет Уэра был засекречен, но многие ведущие компьютерные эксперты страны быстро определили его как исчерпывающий документ по компьютерной безопасности.[14] Джеффри Р. Йост из Институт Чарльза Бэббиджа недавно охарактеризовал отчет Ware как «... безусловно, наиболее важное и тщательное исследование технических и операционных вопросов, касающихся безопасных вычислительных систем за тот период».[15] Фактически, отчет Ware подтвердил главную угрозу, которую представляет компьютерное проникновение для новых компьютерных систем с разделением времени в режиме онлайн.

Чтобы лучше понять слабые места системы, федеральное правительство и его подрядчики вскоре начали организовывать группы взломщиков, известных как команды тигров, использовать компьютерное проникновение для проверки безопасности системы. Дебора Рассел и Г.Т. Гангеми-старший заявили, что в 1970-х годах «...« команды тигров »впервые появились на компьютерной арене. Команды тигров были спонсируемыми правительством и промышленностью командами взломщиков, которые пытались сломать защиту компьютерных систем в попытка раскрыть и, в конечном итоге, исправить дыры в безопасности ".[13]:29

Ведущий ученый в области истории компьютерной безопасности Дональд Маккензи также отмечает, что «RAND провела некоторые исследования проникновения (эксперименты по обходу средств контроля компьютерной безопасности) в ранних системах разделения времени от имени правительства».[16][17] Джеффри Р. Йост из Института Чарльза Бэббиджа в своей собственной работе по истории компьютерной безопасности также признает, что и RAND Corporation, и SDC «участвовали в некоторых из первых так называемых« исследований проникновения », чтобы попытаться внедрить системы разделения времени с целью проверки их уязвимости ".[15] Практически во всех этих ранних исследованиях команды тигров успешно взламывали все целевые компьютерные системы, поскольку системы с разделением времени в стране имели слабую защиту.

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

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

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

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

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

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

Инструменты

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

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

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

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

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

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

Программные фреймворки

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

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

  1. Разведка - процесс сбора важной информации о целевой системе. Эта информация может быть использована для лучшей атаки цели. Например, поисковые системы с открытым исходным кодом можно использовать для поиска данных, которые можно использовать в социальная инженерия атака.
  2. Сканирование - использует технические инструменты, чтобы злоумышленник узнал больше о системе. Например, Nmap может использоваться для поиска открытых портов.
  3. Получение доступа - используя данные, собранные на этапах разведки и сканирования, злоумышленник может использовать полезную нагрузку для эксплуатации целевой системы. Например, Metasploit можно использовать для автоматизации атак на известные уязвимости.
  4. Поддержание доступа - для поддержания доступа необходимо предпринять шаги, необходимые для того, чтобы иметь возможность постоянно находиться в целевой среде, чтобы собрать как можно больше данных.
  5. Скрытие следов - злоумышленник должен удалить все следы компрометации системы жертвы, любые типы собранных данных, события журнала, чтобы оставаться анонимным.[20]

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

Уязвимости

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

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

Представьте, что на веб-сайте есть 100 полей для ввода текста. Некоторые из них уязвимы для SQL-инъекций в определенные строки. Мы надеемся, что отправка случайных строк в эти поля на некоторое время приведет к ошибке кода. Ошибка проявляется в виде сломанной HTML-страницы, наполовину обработанной из-за ошибки SQL. В этом случае только текстовые поля рассматриваются как потоки ввода. Однако программные системы имеют много возможных входных потоков, таких как файлы cookie и данные сеанса, поток загруженных файлов, каналы RPC или память. Ошибки могут произойти в любом из этих входных потоков. Цель теста - сначала получить необработанную ошибку, а затем понять недостаток на основе неудачного тестового примера. Тестировщики пишут автоматизированный инструмент, чтобы проверить свое понимание недостатка до тех пор, пока он не станет правильным. После этого может стать очевидным, как упаковать полезную нагрузку, чтобы целевая система запускала ее выполнение. Если это невозможно, можно надеяться, что другая ошибка, произведенная фаззером, принесет больше результатов. Использование фаззера экономит время, поскольку не проверяет адекватные пути кода, где использование эксплойтов маловероятно.

Полезная нагрузка

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

Стандартные государственные услуги по тестированию на проникновение

В Администрация общих служб (GSA) стандартизировала услугу «тестирования на проникновение» в качестве предварительно проверенной службы поддержки, чтобы быстро устранить потенциальные уязвимости и остановить злоумышленников до того, как они повлияют на федеральные, государственные и местные органы власти США. Эти услуги обычно называются высокоадаптивными услугами кибербезопасности (HACS) и перечислены на веб-сайте GSA Advantage в США.[21]

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

132-45A Тестирование на проникновение[22] представляет собой тестирование безопасности, в ходе которого оценщики услуг имитируют реальные атаки для определения методов обхода функций безопасности приложения, системы или сети. Службы тестирования на проникновение HACS обычно стратегически проверяют эффективность превентивных и детективных мер безопасности, применяемых для защиты активов и данных. В рамках этой услуги сертифицированные этические хакеры обычно проводят имитацию атаки на систему, системы, приложения или другую цель в среде в поисках слабых мест в системе безопасности. После тестирования они обычно документируют уязвимости и описывают, какие средства защиты эффективны, а какие могут быть побеждены или использованы.

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

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

Общие ссылки

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

  1. ^ "Что такое тестирование на проникновение?". Получено 2018-12-18.
  2. ^ «Обзор тестирования на проникновение». Получено 2019-01-25.
  3. ^ «В чем разница между оценкой уязвимости и тестом на проникновение?». Получено 2020-05-21.
  4. ^ Руководство по подготовке CISSP® и CAPCM: платиновое издание. Джон Вили и сыновья. 2006-11-06. ISBN  978-0-470-00792-1. Тест на проникновение может определить, как система реагирует на атаку, можно ли взломать защиту системы и какую информацию можно получить из системы.
  5. ^ Кевин М. Генри (2012). Тестирование на проникновение: защита сетей и систем. IT Governance Ltd. ISBN  978-1-849-28371-7. Тестирование на проникновение - это имитация атаки на систему, сеть, часть оборудования или другой объект с целью доказать, насколько уязвима эта система или «цель» для реальной атаки.
  6. ^ а б Крис Томас (Space Rogue), Дэн Паттерсон (2017). Взломать пароли легко с IBM Space Rogue (Видео). CBS Interactive. Событие происходит в 4: 30-5: 30. Получено 1 декабря 2017.
  7. ^ «Объяснение типов проверки на проникновение». 2017-06-09. Получено 2018-10-23.
  8. ^ «Тестирование на проникновение: оценка вашей общей безопасности до того, как это сделают злоумышленники». Институт SANS. Получено 16 января 2014.
  9. ^ а б «Написание отчета о тестировании на проникновение». Институт SANS. Получено 12 января 2015.
  10. ^ "Тестирование на проникновение". NCSC. Август 2017 г.. Получено 30 октября 2018.
  11. ^ Патрик Энгебретсон, Основы взлома и тестирования на проникновение В архиве 2017-01-04 в Wayback Machine, Эльзевир, 2013
  12. ^ Алан Колдер и Герайнт Уильямс (2014). PCI DSS: Карманное руководство, 3-е издание. ISBN  978-1-84928-554-4. проверка уязвимости сети не реже одного раза в квартал и после любого значительного изменения в сети
  13. ^ а б Рассел, Дебора; Гангеми, Г. (1991). Основы компьютерной безопасности. O'Reilly Media Inc. ISBN  9780937175712.
  14. ^ а б c d е ж Хант, Эдвард (2012). «Программы проникновения компьютеров правительства США и их последствия для кибервойны». IEEE Annals of the History of Computing. 34 (3): 4–21. Дои:10.1109 / MAHC.2011.82. S2CID  16367311.
  15. ^ а б Йост, Джеффри Р. (2007). де Леу, Карл; Бергстра, Ян (ред.). История стандартов компьютерной безопасности, в истории информационной безопасности: подробное руководство. Эльзевир. С. 601–602.
  16. ^ Маккензи, Дональд; Поттинджер, Гаррель (1997). «Математика, технологии и доверие: формальная проверка, компьютерная безопасность и вооруженные силы США». IEEE Annals of the History of Computing. 19 (3): 41–59. Дои:10.1109/85.601735.
  17. ^ Маккензи, Дональд А. (2004). Механизация доказательств: вычисления, риск и доверие. Массачусетский Институт Технологий. п. 156. ISBN  978-0-262-13393-7.
  18. ^ Броуд, Уильям Дж. (25 сентября 1983 г.). "Компьютерная безопасность беспокоит военных", Нью-Йорк Таймс
  19. ^ Faircloth, Джереми (2011). «Глава 1: Инструменты торговли» (PDF). Набор инструментов с открытым исходным кодом для тестирования на проникновение (Третье изд.). Эльзевир. ISBN  978-1597496278. Получено 4 января 2018.[нужна цитата для проверки ]
  20. ^ «Подведение итогов пяти этапов тестирования на проникновение - Cybrary». Cybrary. 2015-05-06. Получено 2018-06-25.
  21. ^ «GSA HACS SIN 132-45 Services». 1 марта 2018.
  22. ^ «Услуги по тестированию на проникновение». 1 марта 2018.
  23. ^ Длинный, Джонни (2011). Google Взлом для тестеров на проникновение. Elsevier Science. ISBN  978-0-08-048426-6.
  24. ^ "Полное руководство по тестированию на проникновение | Core Sentinel". Core Sentinel. Получено 2018-10-23.