ПОВЫШЕНИЕ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ ВЕБ-СЕРВЕРА МЕТОДОМ ЗАЩИТЫ ОТ ИССЛЕДОВАНИЯ
Е.С. Семенкин, д.т.н.; М.А. Стюгин (Сибирский государственный аэрокосмический университет им. академика М.Ф. Решетнева, г. Красноярск, [email protected])
Рассматривается подход к обеспечению информационной безопасности на основе информационного управления нарушителем. Приводится алгоритм технологии защиты от исследования систем. Подход иллюстрируется на примере двух технических реализаций технологии для защиты веб-сервера от преднамеренных атак.
Ключевые слова: информационная безопасность, информационное управление, защита от исследования, сдерживание несанкционированной активности.
Современное развитие средств обеспечения безопасности серверов, приложений, БД и прочего строится на выявлении уязвимостей и их перекрытии. Каждый день в области программных средств открываются новые «дыры», которые реализуются настолько быстро, что настройка безопасности любого приложения заключается практически в их непрерывном латании. Сформулируем иную точку зрения на проблему обеспечения безопасности компьютерных систем.
Для атак на компьютерные сети, как и для любых активных действий, необходима информация. Чем стереотипнее система, тем меньше информации необходимо собрать нарушителю, вплоть до реализации стандартных эксплойтов. Отклонение системы от стереотипного состояния вынуждает нарушителя исследовать ее. Получение новой информации - это исследование системы, при котором нарушитель интерпретирует получаемую информацию в соответствии со своими гипотезами относительно структуры этой системы [1]. То есть даже в исследовании некая информация всегда априорно предшествует действиям, иначе получаемая от системы обратная связь не может быть интерпретирована. На этом основывается принцип защиты от исследования систем: для сохранения функциональной структуры системы ее надо разнообразить до такой степени, чтобы для непосвященного исследователя она представляла хаос, относительно структуры которого трудно сформулировать однозначную гипотезу [2].
Таким образом, технологии защиты от исследования не накладывают каких-либо ограничений на действия злоумышленника, а задействуют не используемый на данный момент ресурс систем безопасности - информационное управление нарушителем. Это снижает риск сразу по всему множеству уязвимостей (даже не открытых), так как блокирует информативную обратную связь при попытке исследования системы.
Технология защиты от исследования систем
Любые кибернетические системы (в том числе и человек) распознают объекты, основываясь на неразличимости восприятия. Это единственный способ получения информации об объектах реаль-
ного мира. Любой идеальный объект строится на основе множества упрощений, которые очень редко можно сразу выразить в определении идеального объекта. Точно зафиксировать объект в исследовании невозможно, что очень хорошо показано на примере истории развития теоремы Эйлера и понятия правильного многогранника в [3]. Поэтому проектирование систем строится на стереотипных схемах, отклоняться от которых можно, вводя в определения идеальных объектов дополнительные параметры [4].
Человек всегда мыслит в пределах идеальных объектов, так как это единственный способ строить цепочки логических суждений. Способность мыслить нестереотипно, а, следовательно, создавать что-то принципиально новое, присуща лишь гениям. Проблема построения нестереотипных систем, принципы и структура функционирования которых выходили бы за рамки способности восприятия других субъектов конфликта, уже встречалась в научных исследованиях. Интересный подход к этой проблеме был предложен в [5], где выявлено ранжирование сегментов сознания человека в соответствии с доминирующим типом квазипсихической активности и определен сегмент, связанный с генерацией новых классификаторов. К сожалению, столь интересная работа так и не привела к практически значимым результатам. Технология, о которой идет речь в данной работе, основана на искусственном усложнении системы путем введения в нее «бессмысленных» параметров [1, 4]. Однако результат, которого авторы достигают в результате реализации этой технологии, заключается в отклонении структуры системы в область нестереотипных шаблонов вплоть до полного хаоса для стороннего наблюдателя.
Предлагаемая технология защиты от исследования заключается в функциональном изменении процессов в системе в соответствии с некой концепцией уникальности. Данный процесс показан на рисунке 1.
На первом шаге выполняется функциональная декомпозиция системы, целью которой является выделение подпроцессов для конкретной цели (fi(par), ..., fn(par)), где par - любые параметры процесса. Например, доступ к БД - это последовательная аутентификация, соединение с БД и фор-
1. Функциональная декомпозиция ^(раг^.^раг) | Г(раг)
2. Поиск дискретных параметров р!...рп
3. Определение функционального отклонения ^(раг, р)...!П(раг, р)
Т
f(par, p)
Концепция уникальности
системы
Pi P2
fi(par) fi(par)
fi(par, pi) f2(par, P2)
Рис. 1. Алгоритм построения уникальной системы
мирование запроса. Аутентификацию же можно разбить на ввод логина и пароля и т.д.
Второй шаг: для конкретных процессов, полученных в ходе функциональной декомпозиции, определяются возможные дополнительные параметры, имеющие дискретный характер (рх, ..., рп). Например, время в минутах, позиция символов, номер сессии и т.д.
После определения дискретных параметров вводится бессмысленное отклонение исходного процесса по его значению (1\(раг, р),...,1^(раг,р)). Например, для ввода пароля - смещение символов на клавиатуре в зависимости от их позиции в строке, для коммутации - перераспределение портов и адресов хостов в сети в зависимости от номера сессии и пр. Функция отклонения должна быть отражена в концепции уникальности системы. Зная ее, можно восстановить исходную функциональную структуру.
Что это дает? Исходное значение функции Драг) является стереотипной схемой, в отношении которой злоумышленник пытается произвести атаку. Если функция изменена, стандартные действия нарушителя не дают ожидаемого им результата, что склоняет его к исследованию атакуемой системы. Однако исследование возможно только тогда, когда злоумышленник правильно определит гипотезу (дополнительные параметры) новой функции, иначе он не сможет получить информативную обратную связь от черного ящика. Если введен один дополнительный параметр Драг, рх), достаточно просто уловить зависимость, а следовательно, и сформулировать правильную гипотезу. Но параметров в процесс можно ввести сколь угодно много - Драг, рх, р2, ..., рп), тем самым приводя систему в состояние некоторого хаоса для потенциальных злоумышленников.
Защита систем от исследования как элемент информационной безопасности
Усложняя процессы в информационных системах, необходимо точно осознавать возможную область использования таких модификаций. Многие процессы, такие как стек протокола в опера-
ционнои системе, принципы коммутации и прочие, не поддаются усложнению (или, можно сказать, что их усложнение чрезмерно затратно), но в целом в любые процессы можно вводить дополнительные параметры и формировать для них концепцию уникальности.
Изложенные идеи легли в основу разработки комплекса программных модулей для защиты от исследования систем (Protecting from Research -PR). В области безопасности рациональнее закрывать от исследования самые популярные уязвимости, атакуя которые, нарушитель не получал бы информативной обратной связи. Сценарий такого подхода достаточно прост: пытаясь реализовать простые уязвимости, злоумышленник не видит сопротивления системы и, следовательно, тратит много времени на распутывание логики ее работы. Можно сказать, что он вязнет в системе, так как, будучи не в состоянии правильно интерпретировать обратную связь, не действует в рамках поставленной им цели. В то же время приложение легко протоколирует несанкционированную активность, обнаруживая действия нарушителя по стереотипным схемам атаки.
Разработанные в настоящее время приложения для веб-сервера относятся к защите сервера от SßL-инъекций. Это наиболее популярный вид уязвимостей, а потому и наиболее оправданный с точки зрения защиты от исследования. Каждый программный модуль написан на PHP и подключается к началу программного кода сайта конструкцией require_once(). Рассмотрим принципы работы этих модулей.
Переадресация несанкционированной активности (PR-HoneyPot)
Первый пример достаточно прост в реализации, так как является функцией лишь одного фиксированного параметра и не требует настройки концепции уникальности. Принцип работы модуля схож с сетевым устройством HoneyPot («горшок с медом») по европейскому патенту EP1218822. Как известно, данное устройство эмулирует несуществующую сеть как часть реальной и используется в качестве приманки для нарушителя. Оно сдерживает несанкционированную активность и позволяет изучить нарушителя на безопасной территории. Само устройство Honey-Pot можно интерпретировать как защиту от исследования системы с отклонением по единственному параметру. В нашем случае создается копия структуры БД, которая выдается за реальную при обнаружении несанкционированной активности.
Стандартный запрос к БД показан на рисунке 2а. Параметр p представляет собой запрос к БД, формируемый системой на основании информации, передаваемой через массивы $GET и $POST. Система управления БД (MySQL) обрабатывает запрос и выдает ответную реакцию query(p).
Введем в этот процесс дополнительный параметр p1 (рис. 2б). Он может принимать всего два значения - 0 и 1. Значение единицы принимается в случае, когда регулярные выражения, проверяющие массивы $GET и $POST, обнаружили характерные символы для атак ISS- и SgL-инъекций.
Формирование запроса к БД показано на рисунке 3. DB1 - исходная (оригинальная) БД сайта. На ее основе создается копия DB2, из которой можно убрать (подменить) нужную информацию. Кроме того, не представляют риска удаление и модификация информации в данной БД. Если по регулярным выражениям модуль опознает атаки ISS- и SgL-инъекций, то параметр p1 принимает значение 1 и система переподключается к БД DB2, а также протоколирует данные массива $_SERVER, содержащего IP-адрес злоумышленника, версию браузера, тип операционной системы и т.д.
Пытаясь реализовать атаку, злоумышленник не встречает сопротивления системы и поэтому попадается на ту же приманку, что и в системе HoneyPot. Для исследования системы ему необходимо получить информативную обратную связь, а это, в свою очередь, возможно при наличии функции работы регулярных выражений f(p1).
Данный модуль слабо иллюстрирует технологию защиты от исследования, так как не содержит концепции уникальности (точнее, она всегда постоянна и состоит из одного параметра), однако он очень прост в установке и не требует никаких дополнительных настроек. Рассмотрим расширенный вариант модуля работы с БД, позволяющий настраивать концепцию уникальности системы.
Модуль работы с БД (PR-DBWeb)
Поскольку подключаемые модули не могут влиять на структуру запроса к БД, то все, что
можно сделать, - это расширить многообразие того, на чем непосредственно строится запрос, то есть структуру и содержание БД. Технология защиты от исследования требует введения множества дискретных параметров рь...,рп, относительно которых можно ввести функцию отклонения системы Дрх, ... рп). Так как результатом должен быть запрос query(p, Дрь ... , рп)) = query(p, ОБО, функция f есть отображение на множество БД:
^,..., рп )е {ББ!, ББ2, ББ2, ББ2,..., Бвт} .
Принцип формирования запроса для такой функции показан на рисунке 4.
Запись БД с двумя индексами отражает принцип их формирования: ББ1 - исходная (оригинальная) БД сайта; ББ2 - как и в предыдущем примере, копия ее структуры с пустыми таблицами. Если в концепции уникальности прописаны правила модификации структуры в зависимости от найденных параметров, то структура ББ2 меняется и формируется новое состояние ББ2®.
Концепция уникальности позволяет администратору настраивать индивидуальную функциональную структуру системы. Она выполнена в виде хш/-файла. Структура концепции показана в таблице.
Концепция уникальности системы
Тип параметра Параметр Тип функции Функция
Оператор языка SQL DELETE Выбор БД DB2
Пара операторов sQl UNION+ LOAD_FILE Значение столбцов +1
Имена таблиц USERS Количество столбцов pass= =md5(pass)
На примере таблицы рассмотрим принцип работы модуля. Первая строка: если в SQL-запросе встречается оператор DELETE, то происходит переадресация к БД DB2. Вторая строка: если одновременно встречаются операторы UNION и LOAD_FILE, то в таблицу вставляется дополнительный столбец. Это может понадобиться для запрета загрузки файлов. Если в исходной и в объединяемой таблицах количество столбцов не сов-
p
pi
DBi DBi'-"
p2 DB2
DB2"
DB2'2'
DBn
query(p, f(pi, p2, ..., pn))= = query(p, DBi(j))
Рис. 4. Формирование запроса к БД для модуля PR-DBWeb
падает, MySQL выдает ошибку. И последняя строчка: если в тексте SQL-инъекции запрашивается таблица USERS, то над каждой ее строкой в БД DB2 выполняется оператор UPDATE с указанной функцией. В данном случае для каждого пароля еще раз высчитывается хэш-свертка.
Такой подход позволяет администратору добавлять в работу сайта (запрос к БД) любые дополнительные параметры и таким образом строить уникальную с точки зрения защиты от исследования систему.
Работа системы
Работу модулей можно проиллюстрировать следующим образом. В поиске уязвимостей первое, что сделает злоумышленник, это попытается определить, осуществляется ли на сайте проверка параметров, передаваемых через массивы $GET и $P0ST. Для этого он может ввести в запрос одинарную кавычку или конструкции «=1 and 1=1», «=1 and 1=0» и т.п. Любые простые запросы система переадресует к исходной БД, и нарушитель может сделать вывод о возможности успешной атаки. Однако дальнейшие его исследования будут осуществляться на множестве (DBj, DB2, DB2x, DB22, ..., DB2m} и вряд ли дадут ему сколько-нибудь значительную информативную обрат-
ную связь. Кроме того, модуль сразу запротоколирует источник несанкционированной активности (/Р-адрес, версию браузера, тип операционной системы и т.д.).
Механизмы защиты от исследования не подразумевают блокирование уязвимостей (хотя и не исключают их применение). Здесь используется принципиально иной ресурс защиты от преднамеренных атак - информационное управление нарушителем. Следовательно, технология защиты от исследования позволяет дополнительно снижать риск систем информационной безопасности. Рассмотренные механизмы являются примером технической реализации данной технологии.
Литература
1. Стюгин М.А. Создание «хаоса» с целью защиты от исследования // Проблемы управления безопасностью сложных систем: тр. XVI Междунар. конф. М.: РГГУ, 2008.
2. Семенкин Е.С., Стюгин М.А. Защита от исследования и ее применение в системах безопасности / Вест. Сибир. гос. аэрокосмич. ун-та им. акад. М.Ф. Решетнева. 2009. Вып. 2 (23).
3. Лакатос И. Доказательства и опровержения. Как доказываются теоремы. М.: Наука, 1967.
4. Стюгин М.А. Планирование действий в конфликте на уровне функциональных структур // Информационные войны. 2009. № 2.
5. Денисов А.А. Проблемы и задачи новой кадровой политики // Рефлексивные процессы и управление. 2007. № 2. Т. 8.
СТРУКТУРИЗАЦИЯ ЗНАНИЙ О ПРОЦЕССЕ СХЕМНОГО ПРОЕКТИРОВАНИЯ СИСТЕМ УПРАВЛЕНИЯ
О.Л. Ахремчик, к.т.н. (Тверской государственный технический университет, [email protected])
Предложено развитие концепции структуризации знаний в области проектирования систем управления технологическими объектами. В качестве эксперта выступает программная система, осуществляющая синтез набора описаний объекта проектирования на разных уровнях абстракции представлений. Раскрытие объема формальных понятий осуществляется через определяющие их свойства, представляемые в количественных и порядковых шкалах. Выделяется группа композиционных отношений между абстрактными и реальными объектами и определяется местность, на которой задаются данные отношения.
Ключевые слова: знание, отношение, проектирование, свойство, система.
Применение существующих систем для разработки моделей знаний в области проектирования схем технической реализации систем управления технологическими объектами связано с трудностями их ориентации на проблемную область, заключающимися в поиске скрытых правил вывода [1]. Например, для использования системы SALT (разработка университета Carnegie Mellon) необходима базовая модель понятийной системы проблемной области. Опыт использования подобных систем практически не способствует выявлению латентных знаний, свойственных для проек-
тирования схем [2]. Быстрое обновление приборного ряда современных технических средств, отличающихся значительной номенклатурой и числом дополнительных свойств при схожих функциональных характеристиках, приводит к необходимости модификации знаний и к значительным затратам по ведению БД технических средств и систем управления.
Настоящая статья посвящена обсуждению подхода к разработке информационных программных систем для автоматизированного проектирования систем управления технологически-