СИСТЕМА И СПОСОБ ДЛЯ ОБНАРУЖЕНИЯ ВРЕДОНОСНЫХ ПРОГРАММ

1. Способ автоматической идентификации вредоносных программ, содержащий этапы, на которых:
принимают, посредством базы знаний экспертной системы, последовательность на языке ассемблера из двоичного файла;
идентифицируют последовательность инструкций из принимаемой последовательности на языке ассемблера;
классифицируют, посредством базы знаний экспертной системы, последовательность инструкций как угрожающую, неугрожающую или не поддающуюся классификации посредством применения одного или более правил базы знаний экспертной системы к последовательности инструкций;
если последовательность инструкций классифицирована как угрожающая, передают информацию в компонент анализа кода, при этом данная информация содержит одно или более из следующего:
последовательность инструкций,
метка, содержащая индикатор того, что последовательность инструкций является угрожающей, и
запрос на выполнение поиска в одной или более других последовательностях на языке ассемблера из двоичного файла на предмет, по меньшей мере, части последовательности инструкций; и
уведомляют пользователя о том, что двоичный файл включает в себя вредоносные программы.
2. Способ по п.1, в котором при применении одного или более правил применяют одно или более правил, написанных на языке интегрированной продукционной системы на языке C.
3. Способ по п.1, в котором классификация последовательности инструкций содержит один или более из следующих этапов, на которых:
применяют одно или более правил к последовательности инструкций, чтобы определять, является или нет структура двоичного файла для двоичного файла надлежащей;
применяют одну или более операций определения программ-червей, чтобы определять, содержит или нет последовательность инструкций одну или более инструкций, которые реплицируют последовательность на языке ассемблера;
применяют одну или более операций определения программ типа "троянский конь", чтобы определять, содержит или нет последовательность инструкций одну или более инструкций, ассоциированных с одной или более программами типа "троянский конь"; и
применяют одну или более операций определения вирусов, чтобы определять, содержит или нет последовательность инструкций одну или более самореплицируемых инструкций.
4. Способ по п.1, в котором при применении одного или более правил:
применяют набор предварительных правил к последовательности инструкций, при этом набор предварительных правил содержит множество предварительных правил, причем каждое предварительное правило ассоциировано с приоритетом относительно других предварительных правил в наборе.
5. Способ по п.4, в котором при применении набора предварительных правил применяют предварительные правила к последовательности инструкций, в порядке приоритета, до тех пор, пока последовательность инструкций не классифицирована или каждое предварительное правило не применено.
6. Способ по п.4, в котором при применении набора предварительных правил ранжируют предварительные правила посредством предоставления приоритета правилам, имеющим более высокое число совпадений с последовательностью инструкций.
7. Способ по п.1, в котором при классификации последовательности инструкций классифицируют последовательность инструкций как угрожающую, если последовательность инструкций не может проходиться от начала до конца.
8. Способ по п.1, в котором классификация последовательности инструкций содержит, для каждого узла в последовательности инструкций, этапы, на которых:
проходят по узлу;
определяют, выполнялось или нет прохождение по узлу ранее; и
если да, классифицируют последовательность инструкций как угрожающую.
9. Способ по п.1, в котором при классификации последовательности инструкций классифицируют последовательность инструкций как угрожающую, если она включает в себя одно или более из следующего:
процедуры шифрования;
процедуры расшифровки; и
одна или более инструкций для репликации, по меньшей мере, части последовательности инструкций.
10. Способ автоматической идентификации вредоносных программ, содержащий этапы, на которых:
принимают, посредством базы знаний экспертной системы, последовательность на языке ассемблера из двоичного файла;
идентифицируют последовательность инструкций из принимаемой последовательности на языке ассемблера;
классифицируют, посредством базы знаний экспертной системы, последовательность инструкций как угрожающую, неугрожающую или не поддающуюся классификации посредством применения одного или более правил базы знаний экспертной системы к последовательности инструкций;
если последовательность инструкций классифицирована как неугрожающая, передают информацию в компонент анализа кода, при этом данная информация содержит одно или более из следующего:
последовательность инструкций, и
метка, содержащая индикатор того, что последовательность инструкций является неугрожающей; и
запрашивают вторую последовательность инструкций.
11. Способ по п.10, в котором при классификации последовательности инструкций классифицируют последовательность инструкций как неугрожающую, если экспертная система полностью проходит по последовательности инструкций.
12. Способ автоматической идентификации вредоносных программ, содержащий этапы, на которых:
принимают, посредством базы знаний экспертной системы, последовательность на языке ассемблера из двоичного файла;
идентифицируют последовательность инструкций из принимаемой последовательности на языке ассемблера;
классифицируют, посредством базы знаний экспертной системы, последовательность инструкций как угрожающую, неугрожающую или не поддающуюся классификации посредством применения одного или более правил экспертной системы к последовательности инструкций; и
если последовательность инструкций классифицирована как не поддающаяся классификации:
передают запрос в компонент анализа кода на предмет повторного анализа последовательности на языке ассемблера,
принимают новую последовательность инструкций, соответствующую повторно проанализированной последовательности на языке ассемблера, и
классифицируют новую последовательность инструкций как угрожающую, неугрожающую или не поддающуюся классификации.
13. Способ автоматической идентификации вредоносных программ, содержащий этапы, на которых:
анализируют, посредством компонента анализа кода, двоичный файл, чтобы формировать последовательность на языке ассемблера и соответствующую последовательность инструкций;
передают последовательность инструкций в базу знаний экспертной системы;
принимают, из базы знаний экспертной системы, информацию классификации, ассоциированную с последовательностью инструкций;
если информация классификации идентифицирует последовательность инструкций как угрожающую:
идентифицируют одну или более других последовательностей на языке ассемблера из двоичного файла, которые содержат, по меньшей мере, часть последовательности инструкций, и
передают, по меньшей мере, одну из идентифицированных последовательностей на языке ассемблера в базу знаний экспертной системы;
если информация классификации идентифицирует последовательность инструкций как неугрожающую, передают вторую последовательность инструкций в базу знаний экспертной системы; и
если информация классификации идентифицирует последовательность инструкций как не поддающуюся классификации:
повторно анализируют последовательность на языке ассемблера, чтобы формировать новую последовательность инструкций, и
передают новую последовательность инструкций в базу знаний экспертной системы.
14. Способ по п.13, в котором анализ двоичного файла содержит один или более из этапов, на которых статически анализируют двоичный файл и динамически анализируют двоичный файл.
15. Система для автоматической идентификации вредоносных программ, содержащая:
компонент анализа кода, выполненный с возможностью идентифицировать последовательность на языке ассемблера из двоичного файла, при этом последовательность на языке ассемблера содержит одну или более последовательностей инструкций; и
базу знаний экспертной системы, поддерживающую связь с компонентом анализа кода, при этом база знаний экспертной системы выполнена с возможностью классифицировать последовательность инструкций как угрожающую, неугрожающую или не поддающуюся классификации с использованием одного или более правил.
16. Система по п.15, дополнительно содержащая компонент логики соединителя, поддерживающий связь с компонентом анализа кода и базой знаний экспертной системы, при этом компонент логики соединителя выполнен с возможностью обеспечивать связь между компонентом анализа кода и базой знаний экспертной системы.
17. Система по п.16, в которой компонент логики соединителя выполнен с возможностью выполнять одно или более из следующего:
преобразовывать последовательность инструкций в формат, который может обрабатывать база знаний экспертной системы; и
преобразовывать информацию, принимаемую из базы знаний экспертной системы, в формат, который может обрабатывать компонент анализа кода.
18. Система по п.15, в которой база знаний экспертной системы заполняется посредством одного или более из следующего:
правила интегрированной продукционной системы на языке C;
структуры двоичных файлов;
операции определения программ-червей;
операции определения программ типа "троянский конь"; и
операции определения вирусов.
19. Система по п.15, в которой база знаний экспертной системы выполнена с возможностью классифицировать последовательность инструкций посредством одного или более из следующего:
применение одного или более правил к последовательности инструкций, чтобы определять, является или нет структура двоичного файла для двоичного файла надлежащей;
применение одной или более операций определения программ-червей, чтобы определять, содержит или нет последовательность инструкций одну или более инструкций, которые реплицируют последовательность на языке ассемблера;
применение одной или более операций определения программ типа "троянский конь", чтобы определять, содержит или нет последовательность инструкций одну или более инструкций, ассоциированных с одной или более программами типа "троянский конь"; и
применение одной или более операций определения вирусов, чтобы определять, содержит или нет последовательность инструкций одну или более самореплицируемых инструкций.
20. Система по п.15, в которой база знаний экспертной системы выполнена с возможностью применять набор предварительных правил к последовательности инструкций, при этом набор предварительных правил содержит множество предварительных правил, причем каждое предварительное правило ассоциировано с приоритетом относительно других предварительных правил в наборе.
21. Система по п.20, в которой база знаний экспертной системы дополнительно выполнена с возможностью применять предварительные правила к последовательности инструкций, в порядке приоритета, до тех пор, пока последовательность инструкций не классифицирована или каждое предварительное правило не применено.
22. Система по п.20, в которой база знаний экспертной системы дополнительно выполнена с возможностью ранжировать предварительные правила посредством предоставления приоритета правилам, имеющим более высокое число совпадений с последовательностью инструкций.