RU2615664C2 - Способы, системы и машиночитаемый носитель для активного контроля, защиты памяти и проверки целостности целевых устройств - Google Patents

Способы, системы и машиночитаемый носитель для активного контроля, защиты памяти и проверки целостности целевых устройств Download PDF

Info

Publication number
RU2615664C2
RU2615664C2 RU2015107219A RU2015107219A RU2615664C2 RU 2615664 C2 RU2615664 C2 RU 2615664C2 RU 2015107219 A RU2015107219 A RU 2015107219A RU 2015107219 A RU2015107219 A RU 2015107219A RU 2615664 C2 RU2615664 C2 RU 2615664C2
Authority
RU
Russia
Prior art keywords
virtual processor
world
safe
normal
virtual
Prior art date
Application number
RU2015107219A
Other languages
English (en)
Other versions
RU2015107219A (ru
Inventor
Ахмед АЗАБ
Пэн НИН
Original Assignee
Норт Каролина Стейт Юниверсити
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Норт Каролина Стейт Юниверсити filed Critical Норт Каролина Стейт Юниверсити
Publication of RU2015107219A publication Critical patent/RU2015107219A/ru
Application granted granted Critical
Publication of RU2615664C2 publication Critical patent/RU2615664C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Abstract

Раскрыты способы, системы и машиночитаемые носители для проверки целостности целевого устройства. Технический результат заключается в защите памяти и проверке целостности целевых устройств. Указанный результат достигается за счет применения системы, в которой реализован способ, предусматривающий выполнение этапов, на которых: инстанцируют виртуальный процессор нормального мира и виртуальный процессор безопасного мира на целевом устройстве; исполняют целевую операционную систему на виртуальном процессоре нормального мира; исполняют агент проверки целостности на виртуальном процессоре безопасного мира; перехватывают виртуальным процессором безопасного мира одну или более заданных операций, которые пытаются исполнить на виртуальном процессоре нормального мира; и используют агент проверки целостности для определения эффекта выполнения перехваченной операции целевого устройства. 2 н. и 13 з.п. ф-лы, 2 ил.

Description

Притязание на приоритет
Эта заявки испрашивает приоритет предварительной патентной заявки США №61/679305, поданной 3 августа 2012, раскрытие которой включено здесь по ссылке в полном объеме.
Государственный интерес
Это изобретение было сделано при поддержке грантов №0910767, выданного Национальным научным фондом, W911NF-08-1-0105 и 528787, выданных Исследовательским управлением армии США. Правительство имеет определенные права на это изобретение.
Область техники, к которой относится изобретение
Объект изобретения, описанный здесь, относится к безопасности компьютерных систем. В частности, объект изобретения, описанный здесь, относится к способам, системам, и машиночитаемому носителю для активного контроля, защиты памяти и проверки целостности целевых устройств.
Уровень техники
Ущерб и потери, вызванные атаками и нарушениями защиты, привлекли внимание к разработке безопасных и надежных систем для вычислительных платформ, в том числе мобильных и встроенных систем.
Компьютерные атаки и нарушения защиты могут серьезно влиять на целевые устройства путем выполнения несанкционированной модификации ядра или критических программ операционной системы (OS), таких как пользовательские процессы или демоны управления системой, которые выполняются в целевой системе. В частности, модификация ядра OS может позволить злоумышленникам иметь неограниченный доступ ко всей системе.
Эти проблемы порождают необходимость в разработке нестандартных решений, которые хорошо изолированы от выполняющейся OS, но тем не менее способны активно контролировать целевую систему, в том числе ядро, и обеспечивать необходимую защиту памяти, чтобы гарантировать ее целостность.
Сущность изобретения
Раскрыты способы, системы и машиночитаемые носители для активного контроля, защиты памяти и проверки целостности программного обеспечения, которое исполняется на целевом устройстве. В соответствии с одним способом виртуальный процессор нормального мира и виртуальный процессор безопасного мира инстанцируются на целевом устройстве. Целевая операционная система исполняется на виртуальном процессоре нормального мира. Агент проверки целостности исполняется на виртуальном процессоре безопасного мира. Заранее определенные операции, которые пытаются исполнить на виртуальном процессоре нормального мира, перехватываются виртуальным процессором безопасного мира. Агент проверки целостности используется для определения эффекта выполнения захваченных операций на целевом устройстве.
Способ, в котором использование агента проверки целостности для определения эффекта выполнения перехваченной операции целевого устройства включает в себя выполнение действия по недопущению негативных последствий. Способ, в котором действие по недопущению негативных последствий включает в себя отказ исполнения перехваченной операции, выдачу предупреждения безопасности или выключение целевого устройства.
Способ, в котором агент проверки целостности использует политику безопасности, и в котором выполнение действия по недопущению негативных последствий происходит в ответ на перехваченную операцию, выполняемую для нарушения политики безопасности.
Способ, в котором целевое устройство включает в себя вычислительную платформу, смартфон, PDA, планшетный компьютер, или встроенную систему.
В соответствии с одной системой, система включает в себя виртуальный процессор нормального мира и виртуальный процессор безопасного мира, выполненные с возможностью исполнения на целевом устройстве. Система также включает в себя агент проверки целостности, выполненный с возможностью исполнения на виртуальном процессоре безопасного мира. Система дополнительно включает в себя целевую операционную систему, которая исполняется на виртуальном процессоре нормального мира. Виртуальный процессор нормального мира выполнен с возможностью перехватывать одну или более заданных операций, которые пытаются исполнить на виртуальном процессоре нормального мира. Виртуальный процессор безопасного мира выполнен с возможностью использовать агент проверки целостности для определения эффекта выполнения захваченных операций на целевом устройстве.
Система, в которой захваченные одна или более заданных операций включают в себя критическую по безопасности операцию, привилегированную инструкцию, инструкцию, исполняемую для отключения или модификации защиты доступа к виртуальной памяти, обеспеченной блоком управления памятью (MMU) виртуального процессора нормального мира, инструкцию, исполняемую для модификации одного или более заданных регистров, связанных с процессором или сопроцессором целевого устройства, инструкцию, исполняемую для модификации кода или критических данных только для чтения, связанных с целевым устройством, инструкцию, исполняемую для модификации контроллера прямого доступа к памяти (DMA), связанного с целевой системой, исключение отказа обычных данных или вызов привилегированного режима, используемый для системных вызовов.
Система, в которой перехваченные одна или более заданных операций включают в себя инструкцию, исполняемую для отключения, модификации или подавления агента проверки целостности целевой операционной системы.
Система, в которой виртуальный процессор безопасного мира изолирован и защищен от виртуального процессора нормального мира.
Система, в которой код и данные виртуального процессора безопасного мира не доступны для виртуального процессора нормального мира.
Система, в которой код и данные виртуального процессора нормального мира доступны для виртуального процессора безопасного мира.
Система, в которой целевая операционная система выполнена с возможностью создавать карту виртуальной памяти виртуального процессора нормального мира, которая определяет защиту доступа к памяти привилегированных кодовых страниц как "не перезаписываемые". Система, в которой привилегированная кодовая страница включает в себя вектор обработки прерываний или вектор обработки исключений. Система, в которой карта виртуальной памяти виртуального процессора нормального мира выполнена с возможностью определять защиту доступа к памяти непривилегированных кодовых страниц как "никогда не исполнять привилегированно (PXN)", так что одной или нескольким непривилегированным кодовым страницам запрещено выполнять привилегированную инструкцию или критическую по безопасности операцию, исполняемую привилегированной кодовой страницей.
Система, в которой целевая операционная система выполнена с возможностью перехватывать одну или более заданных операций виртуальным процессором безопасного мира путем переключения контекста исполнения с виртуального процессора нормального мира на виртуальный процессор безопасного мира, так что операция исполняется агентом проверки целостности, выполняющимся в безопасном мире, а не целевой операционной системой, выполняющейся в нормальном мире.
Система, в которой целевая операционная система модифицирована так, чтобы одна или более заданных операций были заменены вызовами, которые перехватывают виртуальным процессором безопасного мира, и при этом перехват критических по безопасности операций включает в себя перехват попыток записи в привилегированную кодовую страницу. Система, в которой целевая операционная система модифицирована путем модификации ее исходного кода, модификации ее исполняемого двоичного кода или двоичной трансляции.
Система, выполняющая статическую проверку целостности целевой операционной система, дополнительно содержит.
Система, в которой агент проверки целостности выполнен с возможностью выполнять действие по недопущению негативных последствий. Система, в которой действие по недопущению негативных последствий включает в себя отказ исполнения перехваченной операции, выдачу предупреждения безопасности или выключение целевого устройства. Система, в которой агент проверки целостности использует политику безопасности, и в которой выполнение действия по недопущению негативных последствий происходит в ответ на перехваченную операцию, выполняемую для нарушения политики безопасности.
Система, в которой целевое устройство включает в себя вычислительную платформу, смартфон, PDA, планшетный компьютер, или встроенную систему.
В соответствии с долговременный машиночитаемым носителем, носитель хранит на нем исполнимые команды, которые при исполнении процессором компьютера управляют компьютером для выполнения этапов, на которых: инстанцируют виртуальный процессор нормального мира и виртуальный процессор безопасного мира на целевом устройстве; исполняют целевую операционную системы на виртуальном процессоре нормального мира; исполняют агент проверки целостности на виртуальном процессоре безопасного мира; перехватывают виртуальным процессором безопасного мира одну или более заданных операций, которые пытаются исполнить на виртуальном процессоре нормального мира; и используют агент проверки целостности для определения эффекта выполнения перехваченной операции целевого устройства.
Объект изобретения, описанный здесь, для активного контроля, защиты памяти и проверки целостности целевых устройств может быть реализован в аппаратных средствах, программном обеспечении, встроенном микропрограммном обеспечении или любой их комбинации. Также, термины «функция» или «модуль», как они используются здесь, относятся к аппаратным средствам, программному обеспечению и/или встроенному микропрограммному обеспечению для реализации описываемой функциональной возможности. В одном иллюстративном варианте осуществления объект изобретения, описанный здесь, может быть реализован с использованием машиночитаемого носителя, хранящего на нем компьютерные исполнимые команды, которые при исполнении процессором компьютера управляют компьютером для выполнения этапов. Иллюстративные машиночитаемые носители, подходящие для реализации объекта изобретения, описанного здесь, включают в себя постоянные машиночитаемые носители, такие как устройства памяти на дисках, запоминающие устройства на интегральных схемах, программируемые логические устройства и специализированные интегральные схемы. Кроме того, машиночитаемый носитель, который реализует объект изобретения, описанный здесь, может быть расположен на одном устройстве или вычислительной платформе или может быть распределен по нескольким устройствам или вычислительным платформам.
Краткое описание чертежей
Теперь объект изобретения, описанный здесь, будет объяснен со ссылкой на прилагаемые чертежи, на которых:
фигура 1 является блок-схемой типового кодирования инструкции MCR; и
фигура 2 является блок-схемой системы для активного контроля и обработки памяти целевого устройства в соответствии с вариантом осуществления объекта изобретения, описанного здесь.
Осуществление изобретения
У нас есть новые методики и механизмы, которые могут решить эти проблемы. Аспекты объекта изобретения, описанного здесь, могут обеспечить основанную на аппаратных средствах изоляцию между виртуальным процессором нормального мира и нормальным процессором безопасного мира. Некоторые процессорные архитектуры, например, архитектура ARM, обеспеченная компанией ARM Holdings plc, обеспечивает такую изоляцию. В ARM эта функциональная возможность известна как технология ARM TrustZone. Технология ARM TrustZone позволяет основанной на аппаратных средствах изоляции разделять исполнение кода на одном физическом ядре процессора на два мира, «безопасный мир» и «нормальный мир» (или «небезопасный мир»). Безопасный мир предназначен для операций, требующих особых мер обеспечения безопасности, в то время как нормальный мир предназначен для других операций.
В некоторых вариантах осуществления мы размещаем целевую операционную систему, которая должна быть защищена, в нормальном мире, а наши проверенные компоненты в безопасном мире. Это размещение может быть реализовано на множестве архитектур. Хотя некоторые аспекты объекта изобретения, описанного здесь, используют архитектуру ARM TrustZone, следует иметь в виду, что способы и методики, описанные здесь, могут быть реализованы на других процессорных архитектурах, известных сейчас или тех, которые могут быть разработаны в будущем.
Целевая операционная система в принципе может быть любой операционной системой, такой как Android, встроенный Linux, NetBSD или любой другой OS, известной сейчас или той, которая может быть разработана в будущем. В некоторых вариантах осуществления целевая операционная система может включать в себя ядро, которое ответственно за управление ресурсами устройства. В некоторых вариантах осуществления код ядра ОС может исполняться в «привилегированном режиме», и ему может быть позволено исполнять привилегированные инструкции и критические по безопасности операции.
В некоторых вариантах осуществления целевое устройство может иметь несколько пользовательских процессов и/или демонов, которые исполняются в непривилегированном «пользовательском режиме», и им может быть не позволено исполнять привилегированные инструкции и критические по безопасности операции.
В некоторых вариантах осуществления одна или более заданных операций, таких как критические по безопасности операции и привилегированные инструкции, которые пытаются исполнить на виртуальном процессоре нормального мира, перехватываются виртуальным процессором безопасного мира. Например, перехват критической по безопасности операции или привилегированной инструкции может включать в себя переключение контекста исполнения с виртуального процессора нормального мира на виртуальный процессор безопасного мира. В этом примере критическая по безопасности операция или привилегированная инструкция могут быть исполнены агентом проверки целостности, выполняющимся в безопасном мире, а не целевой операционной системой, выполняющейся в нормальном мире.
В некоторых вариантах осуществления агент проверки целостности может использоваться для определения эффекта исполнения перехваченных операций на целевом устройстве.
В некоторых вариантах осуществления целевая ОС, выполняющаяся на виртуальном процессоре нормального мира, может быть модифицирована так, чтобы она не могла выполнять заранее определенные критические по безопасности операции или привилегированные инструкции без перехвата заданных операций или инструкций агентом проверки целостности, выполняющимся на виртуальном процессоре безопасного мира. Например, ядро целевой операционной системы может быть модифицировано так, чтобы все привилегированные инструкции были удалены из его исполняемого двоичного кода. Например, инструкции с привилегиями по безопасности включают в себя, но не ограничиваются только этим, инструкции, которые управляют блоком управления памятью (MMU) целевого устройства.
В некоторых вариантах осуществления модифицированный исполняемый двоичный код может быть отмечен как код только для чтения, чтобы избежать потенциально вредоносных модификаций, например, несанкционированной инструкции добавить привилегированные инструкции обратно в двоичных код.
В некоторых вариантах осуществления способ в соответствии с аспектами объекта изобретения, описанного здесь, может включать в себя то, что непривилегированные программы (например, пользовательские процессы) целевой операционной системы отображаются в памяти как «никогда не исполнять привилегированно», таким образом, им не позволено исполнять привилегированные инструкции, даже если они злонамеренно модифицированы.
В некоторых вариантах осуществления модифицирование OS нормального мира может быть выполнено путем использования любой из известных методик прямой модификации ее исходного кода, модификации ее исполняемого двоичного кода или использования двоичной трансляции.
В некоторых вариантах осуществления способ в соответствии с аспектами объекта изобретения, описанного здесь, может дополнительно включать в себя использование защиты доступа к памяти для предотвращения получения требуемого доступа к памяти целевой операционной системы для исполнения критических по безопасности операций. Например, критические по безопасности операции могут включать в себя, но не ограничиваются только этим, модификацию таблиц страниц, которые определяют распределение памяти системы, или модификацию контроллера прямого доступа к памяти (DMA). Контроллер DMA может определять, какая память доступна для периферийных устройств. Атаки могут попытаться использовать контроллер DMA, чтобы использовать периферийные устройства для модификации кода или данных виртуального процессора нормального мира.
В некоторых вариантах осуществления способ в соответствии с аспектами объекта изобретения, описанного здесь, может включать в себя обнаружение нарушения целостности целевого устройства, когда агент проверки целостности обнаруживает попытку исполнить привилегированную инструкцию или критические по безопасности операции, которые нарушают заранее определенную политику. Например, политика может включать в себя, но не ограничивается только этим, запрет модификации исполняемых двоичных кодов OS нормального мира, отключения защиты доступа к памяти OS нормального мира или модификации структур критических данных только для чтения OS нормального мира.
Технические возможности
Наша основная цель состоит в том, чтобы предотвратить попытки нарушения защиты, в которых пытаются модифицировать целевое устройство или часть в нем, например, операционную систему нормального мира.
В некоторых вариантах осуществления аспекты объекта изобретения, описанного здесь, могут содержать методики и/или способы для обнаружения вредоносных атак путем генерации актуального отчета о статусе целостности операционных систем нормального мира.
В некоторых вариантах осуществления аспекты объекта изобретения, описанного здесь, могут содержать методики и/или способы, которые могут содержать предотвращающие инструкции и/или операции, которые могут приводить к нарушению целостности операционной системы нормального мира до того, как они будут исполнены.
В некоторых вариантах осуществления аспекты объекта изобретения, описанного здесь, могут содержать методики и/или способы для обнаружения или предотвращения вредоносных атак или комбинацию обоих.
Для достижения этих целей аспекты объекта изобретения, описанного здесь, могут обеспечить способы, модули и/или устройства, которые включают в себя одну или более следующих возможностей:
1) Активный контроль критических событий нормального мира, включая критические по безопасности операции и привилегированные инструкции, и распознавание их воздействия на состояние операционных систем нормального мира.
2) Полный контроль над схемой распределения памяти нормального мира так, чтобы безопасный мир мог подтвердить, что проверенными программами нормального мира нельзя манипулировать после их загрузки, и что непроверенные программы нормального мира не могут исполнять привилегированные инструкции или критические по безопасности операции. Мы обозначаем эту возможность как «защиту памяти».
3) Проверка целостности, которая может быть основана на заранее определенной политике безопасности. Входные события, используемые для проверки, нарушена ли одна или более политик безопасности, могут следовать из (упомянутого выше) активного контроля и/или защиты памяти.
Предположения
В некоторых вариантах осуществления агент проверки (измерения) целостности может исполняться как часть безопасного мира, в то время как целевая операционная система работает или исполняется в нормальном мире.
В некоторых вариантах осуществления безопасный мир может делать проверку во время загрузки ядра нормального мира посредством вычисления контрольной суммы загруженного двоичного кода (этот процесс широко известен как статическая проверка).
В некоторых вариантах осуществления проверка во время загрузки может также распространяться на проверку того, что ядро нормального мира должным образом модифицировано для нашей планируемой защиты путем удаления всех привилегированных инструкций из его двоичных кодов.
Идея использовать изолированный или защищенный компонент для проверки системы общего назначения описана в Графинкел и др., «Terra: Основанная на виртуальной машине платформа для доверительных вычислений», SOSP (2003) (Grafinkel et al., «Terra: A Virtual Machine-Based Platform for Trusted Computing,» SOSP (2003)), раскрытие которой включено здесь по ссылке в полном объеме. Интуитивно понятно, что статическая проверка гарантирует только целостность ядра нормального мира во время процесса начальной загрузки, но оно не может гарантировать целостность ядра после того, как система загружается и начинает взаимодействовать с потенциальными злоумышленниками.
В некоторых вариантах осуществления ядро ОС является единственным программным обеспечением, исполняющим привилегированные инструкции на виртуальном процессоре нормального мира. Кроме того, ядро не может полагаться на смешанные перезаписываемые и исполняемые страницы. Посредством нашей экспериментальной оценки мы обнаружили, что многие из свежих версий ядер ОС (например, Android и Linux) следуют этому предположению, отделяя исполняемый код от перезаписываемых данных.
Модель угрозы:
В некоторых вариантах осуществления способ в соответствии с аспектами объекта изобретения, описанного здесь, рассматривает все атаки, которые стремятся незаметно исполнить код в операционной системе нормального мира. В этом контексте «незаметно» означает, что код будет исполняться без обновления агента проверки целостности, который выполняется в безопасном мире. Такие атаки могут выполняться или путем загрузки новых непроверенных двоичных кодов или путем модификации двоичных кодов, которые были ранее отображены и уже существуют в памяти. Мы проектируем нашу систему так, чтобы справляться с обоими случаями.
В некоторых вариантах осуществления способ в соответствии с аспектами объекта изобретения, описанного здесь, может дополнительно рассматривать все атаки, которые имеют целью модификацию критических по безопасности данных в операционной системе нормального мира. В этом контексте критические по безопасности данные должны быть заранее заданными, чтобы агент проверки целостности контролировал их модификацию.
Злоумышленники могут использовать любую существующую уязвимость системы для взлома операционной системы нормального мира, в том числе уязвимости ядра, которые позволят им управлять ядром нормального мира. Мы гарантируем, что наша система должна обнаружить и/или предотвратить любую из этих уязвимостей, при условии, что они включают в себя загрузку нового кода или изменение существующего кода.
Тем не менее есть специальный тип атак, который не требует изменения или загрузки кода, который является ориентированной на возврат атакой. Хотя наша система не может обнаружить ориентированные на возврат атаки, потому что они полагаются исключительно на уязвимости данных, мы гарантируем, что эти атаки не будут подрывать наш активных контроль и защиту памяти путем загрузки новых программ (например, вредоносных приложений), не будучи обнаруженными агентом отслеживания целостности в безопасном мире.
Технические проблемы активного контроля и защиты памяти в системах на основе TrustZone
В некоторых вариантах осуществления одна иллюстративная конструкция нашей системы основана на ARM TrustZone. Несмотря на то, что это дает более сильную основанную на аппаратных средствах защиту, это ограничивает возможности тесного управления отслеживаемой целью (операционной системой нормального мира). Далее мы обсуждаем основные проблемы и ограничения, которые возникают при реализации активного контроля и защиты памяти в вариантах осуществления, которые используют контроль целостности на основе ARM TrustZone.
1. Защита памяти, обеспеченная TrustZone: Основной целью технологии TrustZone является создание аппаратно-изолированной среды, которая предотвращает доступ нормального мира к критическим по безопасности ресурсам (памяти безопасного мира и периферийным устройствам). Однако такая изоляция, в принципе, дает любому из этих двух миров полный контроль над его собственными ресурсами. Таким образом, ядро нормального мира имеет полный контроль над назначенной ему физической памятью, что включает в себя полностью конфигурирование блока управления памятью (MMU) и присвоение прав доступа (например, только для чтения, перезаписываемый, исполнимый) его страницам отображаемой памяти. Интуитивно понятно, что такая архитектура порождает проблемы для компонентов безопасного мира при контроле и защите критических областей памяти, которые принадлежат нормальному миру.
2. Прерывания и обработка исключений в TrustZone: Хотя TrustZone позволяет безопасному миру выбрать ряд событий, которые будут обрабатываться безопасным миром. Эти события ограничены внешними прерываниями (IRQ или FIQ) и определенными типами исключений (например, отказ внешних данных). Однако, другие типы исключений и критических событий (например, исключений отказа обычных данных или вызовов привилегированного режима, используемых для системных вызовов) не могут быть сконфигурированы для перехвата безопасным миром и обрабатываются непосредственно нормальным миром. Интуитивно понятно, что такие события могут влиять на статус целостности нормального мира. Если эти события не перехватываются безопасным миром, такое влияние на целостность может остаться незамеченным агентом контроля целостности.
Предложенная методика
Аспекты объекта изобретения, описанного здесь, позволяют осуществлять активный контроль нормального мира путем перехвата критических событий безопасным миром. Кроме того, мы используем эту методику активного контроля для обладания контролем над распределением виртуальной памяти нормального мира, так что она может обеспечить полную защиту памяти нормального мира, используя флаги разрешения доступа к виртуальной памяти.
Прежде чем мы представим нашу методику, мы кратко описываем уровень техники для трех архитектурных принципов процессоров ARM v7, которые относятся к вариантам осуществления, которые реализуют аспекты объекта изобретения, описанного здесь, на архитектуре ARM v7. Как упоминалось выше, следует иметь в виду, что способы и методики настоящего описания могут быть реализованы на любой, отличной от ARM v7, которая используется в этой иллюстративной конструкции, архитектуре процессора, известной сейчас или той, которая может быть разработана в будущем.
Поддержка сопроцессора ARM: Архитектура ARM v7 поддерживает сопроцессоры для расширения функциональности процессора ARM v7. Инструкции сопроцессора обеспечивают доступ к шестнадцати сопроцессорам (от 0 до 15). Сопроцессор 15 (CP15) обеспечивает системные управляющие регистры, которые управляют большинством системных функциональных возможностей процессора и памяти (например, MMU, обработчиком вектора прерываний, кэширование, моделью выполнения).
Управляемый доступ к сопроцессору CP15: Доступ к CP15 ARM v7 для чтения и записи может быть выполнен посредством специальных команд (например, MCR и LDC). Он ограничен, так что его имеет только привилегированное программное обеспечение (то есть, код ядра). Кроме того, архитектура системы виртуальной памяти ARM v7 может указать, что только определенный набор страниц памяти может исполняться в привилегированном режиме, используя разрешение доступа «Привилегированный не исполняемый» (PXN).
Выровненный собственный код: Набор команд ARM (thumb или arm) состоит из собственного кода, который состоит из последовательности 32-разрядных или 16-разрядных выровненных отдельных двоичных инструкций. Каждая двоичная инструкция включает в себя код операции и операнды в одном 32-разрядном или 16-разрядном двоичном слове.
Наш активный контроль можно обобщить в следующих основных принципах:
Нормальный мир инициализируется так, что он позволяет только некоторым диапазонам памяти (определенным с помощью управления доступом к виртуальной памяти) исполнять привилегированный код.
В некоторых вариантах осуществления это может быть сделано путем загрузки проверенного предварительно сконфигурированного начального образа нормального мира.
В некоторых вариантах осуществления эти привилегированные страницы памяти отмечены как не перезаписываемые и тщательно проверяются так, чтобы они не содержали ни одной инструкции, которая выполняет некоторые привилегированные операции (например, инструкций, которые модифицируют критические регистры в CP15 архитектуры ARM v7), для нормального мира будет невозможно выполнить эти инструкции. Следовательно, ядро нормального мира будет не в состоянии модифицировать функциональности процессора, которыми управляют эти инструкции (например, функциональности, которыми управляют конкретные критические регистры CP15 архитектуры ARM v7).
В некоторых вариантах осуществления эти критические инструкции все вместе могут быть единственным способом для управления управлением доступом к виртуальной памяти виртуального процесса нормального мира.
Иллюстративный вариант осуществления среды с активным контролем и защитой памяти будет реализован с использованием одного или более следующих этапов:
1. После инициализации целевого устройства может конфигурироваться карта виртуальной памяти нормального мира (нормальным или безопасным миром) так, чтобы страницы привилегированного кода, которые включают в себя прерывания и векторы обработки исключений, были отмечены как не перезаписываемые.
2. Все другие отображаемые страницы нормального мира, которые принадлежат ядру или пользовательским процессам, могут быть помечены как PXN страницы, так что даже если они модифицируются позже, им никогда не позволено исполнять привилегированные инструкции (например, те, которые осуществляют доступ к конкретным критическим по безопасности регистрам CP15 ARM v7), которые модифицируют статус нормального мира.
3. Все таблицы страниц, которые используются для определения схемы распределения памяти нормального мира и управления доступом, могут быть помечены как не перезаписываемые. Таким образом, любые модификации таблиц страниц вызовут исключение отказа данных. В некоторых вариантах осуществления на эти таблицы страниц могут указывать базовые регистры адресной таблицы (TTBR) CP15 ARM v7 или любой другой регистр с подобной функциональностью в другой архитектуре.
4. Не перезаписываемые страницы ядра могут модифицироваться так, что вызов к виртуальному процессору безопасного мира (например, инструкция безопасного вызова монитора (SMC)) заменяет критические по безопасности операции и привилегированные инструкции (например, обработчик исключений отказа данных, обработчик отказа инструкции, запись в таблицы страниц и запись в регистр CP15). Следовательно, все эти критические по безопасности операции и привилегированные инструкции будут обрабатываться безопасным миром.
5. Безопасный мир может проверять критические события и отправлять их агенту отслеживания целостности для оценки их влияния на статус целостности системы. В случае, когда перехваченное событие является записью в таблицу страниц, безопасный мир выполнит требуемую модификацию таблицы страниц от имени ядра нормального мира после подтверждения, что это не нарушает заранее определенную политику безопасности или вернет любую из операций, определенных этапами 1-4 (В некоторых вариантах осуществления заранее определенная политика безопасности может включать в себя запрет доступа для записи к исходным страницам ядра или любым таблицам страниц. Она может также предотвращать отображения привилегированных исполняемых страниц).
6. В некоторых вариантах осуществления агент проверки целостности может использовать машиночитаемый носитель (например, энергозависимую или энергонезависимую память) для хранения информации о статусе карты памяти нормального мира и/или любой требуемой политике безопасности. В иллюстративном варианте осуществления агент проверки целостности может хранить битовый массив, который помечает статус каждой страницы нормального мира так, что он может обнаружить, если запись в эту страницу (или изменение ее распределения памяти в соответствующих элементах таблицы страниц) нарушит или нет какую-либо политику безопасности.
Эти этапы могут позволить предложенной системе достичь и активного контроля ядра нормального мира, и защиты памяти нормального ядра. Этапы 1 и 2 предотвращают выполнение привилегированной инструкции путем отображения инструкции в памяти или модификации любой из привилегированных уже отображенных инструкций любым потенциально вредоносным программным обеспечением, выполняющимся в нормальном мире. Тот факт, что собственный код ARM состоит только из 32-разрядных или 16-разрядных инструкций, делает возможным сканирование исполнимых привилегированных страниц пословно и подтверждение, что ни одна из инструкций не получит доступ к критическому регистру.
В некоторых вариантах осуществления, которые используют архитектуру ARM v7, фигура 1 показывает типовое кодирование инструкций MCR, которые используются для записи в регистр CP. Регистры CP определяются номером CP и четырьмя другими параметрами: CRn, CRm, opd и opc2. Если все 32-разрядные (выровненные) значения привилегированных исполняемых страниц будут проверены так, чтобы никакая инструкция не соответствовала MCR в этот конкретный регистр, то мы можем гарантировать, что этот регистр никогда не будет модифицирован нормальным миром. Критическими регистрами, которые являются нашей целью, являются в частности те, которые отключают MMU, перемещают обработчик вектора прерываний или перемещают базовый адрес адресных таблиц виртуальной адресации.
Этап 3 гарантирует защиту памяти. В некоторых вариантах осуществления, которые используют архитектуру ARM v7, TTBR, которые указывают на базу данных таблиц страниц, являются частью CP15. TTBR будут помечены среди тех регистров, модифицировать которые ядру нормального мира запрещено (как упомянуто в этапе 2). Таким образом, нормальный мир будет ограничен в использовании конкретной физической памяти, такой как таблицы страниц. Код инициализации будет отображать эту физическую память (таблицы страниц) как не перезаписываемую. Следовательно, любые обновления таблицы страниц вызовут отказ данных. Так как все исключения отказа данных будут перехвачены безопасным миром (как обсуждается в этапе 4), все модификации таблицы страниц будут проверяться безопасным миром перед тем, как вступить в силу на самом деле в нормальном мире.
Этап 4 гарантирует требуемый активный контроль. В некоторых вариантах осуществления, которые используют архитектуру ARM v7, критические события, такие как изменение значения TTBR для переключения контекста между пользовательскими процессами, будет невозможно исполнить в нормальном мире. Таким образом, единственным способом для ядра нормального мира правильно исполнить эту функциональность будет вызов инструкции «SMC» и разрешение безопасному миру обработать критическую операцию. Безопасность этой операции поддерживается тем фактом, что и запись в регистр CP и вызовы «SMC» являются атомарные операциями, которые состоят из одной инструкции. В то же время все проверки целостности (например, проверка, что новые таблицы страниц не имеют перезаписываемых привилегированных страниц) выполняются безопасным миром, который вне досягаемости нормального мира. Даже ядро, скомпрометированное ориентированной на возврат атакой, не сможет модифицировать критический статус путем перехода через середину составного кода и пропуска потенциальной проверки целостности нормального мира.
Наконец, реализация этапа 5 означает, что безопасный мир будет единственной точкой проверки целостности, которая гарантирует, что возможности активного контроля останутся в силе в течение срока службы системы. Путем реализации надлежащих проверок целостности для привилегированных операций, таких как проверка таблиц страниц вновь отображенных процессоров и проверка, что MMU или защиты управления доступом к виртуальным страницам не отключены, безопасный мир гарантирует, что и защита памяти, и активный контроль присутствуют для нормального мира.
Фигура 2 является блок-схемой, иллюстрирующей систему для активного контроля и защиты памяти целевого устройства в соответствии с вариантом осуществления объекта изобретения, описанного здесь. На фигуре 2 система включает в себя виртуальный процессор 100 нормального мира и виртуальный процессор 102 безопасного мира в целевом устройстве 104. И виртуальный процессор 102 нормального мира, и виртуальные процессоры безопасного мира могут быть виртуальными процессорами ARM TrustZone, как описано в «Технология безопасности ARM, создание безопасной системы с использованием технологии TrustZone», Техническая документация ARM, ARM Limited (2009) («ARM Security Technology, Building a Secure System using TrustZone Technology», ARM Whitepaper, ARM Limited (2009)), раскрытие которой включено здесь по ссылке в полном объеме. Целевое устройство 104 может быть любой вычислительной платформой, на которой может быть достигнута изоляция с использованием виртуальных процессоров нормального и безопасного миров. Примеры таких вычислительных платформ включают в себя серверы, настольные компьютеры, мобильные устройства, такие как смартфоны, PDA, или планшетные компьютеры, или встроенные системы, которые могут включать в себя процессор и связанную с ним память, встроенную в прибор или промышленное устройство, такое как счетчик электроэнергии или воды.
Как указано выше, целевая операционная система 106 исполняется на виртуальном процессоре 100 нормального мира, а агент 108 проверки целостности исполняется на виртуальном процессоре 102 безопасного мира. Выполнение некоторых критических операций перехватывается виртуальным процессором 102 безопасного мира. Примеры перехватываемых операций включают в себя исключения отказа обычных данных или вызовы привилегированного режима, используемые для системных вызовов. Перехваченные операции исполняются на виртуальном процессоре 102 безопасного мира. Агент 108 проверки целостности контролирует выполнение перехваченных операций на виртуальном процессоре 102 безопасного мира для оценки влияния выполнения перехваченных операций на целостность целевого устройства 104.
Например, целевое устройство 104 может быть смартфоном, и пользователь может переключиться между голосовым вызовом и почтовой программой. В такой ситуации целевая OS 106 может записать новое значение в управляющий регистр процессора, CP15, чтобы переключиться между процессами. Как было указано выше, попытки записи в CP15 перехватываются и передаются агенту 108 проверки целостности для проверки. Агент 108 проверки целостности может исследовать значение, записываемое в CP15. В этом случае значение может быть ID процесса или адресом ячейки памяти для почтовой программы. Для проверки ID процесса агент 108 проверки целостности может просмотреть список разрешенных процессов, чтобы проверить, разрешено ли почтовой программе исполняться. В этом случае предполагается, что почтовой программе разрешено исполняться, и виртуальный процессор 102 безопасного мира может позволить почтовой программе исполняться.
В другом примере адрес ячейки памяти или ID процесса, который пытаются записать в CP15, может соответствовать вредоносной программе, которое будет отсутствовать в списке разрешенных приложений. В такой ситуации виртуальный процессор 102 безопасного мира может предотвратить выполнение вредоносной программы. Следует также отметить, что агент 108 проверки целостности может консультироваться с внешней системой для проверки приложения или процесса, например, используя криптографическую подпись приложения.
Следует понимать, что различные детали раскрытого здесь объекта изобретения могут быть изменены, не отступая от объема раскрытого здесь объекта изобретения. Кроме того, предшествующее описание приведено лишь для иллюстрации, а не для ограничения.

