×
05.07.2018
218.016.6b5f

Результат интеллектуальной деятельности: Система и способ обнаружения вредоносного скрипта

Вид РИД

Изобретение

№ охранного документа
0002659738
Дата охранного документа
03.07.2018
Аннотация: Изобретение относится к области информационной безопасности, а именно к обнаружению вредоносного скрипта. Технический результат – расширение арсенала технических средств для обнаружения вредоносного скрипта. Способ обнаружения вредоносного скрипта, выполняемый при помощи компьютерной системы, в котором обнаруживают запуск процесса из доверенного исполняемого файла скриптового интерпретатора, обнаруживают обращение, осуществляемое при исполнении процесса, к подозрительному адресу памяти, осуществляют анализ области памяти в адресном пространстве процесса в окрестности подозрительного адреса памяти, при этом во время анализа обнаруживают в адресном пространстве процесса образ исполняемого файла, загруженного из другого файла, обнаруживают вредоносный код в адресном пространстве процесса путем анализа обнаруженного образа исполняемого файла, загруженного из другого файла, признают вредоносным скрипт, инструкции которого выполнялись скриптовым интерпретатором до момента обнаружения вредоносного кода в адресном пространстве процесса, запущенного из доверенного исполняемого файла скриптового интерпретатора. 4 з.п. ф-лы, 3 ил.

Область техники

Изобретение относится к области информационной безопасности, а именно к системам и способам обнаружения вредоносного скрипта.

Уровень техники

В настоящее время постоянно совершенствуются средства обнаружения вредоносного кода и вредоносных файлов, например антивирусные приложения. Зачастую такие средства обнаружения работают совместно с модулями (или включают в себя такие модули) контроля приложений (с англ. "application control") для повышения качества обеспечения безопасности компьютерных систем (например, запрещая запуск недоверенных приложений). При этом модули контроля приложений, как правило, используют списки приложений, например, белые или черные списки (с англ. "whitelist" и "blacklist", соответственно) таким образом, что файлы из черного списка признаются антивирусным приложением вредоносными, а файлы из белого списка считаются безопасными для компьютерных систем (доверенными) и не проверяются антивирусным приложением. Использование таких списков существенно снижает нагрузку на компьютерную систему при обеспечении безопасности антивирусным приложением, так как антивирусному приложению нет необходимости проверять каждый файл всеми имеющимися способами: при помощи сигнатурного анализа, эвристического анализа, анализа поведения и т.п.

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

В уровне техники есть подходы для обнаружения вредоносного кода в адресном пространстве сторонних приложений. Так, например, в публикации ЕР 2788912 А1 описан подход, в соответствии с которым выделяемые участки памяти в адресном пространстве некоторого процесса сравниваются с известными областями памяти (например, областями памяти, сигнатуры которых хранятся в предназначенной для этого базе данных), соответствующими вредоносному коду. При обнаружении в адресном пространстве некоторого процесса такого участка памяти, соответствующего вредоносному коду, данные, которые использовались для запуска упомянутого процесса, признаются вредоносными.

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

Раскрытие изобретения

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

Технический результат настоящего изобретения заключается в реализации заявленного назначения.

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

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

В еще одном варианте реализации способа скриптовым интерпретатором является PowerShell.

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

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

Краткое описание чертежей

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

Фиг. 1 иллюстрирует примерный вариант компонентов системы обнаружения вредоносного кода в адресном пространстве процессов.

Фиг. 2 показывает вариант реализации способа обнаружения вредоносного кода в адресном пространстве процессов.

Фиг. 3 показывает пример компьютерной системы общего назначения.

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

Описание вариантов осуществления изобретения

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

Введем ряд определений и понятий, которые будут использоваться при описании вариантов осуществления изобретения.

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

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

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

Вредоносный файл - файл, являющийся компонентом вредоносного приложения и содержащий программный код (исполняемый или интерпретируемый код).

Недоверенный файл - файл, являющийся компонентом недоверенного приложения и содержащий программный код (исполняемый или интерпретируемый код).

Доверенный файл - файл, являющийся компонентом доверенного приложения.

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

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

Скрипт (англ. scrip), иногда сценарий - последовательность команд (инструкций), как правило написанная на высокоуровневом языке программирования - языке сценариев, которая может быть выполнена (исполнена) компьютерной системой при помощи интерпретатора сценариев (скриптовый интерпретатор).

Под средствами системы обнаружения вредоносного кода в адресном пространстве процессов в настоящем изобретении понимаются реальные устройства, системы, компоненты, группы компонентов, реализованные с использованием аппаратных средств, таких как интегральные микросхемы (англ. application-specific integrated circuit, ASIC) или программируемые вентильные матрицы (англ. field-programmable gate array, FPGA) или, например, в виде комбинации программных и аппаратных средств, таких как микропроцессорная система и набор программных инструкций, а также на нейроморфных чипах (англ. neurosynaptic chips) Функциональность указанных средств системы может быть реализована исключительно аппаратными средствами, а также в виде комбинации, где часть функциональности средств системы реализована программными средствами, а часть аппаратными. В некоторых вариантах реализации часть средств, или все средства, могут быть исполнены на процессоре компьютера общего назначения (например, который изображен на Фиг. 3). При этом компоненты системы могут быть реализованы в рамках как одного вычислительного устройства, так и разнесены между несколькими, связанными между собой вычислительными устройствами.

На Фиг. 1 изображены элементы системы обнаружения вредоносного кода в адресном пространстве процессов. Система содержит в себе следующие компоненты: средство перехвата 110, средство безопасности 120 и базу данных сигнатур вредоносного кода 130. Связи между элементами системы также обозначены на Фиг. 1. В одном из вариантов реализации изобретения средством перехвата 110 и средство безопасности 120 реализовано в виде единого средства, выполняющего функции как средства перехвата 110, так и средства безопасности 120.

Средство перехвата 110 способно обнаруживать запуск процесса из исполняемого файла 111. При этом при запуске процесса из исполняемого файла 111 операционной системой (ОС), под управлением которой функционирует компьютерная система (в частности, с помощью которой реализованы компоненты системы), формируется виртуальное адресном пространство 112 (далее просто "адресное пространство") процесса, в котором находится образ упомянутого исполняемого файла 111, из которого запускается процесс, при этом будем считать идентичными понятия "область памяти адресного пространства" и "область памяти в адресном пространстве". При этом образом исполняемого файла (англ. executable image) является представление исполняемого файла в адресном пространстве процесса, например запущенного из упомянутого файла, достаточное для исполнения кода исполняемого файла (в отличие от просто скопированного байтового предоставления исполняемого файла), образ исполняемого файла формируется загрузчиком ОС, например, при запуске процесса из исполняемого файла. Образ исполняемого файла, как правило, отличается от самого исполняемого файла, например, внесенными изменениями в адреса (например, вызываемых процедур и переходов), используемые в коде образа. Для осуществления процесса обнаружения запуска процесса средство перехвата 110 способно использовать любой из известных в уровне техники подходов, в частности средство перехвата 110 может содержать драйвер, который перехватывает функцию для запуска процесса. В одном из вариантов реализации изобретения такой функцией для ОС Windows является функция CreateProcess. В результате обнаружения запуска процесса средство 110 определяет уникальный идентификатор процесса. В одном из вариантов реализации изобретения таким идентификатором является структура_PROCESS_INFORMATION, полям которой, в частности, присваиваются значения при вызове функции CreateProcess. В еще одном из вариантов реализации изобретения таким идентификатором является описатель процесса (англ. process handle) или идентификатор процесса (англ. PID). В одном из вариантов реализации изобретения идентификатор процесса далее используется средствами заявленной системы для обращения к процессу (например, в рамках работы средств системы: обращение к адресному пространству 112 и т.п.), запущенному из файла 111.

Средство перехвата 110 также способно обнаруживать обращение, осуществляемое при исполнении процесса, к подозрительному адресу памяти в виртуальном адресном пространстве 112. Адрес памяти является подозрительным, если этот адрес памяти принадлежит подозрительной области памяти в адресном пространстве процесса. В свою очередь подозрительной областью памяти в адресном пространстве процесса, запущенного из исполняемого файла, является область памяти, которая находится за пределами образов исполняемых файлов в упомянутом адресном пространстве и в то же время является исполняемой областью памяти. При этом в адресное пространство 112 процесса может быть загружено множество образов исполняемых файлов, в частности образ исполняемого файла 111, из которого был запущен процесс, а также другие образы исполняемых файлов, например образы динамических библиотек (находящиеся, как правило, в области адресного пространства 112, зарезервированного для динамических библиотек - в DLL секции) или других исполняемых файлов. Такие области памяти (загруженные из исполняемых файлов, иными словами соответствующие образам исполняемых файлов) могут быть определены при помощи, например, вызова функции VirtualQueryEx, которая возвращает указатель на структуру данных MEMORY_BASIC_INFORMATION, одно из полей которой - Туре - принимает значение MEM_IMAGE для упомянутых выше областей памяти. Соответственно, факт того, что некоторый адрес памяти принадлежит области исполняемой памяти, но не принадлежит области памяти, загруженной из исполняемого файла, может быть также определен при помощи вызова функции VirtualQueryEx.

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

• окрестность образа исполняемого файла 111 в адресном пространстве;

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

• окрестность известного адреса в адресном пространстве 112.

При этом окрестностью образа исполняемого файла является область памяти, границы которой удалены от границ образа исполняемого файла на фиксированные расстояния, например 512 байт от начального адреса образа исполняемого файла в сторону уменьшения адресов и 512 байт от конечного адреса образа исполняемого файла в сторону увеличения адресов. Определение окрестности адреса будет дано ниже. В одном из вариантов реализации окрестностью образа исполняемого файла является область памяти, соответствующая региону памяти (или же являющаяся этим регионом), в котором находится упомянутый образ исполняемого файла. При этом для определения границ региона, а, следовательно, и границ области памяти, являющейся окрестностью некоторого образа исполняемого файла, может быть использована функция VirtualQueryEx, которая возвращает указатель на структуру данных MEMORY_BASIC_INFORMATION, содержащую необходимую для определения границ региона памяти информацию. В одном из вариантов реализации регионом памяти является область памяти, состоящая их страниц, и которая выделяется в адресном пространстве 112 процесса, например при помощи вызова функции VirtualAllocEx. Известным адресом является адрес, запись о котором хранится в базе данных, например базе данных сигнатур вредоносного кода 130. Начальные и конечные адреса известных исполняемых файлов также могут храниться в базе данных, например базе данных сигнатур вредоносного кода 130. Упомянутая информация может быть сохранена в базе данных 130 специалистом в области информационных технологий и использована средством перехвата 110 для определения, какие области памяти в адресном пространстве 112 являются подозрительными.

В одном из вариантов реализации изобретения обращением к адресу памяти является операция записи адреса памяти на стек. В таком случае средство перехвата 110 обнаруживает обращение к адресу памяти путем проверки, присутствует ли на стеке (в области памяти в адресном пространстве 112, зарезервированной для стека) адрес памяти, соответственно, если на стеке присутствует адрес памяти, то во время исполнения процесса имело место обращение к стеку, в частности запись адреса памяти на стек. В одном из вариантов реализации изобретения средство перехвата 120 осуществляет поиск адреса на стеке путем вызова функции CaptureStackBackTrace, которая возвращает в качестве выходного параметра BackTrace массив (а, точнее, указатель на массив) значений (указателей, иными словами адресов), лежащих на стеке. Соответственно, считается, что к адресам памяти, полученным вызовом вышеупомянутой функции, осуществлялся доступ.

В еще одном варианте реализации изобретения средство перехвата 120 осуществляет поиск адреса на стеке путем вызова функции NtQueryInformationThread, при помощи которого можно получить доступ информации о ТЕВ (Thread Environment Block), в частности вызов упомянутой функции заполняет поля структуры (записывает значения в поля структуры) Threadlnformation, формат которой характеризуется параметром вызова ThreadInformationClass (например, ThreadBasicInformation), которая, в свою очередь, содержит адреса в памяти, в пределах которых располагается стек (для вызывающего функцию потока). Обладая этой информацией, а также информацией о значениях регистров процессора (по меньшей регистров esp и ebp), средство перехвата 120 обнаруживает адреса памяти на стеке (а именно цепочку вызовов, аналогичную той, которая может быть получена при помощи CaptureStackBackTrace).

