InfoCity
InfoCity - виртуальный город компьютерной документации
Реклама на сайте







Размещение сквозной ссылки

 

Защита информации в архитектурах клиент/сервер


www.hackerz.ru


Открытые системы клиент/сервер подкупают администраторов ИС исключительно простым доступом к корпоративной информации, но обескураживают сложностью решения задач защиты данных в связи с разнородностью вычислительных компонентов - аппаратных платформ, операционных систем, СУБД и прикладного ПО. Проблема не только в том, чтобы добиться согласованной работы средств защиты различных звеньев, но и упростить жизнь рядовых пользователей, дабы не заставлять их в поисках нужных данных продираться через множество заградительных кордонов и отвечать на однотипные вопросы: "Стой, кто идет?" Несколько лет назад заявление "я работаю в открытой среде" воспринималось сотрудниками информационных служб как очередной компьютерный миф, придуманный журналистами, - слишком красиво, чтобы быть правдой. Однако по мере становления новейшей технологии все большее количество компаний воспринимали прогрессивные идеи и начинали создавать и эксплуатировать системы в архитектуре клиент/сервер.

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

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

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

Означает ли это, что обеспечить достойный уровень безопасности систем в архитектуре клиент/сервер проще, если двигаться к ней "сверху"? Практика показывает, что нет. Когда закрытая хост-система интегрируется с локальными сетями и серверами баз данных, ее пользователи страдают не столько от недостатка средств защиты, сколько от их избытка и несовместимости. В дополнение к собственным средствам защиты для мэйнфреймов появляются системы защиты мониторов транзакций, локальных сетей и серверов БД. Созданные разными производителями, как правило, они не приспособлены для кооперативной работы. Например, ПО RACF для мэйнфреймов требует смены пароля с периодичностью в 30 дней, а сетевая ОС - ежеквартально. Чтобы получить доступ к нужной информации, пользователь должен преодолеть ряд "оборонительных эшелонов", сообщив несколько паролей. Таким образом, возникает необходимость синхронизировать работу средств безопасности всех платформ. При этом возникает фрагментация ответственности, когда для ухода за каждой платформой назначается отдельный администратор, отвечающий за свой участок безопасности, а система в целом остается бесхозной. В таких условиях был бы весьма эффективен готовый продукт, выполняющий функции "зонтика безопасности" над всей компьютерной системой. К сожалению, подобного продукта на рынке пока нет.

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

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

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

Концепции безопасности в распределенных системах


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

Бывает, что данные из одной таблицы хранятся на разных физических устройствах, т. е. информация фрагментирована. Здесь возможны два варианта (рис. 1): информация хранится по строкам (горизонтальная фрагментация) или по столбцам (вертикальная фрагментация). В частности, в СУБД Oracle принципы географической прозрачности и фрагментарной независимости реализуются через механизм связей (links) и синонимов (synonyms). Посредством связей программируется маршрут доступа к данным: указываются реквизиты пользователя (регистрационное имя и пароль), тип сетевого протокола (например, TCP/IP) и имя БД. К сожалению, все эти параметры приходится описывать в тексте сценариев (scripts). Чтобы засекретить указанную информацию, пароли можно хранить в словаре данных в зашифрованном виде.

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

Она защищает вас с утра до вечера...


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

Задача системного администратора заключается не только в том, чтобы "гнать и не пущать". В частности, система защиты должна предоставлять разные уровни доступа к данным: от самого простого (и распространенного), когда всем уполномоченным пользователям предоставляется возможность чтения всех таблиц БД с неконфиденциальной информацией, до наиболее сложного, при котором доступ к данным организован на уровне отдельных строк или столбцов таблиц. Между двух полюсов лежат промежуточные уровни: выборочное чтение и выборочная модификация. В первом случае пользователи могут только просматривать, а во втором - просматривать и редактировать записи из ограниченного списка таблиц, который заранее определяется администратором системы.

Какие же средства обеспечения безопасности есть в арсенале администратора системы клиент/сервер? Во-первых, это разнообразные коммерческие продукты третьих фирм (см. врезку "Они не пройдут!"). Во-вторых, встроенные возможности СУБД, которые администратор может и должен использовать в целях защиты информации. Хакер не сможет работать с данными, если даже сумеет обойти само приложение вместе с его средствами защиты. Ценность внутренних средств защиты в том, что контроль доступа происходит постоянно, а не только в момент загрузки приложения. На рис. 2 показана архитектура приложения клиент/сервер, где контроль доступа к базе данных и ее таблицам полностью реализован на сервере. Клиентское приложение просто считывает пароль пользователя и отсылает его на сервер. Далее СУБД по своим внутренним таблицам пользователей проверяет, имеет ли право данный пользователь работать с БД. В случае положительного ответа формируется соединение с рабочей станцией, в противном случае выдается предупреждающее сообщение типа "Недопустимый пользователь ..." и связь с сервером не устанавливается.

Когда приложение адресует серверу запрос на чтение (обновление, вставку или удаление) данных либо на выполнение хранимой процедуры, СУБД проверяет (опять же по своим внутренним таблицам), разрешены ли пользователю эти операции. В популярных базах данных Sybase и Microsoft SQL Server характер доступа регулируется операторами GRANT и REVOKE, предоставляющими и соответственно отнимающими права чтения, модификации, вставки и удаления записей из таблицы (select, update, insert и delete в английском варианте), а также вызова хранимых процедур (execute).

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

Реализация средств защиты на уровне приложений


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

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

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

Если с помощью встроенных средств администрирования СУБД контроль доступа на уровне отдельных записей или полей таблиц обеспечить не удается, то это можно сделать на уровне административной утилиты, настроив фильтры типа пользователь/табличный параметр, которые будут накладываться на таблицы во время их индикации в основном приложении. Открытая архитектура систем клиент/сервер предполагает, что пользователи имеют возможность делать с БД все, что угодно, т. е. не только читать данные, но и модифицировать ее структуру, дописывая новые таблицы, хранимые процедуры и пр. Вопрос в том, может ли разработчик приложения позволить такую роскошь? Если пользователь вольно или невольно изменит базу данных, после чего система перестанет работать, кто будет восстанавливать ее работоспособность?

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

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

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

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

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

Реализация централизованных систем защиты


Пользователи распределенных систем на пути к нужным данным должны пройти через несколько пунктов контроля и ввести соответственно несколько различных паролей. Чтобы легче удерживать пароли в памяти, они изобретают всевозможные мнемонические правила и схемы (например, первый пароль - "Январь", второй - "Февраль", третий - "Март") либо записывают пароли на листке бумаги, тем самым облегчая себе жизнь, но одновременно упрощая и взлом системы.

Для решения проблемы "многочисленных паролей" создавались специализированные программы администрирования безопасности. В частности, программа RACF для мэйнфреймов запрашивает всего один пароль и, если он введен правильно, открывает доступ не только к операционной системе (MVS), но и, например, к CICS- монитору и базе данных Oracle.

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

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

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

Программно-аппаратные комплексы защиты


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

Как правило, пароли действуют в течение некоторого времени и в этом смысле являются своего рода объектами многоразового использования. Свои реквизиты пользователь обычно вводит один раз в момент регистрации в системе. Для профессионального хакера определить чужой ID и пароль - не самое сложное. Задача взломщиков заметно усложнилась бы (или вообще оказалась им не по зубам), если бы пароль (код доступа) менялся динамически и никогда не повторялся. Именно по этому пути пошла компания Security Dynamics (Кембридж, шт. Массачусетс), разработавшая технологию защиты компьютерных сетей с использованием интеллектуальных карт (SecurID) и сервера защиты (ACE/Server) для платформы Unix. Суть этой технологии заключается в том, что каждый пользователь системы знает только свой персональный идентифицирующий код (PIN) и получает устройство, напоминающее пластиковую магнитную карточку с небольшим жидкокристаллическим дисплеем, на котором ежеминутно появляется неповторяющийся цифровой код. Карта программируется индивидуально для каждого пользователя. Генерируемый ею код используется в целях аутентификации пользователя в компьютерной системе. На практике для получения доступа к защищаемым ресурсам пользователь вводит PIN- код, а затем пароль (код доступа), который в этот момент высвечивается на дисплее карты. Никаких дополнительных устройств для считывания информации с карты не требуется.

Специальная технология, реализованная в программных и аппаратных модулях (Access Control Module, ACM) сервера защиты, позволяет синхронизировать коды доступа на сервере и карте для каждого пользователя системы. Аутентификация происходит в тот момент, когда ACM опознает сочетание персонального кода и кода доступа карты.

