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


Из Википедии, свободной энциклопедии
  (Перенаправлено из теста пера )
Перейти к навигации Перейти к поиску

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

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

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

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

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

Тесты на проникновение являются составной частью полного аудита безопасности . Например, стандарт безопасности данных индустрии платежных карт требует регулярного тестирования на проникновение и после внесения изменений в систему. [12] Тестирование на проникновение также может помочь в оценке рисков, как указано в NIST Risk Management Framework SP 800-53 . [13]

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

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

Существуют различные типы тестирования на проникновение, в зависимости от цели организации, которые включают: сеть (внешнюю и внутреннюю), беспроводную связь, веб-приложение, социальную инженерию и проверку исправлений.

История

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

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

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

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

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

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

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

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

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

Со временем описание Андерсоном общих шагов проникновения в компьютер помогло многим другим экспертам по безопасности, которые полагались на этот метод для оценки безопасности компьютерных систем с разделением времени. [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.

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

  • Бэкбокс
  • Хпинг
  • Проект Метасплоит
  • Несс
  • Nmap
  • ЗАП ОВАСП
  • СВЯТОЙ
  • w3af

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

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

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

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

Уязвимости

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

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

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

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

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

  • Метасплоит
  • Несс
  • Nmap
  • OpenVAS
  • W3af

Стандартизированные государственные службы тестирования на проникновение

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

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

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

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

Результаты тестов на проникновение различаются в зависимости от используемых стандартов и методологий. Существует пять стандартов тестирования на проникновение: Руководство по методологии тестирования безопасности с открытым исходным кодом [24] (OSSTMM), Проект безопасности открытых веб-приложений (OWASP), Национальный институт стандартов и технологий (NIST00), Структура оценки безопасности информационных систем (ISSAF) и Проникновение. Методологии и стандарты тестирования (PTES).

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

  • ИТ-риск
  • ITHC
  • Команда тигра
  • Белая шляпа (компьютерная безопасность)

Общие ссылки

  • Лонг, Джонни (2011). Взлом Google для пентестеров , Elsevier [25]
  • Полное руководство по тестированию на проникновение [26]

использованная литература

  1. ^ "Что такое тестирование на проникновение?" . Проверено 18 декабря 2018 г. .
  2. ^ «Обзор тестирования на проникновение» . Проверено 25 января 2019 г. .
  3. ^ «В чем разница между оценкой уязвимости и тестом на проникновение?» . Проверено 21 мая 2020 г. .
  4. ^ Руководство по подготовке к CISSP® и CAPCM: Platinum Edition . Джон Уайли и сыновья. 06.11.2006. ISBN 978-0-470-00792-1. Тест на проникновение может определить, как система реагирует на атаку, можно ли взломать защиту системы и какую информацию можно получить из системы.
  5. ^ Кевин М. Генри (2012). Тестирование на проникновение: защита сетей и систем . ISBN ООО «АйТи Управление» 978-1-849-28371-7. Тестирование на проникновение — это имитация атаки на систему, сеть, часть оборудования или другой объект с целью доказать, насколько уязвима эта система или «цель» для реальной атаки.
  6. ^ a b Крис Томас (Космический разбойник), Дэн Паттерсон (2017). Взломать пароль легко с IBM Space Rogue (видео). Интерактив CBS . Событие происходит в 4:30-5:30 . Проверено 1 декабря 2017 г.
  7. ^ «Объяснение типов ручного тестирования» . 2017-06-09 . Проверено 23 октября 2018 г. .
  8. ^ «Тестирование на проникновение: оценка вашей общей безопасности до того, как это сделают злоумышленники» . Институт САНС . Проверено 16 января 2014 г.
  9. ^ a b «Написание отчета о тестировании на проникновение» . Институт САНС . Проверено 12 января 2015 г.
  10. ^ «Тестирование на проникновение» . NCSC . август 2017 . Проверено 30 октября 2018 г.
  11. ↑ Патрик Энгебретсон, Основы взлома и тестирования на проникновение . Архивировано 4 января 2017 г. в Wayback Machine , Elsevier, 2013 г.
  12. ^ Алан Колдер и Герайнт Уильямс (2014). PCI DSS: Карманный справочник, 3-е издание . ISBN 978-1-84928-554-4. сетевые уязвимости сканируются не реже одного раза в квартал и после любого существенного изменения в сети
  13. ^ «Структура управления рисками NIST» . НИСТ . 2020.
  14. ^ б Рассел, Дебора ; Гангеми, GT (1991). Основы компьютерной безопасности . ISBN O'Reilly Media Inc. 9780937175712.
  15. ^ a b c d e f Хант, Эдвард (2012). «Программы проникновения в компьютеры правительства США и последствия для кибервойны». IEEE Annals of the History of Computing . 34 (3): 4–21. doi : 10.1109/MAHC.2011.82 . S2CID 16367311 . 
  16. ^ a b Йост, Джеффри Р. (2007). де Леу, Карл; Бергстра, Ян (ред.).История стандартов компьютерной безопасности , в «Истории информационной безопасности: всеобъемлющее руководство» . Эльзевир. стр. 601–602.
  17. ^ Маккензи, Дональд; Поттингер, Гаррель (1997). «Математика, технологии и доверие: формальная проверка, компьютерная безопасность и вооруженные силы США» . IEEE Annals of the History of Computing . 19 (3): 41–59. дои : 10.1109/85.601735 .
  18. ^ Маккензи, Дональд А. (2004). Механизация доказательства: вычисления, риск и доверие . Массачусетский технологический институт . п. 156. ИСБН 978-0-262-13393-7.
  19. Броуд, Уильям Дж. (25 сентября 1983 г.). «Компьютерная безопасность беспокоит военных экспертов», The New York Times
  20. ^ Faircloth, Джереми (2011). «Глава 1: Инструменты торговли» (PDF) . Набор инструментов для тестирования на проникновение с открытым исходным кодом (третье изд.). Эльзевир . ISBN  978-1597496278. Проверено 4 января 2018 г.[ нужна цитата для проверки ]
  21. ^ «Обобщение пяти этапов тестирования на проникновение - Cybrary» . Кибрари . 2015-05-06 . Проверено 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 г. .
Получено с " https://en.wikipedia.org/w/index.php?title=Penetration_test&oldid=1062586172 "