Компютерные сети

Автор работы: Пользователь скрыл имя, 16 Января 2014 в 19:38, курсовая работа

Краткое описание

Широкое распространение стека протоколов ТСР/IP и использование технологий Intranet обнажило слабые стороны IP-сетей. Создавая свое детище, архитекторы стека ТСР/IP не видели причин особенно беспокоиться о защите сетей, которые строятся на его основе. Они и не допускали, что когда-нибудь отсутствие эффективных средств защиты станет основным фактором, сдерживающим применение протоколов ТСР/IP.

Прикрепленные файлы: 1 файл

Глава_1(Рус).docx

— 97.52 Кб (Скачать документ)

Широкое распространение  стека протоколов ТСР/IP и использование  технологий Intranet обнажило слабые стороны IP-сетей. Создавая свое детище, архитекторы стека ТСР/IP не видели причин особенно беспокоиться о защите сетей, которые строятся на его основе. Они и не допускали, что когда-нибудь отсутствие эффективных средств защиты станет основным фактором, сдерживающим применение протоколов ТСР/IP.

Остановимся на более детальном  рассмотрении важных проблем недостаточной  информационной безопасности протоколов ТСР/IP, IP- сетей и служб Internet. Эти изъяны являются "врожденными" практически для всех протоколов стека ТСР/IP и служб Internet. Большая часть этих проблем связана с исторической зависимостью Internet от операционной системы UNIX. Сеть ARPANET строилась как сеть, которая связывает исследовательские центры, научные, военные и правительственные учреждения, большие университеты США. Эти структуры использовали операционную систему UNIX в качестве платформы для коммуникаций и решения собственных заданий. Поэтому особенности методологии программирования в среде UNIX и его архитектура наложили отпечаток на реализацию протоколов обмена ТСР/IP и политики безопасности в сети. Через открытость и распространенность система UNIX оказалась любимой добычей хакеров. Тому не удивительно, что и набор протоколов TCP/IP имеет "прирожденные" недостатки защиты.

На практике ІР-сети уязвимы для ряда способов несанкционированного вторжения в процесс обмена данными. По мере развития компьютерных и сетевых технологий список возможных типов сетевых атак на ІР-сети постоянно расширяется. Сегодня наиболее распространенными являются следующие варианты атак:

Подслушивание. Большинство данных передаются по компьютерным сетям в незащищенном формате (открытым текстом), что позволяет злоумышленнику, который получил доступ к линиям передачи информации вашей сети, подслушивать или считывать траффик. Подслушивание в компьютерных сетях называется слежкой (sniffing). Если не использовать служб, которые обеспечивают стойкую шифровку, то данные, которые передаются по сети,  будут доступны для чтения. Для подслушивания в сетях могут использоваться так называемые, снифферы пакетов. Сниффер пакетов является прикладной программой, которая перехватывает все сетевые пакеты, которые передаются через определенный домен. Некоторые сетевые дополнения передают данные в текстовом формате(Telnet, FTP, SMTP и так далее), и с помощью сниффера можно узнать полезную, а иногда и конфиденциальную информацию (например, имена пользователей и пароли).

Парольные атаки. Хакеры могут  проводить парольные атаки с  помощью целого ряда методов, таких, как IP-спуффинг и сниффинг пакетов, атака полного перебора (brute force attack), "троянский конь". Перехват паролей и имен пользователей, которые передаются по сети в незашифрованной форме, путем "подслушивания" канала (password sniffing) создает большую опасность, поскольку пользователи часто применяют один и тот же логин и пароль для огромного количества дополнений и систем. Многие пользователи вообще имеют один пароль для доступа ко всем ресурсам. Если дополнение работает в режиме "клиент-сервер", а аутентификационные данные передаются по сети в текстовом формате, эту информацию с большой достоверностью можно использовать для доступа к другим корпоративным или внешним ресурсам. Хотя логин и пароль часто можно получить с помощью IP-спуффинга и сниффинга пакетов, хакеры часто пытаются подобрать пароль и логин, используя для этого многочисленные попытки доступа. Часто для атаки полного перебора используется специальная программа, которая дает возможность получить доступ к ресурсу общего пользования (например, к серверу). В результате хакер допускается к ресурсам на правах обычного пользователя, пароль которого был подобран. Если этот пользователь имеет значительные привилегии доступа, хакер может создать себе "проход" для будущего доступа.

