RU2662391C1 - Система и способ проверки веб-ресурсов на наличие вредоносных вставок - Google Patents

Система и способ проверки веб-ресурсов на наличие вредоносных вставок Download PDF

Info

Publication number
RU2662391C1
RU2662391C1 RU2017116147A RU2017116147A RU2662391C1 RU 2662391 C1 RU2662391 C1 RU 2662391C1 RU 2017116147 A RU2017116147 A RU 2017116147A RU 2017116147 A RU2017116147 A RU 2017116147A RU 2662391 C1 RU2662391 C1 RU 2662391C1
Authority
RU
Russia
Prior art keywords
elements
malicious
code
data
unit
Prior art date
Application number
RU2017116147A
Other languages
English (en)
Inventor
Илья Самуилович Рабинович
Original Assignee
Илья Самуилович Рабинович
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Илья Самуилович Рабинович filed Critical Илья Самуилович Рабинович
Priority to RU2017116147A priority Critical patent/RU2662391C1/ru
Priority to PCT/RU2018/000274 priority patent/WO2018203775A2/ru
Application granted granted Critical
Publication of RU2662391C1 publication Critical patent/RU2662391C1/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)

Abstract

Изобретение относится к системам и способам обеспечения безопасности компьютерных систем и более конкретно к системам и способам проверки защищенных веб-ресурсов на наличие вредоносных, потенциально опасных и нежелательных вставок. Техническим результатом является повышение достоверности обнаружения вредоносных вставок на сайтах путем уменьшения количества ложных срабатываний веб-сканера за счет проверки не только самого кода веб-сайта, но и всех данных, которые выдаются сайтом браузеру. Раскрыта система проверки веб-ресурсов на наличие вредоносных вставок, содержащая блок поиска начальных адресов, подключенный к интерпретатору, выполненному с возможностью интерпретации всех направлений исполнения кода при условных переходах, блок принятия решений, локальную базу данных безопасных элементов, локальную базу данных вредоносных элементов, блок приема и передачи данных, блок коррекции кода и данных, блок декомпозиции и композиции и блок динамического анализа, при этом интерпретатор подключен к блоку принятия решений, соединенному с блоком локальной базы данных безопасных элементов, блоком локальной базы данных вредоносных элементов, блоком приема и передачи данных и блоком коррекции кода и данных, а блок приема и передачи данных соединен с блоком декомпозиции и композиции, подключенным к блоку динамического анализа. 2 н. и 13 з.п. ф-лы, 1 ил.

Description

