Оценка процесса для выявления вредоносных программ в виртуальных машинах

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