RU2014147953A - Способ модификации разрешений на доступ к памяти в защищенной процессорной среде - Google Patents
Способ модификации разрешений на доступ к памяти в защищенной процессорной среде Download PDFInfo
- Publication number
- RU2014147953A RU2014147953A RU2014147953A RU2014147953A RU2014147953A RU 2014147953 A RU2014147953 A RU 2014147953A RU 2014147953 A RU2014147953 A RU 2014147953A RU 2014147953 A RU2014147953 A RU 2014147953A RU 2014147953 A RU2014147953 A RU 2014147953A
- Authority
- RU
- Russia
- Prior art keywords
- command
- enclave
- page
- memory access
- permissions
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/145—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1491—Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/53—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
1. Процессор, содержащий:командный модуль для приема первой команды, так что первая команда предназначена для модификации разрешений на доступ к памяти для страницы в защищенном анклаве; иисполнительный модуль для выполнения этой первой команды, так что выполнение первой команды содержит задание новых разрешений на доступ к памяти во входной позиции карты кэша страниц анклава, и при этом указанная страница сразу же становится доступна изнутри защищенного анклава в соответствии с новыми разрешениями на доступ к памяти.2. Процессор по п. 1, отличающийся тем, что первую команду выполняют без задания бита модификации во входной позиции кэша страниц анклава.3. Процессор по п. 1, отличающийся тем, что первая команда предназначена для расширения по меньшей мере одного из разрешений на доступ к памяти.4. Процессор по п. 3, отличающийся тем, что первая команда может быть выполнена изнутри защищенного анклава.5. Процессор по п. 4, отличающийся тем, что первая команда может быть выполнена только изнутри защищенного анклава.6. Процессор по п. 1, отличающийся тем, что первая команда предназначена для ограничения по меньшей мере одного из разрешений на доступ к памяти.7. Процессор по п. 6, отличающийся тем, что первая команда может быть выполнена только в режиме супервизора.8. Процессор по п. 6, отличающийся тем, что выполнение первой команды содержит также запись срока анклава во входной позиции карты кэша страниц анклава.9. Способ, содержащий:выдачу первой команды для модификации разрешения на доступ к памяти для страницы в защищенном анклаве; ивыполнение первой команды, так что выполнение этой первой команды содержит задание новых разрешений на доступ к памяти во входной п
Claims (20)
1. Процессор, содержащий:
командный модуль для приема первой команды, так что первая команда предназначена для модификации разрешений на доступ к памяти для страницы в защищенном анклаве; и
исполнительный модуль для выполнения этой первой команды, так что выполнение первой команды содержит задание новых разрешений на доступ к памяти во входной позиции карты кэша страниц анклава, и при этом указанная страница сразу же становится доступна изнутри защищенного анклава в соответствии с новыми разрешениями на доступ к памяти.
2. Процессор по п. 1, отличающийся тем, что первую команду выполняют без задания бита модификации во входной позиции кэша страниц анклава.
3. Процессор по п. 1, отличающийся тем, что первая команда предназначена для расширения по меньшей мере одного из разрешений на доступ к памяти.
4. Процессор по п. 3, отличающийся тем, что первая команда может быть выполнена изнутри защищенного анклава.
5. Процессор по п. 4, отличающийся тем, что первая команда может быть выполнена только изнутри защищенного анклава.
6. Процессор по п. 1, отличающийся тем, что первая команда предназначена для ограничения по меньшей мере одного из разрешений на доступ к памяти.
7. Процессор по п. 6, отличающийся тем, что первая команда может быть выполнена только в режиме супервизора.
8. Процессор по п. 6, отличающийся тем, что выполнение первой команды содержит также запись срока анклава во входной позиции карты кэша страниц анклава.
9. Способ, содержащий:
выдачу первой команды для модификации разрешения на доступ к памяти для страницы в защищенном анклаве; и
выполнение первой команды, так что выполнение этой первой команды содержит задание новых разрешений на доступ к памяти во входной позиции карты кэша страниц анклава, при этом указанная страница сразу же становится доступна изнутри защищенного анклава в соответствии с новыми разрешениями на доступ к памяти.
10. Способ по п. 9, отличающийся тем, что выполнение первой команды содержит
выполнение этой первой команды без задания бита модификации во входной позиции кэша страниц анклава.
11. Способ по п. 9, отличающийся тем, что первую команду выполняют для расширения по меньшей мере одного разрешения на доступ к памяти.
12. Способ по п. 9, дополнительно содержащий:
обращение и получение доступа посредством приложения изнутри защищенного анклава к странице согласно новому разрешению на доступ к памяти, и
обновление, посредством операционной системы извне защищенного анклава, таблиц страниц, чтобы отразить новые разрешения на доступ к памяти.
13. Способ по п. 9, дополнительно содержащий:
попытку, со стороны приложения изнутри защищенного анклава, получить доступ к рассматриваемой странице после выполнения первой команды;
определение, посредством процессора, что отображение для рассматриваемой страницы существует в буфере динамической трансляции; и
инициирование, посредством процессора, сбоя страницы и асинхронного выхода из защищенного анклава.
14. Способ по п. 13, дополнительно содержащий:
обработку, посредством операционной системы извне защищенного анклава, сбоя страницы; и
перезапуск, посредством операционной системы, приложения в защищенном анклаве.
15. Способ по п. 9, дополнительно содержащий вызов, посредством приложения изнутри защищенного анклава, операционной системы вне защищенного анклава с целью вызова первой команды для ограничения по меньшей мере одного разрешения на доступ к памяти.
16. Способ по п. 15, отличающийся тем, что выполнение первой команды также содержит запись срока анклава во входной позиции карты кэша страниц анклава.
17. Способ по п. 16, дополнительно содержащий отслеживание, посредством операционной системы, потоков в анклаве, для которых входные позиции буфера динамической трансляции стали недействительными из-за новый разрешений на доступ к памяти.
18. Способ по п. 17, дополнительно содержащий передачу, посредством операционной системы, команд межпроцессорного прерывания для запуска выходов потоков из анклава и очистки буфера динамической трансляции.
19. Способ по п. 9, дополнительно содержащий удостоверение, посредством приложения изнутри защищенного анклава, что новые разрешения на доступ к памяти были заданы.
20. Система, содержащая:
память; и
и процессор, имеющий
командный модуль для приема первой команды, так что первая команда предназначена для модификации разрешений на доступ к памяти для страницы, загруженной из памяти в защищенный анклав; и
исполнительный модуль для выполнения этой первой команды, так что выполнение первой команды содержит задание новых разрешений на доступ к памяти во входной позиции карты кэша страниц анклава, и при этом указанная страница сразу же становится доступна изнутри защищенного анклава в соответствии с новыми разрешениями на доступ к памяти.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/141,941 US9355262B2 (en) | 2013-12-27 | 2013-12-27 | Modifying memory permissions in a secure processing environment |
US14/141,941 | 2013-12-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2014147953A true RU2014147953A (ru) | 2016-06-20 |
RU2602793C2 RU2602793C2 (ru) | 2016-11-20 |
Family
ID=51951664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2014147953/08A RU2602793C2 (ru) | 2013-12-27 | 2014-11-27 | Способ модификации разрешений на доступ к памяти в защищенной процессорной среде |
Country Status (4)
Country | Link |
---|---|
US (1) | US9355262B2 (ru) |
EP (1) | EP2889777B1 (ru) |
CN (1) | CN104881596B (ru) |
RU (1) | RU2602793C2 (ru) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9705892B2 (en) * | 2014-06-27 | 2017-07-11 | Intel Corporation | Trusted time service for offline mode |
CN106161384A (zh) * | 2015-04-15 | 2016-11-23 | 伊姆西公司 | 用于在移动设备中提供对数据的安全访问的方法和系统 |
US9875189B2 (en) | 2015-06-12 | 2018-01-23 | Intel Corporation | Supporting secure memory intent |
US9710401B2 (en) | 2015-06-26 | 2017-07-18 | Intel Corporation | Processors, methods, systems, and instructions to support live migration of protected containers |
US9678687B2 (en) * | 2015-09-25 | 2017-06-13 | Mcafee, Inc. | User mode heap swapping |
US10664179B2 (en) | 2015-09-25 | 2020-05-26 | Intel Corporation | Processors, methods and systems to allow secure communications between protected container memory and input/output devices |
CN107203715B (zh) * | 2016-03-18 | 2021-03-19 | 斑马智行网络(香港)有限公司 | 执行系统调用的方法及装置 |
US10511598B2 (en) * | 2016-03-29 | 2019-12-17 | Intel Corporation | Technologies for dynamic loading of integrity protected modules into secure enclaves |
US9977743B2 (en) * | 2016-08-31 | 2018-05-22 | Intel Corporation | Managing enclave memory pages |
US10824572B2 (en) * | 2016-09-09 | 2020-11-03 | Cylance Inc. | Memory space protection |
US10324862B2 (en) * | 2016-09-30 | 2019-06-18 | Intel Corporation | Supporting oversubscription of guest enclave memory pages |
US10884952B2 (en) | 2016-09-30 | 2021-01-05 | Intel Corporation | Enforcing memory operand types using protection keys |
US10120805B2 (en) * | 2017-01-18 | 2018-11-06 | Intel Corporation | Managing memory for secure enclaves |
US10931652B2 (en) * | 2017-01-24 | 2021-02-23 | Microsoft Technology Licensing, Llc | Data sealing with a sealing enclave |
US11443033B2 (en) * | 2017-01-24 | 2022-09-13 | Microsoft Technology Licensing, Llc | Abstract enclave identity |
US10530777B2 (en) * | 2017-01-24 | 2020-01-07 | Microsoft Technology Licensing, Llc | Data unsealing with a sealing enclave |
CN107392011B (zh) * | 2017-08-22 | 2019-11-22 | 海光信息技术有限公司 | 一种内存页转移方法 |
US10867092B2 (en) * | 2017-12-16 | 2020-12-15 | Intel Corporation | Avoiding asynchronous enclave exits based on requests to invalidate translation lookaside buffer entries |
US10795679B2 (en) * | 2018-06-07 | 2020-10-06 | Red Hat, Inc. | Memory access instructions that include permission values for additional protection |
US11500969B2 (en) | 2020-01-03 | 2022-11-15 | Microsoft Technology Licensing, Llc | Protecting commercial off-the-shelf program binaries from piracy using hardware enclaves |
CN113139175A (zh) * | 2020-01-19 | 2021-07-20 | 阿里巴巴集团控股有限公司 | 处理单元、电子设备以及安全控制方法 |
JP7330157B2 (ja) * | 2020-09-18 | 2023-08-21 | 株式会社東芝 | 情報処理装置および更新処理方法 |
US20220114265A1 (en) * | 2020-10-08 | 2022-04-14 | Google Llc | Unified viewing of roles and permissions in a computer data processing system |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009532954A (ja) * | 2006-03-31 | 2009-09-10 | クゥアルコム・インコーポレイテッド | 高速メディアアクセス制御に関するメモリ管理 |
US7484073B2 (en) * | 2006-07-12 | 2009-01-27 | Microsoft Corporation | Tagged translation lookaside buffers in a hypervisor computing environment |
JP4939387B2 (ja) | 2007-12-06 | 2012-05-23 | ルネサスエレクトロニクス株式会社 | データ処理装置及びアドレス空間保護方法 |
JP2012508938A (ja) | 2008-11-14 | 2012-04-12 | インテル・コーポレーション | セキュアなアプリケーション実行方法および装置 |
US8352741B2 (en) * | 2009-06-11 | 2013-01-08 | Microsoft Corporation | Discovery of secure network enclaves |
JP2011198091A (ja) * | 2010-03-19 | 2011-10-06 | Toshiba Corp | 仮想アドレスキャッシュメモリ、プロセッサ及びマルチプロセッサシステム |
US20120110348A1 (en) * | 2010-11-01 | 2012-05-03 | International Business Machines Corporation | Secure Page Tables in Multiprocessor Environments |
US9405700B2 (en) * | 2010-11-04 | 2016-08-02 | Sonics, Inc. | Methods and apparatus for virtualization in an integrated circuit |
US8972746B2 (en) | 2010-12-17 | 2015-03-03 | Intel Corporation | Technique for supporting multiple secure enclaves |
US8832452B2 (en) | 2010-12-22 | 2014-09-09 | Intel Corporation | System and method for implementing a trusted dynamic launch and trusted platform module (TPM) using secure enclaves |
-
2013
- 2013-12-27 US US14/141,941 patent/US9355262B2/en not_active Expired - Fee Related
-
2014
- 2014-11-19 EP EP14193950.4A patent/EP2889777B1/en not_active Not-in-force
- 2014-11-27 RU RU2014147953/08A patent/RU2602793C2/ru not_active IP Right Cessation
- 2014-12-15 CN CN201410775886.7A patent/CN104881596B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
RU2602793C2 (ru) | 2016-11-20 |
EP2889777B1 (en) | 2018-12-26 |
EP2889777A2 (en) | 2015-07-01 |
US20150186659A1 (en) | 2015-07-02 |
CN104881596B (zh) | 2019-06-04 |
US9355262B2 (en) | 2016-05-31 |
EP2889777A3 (en) | 2015-08-12 |
CN104881596A (zh) | 2015-09-02 |
EP2889777A8 (en) | 2016-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2014147953A (ru) | Способ модификации разрешений на доступ к памяти в защищенной процессорной среде | |
CN109840410B (zh) | 一种进程内数据隔离与保护的方法和系统 | |
US9465750B2 (en) | Memory protection circuit, method and processing unit utilizing memory access information register to selectively allow access to memory areas by virtual machines | |
KR102612155B1 (ko) | 어드레스 변환 요구의 처리 | |
US9436619B2 (en) | Multi-level, hardware-enforced domain separation using a separation kernel on a multicore processor with a shared cache | |
RU2012106465A (ru) | Система и способ проверки исполняемого кода перед его выполнением | |
US9715410B2 (en) | Protected virtual machine function access | |
RU2018109505A (ru) | Предоставление устройств в качестве сервиса | |
US10416890B2 (en) | Application execution enclave memory page cache management method and apparatus | |
TWI457830B (zh) | 虛擬機器代碼注入技術 | |
BR112019005604A2 (pt) | chip de processador e dispositivo terminal | |
US20150212839A1 (en) | Tracking transformed memory pages in virtual machine chain migration | |
US9652348B2 (en) | Debugging in a data processing apparatus | |
RU2015107219A (ru) | Способы, системы и машиночитаемый носитель для активного контроля, защиты памяти и проверки целостности целевых устройств | |
JP2014521184A5 (ru) | ||
BR112015017103A2 (pt) | métodos e aparelhos para cancelar dadas solicitações de pré-busca de dados para um loop | |
WO2015166211A3 (en) | Access control and code scheduling | |
US20170249230A1 (en) | Breakpoint insertion into kernel pages | |
BR112018067341A2 (pt) | alocação de gravação para cache baseada em permissões de execução | |
JP2014526728A5 (ru) | ||
BR112021023258A2 (pt) | Execução de chamadas do sistema no espaço de endereço isolado no kernel do sistema operacional | |
WO2016118031A3 (en) | Computer security systems and methods using hardware-accelerated access to guest memory from below the operating system | |
KR102021008B1 (ko) | Arm 시스템 소프트웨어 대한 인트라 레벨 권한 분리 시스템 및 방법 | |
US20220014356A1 (en) | Seamless access to trusted domain protected memory by virtual machine manager using transformer key identifier | |
KR102421315B1 (ko) | 문맥 감지 배리어 명령어 실행 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20181128 |