СИСТЕМЫ И СПОСОБЫ ЗАЩИТЫ ОТ ВРЕДОНОСНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ НА ОСНОВЕ НЕЧЕТКОГО ВАЙТЛИСТИНГА

1. Способ, включающий в себя:
выполнение в клиентской компьютерной системе начального сканирования множества целевых объектов клиентской компьютерной системы на наличие вредоносных программ; и
в ответ на предварительное определение начальным сканированием на наличие вредоносных программ подозрительности целевого объекта на вредоносность:
генерацию в клиентской компьютерной системе множества целевых хешей целевых объектов, причем каждый целевой хеш представляет отдельный блок кода целевого объекта, при этом каждый отдельный блок кода содержит последовательность процессорных инструкций целевого объекта;
отправку множества целевых хешей с клиентской компьютерной системы на серверную компьютерную систему, соединенную с клиентской компьютерной системой глобальной вычислительной сетью; и
получение клиентской компьютерной системой от серверной компьютерной системы серверного индикатора, указывающего, является ли целевой объект вредоносным, причем серверный индикатор генерируется серверной компьютерной системой посредством:
получения множества ссылочных хешей ссылочного объекта для по меньшей мере одного целевого хеша из множества целевых хешей, причем ссылочный объект выбирают согласно целевому хешу из набора объектов, занесенных в вайтлист, и, если множество целевых хешей не идентично множеству ссылочных хешей, определения показателя подобия согласно количеству хешей, общих как для множества целевых хешей, так и для множества ссылочных хешей; и,
если показатель подобия превышает заданное пороговое значение, маркирования целевого объекта как невредоносного.
2. Способ по п. 1, в котором генерация серверного индикатора серверной компьютерной системой включает в себя:
если показатель подобия не превышает заданного порогового значения, то генерацию отфильтрованного набора целевых хешей целевого объекта путем фильтрации всех целевых хешей, появляющихся в базе данных чистых хешей, из множества целевых хешей целевого объекта; и
сравнение отфильтрованного набора целевых хешей с базой данных хешей, идентифицирующих вредоносные программы и специфичных для вредоносных программ.
3. Способ по п. 1, в котором генерация серверного индикатора серверной компьютерной системой включает в себя:
если показатель подобия не превышает заданного порогового значения, генерацию отфильтрованного набора целевых хешей целевого объекта путем фильтрации всех целевых хешей, появляющихся в базе данных чистых хешей, из множества целевых хешей целевого объекта; и
сравнение отфильтрованного набора целевых хешей с базой данных хешей детектирования эпидемии, специфичных для неизвестных объектов, сообщения о которых получены в течение заданного промежутка времени от множества отдельных клиентских компьютерных систем, соединенных с серверной компьютерной системой.
4. Способ, включающий в себя:
получение серверной компьютерной системой множества целевых хешей целевого объекта клиентской компьютерной системы, соединенной с серверной компьютерной системой глобальной вычислительной сетью, причем множество целевых хешей генерируют в клиентской компьютерной системе в ответ на предварительное определение клиентской компьютерной системой подозрительности целевого объекта на вредоносность, при этом предварительное определение происходит в результате начального сканирования на наличие вредоносных программ множества целевых объектов клиентской компьютерной системы;
генерацию на серверной компьютерной системе серверного индикатора, указывающего, является ли целевой объект вредоносным, посредством:
получения множества ссылочных хешей ссылочного объекта для по меньшей мере одного целевого хеша из множества целевых хешей, причем ссылочный объект выбирают согласно целевому хешу из набора объектов, занесенных в вайтлист, и, если множество целевых хешей не идентично множеству ссылочных хешей, определения показателя подобия согласно количеству хешей, общих как для множества целевых хешей, так и для множества ссылочных хешей, и
если показатель подобия превышает заданное пороговое значение, маркирования целевого объекта как невредоносного; и
отправку клиентской компьютерной системе серверного индикатора, указывающего, является ли целевой объект вредоносным.
5. Способ по п. 4, в котором генерация серверного индикатора серверной компьютерной системой включает в себя:
если показатель подобия не превышает заданного порогового значения, генерацию отфильтрованного набора целевых хешей целевого объекта путем фильтрации всех целевых хешей, появляющихся в базе данных чистых хешей, из множества целевых хешей целевого объекта;
и сравнение отфильтрованного набора целевых хешей с базой данных хешей, идентифицирующих вредоносные программы и специфичных для вредоносных программ.
6. Способ по п. 4, в котором генерация серверного индикатора серверной компьютерной системой включает в себя:
если показатель подобия не превышает заданного порогового значения, генерацию отфильтрованного набора целевых хешей целевого объекта путем фильтрации всех целевых хешей, появляющихся в базе данных чистых хешей, из множества целевых хешей целевого объекта; и
сравнение отфильтрованного набора целевых хешей с базой данных хешей детектирования эпидемии, специфичных для неизвестных объектов, сообщения о которых получены в течение заданного промежутка времени от множества отдельных клиентских компьютерных систем, соединенных с серверной компьютерной системой.
7. Способ, включающий в себя:
получение в серверной компьютерной системе множества целевых хешей целевого объекта, причем каждый целевой хеш представляет отдельный блок кода целевого объекта, при этом каждый отдельный блок кода содержит последовательность процессорных инструкций целевого объекта;
использование для по меньшей мере одного целевого хеша из множества целевых хешей серверной вычислительной системы для:
получения множества ссылочных хешей ссылочного объекта, причем ссылочный объект выбирают согласно целевому хешу из набора объектов, занесенных в вайтлист, и,
если множество целевых хешей не идентично множеству ссылочных хешей, определения показателя подобия согласно количеству хешей, общих как для множества целевых хешей, так и для множества ссылочных хешей;
и, если показатель подобия превышает заданное пороговое значение, использование серверной вычислительной системы для маркирования целевого объекта как невредоносного.
8. Способ по п. 7, в котором целевой хеш содержит хеш шаблона кода операции, причем шаблон кода операции содержит последовательность индикаторов инструкции, каждый из которых указывает на процессорную инструкцию отдельного блока кода.
9. Способ по п. 7, в котором последовательность процессорных инструкций содержит от 5 до 50 идущих подряд процессорных инструкций.
10. Способ по п. 9, в котором последовательность процессорных инструкций содержит от 5 до 15 идущих подряд процессорных инструкций.
11. Способ по п. 7, в котором последовательность процессорных инструкций начинается с инструкции CALL.
12. Способ по п. 7, дополнительно включающий в себя:
выполнение процедуры нормализации кода для целевого объекта для создания нормализованного целевого объекта, причем каждый отдельный блок кода содержит последовательность машинных команд нормализованного целевого объекта; и
применение к отдельному блоку кода хеширующей функции для создания целевого хеша.
13. Способ по п. 7, в котором показатель подобия определяют в виде функции
T
R
C/max(N, N),
T
R
где С обозначает количество хешей, общих как для множества целевых хешей, так и для множества ссылочных хешей, a Ν и N обозначают соответственно количество элементов множества целевых хешей и количество элементов множества ссылочных хешей.
14. Способ по п. 7, в котором показатель подобия определяют в виде функции
T
R
C/(N+N),
T
R
где С обозначает количество хешей, общих как для множества целевых хешей, так и для множества ссылочных хешей, a Ν и N обозначают соответственно количество элементов множества целевых хешей и количество элементов множества ссылочных хешей.
15. Способ по п. 7, в котором показатель подобия определяют в виде функции
T
R
C/N+C/N,
T
R
где С обозначает количество хешей, общих как для множества целевых хешей, так и для множества ссылочных хешей, a Ν и N обозначают соответственно количество элементов множества целевых хешей и количество элементов множества ссылочных хешей.
16. Способ по п. 7, в котором целевой объект представляет собой компьютерный файл.
17. Способ по п. 7, в котором целевой объект представляет собой компьютерный процесс.
18. Компьютерная система, содержащая по меньшей мере процессор, запрограммированный для:
получения множества целевых хешей, причем каждый целевой хеш представляет отдельный блок кода целевого объекта, при этом каждый отдельный блок кода содержит последовательность процессорных инструкций целевого объекта;
для по меньшей мере одного целевого хеша из множества целевых хешей:
получения множества ссылочных хешей ссылочного объекта, причем ссылочный объект выбирают согласно целевому хешу из набора объектов, занесенных в вайтлист, и
если множество целевых хешей не идентично множеству ссылочных хешей, определения показателя подобия согласно количеству хешей, общих как для множества целевых хешей, так и для множества ссылочных хешей; и
если показатель подобия превышает заданное пороговое значение, маркирования целевого объекта как невредоносного.
19. Система по п. 18, в которой целевой хеш содержит хеш шаблона кода операции, причем шаблон кода операции содержит последовательность индикаторов инструкции, каждый из которых указывает на процессорную инструкцию отдельного блока кода.
20. Система по п. 18, в которой последовательность процессорных инструкций содержит от 5 до 50 идущих подряд процессорных инструкций.
21. Система по п. 20, в которой последовательность процессорных инструкций содержит от 5 до 15 идущих подряд процессорных инструкций.
22. Система по п. 18, в которой последовательность процессорных инструкций начинается с инструкции CALL.
23. Система по п. 18, в которой процессор дополнительно запрограммирован для:
выполнения процедуры нормализации кода для целевого объекта для создания нормализованного целевого объекта, причем каждый отдельный блок кода содержит последовательность машинных команд нормализованного целевого объекта; и
применения хеширующей функции к отдельному блоку кода для создания целевого хеша.
24. Система по п. 18, в которой показатель подобия определяется в виде функции
T
R
C/max(N, N),
T
R
где С обозначает количество хешей, общих как для множества целевых хешей, так и для множества ссылочных хешей, а Ν и N обозначают соответственно количество элементов множества целевых хешей и количество элементов множества ссылочных хешей.
25. Система по п. 18, в которой показатель подобия определяется в виде функции
T
R
C/(N+N),
T
R
где С обозначает количество хешей, общих как для множества целевых хешей, так и для множества ссылочных хешей, а Ν и N обозначают соответственно количество элементов множества целевых хешей и количество элементов множества ссылочных хешей.
26. Система по п. 18, в которой показатель подобия определяется в виде функции
T
R
C/Ν+C/N,
T
R
где С обозначает количество хешей, общих как для множества целевых хешей, так и для множества ссылочных хешей, а Ν и N обозначают соответственно количество элементов множества целевых хешей и количество элементов множества ссылочных хешей.
27. Система по п. 18, в которой целевой объект представляет собой компьютерный файл.
28. Система по п. 18, в которой целевой объект представляет собой компьютерный процесс.
29. Компьютерная система, содержащая:
средство для получения множества целевых хешей, причем каждый целевой хеш представляет отдельный блок кода целевого объекта, при этом каждый отдельный блок кода содержит последовательность процессорных инструкций целевого объекта;
средство для получения множества ссылочных хешей ссылочного объекта, причем ссылочный объект выбирают согласно выбранному целевому хешу множества целевых хешей из набора объектов, занесенных в вайтлист;
средство для определения показателя подобия согласно количеству хешей, общих как для множества целевых хешей, так и для множества ссылочных хешей; и
средство для маркирования целевого объекта как невредоносного согласно показателю подобия.
30. Постоянный машиночитаемый носитель данных, кодирующий инструкции, которые при их выполнении в процессоре обеспечивают выполнение процессором следующих этапов:
получение множества целевых хешей, причем каждый целевой хеш представляет отдельный блок кода целевого объекта, при этом каждый отдельный блок кода содержит последовательность процессорных инструкций целевого объекта;
для по меньшей мере одного целевого хеша из множества целевых хешей:
получение множества ссылочных хешей ссылочного объекта, причем ссылочный объект выбирают согласно целевому хешу из набора объектов, занесенных в вайтлист, и
если множество целевых хешей не идентично множеству ссылочных хешей, то определение показателя подобия согласно количеству хешей, общих как для множества целевых хешей, так и для множества ссылочных хешей; и,
если показатель подобия превышает заданное пороговое значение, маркирование целевого объекта как невредоносного.
31. Способ, включающий в себя:
получение в серверной компьютерной системе множества целевых хешей, причем каждый целевой хеш представляет отдельный блок данных целевого объекта клиентской компьютерной системы, соединенной с серверной компьютерной системой, при этом каждый отдельный блок кода содержит последовательность процессорных инструкций целевого объекта;
использование в ответ на получение множества целевых хешей серверной компьютерной системы для получения множества ссылочных хешей, представляющих объект данных, занесенный в вайтлист; и
маркирование целевого объекта как невредоносного в ответ на определение неидентичности множества целевых хешей множеству ссылочных хешей, а также в ответ на определение совместного использования большинства элементов множеством целевых хешей и множеством ссылочных хешей.