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

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

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

Меню

Диплом: Обеспечение информационной безопасности в сетях IP скачать рефераты

перезагрузки) некоторые старые модели маршрутизаторов.

Очевидно, что в бесконечный разговор могут быть вовлечены многие демоны (в

случае TCP/IP может быть применен TCP/IP spoofing, в случае UDP/ICMP

достаточно пары фальшивых пакетов)

В качестве защиты стоит еще раз порекомендовать не пропускать в сети пакеты с

внутренними адресам, но пришедшие извне. Также рекомендуется закрыть на

firewall использование большинства сервисов.

6.2.6 Затопление SYN-пакетами

Пожалуй, затопление SYN-пакетами ("SYN flooding") - самый известный способ

нападения, с того времени, как хакерский электронный журнал "2600"

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

неквалифицированным пользователям. Следует заметить, что впервые эта атака

была упомянута еще в 1986 году все тем же Робертом Т. Моррисом.

Вспомним, как работает TCP/IP в случае входящих соединений. Система отвечает

на пришедший C-SYN-пакет S-SYN/C-ACK-пакетом, переводит сессию в состояние

SYN_RECEIVED (SYN пакет принят) и заносит ее в очередь. Если в течении

заданного времени от клиента не придет S-ACK, соединение удаляется из

очереди, в противном случае соединение переводится в установленное состояние

ESTABLISHED.

Рассмотрим случай, когда очередь входных соединений уже заполнена, а система

получает SYN-пакет, приглашающий к установке соединения. По RFC

[23] он будет молча проигнорирован.

Затопление SYN-пакетами основано на переполнении очереди сервера, после чего

сервер перестает отвечать на запросы пользователей. Самая известная атака

такого рода - атака на Panix, нью-йоркского провайдера. Panix не работал в

течении 2-х недель.

В различных системах работа с очередью реализована по разному. Так, в BSD

[24]-системах, каждый порт имеет свою собственную очередь размером в 16

элементов. В системах SunOS, напротив, такого разделения и нет и система просто

располагает большой общей очередью. Соответственно, для того, что бы

заблокировать, к примеру, WWW-порт на BSD достаточно 16 SYN-пакетов, а для

Solaris 2.5 их количество будет гораздо больше.

После истечение некоторого времени (зависит от реализации) система удаляет

запросы из очереди. Однако ничего не мешает крэкеру послать новую порцию

запросов. Таким образом, даже находясь на соединение 2400 bps, крэкер может

посылать каждые полторы минуты по 20-30 пакетов на FreeBSD-сервер,

поддерживая его в нерабочем состоянии (естественно, эта ошибка была

скорректирована в последних версиях FreeBSD)

Как обычно, крэкер может воспользоваться случайными обратными IP-адресами при

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

трафика.

Детектирование несложно -- большое количество соединений в состоянии

SYN_RECEIVED (SYN пакет принят) , игнорирование попыток соединится с данным

портом. В качестве защиты можно порекомендовать патчи, которые реализуют

автоматическое "прорежение" очереди. Для того, что бы узнать, если к Вашей

системе защита от SYN-затопления, обратитесь к поставщику системы.

Другой вариант защиты – настроить cетевой экран firewall так, что бы все

входящие TCP/IP-соединения устанавливал он сам, и только после этого

перебрасывал их внутрь сети на заданную машину. Это позволит Вам ограничить

syn-затопление и не пропустить его внутрь сети.

7. Решения на программном уровне

7.1 SSL – Secure Socket Layer –

протокол защищенных сокетов

Протокол SSL (Secure Socket Layer) был разработан фирмой

Netscape, как протокол обеспечивающий защиту данных между сервисными

протоколами (такими как HTTP, NNTP, FTP и т.д.) и транспортными протоколами

(TCP/IP). Часто для него используется аббревиатура HTTPS. Именно эта латинская

буква "s" превращает обычный, не защищенный канал передачи данных в Интернете

по протоколу HTTP, в засекреченный или защищенный,

Протокол SSL предоставляет "безопасный канал", который имеет три основные

свойства:

§ Канал является частным. Шифрование используется для всех сообщений

после простого диалога, который служит для определения секретного ключа.

§ Канал аутентифицирован. Серверная сторона диалога всегда

аутентифицируется, в то время как клиентская - аутентифицируется опционно.

§ Канал надежен. Транспортировка сообщений включает в себя проверку

целостности (с привлечением MAC).

SSL не только обеспечивает защиту данных в Интернете, но так же производит

опознание сервера и клиента (server/client authentication). В данный момент

протокол SSL принят W3 консорциумом (W3 Consortium) на рассмотрение, как

основной защитный протокол для клиентов и серверов (WWW browsers and servers)

в сети Интернет.

Использование SSL

Чаще всего, этот протокол используется в составе любого Интернет-ресурса,

осуществляющего манипуляции с личными или финансовыми данными посещающих его

