Безопасность в распределенных системах представляет собой сложную и многостороннюю проблему

Вид материалаДокументы

Содержание


Безопасность связи в распределенных информационно-вычислительных системах
7.3. Вирусная безопасность в сетях эвм
Подобный материал:
1   2   3   4   5   6


БЕЗОПАСНОСТЬ СВЯЗИ В РАСПРЕДЕЛЕННЫХ ИНФОРМАЦИОННО-ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМАХ

Трудности обеспечения безопасности связи в распределенных системах обусловлены следующими факторами:

сети связи и включенные в них ЭВМ доступны большому количеству потенциальных нарушителей;

сети распределенных вычислительных систем общего пользования отличаются большой динамичностью;

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

в сетях используются различные передающие среды, некоторые из них уязвимы к перехвату информации;

в вычислительных сетях используются различные протоколы связи, позволяющие реализовать разные архитектуры;

действующие сети расширяются беспорядочно при простом присоединении к ним новых сетей.

Необходимые меры по защите связи в распределенных вычислительных системах зависят от типа сетей и среды их применения. Для правильного выбора мер защиты необходимо сначала оценить угрозы связи в распределенных системах. Это можно сделать с использованием соответствующей модели безопасности связи. В одной из таких моделей, названной моделью ассоциаций (соединений), принимается, что имеется связь между двумя процессами, т.е. потенциально существует двухсторонний межконцевой (end-to-end) канал передачи данных в распределенной системе. Такая связь называется ассоциацией. При построении модели принималось, что терминальные устройства на обоих концах канала связи располагаются в защищенных зонах. Однако остальная часть соединения (ассоциации) может быть объектом злонамеренных физических воздействий. Допускалось, что в этой распределенной системе имеется нарушитель,который представляется в виде некоторой ЭВМ со злонамеренным управлением, расположенной в канале связи между терминальными устройствами. Это означает, что все передаваемые по каналу сообщения должны проходить через нарушителя.

7.2.1 Угрозы связи (УС) между процессами в распределенных вычислительных системах

УС реализуются посредством получения несанкционированного доступа в распределенную систему. Для определения общих функциональных требований к безопасности связи между процессами в распределенных системах может быть использована модель Кента (Kent) и Войдока (Voydock). Модель учитывает следующие угрозы: наблюдение за выполнением процессов, внесение изменений, ликвидацию информации, ввод ложной информации, задержку, запись, изменение маршрута, дублирование (повторная передача ранее переданных сообщений).

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

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

7.2.2. Меры по обеспечению безопасности связи

Известны три основных подхода к решению проблемы безопасности связи, отличающиеся не только присущими им характеристиками реализации, но и степенью обеспечиваемой ими безопасности. Этими подходами предусматриваются следующие меры: ориентированные на защиту канала связи (link-oriented measures); межконцевой защиты связи на уровне процессов (end-to-end measures); ориентированные на защиту соединений (ассоциаций) между процессами (association oriented measures, или process-level connection oriented measers).

Меры, ориентированные на защиту канала связи, обеспечивают защиту всех сообщений, передаваемых по отдельному каналу, соединяющему два узла сети, т.е. в данном случае каждая ассоциация (или каждое соединение) представлена отдельным каналом. Каждый из таких каналов соответствует канальному уровню передачи данных семиуровневой модели взаимодействия открытых систем ISO/OSI, и нарушитель исходит из того, что легче воздействовать на канал, чем на узел связи.

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

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

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

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

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

7.2.3. Шифрование данных

Криптография применяется для защиты информации, к которой возможен несанкционированный доступ, и там, где другие меры защиты оказываются неэффективными. Все существующие криптографические системы (криптоалгоритмы) делятся на два возможных класса : симметричные (одноключевые) и асимметричные (двухключевые).

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

Наиболее распространенной криптосистемой второго класса является система RSA (Rivest-Shamir-Adleman), криптостойкость которой основана на трудности решения задач дискретного логарифмирования и разложения больших чисел на простые сомножители. К криптосистемам этого класса относятся также система на основе задачи об укладке рюкзака Маркла и Хелмена (Merkle,Hellmen), система на основе корректирующих кодов Маклиса (McEliece) и др.

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

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

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

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

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

7.2.4. Аутентификация

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

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

