KR20060069041A - 버퍼 오버플로우로부터 복귀주소를 보호하기 위한 메모리스택 분리 방법 및 장치 - Google Patents

버퍼 오버플로우로부터 복귀주소를 보호하기 위한 메모리스택 분리 방법 및 장치 Download PDF

Info

Publication number
KR20060069041A
KR20060069041A KR1020040108037A KR20040108037A KR20060069041A KR 20060069041 A KR20060069041 A KR 20060069041A KR 1020040108037 A KR1020040108037 A KR 1020040108037A KR 20040108037 A KR20040108037 A KR 20040108037A KR 20060069041 A KR20060069041 A KR 20060069041A
Authority
KR
South Korea
Prior art keywords
stack
buffer
return address
memory
return
Prior art date
Application number
KR1020040108037A
Other languages
English (en)
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 엘지전자 주식회사
Priority to KR1020040108037A priority Critical patent/KR20060069041A/ko
Publication of KR20060069041A publication Critical patent/KR20060069041A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection 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/1425Protection 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 physical, e.g. cell, word, block
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 크래킹 혹은 바이러스의 주요 공격 수단으로서의 버퍼 오버플로우(Buffer Overflow) 공격을 방어하기 위해 메모리의 일부에 분리 스택(Split Stack)을 두고, 티엘비(TLB:Translate Look-aside Buffer)를 이용한 분리 스택을 통해 다른 데이터로부터 복귀주소를 분리하여 보호하기 위한 보호 메커니즘을 제공하며, 잠김 비트를 이용해 티엘비의 한 블록을 잠그도록 하여 방어하도록 하는, 버퍼 오버플로우로부터 복귀주소를 보호하기 위한 메모리 스택 분리 방법 및 장치에 관한 것으로서,
본 발명에 의하면, 버퍼 오버플로우 공격을 하드웨어적으로 방어함으로써, 소프트웨어를 이용한 방법에 비하여 성능의 저하를 줄일 수 있고, 새로운 하드웨어의 사용을 최대한 줄일 수 있으며, 기존의 하드웨어를 수정하여 이용함으로써 구현 비용을 낮추는 효과가 있다. 또한, 기존에 사용하는 소프트웨어와의 호환성을 유지하여 쉽게 사용할 수 있도록 사용자의 편의성을 증가시키는 효과가 있다.
버퍼, 오버플로우, 메모리, 스택, 분리, 복귀, 리턴, 주소, CSP, TLB

Description

