Способы нарушения информационной безопасности в сетях

Для изучения способов рассмотрим различные виды атак на современные ОС, такие как Novell Netware и UNIX. Обе эти ОС являются сетевыми, несмотря на различную идеологию их построения и масштабность сетей, для которых они предназначены, и предоставляют пользователю различные сетевые услуги, такие как возможность разделять ресурсы, обмениваться сообщениями и электронной почтой.

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

Сначала проанализируем одну ОС (Novell Netware) с точки зрения причин нарушения информационной безопасности и покажем, какие атаки (локальные и удаленные) возможны, исходя из них. Затем коснемся классификации удаленных атак, введем типовые удаленные атаки на сетевые ОС и приведем конкретные примеры для Novell Netware (как ОС для локальных сетей) и UNIX (как основная ОС для глобальной сети Internet).

4.1. Анализ Novell Netware с точки зрения причин нарушения информационной безопасности

Сетевая ОС Novell Netware является мощной и распространенной операционной системой для локальных сетей. Тем не менее, применение системного подхода позволило выявить наличие возможности нарушения безопасности по каждой из причин, описанных в предыдущем разделе:

1. Выбор модели безопасности, несоответствующей назначению или архитектуре BC;

2. Неправильное внедрение модели безопасности;

3. Отсутствие идентификации и/или аутентификации субъектов и объектов;

4. Отсутствие контроля целостности средств обеспечения безопасности;

5. Ошибки, допущенные в ходе программной реализации систем обеспечения безопасности;

6. Наличие средств отладки и тестирования в конечных продуктах;

7. Ошибки администрирования.

Ниже будет приведен анализ ОС Novell NetWare версий 3 (3.11 и 3.12) и 4 (4.1), основываясь на этой классификации.

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

В качестве модели безопасности у Novell Netware выбрана дискретная модель разграничения доступа. Мандатная модель в этой ОС не поддерживается.

Возможность запуска пользовательских программ супервизором.

Из-за отсутствия мандатной модели разграничения доступа непосредственно следует, что пользователь с более высокими полномочиями (такой, как супервизор или менеджер группы) имеет возможность запускать программы, записанные пользователями с меньшими полномочиями. Таким образом, имеется потенциальная возможность запуска супервизором троянского коня, внедренного в систему рядовым пользователем-злоумышленником.

4.1.2. Неправильное внедрение модели безопасности.

Существуют шесть особенностей, которые могут быть отнесены к неправильному внедрению модели безопасности в Novell Netware.

4.1.2.1. Отсутствие подтверждения старого пароля при его смене

Novell API предоставляет функцию ChangeBinderyObjectPassword (char *objectName, WORD objectType, char *oldPassword, char *newPassword), которая производит смену пароля пользователя. При этом сами пароли по сети не передаются, а используется значение, получаемое в результате хэширования (см. п. 4.1.3.1). Как видно, эта функция требует знания старого пароля, хэш-значение которого используется для зашифровки хэш-значения нового пароля в момент передачи по сети. Таким образом, перехват информации в момент передачи по сети серверу ничего не даст злоумышленнику, т.к. он не знает старого пароля.

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

Отсюда следует, что перехват такого вызова функции ChangeBinderyObjectPassword() (он реализован, например, в программе SYSCON) даст злоумышленнику хэш-значение нового пароля со всеми вытекающими отсюда последствиями (см. п. 4.1.3.1).

4.1.2.2. Недостатки в реализации опций intruder detection и force periodic password changes

Как ни парадоксально, но злоумышленник, используя средства защиты Novell Netware, может заставить пользователя помочь ему овладеть хэш-значением пароля. Это произойдет в том случае, когда включено отслеживание попыток входа в систему под неправильным паролем (intruder detection). Злоумышленник может несколько раз попытаться войти в систему под любыми паролями, когда пользователь войдет под правильным паролем, ему сообщат о попытках несанкционированного доступа, и он захочет сменить пароль. Именно этого и добивался злоумышленник, готовый перехватать хэш-значение, единственный раз в этом случае передающийся по сети. Аналогичный результат получается при использовании периодической смены пароля (force periodic password changes).

4.1.2.3. Слабое значение идентификатора супервизора.

В Novell Netware каждому объекту при создании присваивается уникальный номер - идентификатор объекта (ObjectlD). Он используется во многих функциях, в частности, в криптофункциях часто применятся операция XOR ObjectlD для первичной зашифровки.

Как ни парадоксально, но у супервизора идентификатор в 99.9% систем равен 00000001h (значение, устанавливаемое при инсталляции ОС), соответственно операция XOR с ним изменяет всего один бит из 32. Это позволяет значительно повысить скорость переборных (brute force) функций.