Для взаимной идентификации равноправных субъектов можно прибегнуть к проверке осведомленности отправителя о некотором объекте вместо аутентификации сообщения. Схемы, позволяющие оценить осведомленность отправителя об объекте без раскрытия информации, относящейся к этому объекту, называются протоколами минимального (нулевого) знания (zero-knowledge protokol). В принципе, протоколы нулевого знания можно применить вполне очевидным способом. Два процесса, осуществляющих связь друг с другом, взаимно подтверждают свою осведомленность, используя один и тот же протокол дважды. Число таких повторных использовании протокола может быть различным. Чем оно больше, тем меньше вероятность ошибочной аутентификации субъектов.

Аутентификация сообщений может выполняться при участии специальной службы аутентификации. I

7.2.5. Службы безопасности в модели взаимодействия открытых систем OSI


Предложенное рабочей группой Американского национального института стандартизация! (ANSI) и Международной организацией по стандартизации (ISO) дополнение (см. таблицу) 7.2.1.) к архитектуре OSI показывает, как могут быть использованы службы безопасностщ на различных уровнях этой архитектуры.

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

Во-первых, внедрение служб безопасности на всех уровнях связано с большими затратами и трудностями. Во-вторых, для сохранения совместимости систем в них следует внедрят» службы безопасности на одном и том же уровне. В-третьих, отсутствуют стандарты на





Таблица 7.2.1. Службы безопасности в модели OSI

Служба

Уровни модели OSI

1

2

3,

4

5

6

7

Идентификация/ аутентификация: источника данных (без установления соединения) равноправных субъектов(с становлением соединения)







+

+


+


+


+








+


+

Контроль доступа: проверка полномочий агента пользователя проверка полномочий равноправных субъектов








+


+


+


+








+


+

Защита целостности соединения с возможн. восстановления соединения без восстановления избирательных соед по полям без установления соединения







+ +

+

+ +

+







+

+ + +

Обеспечение конфиден.: с установлением соед. без установления соединения с избирательным соед. по полям путем контроля графика

+ +

+ +

+

+ +

+ +







+ + + +

Отключение отказа от передачи и приема сообщения: отправителя получателя
















+ +








7.3. ВИРУСНАЯ БЕЗОПАСНОСТЬ В СЕТЯХ ЭВМ

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

На сегодняшний день сетевые вирусы в России практически неизвестны, но объясняется это двумя простыми причинами:

телекоммуникационные системы в России по качеству и номенклатуре предоставляемых услуг оставляют желать лучшего (так как в большинстве случаев предоставляют пользователю только электронную почту);

наиболее распространенные в нашей стране на сегодняшний день компьютеры - это IBM PC /XT/AT, функционирующие под управлением однопользовательской, однозадачной операционной системы MS-DOS, что явно не способствует развитию идеологии распределенных сетей UNIX-машин.

Однако, указанные препятствия для распространения и написания сетевых вирусов, ориентированных на телекоммуникационные сети, с лихвой компенсируются достаточно широким проникновением на отечественный рынок локальных вычислительных сетей фирмы Novell. К 1993 году в России уже сформировалась прослойка специалистов, достаточно глубоко проникших в идеологию ЛВС и способных создавать вирусы в рамках Novell. А если есть возможность, то несмотря на все высокоморалъные сентенции и запреты рано или поздно она (возможность) будет реализована! Все это позволяет предположить, что в ближайшее время отечественные пользователи локальных сетей вплотную ощутят на себе результаты прикладного применения "передовой сетевой технологии". То же самое можно сказать и о распределенных телекоммуникационных и вычислительных сетях. Широкое распространение в России электронных досок объявлений (BBS) оказалось, не только средством общения и обмена математическим обеспечением, но и одним из путей распространения самых разнообразных вирусов. Но сегодня через BBS пользователям попадают просто зараженные программы. А что произойдет, когда распределенные системы, подобные INTERNET, станут реальностью и у нас?

О компьютерных сетях и о вирусах пишут сейчас много. И, казалось бы, нет особого смысла возвращаться к "делам давно минувших дней...", поскольку три года в развитии вычислительной техники - это, по сути целая эпоха. Зачем же ворошить старое? Прежде всего для того, чтобы попытаться извлечь необходимые уроки из чужого опыта. Ведь наше отставание в области компьютерных сетей таково, что описанные в статье проблемы появятся у нас только через несколько лет. А это означает, что еще есть время предпринять необходимые меры. Пока есть... Поэтому давайте вспомним, что произошло 2 ноября 1988 года в Корнельском университете, и что из этого следует.

7.3.1. Репликатор в сети INTERNET

Чем же замечателен этот вирус, почему ему в мировой прессе (по крайней мере за исключением 2/6 мира - СССР и Антарктиды) уделялось столь много внимания? Самое главное - вирус с небывалой легкостью охватил эпидемией всю территорию США, и, по некоторым данным, попал в закрытые военные сети, а также в Европу. Вирус за три дня развеял миф об операционной системе UNIX (который до сих пор поддерживается в нашей стране) как о системе, обеспечивающей надежное управление вычислительными ресурсами и защиту от несанкционированного доступа. И, кроме того, репликатор Морриса (этот термин гораздо удачнее, чем буквальный перевод с английского WORM - червяк [32]) оказался первым вирусом, функционирующим на ЭВМ с различной архитектурой.

Желающим подробнее познакомиться с процессом распространения вируса Морриса и последствиями можно порекомендовать статью И.Моисеенкова, опубликованную в журнале "Компьютер Пресс" [38]. В этой публикации обстоятельно и интересно было рассказано о сети INTERNET, обо всех событиях 2-6 ноября 1988 года и даже приведен список паролей, использовавшихся репликатором Морриса для взлома систем контроля доступа.

Как следует из ряда публикаций [33,34,36,38] в INTERNET "шалил" еще незаконченный репликатор, вырвавшийся на свободу помимо воли автора, который планировал еще более , зверское преступление (это официальная версия, поддержанная ФБР (США) и г-ном Безруковым (У HP) [32]). Но и этой, незаконченной версии, в которой был реализован только алгоритм размножения и отсутствовала какая-либо целевая функция хватило на то, чтобы парализовать на три дня всю сеть INTERNET. А если бы вирус уничтожал либо искажал данные?

. Итак, приступим к рассмотрению устройства и принципов функционирования репликатора Морриса.

7.3.2. Что такое репликатор

Прежде всего, давайте определимся с терминологией. Не вдаваясь глубоко • историю вопроса (см. [61,69]) мы ограничимся небольшой схемкой (рис.7.3.1) с пояснениями.

На рисунке представлены три поколения программного обеспечения, ориентированного на несанкционированный доступ к вычислительным ресурсам. Первое поколение - "троянские кони", представляет собой обычные прикладные программы со скрытыми от пользователя деструктивными функциями. Название этого класса программ заимствовано из "Илиады" Гомера. Второе поколение - логические бомбы, отличаются от своих предшественников тем, что деструктивная функция в них проявляется не сразу, а при наступлении какого-то внешнего события (активизация по дате, паролю и т.д.) Достаточно часто используются в качестве составной части систем защиты о несанкционированного копирования. Логическим развитием первых двух поколений вредительского программного обеспечения (ВПО) явилось появление самовоспроизводящихся программ, которые уместнее всего назвать АВТОНОМНЫМИ РЕПЛИКАТИВНЫМИ ПРОГРАММАМИ (АРП). Основное отличие АРП от их предков состоит в появление способности к самопроизвольному распространению. Но если вирусы ведут свое происхождение от логических бомб и, подобно им, в чистом виде в системе присутствуют (используя прикладные и системные программы в качестве вирусоносителя) то репликаторы, как и троянские кони являются законченными программами и состоянии функционировать самостоятельно (более подробно см. раздел 6).

Основная проблема при проектировании любого репликатора состоит в обеспечении ее размножения в обход системы контроля за использованием вычислительных ресурсов, также различных антивирусных средств. Надо отметить, что обе эти задачи в репликатор были решены исключительно удачно. Моррис использовал ряд "недоработок" стандартном математическом обеспечении, установленном на огромном количестве UNIX систем, объединенных в сеть. Почему термин "недоработки" заключен в кавычки? Потом что, как выяснилось позже, Моррис использовал, в основном, стандартные возможное! UNIX, а кое-где даже воспользовался стандартом ANSI на язык Си (!). Размножение репликатора обеспечивалось тремя независимыми механизмами, которые обеспечивал проникновение приблизительно в 50% систем, для которых был взломан пароль доступа.

Одна из главных сложностей при разработке сетевого репликатора состояла в решении задачи, как обеспечить передачу управления реплика -гору в удаленной ЭВМ? Ведь век протокол межмашинного обмена в INTERNET ориентирован на обмен файлами, а не 1 обеспечение работы вирусов. Следовательно, необходимо было сделать так, чтобы данные пересланные по каналу, превратились в программу. И Моррис нашел не один способ, в сделать это!

7.3.3. FINGERD

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

1) Установить соединение с программой на удаленной ЭВМ;

2) Считать одну строку из потока ввода;

3) Переслать в удаленную ЭВМ запрашиваемую информацию.

Казалось бы, ну что здесь можно сделать?