Компьютерная безопасность

Автор работы: Пользователь скрыл имя, 21 Мая 2013 в 00:35, курсовая работа

Описание

Будущее технологии коммутации меток (Multi Protocol Label Switching, MPLS) и виртуальных частных сетей на ее основе (MPLS Virtual Private Network, MPLS VPN) все еще туманно. Многочисленные положительные отзывы, высказываемые на различных конференциях, форумах и в средствах массовой информации, достигают порой таких превосходных степеней, как «наиболее значимая сетевая технология», на деле успехи MPLS пока весьма скромны. Причина не только в отсутствии достаточного числа внедрений. Сомнению и жесточайшей критике подвергаются даже теоретические положения, на которых базируется эта технология.

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

курсовик!!!!!!!(теория и код).docx

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

Если же говорить о конкретных уязвимостях, то их можно  назвать не меньше десятка. В частности, уязвимости реализации PPTP, приводящие к отказу в обслуживании в ОС Windows NT, межсетевом экране WatchGuard Firebox II, маршрутизаторах Cisco и BinTec. Не обошлось и без уязвимостей IPSec. Например, в OpenBSD присутствовала также приводившая к отказу в обслуживании уязвимость, связанная с некорректной обработкой пакетов AH/ESP (специальные режимы IPSec), а в Windows 2000 в декабре прошлого года была обнаружена уязвимость в реализации протокола обмена ключами IKE для IPSec.

Можно добавить, что  существуют варианты атак не только на программную составляющую VPN, но и  на аппаратные элементы, например на таблетки Touch Memory, смарт-карты и другие аппаратные носители криптографических ключей.

Атаки на оборудование VPN

Достаточно часто VPN реализуется на базе уже существующего  сетевого оборудования, как правило, маршрутизаторов (например, Cisco 1720) или программно-аппаратных межсетевых экранов (например, CheckPoint VPN-1 на базе платформы Nokia IP Security Solutions). Также существуют и специализированные устройства построения VPN (например, «Континент-К»). А раз это обычное устройство, поддерживающее стек TCP/IP, то на него могут быть реализованы атаки «отказ в обслуживании», которые могут нарушить функционирование самого устройства и обусловить временный сбой во взаимодействии защищаемых с их помощью сетей и узлов.

Атаки на операционные системы

Нередко VPN реализуется  чисто программными средствами (например, в Windows 2000), и программное обеспечение VPN является надстройкой над операционной системой, что зачастую используется злоумышленниками. Поэтому, независимо от надежности и защищенности ПО VPN, уязвимости операционной системы могут свести на нет все защитные механизмы VPN. Это особенно важно для продукции компании Microsoft, которая не отличается продуманностью с точки зрения защиты: не было недели, чтобы не обнаружилась очередная дыра в операционных системах Windows NT, Windows 2000, а с недавнего времени — Windows XP.

Атаки на пользователей

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

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

 

Ещё не много  о основных  угрозах.

Прежде чем говорить о  технологии MPLS VPN, как о методе и  средстве обеспечения сетевой безопасности, обозначим, какие угрозы чаще всего  возникают в современных сетях  передачи данных. Можно выделить четыре основные группы таких угроз: первая группа — это вирусные атаки, с которыми, согласно статистике, так или иначе связаны до 70% всех сетевых инцидентов; вторая — это рассылка спама, которая больше относится к такой области информационной безопасности, как защита от информации; третья — это атаки типа “отказ в обслуживании” и наиболее опасная их разновидность — распределенная атака “отказ в обслуживании”; и, наконец, четвертая — это атаки с использованием уязвимостей ПО открытых информационных сервисов, ошибок программирования и настройки.

Как уже отмечалось выше, традиционные средства и методы борьбы с этими угрозами основаны на принципе установки разнообразных “информационных  барьеров” — межсетевых экранов  и сетевых фильтров, систем обнаружения  вторжения, активного аудита, сканеров безопасности (сюда же можно отнести  различные обманные системы, mail sweeper, mime sweeper). Средства и методы построения виртуальных частных сетей (VPN) отличаются от традиционного подхода к защите сетей на основе “информационных барьеров”. Они позволяют строить выделенные, или частные, сети на базе разделяемой сетевой инфраструктуры и таким образом реализовать упреждающую, превентивную стратегию защиты сети.

Сети MPLS L3 VPN строятся на основе разделения таблиц маршрутизации. Сетевые  префиксы, принадлежащие определенной сети VPN, выносятся в отдельную  таблицу маршрутизации, и продвижение  трафика в рамках данной VPN происходит по маркированному пути LSP (Label Switched Path), построенному специально для префиксов в этой таблице. Продвижение трафика в рамках одной сети MPLS L3 VPN осуществляется следующим образом: на точке входа в MPLS-домен к пакету добавляются две метки — внутренняя и внешняя; внешняя метка используется для продвижения трафика по MPLS-домену от точки входа к точке выхода, а внутренняя — для направления трафика в точке выхода на устройство пользователя CE — Customer Edge (см. рисунок). Внутренняя метка необходима, поскольку через устройства PE1 и PE2 (Provider Edge) могут проходить несколько VPN-сетей.

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

