Научная статья на тему 'АВТОМАТИЗАЦИЯ ПРОЦЕССА ТЕСТИРОВАНИЯ УЯЗВИМОСТЕЙ В КОРПОРАТИВНЫХ СИСТЕМАХ НА ОСНОВЕ НЕЙРО-НЕЧЁТКИХ АЛГОРИТМОВ'

АВТОМАТИЗАЦИЯ ПРОЦЕССА ТЕСТИРОВАНИЯ УЯЗВИМОСТЕЙ В КОРПОРАТИВНЫХ СИСТЕМАХ НА ОСНОВЕ НЕЙРО-НЕЧЁТКИХ АЛГОРИТМОВ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
266
54
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОРПОРАТИВНАЯ СЕТЬ / УЯЗВИМОСТЬ / ТЕСТИРОВАНИЕ НА ПРОНИКНОВЕНИЕ / СЕГМЕНТ СЕТИ / НЕЧЁТКИЕ АЛГОРИТМЫ / CORPORATE NETWORK / VULNERABILITY / PENETRATION TESTING / NETWORK SEGMENT / FUZZY ALGORITHMS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Лобанева Екатерина Ивановна, Лазарев Алексей Игоревич

На современном этапе развития технологий информационные системы в корпоративных масштабах получают все большее распространение. Корпоративные системы включают в себя иерархический набор сервисов и служб, постоянно подвергающихся внутренним изменениям конфигурации программно-аппаратной составляющей всего комплекса. Помимо прочего, система может представлять собой концепцию интернета-вещей, совмещающую в себе не только основные устройства, но и дополнительные устройства для организации удобства функционирования взаимодействия конечного пользователя. Такой комплекс за счёт вносимых изменений подвергается постоянным угрозам с точки зрения информационной безопасности, так как наличие ошибки даже в отдельном компоненте может привести к наличию уязвимости, позволяющей получить несанкционированный доступ ко всей системе, а как следствие - несанкционированный доступ к информации и управление целевым объектом. Для изучения таких систем на предмет наличия уязвимостей предлагается разработать информационный продукт, позволяющий автоматизировать процесс поиска и эксплуатации уязвимостей во всей инфраструктуре сети и последующего составления отчётности по различным критериям. Разрабатываемый продукт предназначается для операционной системы семейства Unix, и предполагается в использовании на специализированных операционных системах типа Kali Linux, Parrot Sec, Nethunter и т.д. Рассматривая сегмент корпоративной сети, предполагается организовать поиск уязвимостей за счёт введения нейро-нечётких алгоритмов, осуществляющих поиск по нескольким параметрам, а в случае успеха - вложенный поиск в конкретном сегменте. В качестве входных данных для выполнения нечёткого поиска предполагается использовать базу данных уязвимостей от компании Rapid7. Применение такого подхода позволит выявить уязвимость как в отдельном протоколе взаимодействия системы, так и в операционной системе отдельного объекта, которым может выступать коммутатор или сервер. В результате достижения цели планируется получить автоматизированную систему управления фреймворком Metasploit Framework посредством веб-интерфейса, позволяющую специалисту информационной безопасности оперативно устранить выявленные уязвимости.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Лобанева Екатерина Ивановна, Лазарев Алексей Игоревич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

AUTOMATION OF VULNERABILITY TESTING PROCESS IN CORPORATE SYSTEMS FOR BASIC NEURO-FUZZY ALGORITHMS

At the current stage of technology development, information systems on a corporate scale are becoming more and more widespread. Corporate systems include a hierarchical set of services and services that are constantly subject to internal changes in the configuration of the software and hardware component of the entire complex. Among other things, the system may represent a concept of Internet Things, combining not only the main devices, but also additional devices to organize the convenience of the end user interaction. Such a complex is subject to constant threats from the point of view of information security due to the changes made, since the presence of an error even in a separate component can lead to the presence of a vulnerability that allows to get an unauthorized access to the whole system, and as a result - unauthorized access to information and management of the target object. To study such systems for vulnerabilities, it is proposed to develop an information product that would allow to automate the process of searching and exploitation of vulnerabilities in the whole network infrastructure and subsequent reporting on various criteria. The product under development is intended for the operating system of the Unix family and is intended for use on specialized operating systems such as Kali Linux, Parrot Sec, Nethunter, etc. Considering a corporate network segment, it is assumed to organize a search for vulnerabilities by introducing neutrally fuzzy algorithms that search for several parameters and, if successful, nested search in a particular segment. The Rapid7 vulnerability database is supposed to be used as the input data to perform fuzzy searches. This approach will allow to identify vulnerabilities both in a separate system interaction protocol and in the operating system of a separate object, which may be a switch or server. As a result, it is planned to obtain an automated management system for the Metasploit Framework through a web interface, allowing the information security specialist to quickly eliminate the identified vulnerabilities.

Текст научной работы на тему «АВТОМАТИЗАЦИЯ ПРОЦЕССА ТЕСТИРОВАНИЯ УЯЗВИМОСТЕЙ В КОРПОРАТИВНЫХ СИСТЕМАХ НА ОСНОВЕ НЕЙРО-НЕЧЁТКИХ АЛГОРИТМОВ»

