АГЕНТЫ ЗАЩИТЫ И ПРИВИЛЕГИРОВАННЫЕ РЕЖИМЫ

1. Один или более машиночитаемых носителей, имеющих машиночитаемые инструкции, которые, когда выполняются посредством вычислительного устройства (102), инструктируют вычислительному устройству (102) осуществлять действия, содержащие:
прием (902), в мониторе (108) виртуальной машины, запроса на то, чтобы диапазон памяти (206, 306) стал неизменяемым или недоступным из привилегированного режима (126) операционной системы;
задание (904) диапазона памяти (206, 306) неизменяемым или недоступным из привилегированного режима (126) операционной системы; и
выполнение (908) агента (144) защиты, который постоянно размещается в диапазоне памяти (206, 306).
2. Носитель по п.1, дополнительно содержащий настройку (904) таймера так, чтобы запускать агент (144) защиты.
3. Носитель по п.2, в котором таймер инструктирует монитору (108) виртуальной машины запускать агент (144) защиты с регулярными интервалами.
4. Носитель по п.1, в котором агент (144) защиты выполнен с возможностью принимать (906) политику принудительной защиты, описывающую один или более ресурсов (120), доступных из привилегированного режима (126) операционной системы, и, в ответ на прием политики принудительной защиты, определять (910), изменялись ли один или более из одного или более ресурсов (120).
5. Носитель по п.4, дополнительно содержащий инструкции завершения работы (912) операционной системы (114), ассоциативно связанной с привилегированным режимом (126) операционной системы, в ответ на определение посредством агента (144) защиты того, что один или более из одного или более ресурсов (120) изменялся.
6. Носитель по п.4, в котором один или более ресурсов (120) включают в себя таблицу диспетчеризации системных служб (SSDT), таблицу диспетчеризации прерываний (IDT) или таблицу глобальных дескрипторов (GDT).
7. Носитель по п.1, дополнительно содержащий прием (914), в мониторе (108) виртуальной машины и после запуска (908) агента (144) защиты, уведомления о том, что агент (144) защиты завершил выполнение.
8. Носитель по п.1, дополнительно содержащий завершение работы операционной системы (114), ассоциативно связанной с привилегированным режимом (126) операционной системы, в ответ на попытку получения доступа, из привилегированного режима (126) операционной системы, к диапазону памяти (206, 306) или агенту (144) защиты.
9. Носитель по п.1, дополнительно содержащий чередование (916) между запуском (908) агента (144) защиты и незапуском агента (144) защиты, так что, по меньшей мере, когда агент (144) защиты запущен, он является неизменяемым или недоступным из привилегированного режима (126) операционной системы.
10. Способ, содержащий этапы, на которых:
виртуализируют (1002) один или более реальных вычислительных процессоров (104(a), 104(b)) в виртуальные вычислительные процессоры (506, 508, 510), причем виртуальные вычислительные процессоры (506, 508, 510) содержат:
один или более виртуальных процессоров (506, 508) операционной системы, каждый из которых имеет привилегию изменять собственную память операционной системы и использовать часть производительности (600) обработки одного или более реальных вычислительных процессоров (104(a), 104(b)); и
по меньшей мере, один виртуальный процессор (510) агента защиты, имеющий привилегию изменять собственную память агента защиты и использовать другую часть производительности (600) обработки одного или более реальных вычислительных процессоров (104(a), 104(b)); и
инструктируют (1004) виртуальному процессору (510) агента защиты фактически выполнять агент (144) защиты, чтобы определять то, изменялась ли часть упомянутой памяти операционной системы.
11. Способ по п.10, дополнительно содержащий этапы, на которых:
принимают (1006) индикатор того, что агент (144) защиты определил, что часть упомянутой памяти операционной системы изменялась; и
в ответ на прием индикатора, завершают работу (1008) соответствующей операционной системы (114).
12. Способ по п.10, в котором один или более виртуальных процессоров (506, 508) операционной системы неспособны к изменению памяти агента защиты.
13. Способ по п.10, в котором инструктирование (1004) виртуальному процессору (510) агента защиты выполнять агент (144) защиты содержит этап, на котором инструктируют виртуальному процессору (510) агента защиты выполнять агент (144) защиты с указанными интервалами времени.
14. Способ по п.10, в котором виртуальный процессор (510) агента защиты выделен только для выполнения агента (144) защиты.
15. Способ по п.10, в котором виртуальный процессор (510) агента защиты диспетчеризуется посредством монитора (108) виртуальной машины и является прозрачным для операционной системы (114), ассоциативно связанной с упомянутой памятью операционной системы.
16. Один или более машиночитаемых носителей, имеющих машиночитаемые инструкции, которые, когда выполняются посредством вычислительного устройства (102), содержащего базовый физический процессор (104), который включает в себя один или более привилегированных режимов, инструктируют вычислительному устройству (102) добавлять (1104) привилегированный режим, который отсутствует в базовом физическом процессоре (104).
17. Носитель по п.16, в котором режим с дополнительными привилегиями допускает изменение части памяти вычислительного устройства (102), которая отличается от части памяти, которая является изменяемой посредством одного или более привилегированных режимов, которые первоначально присутствуют в базовом физическом процессоре (104).
18. Носитель по п.16, в котором один или более привилегированных режимов, первоначально присутствующих в базовом физическом процессоре (102), включают в себя пользовательский привилегированный режим (128) и привилегированный режим (126) операционной системы и в котором режим с дополнительными привилегиями имеет больше привилегий, чем как пользовательский привилегированный режим (128), так и привилегированный режим (126) операционной системы.
19. Носитель по п.16, в котором один или более привилегированных режимов, первоначально присутствующих в базовом физическом процессоре (104), включают в себя пользовательский привилегированный режим (128) и привилегированный режим (126) операционной системы, и в котором режим с дополнительными привилегиями имеет больше привилегий, чем пользовательский привилегированный режим (128), но меньше привилегий, чем режим (126) операционной системы.
20. Носитель по п.16, в котором один или более привилегированных режимов, первоначально присутствующих в базовом физическом процессоре, включают в себя привилегированный режим (126) операционной системы, и в котором добавление (1104) привилегированного режима содержит вызов монитора (108) виртуальной машины, чтобы запрашивать то, чтобы диапазон памяти (206, 306), ассоциативно связанный с агентом (144) защиты, стал неизменяемым или недоступным из привилегированного режима (126) операционной системы.