4.1.2.4. Право на создание файлов в каталоге SYS:MAIL

По умолчанию у любого пользователя существует право на создание файлов в каталоге SYS:MAIL. Пользуясь этим правом и в связи с наследованием прав подкаталогами, пользователь может создать любой файл в любом из подкаталогов SYS:MAIL, которые, как известно, являются личными каталогами остальных пользователей. В частности, он может создать файл login (если таковой не существует) и записать туда троянскую программу, которая будет исполняться при входе пользователя-жертвы в систему. Для этого ему нужно знать всего лишь идентификатор этого пользователя (т.к. личные каталоги называются исходя из идентификатора), который получается стандартными функциями Novell API. Отметим, что личный каталог супервизора практически всегда будет называться SYS:MAIL\1 (см. предыдущий пункт).

Подчеркнем также, что создать файл login злоумышленник сможет только в том случае, если атакуемый пользователь специально удалил его, т.к. при введении нового пользователя у него в личном каталоге по умолчанию появляется файл login с нулевой длиной. Т.к. права на модификацию и уничтожение файлов в SYS:MAIL отсутствуют, то изменить такой файл не удастся.

4.1.2.5. Ненадежность атрибута "только для выполнения"

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

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

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

4.1.2.6. Получение прав пользователя сервером очереди

Novell API предоставляет функцию ChangeToClientRigths(), которая позволяет служебному серверу очереди (Queue server) использовать права пользователя, который поместил это задание в очередь. Данная функция является, по всей видимости, устаревшей и, возможно, оставлена для совместимости с предыдущими версиями Novell Netware. Она может быть отключена с консоли сервера с помощью команды SET Allow Change То Client Rights = OFF. Таким образом, если удастся идентифицироваться на файл-сервере как сервер очереди, то можно будет выполнить вызов этой функции и получить права конкретного пользователя (в т.ч. и супервизора) (см. п. 4.1.3.2).

4.1.3. Отсутствие идентификации и/или аутентификации субъектов и объектов

Это самая обширная группа причин для любой сетевой операционной системы, и Novell Netware не исключение. Особенно часто причиной атак служит неправильная идентификация сетевых пакетов, вызванных подменой адреса отправителя (spoofing). Много примеров будет приведено в п. 4.2.3.1.

Для целей аутентификации у Novell Netware 3 применяется собственный криптографический алгоритм, в Novell Netware 4 он усилен использованием открыты;: и закрытых ключей.

4.1.3.1. Возможность обращения хэш-функции

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

Рассмотрим ее алгоритм немного подробнее:

из оригинального пароля пользователя получается 32-байтовая последовательность путем либо сжатия пароля длиной более 32 символов с помощью операции XOR, либо. размножением пароля длиной менее 32 символов;

эта последовательность шифруется операцией XOR с идентификатором объекта (object ID);

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

Именно эти выходные последовательности (для Novell Netware 3) хранятся в базе данных связок (bindery) в виде свойства "PASSWORD".

Одним из основных свойств криптостойкой хэш-функции должно быть то, что невозможно по хэш-значению получить исходный ключ, кроме как полным перебором (таковой, например, является функция crypt(), используемая в UNIX, которая основана на математически криптостойком алгоритме DES). Именно это свойство нарушено в хэш-функции, применяемой в Novell Netware.

Была построена процедура, которая из данного 16-байтового хэш-значения путем небольшого перебора (несколько секунд на машине класса 80486DX2-66) получает 32-байтовую последовательность, которая, конечно, не является истинным паролем, но тем не менее воспринимается Novell Netware как таковой, т.к. применение к ней хэш-алгоритма, выдает в точности имеющееся хэш-значение. Таким образом, вызов функции LoginToFileServer() с полученной 32-байтовой последовательностью приведет к нормальному входу в систему. Сразу же коснемся путей, которыми может быть получено хэш-значение:

· есть доступ к базе данных связок через консоль сервеpa;

· есть доступ к копии базы данных связок (см. п. 4.1.7.2);

· перехват в момент передачи по сети при смене пароля пользователя (см. п. 4.1.2.1 и 4.1.2.2).

4.1.3.2. Атака с использованием cеpвера печати

С точки зрения Novell Netware, сервер печати (print server) является сервером очереди. Поэтому он может выполнять функцию ChangeToClientRigths() (см. п. 4.1.2.6). Недостаток идентификации в данном случае состоит в том, что любой объект (например, пользователь) может войти в систему под именем сервера печати, используя стандартную функцию LoginToFileServer(), либо зная пароль сервера печати, либо, чаще, тот вообще не имеет пароля. ОС не может правильно идентифицировать этот объект и дает ему права на выполнение функции ChangeToClientRigths(), которая дает ему права желаемого пользователя. Таким образом, если в очередь на печать попадает задание от супервизора, то любой обычный пользователь может воспользоваться его правами.

4.1.3.3. Использование состояния отсутствия информации.

Рассмотрим в общем виде процесс входа в систему (login) для всех версий Novell Netware:

1) Рабочая станция создает выделенный канал с сервером, присоединяясь к нему под именем IVOT LOGGED IN и получает право на чтение каталога SYS:LOGIN;

2) Она загружает из него программу LOGIN.ЕХЕ и выполняет ee;

3) Происходит процесс идентификации и аутентификации на сервере под настоящим именем (различный для разных версий OC);

4) После этого, если необходимо, включается подпись пакетов для дальнейшего общения рабочей станции и сервера.

Самым слабым местом здесь является шаг 2. Здесь налицо появляется состояние отсутствия информации (zero knowledge state), когда ни сервер, ни рабочая станция не может аутентифицировать друг друга, так как все механизмы аутентификации включаются после регистрации пользователя на файл-сервере. Поэтому третья станция может с успехом имитировать как сервер, так и рабочую станцию.

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

4.1.4. Отсутствие контроля целостности средств обеспечения безопасности

Novell Netware версии 3.11 не контролирует целостность следующих объектов:

программы загрузки SERVER.EXE;

· системных файлов на жестком диске сервера;

· системных областей на жестком диске (например, таблицы размещения файлов (FAT));

· оперативной памяти сервера;

· сетевых пакетов.

В Novell Netware 3.12 и выше после появления "голландской атаки" (см п. 4.2.3.3.1) появилось средство контроля целостности пакетов, проходящих по сети - подпись пакетов (packet signature), однако она тоже не лишена недостатков.

4.1.4.1. Приведение базы данных связок в неработоспособное состояние

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

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

Самый простой способ привести базу данных связок в неработоспособное состояние - стереть ее. Однако, для того чтобы атака осталась незамеченной, можно скопировать базу данных связок и восстановить ее после атаки. Novell Netware имеет встроенные средства восстановления базы данных связок - это утилита BINDREST, которая копирует файлы, содержащие базу данных, из файлов с расширениями.OLD. Поэтому самый очевидный способ осуществления этой атаки состоит в следующем:

1. Операционная система Novell Netware выгружается командой DOWN с консоли;

2. Загружается операционная система MSDOS;

3. С помощью программ типа DiskEdit или PCTools анализируется таблица разделов (partition table) и находится начало раздела Novell;

4. С начала раздела Novell ищутся строки "net$obj.sys", "net$prop.sys" и "net$val.sys", являющихся именами файлов базы данных связок. Естественно, что таких строк может быть найдено несколько, нас интересуют те, которые располагаются в таблице размещения файлов (FAT). Определить это можно таким образом, что перед ними, начиная с кратного 16 смещения с начала сектора на диске, должна идти примерно

следующая последовательность байт:

00 00 00 26 10 00 00 03 18 00 0В <имя файла>;

5. У трех найденных строк (они должны быть рядом друг с другом) заменяются расширения.SYS на.OLD, а за 8 байт до них байты 26 10 (это атрибуты файлов) заменяются на 00 00;

6. Проделанные в п. 4 и 5 операции повторяются еще раз для второй копии FAT. (Этого можно не делать, но тогда после загрузки сервера придется запускать утилиту VREPAIR. NLM);

7. Загружается операционная система Novell Netware и осуществляется вход в нее как супервизор (пароль не будет запрашиваться);

8. Запускается программа BINDRESТ, которая восстановит базу данных связок из файлов *.OLD, т.е. всю первоначальную информацию.

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

4.1.4.2. Недостатки механизма подписи пакетов.

Последние версии Novell Netware (3.12 и 4) предоставляют специальное средство аутентификации и контроля целостности пакетов, проходящих в локальной сети. Это средство называется подпись пакетов и реализовано на основе известных алгоритмов электронной подписи.

Но для повышения скорости работы сети (включение подписи пакетов и так замедляет работу в 1.5-2 раза) в Novell Netware для формирования подписи используются только первые 52 байта пакета. Вся остальная информация может изменяться и никаких предупреждении о нарушении целостности ОС выдавать не будет.

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

4.1.5. Ошибки, допущенные в ходе программной реализации систем обеспечения безопасности

4.1.5.1. Передача нешифрованных паролей программой SYSCON

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

Проявление этой ошибки только для супервизора, наверное, каким-то образом связано со специальным вызовом ChangeBinderyObjectPassword() (см. п. 4.1.2.1).

Тот факт, что это "свойство" присутствует только в одной версии программы (3.76), позволяет говорить о том, что это - ошибка, а не программная закладка или люк.

4.1.6. Наличие средств отладки и тестирования в конечных продуктах

4.1.6.1. Наличие встроенного отладчика.

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

Для Novell Netware 3 этот способ состоит в следующем:

Вызывается встроенный отладчик операционной системы Novell Netware нажатием на консоли сервере комбинации клавиш <Alt>+<Left Shift>+<Right Shift>+<Esc>.

В нем выполняется поиск байт 74 1F BE FF 00 00 00 (Novell Netware 3.12) или 74 10 ВВ FF 00 00 00 (Novell Netware 3.11) командой

m 0 74 1F BE FF 00 00 00 или

m 0 74 1D BB FF 00 00 00 соответственно.

Отладчик высвечивает адрес найденной последовательности байт.

По этому адресу байт 74 заменяется на ЕВ командой

с <адрес> = ЕВ

Операционная система запускается дальше командой

g

Как видно, этот способ не требует никаких специальных программ и перезагрузок сервера. Более того, не вносится никаких изменений на жесткий диск сервера, а изменения в памяти можно также легко удалить при необходимости, изменив байт ЕВ обратно на 74. Парадоксально, но факт, что средство, предназначенное для блокировки клавиатуры консоли, может быть обойдено с использованием той же клавиатуры. Речь идет об опции "Lock File Server Console" в программе MONITOR.NLM. При такой блокировке клавиатуры все же остается возможность активации отладчика, что позволяет сделать так, чтобы любой пароль для разблокировки клавиатуры воспринимался как правильный. Это достигается следующей последовательностью действий:

- Вызывается встроенный отладчик операционной системы

- В нем выполняется поиск байт 74 14 BE FF 00 00 00 (Novell Netware 3.12) или 74 14 ВВ FF 00 00 00 00 (Novell Netware 3.11) командой

m 0 74 14 BE FF 00 00 00 или

m 0 74 14 ВВ FF 00 00 00 соответственно.

- Отладчик высвечивает адрес найденной последовательности байт. По этому адресу байт 74 заменяется на ЕВ командой

с <адрес> = ЕВ

- Операционная система запускается дальше командой

g

На клавиатуре набирается любой пароль. Существует также другой аналогичный способ, выполняющий обе эти функции и пригодный для многих версий Netware:

¦ Вызывается встроенный отладчик;

¦ Заменяются 6 байт подпрограммы VerifyPassword командой

с VerifyPassword=B8 0 0 0 0 С3

¦ Продолжается выполнение ОС командой

g

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

4.1.7. Ошибки в администрировании системы.

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

4.1.7.1. Наличие права на запись в системный каталог

Наличие возможности записи в один из каталогов, используемых в файле начальной загрузки (login script) приводит к тому, что злоумышленник может исправить одну из запускаемых программ (это могут быть различные драйверы, операционные оболочки и т.п.) так, чтобы она совершала некоторые несанкционированные действия (в частности, запоминала пароль, под которым пользователь вошел в систему). Здесь используется также тот факт, что Novell Netware никоим образом не контролирует целостность своих системных компонент.

Например, способ с "обратным чтением пароля" (readback) использует тот факт, что все введенные с клавиатуры символы сохраняются некоторое время в буфере клавиатуры, и состоит в следующем.

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

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

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

4.1.7.2. Наличие права на чтение SYS:SYSTEM

Наличие у пользователя права на чтение SYS:SYSTEM автоматически приводит к тому, что ему могут стать доступны копии файлов базы данных связок NET$*.OLD и он сможет прочитать оттуда хэш-значение пароля.

4.1.8. Возможные типы атак на Novell Netware.

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

4.2. Анализ и классификация удаленных атак на компьютерные сети

Понятие удаленной атаки

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

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

Далее рассмотрим классификацию удаленных атак.

4.2.1. Классификация удаленных атак на сети ЭВМ

Удаленные атаки можно классифицировать по следующим признакам:

1. По характеру воздействия

- активное

- пассивное

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

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

2. По цели воздействия

- перехват информации

- искажение информации

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

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

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

3. По условию начала осуществления воздействия

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

