doi: 10.36724/2409-5419-2024-16-3-18-29
АНАЛИЗ ВОЗМОЖНОСТЕЙ ПРОВЕДЕНИЯ АТАК НА ФУНКЦИИ ПЕРЕДАЧИ УПРАВЛЕНИЯ КОНСОЛЬЮ ОПЕРАЦИОННОЙ СИСТЕМЫ С ПРИМЕНЕНИЕМ МЕТОДОВ АКТИВНОЙ РАЗВЕДКИ
КАЗАРЯН
Михаил Михайлович1 ЧЕРКЕСОВА
Лариса Владимировна 2
РЕШЕТНИКОВА Ирина Витальевна3
РЕВЯКИНА
Елена Александровна 4
АННОТАЦИЯ
Введение: В данной работе проведено исследование возможности проведения атак на функции передачи управления консолью с применением методов активной разведки. Методы: проводится сканирование портов, перебор директорий, модификация параметров, перебор учётных данных по пользовательскому словарю. В отличие от других исследований, в которых рассматриваются устаревшие методы индикации возможности атак, разработанное авторами средство использует новейшие известные векторы атак. В качестве примера одним из таких векторов является CVE-2018-20062 - уязвимость фреймворка ThinkPHP, позволяющая получить полный контроль над сервером посредством доступа к его консоли. Также можно выделить вектор CVE-2018-12536 - уязвимость компонента DefaultServlet HTTP-сервера Jetty связана с недостатками обработки ошибок при использовании неверных запросов. Результаты иссследования: эксплуатация уязвимости может позволить нарушителю, действующему удалённо, получить несанкционированный доступ к защищаемой информации путем отображения сообщения InvalidPathException, включенного в отчет об ошибках. Разработанное, в рамках данного исследования, программное средство поставляется в виде двух модулей, в первом модуле содержится основная программа с реализованными в ней механизмами индикации возможности проведения атак, с упором на актуальные на сегодняшний день веб-приложения и сервисы. Проверка на возможность атаки для любого сетевого узла состоит в том, что сначала составляется перечень запросов, целью которых является выявление слабых мест веб-приложения, работающего на сервере, также к данным запросам составляется перечень ожидаемых ответов от сервера. Далее запросы отправляются на сервер, программа ожидает ответы от сервера, и, если ожидаемые ответы из составленного перечня совпадают с действительными, то данный факт сигнализирует о возможности проведения атаки на исследуемое веб-приложение. Во втором модуле хранятся словари локализации, отвечающие за наличие в программе двух языков интерфейса - русского и английского.
Сведения об авторах:
1-4 Донской государственный технический университет, Ростов-на-Дону, Россия, irina reshetnikova@mail.ru
КЛЮЧЕВЫЕ СЛОВА: информационная безопасность, анализ сетевого трафика, кибератака, сетевые пакеты, активная разведка, вектор атаки.
Для цитирования: Казарян М.М., Черкесова Л.В., Решетникова И.В., РевякинаЕ.А. Анализ возможностей проведения атак на функции передачи управления консолью операционной системы с применением методов активной разведки // Наукоемкие технологии в космических исследованиях Земли. 2024. Т. 16. № 3. С. 18-29. с1о1: 10.36724/2409-5419-2024-16-3-18-29
Введение
Анализ трафика - это необходимое и востребованное направление в реализации защищенной сети, в которую входит, как анализ отдельных пакетов, так и диагностика сложных проблем, с учётом контекста работы исследуемого веб-сервиса. Результаты такого анализа полезны при составлении модели работы сети, так как на сегодняшний день существует реальная угроза массированных хакерских атак.
Анализ трафика можно рассматривать как основной инструмент для перехвата конфиденциальных данных пользователей сети. Сам анализ производится с использованием специализированных программных средств, которые также известны как снифферы (с англ. «нюхачи») [1].
Данный вид ПО выполняет два действия:
1. Собирает все пакеты, проходящие через сетевой узел;
2. Выбирает из собранных пакетов те, где содержится информация об учётных данных пользователя.
На данный момент в публичных сетях достаточно распространены следующие протоколы:
• HTTP - веб-страницы, документы, передача произвольных данных;
• FTP - передача файлов, работа с файловой системой;
• TELNET - предоставление доступа к функциональным возможностям устройства;
• SMTP - отправка и ретрансляция почтовых сообщений между серверами или клиентом и сервером;
• РОРЗ - получение сообщений с почтового сервера (письмо полностью сохраняется на клиентской стороне и удаляется с сервера);
• IMAP - получение сообщений с почтового сервера (клиенту передается только заголовок письма, по которому можно получить доступ к сообщению, лежащему на почтовом сервере);
• NNTP - получение новостного материала. Обмен данными между серверами новостей;
• IRC - отправка и получение сообщений в режиме реального времени.
Все перечисленные выше протоколы транслируют информацию в незашифрованном виде, либо применяют слабые методы шифрования, поэтому любые сведения, начиная от паролей для доступа к сетевым ресурсам, и, заканчивая коммерческой тайной или личной информацией, будут скомпрометированы при использовании этих протоколов. Также при отсутствии шифрования существует вероятность подмены запроса, отправляемого на сервер, что при некорректной настройке сервера может позволить получить злоумышленнику необходимые для него сведения или полный доступ к серверу жертвы.
В данной работе поставлены следующие цели:
• показать развитие подходов и методов анализа с исторической точки зрения;
• выделить популярные техники анализа трафика, которые используются в большинстве программных решений;
• провести обзор на программные средства для анализа трафика;
• реализовать программный модуль, производящий поиск уязвимостей в сетевых узлах;
Методы и материалы
Существует два основных направления развития технологий анализа сетевого трафика:
• Увеличение качества исследования изучаемого сетевого пакета, другими словами - повышение уровня модели 081, данные которой анализируются;
• Получение на выходе исчерпывающей информации о характеристиках потока, к которому относится пакет, и других потоков, связанных с данными.
В следующих разделах будут рассмотрены оба этих направления развития.
Глубина анализа сетевых пакетов
Рис. 1. Уровни развития технологии анализа сетевого трафика по «глубине»
Согласно данной модели, технологические процессы изучения трафика формировались поочередно, любой дальнейший процесс наследовал долю предшествующих элементов, а также добавлял собственные. Можно отметить три степени формирования технологических процессов [2], которые приведены на рисунке 1.
Рассмотрим эти уровни более детально.
Поверхностный анализ пакетов (SPI)
Данная технология проверяет заголовки пакетов (которые представляют собой информацию, размещенную в начале блока данных, такую как IP-адреса отправителя и получателя), в отличие от тела или "полезной нагрузки" пакета. Этот вид проверки пакетов позволяет сообщениям оставаться нескомпрометированными, поскольку содержимое пакетов не отслеживается, а информация в заголовке используется только для маршрутизации пакета. Технологии SPI управляют (относительно) упрощенными брандмауэрами, работающих в операционных системах Windows ХР, Windows Vista и OS X. Эти брандмауэры стоят между конкретным клиентским компьютером и сетью, к которой он подключен.
Они ограничивают возможность отправки или получения указанного пользователем содержимого клиентским компьютером. Когда сервер отправляет пакет на клиентский компьютер, технологии SPI проверяют информацию о заголовке пакета и сравнивают его с черным списком. Эти брандмауэры, в частности, фокусируются на IP-адресах источника и назначения, к которым пытается получить доступ пакет. Если в пакете находится заголовок, параметры которого числятся в черном списке, то такой пакет не будет доставлен. Когда технология SPI отказывается доставлять пакет, она просто отказывается передавать его без уведомления источника о том, что пакет был отклонен [3].
Анализ пакетов на транспортном и сеансовом уровнях (MPI)
Работает, как прокси-сервер, который находится ме^ду компьютерами конечных пользователей и интернет - провайдером или интернет-шлюзами. Эти прокси-серверы могут проверять информацию заголовка пакета по своему проверочному списку синтаксического анализа. Когда пакет поступает на прокси-сервер, он анализируется по списку синтаксического анализа, который системные администраторы могут легко обновить. Список синтаксического анализа позволяет разрешать или запрещать определенные типы пакетов в зависимости от их типов формата данных и их соответствующего расположения в Интернете, а не только от их IP-адреса.
Устройства MPI могут считывать уровень представления полезной нагрузки пакета и идентифицировать аспекты данного уровня. Используя устройства MPI, администраторы могут запретить клиентским компьютерам получать флэш-файлы с YouTube или файлы изображений с сайтов социальных сетей. Технологии MPI могут определять приоритетность одних пакетов перед другими, изучая команды приложения, расположенные на уровне приложений, и форматы файлов на уровне представления. Устройства MPI страдают от плохой масштабируемости, что ограничивает их полезность для интернет - провайдеров, где десятки тысяч приложений могут передавать пакеты в любой момент времни [4].
Этот метод позволяет решать более широкий круг задач, помимо настройки прав доступа, данная технология также справляется со следующими задачами:
• сохранение данных трафика в кеш;
• изучение трафика, который был подвержен шифрованию или сжатию;
• возможность наложения запрета на выполнение отдельных команд;
• в случае работы в режиме прокси-сервера, может служить как оптимизатор подключения к Интернету.
Существенный минус технологии MPI заключается в том, что на каждую команду и протокол необходим свой входной-выходной порт. Помимо этого, режим работы прокси потребляет много процессорного времени, что снижает быстродействие системы в целом. Для оптимизации работы прокси-сервера был создан протокол ICAP, идея которого заключалась в том, чтобы переложить процедуру проверки безопасности пакетов на сторонние серверы. Такая система организована в антивирусном продукте ClamAV, который может подключаться к прокси-серверам Squid и NetCache [5].
Данные условия значительно ограничивают возможность использования этой технологии на уровне провайдеров, учитывая большую ширину их каналов связи и множество обрабатываемых протоколов.
Рис. 2. Схема применения устройств анализа на основе технологии MPI
Глубокий анализ пакетов (DPI)
Также используют более специфичное название - DPP (Deep Packet Processing), данная технология производит над пакетом следующие дейсвтия:
• модификация;
• фильтрация;
• перенаправление.
На данный момент оба названия имеют одинаковый смысл. Такой вид анализа можно назвать закономерным преемником MPI. В этой системе парсер считывает содержимое пакета полностью, решение по дальнейшей судьбе пакета принимается не только исходя из данных, лежащих в пакете, но и исходя из специфики сетевых программ и протоколов. Для этих целей могут использоваться вероятностные данные.
Например, проведение опыта по установлению числа встреч определенных символов, размеров пакетов, время задержки между поступлением пакетов. Метод DPI стал широко распространен по причине резкого увеличения вычислительных мощностей процессоров, скорости их памяти и, конечно же, из-за высокой степени точности анализа [6].
В противовес MPI, этот метод создавался для быстрой обработки и определения множества приложений в реальном времени. Отсюда следует, что DPI обладает хорошими способностями к расширению по сетевым каналам, также в базе данного решения содержатся тысячи известных сетевых приложений. В любом реализуемом проекте DPI выступает, как модуль, устанавливающий соответствие пакета к классу протоколов сети. Также стоит отметить, что точность этой операции зависит от целей, возложенных на систему:
• тип протокола или программы (например, Web, Peer-to-Peer, VoIP);
• определенный протокол уровня приложения (HTTP, BitTorrent, SIP-телефония);
• приложение, использующее протокол (Google Chrome, ^Torrent, Skype).
Важно отметить, что соответствие ме^цу классами различных уровней точности не однозначно, что показано на рисунке 3.
(8В8С). Рассмотрим однонаправленный поток транспортного уровня. В самом потоке можно выделить следующие характеристики:
• 1Р-адрес источника;
• порт источника;
• 1Р-адрес конечного узла;
• порт конечного узла;
• протокол.
Опираясь на данную модель, легко установить, в чем заключается отличие подхода исследования трафика с учетом состояния в потоке и без учета состояния в потоке. В первом случае в расчет берутся сведения о том, какому потоку принадлежит исследуемый пакет, а также учитывается информация, полученная в процессе изучения пришедших ранее пакетов, относящихся к этому же потоку. Стоит заметить, что метод анализа трафика с учетом состояния в потоке имеет весьма нечеткое определение. Поэтому такой метод от одной реализации к другой может иметь различную точность, качество оптимизации, быстродействие [7]. Возможный на практике вариант градации продемонстрирован на рисунке 4.
Рис. 3. Различие между идентификацией приложений (сверху) и протоколов (снизу)
Сегодня глубокий анализ пакетов - это стандарт для программ, сканирующих трафик. Такой вид приложений относится к области крайне важных решений в сфере сетевой безопасности, особенно с точки зрения буквы закона. Так, за последние несколько лет было утверждено множество стандартов, технических условий и рекомендаций. Несмотря на то, что данный метод и не сыскал популярности в межсетевых экранах, но существуют решения, использующие данную технологию. Например, экраны Hogwash и Shield [5, 6].
В качестве следующего ответвления в сфере анализа можно выделить учёт поведения потока пакетов в сети, в данной группе существует два метода исследования трафика:
• с учетом состояния в потоке;
• без учета состояния в потоке.
Это применимо только к протоколам, которые осуществляют соединение при помощи транспортного протокола. То есть перед наладкой канала для передачи данных происходит процесс «установления соединения», где абоненты производят обоюдную передачу специальной цепочки пакетов, получившей название «рукопожатие», по окончании процесса передачи данных соединение закрывается. К такому виду протоколов относятся:
• Протокол передачи данных (TCP);
• UDP (при условии, что поверх него организован протокол с установлением соединения, например, протокол QUIC).
Следовательно, исключать метод исследования трафика с учетом состояния установления соединения для UDP пакетов невозможно [6].
Чтобы дать точную характеристику вышеизложенным методам, необходимо раскрыть такое понятие, как «поток пакетов». Встречаются разнообразные трактования этого явления. Информация о самых распространенных из них изложена на веб-странице суперкомпьютерного центра Сан-Диего
Рис. 4. Градации полноты учёта состояния в потоке
Перечень степеней исследования состояния в потоке, представлен следующими уровнями:
• исследование некоторых пакетов, игнорируя потоки и состояния (Packet Based No State, PBNS);
• исследование пакетов по потокам (Packet Based Per Flow State, PBFS);
• исследование данных в пределах одного потока (Message Based Per Flow State, MBFS), т.е. совершен сбор IP-фрагментов в IP-пакеты (IP- нормализация) и сборка ТСР-сег-ментов в TCP-сеансы (TCP- нормализация);
• исследование данных в рамках протокола (Message Based Per Protocol State, MBPS), т.е. принимается во внимание состояние автомата протокола (его способность к работе с различными типами данных). Пример автомата состояний протокола HTTP приведён на рисунке 5. Вершины соответствуют состояниям, рёбра - условиям перехода, к которым могут относиться получение и передача данных, результаты их обработки, истечение таймаута.
Обычно, разработки, использующие метод DPI, имеют отношение к исследованию без учета состояния в потоке - анализ производится лишь над отдельными пакетами в одном потоке без сохранения состояния между их исследованиями.
Рис. 5. Пример автомата состояний протокола HTTP
Такой подход достаточен для большинства существующих программных продуктов и нерасточителен к ресурсам аппаратуры. Однако, есть класс проблем, которые требуют более высокого уровня точности. И тогда необходимо обращаться к методам, использующим метод исследования с учетом состояния в потоке. Сюда можно отнести проверку пакетов с сохранением состояния (SPI) и подробное исследование состава пакета (DCI) [8].
Смысл метода SPI заключается в том, что приложение или аппаратная часть, на котором он активен, во время инициализации нового подключения, проводит его проверку, согласно установленной политике безопасности, и сохраняет сведения о данном подключении до его закрытия. Благодаря таким техническим решениям, производится проверка легитимности подключения. Данный метод часто используется во множестве современных маршрутизаторов, в качестве SPI-файрвола. Помимо этого, данная технология применяется в межсетевых экранах организации Checkpoint и во множестве систем типа IDS/IPS, которые принадлежат третьему поколению. В такой системе отслеживаются не только получаемые и отправляемые пакеты, но и учитывается состояние каждого активного подключения, сведения о которых хранятся в специальных таблицах. Поэтому в данном методе при проверке пакета учитываются следующие факторы:
• политика безопасности системы;
• состояние соединения, по которому был отправлен исследуемый пакет;
• состояние совершенных ранее соединений, которые так или иначе связаны с рассматриваемым пакетом.
Образцовый пример превосходства межсетевого экрана с наличием проверки пакетов с учетом состояния потока в сравнении с аналогичными экранами, но без использования в них данной технологии - работа протокола передачи файлов.
Этот протокол инициализирует новый поток под конкретную команду. Сам поток запускается на произвольном порте, большем 1024.
Межсетевой экран при этом будет блокировать такие потоки, по причине того, что он не может установить принадлежность этих потоков к разрешенному протоколу. Однако, при наличии технологии проверки пакетов с учетом состояния потока, такой случай будет адекватно обработан, а сведения о новом потоке будут занесены в таблицу разрешенных потоков, тем самым пропустив сессию в сеть [9].
В методе DCI, помимо определения протокола потока сети, производится распределение потоков по группам, относящимся к определенным сервисам. Также производится определение программного продукта, которое использует данный протокол, и сборка содержимого в пакет, согласно тому формату, который задается приложением [10].
С точки зрения функционала, основной вклад DCI в дополнение к модулю классификации (основной функционал DPI) - набор модулей разбора для различных протоколов прикладного уровня и различных видов данных в различных кодировках (например, MIME), которые они содержат. Функции модулей разбора, сводятся к двум основным:
1. Анализ информации, лежащей в буфере (сетевого пакета или сессионных данных), с опорой на спецификацию формата протокола, для которого есть описание на одном из специальных языков типа ASN.1hP4;
2. Отбор активных подключений для протоколов с установлением соединения и их последующее исследование.
В настоящее время особое место занимает вопрос развития средств DPI и DCI в плане организации централизованной и универсальной системы исследования. Такая реализация обозначается, как некий сервис. Ее идея состоит в том, что в случае наличия в системе разрозненных средств защиты, которые производят анализ трафика различными способами, есть смысл перенести эти модули защиты на отдельную аппаратуру. Такое решение будет проводить исчерпывающее исследование данных сети и передавать его сведения всем устройствам сети, исходя из их специфики.
Смещение приоритетов в сторону такой модели похож на переход к программно-конфигурируемым сетям (Software Defined Networks, SDN) в плане работы с трафиком, где все решения по поводу трафика выносятся SDN - контроллерами, что положительно влияет на масштабируемость системы и дает возможность расширения функционала сети без проведения работ по отладке и перенастройке узлов [11].
Идея использования DPI в формате отдельного аппаратного модуля идеально подходит для создания стандартизированной системы работы с уязвимостями и организации безопасности. Такое решение идеально сочетается с актуальными на сегодняшний день направлениями, где главным аспектом является объединение различных компонентов в одно программно-аппаратное решение, что позволит решить следующий ряд проблем:
• выравнивание нагрузки на сеть;
• возможность кражи важной информации;
• разрозненность компонентов, исследующих трафик.
Самый распространенный план по реализации данной
системы изображен на рисунке 6, где «внешний интерфейс» - это аппаратная часть с работающей на ней DPI. Policy and Charging Rules Function - база данных, которая содержит сведения о настройках безопасности. «Внутренний интерфейс»
- база данных, содержащая статистические данные, информацию о проверке пакетов, а также журналы, содержащие сведения о доступе к ресурсам системы. Также DPI возможно использовать, как средство для сбора полезной информации, межсетевого экрана или как система обнаружения и предотвращения вторжений.
Далее будет продемонстрирован базовый алгоритм действия инфраструктурных методов исследования сетевого трафика, который используется на практике в слабоизмененном виде. Также будут рассмотрены стадии исследования с кратким перечнем их характеристик.
Внутренний ЩЩ
интерфейс JMI
f Серверы J ^^^^tKoMhiyraTopb^J^^t
( Сетевые диски т ^НШ
Внешним интерфейс 113"
PCRFСер&ер
Икгернет
Чтобы передать данные из места сбора до места анализа за-действуется множество протоколов. Список данных, записываемых при анализе, может быть разным от реализации к реализации, однако, можно выделить основные данные, которые используются наиболее часто [14]:
• 1Р адреса источника и адресата;
• протокол транспортного уровня;
• в случае протоколов ТСР/иОР - номера портов источника/адресата [15];
• набор счётчиков: количество переданных пакетов и байт, время создания и завершения потока.
Пограничный шлюз
Рис. 6. Схема использования системы DPI для применения политик к сетевому трафику
Базовый алгоритм инфраструктурных методов
исследования сетевого трафика
Базовый алгоритм исследования сетевых пакетов, подразделяется на следующие этапы, которые проградуированы по степени представления объекта исследования:
1. Сбор данных, находящихся в исследуемых сетевых подключениях. Итогом данного этапа являются полученные пакеты:
• Частичное исследование пакетов - вид анализа, при котором рассматривается не все содержимое пакета, а лишь его некоторая часть. Практика применения такого вида исследования показала его эффективность в решении задачи определения протокола пакета;
• Отбор пакетов по заданным параметрам подразумевает перехват пакетов, удовлетворяющих им, исходя из настроек безопасности системы. С течением времени, данная технология обросла большим количеством методов отбора [12];
• Для систем, где необходима высокая точность исследования трафика, необходимо считывать данные проходящего через узел трафика полностью [13].
2. Распределение пакетов по потокам, с опорой на информацию об их источнике. Такое исследование подразделяется на два вида:
• с учетом данных пакета;
• с учетом данных потока.
Их отличия продемонстрированы на рисунке 7. Анализ с учетом данных потока наиболее распространен по причине низких требований к аппаратной части, что вызвано малым объемом обрабатываемых данных. Данный способ анализа позволяет работать с пакетами, как локально, так и удаленно.
Рис. 7. Различия типичных схем packet (слева) и flow-based (справа) анализа
Стоит заметить, что этот способ достаточно экономно распоряжается ресурсами аппаратной части, но он недостаточно гибок - не позволяет устанавливать число принимаемых данных. Также, во множестве практических задач число потоков не многим меньше числа пакетов, по причине наличия множества непродолжительных потоков, состоящих из небольшого числа пакетов [16]. Чтобы регулировать число таких потоков, была применена технология отбора пакета по заданным условиям.
Однако, по причине ограниченности памяти, устройство не сможет собирать данные одного потока бесконечное количество времени. Поэтому в данной системе вводится параметр, ограничивающий максимальную продолжительность исследования.
3. Выполнение разделения пакетов по протоколам прикладного уровня или веб-приложению. В качестве объекта для исследования выступает поток сети протокола или приложения. Далее над объектом могут производиться дополнительные преобразования, характер которых напрямую связан с решаемой прикладной задачей. В общем случае можно выделить следующие преобразованиях [17]:
• разбор полей протокола (protocol parsing);
• сборка сессии протокола для протоколов с установлением соединения;
• извлечение данных приложения (content extraction) -страниц сайтов (HTML), файлов различных типов (исполняемые, изображения, текстовые документы, и т.д.), электронных писем, аудио-видео потоков и т.д.;
• разбор данных приложения (application content parsing).
Дополнительно стоит обратить внимание на то, что кроме
данных подходов есть другой источник информации о сетевом трафике - это иерархически организованные сведения, доступ к которым происходит при помощи протокола управления сетью [18].
Приложения для сбора, хранения и передачи данных в формате MIB используются во множестве устройств. Обмен информацией происходит по протоколу SNMP. Сведения, получаемые данным способом, обладают небольшим размером и не связаны с каким-либо протоколом. В качестве примера таких характеристик, можно привести сведения о числе пакетов и общем числе байт, прошедших через определенный интерфейс сети на определенном устройстве.
Также стоит заметить, что причиной роста популярности технологий MIB и распределения пакетов по потокам являются споры о законности глубокого анализа трафика, так как исследование трафика с такой точностью посягает на права частной жизни. Поэтому в различных научных трудах, трафик перед проведением высокоточного анализа шифруется с использованием средств защиты информации [19].
Результаты
Разработка программного средства анализа возможностей проведения атак на функции передачи управления консолью операционной системы с применением методов активной разведки
В качестве среды разработки была выбрана IDLE (Integrated Development and Learning Environment) - это интегрированная среда для разработки (и обучения), которая поставляется вместе с Python. Сама IDLE написана на Python с использованием библиотеки Tkinter, поэтому является крос-сплатформенным приложением (может работать на Windows, Mac OS, Linux).
Так же IDLE можно представить как текстовый редактор с подсветкой синтаксиса, автозаполнением, умным отступом и другими функциями для удобства написания кода на Python.
Для разработки графической части программы была выбрана библиотека tkinter - кроссплатформенная библиотека для разработки графического интерфейса на языке Python. Она входит в стандартный пакет библиотек Python.
Данная библиотека обладает следующими достоинствами:
• Поддержка встроенных в Windows форм, окон и элементов;
• Наличие трёх видов упаковщиков (Выравнивание элементов: по краю, по сетке или принудительное присвоение координат);
• Лаконичность кода по сравнению с WinAPI.
Описание работы и тестирование программы
Разработанное программное средство представляет собой утилиту, которая проверяет хосты на наличие уязвимостей функций передачи управления в работающих на них приложениях или веб-сервисах, путем проведения активной разведки - проверки наличия открытых портов, анализа ответа сервера на запросы с искаженными указателями данных.
Данный продукт состоит из следующих модулей:
• список ip list - хранит введенные ip-адресы или ip-маски подсетей;
• список port list - хранит введенные порты;
• список scan results l - хранит результаты сканирования;
• переменные семейства main_ - хранят параметры кнопок графического интерфейса и экземпляр объекта главного окна;
• переменная längs - импортирует из модуля languages список доступных языков;
• список scan sets - хранит настройки выбора активных модулей;
• переменная progress - хранит процентное значение выполнения сканирования для индикации хода выполнения программы;
• operations - расчетная переменная, хранящая в себе число запланированных к выполнению операций;
• step - расчетная переменная, хранящая в себе величину шага для индикации хода выполнения программы;
• hnap timer - переменная, фиксирующая задержку между отправляемыми запросами;
• функция progr add - отвечает за обновления информации о ходе выполнения сканирования и показаний индикатора;
• proxy_pump - класс, подготовленный для запуска в режиме многопоточной обработки, отвечает за поиск небезопасных прокси-серверов;
• proxy scan- функция запуска сканирования прокси-серверов;
• hnap_pump - класс, подготовленный для запуска в режиме многопоточной обработки, отвечает за поиск устройств с уязвимостью по протоколу HNAP;
• hnap scan - функция запуска сканирования уязвимости HNAP;
• ThinkPHP_pump - класс, подготовленный для запуска в режиме многопоточной обработки, отвечает за поиск устройств с уязвимостью в веб-приложении ThinkPHP;
• ThinkPHP scan - функция запуска сканирования уязвимости в ThinkPHP;
• MyAdmin_pump - класс, подготовленный для запуска в режиме многопоточной обработки, отвечает за поиск устройств с уязвимостью в веб-приложении phpMyAdmin;
• MyAdmin scan - функция запуска сканирования уязвимости в phpMyAdmin;
• BruteForce_pump - класс, подготовленный для запуска в режиме многопоточной обработки, отвечает за перебор учетных данных в формах входа;
• BruteForce scan - функция запуска перебора;
• HJS_pump - класс, подготовленный для запуска в режиме многопоточной обработки, отвечает за поиск небезопасных Hudson Java серверов;
• HJSscan - функция запуска сканирования Hudson Java сервера;
• SQLite_pump - класс, подготовленный для запуска в режиме многопоточной обработки, отвечает за поиск небезопасных SQLite серверов;
• SQLite scan - функция запуска сканирования SQLite серверов;
• scan sets ind - функция, устанавливающая флаги в меню выбора модулей сканирования;
• is_port_valid - функция, проверяющая правильность ввода номера порта;
• 15_1р_уаШ - функция, проверяющая правильность ввода 1р-адреса;
• функции value_input_wnd - выполняет отображение различных окон-приглашений ко вводу данных;
• функция гей"е5Ь_1р_роП - сохраняет обновленную информацию о перечне сканируемых 1р-адресов и портов;
• функции семейства всап_ - отвечают за работу окон настроек сканирования, выбора подключаемых модулей;
• функция language_change - отвечает за перезапуск главного окна, при смене языка;
• функция language_settings - отвечает за работу окна настроек языка;
• функция main_window - отвечает за работу окна главного меню.
Состав вспомогательного модуля languges.py:
• словарь ЬОСАЫ2ЕО_§таШС8 - содержит в себе строки локализации для русского и английского языков.
Модули, отвечающие за проведение поиска уязвимостей, работают в рамках теории принятия решений, в частности, производится решение вероятностной задачи, которая выражена следующими условиями:
^ Р > X
где Р - это вероятность возможности существования уязвимости, к - число успешных проверок на уязвимость, N - общее число проверок, реализованных в модулях, х - значение вероятности, в случае превышения которого, есть основание полагать о существовании уязвимости.
Каждый из этих модулей работает по следующей схеме (рис. 8).
При запуске программы пользователю становится доступно главное окно (рис. 9), где есть возможность перейти к настройкам сканирования, указать список модулей для сканирования, а также запустить сканирование и просмотреть результаты его работы
^ MaxnetScanner vQ.1
Панель управления
Настройки сканирования Список модулей
Результаты сканирования Смена языка (Change language)
начать сканирование
Рис. 9. Главное окно программы
В окне настроек сканирования пользователю предоставляется возможность добавления 1Р-адресов узлов и номеров портов для сканирования (рис. 10).
t Настройки скани... - □ X
J Порты
ЩШШ0ШШ в:
ШЩМЙ 3030
t s: si
■j j ттжт ттшт вмш 1030
Рис. 10. Окно настроек параметров сканирования
Выбор модулей для сканирования узлов в сети возможен при помощи окна выбора модулей, доступного из главного меню, пункт «Список модулей» (рис. 11).
Список модулей — □ X
г nepeSop
F HNAP vl.O
Г SQLite Manager
Г PHP my admin
17 ThinkPHP
г Hudson Java Servlet
F Detect proxy servers
Рис. 8. Общая блок-схема работы модуля сканирования уязвимости
Рис. 11. Окно выбора модулей
Стоит отметить, что в отличие от Router Scan, данный продукт запускает модули параллельно и выводит результаты работы модулей раздельно, что позволяет получить более детальную картину о наличии возможных уязвимостей.
Результаты сканирования записываются в специальную таблицу, которая доступна из главного меню по нажатию кнопки «Результаты сканирования» (рис. 12).
Рис. 12. Окно демонстрации результатов поиска уязвимостей
При запуске сканирования откроется специальное окно, в котором пользователю демонстрируется ход выполнения работы, путем заполнения индикатора выполнения, в соответствии с процентом завершения запущенного сканирования (рис. 13).
Рис. 13. Окно индикатора выполнения сканирования
Также в программе реализована возможность смены языка, для этого необходимо в главном окне выбрать пункт «Смена языка (Change language)», вид окна выбора языка показан на рисунке 14.
При выборе языка произойдет перезапуск главного окна для смены строк локализации.
Сравнение с аналогами
В настоящий момент существует множество различных уязвимостей в действующих системах и устройствах. Среди них можно выделить особо распространенные бреши, которые несут наибольшую опасность для пользователей [20-23].
HNAP (Home Network Administration Protocol) - протокол управления домашней сетью, созданный компанией Pure Networks. Дает возможность управлять устройствами сети. В данном протоколе были обнаружены серьезные проблемы безопасности в плане разграничения доступа к объектам системы, поэтому устройства, вышедшие на рынок после 2016 года, более не поддерживают этот протокол.
SQLite Manager - система управления SQLite сервером, реализованная на PHP. Уязвима к выполнению произвольного PHP кода, путем добавления последнего в параметры запроса.
Hudson Java - это серверы семейства Hudson Ci и Jenkins Ci, написанные на Java. Данные системы являются инструментами для непрерывной разработки. Поддержка данного ПО была прекращена в 2016 году. Уязвимы к выполнению произвольного Java кода.
phpMyAdmin - веб-приложение, реализованное на PHP, его основная задача - администрирование базы данных на MySQL. Подвержена атакам типа XSS, SQL инъекциям и экс-плоитам, позволяющим выполнение произвольного кода.
ThinkPHP - это облегченная среда разработки веб-приложений на PHP. В конце 2018 года была обнаружена уязвимость, связанная с использованием метода invokeFunction в теле GET-запроса, что позволяет запускать произвольный код на сервере. Несмотря на выпуск патчей, данная проблем до сих пор выявляется в новых версиях этого фреймворка [24].
В таблице представлено сравнение по возможностям проведения различных атак и работоспособности на различных системах разработанного программного средства с существующими программными продуктами:
Таблица 1
Сравнительный анализ программных средств
Программы Исследуемые возможности RouterScan MaxnetScanner Patrator Retina
Поддержка Windows + + + +
Поддержка Linux + + + +
Перебор + + + -
HNAP + + - +
PhpMyAdmin + + + +
ThinkPHP - + + -
Hudson Java Servlet + + + -
SQLite Manager + + + +
Обнаружение прокси-серверов + + +
Рис. 14. Панель выбора языка
Также были проведены практические испытания, по качеству поиска уязвимостей и затраченному времени на их обнаружение для каждого рассматриваемого программного продукта.
Все тесты проводились в выделенной для испытаний локальной сети. Для достижения максимальной объективности исследования были подобраны веб-приложения, которые могут обладать уязвимостями, обрабатываемыми в рассматриваемых программных продуктах.
Таким образом, в локальной сети были задействованы: два маршрутизатора с поддержкой небезопасной версией HNAP 1, 5 серверов с администрированием при помощи phpMyAdmin, два сервера с фреймворком ThinkPHP, три сервера на Java с расширением Hudson servlet, два SQLite сервера и один прокси-сервер, работающий без шифрования передаваемых данных. Результаты исследования представлены на следующих диаграммах(рис. 15, 16):
Количество найденных уязвимостей
ИНД? 1ЫпкРНР Ишкоп и^ ЬгпН«С ШгМл^г ОРмгрунгмнг
прежи-ЧМН
ИаЛггЬлп V-1.г 1 ^ . * •—Рй*1и —
Рис. 15. Диаграмма числа найденных программами уязвимостей
ПРОДОЛЖИТЕЛЬНОСТЬ РАБОТЫ ПРОГРАММЫ (в СЕКУНДАХ)
Рис. 16. Диаграмма времени работы программ в тестовой локальной сети
В результате проведения исследования было установлено, что полученное в процессе разработки программное средство MaxnetScanner лучше всего показало себя в тестировании систем на предмет наличия в них уязвимости фреймворка ThinkPHP и сервера Hudson Java Servlet, по остальным показателям разработанная программа уступила лишь незначительно в обнаружении уязвимостей в веб-приложении phpMyAdmin.
По быстродействию полученный программный продукт занял второе место среди исследуемых.
Таким образом, исходя из информации, представленной в таблице 1 и на рисунках 15 и 16, программный продукт МахпйЗсаппег, который был разработан в рамках текущего исследования, показал себя конкурентноспособным, превзойдя в некоторых аспектах существующие на рынке программные решения.
Обсуждение
Результатом данной работы является программное обеспечение Мах№18саппег2022, которое выявляет возможность осуществления атаки на функции передачи управления системой, с применением активных средств разведки. Стоит отметить, что данный вид атак достаточно распространен в сети и включает в себя такие методы как: подмена данных в запросе, передача в тело запроса символов, которые сервер может считывать без их экранирования, что может вызвать неадекватное поведение веб-приложения и дать возможность выполнять на стороне удаленного сервера код злоумышленника.
Авторы этого исследования описывают современные подходы к анализу трафика, они приходят к выводу, что выбор метода анализа должен исходить из целесообразности применяемых средств, относительно конкретной задачи, то есть необходимо учитывать размер затрат на анализ, и адекватность его глубины в плане нагрузки на исследуемую систему. Также авторы отмечают, что атаки с применением активных средств разведки являются наиболее опасными по причине того, что они имеют характер массовости, могут распространять вредоносное программное обеспечение и способны дестабилизировать работу системы при помощи простой множественной отправки запросов, которые сервер не может оставить без ответа и тратит свое процессорное время на их обработку.
Изучив свежие статьи об атаках на функции передачи управления системой, авторы сделали заключение, что современные веб-приложения могут быть подвержены таким атакам с применением средств активной разведки, так как на сегодняшний день большинство компаний и различного рода сообществ уделяет недостаточно внимания настройке и тестированию серверов, веб-приложений и сетевых экранов.
Заключение
Результатом проделанной работы является программная реализация модуля, производящего поиск уязвимостей в сетевых узлах.
По ходу выполнения работы были изучены теоретические основы анализа трафика, развитие подходов и методов анализа, а также рассмотрены существующие на сегодняшний день программные решения.
Проанализированы и пошагово описаны алгоритмы анализа трафика.
В программе были реализованы:
• графический интерфейс;
• актуальные шаблоны поиска уязвимостей;
• параллельная работа модулей.
Таким образом, поставленные в научной работе задачи были выполнены, а цели достигнуты. Опыт, полученный в
ходе выполнения исследования и приобретенные навыки, будут полезны в дальнейшем обучении и профессиональной деятельности.
Литература
1. Sniffer, https://www.opennet.ru/base/sec/arp_snif.txt.html, дата обращения 01.06.2022.
2. Lin Y., Lin P. et al. Guest Editorial Deep Packet Inspection: Algorithms, Hardware, and Applications II Proc. IEEE Journal on Selected Areas in Communications, 2014, pp. 1781-1783.
3. Рекомендация МСЭ-Т Y.2770 "Требования к углубленной проверке пакетов в сетях последующих поколений" издание 1.0, 20.11.2012.
4. Рекомендация МСЭ-Т Y.2771 "Структура углубленной проверки пакетов", 01.07.2014.
5. Рекомендация МСЭ-Т Y.2772 "Механизмы сетевых элементов", 29.04.2016
6. Рекомендация МСЭ-Т Y.2773 "Модели и метрики рабочих характеристик углубленной проверки пакетов", 17.02.2017.
7. Филимонов П., Иванов М. Современные подходы к классификации трафика физических каналов сети Интернет II Труды 18-ой Международной конференции (DCCN-2015), 19-22 октября 2015 г. С. 466-474.
8. YichietA., SelvakumarM., Shankar K. A temporal-aware signature extraction method using sliding-window mechanism for scalable, cost-effective and accurate traffic classification II Proc. IEEE ICCSCE, 2017, pp. 156-161.
9. Bosshart P., Daly D., Gibb G. et al. "Programming protocol-independent packet processors. SIGCOMM Computer Communications Review", 2013.
10. Bremler-Barr A., Harchol Y., Hay D., Koral Y. Deep packet inspection as a service II CoNEXT, 2014, pp. 271-282.
11. Gerald C., Gilbert R., Thomas B. Wireshark Go Deep. 2006. Available online: https://www.wireshark.org/ (accessed on 01 Jun2022). дата обращения 01.06.2022.
12. Srisuresh P., Holdrege M. IP Network Address Translator (NAT) Terminology and Considerations. RFC 2663, IETF. 1999. Available online: https://www.hjp.at/doc/rfc/rfc2663.html (accessed on 1 Jun 2022), дата обращения 01.06.2022.
13. Software NAT. http://www.nat32.com/v2/, дата обращения 01.06.2022.
14. DDoS. http://ddos-protection.ru/chto-takoe-ddos, дата обращения 01.06.2022.
15. IANA Service Name and Transport Protocol | Port Number Registry. http://www.iana.org/assignments/service-names-port-numbers/ser-vice-names-port- numbers.xhtml, дата обращения 01.06.2022.
16. Afek Y., Bremler-Barr A., Harchol Y., Hay D., Koral Y. MCA2: multi-core architecture for mitigating complexity attacks II ANCS, pp. 5-6, 2012.
17. Nguyen X.-H., Nguyen X.-D., Huynh H.-H., Le K.-H. Realguard: A Lightweight Network Intrusion Detection System for IoT Gateways II Sensors, 2022, no. 22, 432. https://doi.org/10.3390/s22020432.
18. Abro G.E.M., Zulkifli S.A.B.M., Masood R.J., Asirvadam V.S., Laouti A. Comprehensive Review of UAV Detection, Security, and Communication Advancements to Prevent Threats II Drones 2022, no. 6,284.
19. Oruc A., Amro A., Gkioulos V. Assessing Cyber Risks of an INS Using the MITRE ATT&CK Framework II Sensors 2022, no. 22, 8745.
20. Router Scan v2.60 Beta by Stas'M. Available online: http://stascorp.com/load/l-l-0-56 (дата обращения 01.06.2022).
21. https://drweb.datasystem.ru/catalog/view/645/, дата обращения 01.06.2022.
22. BeyondTrust. Retina Network Security Scanner. Available online: https://www.beyondtrust.com/products/retina-network-security-scanner/, дата обращения 01.06.2022.
23. Электронный сборник статей по материалам XXX студенческой международной научно-практической конференции. Новосибирск: Изд. «СибАК». 2015. № 3 (29) [Электронный ресурс]. Режим доступа. URL: http://www.sibac.info/archive/Technic/3(29).pdf
24. Albalawi M., Aloufi R., Alamrani N., Albalawi N., Aljaedi A., Alharbi A.R. Website Defacement Detection and Monitoring Methods: A Review//Electronics2022,no. 11, 3573.
ANALYSIS OF ATTACKS POSSIBILITIES ON THE OPERATING SYSTEM CONTROL TRANSFER FUNCTION USING ACTIVE INTELLIGENCE METHODS
MIKHAIL M. KAZARYAN
Don State Technical University, Rostov-on-Don, Russia LARISAV. CHERKESOVA
Don State Technical University, Rostov-on-Don, Russia
IRINA V. RESHETNIKOVA
Don State Technical University, Rostov-on-Don, Russia, irina_reshetnikova@mail.ru
ELENA A. REVYAKINA
Don State Technical University, Rostov-on-Don, Russia ABSTRACT
Introduction. This paper examines the possibility of carrying out attacks on console control transfer functions using active reconnaissance methods. Ports are scanned, directories are searched, parameters are modified, and credentials are searched through a user dictionary. Unlike other studies that consider outdated methods for indicating the possibility of attacks, the tool developed by the authors uses the lat-
KEYWORDS: information security, network traffic analysis, cyber attack, network packets, active intelligence, attack vector.
est known attack vectors. Methods: as an example, one such vector is CVE-2018-20062, a vulnerability in the ThinkPHP framework that allows you to gain full control over the server by accessing its console. You can also highlight the vector CVE-2018-12536 - a vulnerability in the DefaultServlet component of the Jetty HTTP server is associated with deficiencies in error handling when using invalid requests. Exploitation of the vulnerability could allow a remote attacker to gain unauthorized access to protected information by displaying an InvalidPathException
message included in the error report. Results: The software developed as part of this research is supplied in the form of two modules; the first module contains the main program with mechanisms implemented in it to indicate the possibility of attacks, with an emphasis on currently relevant web applications and services. Checking for the possibility of an attack for any network node consists of first compiling a list of requests, the purpose of which is to identify the weak points of a web application running on the server, and also compiling a list of expected responses
from the server for these requests. Next, requests are sent to the server, the program waits for responses from the server, and if the expected responses from the compiled list coincide with the actual ones, then this fact signals the possibility of an attack on the web application under study. The second module stores localization dictionaries, which are responsible for the presence of two interface languages in the program - Russian and English.
REFERENCES
1. Sniffer. https://www.opennet.ru/base/sec/arp_snif.txt.html, дата обращения 01.06.2022.
2. Y. Lin, P. Lin, et al., "Guest Editorial Deep Packet Inspection: Algorithms, Hardware, and Applications" // Proc. IEEE Journal on Selected Areas in Communications, 2014, pp. 1781-1783.
3. ITU-T Recommendation Y.2770 "Requirements for advanced packet inspection in next-generation networks" edition 1.0, 11/20/2012.
4. ITU-T Recommendation Y.2771 "Deep Packet Inspection Framework", 07/01/2014.
5. ITU-T Recommendation Y.2772 "Network element mechanisms", 04/29/2016.
6. ITU-T Recommendation Y.2773 "Deep Packet Inspection Performance Models and Metrics", 02/17/2017.
7. P. Filimonov, M. Ivanov, "Modern approaches to traffic classification of physical Internet channels // Proceedings of the 18th International Conference (DCCN-2015)", October 19-22, 2015, pp. 466-474.
8. A. Yichiet, M. Selvakumar, K. Shankar, "A temporal-aware signature extraction method using sliding-window mechanism for scalable, cost-effective and accurate traffic classification" // Proc. IEEE ICC-SCE, 2017, pp. 156-161.
9. P. Bosshart, D. Daly, G. Gibb, et al., "Programming protocol-independent packet processors," SIGCOMM Computer Communications Review, 2013.
10. A. Bremler-Barr, Y. Harchol, D. Hay, Y. Koral, "Deep packet inspection as a service," CoNEXT, 2014, pp. 271-282.
11. C. Gerald, R. Gilbert, B. Thomas, "Wireshark Go Deep". 2006. Available online: https://www.wireshark.org/ (accessed on 01 Jun 2022). дата обращения 01.06.2022.
12. P. Srisuresh, M. Holdrege, "IP Network Address Translator (NAT) Terminology and Considerations. RFC 2663," IETF. 1999.
Available online: https://www.hjp.at/doc/rfc/rfc2663.html (accessed on 1 Jun 2022), дата обращения 01.06.2022.
13. Software NAT http://www.nat32.com/v2/, accessed 01.06.2022.
14. DDoS. http://ddos-protection.ru/chto-takoe-ddos, accessed 01.06.2022.
15. IANA Service Name and Transport Protocol | Port Number Registry. http://www.iana.org/assignments/service-names-port-num-bers/service-names-port- numbers.xhtml, accessed 01.06.2022.
16. Y. Afek, A. Bremler-Barr, Y. Harchol, D. Hay, Y. Koral, "MCA2: multi-core architecture for mitigating complexity attacks," // ANCS, pp. 5-6, 2012.
17. X.-H. Nguyen, X.-D. Nguyen, H.-H. Huynh, K.-H. Le, "Realguard: A Lightweight Network Intrusion Detection System for loT Gateways," Sensors 2022, no. 22, 432. https://doi.org/10.3390/ s22020432.
18. G.E.M. Abro, S.A.B.M. Zulkifli, R.J. Masood, V.S.Asirvadam, A. Laouti, "Comprehensive Review of UAV Detection, Security, and Communication Advancements to Prevent Threats," Drones. 2022, no. 6, p. 284.
19. A. Oruc, A. Amro, V. Gkioulos, "Assessing Cyber Risks of an INS Using the MITRE ATT&CK Framework," Sensors. 2022, no. 22, p. 8745.
20. Router Scan v2.60 Beta by Stas'M. Available online: http://stascorp.com/load/1-1-0-56 (accessed 01.06.2022).
21. https://drweb.datasystem.ru/catalog/view/645/, accessed 01.06.2022.
22. BeyondTrust. Retina Network Security Scanner. Available online: https://www.beyondtrust.com/products/retina-network-secu-rity-scanner/, accessed 01.06.2022.
23. Collection of articles based on the materials of the XXX student international scientific and practical conference. Novosibirsk 2015. No. 3 (29). URL: http://www.sibac.info/archive/Technic/3(29).pdf
24. M. Albalawi, R. Aloufi, N. Alamrani, N. Albalawi, A. Aljaedi, A.R. Alharbi, "Website Defacement Detection and Monitoring Methods: A Review," Electronics, 2022, no. 11, p. 3573.
For citation: Kazaryan M.M., Cherkesova L.V., Reshetnikova I.V., Revyakina E.A. Analysis of attacks possibilities on the operating system control transfer function using active intelligence methods. H&ESReserch. 2024. Vol. 16. No. 3. P. 18-29. doi: 10.36724/2409-5419-2024-16-318-29 (In Rus)