ДВИЖОК ИНТРОСПЕКЦИИ ПАМЯТИ ДЛЯ ЗАЩИТЫ ЦЕЛОСТНОСТИ ВИРТУАЛЬНЫХ МАШИН

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