- атака по запросу от атакуемого объекта. В этом случае атакующая программа, запущенная на сетевом компьютере, ждет посылки от потенциальной цели атаки определенного типа запроса, который и будет условием начала осуществления атаки. Примером подобных-запросов в ОС Novell NetWare может служить SAP-запрос, а ОС UNIX - DNS и ARP-запрос. Удаленные атаки на эти сетевые ОС, построенные на данном принципе, см. В п. 4.2.3.2, 4.2.4.3 и 4.2.4.2. Важно отметить, что данный тип удаленных атак наиболее характерен для сетевых ОС;

- атака по наступлению определенного события на атакуемом объекте.

В случае удаленной атаки подобного рода атакующая программа ведет наблюдение за состоянием операционной системы удаленного компьютера и при возникновении определенного события в системе начинает осуществление воздействия. В этом, как и в предыдущем случае, инициатором осуществления начала атаки выступает сам атакуемый объект. Примером такого события может быть прерывание сеанса работы пользователя с сервером в ОС Novell NetWare без выдачи команды LOGOUT (например, путем отключения питания на рабочей станции). Удаленные атаки по наступлению определенного события см. в п. 4.2.3.3.2;

- безусловная атака. В этом случае начало осуществления атаки безусловно по отношению к цели атаки. То есть атака осуществляется немедленно после запуска атакующей программы а, следовательно, она и является инициатором начала осуществления атаки. Пример атаки данного вида см. в п. 4.2.4.4.

4. По расположению субъекта атаки относительно атакуемого объекта

- внутрисегментное

- межсегментное

Рассмотрим ряд определений:

Субъект атаки (или источник атаки) - это атакующая программа, осуществляющая воздействие.

Хост (host) - сетевой компьютер.

Маршрутизатор (router) - устройство, обеспечивающее маршрутизацию пакетов обмена в глобальной сети.

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

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

С точки зрения удаленной атаки чрезвычайно важно как по отношению друг к другу располагаются субъект и объект атаки, то есть в одном или в разных сегментах они находятся. В случае внутрисегментной атаки, как следует из названия, субъект и объект атаки находятся в одном сегменте. Примеры такой атаки см. п. 4.2.2.1, 4.2.2.2. При межсегментной атаке субъект и объект атаки находятся в разных сегментах. Примеры см. п 4.2.2.3 - 4.2.2.6.

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

5. По уровню эталонной модели ISO/OSI, на котором осуществляется воздействие

- физический - канальный - сетевой - транспортный

- сеансовый - представительный - прикладной

Международная Организация по Стандартизации (ISO) приняла стандарт ISO 7498, описывающий взаимодействие открытых систем (OSI). Сетевые ОС также являются открытыми системами. Любой сетевой протокол обмена, также как и любую сетевую программу можно с той или иной степенью условности спроецировать на эталонную семиуровневую модель OSI.

Такая многоуровневая проекция позволит описать в терминах модели OSI функции, заложенные в сетевой протокол или сетевую программу. Удаленная атака также является сетевой программой. В связи с этим представляется логичным рассматривать удаленные атаки на сетевые ОС, проецируя их на эталонную модель ISO/OSI.

4.2.2. Механизмы реализации основных типов удаленных атак

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

4.2.2.1. Анализ сетевого трафика

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

Анализ сетевого трафика позволяет, во-первых, изучить логику работы сетевой ОС, то есть, получить взаимно однозначное соответствие событий, происходящих в ОС, и команд, пересылаемых друг другу ее компонентами, в момент появления этих событий. Это достигается путем перехвата и анализа пакетов обмена на канальном уровне. Знание логики работы сетевой ОС позволяет на практике моделировать и осуществлять типовые удаленные атаки, рассмотренные в 4.2.2.2, 4.2.2.3, 4.2.2.4 и в 4.2.2.6, на примере конкретных сетевых ОС.

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

По характеру воздействия анализ сетевого трафика является пассивным воздействием (класс 1.2). Осуществление данной атаки ведет к перехвату информации (класс 2.1) внутри одного сегмента сети (класс 4.1) на канальном уровне OSI (класс 5.2). При этом начало осуществления атаки безусловно по отношению к цели атаки (класс 3.3).

4.2.2.2. Навязывание хосту ложного маршрута

Современные глобальные сети представляют собой совокупность сегментов сети, связанных между собой через сетевые узлы. При этом маршрутом называется последовательность узлов сети, по которой данные пересылаются от источника к приемнику, а маршрутизацией называется выбор маршрута. Узел, обеспечивающий маршрутизацию, называется маршрутизатором. Каждый маршрутизатор имеет специальную таблицу, называемую таблицей маршрутизации, в которой для каждого адресата указывается оптимальный маршрут. Отметим, что таблицы маршрутизации существуют не только у маршрутизаторов, но и у любых хостов в глобальной сети. Для обеспечения эффективной и оптимальной маршрутизации в сетях ЭВМ существуют специальные управляющие протоколы, позволяющие маршрутизаторам обмениваться информацией друг с другом (RIP (Routing Internet Protocol), OSPF (Open Shortest Path First)), уведомлять хосты о новом маршруте (ICMP (Internet Control Message Protocol)), удаленно управлять маршрутизаторами (SNMP (Simple Network Management Protocol)).

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

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

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

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

Навязывание хосту ложного маршрута - активное воздействие (класс 1.1), совершаемое с целью как перехвата (класс 2.1), так и искажения информации (класс-2.2) безусловно, по отношению к цели атаки (класс 3.3). Данная удаленная атака осуществляется внутри одного сегмента (класс 4.1), на сетевом уровне модели OSI (класс 5.3).

4.2.2.3. Подмена доверенного хоста

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

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

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

- атака при установленном виртуальном канале

- атака без установленного виртуального канала

В случае установленного виртуального соединения атака будет заключаться в присвоении прав доверенного хоста, легально подключившегося к серверу, что позволит злоумышленнику вести сеанс работы с сервером от имени доверенного хоста. Реализация данного типа атак обычно состоит в посылке пакетов обмена с атакующей станции на сервер от имени доверенной станции и при этом посланные пакеты будут восприняты сервером как корректные. Для осуществления атаки данного типа необходимо преодолеть систему идентификации пакетов, которая, в принципе, может использовать контрольную сумму, вычисляемую с помощью открытого ключа, динамически выработанного при установлении канала, случайные многобитные счетчики пакетов и сетевые адреса станций. Однако на практике в ОС Novell NetWare 3.12 для идентификации пакетов обмена используются два 8 – битных счетчика - номер канала и номер пакета; в протоколе ТСР для идентификации используются два 32 - битных счетчика. Примеры атак данного типа см. 0. 4.2.2.3, 4.2.4.5, 4.2.4.6.

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

Подмена доверенного хоста является активным воздействием (класс 1.1), совершаемое с целью как перехвата (класс 2.1), так и искажения информации (класс 2.2) по наступленияю на атакуемом объекте определенного события {класс 3.2). Данная удаленная атака является как внутрисегментной (класс 4.1), так и межсегментной (класс 4.2) и осуществляется на сетевом (класс 5.3), транспортном (класс 5.4) и сеансовом (класс 5.5) уровнях модели OSI.

4.2.2.4. Ложный сервер или использование недостатков алгоритма удаленного поиска

В компьютерной сети часто оказывается, что удаленные компоненты сетевой ОС изначально не имеют достаточно информации, необходимой для адресации пакетов обмена. Обычно такой информацией являются аппаратные (адрес сетевого адаптера) и логические адреса (IP - адрес, например) сетевых компьютеров. Для получения подобной информации в сетевых ОС используются различные алгоритмы удаленного поиска, заключающиеся в передаче по сети специального вида запросов, и в ожидании ответов на полученный запрос с искомой информацией. Руководствуясь полученными из ответа сведениями о искомом хосте, запросивший хост начинает адресововаться к нему, то есть, после получения ответа на запрос он обладает всеми необходимыми данными для адресации. Примером подобных запросов, на которых базируются алгоритмы удаленного поиска, могут служить SAP - запрос в ОС Novell NetWare (см. п. 4.2.3.2.), ARP и DNS - запрос в сети Internet (см п. 4.2.4.2. и 4.4.4.3).

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

Ложный сервер - активное воздействие (класс 1.1), совершаемое с целью как перехвата (класс 2.1), так и искажения информации (класс 2.2), являющееся атакой по запросу от атакуемого объекта (класс 3.1).

Данная удаленная атака является как внутрисегментной (класс 4.1), так и межсегментной (класс 4.2) и осуществляется на канальном (класс 5.2), сетевом (класс 5.3), транспортном (класс 5.4), сеансовом (класс 5.5) и представительном (класс 5.6) уровнях модели OSI.

Использование ложного сервера для организации

удаленной атаки на сетевую ОС

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

4.2.2.4.1. Селекция потока информации и сохранение ее на ложном сервере

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

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

4.2.2.4.2. Модификация информации

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

Далее, рассмотрим два вида модификации информации:

- модификация передаваемых данных

- модификация передаваемого кода

l. Модификация передаваемых данных

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

2. Модификация передаваемого кода

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

Представляется возможным выделить два различных по цели вида модификации кода:

- внедрение РПС

- изменение логики работы исполняемого файла

В первом случае, при внедрении РПС исполняемый файл модифицируется по вирусной технологии. То есть, к исполняемому файлу одним из известных способов дописывается тело РПС и, также, одним из известных способов изменяется точка входа так, чтобы она указывала на внедренный код РПС. Описанный способ, в принципе ни чем не отличается от стандартного заражения исполняемого файла вирусом за исключением того, что файл оказался поражен вирусом или РПС в момент передачи его по сети!

Такое возможно лишь при использовании системы воздействия, построенной по принципу ложный сервер. Конкретный вид РПС, его цели и задачи в данном случае не имеют значения, но можно рассмотреть, например, вариант использования ложного сервера для создания сетевого червя - наиболее сложного на практике удаленного воздействия в сетях ЭВМ или в качестве РПС использовать сетевые шпионы (см. п. 4.2.2.5).

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

4.2.2.4.3. Подмена информации

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

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

4.2.2.5. Сетевой шпион или удаленный контроль за станцией в сети

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

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

Рассмотрим схематично основные этапы работы сетевого шпиона:

1. инсталляция в памяти;

2. ожидание запроса с удаленного атакующего компьютера, на котором запущена головная сервер - программа, и обмен с ней сообщениями о готовности;

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

Рассмотрим основные функции, присущие сетевым шпионам:

1. Перехват и передача вводимой с клавиатуры информации на головную сервер - программу;

2. Перехват и передача экранной информации на головную сервер-программу;

3. Перехват и передача на головную сервер - программу системной информации о ПК (тип ОС, параметры компьютера, загруженные программы и т.д.);

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

Таким образом, проникновение в сетевую ОС сетевых шпионов нарушает политику безопасности, принятую в сети, ведет к нарушению целостности данных и позволяет несанкционированно использовать вычислительные мощности компьютеров, объединенных в сеть.

Одним из примеров подобной закладки может служить Registration Wizard в ОС Windows 95, которая после установки данной операционной системы пытается совершить звонок по модему в офис фирмы Microsoft и сообщить данные о параметрах ПК, на который она установлена и данные о пользователе, ее использующем.

Сетевой шпион - активное воздействие (класс 1.1), совершаемое как с целью перехвата (класс 2.1), так и искажения информации (класс 2.2), являющееся атакой по запросу (класс 3.1). Сетевой шпион - это как внутрисегментная (класс 4.1), так и межсегментная (класс 4.2) удаленная атака, осуществляемая на сетевом уровне модели OSI (класс 5.3).

4.2.2.6. Сетевой червь (Worm)

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

Рассмотрим схематично основные этапы работы сетевого червя:

1. Поиск в сети цели атаки - удаленных ЭВМ;

2. Передача по сети своего кода на цель атаки;

3. Получение управления в операционной системе цели атаки;

4. Переход к п.1.

Из этой схемы видно, что основной проблемой для сетевого червя является получение управления на удаленном компьютере. Решение этой задачи на практике чрезвычайно затруднено, так как, для ее решения необходимо либо знать имя и пароль пользователя для входа в компьютер, либо обладать информацией о люках или дырах в программном обеспечении, обеспечивающем удаленный доступ, либо использовать ошибки администрирования служб предоставления удаленного доступа (см. 4.2.2.7). Единственный пример сетевого червя - это червь Морриса, распространившийся в сети Internet в 1988r., который использовал описанные выше ошибки, существовавшие в ранних версиях утилит finger и sendmail, а также ошибки администрирования сетевых служб ОС UNIX (r - служб).

Сетевой червь - активное воздействие (класс 1.1), совершаемое как с целью перехвата (класс 2.1), так и искажения информации (класс 2.2), начало которого безусловно по отношению к цели атаки (класс 3.3). Сетевой червь - это как внутрисегментная (класс 4.1), так и межсегментная (класс 4.2) удаленная атака, осуществляемая на сетевом уровне модели OSI (класс 5.3).

4.2.2.7. Удаленные атаки, использующие ошибки администрирования или ошибки в реализации служб предоставления удаленного доступа

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

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

Очевидным фактом является то, что какой бы ни была надежной СПУД, при неправильном ее администрировании безопасность системы в целом будет сведена на нет. На практике оказывается, что администрирование СПУД является довольно сложным делом. Это связано с тем, что СПУД нельзя рассматривать в отрыве от конкретной сетевой ОС, в которой она используется. А так как современные сетевые ОС в большинстве своем довольно сложны и состоят из большого количества объектов разной степени значимости (пользователей, процессов, файлов, периферийных устройств и т.д.), отношения между которыми и, соответственно, доступ к которым и должна регулировать СПУД, то задача разграничения доступа и задание тех или иных приоритетов (уровней безопасности) для объектов компьютерной системы в основном ложится на администратора безопасности системы. 8 связи с этим увеличивается вероятность ошибки при администрировании СПУД.

