Настоящее изобретение относится к системам и способам обеспечения безопасности компьютерных систем и более конкретно к системам и способам проверки защищенных веб-ресурсов на наличие вредоносных, потенциально опасных и нежелательных вставок.
По мере того как технологии и инфраструктура компьютерных сетей совершенствуются, объем и скорость данных, передаваемых между устройствами компьютерной сети, стремительно возрастает. При этом передаваемые данные могут содержать вредоносные вставки - программы и элементы. Вредоносная программа - это компьютерный программный продукт, выполненный с возможностью проникать в вычислительное устройство без ведома или согласия владельца устройства. Вредоносные программы стали общеупотребительным термином и означают общий класс программного обеспечения, включающий в себя множество вредоносных, навязчивых или иным образом мешающих работе форм программного обеспечения или машинного кода. Вредоносные программы включают в себя различные вирусы, программы-черви, программы типа "троянский конь" (или программы - "трояны"), руткиты, программы-шпионы, программы с навязчивой рекламой, программы, эксплуатирующие уязвимости в программном обеспечении третьих сторон, и любое другое нежелательное злонамеренное программное обеспечение. Различные типы вредоносных программ могут собирать персональную информацию, связанную с пользователем, и отправлять эту информацию обратно в устройство сбора информации. Другие типы вредоносных программ могут приводить к тому, что вычислительное устройство будет работать с ошибками или вообще не будет работать.
Широко известны способы и средства идентификации и удаления вредоносных вставок с помощью антивирусного программного обеспечения. Традиционное антивирусное программное обеспечение использует последовательности поиска и предустановленный аналитический подход для поиска известных вредоносных программ.
Современные антивирусные сканеры вредоносных вставок на веб-ресурсах (веб-сканеры), агенты которых размещаются на сервере и сканируют файлы, размещенные на сервере, с помощью сигнатур известных вредоносных вставок, малоэффективны из-за того, что пытаются применить технологии, хорошо отработанные на бинарном коде, к интерпретируемым файлам в вебе, которые являются всего-навсего текстом. Текст же легко модифицируется и обфусцируется, поэтому все современные веб-сканеры имеют большое количество ложных срабатываний, что затрудняет идентификацию вредоносных вставок в тех файлах, которые размещены на сервере.
Таким образом, к недостаткам антивирусного программного обеспечения можно отнести неспособность обнаружения новых или неизвестных вирусов.
Существуют технологии, включающие некоторые признаки заявляемого изобретения, однако в уровне техники неизвестна совокупность признаков заявляемой группы изобретений, позволяющая исключить вышеуказанные недостатки известных технологий веб-сканирования.
Известен способ повышения уровня безопасности средств пользователя при просмотре web-страниц (заявка RU 2008103005, Дата публикации заявки: 10.08.2009. Конвенционный приоритет: 28.06.2005 US 11/167,235. Публикация РСТ: WO 2007/000751 20070104), согласно которому поиск веб-страниц включает в себя этапы, на которых вебстраницы классифицируются в соответствии с рангом безопасности и при предоставлении ссылки на каждую веб-страницу предоставляют упомянутый ранг безопасности вместе с упомянутой ссылкой.
Однако в указанном способе не предусмотрена возможность выявления конкретного места внутри веб-сайта, где расположена вредоносная вставка, поскольку система защиты проверяет ссылки только по внутренней базе и выдает вердикт, который отображается пользователю, доверенной ли является страница или нет.
Известны система и способ защиты от вредоносного программного обеспечения на основе нечеткого вайтлистинга (заявка RU 2014121249, Дата публикации заявки: 10.12.2015. Конвенционный приоритет: 02.11.2011 US 61/554,859; 06.12.2011 US 13/312,686. Публикация РСТ: WO 2013/089576 20130620), включающие в себя выполнение в клиентской компьютерной системе начального сканирования множества целевых объектов клиентской компьютерной системы на наличие вредоносных программ в ответ на предварительное определение начального сканирования на наличие вредоносных программ подозрительности целевого объекта на вредоносность; генерацию в клиентской компьютерной системе множества целевых хешей целевых объектов, причем каждый целевой хеш представляет отдельный блок кода целевого объекта, при этом каждый отдельный блок кода содержит последовательность процессорных инструкций целевого объекта; отправку множества целевых хешей с клиентской компьютерной системы на серверную компьютерную систему, соединенную с клиентской компьютерной системой глобальной вычислительной сетью; получение клиентской компьютерной системой от серверной компьютерной системы серверного индикатора, указывающего, является ли целевой объект вредоносным, причем серверный индикатор генерируется серверной компьютерной системой посредством получения множества ссылочных хешей ссылочного объекта для, по меньшей мере, одного целевого хеша из множества целевых хешей, причем ссылочный объект выбирают согласно целевому хешу из набора объектов, занесенных в вайтлист, и, если множество целевых хешей не идентично множеству ссылочных хешей, определения показателя подобия согласно количеству хешей, общих как для множества целевых хешей, так и для множества ссылочных хешей; если показатель подобия превышает заданное пороговое значение, маркирования целевого объекта как невредоносного.
Однако указанный способ реализует клиент-серверную проверку сети на вредоносные объекты, в которой объект оценивается как вредоносный по хеш-сумме, а не по функционалу, и реализует сигнатурную процедуру поиска, и если проверяемый объект не идентифицируется по своему хешу как вредоносный, то он считается невредоносным. Указанное обстоятельство не позволяет надежно и достоверно осуществлять веб-сканирование.
Наиболее близкими к заявляемому изобретению являются система и способ проверки веб-ресурсов на наличие вредоносных компонентов, принятые за прототипы указанных объектов (патент RU 2446459, Опубликовано: 27.03.2012.).
Данная система содержит: (а) средство составления списка проверки, предназначенное для выделения адресов веб-ресурсов из клиент-приложений, определения параметров проверки для соответствующего адреса веб-ресурса, при этом средство составления списка проверки связано с базой данных параметров проверки; (б) средство перехвата идентификаторов, предназначенное для выделения идентификаторов пользователей из клиент-приложений, добавления новых идентификаторов пользователей и сохранения идентификаторов пользователей для соответствующего адреса веб-ресурса в базу данных параметров проверки, при этом средство перехвата идентификаторов связано с базой данных параметров проверки; (в) средство проверки, предназначенное для авторизации на веб-ресурсе с использованием идентификаторов пользователей и для дальнейшей проверки веб-ресурса на наличие вредоносных компонентов с учетом параметров проверки, при этом средство проверки связано с базой данных параметров проверки; (г) упомянутую базу данных параметров проверки, предназначенную для хранения параметров проверки веб-ресурсов и идентификаторов пользователей.
Способ проверки веб-ресурсов на наличие вредоносных компонент по указанному патенту основан на том, что устанавливаются параметры проверки веб-ресурса:
а. составляется список адресов веб-ресурсов для проверки;
б. определяются параметры проверки, соответствующие каждому адресу веб-ресурса;
в. определяются идентификаторы пользователя для авторизации на веб-ресурсе; далее производится проверка веб-ресурса с учетом параметров проверки и данных авторизации:
а. устанавливается соединение с веб-ресурсом по адресу веб-ресурса;
б. производится авторизация на веб-ресурсе с использованием соответствующих данному веб-ресурсу идентификаторов пользователя;
в. осуществляется проверка веб-ресурса на наличие вредоносных программ и угроз безопасности.
Однако в данном способе отсутствует возможность сканирования файлов и баз данных, находящихся на сервере, а осуществляется сканирование данных, которые ими генерируются и выводятся пользователю, что не позволяет идентифицировать конкретные места на сервере, где находятся вредоносные вставки кода и данных.
Одним из препятствий, затрудняющем надежное выявление кода, ответственного за выявление вредоносных вставок является то, что срабатывание вредоносной вставки может зависеть от множества параметров, определяемых разработчиком вредоносной вставки, таких как IP адрес запроса, параметры запроса, куки браузера (например, повторно зашедшим не вставляется эксплойт на страницу), язык браузера, статусная строка запроса браузера и так далее.
Заявляемое изобретение позволяет решить данную проблему и обеспечить более надежное выявление вредоносного кода.
Основной задачей заявляемого изобретения является решение проблемы достоверного и оперативного обнаружения заражений веб-ресурсов за счет полной проверки кода веб-сайта и тех данных, которые проверяемый код выдает в браузер.
Техническим результатом является повышение достоверности обнаружения вредоносных вставок на сайтах, путем уменьшения количества ложных срабатываний веб-сканера за счет проверки не только самого кода веб-сайта, но и всех данных, которые выдаются сайтом браузеру.
В отличие от традиционного сканирования, в котором сканируется код веб-сайта на наличие потенциально опасных частей кода по предопределенным сигнатурам, что создает большое количество ложных срабатываний, в заявляемом изобретении сканируется не только код веб-сайта, но и те данные, которые он выдает в браузер, в связи с чем и на основании большего объема проверяемой информации выдаются более точные вердикты.
Технический результат достигается тем, что система проверки веб-сайта на наличие вредоносных вставок содержит блок поиска начальных адресов, подключенный к интерпретатору, выполненному с возможностью интерпретации всех направлений исполнения кода при условном переходе, блок принятия решений, локальную базу данных безопасных элементов, локальную базу данных вредоносных элементов, блок приема и передачи данных, блок коррекции кода и данных, блок декомпозиции и композиции и блок динамического анализа, при этом интерпретатор соединен с блоком принятия решений, подключенным к блоку локальной базы данных безопасных элементов, блоку локальной базы данных вредоносных элементов, блоку приема и передачи данных и блоку коррекции кода и данных, а блок приема и передачи данных соединен с блоком декомпозиции и композиции, подключенным к блоку динамического анализа.
Интерпретатор, выполненный с возможностью интерпретации всех направлений исполнения кода при условном переходе, может содержать в одном из вариантов реализации последовательно соединенные блок интерпретации, блок памяти данных интерпретации и блок анализа данных интерпретации.
Блок поиска начальных адресов предпочтительно выполнить с возможностью поиска всех начальных адресов веб-страниц, расположенных на веб-ресурсе, путем рекурсивного разбора содержимого веб-страниц веб-ресурса или путем анализа записей в дополнительных источниках подобной информации, например логах сервера.
Блок приема и передачи данных выполнен с возможностью передачи файлов с данными в блок декомпозиции и композиции и приема данных с его выхода.
Блок приема и передачи данных может быть дополнительно соединен с глобальной базой данных безопасных элементов и глобальной базой данных вредоносных элементов.
Оптимально блок коррекции кода и данных выполнить в виде программного обеспечения, установленного на сервере, с обеспечением возможности удаления вредоносных вставок кода и данных, выявленных в результате веб-сканирования.
Система может дополнительно содержать традиционный антивирусный сканер вредоносного кода.
При этом блок принятия решений может быть выполнен с возможностью совместной работы с традиционным антивирусным сканером вредоносного кода с последующим совместным анализом результатов сканирования и интерпретации.
Технический результат достигается также тем, что в способе проверки веб-ресурсов на наличие вредоносных вставок проводят рекурсивный разбор веб-ресурса и анализ сопутствующих источников информации, например логов веб-сервера, интерпретируют код веб-ресурса, и все направления исполнения кода при каждом условном переходе с локированием хода интерпретации, причем при интерпретации команды условного перехода данные о ходе интерпретации дублируют, а выполнение интерпретации кода продолжают по всем направлениям, определенным условными переходами, с получением на выходе веб-страниц, которые проверяют на наличие вредоносных элементов путем сравнения всех элементов потенциально вредоносных типов, содержащихся в исходящих данных, с локальной базой данных безопасных элементов и локальной базой данных вредоносных элементов, с глобальной базой данных безопасных элементов и глобальной базой данных вредоносных элементов, а в случае выявления неизвестных потенциально вредоносных элементов подвергают их проверке и динамическому анализу, после завершения которых устанавливают соответствие между каждым выявленным вредоносным элементом и кодом на сайте, который ввел эти элементы в исходные данные.
Оптимально проводить анализ кода, который вставил вредоносный элемент, путем его полной идентификации, включая записи в базах данных сервера.
Предпочтительно информировать владельца веб-ресурса о наличии на сервере вредоносного кода и необходимости его удаления, а в случае, если согласие на удаление вредоносного кода получено, осуществлять его удаление с сервера.
Оптимально данные потенциально вредоносных элементов сохранять в файле и передавать их для проверки с помощью глобальной базы данных известных безопасных элементов и глобальной базы данных вредоносных элементов.
Целесообразно подвергать данные потенциально вредоносных элементов проверке с помощью статических и динамических методов анализа
Предпочтительно при наличии потенциально вредоносных элементов осуществлять декомпозицию документа на множество декомпозированных элементов, из которых создают файлы, число которых коррелирует с числом декомпозированных элементов, после чего производить композицию одного или нескольких наборов файлов из декомпозированных элементов, подвергаемых динамическому анализу.
При композиции осуществляют функциональный, или инкрементальный, или полный композиционный набор файлов из декомпозированных элементов.
На чертеже схематично представлена блок схема системы, с помощью которой реализуется заявляемый способ.
Система проверки веб-ресурса на наличие вредоносных вставок состоит из блока 1 поиска начальных адресов на веб-данных сервера, соединенного с интерпретатором 2, содержащим последовательно соединенные блок интерпретации 2.1 и блок памяти 2.2 данных интерпретации, подключенный к блоку 2.3. анализа данных интерпретации. Блок 2.1 интерпретатора 2 подключен к блоку 4 принятия решений, соединенному с локальной базой данных 5 безопасных элементов, локальной базой данных 3 вредоносных элементов, а также с блоком 7 коррекции кода и данных, подключенным к блоку уведомления 8. Блок 6 приема и передачи данных, также соединенный с блоком 4 принятия решений, подключен к глобальной базе данных 9 безопасных элементов, и глобальной базе данных 11 вредоносных элементов, а также соединен с блоком декомпозиции и композиции 10, который подключен к блоку 12 динамического анализа.
Заявляемый способ реализуется с помощью указанного устройства следующим образом.
Блок 1 поиска начальных адресов 1 на веб-данных сервера осуществляет поиск и формирует список из всех доступных ссылок, которые присутствуют в тех HTML-страницах, которые выдает сервер, осуществляя рекурсивный разбор веб-ресурса, а также анализирует файлы логов сервера и иные источники данных о точках входа, например, адреса URL, которые были введены на вход сервера и по которым сервер выдал данные страницы для анализа веб-ресурса.
Все полученные ссылки на страницы веб-ресурса передаются в блок интерпретации 2.1 интерпретатора 2 в качестве входного параметра - в виде параметра функции интерпретации кода (interpretation_function (ʺhttp://www.siteforcheck.com/page.phpʺ), после чего код веб-сайта начинает последовательно интерпретироваться с помощью блока интерпретации 2.1, характеризующегося уникальным логическим идентификатором, поскольку среди всех логических идентификаторов нет ни одного одинакового. При этом ведется запись хода интерпретации в блок памяти 2.2. внутренней базы данных в виде набора данных - «интерпретируемая функция + входящие параметры, получаемые функцией + исходящие из функции данные», однозначно связанных с логическим идентификатором потока интерпретации кода, например ID10. Например, в случае интерпретации сайта, написанного на языке программирования РНР, в случае выявления блоком интерпретации 2.1 конструкции вида $query = sprint ("SELECT firstname FROM friends WHERE firstname='%s',$firstname) в блок памяти 2.2. данных интерпретации будет записана функция sprintf, входящий параметр и результат отработки функцией $query данного запроса. Процесс интерпретации в блоке интерпретации 2.1 и сохранения данных интерпретации в блоке памяти 2.2. идет последовательно до точки встречи в коде веб-ресурса оператора условного перехода (например, «if»). В таком случае блок интерпретации 2.1 приостанавливает первоначальный поток интерпретации (в нашем случае, ID10), создает новый поток интерпретации в состоянии «приостановлен» с новым уникальным логическим идентификатором (например, ID20), создает тождественную копию данных своего потока исполнения (то есть ID10) с помощью блока памяти 2.2. данных интерпретации идентификатора 2 и присваивает копии идентификатор нового потока исполнения (в нашем случае, ID20). Таким образом, в процессе интерпретации создается тождественный клон первоначального потока интерпретации, но с другим логическим идентификатором. Далее блок интерпретации 2.1 эмулирует исполнение команды безусловного перехода так, чтобы выяснить точки перехода потока интерпретации как в случае исполнения условия перехода, так и в случае его неисполнения. После этого первоначальный поток интерпретации переводится на интерпретируемый код так, как если бы условие перехода в операторе условного перехода исполнилось, а клонированный поток интерпретации переводится на интерпретируемый код таким образом, если бы условие перехода в операторе условного перехода не исполнилось. После этого оба потока интерпретации переводятся из состояние «приостановлено» в состояние активности, продолжая интерпретацию кода. Таким образом, создание двух потоков интерпретации предназначено для того, чтобы разделить поток интерпретации кода веб-сайта в случае, когда на пути интерпретатора встречается условный переход. Необходимость этого вызвана тем, чтобы интерпретатор проверил все части кода, размещенного на веб-сайте для выявления вредоносных вставок, защищенных тем, что при обычной линейной интерпретации они не будут интерпретированы и вредоносную кодовую вставку можно пропустить. Поэтому после разделения начальная точка исполнения нового потока интерпретации выставляется таким образом, чтобы начать интерпретацию с первой же строки кода, расположенной после проверки условия перехода на разные ветви кода при интерпретации.
В результате указанной последовательности операций, интерпретация кода идет по всем ответвлениям кода, вызванным командами условного перехода. По завершении интерпретации интерпретатор 2 формирует одну или несколько веб-страниц с данными с выхода блока интерпретации 2.1, после чего передает эти страницы в блок 4 принятия решений.
Блок 4 принятия решений проверяет полученные от блока 2.1. интерпретатора 2 данные, например веб-страницы, XML-документы или иные структурированные данные путем статического анализа с использованием локальной базы данных 5 безопасных элементов, после чего проверяет их в блоке локальной базы данных 3 вредоносных элементов. Если же какой-то элемент либо элементы потенциально опасных типов не были однозначно идентифицированы в блоке 4 принятия решений после проведения статического анализа, то с помощью блока 4 принятия решений производится обновление локальной базы известных безопасных элементов путем получения через блок 6 приема и передачи данных новых данных из глобальной базы данных 9 известных безопасных элементов. Таким образом, обновление локальной базы происходит в случае, если найден неизвестный элемент потенциально опасного типа, поскольку существует вероятность, что его уже идентифицировали в другом месте при сканировании и он уже есть в глобальной базе, но описание элемента еще не попало в конкретную локальную базу системы. Аналогичным образом производится обновление локальной базы данных вредоносных элементов путем получения новых данных глобальной базы данных 11 вредоносных элементов в случае обнаружения элементов потенциально вредоносных типов. После указанных действий производят повторную проверку данных в блоке 4 принятия решений с тем, чтобы не инициировать лишний раз анализ потенциально вредоносных элементов, установленных в ходе интерпретации интерпретатором 2, в случае их обнаружения в глобальных базах данных, что позволяет экономить ресурсы заявляемой системы и повысить ее быстродействие. В случае если в данных, полученных от интерпретатора 2, все равно наличествуют неизвестные элементы или элементы потенциально опасных типов, то данные, полученные от интерпретатора 2, передаются в блок 6 передачи и приема данных. Блок 4 принятия решений в одном из вариантов реализации заявляемой системы на данном этапе может работать совместно с традиционным сканером вредоносного кода (на чертеже не показан), работающим по сигнатурам и эвристике, в основном по сигнатурам на основе регулярных выражений с последующим сравнением полученных обоими путями данных для более надежной идентификации вредоносных корреляций в исходном коде и данных, которые этот код продуцирует. Указанная реализация может способствовать уменьшению числа ложных срабатываний системы. Блок 6 передачи и приема данных передает полученные файлы, содержащие неизвестные элементы потенциально опасных типов, в блок декомпозиции и композиции 10. Декомпозиция полученного документа в блоке 10 осуществляется путем его разбиения на множество отдельных элементов, содержащих неизвестные элементы потенциально вредоносных типов, из которых создают множество файлов с декомпозированными элементами. После декомпозиции полученного документа на отдельные составляющие элементы, осуществляется композиция набора файлов на основе функционального, инкрементального или полного набора. Операции декомпозиции и композиции осуществляются аналогично тому, как представлено в описании к патенту РФ №2613535 (опубл. 16.03.2017).
Таким образом, блок 10 осуществляет декомпозицию документа с неизвестными компонентами на множество декомпозированных элементов. Из последних создают файлы, число которых коррелирует с числом декомпозированных элементов, после чего производят композицию одного или нескольких наборов файлов из декомпозированных элементов, которые передаются в блок 12 динамического анализа для проведения проверки динамическим методом, заключающегося в том, что блок 12 отслеживает отклонения от нормального поведения клиентской программы в результате действий вредоносных элементов. Процесс динамического анализа направлен на срабатывание вредоносного кода, содержащегося в файле, причем он должен сработать за время, которое отводится на динамический анализ. При этом должен быть зафиксирован факт срабатывания эксплойта, идентифицирующий ход исполнения клиентского программного обеспечения как аномальное. Для достижения поставленной задачи, блок динамического анализа может быть выполнен в виде программного обеспечения, установленного на сервере системы, выполненного на основе программы для работы с соответствующим типом документов и имеющего либо эмулирующего уязвимости, связанные с интерпретацией подобного вида документов, задачей которого является выявление аномалий хода исполнения программного клиента либо его поведения.
Также, в качестве блока 12 динамического анализа в одном из вариантов может быть использовано специальное программное обеспечение, установленное на сервере системы и эмулирующего, частично либо полностью, ход работы клиентского программного обеспечения, связанного с интерпретацией соответствующего типа файлов.
Программа для работы с соответствующим типом документов, установленная на сервере системы и являющаяся частью блока динамического анализа, способна работать с определенным типом файлов, интерпретируя его внутреннюю структуру таким образом, чтобы вызвать срабатывание вредоносного кода в файле в случае, если он там присутствует. Аномальный ход исполнения программного кода характеризуется отклонением путей выполнения инструкций клиентского программного обеспечения от предписанной разработчиками данного программного обеспечения для того, чтобы вредоносный код, содержащийся в той или иной форме в файле из композиционного набора, получил возможность быть исполненным так же, как и код клиентского программного обеспечения. Аномальное поведение клиентского программного обеспечения характеризуется использованием средств, предоставляемых операционной системой, для выполнения операций, не требующихся для интерпретации внутренней структуры файла из композиционного набора, и потому выходящего за рамки предопределенного набора разрешенных действий и вызовов средств операционной системы для данного клиентского программного обеспечения.
После осуществления декомпозиции и композиции, а также динамического анализа, позволяющего отделить безопасные элементы от вредоносных, вердикт на каждый из файлов композиции направляется из блока 12 динамического анализа в блок декомпозиции и композиции 10, после чего блок декомпозиции и композиции выносит вердикт по каждому из неизвестных элементов потенциально вредоносных типов, по результатам которого обновляется глобальная база известных безопасных элементов 9 и глобальная база 11 известных вредоносных элементов. Кроме того, в блок принятия решения 4 через блок 6 приема и передачи данных с выхода блока декомпозиции и композиции 10 отправляется команда на обновление локальной базы 5 известных безопасных элементов путем получения новых данных из глобальной базы 9 данных известных безопасных элементов, затем производится обновление локальной базы 3 вредоносных элементов путем получения новых данных глобальной базы данных 11 вредоносных элементов, после чего еще раз производится проверка данных, полученных из интерпретатора 2.
В случае если один или несколько вредоносных элементов выявлены, блок 4 принятия решений посылает запрос по каждому из выявленных вредоносных элементов в блок 2.3. анализа данных интерпретации, который идентифицирует тот код, который вставил эти элементы в исходный документ, затем анализирует взаимосвязи этого кода с другим кодом веб-ресурса и его базами данных для того, чтобы идентифицировать иные возможные части вредоносного кода и вредоносные записи в базе данных веб-ресурса. Таким образом, производится анализ того, какой именно код вставил вредоносный элемент в данные, которые ушли на выход с сервера, где этот код берет данные, что это за данные, какова обвязка этого кода и с каким еще кодом на сайте он связан, т.е. осуществляется обратный анализ с использованием базы данных 2.2, в которую блок интерпретации 2.1 заносит всю информацию о ходе выполнения интерпретации.
После этого путем статического анализа зависимостей и связей этой конкретной части кода с иными частями блок 2.3 анализа данных интерпретатора 2 выявляет весь вредоносный код, ответственный за встраивание вредоносных элементов в страницы, выдаваемые пользователю в браузер. Затем данные о частях кода и указателей на них в виде «имя директории/имя файла/номер строки», а также идентификаторы записей в базах данных, идентифицированных как вредоносные, передаются в блок принятия решений 4, который передает эти данные в блок 7 коррекции кода и данных, который проводит дополнительный анализ выявленного вредоносного кода с целью более точного и полного выявления его взаимосвязей с иными частями кода и данных веб-сайта, включая записи в базах данных сервера. Далее информация о выявленном вредоносном коде поступает в блок уведомления 8, который информирует администратора либо владельца веб-ресурса о наличии вредоносного кода на сервере и запрашивает подтверждение на удаление выявленного вредоносного кода. В случае если подтверждение на удаление вредоносного кода получено, весь выявленный вредоносный код удаляется с сервера с помощью блока 7 коррекции денных и кода, а соответствующие файлы или части файлов стираются.
Приведенные в описании сведения являются только примерами, которые не ограничивают объем настоящего изобретения, представленного в формуле. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, основанные на сущности и объеме настоящего изобретения.
Заявляемые система и способ проверки веб-ресурсов на наличие вредоносных вставок могут найти широкое применение для обеспечения безопасности веб-ресурсов, поскольку позволяют надежно и достоверно обнаруживать вредоносные вставки на сайтах, путем уменьшения количества ложных срабатываний веб-сканера за счет проверки не только самого кода веб-сайта, но и всех данных, которые выдаются сайтом браузеру.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ ОБНАРУЖЕНИЯ ВРЕДОНОСНЫХ ПРОГРАММ И ЭЛЕМЕНТОВ | 2015 |
|
RU2613535C1 |
Система и способ обнаружения вредоносного скрипта | 2017 |
|
RU2659738C1 |
Система и способ обнаружения вредоносного кода в адресном пространстве процессов | 2017 |
|
RU2665910C1 |
СПОСОБ И СИСТЕМА ЗАЩИТЫ ИНФОРМАЦИИ ОТ НЕСАНКЦИОНИРОВАННОГО ИСПОЛЬЗОВАНИЯ (ЕЕ ВАРИАНТЫ) | 2013 |
|
RU2560810C2 |
СИСТЕМА И СПОСОБ ОБНАРУЖЕНИЯ ФИШИНГОВЫХ ВЕБ-СТРАНИЦ | 2016 |
|
RU2637477C1 |
Система и способ определения измененных веб-страниц | 2015 |
|
RU2610254C2 |
Система и способ оценки опасности веб-сайтов | 2015 |
|
RU2622870C2 |
СИСТЕМА И СПОСОБ ПРОВЕРКИ ВЕБ-РЕСУРСОВ НА НАЛИЧИЕ ВРЕДОНОСНЫХ КОМПОНЕНТ | 2010 |
|
RU2446459C1 |
Способ обнаружения вредоносных программ и элементов | 2021 |
|
RU2762079C1 |
Способ обнаружения фишинговых сайтов и система его реализующая | 2023 |
|
RU2813242C1 |
Изобретение относится к системам и способам обеспечения безопасности компьютерных систем и более конкретно к системам и способам проверки защищенных веб-ресурсов на наличие вредоносных, потенциально опасных и нежелательных вставок. Техническим результатом является повышение достоверности обнаружения вредоносных вставок на сайтах путем уменьшения количества ложных срабатываний веб-сканера за счет проверки не только самого кода веб-сайта, но и всех данных, которые выдаются сайтом браузеру. Раскрыта система проверки веб-ресурсов на наличие вредоносных вставок, содержащая блок поиска начальных адресов, подключенный к интерпретатору, выполненному с возможностью интерпретации всех направлений исполнения кода при условных переходах, блок принятия решений, локальную базу данных безопасных элементов, локальную базу данных вредоносных элементов, блок приема и передачи данных, блок коррекции кода и данных, блок декомпозиции и композиции и блок динамического анализа, при этом интерпретатор подключен к блоку принятия решений, соединенному с блоком локальной базы данных безопасных элементов, блоком локальной базы данных вредоносных элементов, блоком приема и передачи данных и блоком коррекции кода и данных, а блок приема и передачи данных соединен с блоком декомпозиции и композиции, подключенным к блоку динамического анализа. 2 н. и 13 з.п. ф-лы, 1 ил.
1. Система проверки веб-ресурсов на наличие вредоносных вставок, содержащая блок поиска начальных адресов, подключенный к интерпретатору, выполненному с возможностью интерпретации всех направлений исполнения кода при условных переходах, блок принятия решений, локальную базу данных безопасных элементов, локальную базу данных вредоносных элементов, блок приема и передачи данных, блок коррекции кода и данных, блок декомпозиции и композиции и блок динамического анализа, при этом интерпретатор подключен к блоку принятия решений, соединенному с блоком локальной базы данных безопасных элементов, блоком локальной базы данных вредоносных элементов, блоком приема и передачи данных и блоком коррекции кода и данных, а блок приема и передачи данных соединен с блоком декомпозиции и композиции, подключенным к блоку динамического анализа.
2. Система по п. 1, отличающаяся тем, что интерпретатор выполнен в виде последовательно соединенных блока интерпретации и блока памяти данных интерпретации, подключенного к блоку анализа данных интерпретации.
3. Система по п. 1, отличающаяся тем, что блок приема и передачи данных соединен с глобальной базой данных безопасных элементов и глобальной базой данных вредоносных элементов.
4. Система по п. 1, в которой блок поиска начальных адресов выполнен с возможностью поиска всех начальных адресов веб-страниц, расположенных на веб-ресурсе, путем рекурсивного разбора содержимого веб-страниц веб-ресурса.
5. Система по п. 1, в которой блок поиска начальных адресов выполнен с возможностью поиска всех начальных адресов веб-страниц, расположенных на веб-ресурсе путем анализа записей в логах сервера.
6. Система по п. 1, в которой блок коррекции кода и данных выполнен в виде программного обеспечения, установленного на сервере с возможностью удаления вредоносных элементов кода и данных, выявленных в результате веб-сканирования.
7. Система по п. 1, отличающаяся тем, что она содержит антивирусный сканер вредоносного кода.
8. Система по п. 1, отличающаяся тем, что блок принятия решений выполнен с возможностью совместной работы с антивирусным сканером вредоносного кода с последующим совместным анализом результатов сканирования и интерпретации.
9. Система по п. 1, отличающаяся тем, что блок коррекции кода и данных выполнен в виде программного обеспечения, установленного на сервере, с обеспечением возможности удаления вредоносных вставок кода и данных, выявленных в результате веб-сканирования.
10. Способ проверки веб-ресурсов на наличие вредоносных вставок системой по п. 1, заключающийся в том, что проводят рекурсивный разбор веб-ресурса и анализ сопутствующих источников информации, например логов веб-ресурса, интерпретируют код веб-ресурса с локированием хода интерпретации, причем при интерпретации команды условного перехода данные о ходе интерпретации дублируют, а выполнение интерпретации кода продолжают по всем направлениям, определенным условными переходами, с получением на выходе одной либо нескольких веб-страниц, в которых выявляют потенциально вредоносные элементы путем сравнения всех элементов потенциально вредоносных типов с теми, что содержатся в локальной базе данных безопасных элементов и локальной базе данных вредоносных элементов, а в случае выявления неизвестных потенциально вредоносных элементов подвергают их проверке и динамическому анализу, после завершения которых устанавливают соответствие между каждым выявленным вредоносным элементом и кодом на сайте, который ввел эти элементы в исходные данные.
11. Способ по п. 10, отличающийся тем, что код, который ввел вредоносный элемент, идентифицируют, включая записи в базах данных веб-ресурса.
12. Способ по п. 10, отличающийся тем, что дополнительно информируют владельца веб-ресурса о наличии на сервере вредоносного кода и предлагают удалить вредоносный код, а в случае если согласие на удаление вредоносного кода получено, выявленный вредоносный код удаляют с сервера.
13. Способ по п. 10, отличающийся тем, что сформированные данные, содержащие неизвестные элементы потенциально вредоносных типов, сохраняют в файл и передают для проверки с помощью глобальной базы данных известных безопасных элементов и глобальной базы данных вредоносных элементов.
14. Способ по п. 10, отличающийся тем, что при наличии неизвестных элементов потенциально вредоносных типов осуществляют их проверку путем декомпозиции документа на множество декомпозированных элементов, из которых создают файлы, число которых коррелирует с числом декомпозированных элементов, после чего производят композицию одного или нескольких наборов файлов из декомпозированных элементов, которые подвергают динамическому анализу.
15. Способ по п. 10, отличающийся тем, что при композиции осуществляют функциональный, или инкрементальный, или полный композиционный набор файлов из декомпозированных элементов.
СИСТЕМА И СПОСОБ ПРОВЕРКИ ВЕБ-РЕСУРСОВ НА НАЛИЧИЕ ВРЕДОНОСНЫХ КОМПОНЕНТ | 2010 |
|
RU2446459C1 |
RU 2008103005 A, 10.08.2009 | |||
RU 2014121249 A, 10.12.2015 | |||
Способ приготовления лака | 1924 |
|
SU2011A1 |
Устройство для закрепления лыж на раме мотоциклов и велосипедов взамен переднего колеса | 1924 |
|
SU2015A1 |
Авторы
Даты
2018-07-25—Публикация
2017-05-05—Подача