В одном из вариантов реализации адресом на стеке признается число, находящееся на стеке, и значение которого лежит в диапазоне от 0×00000000 до 0×8FFFFFFF. В еще одном варианте реализации любое значение, находящееся на стеке по адресу, выровненному на фиксированную величину (например, 2 байта), считается адресом.

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

В другом варианте реализации изобретения обращением к адресу является вызов функции CreateThread, аргументом которой является упомянутый адрес. В еще одном варианте реализации изобретения обращением к адресу является вызов функции CreateProcess. В еще одном варианте реализации обращением к адресу является вызов любой другой функции для создания потока (примеры которой упомянуты выше - CreateThread и CreateProcess, с учетом того, что при создании процесса также создается по меньшей мере один поток), которая принимает адрес в качестве параметра. В еще одном варианте реализации изобретения обращением к адресу является вызов функции WriteFile. Обращение путем вызова одной из вышеперечисленных функций может быть обнаружено средством перехвата 110 при помощи любого из известных из уровня техники способов, например с использованием драйвера или путем установки процедуры обратного вызова (англ. hook) на вызов соответствующей операции, например CreateThread или CreateProcess.

В одном из вариантов реализации изобретения исполняемый файл 111 является доверенным, и компоненты системы в таком случае предназначены для обнаружения в адресном пространстве 112 доверенного процесса вредоносного кода. В одном из вариантов реализации изобретения доверенным файлом 111 является файл скриптового интерпретатора, например PowerShell. Обнаружение вредоносного кода в адресном пространстве 112 исполняемого файла 111 PowerShell необходимо, потому что скрипты PowerShell, используя возможности, предоставляемые интерпретатором, способны загружать, в частности из сети Интернет, вредоносные исполняемые файлы, сохранять эти файлы в специально выделенной для этого области памяти в адресном пространстве 112 (при этом без сохранения файлов на устройстве хранения компьютерной системы, например жестком диске), выполнять все функции загрузчика ОС (англ. loader, иногда называют "загрузчиком исполняемых файлов", который входит в состав ОС), тем самым превращая загруженный в память исполняемый файл в образ исполняемого файла, доступный для исполнения, и передавать управление исполняемому коду из полученного загруженного вредоносного файла. Таким образом на компьютерную систему может быть осуществлена атака с использованием "бестелесного" вредоносного программного обеспечения (англ. fileless malware), при этом загруженный в адресное пространство 112 вредоносный исполняемый файл не хранится на устройстве хранения данных компьютерной системы, а присутствует только в оперативной памяти в адресном пространстве 112 доверенного процесса, что затрудняет обнаружение вредоносного кода известными из уровня техники подходами.

Средство безопасности 120 связано со средством перехвата и базой данных сигнатур вредоносного кода 130. Средство безопасности 120 предназначено для анализа области памяти в адресном пространстве процесса 112. Целью такого анализа является обнаружение в адресном пространстве 112, в частности в упомянутой области памяти, образов исполняемых файлов. В одном из вариантов реализации изобретения средство безопасности способно обнаруживать образы исполняемых файлов в окрестности некоторого адреса памяти, в частном случае реализации изобретения таким адресом памяти является подозрительный адрес памяти. При этом окрестностью адреса памяти является область памяти, границы которой удалены от адреса памяти на фиксированные расстояния, например 64 Кбайт от адреса в сторону уменьшения адресов и 64 Кбайт в сторону увеличения адресов. Таким образом примером окрестности адреса 0×00600000 будет область памяти в адресном пространстве 112, располагающаяся между адресами 0×005FFE00 и 0×00610000 в адресном пространстве 112 процесса. В другом варианте реализации окрестностью адреса памяти является область памяти, соответствующая региону памяти (являющаяся этим регионом), в котором находится упомянутый адрес памяти. При этом для определения границ региона, а, следовательно, и границ области памяти, являющейся окрестностью некоторого адреса памяти, может быть использована функция VirtualQueryEx, которая возвращает указатель на структуру данных MEMORY_BASIC_INFORMATION, содержащую необходимую для определения границ региона памяти информацию. В одном из вариантов реализации изобретения средство безопасности 120 обнаруживает в области памяти (например, в окрестности некоторого адреса) образ исполняемого файла, если выполнено следующее условие: область памяти содержит заголовок исполняемого файла, а именно, например для исполняемых файлов ОС Windows, область памяти содержит заголовок исполняемого файла, если она содержит последовательность байт, которая в символьном виде выглядит как "MZ", при этом от начала этой строки на расстоянии 0×3С в памяти лежит такая последовательность из четырех байт (DWORD), прибавив значение которой к адресу начала строки "MZ" можно получить адрес в памяти, по которому находится последовательность байт, которая в символьном виде выглядит как "РЕ".

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

В одном из вариантов реализации при обнаружении образа исполняемого файла в области памяти, равно как и в адресном пространстве 112 в целом, средством безопасности 120 также определяет адрес начала образа обнаруженного исполняемого файла.

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

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

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

На Фиг. 2 изображен один из вариантов реализации способа обнаружения вредоносного кода в адресном пространстве процессов. На этапе 201 при помощи средства перехвата 110 осуществляется обнаружение запуска процесса из исполняемого файла 111, при этом при создании процесса в оперативной памяти компьютерной системы формируется (как правило, средствами ОС, например загрузчика ОС) адресное пространство 112. В одном из вариантов реализации изобретения исполняемым файлом 111 является доверенный исполняемый файл. В одном из вариантов реализации изобретения доверенным исполняемым файлом 111 является исполняемый файл скриптового интерпретатора, например PowerShell. После обнаружения запуска процесса из исполняемого файла 111 средство перехвата 110 обнаруживает на этапе 202 обращение к подозрительному адресу во время исполнения процесса, запущенного из исполняемого файла 111, одним из вышеописанных способов. Обнаружив доступ к подозрительному адресу, средство перехвата 110 передает средству безопасности 120 уведомление об обнаружении доступа к подозрительному адресу вместе с указанием, какой адрес в памяти является подозрительным. После чего, на этапе 203, средство безопасности 120 осуществляет анализ области памяти в адресном пространстве 112 в окрестности по меньшей мере одного подозрительного адреса, обращение к которому во время исполнения процесса, запущенного из исполняемого файла 111, было обнаружено ранее. При этом целью такого анализа является обнаружение в адресном пространстве 112, в частности в областях памяти в окрестностях подозрительных адресов, образов исполняемых файлов, загруженных из других исполняемых файлов (не обязательно присутствующих на устройстве хранения данных компьютерной системы, но и присутствующих в оперативной памяти), то есть файлов, отличных от файла 111, образ которого априори присутствует в адресном пространстве 112 запущенного из файла 111 процесса. Такие образы других файлов могут быть загружены в адресное пространство 112 во время исполнения процесса, например, если процесс запущен из исполняемого файла скриптового интерпретатора PowerShell, при этом упомянутый процесс обрабатывает скрипт (англ. script, иногда упоминается как "сценарий" или "файл сценария"), переданный процессу, например, в качестве параметра командной строки или иным образом, и в соответствии с упомянутым скриптом (путем интерпретации инструкций такого скрипта) процесс скриптового интерпретатора загружает файл из сети ("другой" файл, упомянутый выше) и формирует его образ в адресном пространстве 112. Если образов исполняемых файлов, загруженных из других исполняемых файлов, не обнаружено, то на этапе 206 способ обнаружения вредоносного кода в адресном пространстве процессов завершается. Если же найден по меньшей мере один образ исполняемого файла, то на этапе 207 средство безопасности 120 анализирует обнаруженный образ исполняемого файла с целью обнаружения вредоносного кода в адресном пространстве 112, в частности в области памяти, куда загружен упомянутый образ исполняемого файла. Если вредоносный код не обнаружен, то работа способа завершается на этапе 209. В противном случае на этапе 210 средство безопасности 120 обнаруживает вредоносный код в адресном пространстве 112 процесса, запущенного из файла 111.

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

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

В еще одном из вариантов реализации средство безопасности 120 сохраняет информацию о URT (Universal Resource Identifier, в частности URL, с англ. сетевой адрес), с которого был загружен по меньшей мере один обнаруженный образ другого исполняемого файла (такой URI будем называть "опасным URI"), при помощи сетевого драйвера, входящего в состав средства 120, и передает эту информацию об опасном URI, в частности само символьное представление URI или хеш, вычисленный от символьного представления упомянутого URI, ударенному серверу безопасности (не показан на фигурах). В дальнейшем такая информация (которая может храниться как локально на компьютерной системе, так и на удаленном сервере безопасности) об опасных URI, с которых были загружены другие исполняемые файлы, может использоваться средством безопасности 120, расположенным на компьютерной системе, а также аналогичными средствами 120, развернутыми на других компьютерных устройствах (которые могут получить информацию о URI от удаленного сервера безопасности), для блокирования соединения, которые устанавливаются каким-либо процессами, с такими опасными URI. Таким образом обеспечивается безопасности компьютерной системы, на котором функционирует средство безопасности 120, которое не позволяет процессам, исполняющимся на упомянутой компьютерной системе, устанавливать соединения, а также загружать данные с опасных URI, в частности исполняемые файлы.

В еще одном из вариантов реализации, когда исполняемым файлом 111, в частности доверенным, является файл скриптового интерпретатора, такого как PowerShell, и процесс, запушенный из файла 111 обрабатывает (интерпретирует, исполняет) скрипт, переданный процессу, например, в качестве параметра командной строки или иным образом (например, при помощи технологии Drag-and-Drop), после обнаружения в адресном пространстве 112 процесса вредоносного кода средство безопасности 120 также признает упомянутый скрипт вредоносным, так как выполнение команд (инструкций) такого скрипта привело к появлению в адресном пространстве процесса, запущенного из доверенного файла, вредоносного кода. Под обработкой (интерпретацией или исполнением) скрипта в контексте данного изобретения понимают выполнение команд (инструкций) скрипта при помощи скриптового интерпретатора, в частности PowerShell. Информация о том, исполнение какого именно скрипта привела к обнаружению вредоносного кода, может быть получена средством перехвата 110, например из аргументов командной строки запуска процесса из исполняемого файла 111. В еще одном варианте реализации изобретения такая информация может быть получена путем перехвата системного сообщения, соответствующего открытию скрипта при помощи технологии Drag-and-Drop (сообщение WM_DROPFILES), или системного сообщения о передаче данных WM_COPYDATA. В еще одном варианте реализации такая информация может быть получена путем перехвата вызова функции CreateFile, осуществляемого при исполнении процесса, запущенного из исполняемого файла 111. В еще одном варианте реализации для определения, при исполнении какого скрипта был обнаружен вредоносный код в адресном пространстве 112, может быть использован любой из известных из уровня техники подходов. Вышеописанная схема признания скрипта вредоносным также справедлива и для скриптов, которые загружены вследствие исполнения признанных вредоносными скриптов. Таким образом средством безопасности 120 осуществляется обнаружение вредоносного скрипта (иными словами, признание такого скрипта вредоносным), инструкции которого выполнялись скриптовым интерпретатором, а именно при исполнении процесса, запущенного из файла скриптового интерпретатора, до момента обнаружения вредоносного кода в адресном пространстве 112 упомянутого процесса.

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

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

Фиг. 3 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.

Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.

Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.

Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.

Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 3. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.

Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.

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


Система и способ обнаружения вредоносного скрипта
Система и способ обнаружения вредоносного скрипта
Система и способ обнаружения вредоносного скрипта
Система и способ обнаружения вредоносного скрипта
Источник поступления информации: Роспатент

Showing 1-10 of 157 items.
27.08.2016
№216.015.4dc3

Способ исключения процессов из антивирусной проверки на основании данных о файле

Изобретение относится к антивирусным технологиям. Техническим результатом является уменьшение времени антивирусной проверки операционной системы за счет исключения процессов из антивирусной проверки. Согласно одному из вариантов реализации предлагается способ исключения процесса из антивирусной...
Тип: Изобретение
Номер охранного документа: 0002595510
Дата охранного документа: 27.08.2016
25.08.2017
№217.015.9a38

Способ выполнения кода в режиме гипервизора

Изобретение относится к области компьютерной безопасности. Технический результат заключается в обеспечении выполнения кода в режиме гипервизора. Предложен способ, в котором загружают в оперативную память код гипервизора до загрузки операционной системы; загружают во время загрузки операционной...
Тип: Изобретение
Номер охранного документа: 0002609761
Дата охранного документа: 02.02.2017
25.08.2017
№217.015.9b37