На практике оказывается, что ошибки администрирования сетевых ОС - один из основных факторов, приводящих к различным нарушениям безопасности системы и одна из основных причин успеха удаленных атак.

Другая причина возможного успеха удаленной атаки может заключаться в наличии программных или алгоритмических ошибок в СПУД. Обнаружить такую ошибку довольно сложно. Информацию о подобных ошибках можно узнать, используя информационные услуги сети Internet.

Удаленная атака, использующая ошибки администрирования или ошибки в реализации СПУД, является наиболее просто осуществляемым воздействием, которое классифицируется по любому классу в классификации удаленных атак.

4.2.3. Удаленные атаки на ОС Novell NetWare 3.12

4.2.3.1. Исследование сетевого трафика сети Nowell NetWare 3.12

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

Что касается логики работы сетевой ОС, то без применения сетевого анализа в ОС Novell NetWare оказалось бы невозможным осуществление ни одной из удаленных атак, описанных далее в п. 4.2.3.2, 4.2.3.3, 4.2.3.4.

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

4.2.3.1.1. Перехват двух 8 - байтовых последовательностей в процессе подключения пользователя к файл - серверу

Как известно, в ОС Novell NetWare 3.12 пароль пользователя хранится на файл - сервере в базе данных связок в виде 16 - байтовой хэш - последовательности, получающейся при помощи специального алгоритма (см. п. 4.1.3.1) из пароля пользователя. Процесс подключения пользователя к серверу выглядит следующим образом:

- сервер посылает станции 8 - байтовую случайную последовательность;

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

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

- сервер проверяет соответствие полученной и вычисленной последовательности.

Из этого видно, что хэш - значение не передается при подключении пользователя по сети. Следовательно, анализ сетевого трафика позволит атакующему перехватить имя пользователя и две 8 - байтовые последовательности, передаваемые по сети. Это приводит к возможности осуществления криптоатаки полным перебором и по словарю. Также, с помощью сетевого анализа возможно осуществление атак, рассмотренных в п. 4.1.2.1 и в п. 4.1.5.1.

4.2.3.2. Ложный сервер сети Nowell NetWare 3.12

Как известно, в ОС Novell NetWare 3.12 рабочая станция может быть одновременно подключена к восьми файл - серверам. Следовательно, перед сетевой оболочкой рабочей станции (NETX) при ее загрузке встает несколько проблем. Во-первых, какие файл - серверы активны в данный момент времени (активная станция или файл - сервер - это компьютер, подключенный к сети физически, включенный по питанию, на котором загружено сетевое программное обеспечение)? Во-вторых, к какому файл -серверу осуществить подключением Эти проблемы решаются в ОС Novell NetWare 3.12 при помощи алгоритма удаленного поиска, названного протоколом объявления сервиса в сети (Service Advertising Protocol - SAP).

Как известно, базовым сетевым протоколом в ОС Novell NetWare является протокол IPX. Протокол SAP позволяет средствами IPX найти все активные файл-серверы в сети и определить их имена, и что самое главное, определить их аппаратные и логические адреса (аппаратный адрес -адрес сетевого адаптера на файл-сервере; логический адрес файл-сервера в ОС Novell NetWare представляет собой 12 - байтовую структуру следующего вида:

- 4 байта - номер сети (network)

- 6 байт - идентификатор файл-сервера

- 2 байта - командный сокет Ox451).

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

Итак, рассмотрим стандартный процесс загрузки сетевой оболочки на рабочей станции в OC Novell NetWare 3.12 (напомним, что сетевая оболочка, изначально, не имеет данных о активных файл - серверах в сети):

- на широковещательный адрес посылается SAP - запрос на поиск ближайшего активного файл-сервера в сети;

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

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

Из этой схемы не совсем ясно, что будет, если в сети окажется несколько файл-серверов. Ведь на получение SAP - запроса каждый сервер отреагирует немедленной посылкой SAP - ответа и, следовательно, рабочая станция может получить ни один, а несколько SAP - ответов. Тогда возникает проблема: на какой из пришедших SAP - ответов реагировать, то есть, к какому из активных серверу подключаться? Эта проблема в ОС Novell NetWare решена следующим образом. Обратим внимание на первую часть загрузки сетевой оболочки: она ищет ближайший файл - сервер. Для этого в SAP - запросе существует специальное поле - тип запроса (QueryType), которое может содержать одно из двух значений: 1 или 3. Значение 3 позволяет найти ближайший сервер. Ближайшим будет считаться тот се


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: