Константин Кузовкин, статья опубликована в журнале "Открытые
системы" #4/2001
Межсетевые экраны, системы обнаружения атак, сканеры для выявления уязвимостей узлов сети, операционных систем и СУБД, фильтры пакетов на маршрутизаторах - достаточно ли всего этого арсенала для обеспечения информационной безопасности различных критически важных систем, работающих в Internet? Практика показывает, что нет.
В отличие от корпоративных сетей, подключенных к Internet, где обычные средства безопасности решают проблемы защиты внутренних сегментов сети от злоумышленников, системы электронной коммерции и системы предоставления услуг пользователям Internet предъявляют повышенные требования в плане обеспечения информационной безопасности.
Защита внутренних информационных ресурсов
Использование Internet в коммерческой деятельности связано с немалым риском оставить без надлежащей защиты приложения и информационные ресурсы: базы данных, файлы, ПО и т.п. Атакам могут подвергаться как приложения, запускаемые Web-сервером (CGI, ISAPI и NSAPI-приложения), так и сама ОС. Опыт показывает недостаточную способность широко используемых коммерческих операционных систем UNIX и Windiows NT противостоять атакам - описания различных инцидентов, связанных со "взломом" OC и список обнаруженных уязвимостей регулярно публикуются на сайте
www.cert.org.
Как указано в докладе экспертной комиссии SANS Institute (System Administration, Networking and Security Institute,
www.sans.org), одной из десяти наиболее критичных угроз безопасности в Internet являются уязвимости CGI-программ и приложений, выполняемых Web-серверами. Там же приводятся советы и способы устранения этих уязвимостей:
- не запускать Web сервер от имени пользователя root;
- удалить все непроверенные и небезопасные CGI-скрипты;
- не размещать интерпретаторы скриптов в каталогах вместе с самими скриптами;
- тщательно проверять коды всех рабочих скриптов и писать их в соответствии с требованиями обеспечения информационной безопасности;
- удалить все неиспользуемые CGI-скрипты;
- сконфигурировать Web сервер и параметры ОС так (используя системный вызов chroot()), чтобы пользователю были бы доступны каталоги, с соответствующими правами доступа, только самого Web-сервера.
Если не соблюдать эти правила, то злоумышленник сможет, используя уязвимости ОС и Web-сервера, получить доступ к файлам на сервере, удаленно выполнять команды на сервере или воспользоваться услугами интерпретатора команд SHELL. В качестве примера, в таблице 1 приведены два простых CGI-скрипта на языке Perl, которые реализуют эти возможности.
Таблица 1. Примеры CGI-скриптов
на языке Perl
Открытие файлов на сервере: www.пример.ru/cgi-bin/file.pl?stest.doc
file.pl:
#!/usr/bin/perl
$file=$ARGV[0];
print "Content-type: text/html\n\n";
print "<table><tr><td><br>";
open (expl,"<$file")||
print "File not found\n";
while(<expl>) {
print;
print "<br>";
}
close (expl);
print "</table></td></tr><br>";
|
Выполнение команд на сервере: www.пример.ru/cgi-bin/command.pl?ls
command.pl:
#!/usr/bin/perl
$file=$ARGV[0];
print "Content-type: text/html\n\n";
print "<table><tr><td><br>";
open (expl,"$file|")||
print "File not found\n";
while(<expl>) {
print;
print "<br>";
}
close (expl);
print "</table></td></tr><br>";
|
Для противодействия потенциальным атакам, организации внедряют многоуровневые комплексные системы обеспечения информационной безопасности. Например, механизмы аутентификации и криптографические средства позволяют защитить информацию, передаваемую по сети Internet между клиентом и сервером Internet. Однако, эти средства не дают полной гарантии целостности самого серверного приложения и его окружения. Приложения электронной коммерции и аренды услуг обычно используют средства операционной системы и предоставляют доступ к внутренним информационным ресурсам организации. Компрометация такого приложения создает все условия для доступа к внутренним критическим ресурсам. Последние примеры таких компрометаций и уязвимостей приложений приведены в сообщении SANS Institute (Alert: Large Criminal Hacker Attack on Windows NTE-Banking and E-Commerce Sites, Posted: 15:00 March 8, 2001
www.sans.org/network/alerts/NTE-bank.htm). В сообщении указывается, что в результате таких действий уже похищено более миллиона номеров кредитных карточек.
Межсетевые экраны (брандмауэры) и фильтрующие маршрутизаторы, которые широко используются во многих организациях для защиты внутренних сетей от атак из Сети, не достаточно эффективны для приложений, обеспечивающих доступ к Internet-транзакциям и динамически формирующих информацию для браузера пользователя. Брандмауэры предоставляют достаточно надежную защиту для стандартных сервисов Internet: SMTP, FTP и HTTP. Однако они предназначены для контроля трафика между сегментами внутренней сети организации и узлами внешних глобальных сетей общего пользования. Брандмауэры не предназначены для запуска бизнес-приложений, предоставляющих доступ к внутренним информационным ресурсам организации. Обычно такие Internet приложения выполняются на узле, расположенном в демилитаризованной зоне брандмауэра и предоставляют доступ к внутренним информационным ресурсам через стандартный Web-интерфейс.
Увеличение риска, при применении таких систем, связано с тем, что Web-сервер должен взаимодействовать с внутренними информационными ресурсами организации (например, СУБД) для динамического формирования информации, предоставляемой браузеру клиента. Для этого администратор безопасности должен специальным образом настроить брандмауэр (открыть соответствующий порт и предоставить возможность Web-серверу из демилитаризованной зоны обращаться к другому внутреннему сегменту, где находится узел, например с требуемой СУБД). В этом случае брандмауэр только обеспечивает возможность доступа приложений, запускаемых Web- сервером к внутренним информационным ресурсам, но не защищает эти ресурсы.
Таким образом, защита внутренних информационных ресурсов, обеспечиваемая межсетевыми экранами, не является эффективной и действенной против атак, которые осуществляются от имени скомпрометированных Web-серверов и/или "взломанных" операционных систем, под управлением которых они работают (рис.1).

