СПОСОБ ОБНАРУЖЕНИЯ ВРЕДОНОСНЫХ ПРОГРАММ И ЭЛЕМЕНТОВ Российский патент 2017 года по МПК G06F21/56 G06F17/30 H04L29/02 

Описание патента на изобретение RU2613535C1

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

По мере того как технологии и инфраструктура компьютерных сетей совершенствуются, объем и скорость данных, передаваемых между устройствами компьютерной сети, стремительно возрастает. При этом передаваемые данные могут содержать вредоносные программы и элементы. Вредоносная программа - это компьютерный программный продукт, выполненный с возможностью проникать в вычислительное устройство без ведома или согласия владельца устройства. Вредоносные программы стали общеупотребительным термином и означают общий класс программного обеспечения, включающий в себя множество вредоносных, навязчивых или иным образом мешающих работе форм программного обеспечения или машинного кода. Вредоносные программы включают в себя различные вирусы, программы-черви, программы типа "троянский конь" (или программы - "трояны"), руткиты, программы-шпионы, программы с навязчивой рекламой, программы, эксплуатирующие уязвимости в программном обеспечении третьих сторон и любое другое нежелательное злонамеренное программное обеспечение. Различные типы вредоносных программ могут собирать персональную информацию, связанную с пользователем, и отправлять эту информацию обратно в устройство сбора информации. Другие типы вредоносных программ могут приводить к тому, что вычислительное устройство работает с ошибками или вообще не работает.

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

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

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

Указанные проблемы решаются также широко известными способами обнаружения в антивирусном программном обеспечении подозрительного режима работы программы и ее оценки. Если антивирусное программное обеспечение находит существенные корелляции кода либо поведения с уже известными вредоносными кодами, антивирусное приложение может допускать, что оно обнаруживает новый вирус или вредоносную программу. Эти способы подпадают под обобщенный термин "эвристические" способы обнаружения вредоносных программ. Как правило, эвристический анализ означает, что анализируемая программа запускается в некотором изолированном и безопасном окружении, и способ собирает сведения о ее выполнении. Указанный способ подвергает оценке максимально возможный объем информации и позволяет сделать выводы о легитимности анализируемой программы, либо нацеленности программы на что-либо нестандартное или вредоносное. Эвристический анализ имеет ряд преимуществ. Он работает независимо от того, анализировался или нет конкретный код ранее. Он также может распознавать новые вирусы и программы - "трояны".

Однако указанному способу присущи такие недостатки, как недостаточная достоверность анализа, поскольку грань между корректным и наносящим вред режимом работы программного обеспечения может быть неопределенной, степень сходства с уже известным вредоносным кодом либо поведением может быть преднамеренно скрыта. При этом нужны значительные затраты времени, связанные с необходимостью проверки программы в безопасном окружении, в котором можно быть уверенным, что вред не будет нанесен. К тому же следует учитывать набор разнообразных приемов авторов вредоносных программ, направленных на предотвращение эвристического типа анализа.

Известно изобретение (RU 2417429, 27.04.11) на способ минимизации использования злоумышленником уязвимостей в программном обеспечении, установленном в целевом компьютере, посредством изучения сетевого трафика туда и идентификации злонамеренного кода перед тем, как он может быть выполнен и/или установлен. На транспортном уровне (например, уровне сокетов протокола управления передачей (TCP) сетевой трафик наблюдается с помощью компонента безопасности, установленного в целевом компьютере. Когда принимается сообщение, предназначенное для вычислительной системы, данные, включенные в сообщение, сравниваются с признаками эксплойта (код, эксплуатирующий уязвимости в программном обеспечении, произведенного третьими сторонами), используемыми для того, чтобы идентифицировать злонамеренный код. Признаки эксплойта предоставляются компоненту безопасности службой безопасности, которая собирает информацию о злонамеренном коде. На основе сравнения данных в сообщении с признаками эксплойта идентифицируются правила, которые инструктируют компонент безопасности, чтобы предпринять соответствующее действие по принятому сообщению.

Однако в указанном способе отсутствует возможность селективного наблюдения за интерпретируемыми объектами веб-сайтов, а не за всем трафиком на транспортном уровне, отсутствует контроль и анализ корелляций передаваемых иетаданных, отсутствует возможность анализа отдельных интерпретируемых файлов, возможность асинхронного выявления вредоносных элементов на веб-сайте, то есть выявления не в режиме реального времени, а также не выполняется функция корелляции данных, полученных в синхронном (режиме реального времени) и асинхронных режимах работы.

Наиболее близким к заявляемому способу является эвристический способ анализа кода (RU 2526716, 27.08.2014 г.), включающий следующие этапы: посредством процессора вычислительного устройства, выполняют статическую оценку программных инструкций в программе, содержащей последовательность программных инструкций, сохраненных на машиночитаемом носителе, функционально соединенном с процессором, причем статическую оценку выполняют без выполнения упомянутых программных инструкций, сравнивают, посредством упомянутого процессора, каждую инструкцию в упомянутой последовательности с каждым из группы критериев подозрительности, причем критерии подозрительности используют для оценки каждой инструкции на основании ожидаемого результата инструкции в ходе выполнения, определяют, посредством упомянутого процессора, удовлетворяет ли каждая инструкция в последовательности какому-либо критерию из группы критериев подозрительности; назначают, посредством упомянутого процессора, количественный показатель на уровне инструкций для каждой инструкции, которая нарушает какой-либо из критериев подозрительности, причем количественный показатель на уровне инструкций отражает одно или более из опыта использования, сравнения с другим кодом, сформированным посредством официального инструментального средства, и сравнения с другой последовательностью инструкций, сформированной посредством официального инструментального средства; суммируют, посредством упомянутого процессора, количественные показатели на уровне инструкций для каждой инструкции для получения в результате количественного показателя на уровне программы; определяют, посредством упомянутого процессора, превышает ли количественный показатель на уровне программы пороговое значение; и если количественный показатель на уровне программы превышает пороговое значение, создают посредством упомянутого процессора сообщение, указывающее результат обнаружения вредоносных программ.

Однако указанному способу присущи вышеуказанные недостатки эвристических способов - недостаточная достоверность обнаружения вредоносных элементов.

Общие признаки: осуществление работы с сетевым трафиком и базами данных безопасных и небезопасных объектов, а выявленные вредоносные элементы не передаются на компьютер пользователя.

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

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

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

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

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

Количество композиционных файлов, сформированных на основе функционального набора, равно количеству функциональных блоков и одному базовому файлу, составленному на основе оригинального файла, из которого удалены все потенциально вредоносные элементы.

Количество композиционных файлов, сформированных на основе инкрементального набора, равно количеству декомпозированных элементов и одному базовому файлу, составленному на основе оригинального файла, из которого удалены все потенциально вредоносные элементы.

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

В одном из вариантов реализации способа анализ исходящего с сервера документа можно осуществлять совместно с анализом иетаданных, принимаемых на сервер, например, User Agent и IP-адрес и направляемых с сервера обратно, например, код статуса и адрес перенаправления.

В способе может использоваться система детектирования, выполненная с возможностью обеспечения срабатывания вредоносных кодов в процессе работы с соответствующим типом интерпретируемых файлов, например, уязвимые версии Microsoft Office для открытия DOC(X), Adobe Acrobat Reader для PDF, Adobe Flash Player для SWF.

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

При этом повышение достоверности обнаружения вредоносных программ и элементов достигается также за счет использования динамического (а не статического, на эмуляторе) детектирования в режиме реального времени с использованием набора файлов, составленных на основе композиции элементов, выделенных путем декомпозиции из первоначального файла.

На чертеже схематически представлено устройство, с помощью которого может быть реализован способ.

Устройство для реализации способа в одном из вариантов исполнения содержит блок фильтрации 1, соединенный с блоком декомпозиции и композиции 2, с браузером 8 и с сервером 9, связанными друг с другом. Блок фильтрации 1 и блок декомпозиции и композиции 2 подсоединены также к глобальным базам данных 4 вредоносных элементов и базе данных 5 безопасных элементов. Кроме того, блок фильтрации 1 соединен с локальной базой 6 безопасных элементов и локальной базой 7 вредоносных элементов. При этом блок декомпозиции и композиции 2 соединен с блоком динамического детектирования 3.

Заявляемый способ реализуется следующим образом.

При этом заявляемый способ не ограничен конкретными описанными вариантами реализации, поскольку они могут варьироваться.

Браузер посылает запрос на получение документа на сервер, сервер принимает запрос, обрабатывает его, формирует документ и отсылает его в ответ. При этом возможна работа по синхронному и асинхронному вариантам. Асинхронный вариант нужен для уменьшения задержек для пользователя при анализе данных, поскольку документы, которые он загружает, уже были предварительно получены и проверены самой системой. Таким образом, имеются два варианта развития событий для пользователя: в первом случае, пользователь через свой браузер посылает запрос на получение документа (HTML-странички, к примеру), который формируется сервером и отправляется обратно пользователю. Но сначала, до отправки пользователю, документ направляется в блок фильтрации 1. Блок фильтрации 1 производит проверку документа на наличие потенциально вредоносных элементов по локальным базам известных безопасных 6 и вредоносных 7 элементов. В случае, если в документе присутствуют потенциально вредоносные элементы, отсутствующие в обеих базах, блок фильтрации 1 производит обновление локальных баз безопасных 6 и вредоносных 7 элементов с использованием глобальных баз безопасных 5 и вредоносных 4 элементов, после чего проверяет документ по обеим локальным базам 6 и 7 безопасных и вредоносных элементов еще раз. Если после проверки по обновленным локальным базам 6 и 7 известных вредоносных и безопасных элементов в документе присутствуют элементы, отсутствующие в указанных базах, документ отправляется на сервер 9 для проверки и квалификации неизвестных потенциально вредоносных элементов. Указанная проверка отнимает некоторое время, в связи с чем пользователю придется подождать окончания анализа.

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

Блок фильтрации 1, встроенный в сервер, браузер или канал коммуникаций между ними, осуществляет анализ передаваемых документов в соответствии с локальной базой данных 6, включающей данные об известных безопасных элементах. Локальные базы данных безопасных и вредоносных элементов первоначально создают путем полной репликации данных из соответствующих глобальных баз данных 4 и 5, находящихся на сервере системы защиты. Эти базы данных могут быть обновлены с помощью блока фильтрации 1 в случае обнаружения неизвестных элементов в исходящих документах, типы которых, согласно текущим настройкам блока, могут быть использованы для атаки на браузер либо иное ПО пользователя, а также по сигналу с сервера, после анализа потенциально вредоносных элементов на серверах с установленными системами защиты и по расписанию согласно текущим настройкам блока фильтрации 1.

Блок фильтрации 1, преимущественно выполненный в виде программного обеспечения, встроенного в сервер, либо браузер, либо канал связи между браузером и сервером, анализирует отсылаемый документ с помощью локальной базы 6 безопасных элементов, также установленной в сервер, либо браузер, либо канал связи между браузером и сервером в режиме «только чтение», при котором локальная база данных 6 безопасных элементов не пополняется новыми данными, чтобы не сбивать когерентность базы данных.

Кроме того, в сервер 9, либо браузер 8, либо в канал связи между ними встроена также программа для ЭВМ, представляющая собой локальную базу 7 вредоносных элементов, также используемую в рамках данной операции в режиме «только чтение». В случае, если в отправленном документе присутствуют неизвестные элементы, отсутствующие как в локальной базе 7 известных вредоносных элементов, так и в локальной базе 6 безопасных элементов, и типы которых, после проведения сравнительного анализа согласно настройкам блока фильтрации, могут быть использованы для атаки на браузер либо иное прикладное программное обеспечение на стороне пользователя, производится обновление в режиме «только запись» локальных баз данных 6 и 7 путем добавления к ним из глобальных баз данных 4 и 5, реализованных преимущественно в виде ПО и установленных на сервере 9. После этого производится еще одна проверка в режиме «только чтение» отсылаемого документа по обеим локальным базам данных - вредоносных 7 и безопасных 6 элементов. При этом в локальную базу данных 7 вредоносных элементов на данном этапе проверки документа добавляются только те новые элементы, что присутствуют в глобальной базе 4 вредоносных элементов, но которых нет в локальной. Аналогичным образом пополняется и база данных 6 безопасных элементов. Неизвестные элементы на данном этапе проверки документа не добавляются в локальные базы данных, а подлежат лишь дальнейшей классификации на сервере.

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

Если даже после этого устанавливается, что в отсылаемом документе присутствуют неизвестные элементы, которые могут быть потенциально вредоносными, и типы которых, после проведения сравнительного анализа согласно настройкам блока фильтрации, могут быть использованы для атаки на браузер либо иное ПО на стороне пользователя, блок фильтрации 1 отсылает такой документ в блок декомпозиции и композиции 2. Отправка документа, содержащего неизвестные потенциально вредоносные элементы, производится путем направления соответствующего пакета либо набора пакетов данных на сервер 9, где данные принимаются и обрабатывается путем декомпозиции и композиции преимущественно с помощью программы, установленной на сервере 9.

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

- в случае выбора композиции на основе функционального набора, предварительно анализируют функциональные связи между декомпозированными элементами. При этом выявляют все элементы, которые связаны функционально друг с другом, и формируют из них функциональный блок. Количество файлов в функциональном наборе должно быть равно количеству функциональных блоков и одному базовому файлу, составленному на основе оригинального файла, из которого удалены все неизвестные потенциально вредоносные элементы;

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

- в случае выбора полного композиционного набора, количество композированных файлов представляет собой набор композированных файлов из изначальных декомпозированных элементов, собранных таким образом, чтобы включать в себя все возможные уникальные комбинации декомпозированных элементов, (2N-1), (два в степени от числа декомпозированных элементов без единицы) плюс один базовый файл.

Ниже приведены примеры реализации способа в различных вариантах при осуществлении декомпозиции документа с последующей композицией.

Например, изначальный файл, перехваченный блоком фильтрации.

В данном файле имеются два неизвестных потенциально вредоносных элемента типа<script>. Первый из них

Второй из них

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

а) Базовый композиционный файл, представляющий собой основу для составления композиционного набора, в котором отсутствуют неизвестные потенциально вредоносные элементы:

б) Первый из неизвестных потенциально вредоносных элементов:

в) Второй из неизвестных потенциально вредоносных элементов:

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

1) Функциональная композиция.

Оба потенциально вредоносных элемента типа<script>, б) и в), функционально никак не связаны друг с другом, это независимо работающие скрипты, поэтому у нас получается три композиционных файла, созданных путем встраивания функциональных блоков в базовый композиционный файл, одного за другим, вставляемых в те позиции файлов композиционного набора, в которых они находились в оригинальном файле. Это необходимо для выявления вредоносных элементов и отделения их от безопасных. При этом получены три композиционных файла. Композиционный файл №1:

Композиционный файл №2:

Композиционный файл №3:

2) Инкрементальная композиция.

При наличии двух неизвестных потенциально вредоносных элементов, б) и в), создаем три композиционных файла путем добавления, один за другим, данных элементов к предыдущему композиционному файлу, вставляя их в те позиции, где они присутствовали в оригинальном файле.

Композиционный файл №1:

Композиционный файл №2:

Композиционный файл №3:

3) Полный композиционный набор

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

Композиционный файл №1:

Композиционный файл №2:

Композиционный файл №3:

Композиционный файл №4:

Появление 4 композиционных файлов вызвано необходимостью представления полного комбинаторного набора из 2 элементов, например: Базовый файл, базовый файл + элемент №1, базовый файл + элемент №2, базовый файл + элемент №1 + элемент №2. Если таких элементов три, то тогда имеем: базовый файл, базовый файл + элемент №1, базовый файл + элемент №2, базовый файл + элемент №3, базовый файл + элемент №1 + элемент №2, базовый файл + элемент №1 + элемент №3, базовый файл + элемент №3 + элемент №2, базовый файл + элемент №1 + элемент №2 + элемент №3. Указанное определяет выражение 2 в степени количества декомпозированных элементов без единицы плюс один базовый тестовый файл.

После этого производят композицию функционального (1-М+1), инкрементальных (1-N+1) либо полного композиционного (1-2N) наборов файлов из декомпозированных элементов, где М - число функциональных блоков, а N - число декомпозированных элементов.

В дальнейшем составленные композиции набора файлов подвергают динамическому детектированию.

При этом в случае осуществления композиции на основе функционального набора, в качестве вредоносных элементов выявляют те функционально связанные блоки элементов из всех неизвестных системе, что получили вердикт «было зафиксировано срабатывание вредоносного кода» при анализе в блоке динамического детектирования 3.

В случае инкрементального набора в качестве вредоносного элемента выявляют тот элемент, что вызвал вердикт «было зафиксировано срабатывание вредоносного кода» со стороны блока динамического детектирования.

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

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

При использовании полного композиционного набора осуществляется анализ полученных данных единым кадром, т.е. одномоментно идентифицируются все неизвестные потенциально опасные элементы файла с добавлением каждого из них, согласно вынесенному вердикту, в глобальные базы вредоносных 7 и безопасных 6 элементов соответственно.

При использовании композиции на основе функционального набора анализируются связанные функционально блоки внутри изначального документа. В дальнейшем, возможен и поэлементный анализ внутри функционального блока, получившего вердикт со стороны блока 3 динамического детектирования - «было зафиксировано срабатывание вредоносного кода».

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

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

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

