Содержание к диссертации
Введение
Глава 1. Анализ состояния проблемы и постановка задачи исследования 6
1.1. Виды уязвимостей компьютерных сетей 6
1.2. Противодействия атакам на протоколы сетевого обмена 14
1.3. Технологии многопротокольной коммутации по меткам на основе передачи пакетов 19
1.4. Задачи диссертационного исследования 34
1.5. Выводы 34
Глава 2. Разработка методов и алгоритма повышения защиты MPLS-сетей 35
2.1. Отказ от использования протоколов сетевого уровня при передаче пакетов и шифровании пакетов 35
2.2. Кодирование меток односторонней функцией 41
2.3. Модификации архитектуры MPLS-устройств 42
2.4. Алгоритм работы MPLS-сети по усовершенствованному принципу передачи данных 46
2.5. Выводы 53
Глава 3. Разработка метода кодирования меток 54
3.1. Односторонние хэш-функции 56
3.2. Метод повышения длины сверток односторонних функций 57
3.3. Алгоритм RSA 57
3.4. Разработка односторонних функций для кодирования значений меток 60
3.5. Кодирование значений меток с помощью односторонней функции 62
3.6. Исследование и анализ полученных результатов алгоритмом кодирования значений меток 77
3.7. Выводы 79
Глава 4. Постановка и проведение модельного эксперимента 80
4.1. Проектирование и разработка системы моделирования 81
4.2. Проведение модельного эксперимента 88
4.3. Пример практической реализации 111
4.4. Выводы 111
Заключение 112
Список литературы 114
- Виды уязвимостей компьютерных сетей
- Отказ от использования протоколов сетевого уровня при передаче пакетов и шифровании пакетов
- Односторонние хэш-функции
- Проектирование и разработка системы моделирования
Введение к работе
В современном мире все большее значение приобретают распределенные информационные вычислительные сети и технологии их создания. Развитие технологий сопровождается появлением проблем, для решения которых требуется научный подход. Такого рода проблемой является защита компьютерных сетей и приложений от несанкционированного доступа. Вследствие того, что каналы связи имеют большую протяженность, в настоящее время их длины исчисляются сотнями тысяч километров, злоумышленник может осуществить подключение к каналу и перехватить конфиденциальную информацию. Злоумышленник также может попытаться внести изменения в передаваемую информацию. В качестве злоумышленника могут выступать: иностранные разведывательные службы, преступные сообщества, группы, формирования и отдельные лица.
В Российской Федерации защите информации, передаваемой по каналам связи уделяется особое внимание. Подтверждением этого является проект Закона Российской Федерации «О защите информации от утечки по техническим каналам и противодействии техническим разведкам».
Проведенный в диссертации анализ современной технологии многопротокольной коммутации по меткам (MPLS) показал, что:
- технология MPLS не предусматривает функций шифрования и скрытия архитектуры распределенной вычислительной сети;
- виртуальные частные сети, созданные на основе технологии MPLS обеспечивают только изоляцию распространения сетевого трафика внутри определенной частной виртуальной сети.
Из-за большой протяженности сетей, работающих по технологии MPLS, злоумышленник может осуществить атаку на протоколы информационного обмена при непосредственном подключении к линиям связи.
Подводя итог, можно сказать, что проблема повышения защиты компьютерных сетей и приложений является актуальной и приоритетность этой проблемы непрерывно возрастает с развитием глобальных сетей. Детальное исследование существующей технологии коммутации по меткам, позволит разработать методы, повышающие защиту компьютерных сетей и приложений.
Виды уязвимостей компьютерных сетей
Современные вычислительные системы являются распределенными компьютерными сетями, связанными с помощью каналов связи. Информация, передающаяся по каналам связи компьютерных сетей, является критическим ресурсом, позволяющим организациям успешно решать свои задачи. Кроме этого, и частные лица вправе ожидать, что их персональная информация, передающаяся по каналам связи, останется приватной, и не подвергнется несанкционированному доступу [25-27]. Владельцы информации вправе требовать от поставщика услуг передачи данных, чтобы их информация оставалась конфиденциальной, целостной и доступной. Под несанкционированным доступом к информации понимается такой доступ, при котором нарушаются установленные правила доступа к информации. Несанкционированный доступ является реализацией преднамеренной угрозы безопасности и часто еще называется атакой на информационные системы.
Угроза - потенциально возможное событие, действие или процесс, которое посредством воздействия на компоненты системы может привести к нанесению ущерба. Уязвимостью же называется любая характеристика или 7. свойство системы, использование которой может привести к реализации угрозы [28]. Все возможные способы несанкционированного доступа к информации, передаваемой по компьютерным сетям можно классифицировать по различным признакам [15]. Выделим главные из них: 1. По принципу несанкционированного доступа: - физический несанкционированный доступ; - логический несанкционированный доступ. Физический доступ может быть реализован одним из следующих способов: - подключение к каналу связи, перехват и модификация передаваемой информации; - перехват электромагнитных излучений; - хищение телекоммуникационного оборудования и компьютерных систем.
Защита от физического несанкционированного доступа в настоящее время приобретает особое значение, и в первую очередь это связано с постоянным увеличением общей протяженности каналов связи современных телекоммуникационных систем. Их длины исчисляются тысячами километров. Например, протяженность каналов связи компании «Комстар Объединенные Телесистемы» составляет свыше шести тысяч километров, а суммарная протяженность цифровых и аналоговых линий ОАО «Ростелеком» превышает двести тысяч километров. Таким образом, злоумышленник может незаметно подключиться к каналу связи и осуществить атаку на протоколы информационного обмена.
Логический несанкционированный доступ реализуется с помощью логического преодоления системы защиты компьютерной сети. Так как вопрос обеспечения защиты при логическом несанкционированном доступе хорошо изучен [47], то далее рассматриваться он не будет.
2. По положению источника несанкционированного доступа: 8. - источник несанкционированного доступа расположен в локальной сети; - источник несанкционированного доступа расположен вне локальной сети.
В случае, когда источник несанкционированного доступа находится в локальной сети, то инициатором атаки, скорее всего, является санкционированный пользователь, превышающий свои служебные полномочия или желающий причинить какой-либо ущерб.
Несанкционированный доступ в локальную сеть, возможен в случае подключения сети к открытым сетям, например к сети Интернет. Злоумышленник использует программное обеспечение, предназначенное для осуществления различных типов атак находясь при этом за пределами локальной сети, т.е., осуществляя логический несанкционированный доступ [17,24]. При этом обобщенный алгоритм подготовки и реализации несанкционированного доступа имеет следующий вид: 1. Анализ структуры и принципов функционирования атакуемой компьютерной сети. Целью этого шага алгоритма является определение возможных уязвимостей компьютерной сети. 2. Анализ найденных уязвимостей и определение возможных способов выполнения атак. 3. Выполнение подготовленных атак и оценка полученных результатов. 4. Анализируются полученные результаты, принимается решение о прекращении несанкционированного доступа или его продолжении, т.е., переход к первому шагу алгоритма. Если реализация атак пройдет успешно, то злоумышленник нанесет ущерб владельцу информации, которая передается по каналам связи или хранится в вычислительных системах. Рассмотрим и классифицируем основные виды ущерба: - Моральный и материальный ущерб организациям и частным лицам, вызванный разглашением конфиденциальной информации; 9. - Ущерб деловой репутации; - Ущерб от невозможности выполнения договоренностей перед третьей стороной; Материальный ущерб от выхода из строя дорогостоящих вычислительных систем.
В Уголовном Кодексе Российской Федерации за несанкционированный доступ к информации предусмотрены наказания, в зависимости от тяжести совершенного преступления. Например, информационные преступления могут совершаться в форме хищений и в целях промышленного шпионажа. Промышленным шпионажем называется деятельность по незаконному добыванию сведений, представляющих коммерческую ценность (статья 158 УК РФ). Кроме этого, предусмотрена уголовная ответственность за получение и разглашение сведений, составляющих коммерческую или банковскую тайну (статья 183 УК РФ) [6].
Отказ от использования протоколов сетевого уровня при передаче пакетов и шифровании пакетов
В технологии MPLS метка используется для идентификации класса эквивалентности при пересылке, то есть, метка фактически описывает сетевой адрес и дополнительные параметры. Протокол IP соответствует сетевому уровню эталонной модели OSI и является протоколом без установления соединения, это означает, что протокол IP не подтверждает доставку данных и не контролирует целостность полученных данных. Гарантию правильной передачи данных предоставляют протоколы вышестоящего уровня, например, протокол транспортного уровня TCP. Одна из основных задач, решаемых протоколом IP, маршрутизация пакетов, то есть определения пути следования пакета от одного узла сети к другому на основании адреса получателя. Для этого используются таблицы маршрутизации, составляемые вручную или автоматически. IP-адрес является уникальным 32-битным (в 4-ой версии протокола IP) идентификатором сетевого интерфейса и назначается сетевому интерфейсу при первоначальной настройке сети [50,51]. Вследствие того, что количество MPLS-устройств в отдельной сети, работающей по технологии многопротокольной коммутации по меткам не так велико, то появляется возможность сопоставления отдельным сетевым адресам устройств MPLS-сети меток (см. рис. 2.1).
Применение такого подхода позволяет отказаться от использования протоколов сетевого уровня при передаче данных. Рассмотрим применение предложенного подхода на примере. Имеется MPLS-сеть, которая состоит из 6-ти MPLS-устройств (см. рис. 2.2). Для распространения информации о маршрутах используется протокол BGP, а для распространения информации о привязке «маршрут—метка» используется протокол LDP. Каждому сетевому интерфейсу MPLS-устройства в сети назначен IP-адрес. Соотнесем сетевой адрес каждого интерфейса MPLS-устройства с отдельном классом эквивалентности при пересылке, то есть назначим каждому ІР-адресу метку (см. табл. 2.1).
Распространение информации о привязке «ІР-адрес—метка» необходимо выполнять с помощью модифицированного протокола распределения меток или модифицированного протокола маршрутизации, например, модифицированного протокола LDP или BGP, который бы распространял помимо привязки «маршрут-метка» еще и привязку «1Р-адрес-метка». Используя полученную информацию о привязке «маршрут-метка», «1Р-адрес-метка» MPLS-устройства организуют маршруты с коммутацией по меткам, как и в не модифицированной технологии MPLS. Рассмотрим передачу сетевого пакета от устройства LSR1 к устройству LSR5. Допустим, с устройства LSR1 осуществляется проверка доступности сетевого интерфейса устройства LSR5 с адресом 100.1.6.2 с помощью команды Ping. Для этого на устройстве LSR1 формируется сетевой пакет с адресом получателя 100.1.6.2, далее производится просмотр модифицированной информационной базы пересылки по меткам (см. табл. 2.2) и в пакет вставляется метка «1520». Далее помеченный пакет передается на сетевой интерфейс «1» (устройства LSR1) устройству LSR3. Устройство LSR3, получив пакет с меткой «1520» просматривает свою модифицированную информационную базу пересылки по меткам (см. табл. 2.3), заменяет метку на другую (в данном случае метка «1520» заменяется на метку «1520») и передает пакет на сетевой интерфейс «2» устройству LSR5. Устройство LSR5, получив пакет с меткой «1520» просматривает свою модифицированную информационную базу пересылки по меткам (см. табл. 2.4.), удаляет метку и обрабатывает пакет.
Используя приведенный выше метод, появляется возможность отказаться от использования протоколов сетевого уровня при передаче данных. Также возможно осуществление шифрования отдельно взятого сетевого пакета как при входе в MPLS-сеть, так и при создании пакета на MPLS-устройстве внутри MPLS-сети. Обмен секретными ключами можно реализовать с помощью существующих методов и протоколов.
В качестве алгоритмов шифрования можно использовать как симметричное шифрование, так и асимметричное. В алгоритмах симметричного шифрования используется один и тот же ключ для шифрования и расшифровки сообщения. Это означает, что любой, кто имеет доступ к ключу шифрования, может расшифровать сообщение. Алгоритмы симметричного шифрования называют еще алгоритмами с секретным ключом - ключ шифрования должен быть доступен только тем, кому предназначено сообщение. Таким образом, задача обеспечения конфиденциальности сообщений сводится к обеспечению конфиденциальности ключа шифрования. В ассиметричном шифровании для шифрования информации и последующей расшифровки используются различные ключи: - открытый ключ: используется для шифрования информации и вычисляется из секретного ключа; - секретный ключ: используется для расшифровки информации, зашифрованной с помощью парного ему открытого ключа. Секретный и открытый ключ генерируются попарно. Секретный ключ должен оставаться у его владельца; он должен быть надежно защищен от несанкционированного доступа (аналогично ключу шифрования в симметричных алгоритмах). Копия открытого ключа должна находиться у каждого абонента криптографической сети, с которым обменивается информацией владелец секретного ключа.
При использовании ассиметричного шифрования существует проблема -необходимость защиты открытых ключей от подмены. Данная проблема решается путем сертификации открытых ключей. Сертификация ключей представляет собой подписывание ключей секретным ключом сертификатом. Сертификацию ключей производит обычно некая третья доверенная сторона -сертификационный центр. Применительно к усовершенствованию технологии MPLS генерация ключей производится централизованно и генерацию, сертификацию ключей должен осуществлять администратор сети или администратор информационной безопасности. В настоящее время существует стандарт, описывающий форматы сертифицированных открытых ключей -Х.509. Соответствие формата данному стандарту позволяет осуществлять обмен защищенными сообщениями между модифицированными MPLS-устройствами.
Односторонние хэш-функции
Односторонней называется такая математическая функция, которая значительно легче вычисляется в одном направлении (прямом), чем в противоположном (обратном). Односторонняя функция ЩМ) применяется к исходным данным произвольной длины М и возвращает значение фиксированной длины (свертка, хэш-значение) h длиной т. h = H(M) (3.1) Односторонние функции обладают следующими свойствами: - h легко вычисляется из М; - Мтрудно вычислить для заданного h, для которого ЩМ) = h; - для Мтрудно вычислить другое М , чтобы ЩМ)= ЩМ ). Для некоторых задач необходимо еще одно свойство - устойчивость к коллизиям: трудно найти два случайных Ми М , для которых ЩМ)= ЩМ ). На практике достаточно сложно построить функцию, которая для исходных данных произвольной длины возвращала бы свертку заданного размера. Поэтому односторонние функции строятся на основе сжимающих функций. Функция F(X) = Y называется сжимающей, если она сужает диапазон изменения величины X так, что при любых значениях X значения Y принадлежат некоторому конечному интервалу. Входными данными для сжимающей функции являются блок исходных данных Mt и выходные данные от предыдущих блоков данных h(.]. 57. В основе почти всех ассиметричных криптосистем лежат функции, которые считаются односторонними, но в настоящее время это не доказано [44, 52]. Таким образом, существует теоретическая возможность взлома таких криптографических систем.
Для увеличения разрядности свертки, возвращаемой какой-либо односторонней функцией, было предложено использовать следующий метод [52]. 1) При помощи какой-либо односторонней функции вычисляется свертка. 2) Полученная свертка конкатенируется с сообщением и вычисляется хэш-значение. 3) Далее вычисляется хэш-значение большей длины, состоящее из объединения свертки, подсчитанного на этапе 1, и свертки, подсчитанной на этапе 2. 4) Этапы 1-3 повторяются для обеспечения необходимой разрядности нужное количество раз. Безопасность или небезопасность этого метода еще не доказана [52]. Тем не менее, этот метод используется в современных криптографических алгоритмах, например в MD5. Таким образом, можно использовать этот метод для увеличения длины сверток и для вновь проектируемых односторонних функций.
Алгоритм RSA [3,44,52] (назван по первым буквам фамилий его создателей Rivest-Shamir-Adleman) относится к ассиметричным криптосистемам и основан на свойствах простых чисел. Простые числа - это 58. числа, которые делятся без остатка только на самих себя и на единицу. Взаимно простыми называются числа, которые не имеют общих делителей кроме единицы. Определим параметр п как результат перемножения двух больших простых чисел р и q. Далее необходимо подобрать большое случайное число d, при этом оно должно быть взаимно простым с результатом умножения (р 1) -(q- 1). Так же необходимо подобрать такое число е, чтобы (е -d) mod (р— 1) (q- 1) = 1, тогда функция Н(М) определяется следующим образом: Н(М) = Ме mod п (3.2) Открытым ключом являются параметры чисел е и п, а закрытыми - d и п. Для получения исходного сообщения необходимо использовать функцию (3.3). M = Hdmo&n (3.3) Например, установим параметры:р = 3,q = 7ud = 5. п =р q = 3 7 = 21; (е-5) mod(р- 1) (q- 1) = 1; е = 17; Открытый ключ: е = 17 и п = 21. Секретный ключ: d = 5 и п = 21. Зашифруем последовательность «54321». С(5)=517 mod21 = 17 C(4)=417mod21 = 16 C(3)=3,7mod21 = 12 С(2) =217 mod 21 = 11 C(l) = 117 mod 21 = 59. Полученный криптотекст- 17 1612 11 1. Далее расшифруем криптотекст формулой (3.3). М(5) = 175mod21 =5 М(4) = 165mod21 = 4 М(3) = 125 mod 21=3 М(2) = 115 mod 21 =2 M(l) = l5 mod 21 = 1 Результат расшифровки «54321» совпал с данными, которые были первоначально зашифрованы. Алгоритм RSA основан на трудно разрешимой задаче поиска сомножителей (факторинг). Факторинг - процесс поиска сомножителей некоторого целого числа, произведение которых дает исходное целое число. Например, сомножители 21 - это 3 и 7. Задача поиска сомножителей состоит в том, чтобы определить 3 и 7, когда дано 21. Алгоритм RSA с момента создания подвергался атакам, основанным на переборе. Так в 1978 г. создатели алгоритма провели конкурс по расшифровке данных. Задача состояла в разложении на два сомножителя 129-значного числа. Задачу удалось решить только через 17 лет [8]. В настоящее время поиск сомножителей является областью активных исследований, в которых принимают участие большое число математиков-исследователей и специалистов. За последнее десятилетие поиск сомножителей стал проще из-за постоянно возрастающей мощности вычислительной техники, с удешевлением этой техники, а также с появлением более эффективных алгоритмов. Поэтому необходимо из года в год увеличивать длины ключей.
За основу возьмем сжимающую функцию (3.2), в ней нас в первую очередь интересует операция mod (остаток от деления) именно эта операция определяет конечный интервал результата. Таким образом, на основе этой операции можно построить сжимающую функцию, которая бы учитывала все необходимые исходные данные. Применительно к модифицированной технологии MPLS исходными данными являются: сетевой адрес и порт получателя, приоритет, данные о качестве обслуживания, принадлежность к частной виртуальной сети и т.д., которые берутся из таблицы маршрутизации и модифицированной информационной базы пересылки по меткам. Для этого необходимо все исходные данные разбить на блоки Mt . С помощью метода, приведенного в параграфе 3.2 можно получить свертку нужной длины.
При работе MPLS-сети по принципу передачи данных приведенному в главе 2, злоумышленнику, осуществляющему атаку на протоколы информационного обмена при непосредственном подключении к каналу связи необходимо выполнить криптографический анализ перехваченных пакетов. Скорее всего, первым шагом его анализа будет классификация перехваченных пакетов по классам эквивалентности при пересылке, то есть по значению метки. Чтобы затруднить или сделать невозможной данную классификацию необходимо выполнять какое-либо кодирование значений меток. Возможным способом кодирования, может быть использование односторонней функции. Для кодирования значений меток использовать одностороннюю функцию. В качестве сжимающей функции будем использовать функцию (3.6).
Проектирование и разработка системы моделирования
Для проведения практических экспериментов необходим инструмент, позволяющий автоматизировать процесс моделирования. Для этого была разработана система, которая имитирует действия злоумышленника при классификации закодированных меток. В связи со сложностью разработки алгоритмов система не позволяет определять: - алгоритм кодирования меток; - одностороннюю функцию, используемую при кодировании. В системе реализован алгоритм кодирования меток, приведенный в главе 3. В качестве сжимающей функции используется функция (3.1). Приложение также выполняет перебор всех возможных размещений без повторений [10,11,20,45] значений меток, т.е., необходимо реализовать перебор всех возможных подмножеств с заданной мощностью из множества перехваченных закодированных значений меток. Каждое подмножество закодированных значений меток проверяется на принадлежность к одному и тому же классу эквивалентности при пересылке. Введем следующие обозначения: п - мощность множества перехваченных злоумышленником значений меток; т - мощность упорядоченного подмножества множества п (размещение без повторений). Из комбинаторики известно, что количество упорядоченных размещений без повторений (яг-размещений) определяется по формуле (4.1). --{п-т)\ Для разработки системы моделирования было использовано средство разработки приложений Borland C++ Builder 6 [80].
Выполнение классификации закодированных меток определяет набор входных параметров: - множество перехваченных закодированных значений меток; - мощность множества перехваченных закодированных значений меток; - количество закодированных значений меток в каждом классе эквивалентности при пересылке; - диапазон изменения секретного параметра/?; - диапазон изменения секретного параметра ho; В процессе эксперимента определяются следующие параметры: - затраченное время; - количество классов эквивалентности при пересылке; - множество закодированных значений меток, относящихся к одному и тому же классу; - секретные параметры р и ho для каждого класса; - количество вызовов процедуры кодирования значения метки. Архитектура системы моделирования состоит из следующих подсистем: подсистема генерации закодированных меток; подсистема установки параметров; - подсистемы перебора секретных параметров и генерации размещений.
Подсистема генерации закодированных меток должна выполнять: - функции вычисления закодированных меток в соответствии с алгоритмом, описанным в гл. 3; - функции удаления значений меток. Подсистема установки параметров должна обеспечивать установку: - диапазона изменения параметра р; - диапазона изменения параметра ho, - количества значений меток в каждом классе эквивалентности при пересылке; - множества закодированных значений меток. Подсистемы перебора секретных параметров и генерации размещений должна обеспечивать: - перебор всех возможных размещений закодированных значений меток в зависимости от их количества в классе эквивалентности при пересылке; - перебор секретных параметров в заданных диапазонах и проверку принадлежности множества закодированных меток к одному и тому же классу эквивалентности при пересылке; - подсчет количества вызовов функции кодирования; - подсчет пройденного времени; - отображение полученных результатов.
Так как для проведения отдельно взятого эксперимента требуется много времени (проведение одного эксперимента на ЭВМ с процессором Pentium IV с тактовой частотой 2,66 ГГц может длиться несколько суток), необходимо предусмотреть возможность параллельного выполнения вычислений. Система моделирования позволяет находить комбинации меток, относящихся к одному и тому же классу эквивалентности при пересылке параллельно на разных ЭВМ. Для этого необходимо разбить диапазоны изменения секретных параметров на диапазоны меньшего размера. На рис. 4.5 представлено разбиение диапазона изменения секретного параметра р на два диапазона меньшего размера.
Вначале проведем опыт, в котором параметр р изменяется от 15 до 35, а параметр ho от 10 до 100. Далее данный опыт разобьем на два опыта, в первом опыте параметр/? изменяется от 15 до 25, а во втором от 26 до 35. Полученные результаты представлены в табл. 4.1. Результаты проведенных опытов совпали, т.е., время, затраченное на проведение опыта №1 примерно равно суммарному времени, затраченному на проведение опытов №2 и №3, а количество вызовов функции HASH в опыте №1 равно сумме вызовов функции HASH в опытах №2 и №3.
Таким образом, с помощью системы моделирования можно выполнять поиск комбинаций меток, относящихся к одному и тому же классу эквивалентности при пересылке параллельно на разных ЭВМ. Проведение модельного эксперимента состоит из следующих этапов; - моделирование перехвата помеченных пакетов, т.е., генерация исходных данных с помощью соответствующей подсистемы моделирования; - задание секретных параметров и диапазонов их изменения; - генерация всех возможных размещений значений меток и перебор секретных параметров в заданных диапазонах для определения множества . закодированных значений меток относящихся к одному и тому же классу эквивалентности при пересылке; - анализ полученных результатов. Предположим, что сетевой интерфейс MPLS-устройства передает пакеты, относящиеся к IP-сетям. И в разные моменты времени сетевой интерфейс обрабатывает от 3 до 7 сетей. Произвольно выберем эти сети: 195.34.19.0, 207.44.83.0, 193.11.45.0, 220.190.200.0, 200.105.123.0, 197.23.79.0 и 210.115.111.0. Так же для каждой сети произвольным образом зададим секретные параметры. В табл. 4.2 представлены исходные данные. В действительности же количество классов эквивалентности при пересылке может доходить до 300, но проведение таких экспериментов невозможно из-за того, что для этого требуется много времени и много вычислительной техники.