버퍼 오버플로우로부터 복귀주소를 보호하기 위한 메모리 스택 분리 방법 및 장치{Method and Device for Splitting Memory Stack for Protecting Return-Address from Buffer Overflow Attack}
도 1a는 버퍼 오버플로우로부터 복귀 주소를 보호하기 위한 Xu, et al의 방안을 나타낸 것이고,
도 1b는 버퍼 오버플로우로부터 복귀 주소를 보호하기 위한 Lee, et al의 방안이며,
도 1c는 버퍼 오버플로우로부터 복귀 주소를 보호하기 위한 Smash Guard의 방안을 나타낸 것이며,
도 2는 본 발명의 실시예에 따른 버퍼 오버플로우로부터 복귀주소를 보호하기 위한 메모리 스택 분리 방법을 설명하기 위한 개념도이다.
< 도면의 주요 부분에 대한 부호의 설명 >
dTLB : Data Translation Look-aside Buffer
본 발명은 버퍼 오버플로우(Buffer Overflow)로부터 복귀주소를 보호하기 위한 메모리 스택 분리 방법 및 장치에 관한 것으로서, 더욱 상세하게는 크래킹 혹은 바이러스의 주요 공격 수단으로서의 버퍼 오버플로우(Buffer Overflow) 공격을 방어하기 위해 메모리의 일부에 분리 스택(Split Stack)을 두고, 티엘비(TLB:Translate Look-aside Buffer)를 이용한 분리 스택을 통해 다른 데이터로부터 복귀주소를 분리하여 보호하기 위한 보호 메커니즘을 제공하며, 잠김 비트를 이용해 티엘비의 한 블록을 잠그도록 하여 방어하는, 버퍼 오버플로우로부터 복귀주소를 보호하기 위한 메모리 스택 분리 방법 및 장치에 관한 것이다.
최근, 인터넷이 크게 성장하면서 인터넷에 대한 공격 역시 급속도로 증가하였다. 다양한 공격 방법 중 가장 많은 비중을 차지하는 것이 버퍼 오버플로우 공격이다. 1988년 최초의 웜인 모리스 웜에서 버퍼 오버플로우 취약점을 이용한 것을 시작으로 최근의 코드레드, 블래스터 웜에 이르기까지 많은 곳에서 버퍼 오버플로우를 이용한 공격이 지속되어 왔다.
버퍼 오버플로우는 메모리에 할당된 버퍼의 양을 초과하는 데이터를 입력하여 프로그램의 복귀 주소(Return Address)를 조작하여 궁극적으로 해커가 원하는 코드를 실행하는 것이다. 여기서 "버퍼(Buffer)"란 프로그램 처리 과정에 필요한 데이터가 일시적으로 저장되는 공간으로 메모리의 스택(Stack) 영역과 힙(Heap) 영역이 여기에 속하며, "버퍼 오버플로우"가 이 두 가지 영역 중 어떤 것을 이용하느냐에 따라서 두 가지로 분류할 수 있다.
그런데, 버퍼 오버플로우 공격 중 가장 일반적인 유형은 오버플로우를 통해 스택에 저장된 복귀 주소를 변경하는 스택 스매싱이다. 대부분의 경우 버퍼와 복귀 주소는 인접해 있기 때문에 적은 노력으로 버퍼 오버플로우를 일으키기 쉽기 때문이다. 따라서, 스택 스매싱을 막기 위해서는 복귀 주소를 보호해야 한다.
복귀 주소를 보호하는 방법에는 복귀 주소와 버퍼 사이에 '캐너리(Canary)'라고 불리는 임의의 값을 삽입하여, 공격자가 버퍼 오버플로우를 일으키는 경우에 캐너리 값의 변화를 감지할 수 있게 하는 방법과, 복귀 주소를 현재와 같이 스택에 저장하지 않고 별도의 공간에 저장을 하여 공격의 가능성을 차단하는 방법이 있다. 전자의 경우, 간단한 컴파일러의 수정으로 좋은 효과를 볼 수 있고 오버헤드가 적어 "Stack Guard", "Pro Police" 등 기존의 많은 소프트웨어적인 기법들에서 사용되었다. 후자의 경우, 복귀 주소의 악용을 원천적으로 막고 있어 보안성이 더 강하다는 장점을 가지고 있지만, 별도의 공간을 마련하고 보호해야 하는 추가 비용이 필요하기 때문에 하드웨어를 이용한 방어법에서 주로 이용되고 있다.
하드웨어를 이용한 종래 기술로서 Xu, et al이나 Lee, et al 및 Smash Guard 방어법 등이 논문으로서 알려져 있다. 도 1a는 버퍼 오버플로우로부터 복귀 주소를 보호하기 위한 Xu, et al의 방안을 나타낸 것이고, 도 1b는 Lee, et al의 방안이며, 도 1c는 Smash Guard의 방안을 나타낸 도면이다.
기존의 대부분의 소프트웨어적인 방법들이 가진 한계인 성능 저하를 줄이고, 보안성을 높이기 위해 제기되고 있는 하드웨어적인 기법들은 공통적으로 복귀 주소를 보호하기 위해 기존의 데이터와 함께 복귀 주소를 저장하지 않고, 별도의 하드웨어 스택을 두어 복귀 주소를 저장하는 후자의 방식을 따르고 있다.
Xu, el al이 처음 그의 논문에서 복귀 주소를 저장하기 위한 별도의 장소로 하드웨어의 지원을 받는 메모리의 일부를 이용하거나 파이프라인의 성능을 높이기 위해 사용하는 RAS(Return Address Stack)를 이용하자는 제안을 하였다. Lee, et al이나 Smash Guard 방어법은 기존의 하드웨어를 활용하는 대신에 복귀 주소를 저장하기 위한 새로운 저장 장치를 둘 것을 제안하였다. 그러나 이러한 방법들은 다음과 같은 문제가 따른다.
Xu, et al의 경우, 큰 틀의 아이디어를 제시하였을 뿐 어떻게 별도의 저장 공간을 확보할 것인지에 대한 구체적인 방법을 제시하지 않았다. 또한 복귀 주소가 메모리에 저장됨에도 불구하고 버퍼 오버플로우로부터 보호될 수 있는 메커니즘을 제시하고 있지 않다는 문제점이 있다. 또한, Lee, et al이나 Smash Guard의 경우, 복귀 주소를 저장할 별도의 공간으로서 캐시와 같은 새로운 저장 공간을 두도록 함으로써 비용이 크게 증가하게 된다는 단점과, 새로운 저장 공간에 대한 명확한 정의를 내리지 않고 있다는 문제점이 있다.
상기 문제점을 해결하기 위해 본 발명은, 크래킹 혹은 바이러스의 주요 공격 수단으로서의 버퍼 오버플로우 공격을 방어하기 위해 메모리의 일부에 분리 스택을 두고, 티엘비(TLB)를 이용한 분리 스택을 통해 다른 데이터로부터 복귀주소를 분리하여 보호하기 위한 보호 메커니즘을 제공하며, 잠김 비트를 이용해 티엘비의 한 블록을 잠그도록 하여 방어하는, 버퍼 오버플로우로부터 복귀주소를 보호하기 위한 메모리 스택 분리 방법 및 장치를 제공함에 그 목적이 있다.
상기 목적을 달성하기 위한 본 발명에 따른 메모리 스택 분리 방법은, 버퍼 오버플로우 공격으로부터 복귀주소를 보호하기 위한 메모리 스택 분리 방법에 있어서, 메모리의 스택 영역을 버퍼 영역과 분리스택 영역으로 분리하는 제1 단계; 티엘비에 따라 상기 분리스택 영역을 한 블록의 잠금 상태로 하여 보호하는 제2 단계; 및 상기 분리 스택 영역의 최상부에 있는 복귀 주소를 복귀시키는 제3 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명의 다른 목적에 따른 메모리는, 버퍼 오버플로우 공격으로부터 복귀주소를 보호하기 위하여, 스택 영역에 대하여 데이터를 저장하기 위한 버퍼 영역과 복귀 주소를 저장하기 위한 분리스택 영역으로 분리된 것을 특징으로 한다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다.
우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소 들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다.
또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 2는 본 발명의 실시예에 따른 버퍼 오버플로우로부터 복귀주소를 보호하기 위한 메모리 스택 분리 방법을 설명하기 위한 개념도이다.
먼저, 본 발명에서는 메모리의 스택을 버퍼(Buffer) 영역과 복귀 주소(Return Address) 영역으로 분리(Split)한다. 도 2의 (a)에 도시된 바와 같이 버퍼1, 버퍼2, 버퍼3, ... 등으로 구성되는 스택 영역과, 복귀주소1, 복귀주소2, 복귀주소3, ...등으로 구성되는 분리스택 영역으로 나누는 것이다.
이어, 분리스택 영역을 버퍼 오버플로우 공격으로부터 보호하기 위해 dTLB(Data Translation Look-aside Buffer)를 호출한다. 여기서 TLB란 가상 주소를 물리적 주소로 변환하기 위해 참조하는 일종의 테이블로서, 명령어를 위한 iTLB와, 데이터를 위한 dTLB로 나뉘는데, 본 발명에서는 사용 빈도가 상대적으로 적은 dTLB를 사용한다.
dTLB 함수를 호출한 이후, 도 2의 (b)와 같이 dTLB에 따라 잠금 비트(Locking Bit)를 이용하여 분리스택 영역을 보호한다. 따라서, dTLB에 의해 보호된 한 블록을 잠금으로써 잠긴 dTLB 블록이 가리키는 메모리 영역이 복귀 주소를 저장 하는 스택이 되는 것이다. 이때, 잠금 상태인 분리스택 영역은 dTLB의 호출과 복귀시에만 쓰기/읽기를 가능하게 함으로써 그 메모리 영역을 보호한다. 또한, 대체 알고리즘(LRU, FIFO, Random)에 의해 바뀌지 않도록 구조를 바꾼다. 그 밖에 새로 생긴 스택의 최상부를 가리키는 값을 저장하기 위해 CSP라는 이름의 레지스터를 추가한다.
여기서, 복귀 주소가 저장된 분리스택 영역을 잠그는 방식에는 여러가지가 있다.
하나는 동적인 방식으로, TLB 전체에 잠금 비트를 추가하고 설정 여부를 OS(Operating System)로 하여금 제어하게 하는 방식이다. 이 경우, 잠금 비트의 설정 여부에 따라 추가비용 없이 손쉽게 분리된 스택의 크기를 조절할 수 있는 장점을 가진다. 하지만 TLB마다 잠금 비트를 추가하는 비용이 크게 증가한다.
또 하나의 방식은 정적인 것으로, 한 블록을 일정 용량 크기로 처음부터 잠그도록 하는 것이다. dTLB의 한 블록의 크기가 4K 바이트라 가정하면, 1024 개의 복귀 주소를 저장할 수 있으므로 분리스택 영역의 크기를 늘릴 필요성이 거의 없게 된다. 이는 동적 할당처럼 분리된 스택의 크기를 조절하지 못하지만 TLB 전체에 잠금 비트를 추가해야 하는 비용을 줄일 수 있고 구조가 단순해지는 장점을 가지게 된다.
한편, 분리스택 영역을 보호한 이후에는 도 2의 (c)에 도시된 바와 같이 분리스택 영역에서 dTLB에 의해 최상부에 있는 복귀주소3를 리턴한다. 따라서, 분리스택 영역의 최상부를 가리키는 레지스터 CSP의 값이 복귀주소2가 된다.
dTLB에 따른 분리스택 영역의 한 블록을 다른 용도로 사용함에 따라 원래의 dTLB에 비해 "Miss"가 증가하지만, 이것은 거의 무시해도 좋을 양이다. 도 2의 (b)에 도시된 바와 같이 128 개의 엔트리를 가진 블록 크기 4K Bytes, 4 Way Associative dTLB의 경우 "Miss"율이 단지 0.05%만 증가하게 된다.
정적인 방식의 경우, 이 부분에 관해서는 별도의 구현 비용을 필요로 하지 않는다. 그러나 동적인 방식의 경우, dTLB의 블록을 잠그기 위해서 각 블록마다 잠김 여부를 표시하기 위한 잠금 비트가 필요하다. 또한 잠김 여부를 검사하기 위한 절차(Routine)가 추가되어야 한다. 하지만 블록 단위로 잠글 수 있는 것은 다양한 응용이 가능하고, 실제로 Arm 프로세서와 같이 새로 개발되는 프로세서에 채택할 수 있다.
전술한 바와 같이 본 발명에 의하면, 크래킹 혹은 바이러스의 주요 공격 수단인 버퍼 오버플로우 공격을 방어하기 위해 메모리의 일부에 분리 스택을 두고, 티엘비(TLB)를 이용한 분리 스택을 통해 다른 데이터로부터 복귀주소를 분리하여 보호하기 위한 보호 메커니즘을 제공하며, 잠김 비트를 이용해 티엘비의 한 블록을 잠그도록 하여 방어하는, 버퍼 오버플로우로부터 복귀주소를 보호하기 위한 메모리 스택 분리 방법 및 장치를 실현할 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질 적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다.
따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다.
본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이 본 발명에 의하면, 버퍼 오버플로우 공격을 하드웨어적으로 방어함으로써, 소프트웨어를 이용한 방법에 비하여 성능의 저하를 줄일 수 있고, 새로운 하드웨어의 사용을 최대한 줄일 수 있으며, 기존의 하드웨어를 수정하여 이용함으로써 구현 비용을 낮추는 효과가 있다. 또한, 기존에 사용하는 소프트웨어와의 호환성을 유지하여 쉽게 사용할 수 있도록 사용자의 편의성을 증가시키는 효과가 있다.

Claims (9)

  1. 버퍼 오버플로우(Buffer Overflow) 공격으로부터 복귀주소를 보호하기 위한 메모리 스택 분리 방법에 있어서,
    메모리의 스택 영역을 버퍼 영역과 분리스택(Split Stack) 영역으로 분리하는 제1 단계;
    티엘비(dTLB:Data Translation Look-aside Buffer)에 따라 상기 분리스택 영역을 한 블록의 잠금 상태로 하여 보호하는 제2 단계; 및
    상기 분리 스택 영역의 최상부에 있는 복귀 주소를 복귀시키는 제3 단계를 포함하는 것을 특징으로 하는 메모리 스택 분리 방법.
  2. 제 1 항에 있어서,
    상기 분리 스택 영역은 다수의 복귀 주소만으로 이루어진 것을 특징으로 하는 메모리 스택 분리 방법.
  3. 제 1 항에 있어서,
    상기 제3 단계에서, 상기 복귀 주소가 복귀된 이후 상기 최상부를 가리키는 씨에스피(CSP)의 레지스터 값이 다음 번지에 있는 복귀 주소로 변경되는 것을 특징으로 하는 메모리 스택 분리 방법.
  4. 제 1 항에 있어서,
    상기 제2 단계에서, 상기 분리스택 영역이 상기 티엘비(TLB)의 호출과 복귀시에만 쓰기/읽기가 가능하도록 보호된 것을 특징으로 하는 메모리 스택 분리 방법.
  5. 제 1 항에 있어서,
    상기 제2 단계에서, 상기 분리스택 영역의 전체에 잠금 비트를 추가하고 설정 여부를 OS(Operating System)로 하여금 제어하게 하는 동적인 방식으로 잠그는 것을 특징으로 하는 메모리 스택 분리 방법.
  6. 제 1 항에 있어서,
    상기 제2 단계에서, 상기 한 블록을 일정한 용량 크기로 처음부터 잠그도록 하는 것을 특징으로 하는 메모리 스택 분리 방법.
  7. 버퍼 오버플로우(Buffer Overflow) 공격으로부터 복귀주소를 보호하기 위하여, 스택 영역에 대하여 데이터를 저장하기 위한 버퍼 영역과 복귀 주소를 저장하기 위한 분리스택(Split Stack) 영역으로 분리된 것을 특징으로 하는 메모리.
  8. 제 7 항에 있어서,
    상기 분리스택 영역은, 티엘비(dTLB:Data Translation Look-aside Buffer)에 따라 한 블록을 잠금 상태로 하여 보호하고, 상기 분리스택 영역의 최상부에 있는 복귀 주소를 상기 티엘비에 따라 복귀시키는 것을 특징으로 하는 메모리.
  9. 제 7 항 또는 제 8 항에 있어서,
    상기 분리스택 영역은 상기 티엘비(TLB)의 호출과 복귀시에만 쓰기/읽기가 가능하도록 보호된 것을 특징으로 하는 메모리.