Claims (23)

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. Система для активного контроля и защиты памяти целевого устройства, причем система содержит:
виртуальный процессор нормального мира и виртуальный процессор безопасного мира, сконфигурированные для исполнения на целевом устройстве;
агент проверки целостности, сконфигурированный для исполнения на виртуальном процессоре безопасного мира; и
при этом целевую операционную систему исполняют на виртуальном процессоре нормального мира, причем виртуальный процессор нормального мира сконфигурирован для перехвата виртуальным процессором безопасного мира одной или более заданных операций, которые пытаются исполнить на виртуальном процессоре нормального мира, и при этом виртуальный процессор безопасного мира сконфигурирован для использования агента проверки целостности для определения эффекта выполнения перехваченных операций целевого устройства.
RU2015107219A 2012-08-03 2013-03-15 Способы, системы и машиночитаемый носитель для активного контроля, защиты памяти и проверки целостности целевых устройств RU2615664C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261679305P 2012-08-03 2012-08-03
US61/679,305 2012-08-03
PCT/US2013/000074 WO2014021919A2 (en) 2012-08-03 2013-03-15 Methods, systems, and computer readable medium for active monitoring, memory protection and integrity verification of target devices

Publications (2)

Publication Number Publication Date
RU2015107219A RU2015107219A (ru) 2016-09-27
RU2615664C2 true RU2615664C2 (ru) 2017-04-06

Family

ID=50028637

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2015107219A RU2615664C2 (ru) 2012-08-03 2013-03-15 Способы, системы и машиночитаемый носитель для активного контроля, защиты памяти и проверки целостности целевых устройств

Country Status (8)

Country Link
US (1) US9483635B2 (ru)
EP (1) EP2880587B1 (ru)
KR (1) KR20150038574A (ru)
CN (1) CN104520867B (ru)
AU (1) AU2013297064B2 (ru)
BR (1) BR112015002316A2 (ru)
RU (1) RU2615664C2 (ru)
WO (1) WO2014021919A2 (ru)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102183852B1 (ko) * 2013-11-22 2020-11-30 삼성전자주식회사 전자 장치의 무결성 검증을 위한 방법, 저장 매체 및 전자 장치
US9672354B2 (en) 2014-08-18 2017-06-06 Bitdefender IPR Management Ltd. Systems and methods for exposing a result of a current processor instruction upon exiting a virtual machine
US9832207B2 (en) 2014-12-23 2017-11-28 Mcafee, Inc. Input verification
US9996690B2 (en) * 2014-12-27 2018-06-12 Mcafee, Llc Binary translation of a trusted binary with input tagging
US9798559B2 (en) 2014-12-27 2017-10-24 Mcafee, Inc. Trusted binary translation
US10019576B1 (en) 2015-04-06 2018-07-10 Intelligent Automation, Inc. Security control system for protection of multi-core processors
US10025925B2 (en) * 2015-06-23 2018-07-17 Adventium Enterprises, Llc Dynamically measuring the integrity of a computing apparatus
WO2017019061A1 (en) * 2015-07-29 2017-02-02 Hewlett Packard Enterprise Development Lp Firewall to determine access to a portion of memory
US10282224B2 (en) 2015-09-22 2019-05-07 Qualcomm Incorporated Dynamic register virtualization
US10055577B2 (en) * 2016-03-29 2018-08-21 Intel Corporation Technologies for mutual application isolation with processor-enforced secure enclaves
US10019583B2 (en) 2016-04-01 2018-07-10 Samsung Electronics Co., Ltd. Method and apparatus for performing protected walk-based shadow paging using multiple stages of page tables
US10282190B2 (en) * 2016-12-01 2019-05-07 Dell Products, L.P. System and method for updating a UEFI image in an information handling system
KR102021008B1 (ko) 2017-08-23 2019-09-11 서울대학교산학협력단 Arm 시스템 소프트웨어 대한 인트라 레벨 권한 분리 시스템 및 방법
KR102416501B1 (ko) * 2017-09-20 2022-07-05 삼성전자주식회사 전자 장치 및 그의 제어 방법
KR102514062B1 (ko) * 2018-02-27 2023-03-24 삼성전자주식회사 트러스트존 그래픽 렌더링 방법 및 그에 따른 디스플레이 장치
CN109684126B (zh) * 2018-12-25 2022-05-03 贵州华芯通半导体技术有限公司 用于arm设备的内存校验方法和执行内存校验的arm设备
US11487906B2 (en) * 2019-03-08 2022-11-01 International Business Machines Corporation Storage sharing between a secure domain and a non-secure entity
US11640361B2 (en) 2019-03-08 2023-05-02 International Business Machines Corporation Sharing secure memory across multiple security domains
US11531627B2 (en) 2019-03-08 2022-12-20 International Business Machines Corporation Secure storage isolation
CN111382445B (zh) * 2020-03-03 2023-04-07 首都师范大学 利用可信执行环境系统提供可信服务的方法
US11455395B2 (en) 2020-06-17 2022-09-27 Hewlett Packard Enterprise Development Lp Perform verification check in response to change in page table base register
CN112256396B (zh) * 2020-10-23 2022-10-21 海光信息技术股份有限公司 内存管理方法、系统及安全处理装置、数据处理装置
CN113239329B (zh) * 2021-04-19 2024-03-19 南京大学 一种用于移动端应用程序的可信执行环境的实现系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060041929A1 (en) * 2001-10-16 2006-02-23 Microsoft Corporation Virtual distributed security system
US20070226795A1 (en) * 2006-02-09 2007-09-27 Texas Instruments Incorporated Virtual cores and hardware-supported hypervisor integrated circuits, systems, methods and processes of manufacture
US20070261120A1 (en) * 2006-01-23 2007-11-08 Arbaugh William A Method & system for monitoring integrity of running computer system
US20070294496A1 (en) * 2006-06-19 2007-12-20 Texas Instruments Incorporated Methods, apparatus, and systems for secure demand paging and other paging operations for processor devices
RU2321055C2 (ru) * 2006-05-12 2008-03-27 Общество с ограниченной ответственностью Фирма "Анкад" Устройство защиты информации от несанкционированного доступа для компьютеров информационно-вычислительных систем
US20090217377A1 (en) * 2004-07-07 2009-08-27 Arbaugh William A Method and system for monitoring system memory integrity
RU2367024C2 (ru) * 2003-11-13 2009-09-10 Ай Джи Ти Способы и устройство для обеспечения электронного оперативного отслеживания события для игрового устройства
US20120297057A1 (en) * 2010-11-15 2012-11-22 Ghosh Anup K Hardware-Assisted Integrity Monitor

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7149862B2 (en) 2002-11-18 2006-12-12 Arm Limited Access control in a data processing apparatus
AU2003278342A1 (en) * 2002-11-18 2004-06-15 Arm Limited Security mode switching via an exception vector
AU2003302996A1 (en) 2002-12-12 2004-07-09 Finite State Machine Labs, Inc. Systems and methods for detecting a security breach in a computer system
US7908653B2 (en) * 2004-06-29 2011-03-15 Intel Corporation Method of improving computer security through sandboxing
JP2009514104A (ja) * 2005-10-25 2009-04-02 セキュア64・ソフトウェア・コーポレイション セキュアな仮想マシンモニタ
US7950020B2 (en) * 2006-03-16 2011-05-24 Ntt Docomo, Inc. Secure operating system switching
US8099574B2 (en) * 2006-12-27 2012-01-17 Intel Corporation Providing protected access to critical memory regions
EP2075696A3 (en) 2007-05-10 2010-01-27 Texas Instruments Incorporated Interrupt- related circuits, systems and processes
US8250641B2 (en) * 2007-09-17 2012-08-21 Intel Corporation Method and apparatus for dynamic switching and real time security control on virtualized systems
US8578483B2 (en) 2008-07-31 2013-11-05 Carnegie Mellon University Systems and methods for preventing unauthorized modification of an operating system
US20120216281A1 (en) 2011-02-22 2012-08-23 PCTEL Secure LLC Systems and Methods for Providing a Computing Device Having a Secure Operating System Kernel
US8712407B1 (en) * 2012-04-05 2014-04-29 Sprint Communications Company L.P. Multiple secure elements in mobile electronic device with near field communication capability

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060041929A1 (en) * 2001-10-16 2006-02-23 Microsoft Corporation Virtual distributed security system
RU2367024C2 (ru) * 2003-11-13 2009-09-10 Ай Джи Ти Способы и устройство для обеспечения электронного оперативного отслеживания события для игрового устройства
US20090217377A1 (en) * 2004-07-07 2009-08-27 Arbaugh William A Method and system for monitoring system memory integrity
US20070261120A1 (en) * 2006-01-23 2007-11-08 Arbaugh William A Method & system for monitoring integrity of running computer system
US20070226795A1 (en) * 2006-02-09 2007-09-27 Texas Instruments Incorporated Virtual cores and hardware-supported hypervisor integrated circuits, systems, methods and processes of manufacture
RU2321055C2 (ru) * 2006-05-12 2008-03-27 Общество с ограниченной ответственностью Фирма "Анкад" Устройство защиты информации от несанкционированного доступа для компьютеров информационно-вычислительных систем
US20070294496A1 (en) * 2006-06-19 2007-12-20 Texas Instruments Incorporated Methods, apparatus, and systems for secure demand paging and other paging operations for processor devices
US20120297057A1 (en) * 2010-11-15 2012-11-22 Ghosh Anup K Hardware-Assisted Integrity Monitor

Also Published As

Publication number Publication date
EP2880587B1 (en) 2017-05-10
EP2880587A2 (en) 2015-06-10
AU2013297064A1 (en) 2015-03-05
US9483635B2 (en) 2016-11-01
CN104520867A (zh) 2015-04-15
US20150199507A1 (en) 2015-07-16
EP2880587A4 (en) 2016-04-27
RU2015107219A (ru) 2016-09-27
BR112015002316A2 (pt) 2017-07-04
KR20150038574A (ko) 2015-04-08
WO2014021919A3 (en) 2014-03-27
WO2014021919A2 (en) 2014-02-06
AU2013297064B2 (en) 2016-06-16
CN104520867B (zh) 2017-10-31

Similar Documents

Publication Publication Date Title
RU2615664C2 (ru) Способы, системы и машиночитаемый носитель для активного контроля, защиты памяти и проверки целостности целевых устройств
Ge et al. Sprobes: Enforcing kernel code integrity on the trustzone architecture
Azab et al. Hypervision across worlds: Real-time kernel protection from the arm trustzone secure world
KR102189296B1 (ko) 가상 머신 보안 어플리케이션을 위한 이벤트 필터링
US9852295B2 (en) Computer security systems and methods using asynchronous introspection exceptions
US10296470B2 (en) Systems and methods for dynamically protecting a stack from below the operating system
US20160210069A1 (en) Systems and Methods For Overriding Memory Access Permissions In A Virtual Machine
US9507941B2 (en) Method of verifying integrity of electronic device, storage medium, and electronic device
Duflot et al. Using CPU system management mode to circumvent operating system security functions
CN108154032B (zh) 具有内存完整性保障功能的计算机系统信任根构建方法
WO2012115956A2 (en) Systems and methods for providing a computing device having a secure operating system kernel
JP2022503899A (ja) スタック・ポインタを検証すること
US20150379265A1 (en) Systems And Methods For Preventing Code Injection In Virtualized Environments
Manès et al. Domain Isolated Kernel: A lightweight sandbox for untrusted kernel extensions
Zhou et al. Protecting Virtual Machines against Untrusted Hypervisor on ARM64 Cloud Platform
Kuzuno et al. Protection Mechanism of Kernel Data Using Memory Protection Key

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20190316