рования, затем, получая из этих данных имя или идентификатор пользователя, ОС выбирает из базы данных пользователей файла соответствующий открытый ключ пользователя — владельца сертификата. Используя этот ключ, ОС раскрывает цифровую подпись сертификата и удостоверяется, что сертификат на самом деле прислан тем пользователем, который зарегистрирован в базе данных пользователей данного файла и, следовательно, имеет право доступа к содержимому данного файла. Если доступ к данному файлу могут иметь несколько пользователей, то после раскрытия сертификата и установления личности и подлинности личности пользователя — владельца сертификата, операционной системой ИК может быть осуществлено дополнительное разграничение доступа внутри этого файла. Скажем, одним пользователям можно только читать данный файл, а другим, имеющим более высокий уровень допуска, — еще и изменять информацию, хранящуюся в данном файле.
При организации доступа к информации, хранящейся на ИК, при помощи сертификатов пользователей отпадает необходимость идентификации и аутентификации пользователя при попытке доступа к файлу. Это становится возможным, поскольку правильность сертификата (то есть, по сути, знание пользователем своего секретного ключа и открытого ключа файла, к которому он собирается произвести доступ) и говорит о том, что этот пользователь является корректно зарегистрированным для системы и для данного файла. С учетом созданных дополнительных подсистем защиты была доработана стандартная подсистема аудита, для чего был разработан специальный демон регистрации и учета событий.
Выводы
Таким образом, реализация предложенных подсистем криптографической защиты данных и взаимной аутентификации пользователей позволила создать систему обработки данных на базе LINUX-подобных систем с высоким уровнем защищенности (в частности, если в качестве базовой используется ОС МСВС 3.0, то уровень защищенности соответствует классу 1А по требованиям Гостехкомиссии к защите информации в автоматизированных системах).
Работа поддержана грантом РФФИ №03-07-90075.
Л.К. Бабенко, О.Б. Макаревич, О.Ю. Пескова Россия, г. Таганрог, ТРТУ
РАЗРАБОТКА КОМПЛЕКСНОЙ СИСТЕМЫ ОБНАРУЖЕНИЯ АТАК
Обнаружение атак - это искусство выявления несоответствующего, неправильного или аномального поведения пользователя или процесса. Обнаружение атак стало насущной проблемой, потому что в современных вычислительных системах невозможно сохранить защищенность с помощью традиционных методов защиты, применяемых ранее, когда компьютеры были уязвимы только со стороны «внутреннего врага». Постоянно расширяется число уязвимостей и атак в существующем системном и прикладном программном обеспечении, растет число людей, из озорства или из коммерческих целей атакующих информационные системы. Перед коллективом разработчиков была поставлена задача разработать комплекс средств обнаружения атак, позволяющий обнаруживать и распознавать атаки различного происхождения и различной направленности. Одним из бастионов защиты, предохраняющих информационные системы как раз от внешнего врага, являются системы обнаружения атак (СОА - Intrusion Detection System, IDS), функционирующие на сетевом уровне. Целью таких систем являются обнаружение и идентификация нарушителей, а также их блокировка до того момента, когда атака успела нанести вред системе и может быть обнаружена с помощью средств монито-
ринга поведения хоста. Кроме того, эта система может использоваться для исследования действий, выполняемых злоумышленниками, и для предотвращения аналогичных действий в дальнейшем. Разработанная в рамках проекта система обнаружения атак на сетевом уровне построена на основе клиент-серверной архитектуры. В ней выделяется два основных типа модулей: модуль управления агентами и отображения информации (консоль); сетевые агенты для перехвата сетевого трафика (сенсоры).
Сенсор отвечает за обнаружение и реагирование на атаки, а также за передачу сведений об обнаруженных несанкционированных действиях на консоль управления. Сенсор запускается на компьютере как сервис и работает круглосуточно. Поскольку оповещение об атаках передается сенсором на консоль, то модуль графического интерфейса, отображающий эти данные, в сенсоре отсутствует. Консоль предназначена для управления сенсорами и сбора информации со всех сенсоров, подключенных к ней. На консоли отсутствуют модули, отвечающие за получение данных из источников информации, их анализ и реагирование на атаки. Все перечисленные функции возложены на сенсоры. Сделано это с той целью, чтобы в случае выхода из строя консоли или канала связи между консолью и сенсорами функционирование последних никак бы не нарушалось. В этом случае сенсоры продолжают работать в автономном режиме, по-прежнему обнаруживая атаки и реагируя на них. Как только соединение с консолью восстанавливается, сенсоры посылают ей всю накопленную информацию. В качестве источника данных для анализа применяются сетевые пакеты. Для этого используется сетевой адаптер, функционирующий в неразборчивом режиме (promiscuous), и анализируется трафик непосредственно в реальном масштабе времени по мере его прохождения через сегмент сети. Для распознавания сигнатуры атаки используется метод сравнения на соответствие трафика шаблону (сигнатуре), выражению или байткоду, характеризующему атаку или подозрительное действие. Модуль распознавания является центральным звеном в любой системе обнаружения атак. От качества его реализации зависит эффективность всей системы, При построении этого модуля используется три широко известных метода для распознавания атаки:
- сигнатуры, основанные на шаблоне (pattern-based signatures), выражении или строке, говорящих об атаке или иной подозрительной деятельности. Эти сигнатуры содержат некоторые ключевые слова или выражения, обнаружение которых и свидетельствует об атаке.
- сигнатуры, основанные на контроле частоты событий или превышении пороговой величины. Эти сигнатуры описывают ситуации, когда в течение некоторого интервала времени происходят события, число которых превышает заданные заранее показатели.
- обнаружение аномалий. Данный тип сигнатур позволяет обнаруживать события, отличающиеся от нормальных.
При обнаружении атаки модуль реагирования СОА сетевого уровня может предусматривать выполнение одного из следующих сценариев: уведомление администратора через консоль или по электронной почте, завершение соединения с атакующим узлом и/или запись сессии для последующего анализа и сбора доказательств. Новые методы атак обнаруживаются каждый месяц, и СОА должны адаптироваться к этим изменениям как можно быстрее. В рамках проекта была составлена обширная база известных атак и их сигнатур, но список известных атак постоянно пополняется, однако здесь возникает проблема своевременного обновления базы сигнатур атак администраторами СОА. Разрабатываемая система обнаружения атак в известной мере лишена этого недостатка, поскольку реализует алгоритм нечеткого поиска сигнатур атак в данных пакетов и анализирует заголовки
пакетов, используя аппарат нейросетей. Наиболее важное преимущество нейросетей при обнаружении атак заключается в их способности "изучать" характеристики умышленных атак и идентифицировать элементы (например, трафик), которые не похожи на те, что наблюдались в сети прежде. Предлагаемый подход заключается в реализации нейросети, как отдельно стоящей системы обнаружения злоупотреблений, тогда нейросеть получает весь трафик и анализирует информацию на наличие в нем злоупотреблений. Любые случаи, которые идентифицируются с указанием на атаку, перенаправляются к администратору безопасности или используются системой автоматического реагирования на атаки. Для проверки работоспособности предложенной СОА, а также для проверки уязвимости системы был разработан генератор атак. Для этой цели был создан специальный язык описания атак, на котором пишутся скрипты. Данные скрипты позволяют генератору атак сформировать пакеты, характерные для той или иной атаки.
Следующим важным моментом защиты информационной системы от вредоносных воздействий является обнаружение локальных атак - как с ведома пользователя, через которого ведется атака, так и без него (например, по принципу работы программ-троянов). В рамках этого направления разработчиками Косолаповым Ф. и Чередниченко С. была предложена оригинальная система блокирования поведения, основанная на расширении дискреционного доступа операционной системы Windows 2000. Основная идея такой системы - описать соответствия не только между пользователями (группами пользователей) и ресурсами, но и между процессами (или группами процессов) и ресурсами (или группами ресурсов). Эти соответствия могут быть как однозначными, когда правила жестко определяют разрешения или запреты для процесса на доступ к ресурсу, так и неоднозначными, когда решение зависит от предыдущих действий процесса. Для реализации такой модели защиты были разработаны перехватчики вызовов системных функций, отвечающих за доступ к различным ресурсам системы- к реестру, файлам и сети.
Центральным блоком системы является модуль защиты на основе конфиденциальных или важных ресурсов программ или системы. Набор правил этого модуля позволит избежать нарушения работы системы с помощью вредоносного кода, кражи конфиденциальных ресурсов программ (например, паролей, баз данных и т.д.), нарушения работоспособности различных программ сторонних разработчиков. Также интересным является разрабатываемый в настоящее время модуль защиты на основе нормального поведения приложения (обертки вокруг приложений). Каждому известному приложению присваивается определенная политика, описывающая, какие действия для приложения являются нормальными. Если приложение пытается выполнить действие, не описанное в его политике, то оно блокируется. Например, если графический редактор начал неожиданно обращаться к сетевым протоколам (например, SMTP), то такое действие будет заблокировано (потому что оно не является “нормальным” для данного типа приложений). Политики, описывающие действия стандартных приложений или класса приложений, называются —обертками приложений”. Они служат для обнаружения “троянских коней”, макровирусов, вирусов, основанных на АсЙуеХ компонентах и различных скриптах, а также против атак нарушения адресного пространства процессов.
Модуль защиты на основе сложных правил описывает поведение (последовательность простых действий), обычно присущее вирусам, “троянским коням” и червям. Еще одним подразделом определения нормального или ненормального поведения пользователя является задача контроля поведения пользователя, призванная следить за тем, чтобы стиль работы конкретного пользователя не менялся. У каждого оператора есть определённый, только ему присущий стиль работы на компьютере. Подсистема контроля поведения определяет, насколько стиль работы
текущего пользователя отличается от оригинального, и, если зафиксировано устойчивое отклонение, просит повторить аутентификацию и посылает сообщение системному администратору. В качестве основных признаков пользователя используются сообщения от мыши и клавиатуры в привязке к конкретным приложениям. Одной из важных задач в борьбе с атаками является их предупреждение. В каждой системе имеются свои узкие места, которые и используются злоумышленниками. Поэтому еще одним важным разделом проекта стала система анализа защищенности операционной системы. Проверяются права доступа к разделяемым ресурсам - файловые и реестровые, политики безопасности системы в целом и отдельных приложений, установленные обновления операционной системы и средств обеспечения безопасности, автозапускаемые приложения, открытые порты. В заключение создается подробный отчет для информирования администратора. Работа всех компонент системы подробным образом журналируется, имеются развитые средства визуализации и анализа этих результатов. Таким образом, предлагаемая система является комплексом, призванным противостоять различным типам атак как внешних, так и внутренних.
Работа поддержана грантом РФФИ №03-07-90075.
Е.С. Абрамов Россия, г. Таганрог, ТРТУ
СИСТЕМА АНАЛИЗА ЗАЩИЩЁННОСТИ ОТ СЕТЕВЫХ АТАК
В последнее время в рамках обеспечения информационной безопасности активно развивается направление адаптивной безопасности сети, включающие в себя технологии обнаружения атак и анализа защищённости. Последняя технология предназначена для оценки эффективности защиты компонентов сети.
Программа предназначена для моделирования сетевых атак и анализа защищённости удалённой сети или конкретного хоста, а также для создания интерактивных тестов для тестирования систем обнаружения атак. В состав комплекса входят: модуль, отправляющий и принимающий сетевые пакеты, интерпретатор языка описания атак, набор скриптов, представляющих собой описание сетевых атак или сбора информации. Специально для программы был разработан язык описания сетевых атак. Поскольку большинству существующих сканеров безопасности присущ общий недостаток - они используют базу данных уязвимостей, которая не позволяет обнаруживать новые уязвимости. Разработанная программа использует написанные пользователем скрипты для имитации низкоуровневых атак или сбора информации. Имитация атак позволяет с большей эффективностью, чем другие способы, обнаруживать уязвимости на сканируемых узлах. Имитация атак также является более надежным способом анализа защищенности, поскольку позволяет как бы «подтолкнуть» уязвимость, ничем себя ранее не проявившую. Для этого против подозрительного сервиса или узла запускаются реальные атаки и получаются данные о реальном состоянии защиты. Основным модулем программы является модуль генерации сетевого трафика, основанный на архитектуре захвата пакетов WinPcap. Он позволяет формировать сетевые пакеты, описывая параметры пакетов, при помощи которых моделируются различные атаки. К таким параметрам можно отнести флаги в заголовке IP-пакета, IP и MAC адреса, номера портов в заголовке TCP-пакета, поля данных в пакетах различных протоколов. Таким образом программа позволяет имитировать такие атаки, которые невозможно сымитировать на языке высокого уровня. Программа позволяет формировать и отсылать пакеты по протоколам TCP, UDP и ICMP. Язык программирования скриптов позволяет программисту обращаться практически к любым параметрам IP-пакета и