СПОСОБЫ, СИСТЕМЫ И МАШИНОЧИТАЕМЫЙ НОСИТЕЛЬ ДЛЯ АКТИВНОГО КОНТРОЛЯ, ЗАЩИТЫ ПАМЯТИ И ПРОВЕРКИ ЦЕЛОСТНОСТИ ЦЕЛЕВЫХ УСТРОЙСТВ

1. Способ для активного контроля, защиты памяти и проверки целостности целевого устройства, причем способ содержит этапы, на которых
инстанцируют виртуальный процессор нормального мира и виртуальный процессор безопасного мира на целевом устройстве;
исполняют целевую операционную систему на виртуальном процессоре нормального мира;
исполняют агент проверки целостности на виртуальном процессоре безопасного мира;
перехватывают виртуальным процессором безопасного мира одну или более заданных операций, которые пытаются исполнить на виртуальном процессоре нормального мира; и
используют агент проверки целостности для определения эффекта выполнения перехваченной операции целевого устройства.
2. Способ по п. 1, в котором перехваченные одна или более заданных операций включают в себя критическую по безопасности операцию, привилегированную инструкцию, инструкцию, исполняемую для отключения или модификации защиты доступа к виртуальной памяти, обеспеченной блоком управления памятью (MMU) виртуального процессора нормального мира, инструкцию, исполняемую для модификации одного или более заданных регистров, ассоциированных с процессором или сопроцессором целевого устройства, инструкцию, исполняемую для модификации кода или критических данных только для чтения, ассоциированных с целевым устройством, инструкцию, исполняемую для модификации контроллера прямого доступа к памяти (DMA), ассоциированных с целевой системой, исключение отказа обычных данных или вызов привилегированного режима, используемый для системных вызовов.
3. Способ по п. 1, в котором перехваченные одна или более заданных операций включают в себя инструкцию, исполняемую для отключения, модификации или подавления агента проверки целостности целевой операционной системы.
4. Способ по п. 1, в котором виртуальный процессор безопасного мира изолирован и защищен от виртуального процессора нормального мира.
5. Способ по п. 1, в котором код и данные виртуального процессора безопасного мира не доступны для виртуального процессора нормального мира.
6. Способ по п. 1, в котором код и данные виртуального процессора нормального мира доступны для виртуального процессора безопасного мира.
7. Способ по п. 1, в котором инстанцирование виртуального процессора нормального мира включает в себя этап, на котором создают карту виртуальной памяти виртуального процессора нормального мира, которая определяет защиту доступа к памяти привилегированных кодовых страниц как "не перезаписываемые".
8. Способ по п. 7, в котором привилегированная кодовая страница включает в себя вектор обработки прерываний или вектор обработки исключений.
9. Способ по п. 7, в котором карта виртуальной памяти виртуального процессора нормального мира определяет защиту доступа к памяти непривилегированных кодовых страниц, как "никогда не исполнять привилегированно (PXN)", так что одной или нескольким непривилегированным кодовым страницам запрещено выполнять привилегированную инструкцию или критическую по безопасности операцию, исполняемую привилегированной кодовой страницей.
10. Способ по п. 1, в котором перехват одной или более заданных операций виртуальным процессором безопасного мира включает в себя переключение контекста исполнения с виртуального процессора нормального мира на виртуальный процессор безопасного мира, так что операция исполняется агентом проверки целостности, выполняющимся в безопасном мире, а не целевой операционной системой, выполняющейся в нормальном мире.
11. Способ по п. 1, содержащий этап, на котором модифицируют целевую операционную систему виртуального процессора нормального мира так, чтобы одна или более заданных операций были заменены вызовами, которые перехватывают виртуальным процессором безопасного мира, и при этом перехват критических по безопасности операций включает в себя перехват попыток записи впривилегированную кодовую страницу.
12. Способ по п. 9, в котором модификация целевой операционной системы виртуального процессора нормального мира включает в себя этап, на котором модифицируют ее исходный код, модифицируют ее исполняемый двоичный код или двоичную трансляцию.
13. Способ по п. 1, содержащий этап, на котором выполняют статическую проверку целостности целевой операционной системы.
14. Способ по п. 1, в котором использование агента проверки целостности для определения эффекта выполнения перехваченной операции целевого устройства включает в себя этап, на котором выполняют действие по недопущению негативных последствий.
15. Система для активного контроля и защиты памяти целевого устройства, причем система выполняет способ по любому из пп. 1-14.