Система и способ выполнения запросов процессов операционной системы к файловой системе

Изобретение предназначено для выполнения запросов процессов к файловой системе. Технический результат – оптимизация работы файловой системы с запросами процессов. Система выполнения запросов процессов операционной системы к файловой системе, где запросы представляют собой вызовы API-функции,...
Тип: Изобретение
Номер охранного документа: 0002610228
Дата охранного документа: 08.02.2017
25.08.2017
№217.015.a028

Система и способ оптимизации антивирусной проверки файлов

Изобретение относится к системам и способам антивирусной проверки. Технический результат заключается в ускорении проведения антивирусной проверки исполняемых файлов путем исключения из проверки динамических библиотек, которые не содержат исполняемого кода. Система содержит средство проверки...
Тип: Изобретение
Номер охранного документа: 0002606559
Дата охранного документа: 10.01.2017
25.08.2017
№217.015.a161

Система и способ блокировки выполнения сценариев

Изобретение относится к области антивирусных технологий. Технический результат настоящего изобретения заключается в обеспечении безопасности компьютерной системы, на которой работает клиент, и в противодействии внедрению вредоносного сценария на компьютерную систему, на которой работает клиент,...
Тип: Изобретение
Номер охранного документа: 0002606564
Дата охранного документа: 10.01.2017
25.08.2017
№217.015.b5dd

Способ устранения уязвимостей роутера

Изобретение относится к антивирусным технологиям, а более конкретно к способу устранения уязвимостей устройств, имеющих выход в Интернет, таких как роутеры. Технический результат настоящего изобретения заключается в обеспечении информационной безопасности, связанной с роутером. Способ содержит...
Тип: Изобретение
Номер охранного документа: 0002614559
Дата охранного документа: 28.03.2017
25.08.2017
№217.015.b7c6

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

Изобретение относится к области компьютерной безопасности. Технический результат заключается в снижении потребляемых антивирусным приложением ресурсов компьютера пользователя, а именно памяти на жестком диске для хранения антивирусных записей. Предложен способ передачи антивирусных записей,...
Тип: Изобретение
Номер охранного документа: 0002614929
Дата охранного документа: 30.03.2017
25.08.2017
№217.015.b7c9

Система и способ шифрования при передаче веб-страницы приложению пользователя

Изобретение относится к области защиты данных при их передаче по сети. Технический результат - повышение уровня защиты информации, содержащейся на веб-странице, путем шифрования упомянутой информации во время передачи упомянутой веб-страницы приложению пользователя. Способ шифрования при...
Тип: Изобретение
Номер охранного документа: 0002614928
Дата охранного документа: 30.03.2017
25.08.2017
№217.015.c103

Система и способ формирования набора антивирусных записей, используемых для обнаружения вредоносных файлов на компьютере пользователя

Изобретение относится к способу и системе формирования набора антивирусных записей, используемых для обнаружения вредоносных файлов на компьютере пользователя. Технический результат заключается в снижении потребляемых антивирусным приложением ресурсов компьютера, а именно памяти на жестком...
Тип: Изобретение
Номер охранного документа: 0002617654
Дата охранного документа: 25.04.2017
25.08.2017
№217.015.c121

Способ обнаружения работы вредоносной программы, запущенной с клиента, на сервере

Изобретение относится к способу определения файловой операции, запущенной на сервере с компьютера пользователя, как работы вредоносной программы. Технический результат настоящего изобретения заключается в обеспечении определения файловой операции, запущенной на сервере с компьютера...
Тип: Изобретение
Номер охранного документа: 0002617631
Дата охранного документа: 25.04.2017
Showing 1-10 of 20 items.
27.08.2013
№216.012.6582

Система и способ проверки файлов на доверенность

Изобретение относится к средствам проверки файлов на доверенность при антивирусной проверке. Технический результат заключается в уменьшении времени антивирусной проверки файлов на диске. Получают файл для проверки и сравнивают идентификатор полученного файла с идентификаторами, содержащимися в...
Тип: Изобретение
Номер охранного документа: 0002491623
Дата охранного документа: 27.08.2013
20.03.2014
№216.012.ad47

