СПОСОБ ОБНАРУЖЕНИЯ КОДОВ ВРЕДОНОСНЫХ КОМПЬЮТЕРНЫХ ПРОГРАММ В ТРАФИКЕ СЕТИ ПЕРЕДАЧИ ДАННЫХ, В ТОМ ЧИСЛЕ ПОДВЕРГНУТЫХ КОМБИНАЦИЯМ ПОЛИМОРФНЫХ ПРЕОБРАЗОВАНИЙ
METHOD FOR DETECTION OF MALICIOUS SOFTWARE CODES IN NETWORK DATA TRAFFIC, INCLUDING EXPOSED TO COMBINATION OF POLYMORPHIC TRANSFORMATIONS

Изобретение относится к области защиты компьютеров, их компонентов, программ и данных от несанкционированной деятельности, а именно к способам обнаружения кодов вредоносных компьютерных программ (ВКП), в том числе подвергнутых полиморфным преобразованиям, и предназначено для использования в области обнаружения трафика, содержащего исполняемые коды полиморфных ВКП в сетях передачи данных.
В настоящее время наблюдается резкое увеличение количества компьютерных угроз, к числу которых могут относиться различные ВКП программы (например, сетевые черви, компьютерные вирусы, троянские программы), а также атаки со стороны злоумышленников. Одним из видов систем обнаружения вторжений является система обнаружения кодов ВКП по сигнатурным признакам, предназначенная для перехвата входящего в компьютерную систему или сеть сетевого трафика, анализа информационной нагрузки трафика на наличие сигнатур угроз, перемещения подозрительного трафика в защищенное хранилище. В данном случае под информационной нагрузкой сетевого трафика понимается поток пользовательских данных, передающихся по сети между хостами, полученные после сборки пакетов различных нижележащих уровней модели 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
i
i
где i - порядковый номер, E - значение элемента вектора-эталона, P - значение элемента редуцированного образа, D - коэффициент элемента вектора-эталона (равен квадрату дисперсии элемента вектора эталона);
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 и т.п.).
E
O
Исходный код каждого файла выборки подвергнут следующим полиморфным преобразованиям: простая замена байт с однобайтной гаммой, «Исключающее ИЛИ с однобайтной гаммой», простая перестановка байт на окне 5. Также исходный код каждого файла выборки подвергнут всем возможным комбинациям из двух (6 комбинаций) либо трех (27 комбинаций) указанных полиморфных преобразований, применяемых последовательно. При выполнении каждого из полиморфных преобразований ключ преобразования выбирается произвольно, с равной вероятностью, из множества допустимых для выполняемого преобразования ключей. В итоге из каждого файла выборки получено 36 преобразованных файлов, всего N=36000 файлов, из них N=7200 преобразованных исполняемых файлов, N=28800 преобразованных неисполняемых файлов, общий размер выборки составил около 3,6 ГБайт.
По сети передачи данных, контролируемой системой антивирусной защиты, реализующей способы обнаружения, описанные в патенте-прототипе, передана выборка из N преобразованных файлов. В результате анализа системой верно обнаружено 513 файлов, являющихся преобразованными исполняемыми файлами формата РЕ, а также ошибочно обнаружено 11 файлов, не являющихся преобразованными исполняемыми файлами формата РЕ. На анализ затрачено 44 секунды. После этого набор способов обнаружения системы антивирусной защиты дополнен предложенным способом обнаружения. По сети передачи данных, контролируемой системой антивирусной защиты, повторно передана выборка из N преобразованных файлов. В результате анализа системой верно обнаружено 2249 файлов, являющихся преобразованными исполняемыми файлами формата РЕ, а также ошибочно обнаружено 53 файла, не являющихся преобразованными исполняемыми файлами формата РЕ. На анализ затрачено 62 секунды.
Таким образом, в результате расширения возможностей системы антивирусной защиты за счет предложенного способа обнаружения преобразованных файлов и снижения своевременности (в 1,4 раза) успешно повышены полнота (с 7,1% до 31%) достоверность (с 81,3% до 86,1%) обнаружения кодов, подвергнутых полиморфным преобразованиям, где полнота обнаружения рассчитывается по формуле
а достоверность обнаружения рассчитывается по формуле
что подтверждает достижение заявленного технического результата. При этом представленные характеристики достоверности и полноты обнаружения могут иметь иные значения в случае анализа иных форматов файлов, выбора иных эталонных последовательностей в файлах, выбора иных значений дисперсий элементов эталонного образа и порога принятия решения, в силу вероятностной природы предложенного способа обнаружения.