рефераты скачать

МЕНЮ


Дипломная работа: Разработка и анализ эффективности средств отражения распределенных атак

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

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

Еще одна интересная угроза связана с настройками CD привода. В случае, когда включена опция автоматического определения диска, автоматически выполняется файл AUTORUN.INF, содержание которого заранее неизвестно.

1.3.1.5 Угрозы, связанные со спланированными действиями злоумышленников

Эта группа содержит наибольшее количество угроз. В ней представлены угрозы, которые могут быть реализованы как при непосредственном физическом воздействии (кражи, акты вандализма и т.д.) так и удаленно.

Одним из примеров таких угроз является действие так называемого adware ПО, к которому относятся компьютерные вирусы, черви, троянские кони, макро вирусы, rootkit’ы и т.д.

Так же существуют угрозы, связанные с анализом сетевого трафика с помощью специальных программ (sniffers). При реализации этих угроз злоумышленник может получить несанкционированный доступ к конфиденциальной информации: e-mail, паролям (которые во многих протоколах передаются по сети в открытом виде). Так же с помощью сетевого трафика злоумышленник может получить представление о внутренней структуре сети (используемые IP адреса, топологию и т.д.), ПО используемое на машинах в сети и т.д. Если злоумышленник контролирует сетевое устройство (маршрутизатор, мост и т.д.) через которое проходит трафик, то кроме нарушения конфиденциальности информации может присутствовать нарушение ее целостности.

Стоит упомянуть угрозы связанные со спуфингом (spoofing). Примерами таких угроз являются ARP и DNS spoofing. Реализация этих угроз позволяет изменить маршрутизацию пакетов в локальных (ARP, DNS) и глобальных (DNS) сетях, в результате чего злоумышленник получает возможность контролировать трафик атакуемых систем. Так же существует угроза Web spoofing. Она заключается в том, что злоумышленник может имитировать какой либо Web сайт путем регистрации доменного имени со схожим названием, при этом многие пользователи об этом даже не будут догадываться. Например, у компании "Рога и Копыта Ukraine" есть web сайт www.rogakopita.ua. Если пользователи не знают точного доменного имени? то многие из них начнут поиск с www.rogakopita.com, по которому злоумышленники могут разместить похожий сайт.

1.3.2 Классификация угроз по нарушаемым базовым услугам ИС

Как упоминалось ранее, к ИС должны выдвигаться требования по обеспечению базовых услуг. Такими базовыми услугами являются [3]:

·  обеспечение конфиденциальности информации. Конфиденциальность – это свойство информации, заключающееся в том, что она не может быть получена неавторизованным пользователем и (или) процессом [3].

·  обеспечение целостности информации. Целостность – это свойство информации, заключающееся в том, что она не может быть модифицирована неавторизованным пользователем и (или) процессом [3].

·  обеспечение доступности ресурсов. Доступность – это свойство ресурса системы, заключающееся в том, что пользователь и (или) процесс, который владеет соответствующими полномочиями, может использовать ресурс в соответствии с правилами, установленными политикой безопасности, не ожидая дольше заданного (маленького) промежутка времени, т.е. когда они находятся в виде нужном пользователю, в месте нужном пользователю и в нужное пользователю время [3]

·  обеспечение аутентичности. Обеспечивается с помощью аутентификации. Аутентификация – это процедура проверки соответствия предъявленного идентификатора объекта КС на предмет принадлежности его этому объекту [3].

·  обеспечение наблюдаемости. Наблюдаемость – это свойство КС, которое позволяет фиксировать деятельность пользователей и процессов, использование пассивных объектов, а так же однозначно устанавливать идентификаторы причастных к конкретным событиям пользователей и процессов с целью предотвращения нарушения политики безопасности и (или) обеспечения ответственности за конкретные действия [3].

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

1.3.2.1 Угрозы нарушения конфиденциальности информации

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

·  Перехват и анализ сетевого трафика с помощью специализированного ПО. Такое ПО называется снифферами.

·  Криптоанализ зашифрованных данных

·  Несанкционированный доступ к данным, находящимся в различных запоминающих устройствах (на жестком диске, в ОЗУ, flash и т.д).

1.3.2.2 Угрозы нарушения целостности информации

Угрозы нарушения целостности информации включают в себя несанкционированное изменение или удаление данных, обрабатываемых в информационной системе. Примерами реализации такой угрозы могут быть:

·  Модификация трафика, проходящего через хост атакующего, либо с помощью специализированного ПО (троянские кони, rootkit)

·  Модификация файлов других пользователей, хранящихся на разделяемом дисковом пространстве

1.3.2.3 Угрозы нарушения аутентичности

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

·  Навязывание ложных сетевых адресов (ARP-spoofing) и доменных имен (DNS-spoofing), соответственно, может осуществляться на сетевом и транспортном уровнях модели OSI.

·  Классическая атака типа человек посередине (Man in the middle). Заключается в том, что злоумышленник незаметно внедряется в канал связи между двумя абонентами и получает полный контроль над информацией (модификация, удаления, создание дезинформации), которой обмениваются участвующие стороны. При этом он остается абсолютно невидимым для абонентов.

1.3.2.4 Угрозы нарушения наблюдаемости

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

·  Очистка журналов аудита

·  Отключение системы аудита

·  Переполнение журнала аудита, в результате чего, записи о некоторых событиях пропадают

·  Заражение системы rootkit’ом

1.3.2.5 Угрозы нарушения доступности ресурсов

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

·  загрузка ресурсов сервера фиктивными запросами злоумышленника, в результате чего запросы от легальных пользователей не могут быть обработаны.

·  обрыв канала связи, между взаимодействующими сторонами

Атаки, реализующие такие угрозы, называются DoS (Denial of Service) атаками. Целью данной работы является разработка методики обнаружения и противодействия TCP SYN атаке – одной из самых распространенных атак этого класса. В связи с этим ниже рассматриваются особенности реализации атак типа отказа в обслуживании и, в частности, TCP SYN атаки.

1.4 Особенности реализации DoS/DDos атак. TCP SYN атака

DoS/DDoS-атаки направлены на нарушение базовой услуги доступности. Основная цель DoS/DDoS-атак вывести атакуемый объект из рабочего состояния и сделать его ресурсы недоступными для легальных пользователей. Атаку, направленную на отказ в обслуживании, можно провести двумя способами: используя уязвимости в программном обеспечении атакуемой системы и при помощи отсылки большого количества определенно составленных сетевых пакетов (flood).

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

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

Для многих DoS/DDoS атак результаты обработки сервером пакетов, отправленных злоумышленником, последнего не интересуют. Это значит, что атакующий может отправлять поток ложных заявок с ложных IP адресов (это понятие называется spoofing), что препятствует его обнаружению и эффективному противодействию такого рода атакам.

Для проведения успешной DoS-атаки необходима довольно высокая пропускная способность канала. Поэтому атака на отказ в обслуживании в большинстве случаев проводится сразу с нескольких машин. Атака, в проведении которой участвует большое количество машин, получила название DDoS. Стоит отметить, что для распределенной атаки могут использоваться инфицированные специальным ПО машины не принадлежащие атакующему. Такие зараженные машины называются "зомби". Одним из способов получения "зомби" является массовое внедрение "трояна" на компьютеры мирных пользователей. Получив определенную извне команду такой "троян" превращает "мирный" компьютер с доступом в Internet в источник ложных запросов, направленных на перегрузку ресурсов сервера.

Наиболее распространенными DoS атаками являются:

·  TCP SYN Flood или просто TCP SYN

·  TCP flood

·  Ping of Death

·  ICMP flood

·  UDP flood

Рассмотрим подробнее TCP SYN (tcp syn flood) атаку, которая направлена на прикладные сервисы, использующие протокол транспортного уровня TCP. Этот протокол получил широкое распространение в информационных системах за счет того, что он гарантирует 100% доставку всех передаваемых данных. Взаимодействующие узлы сети, использующие в качестве транспорта этот протокол, устанавливают между собой TCP соединения, в рамках которых ведется контроль над тем, что получатель получит все посланные отправителем пакеты. Это достигается за счет того, что получатель извещает отправителя о том, какие пакеты он получил. Если до получателя дошли не все предназначенные ему пакеты, то отправитель повторно их отправит. Как видно достоинством этого протокола является возможность установления соединения. Для хранения информации о текущем состоянии соединения в частности используется поле битовых флагов в пакетах, используемых протоколом. Под это поле отведено 8 бит, однако 2 из них являются зарезервированными и в настоящее время используются только 6 флагов: URG (флаг срочности), ACK (флаг подтверждения), PSH (флаг push функции), RST (флаг сброса), SYN (флаг синхронизации) и FIN (флаг окончания). К сожалению, установленный стандартом [11] механизм установления соединения не является совершенным, и рассматриваемая атака, как раз использует его недостатки.

Основная цель этой TCP SYN атаки – превысить ограничение на количество TCP соединений, которые находятся в состоянии установки. Рассмотрим процедуру установки TCP соединения. Сначала клиент, инициализирующий соединение отправляет серверу TCP-SYN запрос. Получив такой запрос, сервер выделяет память для параметров соединения в специально предназначенном для этого буфере. Затем отправляет клиенту TCP пакет с флагами SYN+ACK. Получив пакет SYN+ACK, клиент должен отправить серверу пакет с подтверждением, т.е. пакет с установленным флагом ACK. Когда сервер получит и обработает этот пакет, соединение является установленным. Описанная выше

процедура изображена на рис. 1.1

Рис. 1.1 Установка TCP соединения

TCP SYN атака производится следующим образом: злоумышленник генерирует большое количество пакетов с установленными SYN флагами протокола TCP. Получая пакеты, атакуемая машина выделяет память для хранения параметров соединения и отправляет ответ – пакет с флагами SYN + ACK и ожидает пакета с флагом ACK. Очевидно, что ожидаемый ответ она не получит, и память будет освобождена только после истечения установленного таймаута. Через некоторое время буфер, выделенный для хранения параметров TCP, соединений будет полностью занят, в результате чего, система не сможет устанавливать новые соединения. После этого каждый дополнительный запрос еще сильнее увеличивает нагрузку. Такие атаки не нуждаются в обратной связи с атакующим, и поэтому злоумышленник может генерировать пакет с произвольными IP адресами отправителя.

Отсутствие обратной связи с атакующим делает обнаружение и отражение TCP-SYN атаки довольно сложной задачей.

1.5 Постановка задач по защите от угроз

В настоящее время в открытой литературе не известны эффективные методы обнаружения TCP SYN атак. В современных ОС присутствуют механизмы защиты атакуемого сервера, например SYN cookies. Операционная система автоматически включает защиту, когда обнаруживает превышение значений некоторых параметров. Например, ОС Windows 2000 следит за значениями трех параметров: TcpMaxHalfOpen, TcpMaxHalfOpenRetried, TcpMaxPortsExhausted [12]. Пороговые значения для этих параметров имеют значения по умолчанию и могут меняться администратором. Если исходные значения не подходят для конкретного сервера, то перед администратором стоит непростая задача эффективно настроить защиту. Кроме того, этот метод требует внесения соответствующих изменений в реализацию стека TCP/IP, которые некоторые специалисты в области сетевых технологий считают "серьезным нарушением" протокола TCP[13].

Другим недостатком средств обнаружения TCP атаки интегрированных в ОС является то, что при перегрузке (имеется в виду нехватка ресурсов процессора и памяти) или зависании самой системы средства противодействия так же становятся неработоспособными.

Целью магистерской работы является создание математически обоснованной методики обнаружения TCP SYN атаки. Для этого необходимо построить математическую модель, описывающую взаимодействие TCP сервера с клиентами. Исходными параметрами для такой модели должны быть характеристики сервера и канала связи, а выходным параметром должно быть утверждение о наличии или отсутствии TCP-SYN атаки.

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


2. ИЗВЕСТНЫЕ МЕТОДЫ ПРОТИВОДЕЙСТВИЯ TCP SYN АТАКЕ

В этом разделе рассматриваются существующие методы обнаружения и противодействия TCP SYN атаке, описываются их достоинства и недостатки.

2.1 TCP SYN Cookies

Этот метод защиты от рассматриваемой атаки был предложен в 1996 году, в скором времени после первых TCP SYN атак [13], вызвавших большой резонанс. В основе этого метода лежит изменение идентификатора последовательности TCP TCP (TCP sequence number). Значение этого параметра определяется следующим образом [13]:

·  5 старших битов: значение t mod 32, где t – 32-разрядный счетчик временных интервалов, значение которого увеличивается на 1 каждые 64 секунды;