Система и способ проверки исполняемого кода перед его выполнением

Изобретение относится к вычислительной технике. Технический результат заключается в обнаружении программного кода, использующего уязвимости в программном обеспечении. Способ проверки исполняемого кода перед его выполнением, в котором определяют значения атрибутов страницы памяти в момент ее...
Тип: Изобретение
Номер охранного документа: 0002510074
Дата охранного документа: 20.03.2014
10.07.2014
№216.012.dbb1

Система и способ обнаружения угроз в коде, исполняемом виртуальной машиной

Изобретение относится к системам и способам обнаружения вредоносного программного обеспечения, код которого исполняется виртуальной машиной. Технический результат заключается в повышении безопасности виртуальной машины. Модифицируют код виртуальной машины для отслеживания исключений внутри...
Тип: Изобретение
Номер охранного документа: 0002522019
Дата охранного документа: 10.07.2014
20.07.2014
№216.012.dfee

Система и способ выбора оптимального типа антивирусной проверки при доступе к файлу

Изобретение относится к средствам выбора оптимального типа антивирусной проверки при обращении к файлу. Технический результат заключается в повышении вероятности обнаружения вируса. Определяют идентификатор и текущие значения атрибутов проверяемого файла. Осуществляют поиск хранимых значений...
Тип: Изобретение
Номер охранного документа: 0002523112
Дата охранного документа: 20.07.2014
10.10.2014
№216.012.fb6c

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

Изобретение относится к области систем и способов выявления факта присутствия в операционной системе вредоносных программ, которые препятствуют работе пользователя с операционной системой. Техническим результатом является выявление присутствия вредоносных программ, препятствующих взаимодействию...
Тип: Изобретение
Номер охранного документа: 0002530210
Дата охранного документа: 10.10.2014
20.10.2014
№216.013.00ad

Система и способ анализа событий запуска файлов для определения рейтинга их безопасности

Изобретение относится к области защиты от компьютерных угроз, а именно к средствам анализа событий запуска файлов для определения рейтинга их безопасности. Технический результат настоящего изобретения заключается в снижении времени антивирусной проверки. Назначают рейтинг безопасности, по...
Тип: Изобретение
Номер охранного документа: 0002531565
Дата охранного документа: 20.10.2014
27.10.2014
№216.013.01cf

Система и способ оценки вредоносности кода, исполняемого в адресном пространстве доверенного процесса

Изобретение относится к вычислительной технике. Технический результат заключается в повышении эффективности оценки вредоносности кода, исполняемого в адресном пространстве доверенного процесса. Способ оценки вредоносности кода, исполняемого в адресном пространстве доверенного процесса, в...
Тип: Изобретение
Номер охранного документа: 0002531861
Дата охранного документа: 27.10.2014
20.11.2015
№216.013.8f47

Система и способ временной защиты операционной системы программно-аппаратных устройств от приложений, содержащих уязвимости

Изобретение относится к информационной безопасности. Технический результат заключается в предотвращении использования уязвимостей, содержащихся в приложении, за счет контроля приложения с помощью создания правил ограничения действий указанного приложения. Способ защиты от угроз, использующих...
Тип: Изобретение
Номер охранного документа: 0002568295
Дата охранного документа: 20.11.2015
20.12.2015
№216.013.9b4c

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

Изобретение относится к информационной безопасности. Технический результат заключается в оптимизации базы данных доверенных сертификатов путем пополнения базы данных доверенных сертификатов, использующейся при антивирусной проверке. Способ пополнения базы данных доверенных сертификатов,...
Тип: Изобретение
Номер охранного документа: 0002571381
Дата охранного документа: 20.12.2015
20.12.2015
№216.013.9b4d

Система и способ антивирусной проверки в зависимости от уровня доверия сертификата

Изобретение относится к информационной безопасности. Технический результат заключается в увеличении производительности антивирусной проверки путем антивирусной проверки, процесс выполнения которой зависит от уровня доверия сертификата, определенного с использованием базы данных доверенных...
Тип: Изобретение
Номер охранного документа: 0002571382
Дата охранного документа: 20.12.2015
+ добавить свой РИД