Рис. 1. Атаки на серверы во внутренних
сегментах сети от имени
скомпрометированного Web-сервера
Как указано в докладе "The Inevitability of Failure: The Flawed Assumption of Security in Modern Computing Environments (National Security Agency,
http://www.cs.utah.edu/~sds/inevitability.htm)", необходимость надежно защищенной операционной системы неоспорима. Если ОС под управлением которой работает Web-сервер надежно не защищена, то компрометация платформы для Web-приложений неизбежна. Ряд компаний создают на базе ОС LINUX (например,
http://www.nsa.gov/selinux/index.html) защищенные версии систем, предназначенных для использования в решениях электронной коммерции и в провайдерских центрах при реализации основных сервисов Internet. Однако, защищенная операционная система - это только один из элементов защиты внутренних информационных ресурсов.
Что же все таки должна представлять собой защищенная информационная система?
Собственный практический опыт и результаты разработок проектов автоматизированных информационных систем, отвечающих требованиям информационной безопасности, проводимых компанией "Ай-Теко" показывает, что очень часто под защищенной информационной системой понимают систему, в которую входит определенный набор аппаратно-программных средств защиты информации. На самом деле, степень защищенности информационной системы сильно зависит от конкретных задач, которые она решает и от реальной среды со всеми угрозами, в которой она функционирует. Система защиты должна строиться с учетом наиболее вероятных угроз информационной безопасности, в соответствии с разработанной политикой обеспечения информационной безопасности и должна быть многоуровневой (уровень организационных мер, сетевой уровень, уровень рабочих станций и серверов сети). При этом нельзя ограничиваться продуктами защиты, которые выпускаются только одной компанией (CISCO, Microsoft, CheckPoint, ISS, Symantec, HP), так как решение по обеспечению информационной безопасности, в этом случае, будет неизбежно ограниченным.
Последние работы и публикации в области теории информационной безопасности (Специализированный центр защиты информации Санкт-Петербургского государственного технического университета,
www.ssl.stu.neva.ru ) делают попытку ответа на вопрос: что представляет собой защищенная информационная система? Защищенная система обработки информации для определенных условий эксплуатации обеспечивает безопасность (конфиденциальность и целостность) обрабатываемой информации и поддерживает свою работоспособность в условиях воздействия на неё заданного множества угроз. Под защищенной системой обработки информации предлагается понимать систему, которая обладает следующими тремя свойствами:
- осуществляет автоматизацию некоторого процесса обработки конфиденциальной информации, включая все аспекты этого процесса связанные с обеспечением безопасности обрабатываемой информации;
- успешно противостоит угрозам безопасности, действующим в определенной среде;
- соответствует требованиям и критериям стандартов информационной безопасности.
В настоящее время существует достаточно большой спектр коммерческих решений и продуктов по созданию защищенных информационных систем (в том числе и защищенных платформ для Web-приложений), которые в той или иной степени удовлетворяют вышеперечисленным свойствам. Это, например, решения следующих компаний:
- Symantec (Symantec Enterprise Security - новая комплексная стратегия информационной защиты предприятий и Axent Webthority - продукт для безопасного доступа к Web-приложениям и Web-контенту,
www.symantec.ru, www.axent.com);
- Hewlett-Packard (Praesidium VirtualVault - защищенная платформа для Web-приложений,
www.hp.com/security/);
- Cobalt Networks (защищенные серверы для реализации сервисов Internet,
www.cobalt.com);
- Открытые технологии (ИРБИС - интегрированное решение по безопасности информационных систем,
www.ot.ru);
- Microsoft (решения на базе Windows 2000 Advanced Server и Datacenter Server,
www.microsoft.com/security/);
- IBM (Комплексное решение по защите информационной среды предприятия,
www.ibm.com).
Анализ угроз информационной безопасности, практический опыт реализации проектов защищенных информационных систем показывает, что для обеспечения информационной безопасности систем, предоставляющих различные услуги пользователям Internet и обеспечивающих доступ к внутренним информационным ресурсам (например, системы электронной коммерции), необходимо обратить внимание на следующие факторы. В таких системах нужно использовать надежно защищенные и соответствующим образом сконфигурированные компоненты ОС, Web-сервера, программы расширения возможностей Web-сервера (CGI-скрипты, приложения ISAPI и NSAPI, апплеты и приложения JAVA) и внутренних СУБД, схем аутентификации и шифрования передаваемой информации. Также необходимо добавить в такие системы дополнительный компонент - сервер приложений, который представлял бы из себя шлюз (Trusted Gateway Proxy) между Web-сервером и внутренними информационными ресурсами организации.
На наш взгляд, в настоящее время, наиболее полно удовлетворяет вышеперечисленным требованиям продукт VirtualVault компании Hewlett-Packard.
VirtualVault
Продукт VirtualVault компании Hewlett-Packard представляет собой специально разработанную защищенную платформу (программно-аппаратное решение) для Internet-приложений, предоставляющих доступ к внутренним информационным ресурсам предприятия. Защищенное ядро операционной системы VirtualVault предоставляет таким приложениям среду выполнения, уровень защиты которой значительно выше, чем у стандартных клонов ОС UNIX и Windows NT/2000. Версия 4.0 продукта VirtualVault базируется на ОС HP-UX 11.0 и работает на серверах HP9000 классов A, R, L и N.
Продукт VirtualVault включает в себя:
- Коммерческую версию защищенной ОС HP-UX (Trusted Operating System), удовлетворяющую классу безопасности B1 ("Оранжевая книга").
- Интегрированный с ОС Web-сервер - Netscape Enterprise Server (NES).
- Разделенную среду выполнения приложений с высоким уровнем защиты, которая включает в себя доверительное промежуточное программное обеспечение для CGI-скриптов, апплетов и приложений JAVA, для клиент-серверного взаимодействия по технологии CORBA.
- Модуль SafePassage Snap-in для организации безопасных соединений по протоколу HTTP через VirtualVault c такими продуктами, как MS IIS, MS Exchange Server, MS Site Server, Solaris Web Server.
Основные возможности и преимущества продукта VirtualVault приведены в таблице 2.
Таблица 2.
Преимущества VirtualVault
| Возможности |
Преимущества |
| Защищенная операционная система |
- Отсутствие пользователя "root" с абсолютными полномочиями.
- Выполнение приложений с минимально необходимыми полномочиями.
- Реализация мандатного (нормативного) механизма управления доступом к объектам системы.
- Блокировка захвата привилегий и внедрения вредоносного кода.
- Системы аудита и мониторинга событий безопасности.
|
| Разделенная среда выполнения приложений с высоким уровнем защиты |
- Защита и контроль целостности всех объектов файловой системы.
- Разделение приложений и объектов файловой системы на соответствующие сегменты (блоки) - внутренние, внешние и системные.
- Строгий контроль всех соединений через границы разделов.
- Доверительное промежуточное программное обеспечение для CGI-скриптов, апплетов и приложений JAVA, для клиент-серверного взаимодействия по технологии
CORBA.
- Защита от несанкционированного изменения Web-контента.
|
| Встроенный (интегрированный) в OC Web-сервер |
- Возможность использования в качестве Web-сервера Netscape Enterprise Server, C2Net
Apache.
- Использование минимальных привилегий ОС.
- Строгий контроль доступа к Web-приложениям.
- Поддержка схем аутентификации и шифрования с 128-битным ключом.
|
На рис. 2 приведен пример прохождения Internet-транзакций в системе VirtualVault. Для всех типов таких транзакций (CGI-скрипты, апплеты и сервлеты Java, клиент-серверные взаимодействия по технологии CORBA) существуют соответствующие агенты-посредники (Trusted Gateway Agent, Trusted Gateway Proxy, Cross-boundary
IPC).

