Как противостоять снифферу

Автор работы: Пользователь скрыл имя, 26 Декабря 2011 в 18:31, курсовая работа

Описание

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

Содержание

Введение 3
1. Что такое сниффер? 4
1.1 Виды снифферов и сниффинга 6
2.Основы передачи данных в сети Ethernet 8
3.Пример реализации сниффера под ОС Windows 12
3.1 Структура программы для прослушивания сети 13
3.2 Простейший пример программы-сниффера 16
4.Как противостоять снифферу 18
4.1 Обнаружение работы снифферов 18
4.2 Противодействие 19
Выводы 22
Список информационных источников 23

Работа состоит из  1 файл

КУРСОВАЯ ПАСОИБ-кр.doc

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

Содержание

Введение 3

1. Что такое  сниффер? 4

1.1 Виды снифферов  и сниффинга 6

2.Основы передачи  данных в сети Ethernet 8

3.Пример реализации сниффера под ОС Windows 12

3.1 Структура программы для прослушивания сети 13

3.2 Простейший пример программы-сниффера 16

4.Как противостоять снифферу 18

4.1 Обнаружение  работы снифферов 18

4.2 Противодействие 19

Выводы 22

Список информационных источников 23 
 

 

Введение.

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

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

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

 

1. Что такое сниффер?

    Анализатор трафика, или сниффер (от англ. to sniff — нюхать) — сетевой анализатор трафика, программа или программно-аппаратное устройство, предназначенное для перехвата и последующего анализа, либо только анализа сетевого трафика, предназначенного для других узлов.

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

    Прослушивание возможно благодаря особенности архитектуры  сети Ethernet (IEEE 802.3). Архитектура большинства  локальных сетей основана на технологии Ethernet (ether - эфир, network - сеть), в которой  все устройства подключены к одной среде передачи данных и совместно её используют. Топология сети Ethernet - линейная или звездообразная, а скорость передачи данных 10, 100 и 1000 Мбит/сек. Ethernet - это широковещательная сеть, в которой все узлы могут принимать все сообщения через единую магистраль. Используя эту особенность Ethernet, отпадает необходимость несанкционированного подключения к сегменту сети, т.е. не требуется резать кабели. Компьютер, с которого предполагается прослушивать, уже подключен к некоторому сегменту сети.

 
 
 
 

     В настоящее время снифферы работают в сетях на вполне законном основании. Они используются для диагностики  неисправностей и анализа трафика. Однако ввиду того, что некоторые  сетевые приложения передают данные в текстовом формате (Telnet, FTP, SMTP, POP3 и т.д.), с помощью сниффера можно узнать полезную, а иногда и конфиденциальную информацию (например, имена пользователей и пароли).

     Перехват  имен и паролей создает большую  опасность, так как пользователи часто применяют один и тот  же логин и пароль для множества приложений и систем. Многие пользователи вообще имеют единый пароль для доступа ко всем ресурсам и приложениям. Если приложение работает в режиме «клиент-сервер», а аутентификационные данные передаются по сети в читаемом текстовом формате, то эту информацию с большой вероятностью можно использовать для доступа к другим корпоративным или внешним ресурсам. Хакеры слишком хорошо знают и используют человеческие слабости (методы атак часто базируются на методах социальной инженерии). Они прекрасно представляют себе, что мы пользуемся одним и тем же паролем для доступа к множеству ресурсов, и потому им часто удается, узнав наш пароль, получить доступ к важной информации. В самом худшем случае хакер получает доступ к пользовательскому ресурсу на системном уровне и с его помощью создает нового пользователя, которого можно в любой момент использовать для доступа в Сеть и к ее ресурсам.

 

1.1 Виды снифферов и сниффинга.

    По "месторасположению" сниффер может работать:

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

    На  оконечном узле сети – применительно  к Ethernet мы будем иметь два основных возможных варианта прослушки. Классический, некоммутируемый Ethernet предполагает, что  каждый сетевой интерфейс в принципе "слышит" весть траффик своего сегмента. Однако в нормальном режиме работы сетевой карты, прочитав первые 48 бит заголовка фрейма, станция сравнивает свой МАС-адрес с адресом получателя, указанном в фрейме. Если адрес чужой, станция перестает читать чужой фрейм. Таким образом, в нормальном режиме вы можете перехватывать и анализировать только свой траффик. Для перехвата пакетов всех станций сегмента требуется перевести вашу сетевую карту в режим под названием promiscuous mode, чтобы она "бесстыдно" продолжала читать не предназначенные ей пакеты. Практически все реализации снифферов позволяют переход карты в promiscuous mode. 
Примечание: использование коммутируемого Ethernet создает ситуацию, когда даже переход карты в promiscuous mode делает прослушивание не предназначенного вашей станции трафика практически невозможным. Однако существует технология организации такого прослушивания путем так называемого ARP-спуфинга. Суть в следующем: коммутатор создает так называемый "broadcast domain", и хост с установленным сниффером с помощью подделки ARP-сообщений может притвориться, например, пограничным маршрутизатором (рассылая постоянно АRP-сообщения, где сетевому адресу маршрутизатора соответствует MAC-адрес прослушивающей станции). Таким образом, трафик соседей насильственно завернется в сторону "шпиона". Подробнее об ARP и фреймах мы рассмотрим далее в «основах передачи данных сети Ethernet»..

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

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

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

 

2. Основы передачи данных в сети Ethernet.

     Прежде  чем понять основной принцип работы сниффера необходимо знать особенности передачи данных в сети Ethernet.

     Каждому устройству в сети Ethernet соответствует  уникальный шестибайтовый MAC-адрес (Media Access Control). Единицей передачи данных в такой сети является кадр (frame), который имеет определённую структуру и несёт в себе информацию о получателе, отправителе и сами данные. (см. таб.1) 

CODE
 
struct ETHERNET_FRAME 
 

 
 unsigned char  dest[6];// MAC-адрес получателя 
 
 unsigned char  src[6]; // MAC-адрес отправителя 
 
 unsigned short type;   // версия: IPv4 0x0800, IPv6 0x86DD, ARP 0x0806 
 
 unsigned char  data[]; // данные 
 
};

     таб.1

     Кадр  может иметь размер от 60 до 1514 байт, из которых первые 14 байт являются служебными. Когда требуется передать большее количество данных, они разбиваются на фрагменты и последовательно направляются в сеть. Кадр передаётся по сети, и получает его каждое устройство этой сети. Значение поля структуры с именем type определяет тип и версию "полезного груза" в кадре. Завершающая секция кадра служит для проверки целостности передаваемых данных и использует код циклического контроля (CRC32 - cyclic redundancy check). Это чрезвычайно мощная хэш-функция для выявления искажённости числовых данных. Обычно она аппаратно реализована в сетевой плате.

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

     Теперь  обратим внимание на полезный груз, который несёт кадр, а именно поле структуры data[]. Чаще всего в качестве данных может быть IP-пакет или ARP-пакет. ARP (address resolution protocol) - это служебный вспомогательный протокол, который осуществляет динамическую трансляцию физических MAC-адресов в логические IP-адреса на основе широковещательной рассылки запросов. (см. таб.2)

CODE
struct ETHERNET_ARP 
 

 
 unsigned short hrd;   // Тип аппаратуры (Ethernet), 0x0001. 
 
 unsigned short pro;   // Протокол (IP), 0x0800. 
 
 unsigned char  hln;   // Длина аппаратного адреса (MAC), 6 байт. 
 
 unsigned char  pln;   // Длина адреса протокола IP, 4 байта. 
 
 unsigned short op;    // Вид операции {Запрос, Ответ} = {1, 2}. 
 
 unsigned char  sha[6];// Аппаратный адрес (MAC) отправителя. 
 
 unsigned char  spa[4];// IP-адрес отправителя. 
 
 unsigned char  tha[6];// Аппаратный адрес (MAC) получателя. 
 
 unsigned char  tpa[4];// IP-адрес получателя. 
 
};

     таб.2

     Для доставки пакетов в сети нужно  определить физический адрес узла назначения. Именно для этого существует ARP - протокол автоматического определения  физических адресов (IP <=> MAC). Когда  одному компьютеру нужно начать обмен данными с другим, он ищет MAC-адрес получателя соответствующий запрашиваемому IP-адресу в своей ARP-таблице. Если для нужного IP-адреса не найден соответствующий MAC-адрес, то посылается широковещательный запрос ARP, содержащий искомый IP-адрес назначения, а MAC-адрес для широковещательной рассылки заполнен единицами FF:FF:FF:FF:FF:FF. Целевой хост узнает свой IP-адрес, обрабатывает запрос и посылает ответ. Система готова к пересылке данных по локальной сети.

     Для нас особый интерес представляют IP-пакеты, предназначенные для передачи информации. Это более высокий уровень сетевой OSI-модели данных.

     Сетевая модель OSI (англ. open systems interconnection basic reference model — базовая эталонная модель взаимодействия открытых систем, сокр. ЭМВОС; 1978 г.) — абстрактная сетевая модель для коммуникаций и разработки сетевых протоколов. Предлагает взгляд на компьютерную сеть с точки зрения измерений. Каждое измерение обслуживает свою часть процесса взаимодействия. Благодаря такой структуре совместная работа сетевого оборудования и программного обеспечения становится гораздо проще и прозрачнее.

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

CODE
 
struct IP6Header 
 

 unsigned long  ver:4;   // Версия IP-протокола 
 
 unsigned long  tclass:8;// Класс трафика 
 
 unsigned long  label:20;// Метка потока 
 
 unsigned short length;  // Длина пакета 
 
 unsigned char  next;    // Next header (опции) 
 
 unsigned char  hop;     // Hop-limit. 
 
 unsigned char  src[16]; // 128-битный адрес отправителя 
 
 unsigned char  dst[16]; //  Адрес получателя 
 
};

     таб.3 

    Далее рассмотрим IP-пакеты самой распространённой четвёртой версии. Пакет состоит  из заголовка, служебной информации (options) и данных. На языке С этот заголовок выглядит в виде вот такой структуры (см. таб.4):

Информация о работе Как противостоять снифферу