- •Введение
- •1. Анализ процессов тестирования на проникновение
- •1.1 Характеристика понятия тестирования проникновения
- •1.2 Описание алгоритма метода тестирования на проникновение
- •2. Оценка возможность восстановления ключевой информации протокола ipSec
- •2.1 Этапы обеспечение безопасности от проникновения с помощью протокола ipSec
- •2.2 Метод статического анализа при тестировании на проникновение
- •2.3 Метод динамического анализа
- •Список литературы
- •Заключение
1.2 Описание алгоритма метода тестирования на проникновение
Метод тестирования на проникновение (penetration testing) рассматривает web-приложение с точки зрения внешнего пользователя, то есть потенциального злоумышленника. При этом считается, что злоумышленник обладает такими же возможностями, как и обычный пользователь, т.е. не имеет доступа к исходным кодам web-приложения, конфигурационным настройкам и т.п. Метод предусматривает тестирование работающего на стенде web-приложения путем посылки запросов которые эмулируют пользовательскую активность, включающую в том числе и некорректные запросы, соответствующие действиям злоумышленника.
При поиске уязвимостей в web-приложении методом тестирования на проникновение возникают три основные задачи2:
Получение и анализ структуры web-приложения.
Построение набора тестовых HTTP-запросов на основе построенной структуры web-приложения.
Прогон тестового набора с анализом ответов web-приложения для выявления уязвимостей.
Задача получения и анализа структуры web-приложения состоит в том, чтобы построить полный список URI web-приложения, методов доступа к ним и списков их параметров, выделить URI, защищённые аутентификацией. Данная информация необходима для построения набора тестовых запросов к web-приложению. Для автоматического получения структуры web-приложения используются сетевые роботы (web crawlers). В случае статических HTML-страниц работа робота сводится к обходу всех доступных ссылок web-приложения, а в случае наличия форм и скриптов – к заполнению форм и извлечению гиперссылок из скриптов. Получение полной структуры web-приложения возможно не во всех случаях – основные проблемы возникают при заполнении web-форм и интерпретации скриптов.
Web-формы делятся на две категории: формы, содержащие только элементы с ограниченными областями значений (select, option и т.д.) и формы, содержащие элементы с неограниченными областями значений (например, textarea). Обход страниц, связанных с посылкой форм первого типа осуществляется последовательным перебором всех комбинаций значений полей формы. Для переходов, связанных с заполнением текстовых полей, возможны два способа обхода: ручной или автоматизированный. При ручном способе управление процессом передаётся человеку, а при автоматизированном способе применяются эвристические методы заполнения текстовых полей, основанные на словарях, например, VeriWeb, HiWE. Для форм, содержащих элементы с неограниченной областью значений, автоматизированный обход не гарантирует нахождения всех URI приложения.
Для автоматического обхода страниц, содержащих ссылки, формируемые средствами скриптовых языков, необходима возможность не только интерпретации скриптового языка, но и эмуляции действий пользователей для формирования тех или иных событий, например, onClick, onMove. Существующие средства интерпретации скриптовых языков не гарантируют выявления всех гиперссылок3.
2. Оценка возможность восстановления ключевой информации протокола ipSec
2.1 Этапы обеспечение безопасности от проникновения с помощью протокола ipSec
Authentication Header (AH) обеспечивает аутентификацию и целостность IP-пакетов, передаваемых между двумя системами, и дополнительно может обеспечивать anti-replay сервис. АН нe обеспечивает конфиденциальности (шифрования) пакетов. Данные передаются в незашифрованном виде. АН - это протокол, который следует использовать, когда конфиденциальность не требуется или не разрешена4.
Протокол IKE (Internet Key Exchange) используется для определения способа инициализации защищѐнного канала, кроме того, IKE определяет процедуры обмена и управления секретными ключами соединения. IPsec использует существующие алгоритмы шифрования, аутентификации и обмена ключами. Некоторые из стандартных алгоритмов, используемых IPsec, перечислены ниже:
– DES: Выполняет шифрование и дешифровку данных.
– 3DES: Использует 3 различных 56 битных ключа (DES encrypt, DES decrypt, DES encrypt), предлагает значительное увеличение криптографической сложности по сравнению с 56-битным алгоритмом DES.
– AES: Обеспечивает повышенную сложность шифрования в зависимости от используемой длины ключа, использует ключ от 128 - 256 бит.
– MD5: Аутентифицирует данные пакета с использованием 128-битного общего секретного ключа.
– SHA-1: Аутентифицирует данные пакета с использованием 160-битного общего секретного ключа.
– DH: Для обмена секретными ключами в IPsec используется алгоритм Diffie-Helman, позволяет двум сторонам формировать общий секретный ключ, используемый для алгоритмов шифрования и хэширования по небезопасному каналу связи5.
IPsec предоставляет структуру, администратор выбирает алгоритмы, на базе которых реализуются службы безопасности в рамках этой структуры. На рис. 1 приведена структура IPsec.
Рис. 1 - Структура IPsec
IPsec обеспечивает сервисы безопасности на IP-уровне, выбирая нужные протоколы безопасности, определяя алгоритмы, используемые сервисами, и предоставляя все криптографические ключи требуемым сервисам.
Агент политики IPSec предназначен для загрузки сведений политик IPSec, их передачи в другие компоненты IPSec, а также для обеспечения работы служб безопасности, которым необходимы данные сведения. Агент политики IPSec представляет собой службу, которая расположена на каждом компьютере с операционной системой Windows и отображается в списке служб как «Служба IPSec». Эта служба выполняет следующие действия: загружает назначенную политику IPSec, опрашивает о наличии изменений в конфигурации самой политики, отправляет сведения назначенной политики IPSec в драйвер IPSec.
Ассоциация безопасности IKE определяет параметры обмена IKE: используемый метод аутентификации, алгоритмы шифрования и хэширования, используемая группа Диффи-Хеллмана, максимальное время существования ассоциации защиты IKE в секундах или килобайтах и совместно используемые секретные значения ключей для алгоритмов шифрования. Таким образом, в ходе первой фазы IKE выполняются следующие действия (рис. 2)6:
Рис. 2 - Первая фаза IKE
Первая фаза IKE может выполняться в одном из двух режимов: основном (Main Mode) и энергичном (Aggressive Mode). В энергичном режиме меньше число обменов параметрами между сторонами, и число пересылаемых при этом пакетов, в результате чего необходимо меньше времени для установки сеанса IPSec. Однако, недостатком использования энергичного режима является то, что обе стороны обмениваются информацией до того, как создан защищенный канал.
На втором этапе обмена ключами в Интернете (вторая фаза IKE) сопоставления безопасности согласуются от имени драйвера IPSec. Вторая фаза IKE выполняется в быстром режиме, после того как в результате первой фазы IKE создается защищенный туннель. Во время данного этапа выполняются следующие шаги: идет согласование политики, во время которого компьютеры IPSec обмениваются такими требованиями к защите передачи данных, как протокол IPSec, а именно AH или ESP, алгоритм хеширования для проверки подлинности (MD5 или SHA1), а также, если запрашивается, алгоритм шифрования (DES или 3DES). Далее происходит обновление или обмен материалом для создания ключа сеанса. В это время IKE обновляет сведения о ключе, после чего происходит создание новых общих ключей для проверки подлинности и шифрование пакетов. И, напоследок, идет процесс сопоставления безопасности, после чего ключи передаются в драйвер IPSec вместе с SPI. Таким образом, задачей второй фазы IKE является согласование параметров ассоциации безопасности IPSec с целью создания туннеля IPSec. В этой фазе выполняются следующие действия (рис. 3):
Рис. 3 - Вторая фаза IKE