10.36724/2409-5419-2020-12-5-62-73

АВТОМАТИЗАЦИЯ ПРОЦЕССА ТЕСТИРОВАНИЯ УЯЗВИМОСТЕЙ В КОРПОРАТИВНЫХ СИСТЕМАХ НА ОСНОВЕ НЕЙРО-НЕЧЁТКИХ АЛГОРИТМОВ

ЛОБАНЕВА Екатерина Ивановна1

ЛАЗАРЕВ

Алексей Игоревич2

Сведения об авторах:

аспирант кафедры Национального исследовательского университет «Московский энергетический институт», г. Смоленск, Россия, lobaneva94@mall.ru 2студент филиала Национального исследовательского университет «Московский энергетический институт», г. Смоленск, Россия, anonymous.prodject@gmall.com

АННОТАЦИЯ

На современном этапе развития технологий информационные системы в корпоративных масштабах получают все большее распространение. Корпоративные системы включают в себя иерархический набор сервисов и служб, постоянно подвергающихся внутренним изменениям конфигурации программно-аппаратной составляющей всего комплекса. Помимо прочего, система может представлять собой концепцию интерне-та-вещей, совмещающую в себе не только основные устройства, но и дополнительные устройства для организации удобства функционирования взаимодействия конечного пользователя. Такой комплекс за счёт вносимых изменений подвергается постоянным угрозам с точки зрения информационной безопасности, так как наличие ошибки даже в отдельном компоненте может привести к наличию уязвимости, позволяющей получить несанкционированный доступ ко всей системе, а как следствие - несанкционированный доступ к информации и управление целевым объектом. Для изучения таких систем на предмет наличия уязвимостей предлагается разработать информационный продукт, позволяющий автоматизировать процесс поиска и эксплуатации уязвимостей во всей инфраструктуре сети и последующего составления отчётности по различным критериям. Разрабатываемый продукт предназначается для операционной системы семейства Unix, и предполагается в использовании на специализированных операционных системах типа Kali Linux, Parrot Sec, Nethunter и т.д. Рассматривая сегмент корпоративной сети, предполагается организовать поиск уязвимостей за счёт введения нейро-нечётких алгоритмов, осуществляющих поиск по нескольким параметрам, а в случае успеха - вложенный поиск в конкретном сегменте. В качестве входных данных для выполнения нечёткого поиска предполагается использовать базу данных уязвимостей от компании Rapid7. Применение такого подхода позволит выявить уязвимость как в отдельном протоколе взаимодействия системы, так и в операционной системе отдельного объекта, которым может выступать коммутатор или сервер. В результате достижения цели планируется получить автоматизированную систему управления фреймворком Metasploit Framework посредством веб-интерфейса, позволяющую специалисту информационной безопасности оперативно устранить выявленные уязвимости.

КЛЮЧЕВЫЕ СЛОВА: корпоративная сеть; уязвимость; тестирование на проникновение; сегмент сети; нечёткие алгоритмы.

Для цитирования: Лобанева Е.И., Лазарев А.И. Автоматизация процесса тестирования уязвимостей в корпоративных системах на основе нейро-нечётких алгоритмов // Наукоемкие технологии в космических исследованиях Земли. 2020. Т. 12. № 5. С. 62-73. doi: 10.36724/2409-5419-2020-12-5-62-73

Ведение

На данный момент, приоритет безопасности в XXI веке составляют корпоративные клиенты, так как существующие уязвимости в корпоративном сегменте могут подвергать атакам и предоставлять несанкционированный доступ не только к отдельным участкам сети, но и к полному предприятию. Ключевым отличием сегмента такой сети является наличие централизованного управления посредством серверного оборудования — в такой сети все устройства связаны между собой для организации удобства работы и управления. Прежде всего, необходимо понимать, что, злоумышленник, получив доступ к целевому шлюзу и серверному оборудованию, получает доступ ко всей сети [1]. Таким образом, можно сказать, что проблема выявления критических угроз в современном мире информационных технологий стоит на первом месте. Для решения данной проблемы предлагается разработать программный продукт, предназначенный для автоматизации поиска и эксплуатации уязвимостей в определённом участке сети с целью создания отчётов для их устранения [2]. В основу программного продукта планируется интеграция протокола терминального доступа ssh и дополнительного модуля php-ssh2, предназначенного для удобного взаимодействия с пользователем в процессе работы с разрабатываемым модулем [3].

Особенностью разработки данного продукта является возможность работы на мобильных процессорах ARM, что позволяет осуществлять поиск и выявления уязвимо-стей как на мобильных устройствах под управлением OS Android, так и на одноплатных компьютерах, например,

Raspberry Pi [4,5]. Таким образом, в качестве основного языка для разработки ПО был выбран язык программирования Python.

Основная часть

Исследование различных информационных систем в современном мире осуществляется при помощи специализированных программных средств, такие средства представляют собой набор программного обеспечения для поиска и эксплуатации уязвимостей с целью нахождения методов их устранения. В качестве популярно используемых программных средств можно выделить программное обеспечение Nmap и его ответвление с графической оболочкой — Zenmap [6]. Данное программное обеспечение входит в раздел средств, служащих для получения информации

06 устройствах и их программных компонентах в сети.

Nmap позволяет выполнить сканирование сегмента IP-адресов с возможностью выбора различных параметров. Данный инструмент используется в первую очередь для определения установленных операционных систем, запущенных служб и сервисов на хосте [7]. В качестве входных параметров выступает целевой IP-адрес и специфичный набор параметров сканирования, а в качестве выходных — массив данных с заголовком исследуемой сети и набор обнаруженных параметров. В графическом интерфейсе интерфейс программы Zenmap выполнено сканирование сети, в качестве целевого IP-адреса выступает «192.168.1.1/24». Также на рассматриваемом рисунке видно, что была обнаружена операционная система Windows

7 с IP-адресом «192.168.1.16» (рис. 1).

П - и я

» Scan Canrrl

San Tools Profite Help

TargeC 192.168 JJ/24

« Profite: Intensesan

Command: nmap-T4-A-v 192.16В 1.Ш4

Hosts Services Nmip Output Ports I Hosts Topology Host Details Scire u ид,. v nmap-sV 192.168.1.1/24

Л|Ш-Щ|М~ iSMrtUb*)

^ДТТВПГЯ OS: Linux; (РЕ: cpe : /о: Unux : linux kernel

wiap scan report for n>**n Most IS up (e.0043s latency! ТЯЖЕЕЯИ W closed

|P0RT

î/tcp 115/tip 139/tcp 222/tcp 44S/tcp 2«U/tcp 3357/ttp MIS/tcp 6969/tcp 3009/tcp

U91S2/tcp орал

SERVICE

do-.ilr_

asrpc

netbias-ssn tcpwrapped|

microsoft-ds Hicrosoft Windows 7 - 10 »icrosoft-ds (wrltq tcpwr*pp*d|

Hicrosoft windows RPC| Microsoft Windows netbios-s

Рис. 1. Программный интерфейс ПО Zenmap

При использовании терминального режима предлагается использовать парсинг строк для представления строки как входного параметра в виде нечёткого множества. В результате работы нечёткого модуля исходная строка преобразуется в строку, соответственно которая в дальнейшем сравнивается с исходными данными из выборки эксплойтов [8]. Так, рассматривая параметры эксплойтов важно определить ключевые параметры целевой OC-MAC-адрес, IP-адрес, наличие открытых портов и запущенных служб.

На данном этапе предлагается введение нечёткой логики ввиду того, что решение данной проблемы при помощи описания алгоритмической составляющей в простом виде невозможно [9]. Разрабатываемая модель должна обеспечивать оптимизацию процесса принятия решений на основе базы знаний. В основе такой модели заложен принцип применения нейронных сетей, так как именно они позволяют выполнить автоматическое преобразование исходных данных в базу знаний. Внедрение нейро-сетевых технологий в процесс решения задач подобного типа позволит сравнивать как известные параметры с их исходными значениями, так и выполнять прогнозирование исхода применения таких параметров в процессах тестирования на проникновение.

Рассматриваемую нечёткую логику в данном случае можно представить как интеграцию гибридной нейронной системы, так как в процессе реализации программного продукта предполагается использовать систему нечётких правил в основе которых заложен принцип нейронный сетей. В данном случае, применение гибридной системы позволит также формировать отчёт по наличию уязвимостей на основе нечёткой информации. Структура нечёткого модуля представляет собой фаззификатор, блок нечёткого вывода и дефаззификатор.

Для рассматриваемой модели предлагается использование нечёткой логической информации, которая представляет собой выходной параметр сканирования сети, например, входным параметром модели может являться строка вида «95.63.173.34 B8: E5:51:14: CD: B9 Windows Server 2019 \n 96.63.173.34 3389 tcp Microsoft Remote Desktop Service». На этапе фаззификации значение входного параметра приводится в нечёткое множество. Исходя из данной строки алгоритм позволяет определить целевую ОС, открытый порт и службу, расположенную на данном порте. С другой стороны — использование базы знаний позволит обучать систему на основе результатов предыдущих сканирований. Так, каждое последующее сканирование позволит выполнять более точную оценку результатов.

Далее выполняется обработка поиска уязвимости, или эксплойта в базе данных Rapid7. Для взаимодействия с входными параметрами предлагается использование эксплойтов, доступных в Metasploit Framework. Metasploit Framework — фреймворк, позволяющий осуществлять по-

иск и эксплуатацию уязвимостей в конкретной системе по различным параметрам [10-12]. Данный продукт включает в себя базу данных о существующих уязвимостях, набор модулей для разработки собственных эксплойтов, а также модули для организации пост эксплуатации системы [13]. Для разработчиков Metasploit предоставляет API взаимодействия — RPC API. При помощи данного API предполагается тестирование уязвимости и дальнейший вывод отчёта, который будет выступать выходными параметрами обучаемой модели.

Рассматривая базу данных Rapid7, можно сказать, что количество уязвимостей для устройств разных типов процессоров возрастает с каждым днём. Среди типов уязвимостей выделяют:

- dos, представляет собой атаку с применением массива мощностей для доведения рабочих станций до состояния отказа. В данном состоянии целевое устройство становится уязвимым для более гибких уязвимостей.

- local, данный тип уязвимостей требует прямого доступа к целевому устройству. Такой тип целесообразно применять, если у атакующего лица есть права управления устройством.

- remote, таковой тип уязвимостей является наиболее гибким в применении, так как он требует лишь доступ к целевому устройству из внешней сети, например доступ по домену к службе удалённых рабочих столов.

- webapps, представляет собой тип атак на веб-приложения. Данный тип атак позволяет проводить тестирование уязвимостей в системах, написанных на языке php.

Таким образом можно выделить алгоритм работы проектируемого программного обеспечения в соответствии с разрабатываемой нечёткой моделью (рис. 2).

Как видно из алгоритма выше, на первом этапе программное обеспечение осуществляет сканирование открытых портов и служб рассматриваемой сети. Затем, полученный массив данных подаётся в качестве входных данных в модуль нечёткости, представленный в блоке 2 (рис. 2). Полученный на предыдущем этапе массив вначале выполняет фаззификацию параметров, то есть осуществляет процесс приведения известного значения к нечёткости. В качестве входных параметров в процессе разработки данной системы использовались параметры локального сервера с операционной системой Microsoft Windows Server 2019, в качестве IP-адреса использовался адрес «192.168.1.100», также были запущены различные службы с наличием некоторых уязвимостей в системе безопасности. Рассматриваемый массив данных подразделяется на несколько диапазонов значений, которые представляются в численном коэффициенте, который соответственно определяет возможность риска несанкционированного доступа к системе. На этапе дефаззификации выполняется преобразование полученного нечёткого множества в точное зна-

Рис. 2. Структурная схема работы алгоритма

чение — таким образом на выходе получается система нечёткого вывода. В качестве основного вывода применяется метод типа Мамдани [14].

Модель нечёткого модуля была разработана в ПО Fizzy Logic Designer — модуля ПО Mathlab. Также была разработана база нечётких правил, подстроенная под язык программирования, на котором разрабатывается программное обеспечение (python), согласно которой происходит анализ входных данных — параметров системы. Диапазоны значений состоит из результата в процентном соотношении в пределах [0; 100], в результате работы модуля получаем следующие значения результатов совпадения:

- низкий [0-30];

- допустимый [30-80];

- высокий [80-100].

Рассматриваемый результат совпадения напрямую зависит от типа операционной системы, количества открытых портов и запущенных служб. В случае, если количество служб на портах достигает отметки в 10 результатов, то итоговый результат эксплуатации достигает высокого уровня [80-100], если результат в среднем соотношении запущенных служб равен 2-3 и количество открытых портов 3-6, то результат эксплуатации возможно оценить как средний уровень [30-80]. Если количество

служб равно единице и количество открытых портов составляет 1-2, то результат, соответственно, можно оценить как низкий [0-30]. Разделение каналов открытых портов и запущенных служб связано напрямую с тем фактором, что в целях безопасности рекомендуется менять стандартные порты запущенных служб, таким образом, открытый порт может не соответствовать запущенной службе на целевом устройстве.

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

Исходя из правил, представленных на рисунке выше, конечная модель проектируемой сети будет иметь следующий вид (рис. 4):

На следующем этапе выполняется взаимодействие выходных параметров нечёткого модуля с средой Metasploit Framework (MSF) посредством Remote Procédure Call (RPC). Application Programming Interface (API) позволяет управлять продуктами Metasploit за счёт использования служб удалённого вызова процедур, в основе которого используется протокол HTTP. RPC представляет собой службу серверного типа, представляемую как набор типов и методов, которые в совокупности представляют интерфейс взаимодействия веб-приложений.

Рис. 3. Набор нечётких правил

Рис. 4. Модель нечёткого модуля сканирования сети

Данный модуль позволяет работать как в локальной, так и в удалённой среде и выполнять ряд задач, среди которых можно выделить запуск модулей, работа с сессиями, базами данных и отчётами.

В данном случае, сервер MSF RPC получает входные параметры об эксплуатируемой уязвимости, а затем выполняет поиск совпадений в базе данных, и в случае найденного совпадения — выполняет эксплуатацию уязвимости на возможность организации несанкционированного доступа. Если в результате запроса от сервера на целевое устройство, например, ПК, эксплойт успешно выполняется, то на сервере Metasploit открывается сессия Meterpreter.

Еще одной особенностью работы рассматриваемого модуля можно выявить возможность удалённого расположения сервера Metasploit Framework RPC. В результате выполнения модуля в отчёт заносится информация о возможной найденной уязвимости и результатах тестирования на реальной модели. Для демонстрации схемы взаимодействия службы Metasploit RPC предлагается рассмотреть схему, изображённую ниже (рис. 5).

Модуль Metasploit Framework RPC в качестве заголовка подразумевает ввод следующих параметров выполнения эксплойта:

- наименование эксплойта;

Рис. 5. Структурная схема работы модуля Metasploit Framework RPC

- целевой хост;

- дополнительные параметры.

Для тестирования работоспособности системы был разработан модуль, который передаёт параметры сканирования сети в модуль msfvenom. MSFvenom — утилита из состава программного продукта Metasploit Framework, которая включает в себя стандартизированный инструмент для проведения тестирования на проникновение. Рассмотрим работу данного модуля на предмет наличия уязвимых устройств в сегменте сети:

1. Выполняется поиск доступных устройств с параметрическими данными.

2. Выполняется парсинг результатов xml в формат поиска эксплойтов в базе данных.

3. Результат выполнения предыдущей команды преобразуется в строку генерации полезной нагрузки и выполняемого эксплойт.

4. Выполняется запуск полезной нагрузки, ожидающей открытия сессии meterpreter.

5. Результат ответа сессии meterpreter заносится в соответствующую базу знаний и выполняется формирование отчёта.

Тестирование разрабатываемого модуля производилось с мобильного устройства на платформе OS Android с установленной системой Nethunter и набором модулей Metasploit Framework [15]. Также была проверена работоспособность модуля на одноплатном компьютере Raspberry Pi под управление Raspbian OS. Для примера модуль эксплуатации был протестирован в уязвимой корпоративной сети — в данном случае применялся модуль эксплуатации уязвимости сетевого оборудования [16]. Наличие таковой уязвимости позволило получить доступ сразу к определённому сегменту сети. Тестируемым оборудованием выступал роутер D-LINK DIR-645. В результате выполненного анализа был определён IP адрес терминала. На рисунке ниже представлена схема входа в систему посредством веб-интерфейса для изменения конфигурации терминала

(рис. 6). Как видно из схемы, после ввода конфиденциальных данных, программная составляющая роутера отправляет запрос к файлу конфигурации, в котором хранится пароль администратора. Важным примечанием является то, что стоит различать права входа в роутер, так как учётная запись администратора не всегда позволяет изменять все настройки роутера, в тоже время пароль, хранящийся в конфигурационном файле, позволяет полностью контролировать функциональность терминала.

На следующем этапе был определена ключевая уязвимость, именуемая как «D-Link authentication.cgi Buffer Overflow». Данная уязвимость позволять выполнить экспорт настроек устройства в локальное хранилище. Исходя из данной уязвимости представляется возможным получить пароль администратора, так как в данной модели терминала он сохранён в незашифрованном виде. Таким образом, в результате работы разработанного модуля выл получен файл настроек. Для наглядного восприятия работы разрабатываемого модуля прогресс выполнения условно был разделён на несколько подпроцессов, представленных терминалами — поиск устройств в сегменте, анализ возможных уязвимостей по исходным данным, применение найденной уязвимости (рис. 7).

В результате определения модели роутера, программный модуль выполнил успешный поиск уязвимости, которая впоследствии была эксплуатирована — таким образом был получен доступ к системе распределения портов, и соответственно, в корпоративном сегменте данный доступ позволяет в дальнейшем получить доступ к другим устройствам по различным протоколам прямого доступа к терминальной оболочке или графическому интерфейсу посредством ssh, vnc, rdp, или доступ к файловому серверу при помощи протоколов ftp, smb, nfc. В результате тестирования программного модуля были выявлены некоторые закономерности для обеспечения корректной работы с роутерами, так как в реализуемом примере количество портов не играет роли — работоспособность эксплойта

ИНФОРМАТИКА, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И УПРАВЛЕНИЕ

Запрос к файлу конфигурации

Рис. 6. Схема входа в панель администратора целевого терминала

Flic Actions Edit View Http

Medule_l♦Enter target ip address:

192.168.43.22

*oiJule_l, Scann inj ...

Starting Мыр 7,ЙО ( https://iHap.org ) at 2в2*-Л7-17 19:05 UtC Detected router on gateway 192.168.43.22 *odule_l.Scanned, writed in Mil

■* Daci*enti Q

ModulO,iaport source file Module,2.Find exploit in database...

Module^?.Exploit D-Link authentificatiotwcgi Buffer Overflow found Module^. Exploitation via MSF JtPC ...

QStandardPjths: XOG_RUMTIME_OIR not set. defaulting to '/tmp/t

unti«*-root"

Properties constructor called

TRAM51ATIQH5_DIR- Loading translation file 'qteminal.c.qai- fro« dir /usr/s

haro/qterminal/transIat ions

load success: falsa

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

QOir:: exists: Eapty or null file naae

Ca not open file Vroot/.config/qterainal.orj/qterainal.bookxarks.xal" Trying to load translation file fro« dir VusrAocal/share" Trying to load translation file fron dir "/usr/share*

Trying to load translation file fro* dir Vusr/share/qtemvldgetS/mnslati ons*

J>] Starting the Hetasploit Fraw*ork conSole .../

Рис. 7. Условная работа разрабатываемого модуля

в данном случае обеспечивалась за счёт одного порта, 80 (http), на котором расположена веб-служба управления терминалом. В результате тестирования в модель нечёткой логики был интегрирован новый флаг «router» и ряд правил для обеспечения корректного взаимодействия с сетевым оборудованием.

На завершающем этапе выполняется обработка полученных результатов от службы удалённого вызова процедур — за счёт API организуется вывод результатов в процентном сообщении о найденных уязвимостях и формируется отчёт в виде веб-страницы. Для автоматизации взаимодействия модуля с пользователем был разработан веб-интерфейс, который позволяет выполнять анализ сегмента сети, выполнять соответствующие запросы к базе данных пользователей и производить тестирование целевой системы на наличие уязвимостей.

Веб-интерфейс взаимодействия представляет собой среду, расположенную на сервере MSF RPC, и содержит набор основных компонентов для взаимодействия с пользователем:

- страница dashboard содержит основные статусные параметры, по которым пользователь может определить версию фреймворка Metasploit, статус запущенных служб в системе;

- страница exploit содержит главное меню разрабатываемого модуля, пользователю предлагается ввести основной параметр поиска—целевой ip адрес;

- страница report отображает отчётность по выполненным задачам пользователя.

На странице Dashboard расположены основные элементы управления сервисами системы и разрабатываемого модуля, также приведена краткая статистика по наличию выявленных угроз в системе. Среди основных управляемых сервисов можно выделить сервисы Metasploit, вебсервер и сервисы управления дополнительными режимами программного модуля — расширенный режим и автоматический анализ уязвимостей при помощи нейронных сетей (рис. 8). При проектировании веб-интерфейса использовался модуль php-ssh2, так как при помощи данного модуля целесообразно реализовать управление терминальными командами по протоколу ssh [17]. Основное взаимодействие с терминальной оболочкой осуществляется за счёт отправки соответствующей команды в фоновый процесс терминала — например, для запуска одно из сервисов, представленных на изображении, ниже используется команда типа «service nginx start».

На странице Exploit представлено основное меню управления основным функционалом разрабатываемого модуля. Вкладка Auto Exploitation предполагает автоматический поиск и анализ уязвимостей на основе выбранных параметров — сетевого интерфейса и целевого IP адреса. Также пользователю доступно несколько автоматизированных команды — поиск уязвимости, тестирование и сброс параметров. Для удобства пользователю предлага-

Рис. 8. Веб-интерфейс управления. Страница Dashboard

ется как самостоятельный ввод сетевого интерфейса, так и получение доступных на основе вывода команды терминала (рис. 9).

Вкладка Advanced Exploitation предполагает возможность задания дополнительных целевых параметров, например, если известны такие параметры как целевой порт или рассматриваемая уязвимость, то пользователь их может задать для выполнения целевого тестирования. Также была добавлено ещё одно поле param для ввода дополнительных

параметров, например, дополнительного порта или специфичной полезной нагрузки (рис. 10). Помимо прочего на данной странице была интегрирована система логирования действий — так аудитор сможет наблюдать за состоянием Metasploit и общим прогрессом выполнения задачи.

Следующий модуль необходим для просмотра подбородных отчётов по найденным уязвимостям. В данном случае пользователю предоставляется подробная информация о наименовании уязвимости, системной директории

Рис. 9. Веб-интерфейс управления. Страница Exploit - Auto Exploitation

70

Рис. 10. Веб-интерфейс управления. Страница Exploit - Advanced Exploitation & Status log's

её использования, статус—является ли уязвимость применимой в целевой системе, используемый порт уязвимости, дата и статус применения (рис. 11). Также пользователю доступна сортировка и поиск уязвимостей по различным параметрам.

Помимо прочего, в веб-панели управления пользователю предоставляется возможность настройки параметров сетевого адреса — данный подход применим, если сервер MSF RPC доступен по доменному имени.

Также, в веб-интерфейсе реализована система настройки параметров удалённого доступа к требуемым службам. Использование такого подхода является целесообразным, так как позволяет разместить веб-интерфейс управление на рабочем устройстве, и удалённо управлять службами Metasploit Framework RPC, запущенными на сервере.

Заключение

Таким образом в результате написания программного модуля для автоматизации процесса тестирования на проникновение был выявлен новый подход при проектировании системы—интеграция нейро-нечётких технологий, позволяющих автоматизировать прогресс работы отдельных функций системы, в которых отсутствует наличие чётких входных параметров. Применение разработанных правил в системе моделирования нечётких сетей Fuzzy Logic Designer позволило в дальнейшем интегрировать их в раз-

рабатываемый модуль. Также использование нечётких правил позволило определить уровни эксплуатации целевого устройства за счёт использования базы данных Rapid7.

Подводя итог можно сказать, что в результате разработки ПО были изучены методы взаимодействия веб-интерфейсов — программный модуль php-ssh2 позволяет при помощи интерпретатора использовать различные функции для выполнения идентификации по протоколу SSH, выполнять различные команды на сервере, а также получать массив выходных данных, что позволяет фиксировать изменения в отдельных процессах системы на уровне веб-интерфейса. В результате разработки модуля было выявлено, что использование нейронных технологий и веб-интерфейса при автоматизации процессов в прикладном программном обеспечении позволяет упростить удобство их применения. Также было выявлено, что при разработке стоит учитывать мультиплатформенность разрабатываемого программного обеспечения, так как набор используемых в работе модулей совместим с процессорами на архитектуре ARM, соответственно, возможен запуск программного модуля и веб-оболочки на портативных устройствах.

Литература

1. Doug L. Networking All-in-One For Dummies. United States: For Dummies, 2018. 992 p.

Рис. 11. Веб-интерфейс управления. Страница Report

2. Vijay K.V, Robert B. Mastering Kali Linux for Advanced Penetration Testing: Secure your network with Kali Linux 2019.1 — the ultimate white hat hackers' toolkit. 3rd ed. Birmingham: Packt, 2019. 548 p.

3. Robin N. Learning PHP, MySQL & JavaScript: With jQuery, CSS & HTML5 (Learning PHP, MYSQL, Javascript, CSS & HTML5). 5th ed. Newton: O'Reilly Media, 2018. 832 p.

4. Derek M. Exploring Raspberry Pi: Interfacing to the Real World with Embedded Linux. 1st ed. Hoboken: Willey, 2016. 720 p.

5. Андрианов В. И., Юркин Д. В., Стасюк В. В. Разработка пентест лаборатории // Наукоемкие технологии в космических исследованиях Земли. 2019. № 4. С. 56-64.

6. Paulino C. Nmap: Network Exploration and Security Auditing Cookbook — Second Edition: Network discovery and security scanning at your fingertips. 2nd Revised ed. Birmingham: Packt Publishing, 2019. 416 p.

7. Sairam J., Sagar R. Securing Network Infrastructure: Discover practical network security with Nmap and Nessus 7. Birmingham: Packt Publishing, 2019. 538 p.

8. Hamza M. Penetration Testing with Shellcode: Detect, exploit, and secure network-level and operating system vulnerabilities. Birmingham: Packt Publishing, 2018. 538 p.

9. Мелихова О. А., Гайдуков А.Б., Джамбинов С. В., Чумичев В. С. Методы поддержки принятия решений на основе нейронных сетей // Актуальные проблемы гуманитарных и естественных наук. 2015. № 9-1. С. 52-59.

10. Glen D. Learn Kali Linux 2019: Perform powerful penetration testing using Kali Linux, Metasploit, Nessus, Nmap, and Wireshark. Birmingham: Packt Publishing, 2019. 550 p.

11. SagarR. Metasploit 5.0 for Beginners: Perform penetration testing to secure your IT environment against threats and vulnerabilities. 2nd ed. Birmingham: Packt Publishing, 2020. 246 p.

12. Nipun J. Metasploit Bootcamp: The fastest way to learn Metasploit. Birmingham: Packt Publishing, 2017. 230 p.

13. Красов А. В., Штеренберг С. И., Москальчук А. И. Методология создания виртуальной лаборатории для тестирования безопасности распределенных информационных систем // Вестник Брянского государственного технического университета. 2020. № 3 (88). С. 38-46.

14. Sebastian R., Vahid M. Python Machine Learning — Second Edition: Machine Learning and Deep Learning with Python, scikit-learn, and TensorFlow. 2nd ed. Birmingham: Packt Publishing, 2017. 622 p.

15. Glen D., Sean-Philip O. Hands-On Penetration Testing with Kali NetHunter: Spy on and protect vulnerable ecosystems using the power of Kali Linux for pentesting on the go. 1st ed. Birmingham: Packt Publishing, 2019. 459 p.

16. Jordan K. Mastering Windows Server 2019: The complete guide for IT professionals to install and manage Windows Server 2019 and deploy new capabilities. 2nd ed. Birmingham: Packt Publishing, 2019. 524 p.

17. Дэвид С. Изучаем PHP 7. Руководство по созданию интерактивных веб-сайтов. М.: Вильямс, 2017. 464 с.

AUTOMATION OF VULNERABILITY TESTING PROCESS IN CORPORATE SYSTEMS FOR BASIC NEURO-FUZZY ALGORITHMS

EKATERINA I. LOBANEVA

Smolensk, Russia, lobaneva94@mail.ru

KEYWORDS: corporate network; vulnerability; penetration testing; network segment; fuzzy algorithms.

ALEXEY I. LAZAREV

Smolensk, Russia, anonymous.prodject@gmail.com

ABSTRACT

At the current stage of technology development, information systems on a corporate scale are becoming more and more widespread. Corporate systems include a hierarchical set of services and services that are constantly subject to internal changes in the configuration of the software and hardware component of the entire complex. Among other things, the system may represent a concept of Internet Things, combining not only the main devices, but also additional devices to organize the convenience of the end user interaction. Such a complex is subject to constant threats from the point of view of information security due to the changes made, since the presence of an error even

in a separate component can lead to the presence of a vulnerability that allows to get an unauthorized access to the whole system, and as a result - unauthorized access to information and management of the target object. To study such systems for vulnerabilities, it is proposed to develop an information product that would allow to automate the process of searching and exploitation of vulnerabilities in the whole network infrastructure and subsequent reporting on various criteria. The product under development is intended for the operating system of the Unix family and is intended for use on specialized operating systems such as Kali Linux, Parrot Sec, Nethunter, etc. Considering a

corporate network segment, it is assumed to organize a search for vulnerabilities by introducing neutrally fuzzy algorithms that search for several parameters and, if successful, nested search in a particular segment. The Rapid7 vulnerability database is supposed to be used as the input data to perform fuzzy searches. This approach will allow to identify vulnerabilities both in a separate system interaction protocol and in the operating system of a separate object, which may be a switch or server. As a result, it is planned to obtain an automated management system for the Metasploit Framework through a web interface, allowing the information security specialist to quickly eliminate the identified vulnerabilities.

REFERENCES

1. Doug L. Networking All-in-One For Dummies. United States: For Dummies, 2018. 992 p.

2. Vijay K.V, Robert B. Mastering Kali Linux for Advanced Penetration Testing: Secure your network with Kali Linux 2019.1 - the ultimate white hat hackers' toolkit. 3rd ed. Birmingham: Packt, 2019. 548 p.

3. Robin N. Learning PHP, MySQL & JavaScript: With jQuery,, CSS & HTML5 (Learning PHP, MYSQL, Javascript, CSS & HTML5). 5th ed. Newton: O'Reilly Media, 2018. 832 p.

4. Derek M. Exploring Raspberry Pi: Interfacing to the Real World with Embedded Linux. 1st ed. Hoboken: Willey, 2016. 720 p.

5. Andrianov V.l., Yurkin D. V., Stasyuk V.V. Development pentest laboratories. H&ES Research. 2019. Vol. 11. No. 4. Pp. 56-64. doi: 10.24411/2409-5419-2018-10279 (In Russian)

6. Paulino C. Nmap: Network Exploration and Security Auditing Cookbook - Second Edition: Network discovery and security scanning at your fingertips. 2nd Revised ed. Birmingham: Packt Publishing, 2019. 416 p.

7. Sairam J., Sagar R. Securing Network Infrastructure: Discover practical network security with Nmap and Nessus 7. Birmingham: Packt Publishing, 2019. 538 p.

8. Hamza M. Penetration Testing with Shellcode: Detect, exploit, and secure network-level and operating system vulnerabilities. Birmingham: Packt Publishing, 2018. 538 p.

9. Melihova O. A., Gajdukov A. B., Dzhambinov S. V., Chumichev V. S.

Metody podderzhki prinjatija reshenij na osnove nejronnyh setej [Methods for decision support based on neural networks]. Aktual'nye problemy gumanitarnyh i estestvennyh nauk. 2015. No. 9-1. Pp. 5259. (In Rus)

10. Glen D. Learn Kali Linux 2019: Perform powerful penetration testing using Kali Linux, Metasploit, Nessus, Nmap, and Wireshark. Birmingham: Packt Publishing, 2019. 550 p.

11. Sagar R. Metasploit 5.0 for Beginners: Perform penetration testing to secure your IT environment against threats and vulnerabilities. 2nd ed. Birmingham: Packt Publishing, 2020. 246 p.

12. Nipun J. Metasploit Bootcamp: The fastest way to learn Metasploit. Birmingham: Packt Publishing, 2017. 230 p.

13. Krasov A. V., Sterneberg S. I., Moskalchuk A. I. Metodologija sozdanija virtual'noj laboratorii dlja testirovanija bezopasnosti raspre-delennyh informacionnyh system [Methodology for creating a virtual laboratory for testing the security of distributed information systems]. Vestnik Brjanskogo gosudarstvennogo tehnicheskogo universiteta. 2020. No. 3 (88). Pp. 38-46. (In Rus)

14. Sebastian R., Vahid M. Python Machine Learning - Second Edition: Machine Learning and Deep Learning with Python, scikit-learn, and TensorFlow. 2nd ed. Birmingham: Packt Publishing, 2017. 622 p.

15. Glen D., Sean-Philip O. Hands-On Penetration Testing with Kali NetHunter: Spy on and protect vulnerable ecosystems using the power of Kali Linux for pentesting on the go. 1st ed. Birmingham: Packt Publishing, 2019. 459 p.

16. Jordan K. Mastering Windows Server 2019: The complete guide for IT professionals to install and manage Windows Server 2019 and deploy new capabilities. 2nd ed. Birmingham: Packt Publishing, 2019. 524 p.

17. David S. Learning PHP: A Gentle Introduction to the Web's Most Popular Language. 1st ed. Newton: O'Reilly Media, 2016. 416 p.

INFORMATION ABOUT AUTHORS:

Lobaneva E.I., Postgraduate at the Department of PMII, National Research University Moscow Power Engineering Institute; Lazarev A.I., Student, Branch of the National Research University Moscow Power Engineering Institute in Smolensk.

For citation: Lobaneva E.I., Lazarev A.I. Automation of vulnerability testing process in corporate systems for basic neuro-fuzzy algorithms. H&ES Research. 2020. Vol. 12. No. 5. Pp. 62-73. doi: 10.36724/2409-5419-2020-12-5-62-73 (In Rus)

i Надоели баннеры? Вы всегда можете отключить рекламу.