Эвристический способ анализа кода

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

 

ПЕРЕКРЕСТНАЯ ССЫЛКА РОДСТВЕННЫЕ ЗАЯВКИ

Данная заявка притязает на приоритет заявки на патент (США) № 12/548747, поданной 27 августа 2009 года, которая притязает на приоритет предварительной заявки (США) № 61/092602, поданной 28 августа 2008 года.

C-E. НЕПРИМЕНИМО

УРОВЕНЬ ТЕХНИКИ

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

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

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

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

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

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

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

2) Необходимость большого количества времени. Очень много времени отнимает то, чтобы запускать программу в безопасном окружении, в котором можно быть уверенным, что вред не будет нанесен.

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

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

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

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

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

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

Фиг.2 иллюстрирует примерный код, связанный со злоумышленной программой;

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

Фиг.4 иллюстрирует примерное вычислительное устройство для реализации процесса, описанного на фиг.3.

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

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

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

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

Фиг.1 иллюстрирует то, как может выглядеть примерная последовательность программных инструкций, создаваемых в официальном инструментальном средстве, в этом примере, Microsoft Visual C++ 6.0. Код, показанный на фиг.1A, является известной и безопасной программой WGET.EXE. Код WGET.EXE является технологически чистым и не имеет бесполезных или нелогичных операций.

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

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

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

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

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

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

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

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

5) Задан или нет некоторый конкретный флаг, который дополнительно не используется, или он установлен независимо еще раз. Например, если сравнение выполняется, и затем другое сравнение выполняется, результат второго сравнения перезаписывает первый результат. Эта инструкция также штрафуется.

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

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

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

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

Определение 314 может выполняться относительно того, имеются или нет дополнительные инструкции для анализа 302. Если имеются дополнительные инструкции в последовательности инструкций, процесс возвращается, чтобы анализировать 302 и сравнивать 304 дополнительные инструкции с критериями подозрительности. После того, как все инструкции проанализированы 302, сравнены 304, и все количественные показатели на уровне инструкций определены 312, общий количественный показатель для программы может быть суммирован 316. Это суммирование 316 может быть просто прибавлением каждого из количественных показателей на уровне инструкций или может включать в себя различные множители на основе числа отдельных критериев, которые нарушает программа. На основе этой суммы 316, программа определяется 318 либо как безопасная, либо как злоумышленная. Это определение 318 может быть основано на сравнении с похожей программой, кодированной посредством официального инструментального средства, к примеру, с кодом, проиллюстрированным на фиг.1. Это определение 318 также может быть основано исключительно на анализе количественного показателя программы и приемлемого порогового значения, установленного посредством анализирующей программы для идентификации вредоносных программ, т.е. если количественный показатель превышает определенное значение, программа идентифицируется как злоумышленная. После идентификации, может создаваться сообщение, указывающее результаты определения 318, и, в зависимости от приложения, дополнительный анализ программы может выполняться.

Фиг.4 иллюстрирует блок-схему примерных внутренних аппаратных средств, которые могут использоваться для того, чтобы содержать или реализовывать программные инструкции, такие как процесс обнаружения вредоносных программ, описанный на фиг.3. Шина 400 может выступать в качестве главной информационной магистрали, соединяющей другие проиллюстрированные компоненты аппаратных средств. CPU 405 может быть центральным процессором системы, выполняющим вычисления и логические операции, требуемые для того, чтобы выполнять программу. Постоянное запоминающее устройство (ROM) 410 и оперативное запоминающее устройство (RAM) 415 могут составлять примерные запоминающие устройства.

Контроллер 420 может взаимодействовать с одним или более необязательных запоминающих устройств 425 для системной шины 400. Эти запоминающие устройства 425 могут включать в себя, например, внешний или внутренний накопитель на DVD, накопитель на CD-ROM, жесткий диск, флэш-память, USB-флэш-память и т.п. Как указано ранее, эти различные накопители и контроллеры являются необязательными устройствами.

Программные инструкции могут сохраняться в ROM 410 и/или RAM 415. Необязательно, программные инструкции могут сохраняться на материальном машиночитаемом носителе, таком как компакт-диск, цифровой диск, флэш-память, карта памяти, USB-флэш-память, носитель хранения данных на оптических дисках, такой как диск Blu-Ray™ и/или другой носитель записи.

Необязательный интерфейс 430 дисплея может разрешать отображение информации из шины 400 на дисплее 435 в аудио-, видео-, графическом или буквенно-цифровом формате. Связь с внешними устройствами может осуществляться с использованием различных портов 440 связи. Примерный порт 440 связи может соединяться с сетью связи, такой как Интернет или сеть intranet.

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

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

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

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

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

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

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

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

6. Способ по п.1, в котором критерии подозрительности содержат определение, имеют ли по меньшей мере две последовательные инструкции идентичный смысл.

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

8. Способ по п.1, в котором критерии подозрительности содержат определение, приводит ли инструкция к значимому циклическому сдвигу данных.

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

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

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

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

13. Способ по п.9, в котором критерии подозрительности содержат определение, имеют ли по меньшей мере две последовательные инструкции идентичный смысл.

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

15. Способ по п.9, в котором критерии подозрительности содержат определение, приводит ли инструкция к значимому циклическому сдвигу данных.

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

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



 

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

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

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

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

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

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

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

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

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

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

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

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

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

Изобретение относится к области антивирусной защиты. Техническим результатом является обеспечение возможности разблокировки компьютера без потери данных и перезагрузки компьютера, повышение эффективности работы антивирусных систем и соответственно повышение безопасности вычислительных систем. Способ обезвреживания вредоносных программ, блокирующих работу компьютера, предполагает использование отдельного устройства активации антивируса, предназначенного для активации пользователем процедуры противодействия вредоносному программному обеспечению и содержащего разъемы для подключения к управляющей шине, контроллер, и блок активации. Запуск процедуры разблокировки и лечения компьютера производят в ответ на полученный сигнал активации от устройства активации антивируса. Причем, упомянутая процедура разблокировки и лечения включает: исследование состояния графической подсистемы ОС, поиск всех созданных окон и рабочих столов, видимых пользователю; анализ всех процессов и потоков, выполнявшихся на компьютере на момент заражения; построение на основании собранных данных привязки каждого упомянутого окна и рабочего стола к конкретному процессу и/или иерархии процессов; анализ полученных данных о процессах и выявление в каждом из них загруженных модулей, участвующих в выполнении процесса; поиск автоматически выполняемых в процессе запуска ОС программ; формирование списка объектов, признанных вредоносными; и изолирование вредоносного объекта, удаление из конфигурационных файлов ОС ссылки на него, и удаление вредоносного процесса, порожденного объектом. 5 з.п. ф-лы, 3 ил.

Изобретение относится к вычислительной технике, а именно к средствам защищенной связи в сети. Технический результат заключается в повышении безопасности передачи данных за счет разделения ключей на сегменты для предварительного распределительного материала создания ключа согласно переменному распределению. Способ относится к защищенной передаче информации из первого узла (N1) во второй узел (N2) сети, причем первый узел содержит материал создания ключа (KM(ID1)) первого узла, второй узел содержит материал создания ключа (KM(ID2)) второго узла, при этом каждый из материала создания ключа первого узла и материала создания ключа второго узла содержит множество совместно используемых частей прародителя ключей, сформированных сегментами совместно используемой части прародителя ключей. Сеть связи, содержащая по меньшей мере два устройства связи, реализует вышеуказанный способ. 3 н. и 10 з.п. ф-лы, 5 ил.

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

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

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

Изобретение относится к области защиты от компьютерных угроз, а именно к средствам анализа событий запуска файлов для определения рейтинга их безопасности. Технический результат настоящего изобретения заключается в снижении времени антивирусной проверки. Назначают рейтинг безопасности, по меньшей мере, одному файлу. Регистрируют инициированный пользователем запуск, по меньшей мере, одного файла. Производят мониторинг событий в операционной системе, в том числе и событий запуска файлов. Сравнивают информацию, по меньшей мере, об одном запущенном в операционной системе файле с информацией, по меньшей мере, об одном файле, запуск которого зарегистрирован. Уменьшают рейтинг безопасности файла, если информация о регистрации его запуска отсутствует, либо увеличивают рейтинг безопасности файла, если информация о регистрации его запуска присутствует. Исключают из антивирусной проверки файлы, рейтинг безопасности которых превышает заданное пороговое значение. 2 н. и 19 з.п. ф-лы, 5 ил.

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

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

Наверх