Аппаратные модули контроля доступа могут подсоединяться к любым компонентам сети: хост-машинам, клиентским станциям, обычным и коммуникационным серверам. Для подключения этих устройств применяются обычные последовательные порты, а связь с компьютером осуществляется по интерфейсу RS-232. Компания выпускает несколько модификаций устройств контроля в зависимости от числа обслуживаемых пользователей (от 100 до 6400) и уровня предоставляемого сервиса.

На рис. 6 показана схема организации системы защиты сети масштаба предприятия на базе ACE/Server компании Security Dynamics, которая обеспечивает:

        гарантированную защиту ресурсов компьютерной системы от доступа 
        несанкционированных пользователей;
        поддержку большого числа пользователей;
        простое администрирование системы защиты;
        ведение аудиторских журналов и подготовку отчетов;
        возможность интеграции с другими корпоративными приложениями: ACE/Server 
        поддерживает язык структурированных запросов (SQL), имеет собственный 
        интерфейсный язык (4GL) и предлагает пользователям интерфейс прикладного 
        программирования для решения задач проверки полномочий;
        совместимость с продуктами множества независимых фирм (IBM, Oracle, 
        Cisco Systems, Shiva, Mergent, 3Com и др.), относящихся к сфере 
        удаленного доступа, защиты в Internet, сетевых приложений; - регулярное 
        выполнение процедуры резервного копирования служебной базы данных.

ACE/Server работает на аппаратных платформах под управлением SunOS/Solaris компании Sun Microsystems, AIX корпорации IBM и HP-UX от Hewlett-Packard. В качестве клиентов могут выступать компьютеры под SunOS/Solaris, AIX, HP-UX, NT/RAS, NetWare и др.

В зависимости от конфигурации защищаемой системы ACE/Server стоит от 2450 дол., а защитная карта (SecurID) - 34 дол.

Как реорганизовать корпоративную систему безопасности


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

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

2. Прорисуйте все возможные пути доступа пользователей к данным, например "x6" - от терминала к мэйнфрейму, "x7" - от удаленного пользователя к коммуникационному серверу, "x1" - от рабочей станции к серверу БД и т. д. Полученная схема проецирует физические связи на логические маршруты доступа к данным. Ее анализ позволит ответить на вопросы типа "Сможет ли пользователь терминала получить доступ к любым данным системы?".

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

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

Велик ли запас прочности?


Предположим, что компания всегда серьезно относилась к проблеме безопасности и защитила свою вычислительную среду всеми доступными средствами. Возникает закономерный вопрос: насколько эффективны принятые меры и может ли такая организация чувствовать себя в полной безопасности? Сотрудники Министерства обороны США также задались этим вопросом и решили проверить свою систему защиты (самую надежную в мире!) на прочность. Работу по взлому выполняли инженеры управления Defense Information System Agency (DISA). Им удалось вскрыть 7860 компьютерных систем (серверов и мэйнфреймов) из 8932 машин, составляющих компьютерный парк министерства. Характерно, что сам факт несанкционированного доступа удалось зафиксировать лишь в 390 случаях.

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

Сложная топология сетевой среды характерна не только для структур Министерства обороны США. Даже в небольших корпорациях могут насчитываться десятки серверов и рабочих станций. Понятно, что в таких условиях серьезный анализ и регулярное тестирование средств защиты вручную практически невозможны. Для этого создаются программы, которые автоматически сканируют все компоненты сети с целью обнаружения "дыр" в системе защиты. Наиболее известный продукт данной категории - SATAN (Security Analysis Tool for Auditing Networks), разработанный двумя программистами-энтузиастами Даном Фармером (Dan Farmer) и Уитцем Венемой (Wietse Venema). Авторы ставили перед собой благородную цель - снабдить администраторов компьютерных сетей инструментом для обнаружения лазеек в Unix- системах, объединенных в сети с протоколом IP. Однако программу оценили не только администраторы, но и многочисленные хакеры, применяющие новый инструмент для более квалифицированного анализа и последующего взлома чужих систем. Появление ПО SATAN вызвало живейшую дискуссию по поводу современных средств защиты. Говорят, что в этом и состояла главная цель ее создателей.

В простейшем режиме работы SATAN пытается собрать как можно больше информации о состоянии удаленных сетевых узлов. Для этого он анализирует присутствие на хост-машинах таких сетевых сервисов как NFS, NIS, ftp, tftp, rexd, и фиксирует их конфигурационные параметры. Как известно, большинство уязвимых мест в системе защиты образуется по причине ее неправильной настройки, поэтому, сравнивая текущие установки с правильными, SATAN может дать конкретные рекомендации по исправлению ситуации. Тем не менее одно дело, когда с помощью SATAN вы анализируете сети своей корпорации, и совсем другое, когда подобные исследования проводит кто-то со стороны. "Боязнь Сатаны" стимулировала появление целого ряда программ категории anti-SATAN. Все они исходят из того, что во время сканирования SATAN оставляет "отпечатки пальцев", которые можно обнаружить в процессе контроля сетевого трафика.

Наиболее известные приложения этого класса - свободно распространяемые Gabriel фирмы Los Altos Technology; NATAS, созданная Робертом Эвансом; Courtney, разработанная в Ливерморской национальной лаборатории им. Лоуренса, и коммерческая программа Stalker компании Haystack Labs. Так ли страшен SATAN, как его малюют? Ведь он выявляет только те слабые места, которые хорошо известны опытным администраторам. Стоит ли вообще включать SATAN-детекторы в набор средств защиты корпоративной среды? Отвечая на последний вопрос, одни полагают, что при наличии надежных средств защиты от проникновения извне нет смысла пытаться обнаружить попытки их обойти. Другие предпочитают фиксировать все, пусть даже не осуществившиеся планы проникновения, стремясь снова и снова проверять на практике надежность средств защиты.

Аудит и резервное копирование


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

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

Для ограничения прав доступа пользователей к БД в обход приложения разработчики программ часто запрещают непосредственную модификацию ее основных таблиц при помощи операторов insert, update и delete. Вместо этого используются соответствующие хранимые процедуры (например, proc_insert, proc_update и proc_delete), которые вызываются из приложения. В нормальной ситуации пользователи приложения должны иметь права только на чтение данных и вызов соответствующих интерфейсных процедур. Прямое отношение к теме безопасности имеет стратегия создания резервных копий и восстановления баз данных. Проблема в том, что обычно эти операции выполняются в нерабочее время в пакетном режиме. В большинстве СУБД резервное копирование и восстановление данных разрешаются только пользователям с широкими полномочиями (права доступа на уровне системного администратора либо владельца БД), а указывать столь ответственные пароли непосредственно в файлах пакетной обработки крайне нежелательно. Чтобы не хранить пароль в явном виде, рекомендуется написать простенькую прикладную программу, которая сама бы вызывала утилиты копирования/восстановления. В этом случае системный пароль должен быть "зашит" в код указанного приложения. К сожалению, эту программу придется перекомпилировать всякий раз при смене пароля. Еще один метод заключается в том, что в системе защиты описывается специальный пользователь с широкими полномочиями, после чего права на чтение и модификацию данных у него отнимаются. В результате такой пользователь только и может, что выполнять операции резервного копирования и восстановления данных. Если кто-то узнает его пароль, особого вреда от этого не будет.

Выводы


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

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

RACF - распространенный инструмент защиты данных для мэйнфреймов На протяжении всего срока существования больших машин корпорация IBM уделяла огромное внимание защите информации в своих системах, и ее основным продуктом в этой области стала система Resource Access Control Facility (RACF), которая шлифовалась в течение 25 лет. Указанное ПО предназначено для обслуживания семейства компьютеров IBM, работающих под управлением ОС MVS. Приведем некоторые функции этого продукта:

 
        идентификация, аутентификация и авторизация пользователей. Каждому 
        пользователю компьютерной системы присваиваются уникальный идентификатор 
        (ID) и пароль, по которым RACF определяет, входит ли данный пользователь 
        в список пользователей системы и может ли он работать в ней. Этот 
        процесс называется аутентификацией пользователя. Когда последний 
        запрашивает доступ к конкретным ресурсам или объектам, RACF распознает 
        пользовательский ID (идентифицирует пользователя) и, если этот 
        пользователь обладает соответствующими правами, открывает доступ к 
        требуемым ресурсам. При этом администратор системы может управлять 
        уровнями и средствами доступа к объектам, которые включают в себя 
        команды, наборы данных, дисковые устройства, терминалы, накопители на 
        магнитных лентах, т. е. "авторизировать" пользователей. В процессе 
        работы пользователя специальные программы - менеджеры ресурсов - 
        фиксируют все обращения пользователей к информационным ресурсам;
        групповые пароли. Часто группа пользователей, например из одного 
        подразделения, постоянно работает с общими данными. В этом случае можно 
        не назначать индивидуальные идентификаторы и пароли каждому пользователю 
        группы, а "выписать" групповой пропуск (Passticket);
        администрирование. Администратор системы может контролировать и 
        анализировать работу RACF как из центрального пункта, так и с любого 
        терминала. Предусмотрены два режима: командный (на языке TSO) и 
        интерактивный (посредством утилиты ISPF). Одна команда оператора может 
        автоматически направляться всем базам данных. Например, выполнение 
        команды Update для таблиц распределенных БД может быть синхронизировано;
        аудит. RACF поддерживает гибкие и мощные средства ведения журналов, 
        позволяющие впоследствии легко аудировать работу пользователей в системе 
        (длительность работы, доступ к информационным ресурсам и т. д.). 
        Системные журналы можно просматривать динамически (утилита SMF), 
        выгружать в виде файлов или распечатывать с помощью специального 
        генератора отчетов;
        синхронизация паролей. С помощью RACF пользователи могут синхронно 
        менять свои пароли, например, на различных серверах баз данных. Кроме 
        того, можно синхронизировать смену паролей нескольких пользователей на 
        одной и той же системе.
 

Они не пройдут!


Некоторые программные средства компьютерной защиты для среды клиент/сервер AutoSecure

Platinum Technology (Окбрук, шт. Иллинойс)

Программное обеспечение AutoSecure (первоначально известное под именем SeOS компании Memco Software) представляет собой набор средств защиты вычислительных систем с серверами под ОС Unix, HP-UX, AIX и SunOS/Solaris и клиентскими станциями с интерфейсом Motif.

В состав программы входят три независимых модуля: AutoSecure Access Control - контролирует доступ пользователей к защищаемым программам и файлам, а в случае попыток несанкционированного доступа извещает о них администратора системы; AutoSecure Security Administrator - служит для ведения списков пользователей, групп пользователей, защищаемых ресурсов, настройки прав доступа пользователей к ресурсам; AutoSecure Single Sign On - открывает пользователям доступ к данным, хранящимся на мэйнфреймах. В этом случае администратор и пользователи получают такой же уровень безопасности и комфортности, как и на больших машинах, где используются системы RACF корпорации IBM или ACF2 от Computer Associates. Ниже приведены основные особенности продукта фирмы Platinum:

        защита корпоративных данных от несанкционированного доступа за счет 
        идентификации пользователей и проверки их полномочий;
        предотвращение случаев нарушения системы защиты и уведомление системного 
        администратора при обнаружении попыток "взлома" и подозрительного 
        поведения пользователей (вроде попыток подбора пароля, запуска 
        приложений из закрытых каталогов и пр.);
        фиксация пользовательской активности в системных журналах;
        возможность администрирования системы защиты с локальных или удаленных 
        компьютеров;
        масштабируемость системы в зависимости от размера компьютерной сети;
        минимизация сетевого трафика без снижения общей производительности за 
        счет обработки авторизованного запроса на том компьютере, откуда он 
        поступил;
        возможность адаптации к промышленным стандартам за счет поддержки 
        технологии защиты, принятой в распределенной вычислительной среде DCE;
        возможность ограничения прав суперпользователя (пользователь Unix с 
        максимальными правами доступа).
Стоимость пакета AutoSecure составляет 1000 дол. на один сервер и по 150 дол. на каждую рабочую станцию.

Guardian DataLynx (Сан-Диего, шт. Калифорния)

Guardian за короткий срок стал стандартом де-факто для систем учета и контроля доступа в среде Unix. Программа поддерживает около 20 версий этой ОС и имеет общий для всех платформ графический интерфейс Motif. С помощью ПО Guardian администратор системы может назначить временные рамки, в пределах которых пользователи могут регистрироваться в системе. Как только время работы истекает, Guardian вынуждает пользователя закончить работу. Большое внимание система уделяет дисциплине ведения паролей. Так, программа регулярно напоминает пользователям о необходимости смены паролей, заставляет всех или некоторых пользователей изменять пароли при очередной регистрации, ведет учет ранее вводимых паролей, автоматически генерирует миллионы паролей с форматным контролем (FIPS-181). Когда пользователь превышает число допустимых попыток ввода паролей, Guardian блокирует его вход в систему. Предусмотрено постоянное ведение журналов, в которых фиксируется история работы пользователей. Программа функционирует на компьютерах HP, IBM и Sun Microsystems. OmniGuard

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

OmniGuard реализован в архитектуре клиент/сервер, поддерживает несколько платформ и конструктивно состоит из трех частей: презентационной части, управляющего сервера и интеллектуального агента. По желанию интерфейс пользователя может быть настроен под X/Motif или Windows. Управляющий сервер работает на платформах NetWare, OpenVMS и различных вариантах Unix. Стоимость продукта - 1995 дол.

DBA-Xpert for Oracle Compuware (Фармингтон-Хиллс, шт. Миннесота)

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

Состоит из трех компонентов: Secure-Xpert (централизованное управление системой безопасности для распределенных данных), Change-Xpert (функции синхронизации) и Reorg-Xpert (операции по загрузке/выгрузке данных). SQL Secure 3.1

BrainTree Technology (Норвелл, шт. Массачусетс)

Приложение класса клиент/сервер для администрирования средств защиты информации в базах данных Oracle. Программа фиксирует попытки внедрения в систему извне, синхронизирует пароли пользователей в нескольких БД, позволяет гибко настроить процесс внутреннего аудита, регламентирует доступ пользователей к таблицам базы данных на уровне строк. Благодаря компоненту Password Manager пользователь может работать с несколькими базами данных на разных аппаратных платформах, используя единый пароль. Кроме того, возможна настройка механизма управления паролями пользователей в соответствии с принятыми в конкретной организации стандартами: предусмотрено задание минимальной длины пароля и срока его действия, допустимого числа попыток подбора пароля при регистрации в базе данных.

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

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

Secure Network Services Oracle (Редвуд-Шорс, шт. Калифорния)

Набор сервисных средств, предназначенный для работы с продуктом SQL*Net корпорации Oracle и поддерживающий стандарт шифрования информации R4 компании RSA Data Security. В зависимости от типа аппаратной платформы (DEC, Hewlett-Packard, Silicon Graphics и др.) стоимость продукта варьируется от 200 до 6000 дол.

Откуда исходит угроза...


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

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

Доминик Раймер (Dominique Rymer), медсестра одного из лондонских госпиталей, чуть не отправила на тот свет своего пациента. Для этого ей пригодилось знание пароля лечащего врача и умение корректировать рецепты. Сегодня никто не хранит ценную информацию (финансовые документы, деловую переписку, информацию о клиентах) в виде обычных файлов, которые легко удалять или копировать. Секреты удобно помещать в базы данных, доступ к которым гораздо сложнее, чем к обычным файлам, однако как показывает практика, злоумышленники успешно используют возможности СУБД в своих личных целях. Так, инженеры компании Nothern Telecom незаметно модифицировали корпоративную БД, чтобы контролировать реализацию телефонного оборудования своей компанией. Накопленную таким образом информацию они пытались сбыть одной из конкурирующих фирм за очень приличный гонорар.

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

... и почему молчит колокол?


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

Готовые программы защиты данных не пользуются повышенным спросом - полная аналогия с продажей медицинских страховых полисов: как убедить человека купить полис, если он ни разу в жизни не болел. Настоящий же интерес компаний к средствам защиты проявляется после того, как они становятся жертвами хакеров. По сведениям журнала "Open Computing" и американской National Computer Security Association (NCSA), полученным в результате опроса, потерпевшие компании в два раза чаще начинают использовать шифрование данных и цифровую подпись.

Бытует мнение, что, пока фирма сохраняет информационную закрытость, ее данные находятся в безопасности, но с подключением к Internet или появлением удаленных пользователей степень риска значительно возрастает. Это верно, но многие компании не осознают, что основная угроза исходит не от внешнего, а внутреннего врага. По данным упомянутого опроса, от 70 до 85% компьютерных взломщиков - это сегодняшние или бывшие сотрудники фирм. Из 390 респондентов, большую часть которых составили руководители отделов ИС и системные администраторы, 77% думают, что они более или менее застрахованы от внешнего проникновения в корпоративные БД, и только 48% когда-либо принимали меры для защиты от внутреннего несанкционированного вмешательства.

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


Реклама на InfoCity

Яндекс цитирования



Финансы: форекс для тебя








1999-2009 © InfoCity.kiev.ua