"Атаки на  отказ". Типичный сценарий атаки на отказ заключается в следующем: нападающий инициирует начало атаки, после чего одно или несколько источников атаки начинают посылать злоумышленные пакеты через сеть Интернет, который приводит к блокированию услуги для клиентов. Как правило при атаке нападающий не использует свой собственный компьютер, потому источники атаки, в действительности, являются агентами – машинами третьих лиц, которые были взяты под контроль атакующим. Атака может блокировать ключевой ресурс путем использования определенных слабостей в программном обеспечении жертвы (атаки уязвимости - vulnerability attacks) или путем пересылки больших объемов траффика, который жертва должна обрабатывать (атаки переполнения - flooding attacks). Атаки уязвимости обычно используют пакеты специального типа или содержания для использования конкретных уязвимостей. Как правило для успешного использования уязвимости достаточно нескольких пакетов, потому такие атаки имеют низкий объем траффика. Эти два свойства (специальный вид пакетов и низкие объемы) упрощают противодействие таким атакам. Во-первых, уязвимости можно исправлять регулярным обновлением версий программного обеспечения. Во-вторых, специальные типы пакетов можно отлавливать и обрабатывать отдельно. При атаке переполнения происходит перегрузка ресурсов жертвы большими объемами. С такой атакой тяжелее бороться, поскольку пакеты могут быть любого типа, а большой объем траффика мешает детальному анализу частот. Если в атаке на отказ принимает участие одна машина, то наилучшим решением будет обустроить машину жертвы дополнительными ресурсами. В этом случае атакующему будет сложно найти машину с достаточными возможностями для перегрузки компьютера жертвы.

Распределенные  атаки на отказ

Распределенная  атака на отказ(Distributed denial - of - service(DDoS)) это атака на отказ, который реализуется из нескольких подконтрольных машин (агентов). При наиболее распространенном сценарии все машины, задействованные в схеме одновременно начинают посылать пакеты жертве с максимальной интенсивностью. Большое количество агентов позволяет быстро загрузить ресурсы жертвы как основные так и резервные. Типичная DDoS атака состоит из двух этапов. На первом этапе происходит поиск уязвимых систем в сети Интернет и установление на них инструментов атаки. Этот этап также известен как превращение компьютеров на "зомби". На втором этапе атакующий дает команду своим "зомби" через защищенный канал на осуществление атаки против выбранной жертвы. Заметим, что пакеты трафика атаки могут использовать фальшивую IP адрес источника, чтобы усложнить для жертвы идентификацию атакующих компьютеров. Количество управляемых агентов при осуществлении распределенной атаки на отказ может колебаться от нескольких десятков до 100000 скомпроментированних машин. Ярким примером такой атаки было распространение черва "Code Red", который захватывал машины через эксплойт в сервере Microsoft's IIS, чтобы через определенное время начать атаку на отказ сайту Белого Дома. Анализ этого события показал, что существует несколько особенностей, присущих только распределенным атакам на отказ. Во-первых, объем трафика распределенной атаки может достигать 10 Гигабит в секунду, которая может загрузить возможности большинства корпоративных Интернет соединений. Во-вторых, при распределенной атаке пакеты приходят из многих источников, которые географически разнесены. Это значительно усложняет отслеживание IP адресов. В-третьих, трафик от каждого источника может не сильно отличаться от обычного трафика. Таким образом, трафик распределенной атаки может казаться полностью "законным", что существенно усложняет задачу фильтрования фальшивых пакетов без вреда обычным пользователям. Собственно, атаки такого типа подобны скоплению (flash crowd), которое возникает когда большое количество обычных пользователей обращается к серверу одновременно. Как правило для успешной распределенной атаки нужно большое количество источников трафика (несколько тысяч). К сожалению, в наше время создания такой армии подконтрольных агентов достаточно простое учитывая автоматизированные хакерские инструменты, которые легко можно найти в сети.

Отраженные распределенные атаки на отказ

Как уже отмечалось, при  проведении атак на отказ часто используется подделка адреса – то есть подмена IP адреса источника, который содержится в заголовке пакета. Первая выгода от использования подделки заключается в том, что это значительно усложняет поиск агентов атаки. Поскольку риск раскрытия агентов низкий, то информация на них (например файлы из логами доступа) не может быть проанализирована с целью локализации компьютера атакующего. Этот фактор еще больше поощряет к проведению таких атак. Более того, это позволяет атакующему использовать эти компьютеры для дальнейших атак. Другой выгодой использования подделки IP является возможность осуществления отраженных атак (reflector attacks). Атакующий посылает запрос (от имени жертвы) на определенный сервис, который генерирует большие пакеты ответа на небольшие запросы(эффект усиления). При атаке генерируется максимально возможное количество пакетов-запросов от имени жертвы и отсылает на общедоступные серверы. Серверы начинают отвечать, посылая объемные пакеты-ответы в адрес жертвы (таким образом атака усиливается и отражается), переполняя ее каналы. Во время атаки атакующий агент посылает большое количество UDP DNS запросов при этом подделывая пакеты адресом жертвы. Все ответы серверов придут по сфальсифицированному адресу. Ответ сервера может быть значительно больше за DNS запрос, который является потенциальной возможностью усиления атаки. Кроме того, серверы не хранят никакой информации о пользователях, которые обращаются к ним с запросом. Остановить этот сервис также нельзя, поскольку его использует большое количество обычных пользователей. В зависимости от ресурсов и объема запросов этих серверов, можно предупредить отраженную атаку путем ограничения количества ответов по определенному адресу. Однако этот подход требует хранения в памяти определенной информации и потенциально может загружать значительные объемы ресурсов.

Ботнеты

Ботнет(Botnet) – это жаргонный срок, который означает группу программных агентов или ботов, которые функционируют автономно. Также это слово может относиться к сети компьютеров, которые используют распределенное программное обеспечение. На сегодняшний момент, компьютеры, которые имеют мощный пропускной выход в Интернет становятся желательной целью для атакующих. Нападающий может взять такой компьютер под свой контроль путем прямой или непрямой атаки. Прямая атака заключается в пересылке злоумышленных пакетов которые используют эксплойты компьютерной системы, например операционной системы. Как правило, эти атаки осуществляются автоматизированными средствами, что позволяет за короткий срок захватить значительное количество машин. Необходимым условием проведения прямой атаки является наличие на компьютере сервиса с известной уязвимостью. Например, Blaster Worm распространялся с помощью эксплойта в службе Отдаленный Вызов Процедур (Remote Procedure Call(RPC)), что позволяло выполнить на отдаленном компьютере злоумышленный скрипт. К сожалению, количество уязвимостей растет из года в год. На рисунке 1 изображено статистику количества уязвимостей на протяжении последних шести лет, данные одержаны с сайта [1].

Непрямые атаки используют для преодоления системы защиты действия самих пользователей. Например, пользователь может открыть HTML файл, который содержит эксплойт слабости Microsoft Internet Explorer, или установить бесплатное программное обеспечение, в котором прибавлен злоумышленный модуль. После того как атакующий захватил компьютер, он устанавливает на нем "бот" или "зомби". Срок бот (bot, что происходит от робот) используется в технике как жаргонное слово для обозначения автоматизированного процесса. Как правило бот поддерживает коммуникационную связь с атакующим и имеет возможность выполнять определенные задания, в частности осуществление атаки на отказ по внешнему требованию.

Рис. 1. Количество задокументированных уязвимостей.

Взаимодействие  из ботнет.

Как правило для контроля ботами используют каналы Internet Relay Chat(IRC). IRC – это одна из форм общения в сети Интернет. Он был разработан для коммуникации между группами через дискуссионные форумы, которые называются каналами (channels), но может использоваться и для общения один-один. После инсталляции на скомпрометированный компьютер, бот автоматически присоединяется к выделенного IRC канала и ожидает дальнейших инструкций. Эта группа скомпрометированных компьютеров, которая находится под управлением одного человека и называется ботнет. В действительности, IRC каналы не наилучшее решение для управления с точки зрения эффективности и гибкости. С увеличением числа агентов IRC канал может перегружаться. Кроме того использования IRC сервера для коммуникации делает всю систему уязвимой. Выявление и уничтожение такого сервера может прекратить распределенную атаку. Есть две причины, которые предопределяют высокую популярность IRC ботнетов. Во-первых, IRC серверы общеупотребительные и легко доступные, их просто настроить. Во-вторых, как правило атакующие хакеры хорошо разбираются из IRC коммуникациями. Возможны и другие способы координации ботнет, например, с использованием пиринговых сетей.

Функции ботнет.

Ботнеты могут использоваться с разной целью. Однако, как правило основное назначение программного обеспечения ботнет – это осуществление распределенных атак. Каждый тип программы для ботнетов реализовывает определенное множество механизмов атаки на отказ, таких, как SYN flood, ICMP flood или HTTP flood (атаки на отказ, которые будут описаны ниже). Для управления атакой применяется сложная система параметров, таких как частота пересылки и размер пакета. Другой важной особенностью ботнетов является свойство обновлять программную часть из отдаленного серверу. Благодаря этому атакующий может добавлять новые функции и исправлять ошибки в своем коде. Например, он может загрузить на боты новый механизм атаки, гибко реагировать на изменения в защитном обеспечении жертвы, руководить атакой в течение ее осуществления.

Классификации атак на отказ

На сегодняшний момент существует достаточно много разных видов атак на отказ, каждая из которых  использует определенную особенность  построения сети или уязвимости программного обеспечения. Например, атаки могут  осуществляться путем непосредственной пересылки большого количества пакетов (UDP, ICMP flood), использования промежуточных узлов (Smurf, Fraggle), передачи слишком длинных пакетов (Ping of Death), некорректных пакетов (Land) или большого количества трудоемких запросов. Заметим, что в течение последнего времени происходит развитие этого направления деятельности и появление новых видов и способов атак. Из последних тенденций можно отметить появление атак ухудшения качества (Quality Reduction Attack) и низкочастотных атак (Low Rated Attack) и, безусловно, этот процесс будет продолжаться, нуждаясь новых исследований и разработки новых методов противодействия. Основные существующие классы атак достаточно хорошо изучены. Представляют интерес, однако, разные подходы к их классификации. В роботе [5] атаки классифицированы согласно протоколам, по которым они осуществляются. Выделенные следующие атаки: SYN flood, TCP reset, ICMP flood, UDP flood, DNS request, CGI request, Mail bomb, ARP storm и атаки на алгоритмическую сложность.

Рис. 2. Классификация атак на отказ

В отчете Prolexic Technologies [6] приводится классификация атак (Рис. 2). Выделяют три тип атак:

- Targeted attacks (используют недостатки в протоколах, прикладных программах).

- Consumption attacks (загружают ресурсы системы).

- Exploitative attacks (используют уязвимости, ошибки кода).

Распределенные атаки  на отказ (по способу реализации и объекта действия) разделяют на два класса:

- истощение ресурсов сети;

- истощение ресурсов узла.

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

- UDP/ICMP flood заключается в пересылке значительного количества больших (фрагментируемых) пакетов по протоколам UDP/ICMP;

- Smurf/Fraggle заключается в пересылке пакетов UDP/ICMP ECHO на широкий диапазон адресов с сфальсифицированной IP адресом.

При этом в адрес жертвы приходит большое количество пакетов-ответов. Истощение ресурсов узла заключается в пересылке трудоемких или некорректных запросов жертве. К этому вида относятся следующие атаки:

- TCP SYN - сознательное прерывание процесса установления соединения и создания большого количества полуоткрытых TCP/IP соединений (поскольку это число ограничено, то узел перестает принимать запросы на соединение).

Информация о работе Компютерные сети