Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИнфСборник по ЗИ и ИБ.doc
Скачиваний:
55
Добавлен:
09.02.2016
Размер:
728.06 Кб
Скачать

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

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

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

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

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

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

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

Сразу же коснемся путей, которыми может быть получено хэш-значение:

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

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

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

С точки зрения NovellNetWare, сервер печати (printserver) является сервером очереди. Поэтому он может выполнять функциюChangeToClientRigths().Недостаток идентификации в данном случае состоит в том, что любой объект (например, пользователь) может войти в систему под именем сервера печати, используя стандартную функцию LoginToFileServerO,либо зная пароль сервера печати, либо, чаще, тот вообще не имеет пароля. ОС не может правильно идентифицировать этот объект и дает ему права на выполнение функцииChangeToClientFtigths(), которая дает ему права желаемого пользователя.

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

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

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

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

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

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

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

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

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

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

NovellNetwareверсии 3.11не контролирует целостность следующих объектов: программы загрузкиSERVER.ЕХЕ;

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

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

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

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

В NovellNetware3.12 и выше после появления "голландской атаки" появилось средство контроля целостности пакетов, проходящих по сети —подпись пакетов (packetsignature), однако она тоже не лишена недостатков.