СИСТЕМА И СПОСОБ СКАНИРОВАНИЯ ЗАЩИЩЕННОСТИ ЭЛЕМЕНТОВ СЕТЕВОЙ АРХИТЕКТУРЫ
SYSTEM AND METHOD FOR SCANNING SECURITY OF ELEMENTS OF NETWORK ARCHITECTURE

ОБЛАСТЬ ТЕХНИКИ
Изобретение относится к области вычислительной техники, в частности может применяться в области информационной безопасности, а именно к технологиям, направленным на управление удаленным сканированием большого количества элементов сетевой архитектуры.
Сканеры в контексте данной заявки - это программные или аппаратные средства, служащие для осуществления диагностики и мониторинга элементов сетевой архитектуры, позволяющие сканировать сети, компьютеры и приложения на предмет обнаружения возможных проблем в системе безопасности, оценивать и передавать информацию для устранения уязвимостей.
Современные сканеры используются в разных частях сети, что позволяет получить наиболее полную информацию о текущем состоянии защищенности информационной системы. Распределенная архитектура современных сканеров безопасности позволяет консолидировать данные об обнаруженных уязвимостях и недостатках в одном месте. В связи с этим появляется возможность отслеживать изменения в информационной системе путем автоматизированного сравнения данных по завершению сканирований в различное время и следить за изменениями постоянно.
УРОВЕНЬ ТЕХНИКИ
Из уровня техники известно решение CN 105429955 В «А kind of detection method of long-range loophole» от 11.12.2018. Известное из уровня техники решение раскрывает разновидность способов, включающих в себя шаги, на которых: создается узел сканирования; добавляется адрес сканирования и выбранные параметры сканирования; запускается сканирование, причем выбирается параметр, который необходимо сканировать в указанном ранее узле, проверяют результат сканирования, причем на этом шаге можно получить список уязвимостей целевого веб-сайта после завершения сканирования, который содержит подробную информацию об уязвимости целевого веб-сайта; причем серверная часть управляет узлом сканирования и использует балансировку нагрузки: узел сканирования может быть как удален, так и добавлен в любое время.
Отличие описанного выше известного из уровня техники решения, заключается в том, что:
1) задачи на сканирование добавляются в ручном режиме, в нашем решении они создаются на основании шаблонов в больших количествах, а пользователь, в частности, может лишь одобрять или отклонять их выполнение, кроме того предложенная система может работать полностью в автоматическом режиме.
2) в рассматриваемом документе работа осуществляется по схеме: пользователь создает задачу; далее происходит ее выполнение и выводится результат. В описанном нами решении задачи создаются сами на основании информации, которую находит сама система сканирования без участия пользователя, а далее выводится подробный отчет о проведенном сканировании, если рассмотрены все возможные пути решения задачи. При этом такие детали, как использование python, golang, django, баз уязвимостей, CMS и пр. не совпадает с реализацией указанного нами решения.
Из уровня техники также известна патентная заявка US 2004/0193918 А1 «Apparatus and method for network vulnerability detection and compliance assessment» в котором описан способ защиты сети, который включает: ввод данных в модуль сканирования; первый этап сканирования сети с помощью первого инструмента из указанного модуля сканирования; и представление результатов указанного первого этапа сканирования и дополнительно содержащий второй этап сканирования сети вторым инструментом упомянутого модуля сканирования.
Отличие решения, представленного в патентной заявке US 2004/0193918 А1, от решения, которое будет раскрыто далее, заключается в том, что:
1) в описанном нами решении нет четко определенного количества «scanning module», так как их число динамично - новые модули подключаются при необходимости в зависимости от потребности пользователя.
2) так между модулями «User Data» и «Network Parameter Input Module» в нашем решении содержится модуль генерации шаблонных задач, который на основании «User Data» создает задачи для целей.
3) В решении, раскрытом в патентной заявке US 2004/0193918 А описание циклов поисков является неизменяемым. В нашем решении задачи настраиваются гибко, например, проводить поиск URL по одним спискам, игнорируя другие, и при этом дополнительно проверять заданные условия.
Также из уровня техники известно решение, описанное в патентной заявке WO 2019/153384 A1 Vulnerability scanning method and system, and server», в котором, как и во всех описанных выше решениях содержатся следующие недостатки: отсутствие гибкости системы для выполнения задач сканирования, увеличение времени выполнения задач сканирования за счет присутствия простоев, высокая загруженность системы; отсутствие возможности в автоматическом режиме добавлять задачи для цели.
Настоящие изобретение создано для решения части проблем, выявленных при анализе предшествующего уровня техники.
РАСКРЫТИЕ (СУЩНОСТЬ) ИЗОБРЕТЕНИЯ
Задача предполагаемого изобретения заключается в разработке способа и системы сканирования защищенности элементов сетевой архитектуры.
Техническим результатом заявленной группы изобретений является обеспечение сокращения времени и необходимых вычислительных ресурсов при сканировании элементов сетевой архитектуры.
Технический результат достигается за счет того, что система сканирования защищенности элементов сетевой архитектуры, содержит: по меньшей мере один процессор; память; модуль получения данных о элементах сетевой архитектуры; модуль обработки принятых данных, причем модуль обработки принятых данных осуществляет проверку корректности введенных данных и распределяет их в базе данных системы сканирования защищенности элементов сетевой архитектуры; модуль получения первичной информации об элементах сетевой архитектуры, причем первичная информация содержит по меньшей мере информацию о доступности элемента сетевой архитектуры; модуль генерации задач, который на основе набора шаблонов задач для полученного элемента сетевой архитектуры создает для нее задачи сканирования; модуль менеджера запуска задач, который посредством обработки шаблона выполнения задач подключает необходимые модули сканирования и передает им задачи сканирования; модули сканирования, выполняющие полученную задачу; модуль анализа результатов, причем модуль анализа результатов принимает результаты от модулей сканирования и выясняет, есть ли в результатах информация о новых связанных элементах сетевой архитектуры, причем если в результатах сканирования присутствует информация о новых связанных элементах сетевой архитектуры, то блок анализа результатов передает ее в блок обработки данных об элементах сетевой архитектуры, причем если в результатах сканирования отсутствует информация о новых связанных элементах сетевой архитектуры, то выдается отчет о работе системы и модуль менеджера запуска задач переходит в режим ожидания изменения информации об элементах сетевой архитектуры.
Данный технический результат также достигается за счет того, что способ сканирования защищенности элементов сетевой архитектуры, выполняемый на вычислительном устройстве, которое содержит: по меньшей мере один процессор и память, включает этапы, на которых: получают данные об элементах сетевой архитектуры; обрабатывают принятые данные, причем на этом этапе осуществляется проверка корректности введенных данных и распределение их в базе данных системы сканирования защищенности; получают первичную информацию об элементах сетевой архитектуры, причем первичная информация содержит по меньшей мере информацию о доступности элемента сетевой архитектуры; создают для элемента сетевой архитектуры задачи сканирования на основе набора шаблонов задач; обрабатывают шаблон задач для выполнения и подключают необходимые модули сканирования с передачей им задач сканирования; выполняют полученные задачи сканирования; принимают результаты для анализа и выясняют, есть ли в результатах информация о связанных элементах сетевой архитектуры, причем если в результатах сканирования присутствует информация о новых связанных элементах сетевой архитектуры, то передают ее для обработки данных об элементах сетевой архитектуры, причем если в результатах сканирования отсутствует информация о новых элементах сетевой архитектуры, то выдают отчет о работе и переходят в режим ожидания изменения информации о элементах сетевой архитектуры.
В частном варианте реализации элементы сетевой архитектуры могут соответствовать по меньшей мере одному из типов: IP-адрес, веб-сайт, URL, доменное имя, сетевой порт.
В другом частном варианте реализации модуль получения первичной информации об элементах сетевой архитектуры дополнительно для типа элемента сетевой архитектуры доменное имя проверяет его доступность через WHOIS, а также положительные ответы на попытку запроса случайных поддоменов.
В другом частном варианте реализации блок получения первичной информации об элементе сетевой архитектуры дополнительно для типа элемента сетевой архитектуры веб-сайт проверяет доступность соединения напрямую и через прокси-сервер.
В другом частном варианте реализации блок получения первичной информации об элементах сетевой архитектуры дополнительно для типа элемента сетевой архитектуры URL проверяет: код ответа веб-сервера; контент ответа; заголовки ответа; тип URL, причем устанавливаемый тип может соответствовать файлу, директории и неопределенному; отвечает ли на запрос несуществующих файлов; попадает ли под шаблон игнорирования; отвечает ли URL переадресацией; адрес переадресации.
В другом частном варианте реализации модуль получения данных об элементах сетевой архитектуры принимает данные из источника, причем этим источником может быть пользовательский ввод или принятые данные, хранящиеся во внешней базе данных.
В другом частном варианте реализации шаблон задач содержит: имя модуля сканирования, для которого создается задача, опции запуска этого модуля сканирования и тип элемента сетевой архитектуры, к которому этот шаблон может быть применен.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Сопровождающие чертежи, которые включены для обеспечения дополнительного понимания изобретения и составляют часть этого описания, показывают варианты осуществления изобретения и совместно с описанием служат для объяснения принципов изобретения.
Заявленное изобретение поясняется следующими чертежами, на которых:
Фиг. 1 показывает типовую схему выполнения этапов способа сканирования защищенности элемента сетевой архитектуры.
Фиг. 2 показывает структуру шаблона для возможных задач сканирования.
Фиг. 3 показывает модель взаимодействия между модулем менеджера запуска задач и модулями сканирования.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Ниже будет приведено описание примерных вариантов заявленной группы изобретений.
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, обеспеченными для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется только в объеме приложенной формулы.
Процесс оценки защищенности элемента сетевой архитектуры состоит из четырех основных этапов: сбор данных, привязка, оценка и проникновение. На стадии сбора данных проводится поиск сетевых устройств с помощью сканирования в реальном времени. На стадиях привязки и оценки определяется конкретное вычислительное устройство, на котором работает служба или приложение, и оцениваются потенциально уязвимые места. На этапе проникновения одно или несколько уязвимых мест используются для привилегированного доступа к системе.
На фиг. 1 изображена типовая схема выполнения этапов способа сканирования защищенности элементов сетевой архитектуры. На первом этапе получают данные об определенном элементе сетевой архитектуры. При этом элемент сетевой архитектуры может соответствовать по меньшей мере одному из типов, к которым относят: ЕР-адрес, веб-сайт, URL, доменное имя или сетевой порт.
Стоит отметить, что в одном из частных вариантов реализации в систему данные о элементах сетевой архитектуры поступают из источника. Таким источником может быть как пользовательский ввод, так и принятые данные из какой-то другой системы, например, внешней базы данных.
Кроме того, стоит отметить, что система сканирования защищенности элементов сетевой архитектуры сети позволяет гибко работать с элементами архитектуры во время сканирований. Например, можно исключить часть элементов сетевой архитектуры из работы прямо во время проверок, в то время как работа по остальным продолжится, а через какое-то время возобновить.
На следующем этапе принятые элементы сетевой архитектуры проходят проверку корректности ввода данных и распределяются в базе данных системы сканирования защищенности в модуле обработки принятых данных. Проверка корректности ввода - это проверка, которая возникает на сервере после отправки данных. Серверный код используется для проверки данных перед их сохранением в базе данных. Если данные не проходят проверку валидности, то ответ отправляется обратно клиенту, чтобы сообщить пользователю, какие исправления должны быть сделаны. Стоит отметить, что в уровне техники все популярные серверные фреймворки имеют функции для проверки и очистки данных.
После внесения какого-либо элемента сетевой архитектуры в базу данных системы в блоке получения первичной информации происходит проверка того, что с принятыми данными можно работать, а также получается первичная информация, необходимая для начала работы. Такая информация по меньшей мере включает в себя проверку доступности и другую информацию, которая зависит от типа элемента сетевой архитектуры.
Так, если типом элемента сетевой архитектуры является IP-адрес, то проверяется только доступность.
Если типом элемента сетевой архитектуры является доменное имя, то происходит проверка его доступности через WHOIS, а также проверяются все положительные ответы на попытку запроса случайных поддоменов. Причем при проверке доступности через WHOIS также возможно получение регистрационных данных о владельцах доменных имен. Если типом элемента сетевой архитектуры является веб-сайт, то происходит проверка доступности соединения напрямую и через прокси-сервер.
Если типом элемента сетевой архитектуры является URL, то происходит проверка: во-первых, кода ответа веб-сервера; во-вторых, контента ответа; далее заголовков ответа; и типа URL, причем устанавливаемый тип может соответствовать файлу, директории, и неопределенному; отвечает ли на запрос несуществующих файлов; попадает ли под шаблон игнорирования; отвечает ли URL переадресацией; если да, то какой адрес переадресации.
Далее на фиг. 1 показано как происходит генерация задач на основе набора шаблонов, структура которых представлена на фиг. 2.
Шаблон задач содержит: идентификатор (id) модуля сканирования, для которого создается задача, опции запуска этого модуля сканирования и типы элементов сетевой архитектуры, к которым этот шаблон может быть применен.
Стоит отметить, что шаблоны проверок постоянно обновляются, а также пользователь системы может сам менять уже готовые шаблоны или создавать новые на основе своих потребностей. Кроме того, система является многопользовательской, т.е. несколько пользователей могут одновременно добавлять свои элементы сетевой архитектуры, которые необходимо проверить, в больших объемах, настраивать их сканирования, менять и т.д., при этом подобные действия не вызовут конфликтов друг с другом.
Как только список задач сформирован и/или заранее определенное количество задач было добавлено в список задач, и/или конкретная предварительно выбранная задача была добавлена в список задач, список задач передается в модуль менеджера запуска задач. Получив список задач, модуль менеджера запуска задач может отсортировать задачи в списке задач в соответствии с заданным системным приоритетом.
Согласно принципам настоящего изобретения, модуль сканирования может быть масштабируемым для различных сетей и операционных платформ, а также масштабируемым для различных диапазонов элементов сетевой архитектуры.
В одном аспекте настоящего изобретения масштабируемость системы сканирования защищенности может регулироваться через модуль менеджера запуска задач (диспетчер задач) и задачи, выполняемые модулями сканирования (обработчиком задач). Например, масштабируемость функции сканирования является результатом отделения функции модуля менеджера запуска задач, управляющей задачами, от функции модулей сканирования, При этом, модули сканирования могут являться множеством инструментов сканирования, что может позволить использовать большее количество коммерческих, открытых источников, проприетарных и других инструментов для выполнения сканирования уязвимостей. При этом подобная реализация позволяет достигать гибкости сканирования в системе, а также экономит время на сканирование и необходимые вычислительные ресурсы.
Чтобы выполнить одну или несколько задач сканирования, модуль сканирования может взаимодействовать или подключать несколько инструментов сетевой безопасности.
Ниже для лучшего понимания специалистом приведен неисчерпывающий список инструментов сетевой безопасности, которые могут быть использованы.
Инструмент Network Mapper (Nmap), используемый на стадии сбора данных для сканирования в реальном времени, чтобы выявить системы, активные в данной сети. Nmap также полезен для обнаружения ACL (список управления доступом) маршрутизатора или правил брандмауэра с помощью проверки флага подтверждения (АСK) и других методов. На этапах привязки и оценки Nmap можно использовать для сканирования портов, перечисления служб и номеров их версий и сбора отличительной информации об операционных системах (http://www.insecure.org/nmap).
Patator - это многоцелевой брут-форсер, с модульным дизайном и гибким использованием. Особенности инструмента: нет ложных срабатываний, поскольку в своих решениях, игнорировать ли результат, основывается на: коде статуса ответа, размере ответа, совпадении строки или регулярного выражение в ответе; имеет модульный дизайн: не ограничена сетевыми модулями; поддерживает интерактивное выполнение; использование постоянных соединений; многопоточность (https://github.com/lanjelot/patator).
OpenVAS - сканер уязвимостей систем. Имеет свою базу данных CVE, используя которую, проверяет системы на наличие уязвимостей. Это основной сервис, который обеспечивает полной контроль над уязвимоетями, реализованы управление политиками, сканирование по расписанию, обнаружение ложных срабатываний, представление отчетов в самых разных форматах (XML, HTML, LateX и др.). Для управления сканерами используется протокол OTP (OpenVAS Transfer Protocol), сам может получать команды по XML-подобном OpenVAS Management Protocol (ОМР). Все настройки и собранная информация хранится централизованно в SQL базе данных (SQLite) (http://openvas.org/).
Web-scout (WS) - это набор инструментов для сбора информации о веб-приложениях и веб-сайтах в процессе тестирования на проникновение. Распространяется под лицензией MIT. Функциональность: поиск поддоменов (по словарю, маске или их комбинации, в обычных зонах, в wildcard-зонах (через игнорирование IP или на основе HTTP-запроса поддомена)); поиск URL: по словарю, маске или их комбинации, или на основании мутаций уже известных URL; простыми запросами (GET/POST/HEAD); с различными кодами "not found" (!=404); с определением положительных/отрицательных ответов через регулярные выражения, с определением ответа "not found" по его размеру, с использованием реального браузера для обхода защиты от ботов, через прокси или TOR; поиск параметров URLs (в GET/POST/FILES/COOKIE, по словарю, маске или их комбинации, с различными кодами "not found" (!=404), с определением отрицательных ответов через регулярные выражения, с определением ответа "not found" по его размеру); перебор форм: обычным POST, с использованием реального браузера для обхода защиты от ботов; поиск виртуальных хостов по словарю, маске или их комбинации; фаззинг параметров URLs и HTTP заголовков (https://github.com/AntonKuzminRussia/webscout/blob/master/README_RU.md).
В предпочтительном варианте осуществления определенные инструменты, которые могут применяться в качестве модулей сканирования, хранятся в docker-контейнерах на сервере и могут по необходимости доставляться на устройство клиента.
В частном варианте осуществления приведенного решения, инструменты могут храниться на сервере в соответствии с функциями, которые они выполняют, а также могут по необходимости доставляться на устройство клиента.
В частном варианте осуществления приведенного решения, инструменты могут храниться на сервере в соответствии с шаблонами задач, которые они выполняют, а также могут по необходимости доставляться на устройство клиента.
В другом варианте осуществления модуль сканирования может использовать несколько инструментов, которые сгруппированы, как описано выше.
Подробнее рассмотрим процесс сканирования элементов сетевой архитектуры в сети. Так для этого система сканирования разбита на части, как показано на фиг. 3.
Первой частью является модуль менеджера запуска задач, который посредством обработки шаблона выполнения задач подключает необходимые модули сканирования и передает задачи сканирования непосредственно в модули сканирования. При этом модуль менеджера запуска задач имеет список всех подключенных модулей сканирования и информацию о текущей нагрузке на каждом из них, которую сообщают сами модули. Согласно принципам настоящего изобретения пока есть по меньшей мере один незагруженный на 100% модуль сканирования, модуль менеджера запуска задач добавляет задачи в очереди на выполнение. Далее свободные модули сканирования в порядке «кто первый» разбирают эти задачи из очереди и начинают выполнять свою работу. Так, модулей сканирования может быть несколько, они горизонтально масштабируются. Кроме того, в процессе сканирования защищенности элемента сетевой архитектуры в одном из аспектов настоящего изобретения могут выполняться следующие задачи.
1. Задачи для поиска поддоменов по словарям (наборы имен в виде текстовых списков) и по маскам (перебор всех комбинаций символов определенной группы и длины, например, a-z+0-9 длиною от 1 до 4 символов);
Как правило, такое сканирование может выполняться двумя способами:
- обычным запросом существования поддомена на DNS-серверах. Применяется в обычных случаях, когда DNS-зона отвечает отрицательно на несуществующие имена.
- запросом к DNS, а потом HTTP-запросом к возвращенному IP, причем применяется подобное для wildcard-зон, когда на запрос любого поддомена дается положительным ответ.
2. Задачи для поиска URL по словарям (наборы имен в виде текстовых списков) и по маскам (перебор всех комбинаций символов определенной группы и длины, например, a-z+0-9 длиною от 1 до 4 символов).
Кроме этого, могут быть поставлены задачи сканирования на поиск по наборам, которые генерируются на основании уже известных URL веб-сайта (например, если URL заканчивается на цифру, то будут проверены все его варианты с измененной последней цифрой).
3. Задачи сканирования на поиск открытых сетевых портов стандартным способом установки ТСР-соединения.
4. Задачи сканирования на сбор информации о сетевых службах после поиска открытых сетевых портов. Такие задачи выполняются методом соединения со службой и ее опроса о версии и другой информации.
5. Задачи сканирования на подбор паролей (аналогично вышеописанному).
Если сервис системе известен, она пытается соединиться с ним и авторизоваться под заранее заготовленными списками логинов и паролей.
6. Задачи сканирования на поиск уязвимостей непосредственно в самих сервисах. Решение происходит после получения версий сервисов и другой информации. Эта информация пропускается через базу vulners.com (база vulners.com возвращает информацию о возможных уязвимостях) и найденную информацию о возможных уязвимостях далее вносят в базу данных системы.
На этапе выполнения задач сканирования уязвимые системы и службы тестируются для определения наличия идентифицируемых уязвимостей.
В одном аспекте настоящего изобретения фаза уязвимости может запускать тесты для приложений и протоколов.
После сканирования модуль анализа результатов принимает результаты от модулей сканирования (фиг. 3) и выясняет, есть ли в результатах информация о новых связанных элементах сетевой архитектуры, причем если в результатах сканирования присутствует информация о новых связанных элементах сетевой архитектуры, то далее блок анализа результатов передает ее снова в блок обработки данных об элементах сетевой архитектуры, причем если в результатах сканирования отсутствует информация о новых связанных элементах сетевой архитектуры, то выдается промежуточный отчет о работе системы и модуль менеджера запуска задач переходит в режим ожидания изменения информации об элементе сетевой архитектуры.
Кроме того, новые связанные элементы сетевой архитектуры, которые найдены после выполнения задач сканирования по исследованию самого элемента сетевой архитектуры, помещаются в список задач в модуле менеджера запуска задач, а также помещаются модулем анализа результатов в базу данных в справочную таблицу, например, в виде дерева решений, для сканирования указанного элемента сетевой архитектуры.
В одном аспекте настоящего изобретения дерево решений для сканирования указанного элемента сетевой архитектуры может описывать последовательность задач, выполняемых при сканировании, основанном как на элементе сетевой архитектуры, полученном изначально, так и на новом связанном элементе сетевой архитектуры, который был обнаружен в процессе выполнения предыдущих задач сканирования. Также в данном аспекте настоящего изобретения дерево решений для сканирования указанного элемента сетевой архитектуры может разбивать задачу конкретного сканирования элемента сетевой архитектуры на множество последовательно выполняемых подзадач. Соответственно, дерево решений может описывать условия, при которых необходимо использование любого из модулей сканирования.
В одном аспекте настоящего изобретения дерево решений может выполнять те же действия, которые выполнял бы оператор, и на основе данных создавать последовательности операций, необходимые для решения поставленных задач. Соответственно, так же и шаблон задач может быть динамически сформирован на основе результатов первоначальных и впоследствии выполненных задач.
Стоит отметить, что система сканирования защищенности элемента сетевой архитектуры в сети работает постоянно, то есть нет конца поиска. Например, выполнив задачу на поиск сервисов, и не найдя ничего удовлетворяющего условиям поиска, она может регулярно повторять эту задачу. Как только для элемента сетевой архитектуры появится запрашиваемый сервис и/или новый зависящий от него сервис, который будет определен как связанный элемент сетевой архитектуры, то он будет исследован. Обычные сканеры, известные в уровне техники, производят единичную проверку, дают отчет по проведенному сканированию и на этом работа считается завершенной, в частности существуют и те, которые в качестве дополнительной опции производят сканирование по расписанию постоянно повторяя возможность сканирования какого-либо интересующего элемента. В случае описанной нами выше реализации система сканирования защищенности элементов сетевой архитектуры направлена на ожидание изменений какой-либо информации об элементе сетевой архитектуры как обязательного этапа сканирования защищенности элемента сетевой архитектуры, так, например, на ожидание, пока у элемента сетевой архитектуры не появится новый сервис, URL, подцомен и т.д.
После выполнения этапов способа выводится промежуточный отчет, так как сканер продолжает свою работу по слежению за элементами сетевой архитектуры постоянно. Промежуточный отчет показывает всю информацию, которая была собрана за время работы над задачей в данный момент, а также, в одном из аспектов настоящего изобретения, может содержать таймлайн изменений, связанных с исследуемым элементом сетевой архитектуры.
В варианте осуществления настоящего изобретения модуль анализа результатов связан с базой данных. База данных может содержать таблицы, в которых хранятся данные, которые генерируются различными модулями сканирования. Такие данные, хранящиеся в таблицах базы данных, включают в себя: все внесенные IP-адреса, доменные имена, веб-сайты и их URL, а также найденные варианты авторизации, если где-либо были подобраны пароли, а также уязвимости всего вышеперечисленного.
В некотором аспекте настоящего изобретения при анализе отчета работы системы сканирования защищенности, пользователь сможет увидеть, например, как менялась структура целевого сайта - появлялись, исчезали ссылки, как менялись сервисы на IP-адресе, как менялись поддомены и т.д.
Как уже было упомянуто, ценность такого подхода заключается в том, что появляется возможность наблюдения исторического изменения данных о элементе сетевой архитектуры, так как разница в выполненных задачах для элемента сетевой архитектуры в разные промежутки времени записывается в системе для последующей фиксации и/или интерпретации результатов.
В качестве одного из примеров рассмотрим ситуацию, когда в какой-то момент времени у целевой подсети в один день сразу поменялись SSH-ключи. В ответ на произошедшее событие система сможет сказать, что судя по массовой смене SSH-ключей, в наблюдаемой сети массово стали переустанавливать ОС, и что это может свидетельствовать об инциденте внутри этой сети. Или другой пример, когда исходя из отчета система замечает, что регулярно, раз в неделю, становится доступен какой-то сервис в конкретные часы, при этом система может интерпретировать такие событие как заслуживающие внимания, так как подобное характерно при проведения резервного копирования или подобных работах в системе.
Помимо рассмотренного, в базе данных системы сканирования защищенности также могут храниться настройки по частоте и времени сканирования для нахождения новых связанных элементов сетевой архитектуры. Кроме того, в частном варианте осуществления, настройки по частоте и времени сканирования могут осуществляться пользователем системы или дополнительно такие настройки могут содержаться в шаблоне задач для конкретного элемента сетевой архитектуры в соответствии с накопленным ранее опытом.
Для реализации указанного выше способа со всеми частными вариантами осуществления в данном решении предусмотрена система сканирования защищенности элементов сетевой архитектуры, которая содержит: по меньшей мере один процессор; память; модуль получения данных об элементах сетевой архитектуры; модуль обработки принятых данных, причем модуль обработки принятых данных осуществляет проверку корректности введенных данных и распределяет их в базе данных системы сканирования защищенности элементов сетевой архитектуры; модуль получения первичной информации об элементах сетевой архитектуры, причем первичная информация содержит по меньшей мере информацию о доступности элемента сетевой архитектуры; модуль генерации задач, который на основе набора шаблонов задач для полученного элемента сетевой архитектуры создает для него задачи сканирования; модуль менеджера запуска задач, который посредством обработки шаблона выполнения задач подключает необходимые модули сканирования и передает им задачи сканирования; модули сканирования, выполняющие полученную задачу; модуль анализа результатов, причем модуль анализа результатов принимают результаты от модулей сканирования и выясняют, есть ли в результатах информация о новых связанных элементах сетевой архитектуры, причем если в результатах сканирования присутствует информация о новых связанных элементах сетевой архитектуры, то блок анализа результатов передает ее снова в блок обработки данных об элементах сетевой архитектуры, причем если в результатах сканирования отсутствует информация о новых связанных элементах сетевой архитектуры, то выдается отчет о работе системы и модуль менеджера запуска задач переходит в режим ожидания изменения информации о элементе сетевой архитектуры.
Ниже будет проиллюстрирован конкретный пример реализации заявленного способа сканирования защищенности элементов сетевой архитектуры:
В систему поступил URL http://site.com/auth/. Далее система запрашивает этот URL для получения первичной информации. В ходе этого выясняется, что веб-сервер отвечает на его запрос кодом 401 (http basic auth -http авторизация). По шаблону для http basic auth создаются задачи на подбор пароля к этому URL. В процессе выполнения задач обнаруживается валидная пара логин/пароль admin:qwerty, и тогда она попадает в отчет.
Второй пример, в качестве входных данных поступает URL http://site.com/. Далее система создает шаблонные задачи в т.ч. и на поиск подцоменов *.site.com. При выполнении сканирования находится поддомен auth.site.com, после для этого домена необходимо совершить проверку, является ли этот поддомен сайтом. Проверка завершается успешно и далее система получает первичную информацию по ссылке http://auth.site.com/. На этом этапе выясняется, что веб-сервер отвечает на его запрос кодом 401 (http basic auth - http авторизация). После как было рассмотрено в предыдущем примере: по шаблону для http basic auth создаются задачи на подбор пароля к этому URL. В процессе выполнения этих задач обнаруживается валидная пара логин/пароль (admin:qwerty), она попадает в отчет. В то же время создаются шаблонные задачи на поиск URL. При выполнении поиска URL обнаруживается ссылка http://auth.site.com/backup.zip.
В заключение следует отметить, что приведенные в описании сведения являются только примерами, которые не ограничивают объем настоящего изобретения, описанного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующегося с сущностью и объемом настоящего изобретения.
В данном контексте под устройствами понимаются любые вычислительные устройства, построенные на базе программно-аппаратных средств, например, такие как: персональные компьютеры, серверы, смартфоны, ноутбуки, планшеты и т.д.
В качестве устройства обработки данных может выступать процессор, микропроцессор, ЭВМ (электронно-вычислительная машина), ПЛК (программируемый логический контроллер) или интегральная схема, сконфигурированные для исполнения определенных команд (инструкций, программ) по обработке данных. Процессор может быть многоядерным, для параллельной обработки данных.
В роли устройства памяти могут выступать, но, не ограничиваясь, жесткие диски (HDD), флеш-память, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD) и т.д.
Следует отметить, что в указанное устройство могут входить и любые другие известные в данном уровне техники устройства, например, такие как датчики, устройства ввода/вывода данных, устройства отображения (дисплеи) и т.п. Устройство ввода/вывода данных может представлять собой, но не ограничиваясь, например, манипулятор мышь, клавиатуру, тачпад, стилус, джойстик, трекпад и т.п.