Рис. 2. Пример прохождения Internet-транзакций
в системе VirtualVault
1. Браузер посылает HTTP запрос
2. Web-сервер вызывает CGI-скрипт или Java-приложение
3. Агент-посредник (gateway) осуществляет
проверку CGI-скрипта или Java-приложения
4. Агент запускает проверенный («реальный»)
CGI-скрипт или Java-приложение, которые
непосредственно получают доступ ко
внутренним информационным ресурсам
5. CGI-скрипт или Java-приложение формируют
ответ браузеру в виде страниц HTML
Например, в обычном случае, когда браузер запрашивает выполнение соответствующего CGI-скрипта, то Web-сервер его выполняет и посылает сформированные данные браузеру. В случае VirtualVault, Web-сервер и CGI-программы функционируют в разных сегментах (блоках) системы и не могут напрямую взаимодействовать друг с другом. Web-сервер работает во внешнем сегменте и не может непосредственно выполнять внутреннюю CGI-программу. Такое разделение является одним из важных преимуществ по обеспечению информационной безопасности в системе VirtualVault по сравнению с другими вышеперечисленными коммерческими платформами для Web-приложений и свободно распространяемым ПО на базе ОС Linux и FreeBSD с Web-сервером
Apache.
Программный агент-посредник, который обеспечивает механизм взаимодействия между Web-сервером и программами CGI называется в системе VirtualVault TGA - Trusted Gateway Agent и состоит из двух программных компонентов - клиента (tga) и сервера (tgad), работающих, соответственно, во внешнем и внутреннем сегменте системы. Когда Web-сервер во внешнем сегменте получает запрос на выполнение соответствующего CGI-скрипта, то он запускает клиента tga, который устанавливает соединение с сервером tgad. Сервер tgad, работающий во внутреннем сегменте, выполняет соответствующую проверенную и зарегистрированную программу CGI и устанавливает необходимые переменные окружения. Клиент tga передает информацию от браузера серверу tgad. При этом Web-сервер во внешнем сегменте системы полагает, что непосредственно взаимодействует с CGI-программой.
На сегодняшний день, по сравнению с продуктами конкурентов, VirtualVault обеспечивает более высокий уровень информационной безопасности, так как использует защищенную ОС с разделенной средой выполнения приложений и с промежуточным ПО для доступа к внутренним информационным ресурсам. Недостатки продукта - сложность установки, настройки и сопровождения.
Об авторе: Константин Кузовкин (Kuzovkin@i-teco.ru)
— ведущий эксперт компании «Ай-Теко» (Москва).
См. также