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

Иллюстрации

Показать все

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

Реферат

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

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

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

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

В настоящий момент существует огромное количество разновидностей вредоносных программ. Одни крадут с устройств пользователей их персональные и конфиденциальные данные (например, логины и пароли, банковские реквизиты, электронные документы). Другие формируют из устройств пользователей так называемые бот-сети (англ. botnet) для атак, таких как отказ в обслуживании (англ. Denial of Service, DDOS), или для перебора паролей методом грубой силы (англ. bruteforce), на другие компьютеры или компьютерные сети. Третьи предлагают пользователям платный контент через навязчивую рекламу, платные подписки, отправку CMC на платные номера и т.д.

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

• сигнатурный анализ - поиск соответствий какого-либо участка кода анализируемой программы известному коду (сигнатуре) из базы данных сигнатур вредоносных программ;

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

• белые и черные списки - поиск вычисленной контрольной суммы от анализируемой программы (или ее частей) в базе данных контрольных сумм вредоносных программ (черные списки) или базе данных контрольных сумм легальных программ (белые списки);

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

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

• обфускация кода для борьбы с сигнатурным анализом - приведение исходного текста (например, сценариев JavaScript) или исполняемого кода программ к виду, сохраняющему их функциональность, но затрудняющему анализ, понимание алгоритмов работы и модификацию при декомпиляции;

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

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

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

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

Особо стоит отметить целевые кибератаки (англ. Advanced Persistent Threat, APT) - технологию атак на выбранные компьютерные системы (внутренние сети крупных предприятий, базы данных корпораций, личные данные огромного числа пользователей, хранящиеся централизованно, например банковские или паспортные данные и т.д.). Для реализации описанной технологии злоумышленники должны обладать современным уровнем специальных знаний и значительными ресурсами, которые позволяют им создавать возможности для достижения целей посредством различных векторов нападения (например, информационных, физических и обманных). Эти цели обычно включают установление и расширение своего присутствия внутри информационно-технологической инфраструктуры целевой организации для осуществления намерений извлечения информации, срыва или создания помех критическим аспектам выполняемой задачи, программы или службы; либо для того, чтобы занять позицию, позволяющую осуществить эти намерения в будущем. Целевая кибератака, как «развитая устойчивая угроза»: добивается своих целей неоднократно в течение длительного времени; адаптируется к усилиям защищающихся оказать угрозе сопротивление; имеет установку сохранить уровень проникновения в целевой инфраструктуре, требуемый для осуществления намерений.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вредоносная активность - действия, выполняемые вредоносными приложениями во время их исполнения.

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

Легальная компьютерная система - компьютерная система, на которой не осуществляется вредоносная активность.

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

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

• производительность центрального процессора (измеряемая в операциях в секунду);

• скорость обмена данными с оперативной памятью (измеряемая в байтах в секунду);

• скорость обмена данными с внешними носителями информации (измеряемая в байтах в секунду);

и является безразмерной величиной, нормализованной относительно быстродействия эталонной компьютерной системы.

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

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

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

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

Структурная схема системы обнаружения вредоносных компьютерных систем состоит из средства сбора характеристик 101, средства построения пространства связей 102, средства идентификации 103, средства анализа 104, хранилища связей 111 и хранилища шаблонов 112.

Средство сбора характеристик 101 предназначено для:

• сбора характеристик компьютерной системы;

• передачи собранных характеристик средству построения пространства связей 102.

При этом в качестве характеристик компьютерной системы могут выступать:

• характеристики вычислительных ресурсов компьютерной системы;

• характеристики программного обеспечения, работающего на компьютерной системе;

• характеристики данных, обрабатываемых на компьютерной системе.

При этом в качестве характеристик вычислительных ресурсов компьютерной системы могут выступать:

• оперативная память компьютерной системы;

• производительность компьютерной системы;

• характеристики сетевого окружения.

При этом в качестве характеристик программного обеспечения, работающего на компьютерной системе, могут выступать:

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

• записи из файлов настройки приложений, работающих в компьютерной системе (например, записи в реестре или записи в ini-файлах);

• связи между приложениями, характеризующие то, какие приложения и каким способом обмениваются данными.

При этом в качестве характеристик данных, обрабатываемых на компьютерной системе, могут выступать:

• идентификаторы источника и приемника данных (например, имена приложений, между которыми происходит обмен данными);

• тип данных (например, файлы баз данных, изображения и т.п.);

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

В качестве примера рассмотрим следующую компьютерную систему: на персональном компьютере, предназначенном для банковского работника, осуществляющего работу с базами данных, в которых хранятся клиентские персональные данные, установлена операционная система «Windows 10», приложение для работы с базами данных «SQL Server Management Studio», браузер «Internet Edge», офисный пакет приложений «Microsoft Office» и набор дополнительных утилит от разных разработчиков. Средство сбора характеристик 101 собирает следующие характеристики:

• характеристики вычислительных ресурсов компьютерной системы пользователя:

объем доступной оперативной памяти (8 ГБ);

объем локальных и сетевых дисков (С: 120 ГБ, D: 500 ГБ, Z: 10 ТБ);

производительность центрального процессора компьютерной системы (10 ГФЛОП);

пропускная способность компьютерной сети (100 Мбит/с);

• характеристики программного обеспечения, работающего на компьютерной системе пользователя (на примере «Internet Edge»):

пути, по которым установлены приложения (C:\Program Files\Internet Edge\edge.exe, …);

частота запуска и время работы установленных приложений (30 раз за сессию: 8:30:17-8:34:05, 8:46:56-9:01:30, …);

статистика выполняемых функций установленных приложений (WriteFile: 13757, ReadFile: 76446, CreateSocket: 5561, …);

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

объем использованной оперативной памяти (1034 МБ);

уровень загрузки центрального процессора компьютерной системы (7.56%);

сетевые адреса, с которыми происходит обмен данными (192.168.17.1, 192.168.34.56, …);

объем данных, считываемых с носителей информации или записываемых на них (in: 5641 МБ, out: 675 МБ);

• характеристики сетевого окружения:

сетевые адреса, с которыми происходит обмен данными (192.168.17.1, 192.168.34.56, …);

скорость обмена данными по сетевым адресам (192.168.17.1: 30 МБ/с, 192.168.34.56: 15 МБ/с);

• пользовательская активность:

какие приложения запускал пользователь (SQL Server Management Studio);

какие элементы графического интерфейса установленных приложений были использованы (Dialog: ID=12145, Button: ID=17,87).

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

Средство построения пространства связей 102 предназначено для:

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

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

• передачи определенной временной зависимости состояния компьютерной системы средству идентификации 103.

При этом анализ определенных ранее связей между полученными характеристиками компьютерной системы при определении временной зависимости состояния компьютерной системы заключается в:

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

• составлении правил изменения значений упомянутой характеристики по выявленной зависимости значений упомянутой характеристики от времени.

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

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

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

Например, в качестве собранных характеристик могут выступать: а) объем оперативной памяти и б) порядок начала работы приложения в компьютерной системе. Каждое запускаемое приложение б) использует определенный объем оперативной памяти а), таким образом объем доступной оперативной памяти с каждым новым запускаемым приложением уменьшается. Если построить двумерную зависимость доступного объема оперативной памяти от количества работающих в компьютерной системе приложений, то получится характерная убывающая зависимость вида: М~, где М - объем доступной оперативной памяти, N - количество работающих в компьютерной системе приложений, - среднее количество работающих в компьютерной системе приложений, при которой компьютерная система может функционировать. При этом полученная зависимость будет слабо изменяться при неизменной компьютерной системе (не устанавливаются новые приложения) или слабо измененной компьютерной системе (были установлены приложения, не часто используемые или слабо влияющие на работу компьютерной системы).

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

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

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

Средство идентификации 103 предназначено для:

• определения состояния компьютерной системы для на основании анализа полученной временной зависимости состояния компьютерной системы;

• выборки из хранилища шаблонов 112 шаблонов состояний компьютерной системы, представляющих собой:

состояние легальной компьютерной системы;

состояние вредоносной компьютерной системы;

• сравнения определенного состояния компьютерной системы с выбранными шаблонами;

• передачи результата сравнения средству анализа 104.

При этом состояние компьютерной системы может определяться:

• при срабатывании ряда правил на изменения компьютерной системы:

приложение начало работу;

приложение завершило работу;

были вызваны заранее выбранные API-функции;

• периодично, через установленные моменты времени.

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

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

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

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

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