СПОСОБ ОБНАРУЖЕНИЯ КОДОВ ВРЕДОНОСНЫХ КОМПЬЮТЕРНЫХ ПРОГРАММ В ТРАФИКЕ СЕТИ ПЕРЕДАЧИ ДАННЫХ, В ТОМ ЧИСЛЕ ПОДВЕРГНУТЫХ КОМБИНАЦИЯМ ПОЛИМОРФНЫХ ПРЕОБРАЗОВАНИЙ Российский патент 2017 года по МПК G06F21/56 H04L29/02 

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

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

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

Существуют различные способы сигнатурного обнаружения кодов вредоносных компьютерных программ в трафике сети передачи данных. Такие способы, несомненно, увеличивают число обнаружений трафика, содержащего коды ВКП. Известен способ (патенты US 2004190506 A1, ЕР 2393030 А2) обнаружения трафика, содержащего шаблоны, характерные для кодов ВКП, где в качестве шаблонов выступают битовые сигнатуры участков исполняемого кода ВКП. В последнее время разработчики ВКП прилагают значительные усилия для сокрытия исполняемых кодов ВКП от систем сигнатурного поиска, в том числе за счет применения различных полиморфных преобразований. Недостатком предложенного способа сигнатурного обнаружения является малая полнота обнаружения, вызванная отсутствием возможности обнаружения трафика, содержащего участки исполняемого кода ВКП, подвергнутые различным полиморфным преобразованиям.

Ряд патентных публикаций описывает подходы к обнаружению кодов полиморфных ВКП. Наиболее близким к изобретению аналогом (прототипом) является способ (патент US 5442699A) обнаружения в анализируемых битовых последовательностях участков, тождественных битовым сигнатурам исполняемых кодов ВКП, где в качестве шаблонов выступают редуцированные образы битовых сигнатур исполняемых кодов ВКП. При этом каждый из образов является инвариантом относительно одного из следующих типов полиморфных преобразований - аддитивное сложение (ADD), «Исключающее ИЛИ» (XOR), циклический битовый сдвиг - то есть остается неизменным при любых допустимых ключах выбранного преобразования. Недостатком данного способа является отсутствие возможности построения для заданного участка исходного кода вредоносного ПО шаблона, инвариантного к произвольным комбинациям полиморфных преобразований, реализованных способом аддитивного сложения (ADD) с однобайтной гаммой, способом «Исключающее ИЛИ с однобайтной гаммой» (XOR), способом простой замены байт, способом простой перестановки байт на окне заданной длины. Следствием этого является малая (менее 10%) полнота обнаружения кодов ВКП, подвергнутых комбинациям указанных полиморфных преобразований.

Задачей изобретения является создание способа обнаружения кодов вредоносных компьютерных программ в трафике сети передачи данных, в том числе подвергнутых комбинациям полиморфных преобразований, позволяющего повысить полноту обнаружения кодов ВКП, что обусловлено использованием в качестве эталонов, соответствующих характерным участкам кода ВКП, редуцированных образов характерных участков кода ВКП, инвариантных относительно воздействия произвольных комбинаций полиморфных преобразований, реализованных способами аддитивного сложения с однобайтной гаммой (ADD), «Исключающее ИЛИ с однобайтной гаммой» (XOR), простой замены байт, простой перестановки байт на окне заданной длины.

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

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

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

Результаты поиска известных решений в данной и смежных областях техники с целью выявления признаков, совпадающих с отличительными от прототипа признаками заявленного объекта, показали, что они не следуют явным образом из уровня техники. Из уровня техники также не выявлена известность влияния предусматриваемых существенными признаками заявленного изобретения преобразований на достижение указанного технического результата. Следовательно, заявленное изобретение соответствует условию патентоспособности «изобретательский уровень».

Заявляемый способ поясняется чертежами на которых показаны:

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

фиг. 2 - блок-схема алгоритма предложенного способа обнаружения трафика, содержащего коды ВКП.

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

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

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

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

3) измеряют степень сходства сформированного редуцированного образа с эталоном:

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

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

где i - порядковый номер, Ei - значение элемента вектора-эталона, Pi - значение элемента редуцированного образа, Di - коэффициент элемента вектора-эталона (равен квадрату дисперсии элемента вектора эталона);

c) в случае превышения пороговым значением эталона числа R принимают решение об обнаружении участка трафика, сходного с эталоном, характерным для участка кода ВКП;

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

Для подтверждения достижимости технического результата выполнен эксперимент по обнаружению кодов вредоносных компьютерных программ в трафике сети передачи данных, в том числе подвергнутых комбинациям полиморфных преобразований. Алгоритмы способов, описанных в патенте-прототипе, а также предложенного способа реализованы в формате динамических библиотек прототипа системы антивирусной защиты. Экспериментальная проверка предложенного способа выполнена на испытательном стенде, реализованном на базе вычислительных устройств, представленных идентичными IBM-совместимыми компьютерами с процессором Intel Core 17 3.6 ГГц, 4 Гб RAM, 512 Гб HDD. В сеть передачи данных входят 2 вычислительных устройства идентичной комплектации, на первом устройстве запущен прототип системы антивирусной защиты, использующий разработанные модули-обнаружители. Второе устройство отвечает за трансляцию файлов по сети передачи данных. Трафик сети передачи данных, поступающий на вход вычислительно устройства, обрабатывается сетевым драйвером и регистрируется в оперативной памяти вычислительного устройства, а затем анализируется прототипом антивирусной системы.

В качестве обнаруживаемого класса файлов выбран класс исполняемых файлов ОС Windows (расширение ехе, формат Portable Executable). В качестве эталонной кодовой последовательности, характерной для данного класса файлов, выбрана строка «This program cannot be run in DOS mode» в кодировке ANSI, характерная для исполняемых файлов. Данная строка использована для построения эталонов способами, описанными в патенте-прототипе. При создании эталона для обнаружения предложенным способом для первых 1000 байт каждого из 100 проанализированных исполняемых файлов создан образ уникальности с размером окна расчета статистики уникальности равным 25 и числом элементов равным 40. В качестве значений элементов эталонного образа установлены математические ожидания величин соответствующих элементов в выборке образов проанализированных файлов. В качестве коэффициентов элементов эталонного образа использованы дисперсии величин соответствующих элементов в выборке образов проанализированных файлов. Порог обнаружителя установлен равным 12. Выборка трафика для анализа получена способом имитационного моделирования на основе исходной выборки, состоящей из 100 проанализированных ранее исполняемых файлов, дополненной 100 другими уникальными исполняемыми файлами, а также 800 произвольными неисполняемыми файлами с рабочей станции (файлы форматов Microsoft Office Word 2003, 2010, изображения jpeg, png, bmp, аудио файлы mp3, wav и т.п.).

Исходный код каждого файла выборки подвергнут следующим полиморфным преобразованиям: простая замена байт с однобайтной гаммой, «Исключающее ИЛИ с однобайтной гаммой», простая перестановка байт на окне 5. Также исходный код каждого файла выборки подвергнут всем возможным комбинациям из двух (6 комбинаций) либо трех (27 комбинаций) указанных полиморфных преобразований, применяемых последовательно. При выполнении каждого из полиморфных преобразований ключ преобразования выбирается произвольно, с равной вероятностью, из множества допустимых для выполняемого преобразования ключей. В итоге из каждого файла выборки получено 36 преобразованных файлов, всего N=36000 файлов, из них NE=7200 преобразованных исполняемых файлов, NO=28800 преобразованных неисполняемых файлов, общий размер выборки составил около 3,6 ГБайт.

По сети передачи данных, контролируемой системой антивирусной защиты, реализующей способы обнаружения, описанные в патенте-прототипе, передана выборка из N преобразованных файлов. В результате анализа системой верно обнаружено 513 файлов, являющихся преобразованными исполняемыми файлами формата РЕ, а также ошибочно обнаружено 11 файлов, не являющихся преобразованными исполняемыми файлами формата РЕ. На анализ затрачено 44 секунды. После этого набор способов обнаружения системы антивирусной защиты дополнен предложенным способом обнаружения. По сети передачи данных, контролируемой системой антивирусной защиты, повторно передана выборка из N преобразованных файлов. В результате анализа системой верно обнаружено 2249 файлов, являющихся преобразованными исполняемыми файлами формата РЕ, а также ошибочно обнаружено 53 файла, не являющихся преобразованными исполняемыми файлами формата РЕ. На анализ затрачено 62 секунды.

Таким образом, в результате расширения возможностей системы антивирусной защиты за счет предложенного способа обнаружения преобразованных файлов и снижения своевременности (в 1,4 раза) успешно повышены полнота (с 7,1% до 31%) достоверность (с 81,3% до 86,1%) обнаружения кодов, подвергнутых полиморфным преобразованиям, где полнота обнаружения рассчитывается по формуле

а достоверность обнаружения рассчитывается по формуле

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

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

название год авторы номер документа
Система и способ обучения модели обнаружения вредоносных контейнеров 2018
  • Крылов Владимир Владимирович
  • Лискин Александр Викторович
  • Антонов Алексей Евгеньевич
RU2697955C2
СИСТЕМА И СПОСОБ ОБНАРУЖЕНИЯ ВРЕДОНОСНЫХ ИСПОЛНЯЕМЫХ ФАЙЛОВ НА ОСНОВАНИИ СХОДСТВА РЕСУРСОВ ИСПОЛНЯЕМЫХ ФАЙЛОВ 2013
  • Татаринов Иван Иванович
RU2541120C2
СПОСОБ ФОРМИРОВАНИЯ АНТИВИРУСНОЙ ЗАПИСИ ПРИ ОБНАРУЖЕНИИ ВРЕДОНОСНОГО КОДА В ОПЕРАТИВНОЙ ПАМЯТИ 2015
  • Павлющик Михаил Александрович
  • Монастырский Алексей Владимирович
  • Назаров Денис Александрович
RU2592383C1
СПОСОБ ОБНАРУЖЕНИЯ ВРЕДОНОСНОГО КОДА В ОПЕРАТИВНОЙ ПАМЯТИ 2015
  • Павлющик Михаил Александрович
  • Монастырский Алексей Владимирович
  • Назаров Денис Александрович
RU2589862C1
Система и способ обнаружения вредоносных файлов с использованием элементов статического анализа 2017
  • Крылов Владимир Владимирович
  • Лискин Александр Викторович
RU2654146C1
Система и способ классификации объектов 2017
  • Чистяков Александр Сергеевич
  • Лобачева Екатерина Максимовна
  • Романенко Алексей Михайлович
RU2679785C1
Система и способ обнаружения вредоносных файлов на мобильных устройствах 2015
  • Кивва Антон Андреевич
  • Бучка Никита Александрович
  • Кузин Михаил Юрьевич
  • Чебышев Виктор Владимирович
RU2614557C2
Система и способ обнаружения вредоносного файла 2018
  • Чистяков Александр Сергеевич
  • Романенко Алексей Михайлович
  • Шевелев Александр Сергеевич
RU2739865C2
Система и способ управления вычислительными ресурсами для обнаружения вредоносных файлов 2017
  • Чистяков Александр Сергеевич
  • Лобачева Екатерина Максимовна
  • Романенко Алексей Михайлович
RU2659737C1
Способ обнаружения вредоносных составных файлов 2016
  • Крюков Андрей Владимирович
  • Лискин Александр Викторович
  • Иванов Антон Михайлович
RU2634178C1

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

Реферат патента 2017 года СПОСОБ ОБНАРУЖЕНИЯ КОДОВ ВРЕДОНОСНЫХ КОМПЬЮТЕРНЫХ ПРОГРАММ В ТРАФИКЕ СЕТИ ПЕРЕДАЧИ ДАННЫХ, В ТОМ ЧИСЛЕ ПОДВЕРГНУТЫХ КОМБИНАЦИЯМ ПОЛИМОРФНЫХ ПРЕОБРАЗОВАНИЙ

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

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

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

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

Способ приготовления мыла 1923
  • Петров Г.С.
  • Таланцев З.М.
SU2004A1
US 5442699 A, 15.08.1995
СПОСОБ ОБНАРУЖЕНИЯ КОМПЬЮТЕРНЫХ АТАК НА СЕТЕВУЮ КОМПЬЮТЕРНУЮ СИСТЕМУ 2013
  • Фаткиева Роза Равильевна
  • Атисков Алексей Юрьевич
  • Левоневский Дмитрий Константинович
RU2538292C1
СИСТЕМА И СПОСОБ СРАВНЕНИЯ ФАЙЛОВ НА ОСНОВЕ ШАБЛОНОВ ФУНКЦИОНАЛЬНОСТИ 2009
  • Василенко Роман Сергеевич
RU2427890C2
Пломбировальные щипцы 1923
  • Громов И.С.
SU2006A1
ВОЗДУШНО-РЕШЕТНАЯ ЗЕРНООЧИСТИТЕЛЬНАЯ МАШИНА 2009
  • Сычугов Юрий Вячеславович
  • Казаков Владимир Аркадьевич
  • Сычугов Николай Павлович
  • Исупов Владимир Игоревич
  • Шабалин Антон Михайлович
RU2393030C1

RU 2 615 317 C1

Авторы

Иванов Владимир Николаевич

Воронин Алексей Владимирович

Пономарев Дмитрий Владимирович

Трофименков Сергей Андреевич

Даты

2017-04-04Публикация

2016-01-28Подача