KR100490732B1 - 컴퓨터 운영체제에서의 커널 수준의 스택 오버플로우 방지방법 - Google Patents

컴퓨터 운영체제에서의 커널 수준의 스택 오버플로우 방지방법 Download PDF

Info

Publication number
KR100490732B1
KR100490732B1 KR10-2002-0075180A KR20020075180A KR100490732B1 KR 100490732 B1 KR100490732 B1 KR 100490732B1 KR 20020075180 A KR20020075180 A KR 20020075180A KR 100490732 B1 KR100490732 B1 KR 100490732B1
Authority
KR
South Korea
Prior art keywords
stack
operating system
area
code
stack overflow
Prior art date
Application number
KR10-2002-0075180A
Other languages
English (en)
Other versions
KR20040047097A (ko
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 KR10-2002-0075180A priority Critical patent/KR100490732B1/ko
Publication of KR20040047097A publication Critical patent/KR20040047097A/ko
Application granted granted Critical
Publication of KR100490732B1 publication Critical patent/KR100490732B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1016Error in accessing a memory location, i.e. addressing error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0684Configuration or reconfiguration with feedback, e.g. presence or absence of unit detected by addressing, overflow detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Executing Machine-Instructions (AREA)
  • Storage Device Security (AREA)

Abstract

컴퓨터 운영체제(operating system)에서의 커널(kernel) 수준의 스택 오버플로우(stack overflow) 방지 방법을 개시한다.
본 발명에 따른 방법은, 운영체제의 스택 오버플로우 결함을 이용하여 시스템 관리자 권한을 획득하는 시스템 해킹을 방지하는데 적합한 운영체제에서의 스택 오버플로우 방지 기술에 관한 것이다.
일반적인 라이브러리(library) 형태의 스택 오버플로우 방지 기술은, 라이브러리 형태가 운영체제에 종속적이기 때문에, 라이브러리가 장착되지 않으면 기본적인 시스템 해킹으로부터 쉽게 노출될 수 있다는 문제가 있었다. 이에, 본 발명은, 운영체제 커널내에서 스택 영역에서의 코드 실행을 중지시켜 스택 오버플로우를 이용한 시스템 관리자 권한 획득을 방지할 수 있는 커널 수준의 스택 오버플로우 방지 기법을 제시한다. 부가적으로, 시스템의 관리자 권한 획득을 제한하여 프로그램 오류로 인한 정보 유출을 사전에 방지할 수 있는 기술을 구현하고자 한다.

Description

컴퓨터 운영체제에서의 커널 수준의 스택 오버플로우 방지 방법{METHOD FOR BLOCKING A STACK OVERFLOW ON OPERATING SYSTEM KERNEL}
본 발명은 컴퓨터 시스템에 접근하는 사용자가 스택 오버플로우를 일으켜 수퍼유저(super-user) 권한을 획득하고 시스템을 공격하는 것을 막는 기법에 관한 것으로, 특히, 운영체제의 스택 오버플로우 결함을 이용하여 시스템 관리자 권한을 획득하는 시스템 해킹을 방지하는데 적합한 컴퓨터 운영체제에서의 커널 수준의 스택 오버플로우 방지 방법에 관한 것이다.
최근들어, 컴파일러(compiler)와 같은 라이브러리(library) 또는 유틸리티에서 버퍼를 넘어서는 쓰기를 금지하는 방법이 사용되고 있는데, 예를 들어, 스트링(string)을 복사하는 'strcpy' 라이브러리를 사용할 때, 버퍼를 넘어선 복사를 막기 위하여 버퍼 크기만큼의 양을 복사하는 'strncpy' 라이브러리를 사용하도록 컴파일러 등에서 권장하는 기법이 사용된다.
이러한 경우, 버퍼 오버플로우를 막는 라이브러리를 사용하지 않는다거나, 컴파일러의 경고 메시지를 무시하면 버퍼 오버플로우를 막을 수 없다는 문제가 있다.
즉, 라이브러리 또는 컴파일러에서 스택 오버플로우를 막는 기법은 근본적인 해결책이 될 수 없으므로 커널 수준에서 스택 오버플로우를 막는 기법이 필요하다.
본 발명은 상술한 필요에 의해 안출한 것으로, 운영체제 커널내에서 해당 시그널 코드를 실행될 수 있는 영역에 복사하여 실행토록 하고, 스택 영역에서의 코드 실행을 중지시켜 스택 오버플로우를 이용한 시스템 관리자 권한 획득을 방지하도록 한 컴퓨터 운영체제에서의 커널 수준의 스택 오버플로우 방지 방법을 제공하는데 그 목적이 있다.
이러한 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따르면,컴퓨터 운영체제에서의 커널 수준의 스택 오버플로우 방지 방법에 있어서, 커널내 실행 코드 영역과 데이터 영역을 초기화하고, 실행 코드 영역과 데이터 영역의 제한(limit)을 설정하여 스택 실행을 방지하는 제 1 단계와; 스택 실행시의 시그널 복귀 처리 코드를 실행 가능 영역에 복사하는 제 2 단계와; 스택 오버플로우에 의해 스택 영역에서의 실행시 발생하는 일반 보호 결함 트랩을 처리하는 제 3 단계를 포함하는 컴퓨터 운영체제에서의 커널 수준의 스택 오버플로우 방지 방법을 제공한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세하게 설명한다.
설명에 앞서, 본 발명은, 실행 코드 영역과 데이터 영역으로 구분되는 커널 내에서, 스택 영역을 실행 가능 영역에서 제외시켜 스택 영역에서의 실행을 방지하도록 한 것이다. 예컨대, 정상적인 경우에는 스택 영역에서의 실행은 이루어지지 않으나, 커널 내의 시그널을 처리할 때 시그널 처리 이후에 복귀되는 코드는 스택 영역에서 실행된다. 이러한 점을 이용하여 본 발명에서는 해당 시그널 코드를 실행될 수 있는 영역에 복사하여 실행토록 하고 스택 영역에서의 실행을 금지시켜 스택 오버플로우를 방지하도록 하는데 그 특징이 있다.
또한, 본 발명은 상업적 분야의 유연성과 안전성을 도모하기 위하여, 스택에서 실행을 하는 경우에 커널내에서 일반 보호 결함 트랩(General Protection Fault Trap)을 하드웨어적으로 발생케 하여 스택에서의 실행을 알 수 있으며, 이 트랩이 발생한 경우에 발생한 실행 인스트럭션 주소를 확인하여 스택영역이면 버스 오류(Bus Error)를 일으켜 악의 있는 사용자의 스택 실행을 막는 기능을 제공하고, 이러한 기능들을 제공함에 있어서 사용자의 관여 없이 커널 수준에서 제공함으로 시스템의 일상적인 운용에 특별한 제한을 두지 않도록 한다는데 그 특징이 있다.
도 1은 본 발명에 따른 스택 오버플로우 방지 방법이 적용되는 전형적인 운영체제의 연결 구성도로서, 다수의 사용자(100/1∼100/n)를 포함하는 사용자 블록(100), 사용자(100/1∼100/n)의 요구에 대응하는 운영처리를 수행하는 운영체제 블록(110), 운영체제 블록(110)과 연동되어 소프트웨어적으로 트랩이 발생되도록 하는 하드웨어 블록(120)으로 각각 구성된다.
도 1에 도시한 바와 같이, 운영체제 블록(110)내에는, 사용자 블록(100)의 요구에 의한 스택 영역에서의 실행이 일어날 때 스택에서의 실행이 되는 경우에 일반 보호결함 트랩이 발생되도록 초기화하는 스택 실행 방지 초기화부(111)와, 스택 영역에서의 실행이 일어났을 때 발생한 일반 보호 결함 트랩을 처리하는 트랩 처리부(113)와, 기존의 스택 영역에 존재하던 시그널 복귀 코드를 실행가능한 영역으로 복사하여 처리되도록 하는 시그널 처리부(112)가 각각 구비된다.
이때, 트랩 처리부(113)는 본 발명에서 코드 영역이 아닌 스택 영역에서 실행한 경우에 트랩이 발생할 수도 있고 종래의 기술에서 사용한 그 이외의 경우에도 발생할 수 있으므로, 두 가지 경우를 구분하여 처리하여야 한다.
도 2는 본 발명의 바람직한 실시예에 따른 스택 오버플로우 방지 방법으로서, 커널내의 실행 코드 영역과 데이터 영역을 초기화하는 과정의 흐름도이다.
먼저, 인텔 계열 시스템의 경우에는 사용자 주소 공간에서 코드 세그먼트와 데이터 세그먼트라하여서 실행 코드와 데이터 영역의 주소 공간을 지정하는 프로세서 종속적인 세그먼트 레지스터를 가진다. 이는 코드 영역과 데이터 영역의 마지막 제한 주소를 지정하는데 사용한다. 커널 주소 공간은 전역 디스크립터 테이블(Global Descriptor Table)에 지정하며 사용자 주소 공간은 지역 디스크립터 테이블(Local Descriptor Table)에 지정하여 사용한다.
코드 영역의 제한(Limit)은 스택 영역에서의 실행을 금지하지 않을 때 스택 영역의 마지막이며, 사용자 영역의 마지막을 나타내는 0xbfc00000 주소를 지정하나, 본 발명에서는 코드 영역을 스택 영역의 시작 점에서 시그널 코드를 적재한 이후의 주소인 0xbbc01000 주소로 지정한다. 따라서, 스택 영역에서 실행하게 되면 프로세서에서 일반 보호 결함 트랩이 발생한다.
이 트랩은 코드 영역이 아닌 다른 영역에서 실행을 한 경우 이외에도 코드 세그먼트, 데이터 세그먼트 등의 제한을 넘었다거나, 읽기만 가능한 세그먼트에 쓰기를 하는 경우에도 발생하므로 스택 영역의 실행을 확인하여야 한다.
시스템 초기화 시에 스택 영역에서의 실행을 막기 위해 스택 실행 방지 초기화부(111)에서는 코드 영역의 리미트에 스택 영역을 제외하는 스택 실행을 방지하는 초기화 과정을 수행한다.
먼저, 사용자 코드 영역은 지역 디스크립터 테이블의 코드 세그먼트 리미트 값이 사용자 스택의 마지막 주소에 사용자 주소 페이지(2페이지)를 더한 주소인 0xbfc02000이었다면, 본 발명에서는 스택 영역의 시작 주소에 한 페이지를 더한 주소인 0xbbc01000으로 설정한다(단계 210).
그리고, 사용자 데이터 영역은 지역 디스크립터 테이블의 데이터 세그먼트 리미트 값을 사용자 스택의 마지막 주소인 0xbfc00000로 설정한다(단계 220). 이후에는 스택 영역에서 실행을 하면 일반 보호 결함 트랩이 발생하게 된다.
도 3은 본 발명에 따른 스택 오버플로우 방지 방법으로서, 정상적인 시그널 처리를 위하여 실행 및 실제 시그널 처리 과정의 흐름도이다.
상술한 바와 같은 트랩이 발생하는 경우는 코드 영역 이후에서 실행하는 경우인데, 기존의 운영체제에서는 시그날 처리 이후에 사용자 모드로 복귀하는 코드가 스택 영역에서 실행을 하였다.
따라서, 도 3에 도시한 바와 같이, 이러한 시그널 코드를 스택 영역에서 실행가능한 코드 영역으로 복사하여야 한다(단계 310).
시그널 코드가 복사되는 경우는 실행을 위한 환경을 구성할 때인데, 보통은 스택 영역의 맨 마지막에 시그날 코드를 복사한다. 본 발명에서는 스택 영역의 맨 처음 페이지에 복사하고, 그 페이지까지 실행이 가능하도록 코드 영역을 지정함으로써 시그널 코드의 실행이 가능하도록 하였다.
사용자 블록(100)에서 실행이 요청되면 시그널 처리부(112)의 시그널 처리를 위한 초기화와 함께 시그널이 발생되고, 이에 따른 처리를 수행한다.
먼저, 실행시에 시그널 처리 이후에 복귀하는 코드를 사용자의 스택 베이스 주소 이후에 복사한다(단계 310).
그런 후에 실제로 사용자 프로그램이 실행되는 동안에 시그널이 발생하는지를 판단하고(단계 320), 시그널이 발생하면 발생한 시그널에 해당하는 처리(예를 들면, 종료, 무시 등과 같은 처리)를 수행한다(단계 330).
다음, 시그널 처리 이후에 실행시에 복사해 놓은 실행 가능한 코드 영역의 시그널 복귀 코드를 실행한다(단계 340).
끝으로, 복귀 코드 실행에 의해 사용자 모드로 복귀한다(350).
전술한 바와 같이, 본 발명에서는 시그널이 발생하여 복귀 되는 코드가 스택 영역의 기본 주소 바로 다음에서 실행이 되어도 일반 보호 결함 트랩은 발생하지 않음을 알 수 있다.
도 4는 본 발명에 따른 스택 오버플로우 방지 방법으로서, 트랩이 발생할 때 스택 오버플로우에 의한 스택 영역 실행을 처리하는 트랩 처리 과정의 흐름도이다.
도 4의 과정은, 초기화에 의해 스택 영역에서의 실행은 금지하였으나 스택 영역의 실행뿐만 아니라 다른 경우에도 일반 보호 결함 트랩이 발생하므로 트랩이 발생하는 곳에서 스택 영역에서의 실행인지를 확인하여 악의적인 사용자의 스택 영역 실행인 경우에는 버스 에러(Bus Error)가 발생하도록 구현한 것을 특징으로 한다.
사용자 요구에 의해 프로그램이 실행 도중에 스택 오버 플로우가 발생하고, 그에 따라 악의적인 코드가 스택 영역에서 실행되면, 일반 보호 결함 트랩이 발생한다(단계 410).
결함 트랩이 발생하면 트랩 처리부(113)에서는 트랩 처리를 수행한다. 먼저, 트랩 중 일반 보호 결함 트랩인가 확인하고(단계 410), 일반 보호 결함 트랩이면 다시 사용자 모드의 발생 트랩인지를 판단한다(단계 420).
사용자 모드 발생 트랩인 것으로 판단되면, 실행할 인스트럭션이 복귀이고, 주소가 스택 영역인지를 판단한다(단계 430, 단계 440).
실행할 인스트럭션이 복귀이고, 주소가 스택 영역으로 판단되면, 단계(450) 및 단계(470)로 진행하여 시스템 콘솔에 스택 영역에서의 실행임을 나타내는 메시지를 출력하여 버스 에러로 처리한다.
이때, 일반 보호 결함 트랩 조건만을 만족하고 상술한 나머지 조건들을 충족시키지 못한 경우에는 버스 에러만 처리 한다(단계 470).
한편, 단계(410)의 판단 결과, 트랩은 발생하였지만 일반 보호 결함 트랩이 아닌 것으로 판단되면, 해당 트랩만 처리한다(단계 460).
즉, 스택 오버플로우에 의한 시스템 해킹의 경우에는 오버플로우 이후에 해당 스택 영역에 악의적인 코드를 복사하여 실행시킴으로써 수퍼유저 권한 등을 획득할 수 있는데, 본 발명에서는, 커널 수준에서 스택 영역에서의 실행을 막음으로써 스택 오버플로우를 이용한 시스템 해킹을 근본적으로 차단시키도록 구현하였다.
이상 설명한 바와 같이, 본 발명은 사용자 수준에서의 스택 오버플로우가 발생하더라도 악의적인 코드를 스택 영역에 복사하여 스택 오버플로우의 실행을 막음으로써 스택 오버플로우를 이용한 해킹을 미연에 방지할 수 있다.
또한, 본 발명은 이러한 스택 영역에서의 악의적인 코드 실행을 막는 방법을 사용함으로써, 상업적 목적으로 운영되는 컴퓨터 시스템에서 기존의 기술들이 제공하지 못한 스택 오버플로우 방지 기능을 운영체제 수준에서 근본적으로 차단시킴으로써 편의성과 안전성을 동시에 제공하는 효과가 있다.
이상, 본 발명을 실시예에 근거하여 구체적으로 설명하였지만, 본 발명은 이러한 실시예에 한정되는 것이 아니라, 후술하는 특허청구범위의 요지를 벗어나지 않는 범위내에서 여러 가지 변형이 가능한 것은 물론이다.
도 1은 본 발명에 따른 방법이 적용되는 전형적인 컴퓨터 운영체제의 연결 구성도,
도 2는 본 발명에 따른 스택 오버플로우 방지 방법으로서, 초기화 과정의 흐름도,
도 3은 본 발명에 따른 스택 오버플로우 방지 방법으로서, 정상적인 시그널 처리를 위하여 실행 및 실제 시그널 처리 과정의 흐름도,
도 4는 본 발명에 따른 스택 오버플로우 방지 방법으로서, 트랩이 발생할 때 스택 오버플로우에 의한 스택 영역 실행을 처리하는 트랩 처리 과정의 흐름도,
<도면의 주요 부분에 대한 부호의 설명>
100 : 사용자 블록 110 : 운영체제 블록
111 : 초기화부 112 : 시그널 처리부
113 : 트랩 처리부 120 : 하드웨어 블록

Claims (4)

  1. 컴퓨터 운영체제(operating system)에서의 커널(kernel) 수준의 스택 오버플로우(stack overflow) 방지 방법에 있어서,
    상기 커널내 실행 코드 영역과 데이터 영역을 초기화하고, 상기 실행 코드 영역과 데이터 영역의 제한(limit)을 설정하여 스택 실행을 방지하는 제 1 단계와;
    상기 스택 실행시의 시그널 복귀 처리 코드를 실행 가능 영역에 복사하는 제 2 단계와;
    스택 오버플로우에 의해 스택 영역에서의 실행시 발생하는 일반 보호 결함 트랩을 처리하는 제 3 단계를 포함하는 컴퓨터 운영체제에서의 커널 수준의 스택 오버플로우 방지 방법.
  2. 제 1 항에 있어서,
    상기 제 2 단계는,
    상기 시그널 복귀 처리 코드를 상기 실행 가능 영역인 사용자 스택 베이스 주소에 복사하는 단계와;
    사용자 프로그램 실행 중 시그널이 발생하면, 발생된 시그널에 대응하는 작업을 처리하는 단계와;
    상기 실행 가능 영역에 복사된 상기 시그널 복귀 처리 코드를 실행시키는 단계와;
    사용자 모드로 복귀하는 단계로 이루어지는 것을 특징으로 하는 컴퓨터 운영체제에서의 커널 수준의 스택 오버플로우 방지 방법.
  3. 제 1 항에 있어서,
    상기 제 3 단계는,
    상기 스택 영역에서 실행되는 임의의 코드가 일반 보호 결함 트랩이면서 사용자 모드 트랩이면, 실행할 명령이 복귀 처리이면서 사용자 주소가 스택 영역인지를 판단하는 단계와;
    상기 단계의 판단 결과, 실행할 명령이 복귀 처리이면서 사용자 주소가 스택 영역이면, 임의의 프로그램이 상기 스택 영역에서 실행중임을 인지시키는 메시지를 외부로 출력하는 단계와;
    버스 에러 처리 과정을 수행하는 단계로 이루어지는 것을 특징으로 하는 컴퓨터 운영체제에서의 커널 수준의 스택 오버플로우 방지 방법.
  4. 제 3 항에 있어서,
    상기 제 3 단계는,
    상기 스택 영역에서 실행되는 임의의 코드가 일반 보호 결함 트랩이라는 조건만을 만족하면, 상기 버스 에러 처리 과정만을 처리하는 것을 특징으로 하는 컴퓨터 운영체제에서의 커널 수준의 스택 오버플로우 방지 방법.
KR10-2002-0075180A 2002-11-29 2002-11-29 컴퓨터 운영체제에서의 커널 수준의 스택 오버플로우 방지방법 KR100490732B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0075180A KR100490732B1 (ko) 2002-11-29 2002-11-29 컴퓨터 운영체제에서의 커널 수준의 스택 오버플로우 방지방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0075180A KR100490732B1 (ko) 2002-11-29 2002-11-29 컴퓨터 운영체제에서의 커널 수준의 스택 오버플로우 방지방법

Publications (2)

Publication Number Publication Date
KR20040047097A KR20040047097A (ko) 2004-06-05
KR100490732B1 true KR100490732B1 (ko) 2005-05-24

Family

ID=37342543

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0075180A KR100490732B1 (ko) 2002-11-29 2002-11-29 컴퓨터 운영체제에서의 커널 수준의 스택 오버플로우 방지방법

Country Status (1)

Country Link
KR (1) KR100490732B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010038662A (ko) * 1999-10-26 2001-05-15 서평원 컴퓨터 운영체제에서의 스택 오류 제어 방법
KR20010056714A (ko) * 1999-12-16 2001-07-04 이계철 버퍼 오버플로우 결함 검출 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010038662A (ko) * 1999-10-26 2001-05-15 서평원 컴퓨터 운영체제에서의 스택 오류 제어 방법
KR20010056714A (ko) * 1999-12-16 2001-07-04 이계철 버퍼 오버플로우 결함 검출 방법

Also Published As

Publication number Publication date
KR20040047097A (ko) 2004-06-05

Similar Documents

Publication Publication Date Title
US6986006B2 (en) Page granular curtained memory via mapping control
US7631249B2 (en) Dynamically determining a buffer-stack overrun
JP4759059B2 (ja) メモリページをプログラムに対応付けるページカラーリング
US10073986B2 (en) Regulating access to and protecting portions of applications of virtual machines
US6996677B2 (en) Method and apparatus for protecting memory stacks
US7735136B2 (en) 0-touch and 1-touch techniques for improving the availability of computer programs under protection without compromising security
US7665143B2 (en) Creating secure process objects
US10545851B2 (en) Breakpoint insertion into kernel pages
US20080133858A1 (en) Secure Bit
JP6370098B2 (ja) 情報処理装置、情報処理監視方法、プログラム、及び記録媒体
EP3864555B1 (en) Verifying a stack pointer
US7958296B2 (en) System management and advanced programmable interrupt controller
CN114902178A (zh) 域转换禁用配置参数
JP2001249848A (ja) 先行特権レベルに基づく特権昇格
KR100490732B1 (ko) 컴퓨터 운영체제에서의 커널 수준의 스택 오버플로우 방지방법
WO2022193629A1 (zh) 软件的保护方法、装置、电子设备及存储介质
Poslušný Signed kernel drivers–Unguarded gateway to Windows’ core
Keller Type-Safe Sandboxing of Memory-Unsafe C/C++ Libraries for Rust Programs
US7269830B2 (en) Methods and hardware for safe memory allocation in arbitrary program environments
GB2623800A (en) Stack pointer switch validity checking
Kuzuno et al. Protection Mechanism of Kernel Data Using Memory Protection Key
KR20240045550A (ko) 데이터 보호 시스템
CN114902180A (zh) 模间调用分支指令
Wilkerson et al. Hard-object: Enforcing object interfaces using code-range data protection

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120509

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee