ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Journal influence

Higher Attestation Commission (VAK) - К1 quartile
Russian Science Citation Index (RSCI)

Bookmark

Next issue

2
Publication date:
16 June 2024

Web-server information security improvement with techniques of protection from investigation

The article was published in issue no. № 3, 2009
Abstract:The approach to information security improvement based on informational control of the violator is considered. The algorithm of the technology of systems protection from investigation is presented. The approach is illustrated with two examples of technology implementation for web-server protection from aforethought attacks.
Аннотация:Рассматривается подход к обеспечению информационной безопасности на основе информационного управления нарушителем. Приводится алгоритм технологии защиты от исследования систем. Подход иллюстрируется на примере двух технических реализаций технологии для защиты веб-сервера от преднамеренных атак.
Authors: Semenkin E.S. (styugin@rambler.ru) - Academician M.F. Reshetnev Siberian State Aerospace University, Krasnoyarsk, Russia, (styugin@rambler.ru) - , Russia
Keywords: deterrence of unauthorized activity, protection against, informational control, infosecurity
Page views: 10917
Print version
Full issue in PDF (4.21Mb)

Font size:       Font:

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

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

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

Технология защиты от исследования систем

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

Человек всегда мыслит в пределах идеальных объектов, так как это единственный способ строить цепочки логических суждений. Способность мыслить нестереотипно, а, следовательно, создавать что-то принципиально новое, присуща лишь гениям. Проблема построения нестереотипных систем, принципы и структура функционирования которых выходили бы за рамки способности восприятия других субъектов конфликта, уже встречалась в научных исследованиях. Интересный подход к этой проблеме был предложен в [5], где выявлено ранжирование сегментов сознания человека в соответствии с доминирующим типом квазипсихической активности и определен сегмент, связанный с генерацией новых классификаторов. К сожалению, столь интересная работа так и не привела к практически значимым результатам. Технология, о которой идет речь в данной работе, основана на искусственном усложнении системы путем введения в нее «бессмысленных» параметров [1, 4]. Однако результат, которого авторы достигают в результате реализации этой технологии, заключается в отклонении структуры системы в область нестереотипных шаблонов вплоть до полного хаоса для стороннего наблюдателя.

Предлагаемая технология защиты от исследования заключается в функциональном изменении процессов в системе в соответствии с некой концепцией уникальности. Данный процесс показан на рисунке 1.

На первом шаге выполняется функциональная декомпозиция системы, целью которой является выделение подпроцессов для конкретной цели (f1(par), …, fn(par)), где par – любые параметры процесса. Например, доступ к БД – это последовательная аутентификация, соединение с БД и формирование запроса. Аутентификацию же можно разбить на ввод логина и пароля и т.д.

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

После определения дискретных параметров вводится бессмысленное отклонение исходного процесса по его значению (f1(par, p),…,fn(par,p)). Например, для ввода пароля – смещение символов на клавиатуре в зависимости от их позиции в строке, для коммутации – перераспределение портов и адресов хостов в сети в зависимости от номера сессии и пр. Функция отклонения должна быть отражена в концепции уникальности системы. Зная ее, можно восстановить исходную функциональную структуру.

Что это дает? Исходное значение функции f(par) является стереотипной схемой, в отношении которой злоумышленник пытается произвести атаку. Если функция изменена, стандартные действия нарушителя не дают ожидаемого им результата, что склоняет его к исследованию атакуемой системы. Однако исследование возможно только тогда, когда злоумышленник правильно определит гипотезу (дополнительные параметры) новой функции, иначе он не сможет получить информативную обратную связь от черного ящика. Если введен один дополнительный параметр f(par, p1), достаточно просто уловить зависимость, а следовательно, и сформулировать правильную гипотезу. Но параметров в процесс можно ввести сколь угодно много – f(par, p1, p2, …, pn), тем самым приводя систему в состояние некоторого хаоса для потенциальных злоумышленников.

Защита систем от исследования как элемент информационной безопасности

Подпись:  
Рис. 1. Алгоритм построения уникальной системыУсложняя процессы в информационных системах, необходимо точно осознавать возможную область использования таких модификаций. Многие процессы, такие как стек протокола в операционной системе, принципы коммутации и прочие, не поддаются усложнению (или, можно сказать, что их усложнение чрезмерно затратно), но в целом в любые процессы можно вводить дополнительные параметры и формировать для них концепцию уникальности.

Изложенные идеи легли в основу разработки комплекса программных модулей для защиты от исследования систем (Protecting from Research – PR). В области безопасности рациональнее закрывать от исследования самые популярные уязвимости, атакуя которые, нарушитель не получал бы информативной обратной связи. Сценарий такого подхода достаточно прост: пытаясь реализовать простые уязвимости, злоумышленник не видит сопротивления системы и, следовательно, тратит много времени на распутывание логики ее работы. Можно сказать, что он вязнет в системе, так как, будучи не в состоянии правильно интерпретировать обратную связь, не действует в рамках поставленной им цели. В то же время приложение легко протоколирует несанкционированную активность, обнаруживая действия нарушителя по стереотипным схемам атаки.

Разработанные в настоящее время приложения для веб-сервера относятся к защите сервера от SQL-инъекций. Это наиболее популярный вид уязвимостей, а потому и наиболее оправданный с точки зрения защиты от исследования. Каждый программный модуль написан на PHP и подключается к началу программного кода сайта конструкцией require_once(). Рассмотрим принципы работы этих модулей.

Переадресация несанкционированной активности (PR-HoneyPot)

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

Стандартный запрос к БД показан на рисун- ке 2а. Параметр p представляет собой запрос к БД, формируемый системой на основании информации, передаваемой через массивы $GET и $POST. Система управления БД (MySQL) обрабатывает запрос и выдает ответную реакцию query(p).

Введем в этот процесс дополнительный параметр p1 (рис. 2б). Он может принимать всего два значения – 0 и 1. Значение единицы принимается в случае, когда регулярные выражения, проверяющие массивы $GET и $POST, обнаружили характерные символы для атак ISS- и SQL-инъекций.

Подпись:  
Рис. 3. Формирование запроса к БДФормирование запроса к БД показано на рисунке 3. DB1 – исходная (оригинальная) БД сайта. На ее основе создается копия DB2, из которой можно убрать (подменить) нужную информацию. Кроме того, не представляют риска удаление и модификация информации в данной БД. Если по регулярным выражениям модуль опознает атаки ISS- и SQL-инъекций, то параметр p1 принимает значение 1 и система переподключается к БД DB2, а также протоколирует данные массива $_SERVER, содержащего IP-адрес злоумышленника, версию браузера, тип операционной системы и т.д.

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

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

Модуль работы с БД (PR-DBWeb)

Подпись:  
Рис. 2. Обращение к БДПоскольку подключаемые модули не могут влиять на структуру запроса к БД, то все, что можно сделать, – это расширить многообразие того, на чем непосредственно строится запрос, то есть структуру и содержание БД. Технология защиты от исследования требует введения множества дискретных параметров p1,…,pn, относительно которых можно ввести функцию отклонения системы f(p1, … pn). Так как результатом должен быть запрос query(p, f(p1, … , pn)) = query(p, DBi), функция f есть отображение на множество БД:

.

Принцип формирования запроса для такой функции показан на рисунке 4.

Подпись:  
Рис. 4. Формирование запроса к БД для модуля
PR-DBWebЗапись БД с двумя индексами отражает принцип их формирования: DB1 – исходная (оригинальная) БД сайта; DB2 – как и в предыдущем примере, копия ее структуры с пустыми таблицами. Если в концепции уникальности прописаны правила модификации структуры в зависимости от найденных параметров, то структура DB2 меняется и формируется новое состояние DB2(j).

Концепция уникальности позволяет администратору настраивать индивидуальную функциональную структуру системы. Она выполнена в виде xml-файла. Структура концепции показана в таблице.

Концепция уникальности системы

Тип параметра

Параметр

Тип функции

Функция

Оператор языка SQL

DELETE

Выбор БД

DB2

Пара операторов SQL

UNION+ LOAD_FILE

Значение столбцов

+1

Имена таблиц

USERS

Количество столбцов

pass= =md5(pass)

На примере таблицы рассмотрим принцип работы модуля. Первая строка: если в SQL-запросе встречается оператор DELETE, то происходит переадресация к БД DB2. Вторая строка: если одновременно встречаются операторы UNION и LOAD_FILE, то в таблицу вставляется дополнительный столбец. Это может понадобиться для запрета загрузки файлов. Если в исходной и в объединяемой таблицах количество столбцов не совпадает, MySQL выдает ошибку. И последняя строчка: если в тексте SQL-инъекции запрашивается таблица USERS, то над каждой ее строкой в БД DB2 выполняется оператор UPDATE с указанной функцией. В данном случае для каждого пароля еще раз высчитывается хэш-свертка.

Такой подход позволяет администратору добавлять в работу сайта (запрос к БД) любые дополнительные параметры и таким образом строить уникальную с точки зрения защиты от исследования систему.

Работа системы

Работу модулей можно проиллюстрировать следующим образом. В поиске уязвимостей первое, что сделает злоумышленник, это попытается определить, осуществляется ли на сайте проверка параметров, передаваемых через массивы $GET и $POST. Для этого он может ввести в запрос одинарную кавычку или конструкции «=1 and 1=1», «=1 and 1=0» и т.п. Любые простые запросы система переадресует к исходной БД, и нарушитель может сделать вывод о возможности успешной атаки. Однако дальнейшие его исследования будут осуществляться на множестве {DB1, DB2, DB21, DB22, …, DB2m} и вряд ли дадут ему сколько-нибудь значительную информативную обратную связь. Кроме того, модуль сразу запротоколирует источник несанкционированной активности (IP-адрес, версию браузера, тип операционной системы и т.д.).

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

Литература

1. Стюгин М.А. Создание «хаоса» с целью защиты от исследования // Проблемы управления безопасностью сложных систем: тр. XVI Междунар. конф. М.: РГГУ, 2008.

2. Семенкин Е.С., Стюгин М.А. Защита от исследования и ее применение в системах безопасности / Вест. Сибир. гос. аэрокосмич. ун-та им. акад. М.Ф. Решетнева. 2009. Вып. 2 (23).

3. Лакатос И. Доказательства и опровержения. Как доказываются теоремы. М.: Наука, 1967.

4. Стюгин М.А. Планирование действий в конфликте на уровне функциональных структур // Информационные войны. 2009. № 2.

5. Денисов А.А. Проблемы и задачи новой кадровой политики // Рефлексивные процессы и управление. 2007. № 2. Т. 8.


Permanent link:
http://swsys.ru/index.php?page=article&id=2310&lang=en
Print version
Full issue in PDF (4.21Mb)
The article was published in issue no. № 3, 2009

Perhaps, you might be interested in the following articles of similar topics: