ЗАЩИТА СЕТЕЙ

Как защитить сети от несанкционированного доступа к информационным и другим ресурсам

 

         

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

Усиленный линкор

В конце XX века на других "верфях" встала проблема защиты многопользовательских информационных систем от несанкционированного доступа (НСД). Как и век назад, ее поставила сама жизнь. Выбор тот же: укреплять "дредноуты" или строить "линкоры". При выборе ОС для своих информационных систем пользователи, как правило, прежде всего интересуются возможностью объединения уже имеющегося "железа" и "Ворд фор Иксел" в сеть, лишь затем ценой и возможностью защиты от НСД. А поскольку обе возможности так или иначе реализованы во всех популярных многопользовательских ОС, то цена часто становится решающим фактором. С этой точки зрения разница между броненосцем и линкором не видна: пушки есть, броня есть, цена договорная. Но существует и ортогональный традиционному взгляд на ОС, разделяющий их на специализированные и общего назначения. Последние рассматривают все прикладные процессы (ПП) как внешние по отношению к ОС и берут на себя управление взаимодействием ПП с ОЗУ ЦП и другими ПП. Процесс, закрывающий слабое место в защите от НСД такой ОС,  -  как бы внешний бронированный лист, наложенный на ее корпус,  -  метафора дредноута. NetWare  -  специализированная ОС, позволяет должным образом созданным ПП стать ее неотъемлемой частью (речь идет о NLM модулях  -  NetWare Loadable Module). Если теперь NLM защищает вскрывшееся слабое место, то он  -  как бы бронированная часть конструкции корпуса  -  метафора линкора. Наша статья о защите "линкора". Степень детализации описания конструкций системы защиты выбрана из соображений ожидаемого интереса посетителей выставки Netcom’95.

АНАЛИЗ ШТАТНЫХ СРЕДСТВ ЗАЩИТЫ ИНФОРМАЦИИ ОТ НСД В NOVELL NETWARE 4.Х

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

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

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

Серийный линкор

NetWare Directory Services при аутентификации использует комбинацию процедур симметричного и асимметричного шифрования. По login-запросу Authentication Services передает Client agent тайный ключ асимметричного шифрования, содержащий пароль пользователя и специфичную для данного сеанса информацию, называемую credential ("верительная грамота"). В результате шифрования получается так называемая signature (подпись).

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

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

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

     НСД в компьютерную систему гарантированно невозможен, если:

1. На ПЭВМ с проверенным BIOS установлена проверенная операционная среда.

2. Достоверно установлена неизменность OS и BIOS для данного сеанса работы.

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

запуском контролируются на целостность.

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

5. Условия 1 - 4 выполняются в любой момент времени для всех пользователей, аутентифицированных защитным механизмом.

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

- надежный алгоритм контроля,

- контроль реальных данных.

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

Из всех возможных воздействий на сервер наибольшую угрозу представляет собой запуск собственного процесса на файл-сервере. Хотя NetWare 4.х и работает в защищенном режиме процессора, но для повышения эффективности может не использовать кольца защиты, т.е. работать в так называемой доверительной среде. Для организации колец защиты требуется загрузка дополнительных модулей. При отсутствии этих модулей NLM-процесс может монополизировать процессор на неограниченное время и осуществлять доступ ко всем ресурсам сервера. Работа NLM в доверительной среде делает возможным чтение/запись в любую область памяти сервера.

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

для рабочих станций  -  с защитой ПЭВМ от НСД и разграничением доступа к локальным ресурсам;

для среды передачи данных  -  с кодированием трафика;

для серверов ЛВС  -  с процедурами контроля целостности, усиленной аутентификации и контроля доступа к сетевым ресурсам.

ПРОГРАММНО-АППАРАТНЫЕ КОМПЛЕКСЫ "АККОРД"

Комплексы серии "Аккорд" позволяют реализовать изолированную программную среду.

В состав аппаратной части комплекса "Аккорд" входит одноплатный контроллер, вставляемый в свободный слот компьютера, контактное устройство (съемник информации), программное обеспечение на дискете и персональные идентификаторы Touch Memory DS199x. Этот выбор был определен требованиями, которым персональный идентификатор должен удовлетворять, а именно: высокая надежность, приемлемые масса и габариты, уникальность и некопируемость каждого идентификатора, умеренная цена, наличие быстродействующей памяти.

Алгоритм ступенчатого контроля для создания ИПС на примере DOS

    

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

Внедренная в систему ПЗ может влиять на процесс чтения/записи данных на уровне файлов или на уровне секторов и предъявлять системе контроля некоторые другие данные вместо реально существующих. Этот механизм неоднократно реализовывался в STEALTH-вирусах. Однако верно следующее утверждение.

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

Из данного утверждения следует способ ступенчатого контроля.

Предварительно контролируется неизменность программ в основной и расширенных BIOS, далее, используя функцию чтения в BIOS (для DOS - int 13h), читаются и контролируются программы обслуживания чтения (драйверы DOS), рассматриваемые как последовательность секторов. Далее, используя уже файловые операции, читаются необходимые для контроля исполняемые модули (командный интерпретатор, драйверы дополнительных устройств, .ЕХЕ и .СОМ-модули и т.д.).

Этот алгоритм можно обобщить на произвольную операционную среду.

Для контроля данных на i-м логическом уровне их представления для чтения требуется использование предварительно проверенных на целостность процедур (i-1)-го уровня. Самым же первым этапом является контроль целостности программ в ПЗУ.

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

ИДЕНТИФИКАЦИЯ И АУТЕНТИФИКАЦИЯ ПОЛЬЗОВАТЕЛЕЙ

Важная особенность комплексов "Аккорд"  -  способность проводить процедуры идентификации и аутентификации пользователей до загрузки операционной системы.

Это обеспечивается при помощи ПЗУ, установленного на плате контроллера "Аккорд". Это ПЗУ получает управление во время так называемой процедуры ROM-Scan.

ПРОЦЕДУРА УСИЛЕННОЙ АУТЕНТИФИКАЦИИ

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

Как преодолеть ADINF

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

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

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

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

ПОДСИСТЕМА РАЗГРАНИЧЕНИЯ ДОСТУПА К РЕСУРСАМ NETWARE 4.Х

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

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

Такая реализация выполнена в виде резидентной программы, которая перехватывает обработку функций DOS (в основном это прерывание int 21h, а также int 25/26 и int 13).

ПОДСИСТЕМА РЕГИСТРАЦИИ СОБЫТИЙ

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

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

СЕРВЕР ЗАЩИЩЕННОЙ ПЕЧАТИ

Сервер защищенной печати  -  прикладной пакет, работающий в среде NetWare, предназначен для защиты от НСД и учета печатных копий, получаемых на сетевых принтерах. Принт-сервер состоит из трех частей:

1)   собственно сервера печати  -  загружаемого NLM Spserver;

2)   защищенной сетевой очереди печати Sq;

3)   клиентской части  -  драйвера DOS Sprint, отправляющего файл печати клиента в защищенную сетевую очередь печати.

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

Авторы статьи  -  сотрудники ОКБ САПР, фирм "Инфокрипт", "Дискавери Информатика +". Телефон: (095) 220-8847.

ВАЛЕРИЙ КОНЯВСКИЙ, АНДРЕЙ МАЛЮТИН, АЛЕКСАНДР ШАКУРОВ