KR1020040108037A 2004-12-17 2004-12-17 버퍼 오버플로우로부터 복귀주소를 보호하기 위한 메모리스택 분리 방법 및 장치 KR20060069041A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040108037A KR20060069041A (ko) 2004-12-17 2004-12-17 버퍼 오버플로우로부터 복귀주소를 보호하기 위한 메모리스택 분리 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040108037A KR20060069041A (ko) 2004-12-17 2004-12-17 버퍼 오버플로우로부터 복귀주소를 보호하기 위한 메모리스택 분리 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20060069041A true KR20060069041A (ko) 2006-06-21

Family

ID=37163264

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040108037A KR20060069041A (ko) 2004-12-17 2004-12-17 버퍼 오버플로우로부터 복귀주소를 보호하기 위한 메모리스택 분리 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20060069041A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100858237B1 (ko) * 2006-11-07 2008-09-12 주식회사 안철수연구소 Tlb를 이용한 메모리 접근 제어 방법
US9703622B2 (en) 2013-06-18 2017-07-11 Nxp Usa, Inc. Detection of data corruption in a data processing device
KR20180038262A (ko) * 2016-10-06 2018-04-16 명지대학교 산학협력단 데이터 히든 장치 및 이에 있어서 프로그램 구동 방법
US10445168B2 (en) 2013-06-18 2019-10-15 Nxp Usa, Inc. Device and method for executing a program, and method for storing a program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100858237B1 (ko) * 2006-11-07 2008-09-12 주식회사 안철수연구소 Tlb를 이용한 메모리 접근 제어 방법
US9703622B2 (en) 2013-06-18 2017-07-11 Nxp Usa, Inc. Detection of data corruption in a data processing device
US10445168B2 (en) 2013-06-18 2019-10-15 Nxp Usa, Inc. Device and method for executing a program, and method for storing a program
KR20180038262A (ko) * 2016-10-06 2018-04-16 명지대학교 산학협력단 데이터 히든 장치 및 이에 있어서 프로그램 구동 방법

Similar Documents

Publication Publication Date Title
US11734199B2 (en) Enforcing memory operand types using protection keys
US10558377B2 (en) Deduplication-based data security
JP5581403B2 (ja) メモリのセキュア領域および非セキュア領域へのセキュアモードページテーブルデータの格納
US10599835B2 (en) 32-bit address space containment to secure processes from speculative rogue cache loads
CN109002706B (zh) 一种基于用户级页表的进程内数据隔离保护方法和系统
US10706147B1 (en) Mitigating side-channel attacks via shared cache
JP5647252B2 (ja) メモリ管理装置及び仮想メモリ領域を提供する方法
US6408373B2 (en) Method and apparatus for pre-validating regions in a virtual addressing scheme
US9734326B2 (en) Dynamic interrupt stack protection
US10049048B1 (en) Method and system for using processor enclaves and cache partitioning to assist a software cryptoprocessor
US8185952B2 (en) Static and dynamic firewalls
Alex et al. Characterizing, exploiting, and detecting DMA code injection vulnerabilities in the presence of an IOMMU
US8621238B1 (en) Using software-based decision procedures to control instruction-level execution
CN115879107A (zh) 计算机装置及其访存方法、处理装置和存储介质
US7174429B2 (en) Method for extending the local memory address space of a processor
Müller Kpti a mitigation method against meltdown
US10380338B2 (en) System and method for intra-level privilege seperation for system software on arm
KR102075701B1 (ko) 명령어 레벨 데이터 격리 방법 및 장치
KR20060069041A (ko) 버퍼 오버플로우로부터 복귀주소를 보호하기 위한 메모리스택 분리 방법 및 장치
Zhang et al. Now you see me: Hide and seek in physical address space
Mandt Kernel pool exploitation on Windows 7
US11003597B2 (en) Memory domains protection method and apparatus with composite protection key numbers
JPH03154949A (ja) ストアされたデータのプロテクシヨン方法及びシステム
EP4310711A1 (en) Sensitive data reading method and apparatus, electronic device, and storage medium
CN115618336A (zh) 缓存及其操作方法、计算机装置

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination