Способ противодействия вредоносному программному обеспечению (ВПО) путем имитации проверочной среды
METHOD FOR COUNTERACTING MALICIOUS SOFTWARE (MALWARE) BY IMITATING TEST ENVIRONMENT

ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее техническое решение относится к области вычислительной техники, более конкретно к области информационной безопасности, в частности, к способу и системе противодействия вредоносному программному обеспечению (ВПО) путем имитации проверочной среды.
УРОВЕНЬ ТЕХНИКИ
[0002] Вредоносное программное обеспечение (или ВПО) - это собирательный термин, обозначающий вредоносную программу или код, который может причинить ущерб компьютерной системе. ВПО стремится проникнуть в систему, нанести урон, частично перехватить контроль над некоторыми процессами или вовсе вывести из строя вычислительные устройства, например, такие как компьютеры, компьютерные системы, сети, планшетные и мобильные устройства.
[0003] В уровне техники известно множество подходов к обнаружению и предотвращению вредоносного программного обеспечению.
[0004] Известно решение, основанное на сигнатурном подходе, описанное в патентном документе S. Satish et al. US 8,464,345 B2. Так, в способе собираются поведенческие следы ВПО, которые далее анализируются, нормируются и кластеризуются, после чего создается поведенческие подписи для семейств ВПО - сигнатуры, на основе которых в дальнейшем происходит выявление вредоносной активности в компьютерных системах.
[0005] Однако применение подходов, основанных на сканировании систем и сравнении сигнатур, не решает полностью проблем с выявлением ВПО и оставляет компьютерные системы уязвимыми для нового, еще не описанного ранее зловредного поведения.
[0006] Для устранения проблемы выявления новых ВПО разработали методы эвристического анализа, основанные на применении правил (например, основанных на отслеживании вызовов API-функций, попыток передать данные по сети Интернет и т.д), которые помогают различать поведение любого ВПО от поведения чистых/легальных программ.
[0007] Наиболее распространенным методом, применяемым в процессе написания эвристических правил, а также сигнатур, является исследование вредоносной программы в изолированной среде. Данный метод позволяет произвести эмуляцию ЦПУ, памяти, интерфейсов связи и любых соответствующих аппаратных средств, что позволяет ограничить вредоносную деятельность программы только виртуальной средой, не подвергая риску основную компьютерную систему. Запуск ВПО в такой рабочей среде используется для наблюдения за поведением программы, выявления особенностей вредоносной активности и создания артефактов. Описываемый подход позволяет определить способы обнаружения и последующего предотвращения действий ВПО.
[0008] Поэтому создатели вредоносных программ стараются избегать средств обнаружения и анализа вредоносного программного обеспечения, которые применяют методы эмуляции и (или) отладки. С этой целью они разрабатывают вредоносные программы таким образом, чтобы такие программы могли распознавать, когда они исполняются в эмулируемой среде и (или) подвергаются отладке. Если такая вредоносная программа определяет, что исполняется в эмулируемой среде и (или) подвергается отладке, она как можно скорее прекращает свою работу или изменяет поведение, чтобы не выполнять какую-либо вредоносную деятельность или иные подозрительные действия.
[0009] В уровне технике есть патентный документ RU 2514141 С1, описанное в нем решение позволяет выполнять эмуляции вызовов системных функций для обхода средств противодействия эмуляции, заложенных в ВПО.
[0010] Для противодействия эмуляции программного кода ВПО может применяться добавление в код программы большого количества инструкций и его обфускация. Данное действие приводит к тому, что время на эмуляцию кода увеличивается, причем данный процесс может остановиться до начала выполнения исходно вредоносной части кода. Один из методов борьбы с таким подходом противодействия эмуляции описан в патенте US 7,603,713 В1, методика которого заключается в выполнение ряда инструкций на реальном процессоре, что позволяет ускорить процесс эмуляции обфусцированных частей кода программы в целях определения и анализа исходно вредоносных частей кода.
[0011] Другой подход, раскрытый в заявке US 2011/0225655 A1, рассматривает вариант определения приложения как подозрительного, если оно противодействует эмуляции. Подобный подход основан на том, что безопасное (легитимное) программное обеспечение, как правило, показывает предупреждение о невозможности выполнения в эмуляторе, вредоносное спокойно завершает выполнение или резко меняет вектор (логику) выполнения.
[0012] Кроме того, стоит отметить, что разработчики ВПО стараются закладывать в свой код возможности проверки факта запуска в конкретной среде. Например, факт выполнения ряда инструкций центрального процессора с последующей проверкой ряда установленных флагов. Эмуляция в песочнице может иметь отличные значения флагов от тех, что были бы установлены при выполнении на процессоре.
[0013] Описанное выше, позволяет сделать вывод, что ВПО создается специально чувствительным к определению факта имитации проверочной среды (песочницы). Таким образом, если сымитировать подобную среду, то программный код прекращает свое выполнение и остановит вредоносное воздействие на систему, или же изменить вектор своего выполнения.
[0014] Настоящие изобретение создано для решения части выявленных при анализе выше проблем предшествующего уровня техники, а также в целях уменьшения количества ВПО, которое может быть запущено на защищаемом вычислительном устройстве незамеченным, при этом без значительного увеличения потребления ресурсов компьютера и без проведения активных проверок запускаемых программ.
[0015] Кроме того, описываемая технология косвенно предназначена для накопления знаний о новых более сложных артефактах, обнаруженных в процессе работы ВПО в компьютерных системах после его усовершенствования, а также для уменьшения времени проверки наличия ВПО средствами поведенческого анализа ВПО ввиду накоплений знаний о значительно большем неестественном поведении ВПО.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0016] Задача предлагаемого изобретения заключается в разработке системы и способа противодействия вредоносному программному обеспечению (ВПО) путем имитации проверочной среды.
[0017] Технический результат заявленной группы изобретений заключается в обеспечении противодействия вредоносному программному обеспечению (ВПО) путем имитации проверочной среды без увеличения потребления ресурсов компьютерной системы и без проведения активных проверок.
[0018] Данный технический результат достигается за счет компьютерно-реализуемого способа противодействия ВПО путем имитации проверочной среды, содержащий этапы, на которых: создают имитацию проверочной среды установкой артефактов в компьютерную систему; фиксируют события противодействия первого и второго рода, при этом выполняя дополнительные проверки ПО на вредоносность; и отправляют цифровой отпечаток ВПО в центр анализа и обновлений.
[0019] Дополнительно в одном частном варианте заявленного изобретения, в котором установка артефактов в компьютерную систему включают по меньшей мере: создание файлов по определенным путям в системе; добавление языковых пакетов в систему, причем без добавления клавиатурных раскладок; создание нефункционирующих сетевых интерфейсов с названиями, IP и МАС-адресами, соответствующими распространенным; запуск нефункционирующих процессов по определенным путям и названиям, при этом создают процессы, потребляющие минимально возможное количество системных ресурсов; создание ключей системного реестра; создание элементов меню запуска ПО, включая элементы панели быстрого запуска; регистрация переменных окружения.
[0020] Дополнительно в одном частном варианте заявленного изобретения артефакты могут быть активными и пассивными.
[0021] Дополнительно в одном частном варианте заявленного изобретения событием первого рода является аварийное завершение ПО.
[0022] Дополнительно в одном частном варианте заявленного изобретения событием второго рода является изменение стандартного вектора выполнения ПО.
[0023] Дополнительно в одном частном варианте заявленного изобретения дополнительно проводится проверка ПО, с которым связано обнаруженное событие первого или второго рода, на вредоносность.
[0024] Дополнительно в одном частном варианте заявленного изобретения отправка цифрового отпечатка ВПО в центр анализа и обновлений осуществляется в зашифрованном виде по каналам связи.
[0025] Дополнительно в одном частном варианте заявленного изобретения в центре анализа и обновлений по меньшей мере: анализируют полученный цифровой отпечаток ВПО; пополняют базу данных артефактов для обновлений имитации проверочной среды; отправляют обновления артефактов в компьютерную систему пользователя.
[0026] Дополнительно в одном частном варианте заявленного изобретения осуществляют поддержку артефактов в актуальном состоянии используя по меньшей мере обход следующих подсистем: файловой системы, списка запущенных процессов, реестра; а также последующей проверкой состояния артефактов и опциональной сменой их статуса на один из: добавление, удаление, модификация.
[0027] Дополнительно в одном частном варианте заявленного изобретения осуществляют прием и установку обновленных артефактов, полученных от центра анализа и обновлений.
[0028] Данный технический результат также достигается за счет системы противодействия ВПО путем имитации проверочной среды, включающая: вычислительное устройство, выполненное с возможностью выполнения способа противодействия ВПО путем имитации проверочной среды; по меньшей мере один интерфейс сети связи; сервер центра анализа и обновлений, выполненный с возможностью создания, передачи, анализа и обновления артефактов.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0029] Реализация изобретения будет описана в дальнейшем в соответствии с прилагаемыми чертежами, которые представлены для пояснения сути изобретения и никоим образом не ограничивают область изобретения. К заявке прилагаются следующие чертежи:
[0030] Фиг. 1 иллюстрирует примерный вариант осуществления системы противодействия ВПО путем имитации проверочной среды.
[0031] Фиг. 2 иллюстрирует примерный вариант выполнения способа противодействия ВПО путем имитации проверочной среды.
[0032] Фиг. 3 иллюстрирует альтернативный вариант реализации заявленного способа противодействия ВПО путем имитации проверочной среды.
[0033] Фиг. 4 иллюстрирует примерный вариант выполнения дополнительных проверок на вредоносность способа противодействия ВПО путем имитации проверочной среды.
[0034] Фиг. 5 иллюстрирует примерный вариант осуществления вычислительного устройства, на котором может быть реализован способ противодействия ВПО путем имитации проверочной среды.
ДЕТАЛЬНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[0035] Следующее далее подробное описание представлено, чтобы дать возможность любому специалисту в данной области для осуществления и использования настоящего изобретения. Для целей описания, конкретные детали приводятся, чтобы дать глубокое понимание настоящего изобретения. Однако специалисту в данной области будет ясно, что эти конкретные детали не являются необходимыми для осуществления настоящего изобретения. Описания конкретных применений приводятся только как репрезентативные примеры. Различные модификации предпочтительных вариантов осуществления будут очевидны специалистам в данной области, и общие принципы, определенные в настоящем документе, могут применяться к другим вариантам осуществления и применениям без отклонения от рамок настоящего изобретения.
[0036] Описанное в данном документе решение, как предполагается, не является ограниченным указанными вариантами осуществления, но должно соответствовать самым широким возможным рамкам, совместимым с принципами и признаками, описанными в настоящем документе.
[0037] Настоящее изобретение направлено на обеспечение системы и компьютерно-реализуемого способа противодействия вредоносному программному обеспечению путем имитации проверочной среды.
[0038] Так, при использовании предлагаемого способа задействованы механизмы аварийного завершения, которые авторы ВПО встраивают в исполняемый код некоторого ВПО на случай запуска ВПО внутри проверочной среды.
[0039] Под механизмами аварийного завершения в контексте данной заявки подразумеваются любые методы и действия, которые использует ВПО для самостоятельного внепланового завершения своей работы без выполнения основного функционала, для которого создавалось данное ВПО.
[0040] Под проверочной средой в контексте данной заявки подразумевается любая среда, которая может быть использована специалистами-исследователями (аналитиками) ВПО для определения характеристик, функционала и назначения ВПО.
[0041] Под цифровым отпечатком ВПО в контексте данной заявки подразумеваются все зафиксированные события и проверки в составе ВПО, которые инициируют аварийное завершение ВПО или изменения вектора его действия.
[0042] Стоит отметить, что в основе настоящей технологии лежит факт, что значительное количество ВПО пытается избежать запуска с последующим выполнением вредоносного функционала в проверочной среде, чтобы скрыть свое вредоносное поведение или изменять его.
[0043] При этом ВПО определяет проверочную среду по ряду типовых признаков (далее - артефактов), включая, но не ограничиваясь, проверками на наличие определенных файлов, запущенных процессов, ключей системного реестра, сетевых интерфейсы со специфичными адресами, свойственных проверочным средам. Зачастую присутствие данных артефактов в системе вызвано тем, что проверочная среда создается на основе операционной системы, запущенной в виртуальной машине.
[0044] Предлагаемый принцип противодействия ВПО состоит в том, что в защищаемую систему заранее вносятся артефакты, которые некоторое ВПО может обнаружить, и запустить механизмы аварийного завершения. Таким образом, вредоносная составляющая ВПО на защищаемой системе не будет исполнена. При этом важно отметить, что от защищаемой системы не требуется активные проверки запускаемых файлов и/или вмешательство в их работу, что значительно экономит аппаратные ресурсы (в первую очередь оперативную память и мощности центрального процессора) компьютера.
[0045] Настоящее изобретение направлено на обеспечение системы и способа противодействия вредоносному программному обеспечению (ВПО) путем имитации проверочной среды.
[0046] Со ссылкой на фиг. 1 представлен примерный вариант осуществления системы 100 противодействия вредоносному программному обеспечению (ВПО) путем имитации проверочной среды.
[0047] В некоторых вариантах осуществления система 100 содержит модуль имитации проверочной среды 110, устанавливаемый в компьютерную систему пользователя, и который может быть коммуникативно связан с сетью 120.
[0048] В некоторых не ограничивающих вариантах осуществления настоящей технологии сеть 120 является сетью Интернет и/или Интранет. Кроме того, можно предусмотреть несколько вариантов осуществления сети 120, что станет очевидным для специалиста в данной области техники. Далее, реализация линии связи между системой 100 и сетью 120 будет зависеть, в частности, от того, как реализована система 100, и при этом может включать в себя, но не ограничиваться, основной канал связи и/или канал беспроводной связи (такой как канал сетевой связи Wi-Fi, канал связи 3G / 4G и т.п.).
[0049] В некоторых вариантах осуществления настоящей технологии модуль 110 может осуществлять прием, создание и обновление состояний артефактов в компьютерной системе пользователя.
[0050] Так, в некоторых вариантах осуществления прием артефактов в компьютерную систему пользователя может осуществляться через сеть 120 от сервера центра анализа и обновлений 130 посредством любой известной технологии. В других не ограничивающих вариантах осуществления настоящей технологии модуль 110 может осуществлять прием артефактов в компьютерную систему с помощью машиночитаемого носителя данных.
[0051] Кроме того, модуль ПО выполнен с возможностью создавать артефакты, согласно внутренней обновляемой базе данных описания артефактов, полученных с сервера 130. Дополнительно модуль ПО проверяет состояние и наличие актуальной версии артефактов в компьютерной системе пользователя. Стоит отметить, в качестве примера, но не ограничиваясь им используются следующие варианты инициализации проверки: при запуске компьютерной системы, при запуске модуля ПО, по расписанию. Также в случае несоответствия активных артефактов в компьютерной системе пользователя набору из базы данных, полученной от сервера 130 недостающие артефакты создаются заново.
[0052] Соответственно, модуль 110 выполнен с возможностью загружать с сервера 130 все необходимые обновления артефактов, однако в некоторых-вариантах осуществления настоящей технологии, обновления могут быть также загружены в основной модуль и применены ручным способом, непосредственно в компьютерной системе пользователя.
[0053] В некоторых вариантах осуществления сервер центра анализа и обновлений 130 может быть реализован в виде комбинации компьютерного аппаратного и программного обеспечения. Сервер 130 включает по меньшей мере память, процессор, сетевые устройства и базу данных. В базе данных на сервере хранятся по меньшей мере следующие данные: последние данные об актуальных состояниях артефактов, их описание, белые списки, черные списки, списки исключений и т.д. Кроме того, сервер 130 может иметь интерфейс, в который в ручном или автоматизированном интерфейсе могут загружаться артефакты.
[0054] Дополнительно в одном из вариантов осуществления настоящей технологии модуль имитации проверочной среды может функционировать и без сервера 130 как самостоятельная функциональная единица.
[0055] Дополнительно система 100 включает модуль фиксации событий противодействия (140). Описываемый модуль служит для отслеживания изменений в компьютерной среде пользователя в виде событий противодействия первого или второго рода. Кроме того, модуль 140 выполнен с возможностью определения вредоносности ПО, с которым связаны события в компьютерной системе. В одном из дополнительных вариантов реализации настоящей технологии данный модуль выполнен с возможностью осуществления по меньшей мере одной проверки ПО, которое аварийно завершилось или изменило вектор своего выполнения, на вредоносность.
[0056] Описываемые варианты осуществления системы 100 дополнительно включают модуль 150 сбора цифровых отпечатков ВПО, в котором регистрируются все события и проверки, инициированные ВПО для определения среды его выполнения, а также дополнительно осуществляется отправка по сети 120 подобных отпечатков на сервер 130 для дальнейшего анализа.
[0057] Со ссылкой на фиг. 2 представлена блок-схема способа 200 противодействия вредоносному программному обеспечению (ВПО) путем имитации проверочной среды в соответствии с некоторыми не ограничивающими вариантами осуществления настоящей технологии. Так, способ 200 может быть выполнен с помощью вычислительного устройства 600.
ШАГ 210 СОЗДАНИЕ ИМИТАЦИИ ПРОВЕРОЧНОЙ СРЕДЫ ПОСРЕДСТВОМ УСТАНОВКИ АРТЕФАКТОВ В КОМПЬЮТЕРНУЮ СИСТЕМУ
[0058] Способ 200 начинается на этапе 210, на котором вычислительное устройство 600 сконфигурировано для установки артефактов в компьютерную систему.
[0059] Как упоминалось ранее, любая проверочная среда может использовать какое-нибудь специфическое оборудование, не характерное для других систем. Это относится к видеоадаптеру, жесткому диску, идентификаторам процессора, версии BIOS, МАС-адресу сетевой карты. Кроме того, проверочная среда оставляет следы в основной системе в виде запущенных вспомогательных процессов, драйверов и других специфических объектов, например, таких как ключи реестра, характерных только для виртуальных машин. Таким образом, чтобы имитировать запуск ВПО в проверочной среде необходимо имитировать данную среду посредством добавления артефактов, указывающих на нее.
[0060] Таким образом, на указанном шаге в компьютерную систему пользователя устанавливаются артефакты для имитации проверочной среды. Кроме того, дополнительно стоит отметить, что в контексте данной технологии артефакты могут быть разделены на по меньшей мере две группы: пассивные и активные.
[0061] В качестве примера, но не ограничиваясь ими, такие артефакты как: файлы по определенным путям в системе; языковые пакеты без добавления клавиатурных раскладок; нефункционирующие сетевые интерфейсы с названиями, IP и МАС-адресами, соответствующими распространенным виртуальным машинам; нефункционирующие процессов по определенным путям и названиям, являются базовыми способами противодействия ВПО в контексте данной заявки, и относятся к группе пассивных артефактов. Термин «пассивность» в описании настоящей технологии предполагает только присутствие артефактов в системе без какого-либо взаимодействия с запускаемым ПО, среди которых предполагается возможное наличие вредоносного ПО.
[0062] Далее для простоты понимания настоящей технологии в качестве примера, но не ограничиваясь им, подробно будет рассмотрена группа пассивных артефактов.
[0063] Так, для создания имитации проверочной среды устанавливают по меньшей мере один файл по определенному пути, причем под определенным понимают такой путь к файлу, который характерен для файлов проверочной среды (например, виртуальной машине).
[0064] Таким образом, в компьютерную систему может быть добавлены файлы по определенным путям, которые указывают на наличие в системе ПО для обеспечения виртуализации. В качестве примера, но не ограничиваясь им, для имитации одной из следующих проверочных сред:
1. VMware (© 2026 VMware, Inc) по следующим путям в системе располагают:
С: \ Windows \ System32 \ Drivers \ Vmmouse.sys
С: \ Windows \ System32 \ Drivers \ vm3dgl.dH
С: \ Windows \ System32 \ Drivers \ vmdum.dll
С: \ Windows \ System32 \ Drivers \ vm3dver.dll
С: \ Windows \ System32 \ Drivers \ vmtray.dll
С: \ Windows \ System32 \ Drivers \ VMToolsHook.dll
С: \ Windows \ Systems2 \ Drivers \ vmmousever.dll
С: \ Windows \ System32 \ Drivers \ vmhgfs.dll
С: \ Windows \ System32 \ Drivers \ vmGuestLib.dll
С: \ Windows \ System32 \ Drivers \ VmGuestLibJava.dll
С: \ Windows \ System32 \ Driversvmhgfs.dll
2. VirtualBox (© 2020 Oracle) по следующим путям в системе располагают:
С: \ Windows \ System32 \ Drivers \ VBoxMouse.sys
С: \ Windows \ System32 \ Drivers \ VBoxGuest.sys
С: \ Windows \ System32 \ Drivers \ VBoxSF.sys
С: \ Windows \ System32 \ Drivers \ VBoxVideo.sys
С: \ Windows \ System32 \ vboxdisp.dll
С: \ Windows \ Systems 2 \ vboxhook.dll
С: \ Windows \ System32 \ vboxmrxnp.dll
С: \ Windows \ System32 \ vboxogl.dll
С: \ Windows \ System32 \ vboxoglarrayspu.dll
С: \ Windows \ System32 \ vboxoglcrutil.dll
С: \ Windows \ System32 \ vboxoglerrorspu.dll
С: \ Windows \ System32 \ vboxoglfeedbackspu.dll
С: \ Windows \ Systems2 \ vboxoglpackspu.dll
С: \ Windows \ System32 \ vboxoglpassthroughspu.dll
С: \ Windows \ System32 \ vboxservice.exe
С: \ Windows \ System32 \ vboxtray.exe
С: \ Windows \ System32 \ VBoxControl.exe
[0065] Стоит отметить, что для создания имитации проверочной среды дополнительно добавляют нефункционирующие сетевые интерфейсы с названиями, IP и МАС-адресами, соответствующими распространенным виртуальным средам.
[0066] В качестве примера, но не ограничиваясь им, в компьютерной системе изменяют первые три октета (или 24 бита) МАС-адреса сетевого адаптера на характерные для поставщиков проверочных сред (виртуальных машин), т.е. 00:0С:29:ХХ:ХХ:ХХ, 00:1С:14:ХХ:ХХ:ХХ, 00:05:69:ХХ:ХХ:ХХ, 00:50:56:ХХ:ХХ:ХХ для имитации проверочной среды VMWare или 08:00:27:ХХ:ХХ:ХХ для имитации Virtual Box.
[0067] Стоит отметить, что для создания имитации проверочной среды запускают нефункционирующих процессы по определенным путям и названиям, при этом создают процессы, потребляющие минимально возможное количество системных ресурсов компьютерной системы пользователя.
[0068] Осуществление настоящей технологии, но не ограничиваясь только этим, характеризуется по меньшей мере добавлением одного из следующих процессов в проверочную среду:
например, для имитации проверочной среды на основе Vmware: добавляются Vmtoolsd.exe, Vmwaretrat.exe, Vmwareuser.exe, Vmacthlp.exe;
например, для имитации проверочной среды на основе VirtualBox: добавляются vboxservice.exe и vboxtray.exe.
[0069] Кроме того, дополнительно могут быть запущены сервисы, которые дополнительно указывают на проверочную среду. Так, например, это могут быть: VMTools, Vmhgfs, VMMEMCTL, Vmmouse, Vmrawdsk, Vmusbmouse, Vmvss, Vmscsi, Vmxnet, vmx_svga, инструменты Vmware, вспомогательная служба физического диска Vmware.
[0070] Стоит отметить, что для создания имитации проверочной среды используют ключи системного реестра, например, такие как:
HKLM \ SOFTWARE \ Vmware Inc. \\\ Vmware
HKEY_LOCAL_MACHINE \ HARDWARE \ DEVICEMAP \ Scsi \ Scsi Port 2 \ Scsi Bus 0 \ Target Id 0 \ Logic Unit Id 0 \ Identiner
HKLM\SOFTWARE\Vmware Inc.Vmware Tools
SYSTEM \ CurrentControlSet \ Enum \ SCSI \ Disk & Ven_VMware_ & Prod_VMware_Virtual_S
SYSTEM \ CurrentControlSet \ Control \ CriticalDeviceDatabase \ root # vmwvmcihostdev
SYSTEM \ CurrentControlSet \ Control \ VirtualDeviceDrivers
[0071] Стоит отметить, что для создания имитации проверочной среды создают элементы меню запуска ПО, включая элементы панели быстрого запуска, например, Vmware Tools Tray, vmtoolsd.exe или VBoxTray.exe VBoxService.exe, prl_cc.exe или prl_tools.exe, SharedIntApp.exe (для Parallels Workstation), vmusrvc.exe и vmsrvc.exe (для Virtual PC).
[0072] Кроме вышеуказанных, базовых методов имитации возможны и другие, связанные с добавлением в компьютерную систему пользователя активных артефактов, которые также могут имитировать проверочную среду, но при этом они взаимодействуют с исполняемым ПО. К таким модулям могут относиться по меньшей мере следующие: программы уровня ядра операционной системы (ОС), а также подключаемые модули уровня пользователей в формате динамических библиотек.
[0073] Таким образом, главным назначением активных артефактов является намеренное искажение служебной информации, запрашиваемой запускаемым ПО. В качестве примера, но не ограничиваясь им, можно привести тот факт, что ВПО может определять количество файлов на рабочем столе. То есть, если оно небольшое, порядка 2-4 файлов, ВПО идентифицирует среду как искусственно созданную (проверочную), и прекращает работу. Для имитации описанной ситуации может применяться соответствующий артефакт - функция-перехватчик разделяемой библиотеки, которая подгружается в каждый запускаемый процесс и при каждой попытке ВПО запросить у операционной системы число файлов на рабочем столе, функция-перехватчик отвечает заранее заданным количеством файлов, вне привязки к их реальному количеству.
[0074] Стоит отметить, что ввиду возможных помех работе легитимному ПО, для работы группы активных артефактов предполагается наличие функционала, предусматривающего создание исключений. В случае нахождения некоторой в списке исключений, подмена данных не производится, ПО может запросить реальные данные о системе без искажений.
[0075] Дополнительно в качестве активного артефакта проверочной среды используют IP адрес проверочной среды (виртуальной машины), который отличается от адреса реального хоста метками времени (IP timestamp). Это связано с тем, что виртуальные машины работают на физическом оборудовании хоста с разделением времени, и виртуальная машина не может дублировать действие синхронизации физической машины, даже если виртуальная машина использует несколько методов для минимизации и сокрытия различий в производительности синхронизации. Временные метки - это 32 бита миллисекунд с момента полуночи UT, которые используются в различных сетевых протоколах, таких как IP, ICMP и TCP. Параметры временной метки IP - это данные переменной длины, которые хранятся в заголовке IP и связаны с определенным типом расширения.
[0076] На основе этого используется дополнительная мера по созданию задержек времени и редактирования временных метках (IP timestamp) в исходящих пакетах реальной компьютерной системы. Таким образом, когда в компьютерной системе фиксируются пакеты, содержащие метку (IP timestamp), то осуществляется задержка перед отправкой их на обработку. Причем стоит отметить, что настройки и длительность среднего числа повторений одной и той же временной метки (IP timestamp) в компьютерной системе задается в соответствии с идентичными метками (IP timestamp) в проверочных средах (виртуальных машинах).
[0077] В этих вариантах осуществления характеристики меток (IP timestamp) могут быть определены посредством экспериментальных способов с использованием тестовых выборок в целях имитации проверочной среды как можно точнее. В некоторых не ограничивающих вариантах осуществления настоящей технологии характеристики метки (IP timestamp) могут определяться алгоритмом машинного обучения, обученным на основе тестовых выборок, составленных на основе исследования пакетов проверочной среды (виртуальной машины).
[0078] Стоит отметить, что артефакты попадают в систему в виде неисполняемых файлов, в которых содержатся определения артефактов, состоящие из выражений и блоков данных, позволяющих указать, какие компоненты должны быть установлены на виртуальной машине с помощью основного модуля системы 100. Например, в подобном файле может определяться имя артефакта, выполняемая команда и параметры, которые станут доступны после ее запуска. В файле определения артефакта реализована дополнительная возможность ссылаться на другие файлы скриптов, используя их имена.
[0079] Кроме того, дополнительно все блоки данных имеют цифровую подпись. При этом цифровая подпись необходима для защиты процесса обновлений, в ходе которого на защищаемую компьютерную систему поступает информация об артефактах, так как от состава и состояния артефактов зависит успешность описываемой в данном документе технологии, то важно защитить состав обновлений от любых искажений. Более того, в числе артефактов передаются пути к ключевым компонентам системы пользователя, и в случае искажения данной информации злоумышленник может удаленно скомпрометировать защищаемую систему или сделать ее недоступной для функционирования.
[0080] Таким образом, основной модуль получая файлы артефактов обрабатывает их и начинает выполнять, после чего способ переходит к шагу 220.
[0081] В альтернативных вариантах реализации заявленной технологии как показано на фиг. 3 способ 200 может завершаться на шаге 210, так как предполагается, что посредством добавления артефактов в компьютерную систему осуществляется противодействие действиям ВПО, которое может быть выражено в аварийном завершении ВПО или изменении вектора его исполнения в компьютерной системе. То есть настоящая технология не ограничена только описываемыми в данном документе шагами и последовательностью их выполнения, а она также включает по меньшей мере отдельное выполнение указанных шагов, а также изменения порядка их исполнения, удаление каких-либо элементов или добавление альтернативных, схожих с описанным по функционалу.
ШАГ 220 ФИКСАЦИЯ ПО МЕНЬШЕЙ МЕРЕ ОДНОГО СОБЫТИЯ ПРОТИВОДЕЙСТВИЯ ПЕРВОГО И ВТОРОГО РОДА.
[0082] После того, как все артефакты находятся в рабочем состоянии в системе могут возникать события противодействия первого или второго рода. Стоит отметить, что событием противодействия первого рода является аварийное завершение ПО, а событием второго рода является изменение стандартного вектора выполнения ПО.
[0083] Со ссылкой на фиг. 4 далее будет описаны варианты осуществления дополнительных проверок ПО (шаг 221), связанного с событием первого или второго рода на вредоносность.
[0084] Как было уже описано выше известные способы защиты вычислительных устройств от ВПО основаны в основном на обнаружении сигнатур и поведения, которые указывают на вредоносность. Однако, настоящая технология основана на использовании антиотладочных функций ВПО в качестве средства противодействия или деактивации зловредных функций ПО, даже в том случае, когда ВПО не было обнаружено антивирусными программами и тд. Однако, стоит отметить, что легитимное ПО также может тоже вызвать события противодействия. Так после обнаружения легитимным ПО работающих артефактов в системе чаще всего на экран уведомление о том, что приложение не может быть запущено в проверочной среде, в то время как ВПО отключается или завершает свою активность. По этой причине наличие подобного поведения ПО, выполняемого в проверочной среде, служит указателем на то, что этот файл может быть вредоносным.
[0085] Кроме того, стоит отметить, что способ может переходит к альтернативным вариантам исполнения для осуществления дополнительной проверки вредоносности ПО, связанного с зафиксированным событием противодействия первого или второго рода.
[0086] В некоторых вариантах осуществления настоящей технологии для осуществления дополнительной проверки может быть дополнительно реализованы черный и белый списки ПО (шаг 222), которые могут быть дополнительно получены из центра анализа и обновлений или же могут быть настроены пользователем в его компьютерной системе.
[0087] В одном из вариантов осуществления настоящей технологии, черные и белые списки, полученные из центра анализа и обновлений, могут постоянно обновляться путем сопоставления результатов анализа и накопление знаний о поведении ПО, на других вычислительных устройствах, коммуникативно связанных с сервером 130.
[0088] Так, в одном из возможных вариантов осуществления файл ПО, которое связан с событием первого или второго рода, можно проверить путем сравнения идентификатора файла, в котором зашифровано имя файла, его хэш сумма и путь до него со списком идентификаторов исполняемых файлов, которые находятся в белом списке или черном списках. Если файл ПО идентифицирован в качестве входящего в белый список, то систему 100 возможно настроить так, чтобы имитация проверочной среды не влияла на выполнение этого файла ПО, то есть добавить его в список исключений (шаг 228). Если файл идентифицирован в качестве входящего в черный список, то систему 100 можно настроить так, что пользователь получит уведомление о вредоносной активности ПО на его вычислительном устройстве, а ВПО будет помещено в карантин (шаг 229).
[0089] Если ПО не было идентифицировано ни в одном из списков, то фиксируется по меньшей мере одно событие первого или второго рода и способ 200 выполнен с возможностью перехода к выполнению шага 224.
[0090] Таким образом, в дополнительном варианте реализации настоящей технологии на шаге 224 проводят дополнительную проверку соответствия по меньшей мере одного события противодействия первого или второго рода деятельности ВПО.
[0091] То есть, если событие первого и второго рода произошло в связи с артефактами, имеющими вес ниже порога, то не идентифицируют работу ВПО и способ переходит к выполнению шага 228.
[0092] Стоит отметить, что в неограниченных вариантах осуществления настоящей технологии вес каждого артефакта определен заранее на основе тестовых выборок. Так как все артефакты являются несбалансированными (т.е. имеющими разные вес) для каждого из видов артефактов рассчитывается полнота, т.е. в каком объеме данный артефакт реализован в системе пользователя (например, в ключах реестра установлено значение только для HKLM\SOFTWARE\Vmware Inc. \Vmware Tools), актуальность версии артефакта (дата последнего обновления), и точность получаемого результата при работе артефакта, т.е какой процент ВПО реагирует на данный артефакт событием первого или второго рода. Затем результирующий вес для каждого из видов классификаторов рассчитывается на основе полученных данных полноты и точности (например, как 0,5* среднее арифметическое полноты и точности* полноту*точность).
[0093] Далее вес каждого артефакта, запущенного в системе, складывается и сравнивается с пороговым весом, причем пороговый вес определен заранее на основе тестовых выборок специалистами в данной области или с применением технологии машинного обучения.
[0094] Таким образом, в вариантах выполнения настоящей технологии предусмотрена дополнительная проверка соответствия по меньшей мере одного события противодействия первого или второго рода деятельности ВПО. Так, на шаге 226 может быть выполнено сравнение поведение ПО, в контексте реальной среды и имитируемой проверочной среды. В качестве примера, но не ограничиваясь им, на описываемом шаге может быть отключена имитация по меньшей мере одного артефакта для того, чтобы механизм защиты ПО от имитируемой проверочной среды был отключен. Если ПО не демонстрировало никакой поведенческой реакции, то есть не было замечено событий противодействия, на запущенные в системе артефакты, тот я можно идентифицировать это ПО в качестве легитимного или по меньшей мере в качестве имеющего низкую вероятность оказаться вредоносным. Если ПО является легитимным, следует ожидать, что оно или выведет уведомление о том, что не может быть запущено в проверочной среде, как было указано ранее, или будет демонстрировать одинаковое поведение независимо от среды (шаг 228). Если ПО является вредоносным, то в имитируемой проверочной среде будут зафиксированы события противодействия первого или второго рода, в то время как в реальной среде таких событий зафиксировано не будет (шаг 230).
[0095] Дополнительно стоит отметить, что каждая из проверок, выполняемая на этапе 221 может быть выполнена по отдельности, либо в совокупности с другими в любой последовательности, например, в одном конкретном случае могут быть выполнены все шаги дополнительных проверок 222-226, когда в другом конкретном случае, когда ПО идентифицировано в одном из списков выполнение проверок завершается на шаге 222.
[0096] Далее способ 200 переходит к выполнению шага 230.
ШАГ 230 ОТПРАВЛЯЮТ ЦИФРОВОЙ ОТПЕЧАТОК ВПО В ЦЕНТР АНАЛИЗА И ОБНОВЛЕНИЙ.
[0097] На данном шаге сначала собираются цифровые отпечатки ВПО модулем извлечения артефактов 150, которая регистрирует все события и проверки, которые выполняет ВПО для проверки среды выполнения и которые могут привести к событию первого или второго рода.
[0098] После этого цифровой отпечаток отправляется на сервер в центр анализа и обновлений 130, где происходит:
анализ полученного цифровой отпечаток ВПО и генерируются описания соответствующих артефактов;
пополнение базы данных артефактов для обновлений имитации проверочной среды;
обновление черного или белого списка;
отправление обновлений артефактов для имитации проверочной среды в компьютерную систему пользователя.
[0099] Например, при работе в компьютерной системе пользователя ВПО GravityRAT осуществляет проверку системы, в которой исполняется, на проверочную среду на основе поиска гипервизорных инструментов, проверки версии BIOS, количества ядер и других стандартные методов, а также использованием запроса WMI для проверки текущей температуры процессора (запись MSAcpi_ThermalZoneTemperature). Все эти собранные данные цифрового отпечатка ВПО будут перенаправлены в центр анализа и обновлений, где будет выявлено, что, например, запрос WMI помогает различать ВПО проверочную среду.
[0100] Дополнительно центр анализа и обновлений может в котором дополнительно осуществляют поддержку артефактов в актуальном состоянии используя обход подсистем, в том числе файловой системы, списка запущенных процессов, реестра; а также последующей проверкой состояния артефактов и опциональной сменой их статуса на один из: добавление, удаление, модификация.
[0101] Стоит отметить, что отправка цифрового отпечатка ВПО в центр анализа и обновлений 130 осуществляется в зашифрованном виде по каналам связи 120.
[0102] Дополнительно центр анализа и обновлений может создавать подробные аналитический отчеты о цифровых отпечатках ВПО.
[0103] Дополнительно центр анализа и обновлений может вносить ПО в черный или белый список, а также рассылать его по сети связи.
[0104] В вариантах осуществления настоящей технологии способ 200 может выполняться с помощью устройства, представленного на фиг. 5.
[0105] Со ссылкой на Фиг. 5 далее будет представлена общая схема вычислительного устройства (N600), обеспечивающего обработку данных, необходимую для реализации заявленного решения.
[0106] В общем случае устройство (N600) содержит такие компоненты, как: один или более процессоров (N601), по меньшей мере одну память (N602), средство хранения данных (N603), интерфейсы ввода/вывода (N604), средство В/В (N06505), средства сетевого взаимодействия (N606).
[0107] Процессор (N601) устройства выполняет основные вычислительные операции, необходимые для функционирования устройства (N600) или функциональности одного или более его компонентов. Процессор (N601) исполняет необходимые машиночитаемые команды, содержащиеся в оперативной памяти (N0602).
[0108] Память (N0602), как правило, выполнена в виде ОЗУ и содержит необходимую программную логику, обеспечивающую требуемый функционал.
[0109] Средство хранения данных (N603) может выполняться в виде HDD, SSD дисков, рейд массива, сетевого хранилища, флэш-памяти, оптических накопителей информации (CD, DVD, MD, Blue-Ray дисков) и т.п. Средство (N603) позволяет выполнять долгосрочное хранение различного вида информации, например, вышеупомянутых документов с наборами данных пользователей, базы данных, содержащих записи измеренных для каждого пользователя временных интервалов, идентификаторов пользователей и т.п.
[0110] Интерфейсы (N604) представляют собой стандартные средства для подключения и работы с серверной частью, например, USB, RS232, RJ45, LPT, COM, HDMI, PS/2, Lightning, Fire Wire и т.п.
[0111] Выбор интерфейсов (N604) зависит от конкретного исполнения устройства (N600), которое может представлять собой персональный компьютер, мейнфрейм, серверный кластер, тонкий клиент, смартфон, ноутбук и т.п.
[0112] В качестве средств В/В данных (N605) в любом воплощении системы, реализующей описываемый способ, должна использоваться клавиатура. Аппаратное исполнение клавиатуры может быть любым известным: это может быть, как встроенная клавиатура, используемая на ноутбуке или нетбуке, так и обособленное устройство, подключенное к настольному компьютеру, серверу или иному компьютерному устройству. Подключение при этом может быть, как проводным, при котором соединительный кабель клавиатуры подключен к порту PS/2 или USB, расположенному на системном блоке настольного компьютера, так и беспроводным, при котором клавиатура осуществляет обмен данными по каналу беспроводной связи, например, радиоканалу, с базовой станцией, которая, в свою очередь, непосредственно подключена к системному блоку, например, к одному из USB-портов. Помимо клавиатуры, в составе средств В/В данных также может использоваться: джойстик, дисплей (сенсорный дисплей), проектор, тачпад, манипулятор мышь, трекбол, световое перо, динамики, микрофон и т.п.
[0113] Средства сетевого взаимодействия (N606) выбираются из устройства, обеспечивающий сетевой прием и передачу данных, например, Ethernet карту, WLAN/Wi-Fi модуль, Bluetooth модуль, BLE модуль, NFC модуль, IrDa, RFID модуль, GSM модем и т.п. С помощью средств (N05505) обеспечивается организация обмена данными по проводному или беспроводному каналу передачи данных, например, WAN, PAN, ЛВС (LAN), Интранет, Интернет, WLAN, WMAN или GSM.
[0114] Компоненты устройства (N600) сопряжены посредством общей шины передачи данных (N610).
[0115] В настоящих материалах заявки было представлено предпочтительное раскрытие осуществление заявленного технического решения, которое не должно использоваться как ограничивающее иные, частные воплощения его реализации, которые не выходят за рамки испрашиваемого объема правовой охраны и являются очевидными для специалистов в соответствующей области техники.