·  следующие 3 бита: кодированное значение MSS, выбранное сервером в ответ на MSS клиента;

·  младшие 24 бита: выбранная сервером на основе IP-адресов и номеров портов отправителя и получателя, а также величины t значение секретной функции.

Такой алгоритм выбора начального порядкового номера соответствует основным требованиям протокола TCP, в соответствии с которыми номера должны увеличиваться достаточно медленно и начальные порядковые номера для серверов растут несколько быстрее, нежели порядковые номера для клиентов.

Серверы, использующие функции SYN cookie, не отвергают соединения при заполнении очереди SYN. Взамен они передают инициатору соединения пакет SYN+ACK, в точности соответствующий пакету, который был бы передан при большем размере очереди SYN (исключения: сервер должен отвергать (reject) опции TCP такие, как большое окно, и должен использовать 1/8 значения MSS, которое он может кодировать). При получении пакета ACK, сервер убеждается в работе секретной функции для последнего (recent) значения t и перестраивает запись очереди SYN в соответствии со значением MSS.

Стоит отметить, что этот метод реализован в ОС семейства Linux и FreeBSD. К достоинствам этого метода можно отнести его достаточную эффективность. Недостатком метода является необходимость модификации реализации стека TCP/IP, которая, по мнению некоторых специалистов в области сетевых технологий [13], противоречит спецификации протокола TCP.

2.2 TCP RST Cookies

Этот метод заключается в том, что клиенту, приславшему запрос на соединение, отправляется SYN+ACK пакет, с неверными параметрами. В соответствии со спецификацией протокола TCP [10] клиент должен прислать RST пакет. Если такой пакет приходит к серверу, то сервер добавляет клиента в список "благополучных" клиентов. Достоинством этого метода является проверка клиента, при этом к недостаткам можно отнести несовершенство механизма такой проверки. Во-первых, эта проверка требует дополнительного времени на отправку некорректного SYN + ACK и получение RST пакетов. В открытой литературе недостаточно информации об этом методе, что затрудняет анализ его достоинств и недостатков. В частности, возникает вопрос, по какому критерию сервер идентифицирует клиентов. Если это только IP адрес, то злоумышленник может при организации атаки устанавливать в качестве адреса отправителя адрес уже проверенного сервером клиента [14].


2.3 Floodgate

Метод заключается в том, что в условиях атаки сервер обрабатывает не все SYN пакеты, а только их часть. Обычно эта часть выбирается случайным образом. Достоинством этого метода является простота реализации, однако это выливается в его же основной недостаток – низкую эффективность, т.к. заявки легальных пользователей будут отфильтровываться системой наравне с вредоносным трафиком [15].

2.4 Предмаршрутизационная фильтрация

Этот метод заключается в том, что каждый маршрутизатор в сети контролирует IP адреса отправителей в маршрутизируемом им трафике, выявляет пакеты с ложными адресами и уничтожает их. Главным достоинством этого метода является то, что он полностью исключает возможность атаки с подложных адресов, что является главным препятствием для ее эффективного обнаружения и блокирования. Недостатком метода является его дороговизна, обусловленная необходимостью замены огромного числа действующих в настоящее время в сети Internet маршрутизаторов [14].

2.5 Random/Old Drop

Метод основан на том, что некоторые из полуоткрытых соединений закрываются сервером. При этом в случае Random модификации закрываются случайно выбранные соединения, а в случае Old – те полуоткрытые соединения, которые существуют дольше остальных. Достоинством такого метода является простота реализации, а главным недостатком – низкая эффективность фильтрации трафика, при которой с высокой вероятностью будут закрыты соединения с легальными клиентами [14].

2.6. SYN-Proxy

Этот метод требует дополнительный прокси-сервер, назначением которого является обработка SYN пакетов. Он служит посредником между клиентом и сервером. Если прокси-серверу удалось установить соединение с клиентом, то клиент допускается к ресурсам главного сервера. Достоинством данного метода является то, что ресурсы основного сервера используются с большей эффективностью, а недостатки заключаются в незащищенности прокси-сервера от атаки и сложность реализации [14].

Страницы: 1, 2, 3, 4, 5, 6


Copyright © 2012 г.
При использовании материалов - ссылка на сайт обязательна.