Настоящее изобретение относится к системам и способам обеспечения безопасности компьютерных систем и более конкретно к системам и способам проверки защищенных веб-ресурсов на наличие вредоносных, потенциально опасных и нежелательных вставок.
По мере того как технологии и инфраструктура компьютерных сетей совершенствуются, объем и скорость данных, передаваемых между устройствами компьютерной сети, стремительно возрастает. При этом передаваемые данные могут содержать вредоносные вставки - программы и элементы. Вредоносная программа - это компьютерный программный продукт, выполненный с возможностью проникать в вычислительное устройство без ведома или согласия владельца устройства. Вредоносные программы стали общеупотребительным термином и означают общий класс программного обеспечения, включающий в себя множество вредоносных, навязчивых или иным образом мешающих работе форм программного обеспечения или машинного кода. Вредоносные программы включают в себя различные вирусы, программы-черви, программы типа "троянский конь" (или программы - "трояны"), руткиты, программы-шпионы, программы с навязчивой рекламой, программы, эксплуатирующие уязвимости в программном обеспечении третьих сторон, и любое другое нежелательное злонамеренное программное обеспечение. Различные типы вредоносных программ могут собирать персональную информацию, связанную с пользователем, и отправлять эту информацию обратно в устройство сбора информации. Другие типы вредоносных программ могут приводить к тому, что вычислительное устройство будет работать с ошибками или вообще не будет работать.
Широко известны способы и средства идентификации и удаления вредоносных вставок с помощью антивирусного программного обеспечения. Традиционное антивирусное программное обеспечение использует последовательности поиска и предустановленный аналитический подход для поиска известных вредоносных программ.
Современные антивирусные сканеры вредоносных вставок на веб-ресурсах (веб-сканеры), агенты которых размещаются на сервере и сканируют файлы, размещенные на сервере, с помощью сигнатур известных вредоносных вставок, малоэффективны из-за того, что пытаются применить технологии, хорошо отработанные на бинарном коде, к интерпретируемым файлам в вебе, которые являются всего-навсего текстом. Текст же легко модифицируется и обфусцируется, поэтому все современные веб-сканеры имеют большое количество ложных срабатываний, что затрудняет идентификацию вредоносных вставок в тех файлах, которые размещены на сервере.
Таким образом, к недостаткам антивирусного программного обеспечения можно отнести неспособность обнаружения новых или неизвестных вирусов.
Существуют технологии, включающие некоторые признаки заявляемого изобретения, однако в уровне техники неизвестна совокупность признаков заявляемой группы изобретений, позволяющая исключить вышеуказанные недостатки известных технологий веб-сканирования.
Известен способ повышения уровня безопасности средств пользователя при просмотре 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 коррекции денных и кода, а соответствующие файлы или части файлов стираются.
Приведенные в описании сведения являются только примерами, которые не ограничивают объем настоящего изобретения, представленного в формуле. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, основанные на сущности и объеме настоящего изобретения.
Заявляемые система и способ проверки веб-ресурсов на наличие вредоносных вставок могут найти широкое применение для обеспечения безопасности веб-ресурсов, поскольку позволяют надежно и достоверно обнаруживать вредоносные вставки на сайтах, путем уменьшения количества ложных срабатываний веб-сканера за счет проверки не только самого кода веб-сайта, но и всех данных, которые выдаются сайтом браузеру.

Claims (15)

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, отличающийся тем, что при композиции осуществляют функциональный, или инкрементальный, или полный композиционный набор файлов из декомпозированных элементов.
RU2017116147A 2017-05-05 2017-05-05 Система и способ проверки веб-ресурсов на наличие вредоносных вставок RU2662391C1 (ru)

Priority Applications (2)

Application Number Priority Date Filing Date Title
RU2017116147A RU2662391C1 (ru) 2017-05-05 2017-05-05 Система и способ проверки веб-ресурсов на наличие вредоносных вставок
PCT/RU2018/000274 WO2018203775A2 (ru) 2017-05-05 2018-04-26 Система и способ проверки веб-ресурсов на наличие вредоносных вставок

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2017116147A RU2662391C1 (ru) 2017-05-05 2017-05-05 Система и способ проверки веб-ресурсов на наличие вредоносных вставок

Publications (1)

Publication Number Publication Date
RU2662391C1 true RU2662391C1 (ru) 2018-07-25

Family

ID=62981731

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2017116147A RU2662391C1 (ru) 2017-05-05 2017-05-05 Система и способ проверки веб-ресурсов на наличие вредоносных вставок

Country Status (2)

Country Link
RU (1) RU2662391C1 (ru)
WO (1) WO2018203775A2 (ru)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200210624A1 (en) * 2018-12-28 2020-07-02 AO Kaspersky Lab System and method for attack resiliency in verifying digital signatures of files
RU2757007C2 (ru) * 2019-09-05 2021-10-08 Общество С Ограниченной Ответственностью «Яндекс» Способ и система для определения вредоносных действий определенного вида

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2008103005A (ru) * 2005-06-28 2009-08-10 Аладдин Нолидж Системз Лтд. (Il) Способ повышения уровня безопасности машины пользователя при просмотре web-страниц
US20110239300A1 (en) * 2010-11-01 2011-09-29 Trusteer Ltd. Web based remote malware detection
RU2446459C1 (ru) * 2010-07-23 2012-03-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ проверки веб-ресурсов на наличие вредоносных компонент
US20150188936A1 (en) * 2013-12-26 2015-07-02 Electronics And Telecommunications Research Institute System and method for real-time malware detection based on web browser plugin
RU2014121249A (ru) * 2011-11-02 2015-12-10 БИТДЕФЕНДЕР АйПиАр МЕНЕДЖМЕНТ ЛТД Системы и способы защиты от вредоносного программного обеспечения на основе нечеткого вайтлистинга

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2008103005A (ru) * 2005-06-28 2009-08-10 Аладдин Нолидж Системз Лтд. (Il) Способ повышения уровня безопасности машины пользователя при просмотре web-страниц
RU2446459C1 (ru) * 2010-07-23 2012-03-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ проверки веб-ресурсов на наличие вредоносных компонент
US20110239300A1 (en) * 2010-11-01 2011-09-29 Trusteer Ltd. Web based remote malware detection
RU2014121249A (ru) * 2011-11-02 2015-12-10 БИТДЕФЕНДЕР АйПиАр МЕНЕДЖМЕНТ ЛТД Системы и способы защиты от вредоносного программного обеспечения на основе нечеткого вайтлистинга
US20150188936A1 (en) * 2013-12-26 2015-07-02 Electronics And Telecommunications Research Institute System and method for real-time malware detection based on web browser plugin

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200210624A1 (en) * 2018-12-28 2020-07-02 AO Kaspersky Lab System and method for attack resiliency in verifying digital signatures of files
RU2757007C2 (ru) * 2019-09-05 2021-10-08 Общество С Ограниченной Ответственностью «Яндекс» Способ и система для определения вредоносных действий определенного вида
US11444967B2 (en) 2019-09-05 2022-09-13 Yandex Europe Ag Method and system for identifying malicious activity of pre-determined type

Also Published As

Publication number Publication date
WO2018203775A2 (ru) 2018-11-08
WO2018203775A3 (ru) 2019-01-31

Similar Documents

Publication Publication Date Title
US12019734B2 (en) Methods and apparatus for control and detection of malicious content using a sandbox environment
Ohm et al. Towards detection of software supply chain attacks by forensic artifacts
Sarmah et al. A survey of detection methods for XSS attacks
RU2613535C1 (ru) Способ обнаружения вредоносных программ и элементов
Yamaguchi et al. Chucky: Exposing missing checks in source code for vulnerability discovery
RU2571723C2 (ru) Система и способ для снижения нагрузки на операционную систему при работе антивирусного приложения
Jovanovic et al. Pixy: A static analysis tool for detecting web application vulnerabilities
US8850585B2 (en) Systems and methods for automated malware artifact retrieval and analysis
US8042186B1 (en) System and method for detection of complex malware
KR100509650B1 (ko) 코드 삽입 기법을 이용한 악성 스크립트 감지 방법
RU2487405C1 (ru) Система и способ для исправления антивирусных записей
EP2515250A1 (en) System and method for detection of complex malware
EP3241135A1 (en) Code instrumentation for runtime application self-protection
CN107896219B (zh) 一种网站脆弱性的检测方法、系统及相关装置
Choi et al. HXD: Hybrid XSS detection by using a headless browser
CN105791250B (zh) 应用程序检测方法及装置
Xu et al. Autovac: Automatically extracting system resource constraints and generating vaccines for malware immunization
RU2662391C1 (ru) Система и способ проверки веб-ресурсов на наличие вредоносных вставок
Klein et al. Hand sanitizers in the wild: A large-scale study of custom javascript sanitizer functions
Supriya et al. Malware detection techniques: a survey
Okun et al. Report on the third static analysis tool exposition (sate 2010)
Naderi-Afooshteh et al. Cubismo: Decloaking server-side malware via cubist program analysis
US20230044579A1 (en) Forecasting Malware Capabilities from Cyber Attack Memory Images
Ravula et al. Learning attack features from static and dynamic analysis of malware
RU101232U1 (ru) Система для автоматического создания средств противодействия определенному типу вредоносных приложений