Программа для работы с соответствующим типом документов, установленная на сервере и являющаяся частью блока динамического детектирования, способна работать с определенным типом файлов, интерпретируя его внутреннюю структуру таким образом, чтобы вызвать срабатывание вредоносного кода в файле в случае, если он там присутствует. Аномальный ход исполнения программного кода характеризуется отклонением путей выполнения инструкций клиентского программного обеспечения от предписанной разработчиками данного программного обеспечения для того, чтобы вредоносный код, содержащийся в той или иной форме в файле из композиционного набора, получил возможность быть исполненным так же, как и код клиентского программного обеспечения. Аномальное поведение клиентского программного обеспечения характеризуется использованием средств, предоставляемых операционной системой, для выполнения операций, не требующихся для интерпретации внутренней структуры файла из композиционного набора и, потому, выходящего за рамки предопределенного набора разрешенных действий и вызовов средств операционной системы для данного клиентского программного обеспечения.

После осуществления декомпозиции и композиции, а также динамического детектирования, позволяющего отделить безопасные элементы от вредоносных, полученный файл, содержащий только безопасные элементы, возвращается в блок фильтрации 1. Блок фильтрации 1 также обновляет локальные базы безопасных 6 и вредоносных 7 элементов. Если блок фильтрации 1 имеет сопряжение с блоком автоматического лечения, (на чертеже не показан) то он направляет в блок автоматического лечения всю ту информацию о найденных вредоносных элементах, которая будет необходима для однозначной идентификации вредоносного кода либо данных на самом веб-сайте либо смежных с ним ресурсах, которые передают документ с вредоносными элементами в первоначальном файле, ранее направлявшийся с сервера к пользователю.

При этом блок фильтрации 1 осуществляет замену изначального исходящего документа на тот, что был передан обратно от блока декомпозиции и композиции 2, а также корректирует, если необходимо, исходящие метаданные пользовательского запроса, например, меняя размер исходящего файла с оригинального на новый, не содержащий вредоносных элементов. После того как файл отправлен блок фильтрации 1 обновляет обе локальные базы данных вредоносных 7 и безопасных 6 элементов, получая данные для их обновления из соответствующих глобальных баз данных 4 и 5.

В случае идентификации одного либо нескольких вредоносных элементов, они заносятся в базу как вредоносные, остальные - как безопасные. Те элементы, что были выявлены как вредоносные, удаляются из документа таким образом, чтобы документ открывался у пользователя без ошибок.

Для этого полученный файл проходит проверку валидности файлов документа с удаленными вредоносными элементами. Проверка валидности осуществляется после удаления элементов, идентифицированных как вредоносные, но до передачи скорректированного документа в браузер 8.

Без проверки валидности файл может быть испорчен в результате удаления вредоносных элементов. При этом проверку валидности можно осуществлять и на этапе фильтрации после удаления известных вредоносных элементов из документа с последующей его корректировкой в случае необходимости. Проверка валидности документа осуществляется в блоке фильтрации 1, если из документа удалены вредоносные элементы. При этом происходит получение файла из блока фильтрации 1, проводится его проверка на валидность, согласно предопределенным правилам и стандартам, после чего, если есть необходимость, осуществляется корректировка файла согласно предопределенным алгоритмам и передача его обратно в блок фильтрации.

В случае обнаружения одного либо нескольких вредоносных элементов в исходящем документе, который был проанализирован блоком декомпозиции и композиции 2 на основании вердиктов, вынесенных блоком динамического детектирования 3 (например, «было зафиксировано срабатывание вредоносного кода»-«не было зафиксировано срабатывание вредоносного кода») для конкретного файла композиционного набора, который был в него загружен для проверки, те элементы, что были идентифицированы как вредоносные, заносятся блоком декомпозиции и композиции 2 в глобальную базу данных 4 вредоносных элементов. Указанная база данных реализована в качестве программного обеспечения и установлена на сервере 9 таким образом, чтобы в дальнейшем подобные элементы в исходящем трафике могли однозначно идентифицироваться как вредоносные. Все остальные неизвестные потенциально вредоносные элементы идентифицируются как безопасные, и после декомпозиции и композиции записи о новых элементах, идентифицированных как безопасные в режиме «только запись», включают в глобальную базу данных безопасных элементов 5 таким образом, чтобы в дальнейшем подобные элементы в исходящем трафике могли однозначно интерпретироваться как безопасные.

Исходящий документ после динамического детектирования перекомпоновывается таким образом, чтобы исключить из его структуры те элементы, что были идентифицированы как вредоносные. После этого документ передается в систему фильтрации 1, которая принимает данный файл и проверяет его на валидность, после чего готовит документ для передачи в браузер 8 пользователю, модифицируя в случае необходимости иетаданные в оригинальном ответе на запрос браузера клиента. Далее осуществляется замена оригинального исходящего файла на новый, вследствие чего пользователю направляется безопасный вариант запрошенного изначального документа.

При выявлении вредоносных элементов реализуют следующее.

Командный интерпретатор исполняет код на сайте, расположенный в большом количестве файлов, которые оперируют также значениями из локальных или расположенных удаленно на других серверах баз данных. Каждая операция, исполняемая командным интерпретатором, заносится в лог, а также каждое значение входящих и исходящих параметров для данной операции. Например, если идет вредоносная вставка в HTML код странички, то данная вставка начинается в том интерпретируемом файле, что получен для выдачи пользователю, с позиции 444. При этом поднимают лог командного интерпретатора для того, чтобы идентифицировать тот набор команд на сайте, который вставил в файл этот вредоносный элемент. Предположим, это файл do_not_do_eval.php, строка 34, это команда «eval(«что-то там внутри»)». В таком случае лицо, принимающее решения на данном веб-сайте, информируется о том, что команда в строке 34 «еуа1(«что-то там внутри»)» из файла do_not_do_eval.php является вредоносным кодом на сайте, с предложением ее удалить.

В случае наличия блока истории изменений файлов на сервере 9 и блока сбора логов командного интерпретатора и сервера, блок автоматизированного лечения, в результате анализа данных о работе сервера и истории изменения интересующего нас файла do_not_do_eval.php на предмет появления в нем строчки «eval(«что-то там внутри»)», блок автоматизированного лечения также может вынести вердикт по поводу того, какие именно средства использовал злоумышленник для инфицирования веб-сайта, и также предоставить лицу, принимающему решения на веб-сайте, заключение о шагах, которые нужно принять для предотвращения подобных инцидентов в будущем.

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

Также, во всех режимах можно выявлять атаки типа «перенаправление пользователя», для этого необходимо добавить к анализу исходящего с сервера документа также и анализ иетаданных, принимаемых на сервер (например, User Agent и IP-адрес) и отсылаемых с сервера обратно (например, код статуса и адрес перенаправления). Возможно динамическое перенаправление пользователя осуществлять с помощью тегов и данных внутри выдаваемой странички, иногда - через иетаданные, выдавая ответ сервера «301» (переадресация 301) с адресом перенаправления. Можно анализировать выдаваемый код на предмет вердикта детектора «переадресация по адресу, не связанного с оригинальным сайтом», можно анализировать иетаданные 301-го ответа сервера для вынесения вердикта «переадресация по адресу, не связанному с оригинальным сайтом».

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

Похожие патенты RU2613535C1

название год авторы номер документа
СИСТЕМА И СПОСОБ ПРОВЕРКИ ВЕБ-РЕСУРСОВ НА НАЛИЧИЕ ВРЕДОНОСНЫХ ВСТАВОК 2017
  • Рабинович Илья Самуилович
RU2662391C1
Способ обнаружения вредоносных программ и элементов 2021
  • Павликов Сергей Николаевич
  • Коломеец Валерия Юрьевна
  • Копаева Екатерина Юрьевна
  • Пленник Милена Денисовна
  • Зимарёва Евгения Андреевна
  • Колесов Юрий Юрьевич
  • Гареева Марина Анатольевна
  • Цепелева Алена Сергеевна
RU2762079C1
СПОСОБ АВТОМАТИЧЕСКОЙ НАСТРОЙКИ СРЕДСТВА БЕЗОПАСНОСТИ 2012
  • Зайцев Олег Владимирович
RU2514137C1
Способ предотвращения работы программ, содержащих нежелательный для пользователя функционал 2015
  • Закоржевский Вячеслав Владимирович
  • Романенко Александр Александрович
  • Добровольский Сергей Васильевич
  • Слободянюк Юрий Геннадьевич
  • Юрзин Олег Александрович
  • Павлющик Михаил Александрович
  • Стройков Александр Александрович
  • Амриллоев Александр Валентинович
RU2618947C2
СИСТЕМА И СПОСОБ ОБНАРУЖЕНИЯ ВРЕДОНОСНЫХ ФАЙЛОВ ОПРЕДЕЛЕННОГО ТИПА 2014
  • Закоржевский Вячеслав Владимирович
  • Асеев Евгений Алексеевич
  • Крюков Андрей Владимирович
  • Иванов Антон Михайлович
RU2583712C2
СПОСОБ ВЕДЕНИЯ БАЗЫ ДАННЫХ И СООТВЕТСТВУЮЩИЙ СЕРВЕР 2015
  • Ниемеля Ярно
  • Хюппёнен Микко
  • Кенгез Сентери
RU2698776C2
СИСТЕМА И СПОСОБ ЗАЩИТЫ ОТ ВРЕДОНОСНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, СВЯЗЫВАЮЩАЯСЯ С СЕРВЕРОМ 2011
  • Махаффи Кэвин Патрик
  • Бургесс Джеймс Дэвид
  • Голомбек Дэвид
  • Вятт Тимоти Мишель
  • Лайнберри Энтони Маккей
  • Бартон Кайл
  • Эвенс Дэниел, Ли
  • Ричардсон Дэвид Льюк
  • Саломон Эриэл
  • Хёринг Джон Джи.
  • Грабб Джонатан Пантера
RU2571594C2
СИСТЕМА И СПОСОБ ПОВЫШЕНИЯ ЭФФЕКТИВНОСТИ ОБНАРУЖЕНИЯ НЕИЗВЕСТНЫХ ВРЕДОНОСНЫХ ОБЪЕКТОВ 2010
  • Машевский Юрий Вячеславович
  • Василенко Роман Сергеевич
RU2454714C1
СПОСОБ ЗАЩИТЫ КОМПЬЮТЕРНОЙ СИСТЕМЫ ОТ ВРЕДОНОСНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 2011
  • Ниемеля Ярно
  • Хюппёнен Микко
  • Кенгез Сентери
RU2566329C2
СИСТЕМА И СПОСОБ ПРОВЕРКИ ВЕБ-РЕСУРСОВ НА НАЛИЧИЕ ВРЕДОНОСНЫХ КОМПОНЕНТ 2010
  • Зайцев Олег Владимирович
  • Денисов Виталий Игоревич
RU2446459C1

Иллюстрации к изобретению RU 2 613 535 C1

Реферат патента 2017 года СПОСОБ ОБНАРУЖЕНИЯ ВРЕДОНОСНЫХ ПРОГРАММ И ЭЛЕМЕНТОВ

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

Формула изобретения RU 2 613 535 C1

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

2. Способ по п. 1, отличающийся тем, что при обнаружении вредоносных элементов включают их в базу данных вредоносных элементов, а остальные элементы в базу данных безопасных элементов,

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

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

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

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

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

8. Способ по п. 1, отличающийся тем, что при обнаружении вредоносных элементов дополнительно осуществляют автоматическое лечение сайта.

9. Способ по п. 1, отличающийся тем, что проверку исходящего с сервера документа осуществляют совместно с проверкой метаданных, принимаемых на сервер, например, User Agent и IP-адрес, и направляемых с сервера обратно, например, код статуса и адрес перенаправления.

10. Способ по п. 1, отличающийся тем, что детектирование осуществляют с помощью программ, которые могут обеспечить возможность срабатывания вредоносных кодов в процессе работы с соответствующим типом интерпретируемых файлов, например, уязвимые версии Microsoft Office для открытия DOC(X), Adobe Acrobat Reader для PDF, Adobe Flash Player для SWF.

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

12. Способ по п. 1, отличающийся тем, что осуществляют проверку валидности файлов документа с удаленными вредоносными элементами.

Документы, цитированные в отчете о поиске Патент 2017 года RU2613535C1

ЗАЩИТА ОТ ИСПОЛЬЗОВАНИЯ УЯЗВИМОСТИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 2007
  • Томпсон Роджер Джон
  • Мошер Грегори Эндрю
RU2417429C2
СИСТЕМА И СПОСОБ ДЛЯ ОБНАРУЖЕНИЯ ВРЕДОНОСНЫХ ПРОГРАММ 2009
  • Хикс Райан
RU2497189C2
Механизм для раскладки нити в кружке центрифугальной прядильной машины для искусственного волокна 1950
  • Моисеев Г.К.
SU94016A1
ПРИСПОСОБЛЕНИЕ К ЗЕРНОВЫМ КОМБАЙНАМ ДЛЯ ВЫТИРАНИЯ И ОЧИСТКИ СЕМЯН ТРАВ 1950
  • Левкин А.Д.
SU91202A1
US 8677481 B1, 18.03.2014
Пломбировальные щипцы 1923
  • Громов И.С.
SU2006A1
Изложница с суживающимся книзу сечением и с вертикально перемещающимся днищем 1924
  • Волынский С.В.
SU2012A1
Изложница с суживающимся книзу сечением и с вертикально перемещающимся днищем 1924
  • Волынский С.В.
SU2012A1
Станок для изготовления деревянных ниточных катушек из цилиндрических, снабженных осевым отверстием, заготовок 1923
  • Григорьев П.Н.
SU2008A1

RU 2 613 535 C1

Авторы

Рабинович Илья Самуилович

Даты

2017-03-16Публикация

2015-11-20Подача