KR102075701B1 - 명령어 레벨 데이터 격리 방법 및 장치 - Google Patents
명령어 레벨 데이터 격리 방법 및 장치 Download PDFInfo
- Publication number
- KR102075701B1 KR102075701B1 KR1020170157942A KR20170157942A KR102075701B1 KR 102075701 B1 KR102075701 B1 KR 102075701B1 KR 1020170157942 A KR1020170157942 A KR 1020170157942A KR 20170157942 A KR20170157942 A KR 20170157942A KR 102075701 B1 KR102075701 B1 KR 102075701B1
- Authority
- KR
- South Korea
- Prior art keywords
- kernel
- page table
- address
- access
- level
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Automation & Control Theory (AREA)
- Storage Device Security (AREA)
Abstract
Description
도 2는 본 발명의 실시 예에 따른 특수 명령어의 일 예를 도시한 도면,
도 3은 본 발명의 실시 예에 따른 페이지 테이블 맵핑 방법의 일 예를 도시한 도면,
도 4는 본 발명의 실시 예에 따른 명령어 레벨 데이터 격리 방법의 일 예를 도시한 도면, 그리고,
도 5는 본 발명의 실시 예에 따른 명령어 레벨 데이터 격리 방법의 다른 예를 도시한 도면이다.
Claims (13)
- 메모리의 커널 공간을 비특권 레벨의 보호 영역과 일반 커널 데이터를 저장하는 일반 영역으로 구분하여 설정하는 단계;
상기 커널 공간의 전체의 주소 맵핑을 저장하는 제1 커널 페이지 테이블과 상기 보호 영역을 제외한 영역의 주소 맵핑을 저장하는 제2 커널 페이지 테이블을 생성하는 단계; 및
접근제어기능을 이용하여 특권 레벨에서 수행되는 일반 명령어가 상기 보호 영역에 접근하는 것을 제한하고, 비특권 레벨에서 수행되는 기 설정된 특수 명령어가 상기 보호 영역에 접근하는 것을 허락하는 단계;를 포함하고,
사용자 프로세스가 수행되는 경우에 상기 제2 커널 페이지 테이블을 활성화시키고, 커널 프로세스가 수행될 때 상기 제1 커널 페이지 테이블을 활성화시키는 것을 특징으로 하는 명령어 레벨 데이터 격리 방법. - 제 1항에 있어서,
상기 접근제어기능은 ARM 아키텍쳐의 PAN 비트로 구현되고,
상기 허락하는 단계는, 상기 PAN 비트가 1이면 상기 특수 명령어만이 상기 보호 영역에 접근하는 것을 허락하는 단계를 특징으로 하는 명령어 레벨 데이터 격리 방법. - 제 1항에 있어서,
상기 특수 명령어는 비특권 레벨에서 상기 보호 영역에 대한 읽기 또는 쓰기 동작을 수행하는 명령어인 것을 특징으로 하는 명령어 레벨 데이터 격리 방법. - 제 1항에 있어서,
커널의 페이지 테이블 변경 요청이 있으면, 보호 영역의 물리적 주소가 다른 접근 권한을 가진 다른 가상 주소와 맵핑될 때 발생하는 이중-맵핑 문제를 검증하는 단계;를 더 포함하는 것을 특징으로 하는 명령어 레벨 데이터 격리 방법. - 제 1항에 있어서,
커널과 사용자 프로세스 중 어느 것이 동작하고 있는지에 따라 커널 페이지 테이블의 베이스 주소를 가리키는 레지스터의 값을 상기 제1 커널 페이지 테이블의 베이스 주소 또는 상기 제2 커널 페이지 테이블의 베이스 주소로 변경하는 단계;를 더 포함하는 것을 특징으로 하는 명령어 레벨 데이터 격리 방법. - 제 1항에 있어서,
TLB(Translation Lookaside Buffer)의 각 엔트리를 식별하는 서로 다른 제1 주소공간식별자(제1 ASID)와 제2 주소공간식별자(제2 ASID)를 커널과 사용자 프로세스에 각각 할당하는 단계를 더 포함하는 것을 특징으로 하는 명령어 레벨 데이터 격리 방법. - 페이지 테이블 및 레지스터에 대한 전권을 가지고, 커널보다 더 높은 특권을 가지는 시스템제어모듈; 및
메모리의 커널 공간에 생성된, 일반 커널 데이터를 저장하는 일반 영역과 비특권 레벨의 보호 영역;
상기 커널 공간의 전체의 주소 맵핑을 저장하는 제1 커널 페이지 테이블;
상기 보호 영역을 제외한 영역의 주소 맵핑을 저장하는 제2 커널 페이지 테이블;을 포함하고,
상기 시스템제어모듈은 특권 레벨에서 수행되는 명령어가 상기 보호 영역에 접근하는 것을 제한하고, 비특권 레벨에서 수행되는 기 설정된 특수 명령어가 상기 보호 영역에 접근할 수 있도록 접근제어기능을 설정하고,
상기 시스템제어모듈은 사용자 프로세스가 수행되는 경우에 상기 제2 커널 페이지 테이블을 활성화시키고, 커널 프로세스가 수행될 때 상기 제1 커널 페이지 테이블을 활성화시키는 것을 특징으로 하는 명령어 레벨 데이터 격리 장치. - 제 7항에 있어서,
상기 페이지 테이블은 읽기전용으로 상기 커널 공간에 구현되는 것을 특징으로 하는 명령어 레벨 데이터 격리 장치. - 제 7항에 있어서,
상기 접근제어기능은 ARM 아키텍쳐의 PAN 비트로 구현되고,
상기 시스템제어모듈은, 상기 PAN 비트의 설정을 통해 보호 영역에 대한 접근 제어를 수행하는 것을 특징으로 하는 명령어 레벨 데이터 격리 장치. - 제 7항에 있어서,
상기 시스템제어모듈은, 보호 영역의 물리적 주소가 다른 접근 권한을 가진 다른 가상 주소와 맵핑될 때 발생하는 이중-맵핑 문제를 검증하는 것을 특징으로 하는 명령어 레벨 데이터 격리 장치. - 제 7항에 있어서,
상기 시스템제어모듈은 커널과 사용자 프로세스 중 어느 것이 동작하고 있는지에 따라 페이지 테이블의 베이스 주소를 가리키는 레지스터의 값을 상기 제1 커널 페이지 테이블의 베이스 주소 또는 상기 제2 커널 페이지 테이블의 베이스 주소로 변경하는 것을 특징으로 하는 명령어 레벨 데이터 격리 장치. - 제 7항에 있어서,
상기 시스템제어모듈은 TLB의 각 엔트리를 식별하는 서로 다른 제1 주소공간식별자(제1 ASID)와 제2 주소공간식별자(제2 ASID)를 커널과 사용자 프로세스에 각각 할당하고, 커널과 사용자 프로세스 중 어느 것이 동작하는지에 따라 제1 ASID 또는 제2 ASID로 스위칭하는 것을 특징으로 하는 명령어 레벨 데이터 격리 장치. - 제 1항 내지 제 6항 중 어느 한 항에 기재된 방법을 수행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020170157942A KR102075701B1 (ko) | 2017-11-24 | 2017-11-24 | 명령어 레벨 데이터 격리 방법 및 장치 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020170157942A KR102075701B1 (ko) | 2017-11-24 | 2017-11-24 | 명령어 레벨 데이터 격리 방법 및 장치 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20190060109A KR20190060109A (ko) | 2019-06-03 |
| KR102075701B1 true KR102075701B1 (ko) | 2020-02-10 |
Family
ID=66849157
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020170157942A Active KR102075701B1 (ko) | 2017-11-24 | 2017-11-24 | 명령어 레벨 데이터 격리 방법 및 장치 |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR102075701B1 (ko) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2022092869A1 (ko) * | 2020-10-29 | 2022-05-05 | 삼성전자 주식회사 | 전자 장치 및 이를 이용한 메모리 보호 방법 |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102493066B1 (ko) * | 2021-01-26 | 2023-01-30 | 한양대학교 산학협력단 | 프로세스 내부 공격에 대응하기 위한 세밀한 고립 기술 |
| KR20220166675A (ko) | 2021-06-10 | 2022-12-19 | 삼성전자주식회사 | 보안을 위한 메모리 관리 방법 및 이를 위한 전자 장치 |
| CN113486356B (zh) * | 2021-06-30 | 2024-05-07 | 佛山职业技术学院 | 一种控制中断源的运行方法、装置、终端设备及存储介质 |
| CN116204884A (zh) * | 2021-11-30 | 2023-06-02 | 华为技术有限公司 | 内核保护方法、装置及系统 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012068741A (ja) * | 2010-09-21 | 2012-04-05 | Fujitsu Ltd | メモリアクセス制御プログラム、メモリアクセス制御方法、及び情報処理装置 |
| KR101666032B1 (ko) * | 2012-05-31 | 2016-10-14 | 한국전자통신연구원 | 로드 가능한 모듈에 대한 가상화 지원 방법 및 장치 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2483907A (en) * | 2010-09-24 | 2012-03-28 | Advanced Risc Mach Ltd | Privilege level switching for data processing circuitry when in a debug mode |
| KR101433644B1 (ko) * | 2011-11-09 | 2014-08-27 | 상명대학교서울산학협력단 | Arm 기반 운영체제의 가상화를 위한 정책 제공 시스템 및 방법 |
| US9628279B2 (en) | 2014-09-30 | 2017-04-18 | Microsoft Technology Licensing, Llc | Protecting application secrets from operating system attacks |
-
2017
- 2017-11-24 KR KR1020170157942A patent/KR102075701B1/ko active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012068741A (ja) * | 2010-09-21 | 2012-04-05 | Fujitsu Ltd | メモリアクセス制御プログラム、メモリアクセス制御方法、及び情報処理装置 |
| KR101666032B1 (ko) * | 2012-05-31 | 2016-10-14 | 한국전자통신연구원 | 로드 가능한 모듈에 대한 가상화 지원 방법 및 장치 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2022092869A1 (ko) * | 2020-10-29 | 2022-05-05 | 삼성전자 주식회사 | 전자 장치 및 이를 이용한 메모리 보호 방법 |
| US12301717B2 (en) | 2020-10-29 | 2025-05-13 | Samsung Electronics Co., Ltd. | Electronic device and memory protection method using same |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20190060109A (ko) | 2019-06-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11681793B2 (en) | Technologies for object-oriented memory management with extended segmentation | |
| US12253958B2 (en) | System for address mapping and translation protection | |
| US7401358B1 (en) | Method of controlling access to control registers of a microprocessor | |
| US7043616B1 (en) | Method of controlling access to model specific registers of a microprocessor | |
| US10447728B1 (en) | Technique for protecting guest processes using a layered virtualization architecture | |
| US9129106B2 (en) | Systems and methods for secure in-VM monitoring | |
| US8352694B2 (en) | Method of controlling memory access | |
| KR102075701B1 (ko) | 명령어 레벨 데이터 격리 방법 및 장치 | |
| US7130977B1 (en) | Controlling access to a control register of a microprocessor | |
| US7865683B2 (en) | Identifier associated with memory locations for managing memory accesses | |
| US20080222663A1 (en) | Policy-Based Direct Memory Access Control | |
| US7082507B1 (en) | Method of controlling access to an address translation data structure of a computer system | |
| KR20080030543A (ko) | 무단 변경 방지 방법, 무단 변경 방지 프로세서, 무단 변경방지 제품, 무단 변경 방지 시스템 | |
| CN116635855A (zh) | 基于执行上下文管理可执行代码对数据内存的访问的装置和方法 | |
| Zhou et al. | Protecting virtual machines against untrusted hypervisor on ARM64 cloud platform | |
| Gutierrez et al. | Cachelight: Defeating the cachekit attack |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
| D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-3-3-R10-R18-oth-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-3-3-R10-R18-oth-X000 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-3-3-R10-R13-asn-PN2301 St.27 status event code: A-3-3-R10-R11-asn-PN2301 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 6 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| R18 | Changes to party contact information recorded |
Free format text: ST27 STATUS EVENT CODE: A-5-5-R10-R18-OTH-X000 (AS PROVIDED BY THE NATIONAL OFFICE) |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |