Информационная система. Взгляд изнутри
Для любой компании (финансовой, страховой, торговой и т.п.) существует своя типовая информационная система (ИС), состоящая из компонент, решающих свои специфичные задачи, но в общем случае ИС включает в себя 4 уровня (рис.1.):
1. Уровень прикладного программного обеспечения (ПО), отвечающий за взаимодействие с пользователем. Примером элементов ИС, работающих на этом уровне, можно назвать текстовый редактор WinWord, редактор электронных таблиц Excel, почтовая программа Outlook, системы MS Query и т.д.
2. Уровень системы управления базами данных (СУБД), отвечающий за хранение и обработку данных информационной системы. Примером элементов ИС, работающих на этом уровне, можно назвать СУБД Oracle, MS SQL Server, Sybase и даже MS Access.
3. Уровень операционной системы (ОС), отвечающий за обслуживание СУБД и прикладного программного обеспечения. Примером элементов ИС, работающих на этом уровне, можно назвать ОС Microsoft Windows NT, Sun Solaris, Novell Netware.
4. Уровень сети, отвечающий за взаимодействие узлов информационной системы. Примером элементов ИС, работающих на этом уровне, можно назвать стеки протоколов TCP/IP, IPS/SPX и SMB/NetBIOS.
У злоумышленников имеется широчайший спектр возможностей по нарушению политики безопасности, которые могут быть осуществлены на всех четырех вышеназванных уровнях ИС [5]. Например, для получения несанкционированного доступа к финансовой информации в СУБД MS SQL Server злоумышленники могут попытаться реализовать одну из следующих возможностей:
1. Прочитать записи БД при помощи SQL-запросов через программу MS Query, которая позволяет получать доступ к записям СУБД (уровень прикладного ПО).
2. Прочитать нужные данные средствами самой СУБД (уровень СУБД).
3. Прочитать файлы базы данных, обращаясь непосредственно к файловой системе (уровень ОС).
4. Перехватить передаваемые по сети данные (уровень сети).
Рис.1. Уровни информационной системы
Анатомия атаки
Рассмотрим этапы осуществления атаки (рис.2.). Первый, подготовительный, этап заключается в поиске предпосылок для осуществления той или иной атаки. На этом этапе ищутся уязвимости, использование которых приводит к реализации атаки, т.е. ко второму этапу. На третьем этапе завершается атака, "заметаются" следы и т.д. При этом первый и третий этапы сами по себе могут являться атаками. Например, поиск нарушителем уязвимостей при помощи сканеров безопасности, например, nmap или SATAN считается атакой.
Рис.2. Этапы осуществления атаки
Существующие механизмы защиты, реализованные в межсетевых экранах (firewall), серверах аутентификации, системах разграничения доступа и т.д. работают только на втором этапе. Т.е. по существу они являются средствами блокирующими, а не упреждающими атаки. В абсолютном большинстве случаев они защищают от атак, которые уже находятся в процессе осуществления. И даже если они смогли предотвратить ту или иную атаку, то намного более эффективным было бы упреждение атак, т.е. устранение самих предпосылок реализации вторжений. Комплексная система обеспечения информационной безопасности должна работать на всех трех этапах осуществления атаки. И обеспечение адекватной защиты на третьем, завершающем, этапе не менее важно, чем на первых двух. Ведь только в этом случае можно реально оценить ущерб от "успешной" атаки, а также разработать меры по устранению дальнейших попыток реализовать аналогичную атаку.
Однако даже если вы наряду с традиционными механизмами защиты используете средства поиска уязвимостей, которые своевременно обнаруживают и рекомендуют меры по устранению "слабых мест" в системе защиты, то это еще не доказывает вашей защищенности. Существуют ряд факторов, которые необходимо учитывать при использовании межсетевых экранов, систем аутентификации, систем разграничения доступа и т.д. Эти факторы характеризуют не слабости этих технологий, а особенности их архитектуры. Большинство компьютерных защитных систем построено на классических моделях разграничения доступа, разработанных в 70-х, 80-х годах в военных ведомствах. Согласно этим моделям субъекту (пользователю, программе, процессу или сетевому пакету) разрешается или запрещается доступ к какому-либо объекту (например, файлу или узлу сети) при предъявлении некоторого уникального, присущего только этому субъекту, элемента. В 80% случаев этим элементом является пароль. В других случаях таким уникальным элементом является таблетка Touch Memory, Smart или Proximity Card, биометрические характеристики пользователя и т.д. Для сетевого пакета таким элементом являются адреса или флаги, находящиеся в заголовке пакета, а также некоторые другие параметры.
Можно заметить, что самым слабым звеном этой схемы является уникальный элемент. Если нарушитель каким-либо образом получил этот самый элемент и предъявил системе защиты, то она воспринимает его, как "своего" и разрешает действовать в рамках того субъекта, секретным элементом которого несанкционированно воспользовались. При современных темпах развития технологий получить доступ к такому секретному элементу не составляет большого труда. Его можно "подслушать" при передаче по сети при помощи анализаторов протоколов (sniffer). Его можно подобрать при помощи специальных программ, например, при помощи L0phtCrack или Crack. И так далее. А дальше даже самый мощный и надежный межсетевой экран не защитит от проникновения в корпоративную сеть нарушителя. Мало того, межсетевой экран даже не зафиксирует нарушения, так как для него нарушитель, укравший пароль, является авторизованным пользователем.
Другой не менее распространенный пример. В каждой организации есть пользователи, обладающие практически неограниченными правами в сети. Это сетевые администраторы. Они никому неподконтрольны и могут делать в сети практически все, что угодно. Как правило, они используют свои неограниченные права для выполнения своих функциональных обязанностей. Но представьте на минуту, что администратор чем-то обижен. Будь-то низкой зарплатой, недооценкой его возможностей, местью и т.п. Известны случаи, когда такие обиженные администраторы "портили кровь" не одной компании и приводили к очень серьезному ущербу.
Именно поэтому наряду с "традиционными" средствами защиты (межсетевыми экранами и т.д.) необходимо применять т.н. "адаптивные" средства (системы обнаружения атак и анализа защищенности).