С точки зрения сетевой  безопасности технологии MPLS L2/L3 VPN предлагают новый уровень защиты сетевого трафика. Несмотря на то что пакеты передаются по разделяемой опорной сети, из-за разнесения сетевых префиксов в разные маршрутные таблицы трафик одной VPN-сети получается изолированным в рамках каждого маршрутизатора — еще до применения к нему (трафику) правил продвижения пакетов и тем более до реализации правил традиционной, “барьерной”, политики сетевой безопасности. В результате атаки типа “отказ в обслуживании”, а также атаки с использованием уязвимостей прикладного ПО в принципе не могут быть осуществлены извне выделенной сети MPLS VPN. Трафик такой атаки просто не дойдет до цели потому, что маршруты MPLS VPN находятся в выделенной маршрутной таблице, которая не задействуется в процессе принятия решения по маршрутизации внешнего трафика.

Безопасность MPLS VPN

Вопросы, требующие  ответа:

Как сделать  раздельной адресацию?

Как сделать  маршрутизацию раздельной?

Как скрыть сетевую магистраль?

Как устранить  уязвимость к атакам типа DoS и вторжениям в сеть?

Парадокс  обеспечения абсолютной изолированности при сохранении полной связности.

 

При создании VPN на базе IP-сети сложно проблема состоит в достижении изолированности 

Решение:

Для изоляции - автоматическая фильтрация маршрутных объявлений

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

Устойчивость  MPLS VPN к атакам

Имеется возможность  задать объект атаки в сети провайдера - IP-адрес глобальной связи (WAN link)

Главная цель – обеспечить защищенность каждой VPN от атак из других VPN.

Из VPN, подключенной к тому же самому PE

Через магистральную  сеть

 

Два возможных  пути атаки в MPLS VPN

    1. Атака на PE
    2. Атака на сигнальный механизм MPLS (на внутренние LSR)

Атаки на PE

DoS-атака на PE. Затопление обновлениями таблиц маршрутизации

Несанкционированный доступ к  PE

Могут быть проведены такие же атаки как и на маршрутизаторы ISP. Используются те же методы предотвращения.

Предотвращение  атак на PE

Несанкционированный доступ к PE

В access-list заносятся записи, запрещающие доступ к PE по telnet из CE.

Затопление  маршрутными обновлениями

Использование аутентификации в протоколах маршрутизации 

Настроить access-list так, чтобы сообщения других протоколов маршрутизации не  пропускались

Ограничения общего количества маршрутов в VRF

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

 

Атака на систему  сигнализации MPLS VPN

Пакеты передаются по магистральной сети на основании  меток 

Метки назначаются  протоколами продвижения меток  LDP/RSVP

Возможно ли подменить метку (аналогично IP-спуфингу)?

 

Спуфинг меток в MPLS

Связь между  CE и PE является IP интерфейсом, не использующим метки

PE router ни при каких обстоятельствах не принимает по этому интерфейсу пакетов с меткой

При получении  пакета с меткой по интерфейсу с  CE маршрутизатор PE отбрасывает его

Протокол  LDP может использовать аутентификацию на основе MD-5

Рассмотрим  более подробно методы защиты VPN MPLS:

 

Алгоритм MD5

 

Алгоритм MD5 является разработкой Рона Ривеста (RFC 1321). Алгоритм получает на входе сообщение произвольной длины и создает в качестве выхода дайджест сообщения длиной 128 бит. По настоящее время этот алгоритм остается одним из самых распространеных алгоритмов хеширования. Однако в настоящее время длина его выхода 128 бит является недостаточно большой, чтобы противопостоять атакам прямого перебора. Кроме того, однаружены ряд уязвимостей MD5 против линейного и дифференциального криптоанализа.

На вход алгоритма поступает  входной поток данных, хеш которого необходимо найти. Длина сообщения может быть любой (в том числе нулевой). Запишем длину сообщения в L. Это число целое и неотрицательное. Кратность каким-либо числам необязательна. После поступления данных идёт процесс подготовки потока к вычислениям.

Ниже приведены 5 шагов алгоритма:

Шаг 1. Выравнивание потока

Сначала дописывают единичный  бит в конец потока (байт 0x80), затем  необходимое число нулевых бит. Входные данные выравниваются так, чтобы их новый размер  L' был сравним с 448 по модулю 512 (L'=512*N+448). Выравнивание происходит, даже если длина уже сравнима с 448.

Шаг 2. Добавление длины сообщения

В оставшиеся 64 бита дописывают 64-битное представление длины данных (количество бит в сообщении) до выравнивания. Сначала записывают младшие 4 байта. Если длина превосходит 264-1, то дописывают только младшие биты. После этого длина потока станет кратной 512. Вычисления будут основываться на представлении этого потока данных в виде массива слов по 512 бит.

Шаг 3. Инициализация  буфера

Для вычислений инициализируются 4 переменных размером по 32 бита и задаются начальные значения шестнадцатеричными числами (шестнадцатеричное представление, сначала младший байт):

А = 01 23 45 67;

В = 89 AB CD EF;

С = FE DC BA 98;

D = 76 54 32 10.

В этих переменных будут  храниться результаты промежуточных  вычислений. Начальное состояние ABCD называется инициализирующим вектором.

Шаг 4. Вычисление в цикле

Заносим в блок данных элемент n из массива. Сохраняются значения A, B, C и D, оставшиеся после операций над предыдущими блоками (или  их начальные значения, если блок первый).

AA = A

BB = B

CC = C

DD = D

Суммируем с результатом  предыдущего цикла:

A = AA + A

B = BB + B

C = CC + C

D = DD + D

После окончания цикла  необходимо проверить, есть ли ещё блоки  для вычислений. Если да, то изменяем номер элемента массива (n++) и переходим  в начало цикла.

Шаг 5. Результат  вычислений

Результат вычислений находится  в буфере ABCD, это и есть хеш. Если выводить побайтово, начиная с младшего байта A и закончив старшим байтом D, то мы получим MD5-хеш.

 

ACL: списки контроля  доступа

ACL (Access Control List) — это набор текстовых выражений, которые что-то разрешают, либо что-то запрещают. Обычно ACL разрешает или запрещает IP-пакеты, но помимо всего прочего он может заглядывать внутрь IP-пакета, просматривать тип пакета, TCP и UDP порты. Также ACL существует для различных сетевых протоколов (IP, IPX, AppleTalk и так далее). В основном применение списков доступа рассматривают с точки зрения пакетной фильтрации, то есть пакетная фильтрация необходима в тех ситуациях, когда у вас стоит оборудование на границе Интернет и вашей частной сети и нужно отфильтровать ненужный трафик.

Функционал ACL состоит в  классификации трафика, нужно его  проверить сначала, а потом что-то с ним сделать в зависимости  от того, куда ACL применяется. ACL применяется  везде, например:

На интерфейсе: пакетная фильтрация

На линии Telnet: ограничения  доступа к маршрутизатору

VPN: какой трафик нужно  шифровать

QoS: какой трафик обрабатывать приоритетнее

NAT: какие адреса транслировать

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

 Из вашей частной  сети приходит пакет на интерфейс  маршрутизатора fa0/1, маршрутизатор  проверяет есть ли ACL на интерфейсе или нет, если он есть, то дальше обработка ведется по правилам списка доступа строго в том порядке, в котором записаны выражения, если список доступа разрешает проходить пакету, то в данном случае маршрутизатор отправляет пакет провайдеру через интерфейс fa0/0, если список доступа не разрешает проходить пакету, пакет уничтожается. Если списка доступа нет — пакет пролетает без всяких ограничений. Перед тем как отправить пакет провайдеру, маршрутизатор ещё проверяет интерфейс fa0/0 на наличие исходящего ACL. Дело в том, что ACL может быть прикреплен на интерфейсе как входящий или исходящий. К примеру у нас есть ACL с правилом запретить всем узлам в Интернете посылать в нашу сеть пакеты.

 Так на какой интерфейс  прикрепить данную ACL? Если мы прикрепим ACL на интерфейс fa0/1 как исходящий, это будет не совсем верно, хотя и ACL работать будет. На маршрутизатор приходит эхо-запрос для какого-то узла в частной сети, он проверяет на интерфейсе fa0/0 есть ли ACL, его нет, дальше проверяет интерфейс fa0/1, на данном интерфейсе есть ACL, он настроен как исходящий, всё верно пакет не проникает в сеть, а уничтожается маршрутизатором. Но если мы прикрепим ACL за интерфейсом fa0/0 как входящий, то пакет будет уничтожатся сразу как пришел на маршрутизатор. Последнее решение является правильным, так как маршрутизатор меньше нагружает свои вычислительные ресурсы. Расширенные ACL нужно размещать как можно ближе к источнику, стандартные же как можно ближе к получателю. Это нужно для того, чтобы не гонять пакеты по всей сети зря.

 Сам же ACL представляет  собой набор текстовых выражений,  в которых написано permit (разрешить) либо deny (запретить), и обработка ведется строго в том порядке в котором заданы выражения. Соответственно когда пакет попадает на интерфейс он проверяется на первое условие, если первое условие совпадает с пакетом, дальнейшая его обработка прекращается. Пакет либо перейдет дальше, либо уничтожится.

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