пользователей Интернета. Чаще всего, это банки, Интернет-магазины или любые

другие виртуальные места, в которых приходящие по своим делам пользователи,

вынуждены передавать свои личные, и зачастую, секретные данные. Этого может

потребовать и простая регистрация, и процедура оплаты какого-либо товара, или

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

свои паспортные данные, PIN-ы и пароли. Появляются два довольно веских

довода, первый, передаваемую информацию надо шифровать, и второй, мы должны

быть уверены, что передаем информацию именно туда, куда нужно. Именно для

решения этих двух вопросов и используется SSL.

HTTP и HTTPS

Попытки разработать универсальный сетевой протокол, способный обеспечить

надлежащий уровень безопасности при работе в Интернет, предпринимались

достаточно давно, и достаточно большим количеством различных фирм и

организаций. HTTP протокол предлагал достаточно простой, парольный способ

идентификации того или иного пользователя. В момент соединения с сервером,

пользователь вводил пароль, пароль передавался серверу в открытом, не

зашифрованном виде, и далее, проверив соответствие пароля и имени пользователя,

сервер открывал или не открывал затребованное соединение. Далее, по мере

развития Интернета, было создано несколько различных безопасных протоколов.

Официальный протокол, разработку которого спонсировала IETF, назывался Secure

HTTP (SHTTP), Помимо него, разрабатывались, и были созданы, еще несколько не

официальных проектов, один из которых, под названием SSL (Secure Sockets

Layer), созданный Netscape, получил большую популярность и широкое

распространение. Правда, не смотря на свою популярность, SSL не является

официальным Интернет стандартом.

SSL в действии

Главным назначением SSL-протокола, является обеспечение приватного и

надежного способа обмена информацией между двумя удаленно взаимодействующими

приложениями. Протокол реализуется в виде двухслойной (многослойной) среды,

специально предназначенной для безопасного переноса секретной информации,

через не засекреченные каналы связи. В качестве первого слоя, в такой среде

используется некоторый надежный транспортный протокол; TCP к примеру. По

слову "транспортный", не трудно догадаться, что TCP берет на себя функции

"несущей", и в дальнейшем, становится извозчиком, для всех лежащих выше слоев

(протоколов). Вторым по счету слоем, накладываемым на TCP, является SSL

Record Protocol. Вместе, эти два слоя, TCP и SSL Record Protocol, формируют

своеобразное ядро SSL. В дальнейшем, это ядро становится первичной

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

инфраструктур. В качестве одной из таких структур, используется SSL Handshake

Protocol (Протокол «рукопожатия»)- позволяющий серверу и клиенту

идентифицировать друг друга и согласовывать криптографические алгоритмы и

ключи, перед тем как приложения, работающие на серверной и клиентской

стороне, смогут начать передачу или прием информационных байтов в защищенном

режиме.

Одним из не мало важных преимуществ SSL, является его полная программно-

платформенная независимость. Протокол разработан на принципах переносимости,

и идеология его построения, не зависит, от тех приложений, в составе которых

он используется. Помимо этого, важно и то, что поверх протокола SSL, могут

прозрачно накладываться и другие протоколы; либо для еще большего увеличения

степени защиты целевых информационных потоков, либо, для адаптации

криптографических способностей SSL под какую-нибудь другую, вполне

определенную задачу.

Вы начинаете использовать SSL в тот момент, когда вводите в адресной строке

своего браузера URL начинающийся с аббревиатуры HTTPS, В результате, вы

подключаетесь к порту за номером 443, который для SSL обычно используется по

умолчанию; для стандартного HTTP соединения, чаще всего используется порт 80.

В процессе подключения, браузер пользователя (в дальнейшем клиент), посылает

серверу приветственное сообщение (hello message). В свою очередь сервер,

также должен посылать клиенту свое приветственное сообщение. Приветственные

сообщения, являются первичными, инициализирующими сообщениями и содержат

информацию, используемую при дальнейшей настройке открываемого секретного

канала. В общем случае, приветственное сообщение устанавливает четыре

основных параметра: версия протокола, идентификатор сессии, способ

шифрования, метод компрессии, а также, два специально сгенерированных

случайных числа; и сервер, и клиент, генерируют такие числа независимо друг

от друга, а затем, просто обмениваются ими друг с другом.

После получения приветственного сообщения от клиента, сервер отсылает свой

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

может послать и некое ключевое сообщение, например в случае отсутствии

сертификата. Если сервер авторизирован (т.е. имеет соответствующий

сертификат), он может потребовать и клиентский сертификат, если того

потребует выбранный способ шифрования данных. После этого, производится еще

ряд промежуточных обменных операций, в процессе которых, производится

окончательное уточнение выбранного алгоритма шифрования, ключей и секретов, и

далее, сервер посылает клиенту некое финальное сообщение, после чего обе

стороны приступают к обмену зашифрованной информации.

Ложка дегтя

SSL как таковой, теоретически, может обеспечить практически полную защиту

любого Интернет соединения. Но для успешного функционирования SSL, кроме него

самого, необходимы также и чисто программные средства, претворяющие

технологию SSL в жизнь. Программы, так или иначе использующие SSL протокол,

как ни странно, является порой самым уязвимым местом этой технологии. Именно

из-за ошибок в этих программах, возможна почти полная потеря, всех,

достигнутых после использования SSL щитов и заслонов. К таким программным

инструментам, прежде всего, относятся активно используемые нами Интернет-

браузеры.

Одним из самых показательных критериев уровня защиты, является размер

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

защита. Браузеры в основном используют три размера: 40, 56 и 128 бит,

соответственно. Причем, 40-а битный вариант ключа недостаточно надежен. Таким

образом, предпочтительнее использовать именно 128-ми битные ключи.

Применительно к Internet Explorer-у от Microsoft, это означает загрузку

дополнительного пакета (security pack). Так как интернациональные версии

этого браузера, всегда снабжаются исключительно 40-а или 56-и битной защитой,

а 128-ми битная защита, ставится только на североамериканские версии этого

браузера (США, Канада). Для того чтобы установить, какой именно размер ключа

используется в вашем браузере, в Netscape Navigator вам достаточно открыть

подменю "Options/Security Preferences", а в Internet Explorer, подменю

"Help/About".

Но размер ключа, не будет играть решающий роли, если в защите браузера

имеется внутренняя брешь. Сообщения об открытии таких брешей, в тех или иных

браузерах, появляются с регулярными интервалами. Такая брешь напоминает

открытую форточку в протапливаемой комнате - все тепло мгновенно

выветривается. По этому поводу, уместно вспомнить случай произошедший с

Netscape Navigator, в мае 2000 года. Тогда, один корейский студент обнаружил

такую, довольно не приятную особенность, этого браузера. При попытке

соединения с сервером, обладающим не годным сертификатом, с дальнейшим

отказом от продолжения такого соединения, происходило следующее. Netscape, по

ошибке, помещал этот сертификат в список годных, и соответственно, при

последующем подключение уже не выдавал пользователю ни каких предупреждающих

сообщений, спокойно подключаясь к этому, не вполне надежному, серверу

Но все эти и им подобные прорехи, не идут ни в какое сравнение с той угрозой,

которую могут представлять для пользователя вовремя не отозванные

сертификаты. Дело в том, что браузеры обычно поставляются с неким, вполне

определенным набором действительных сертификатов, но автоматического

механизма проверки этой годности по прошествию некоторого времени - не

существует. Таким образом, возможно, что действие, того или иного,

используемого вашим браузером сертификата, уже, давно кончилось; мог истечь

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

этому сертификату и.т.д. В любом из этих случаев, сертификат автоматически

отзывается, и помещается в специальный, так называемый revocation list, или

список не годных сертификатов, создаваемый и обновляемый тем или иным

сертификационным сообществом (CA). Теперь, если не удалить такой сертификат

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

вытекающими отсюда последствиями.

Следует заметить, что идея, заложенная в протоколе SSL безусловно, хороша.

Хотя у нее есть и свои плюсы, и свои минусы, но в целом, этот протокол можно

назвать одним из наиболее удачных решений проблемы защиты пользовательских

данных при их распространении "открытым" каналом. Этот протокол вполне бы мог

стать некой сетевой панацеей. Но, к сожалению, практика, показывает что идея

это еще не решение. Без соответствующей практической составляющей, идея так и

остается идеей, а потому, пользователи безусловно, должны помнить, что символ

замка, появляющийся в строке состояния их Интернет-браузеров, еще не гарантия

того, что все наши секреты и тайны находятся под действительно надежной

защитой

Реализации SSL

Теперь несколько слов о реализации SSL. Наиболее распространенным пакетом

программ для поддержки SSL является SSLeay. Последняя версия (SSLeay v.

0.8.0) поддерживает SSLv3. Эта версия доступна в исходных текстах. Этот пакет

предназначен для создания и управления различного рода сертификатами. Так же

в его состав входит и библиотека для поддержки SSL различными программами.

Эта библиотека необходима, например, для модуля SSL в распространенном HTTP

сервере Apache. Если Вы устанавливаете версию, вне США, то особых проблем с

алгоритмом RSA быть не должно. Но только накладывается ограничение на длину

ключа в 40 бит. Действеут это ограничение и на другой пакет от фирмы Netscape

- SSLRef. А вот если компьютер с SSLeay находится на территории США, то за

использование алгоритма RSA необходимо заплатить. Но об этом нужно

разговаривать с самой фирмой RSA Data Security Inc.

7.2 IPSec - протокол защиты сетевого трафика на IP-уровне

Краткая

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13