KR100928865B1 - 컴퓨터 시스템에서의 스택 확장 및 보호 방법과 그 장치 - Google Patents
컴퓨터 시스템에서의 스택 확장 및 보호 방법과 그 장치 Download PDFInfo
- Publication number
- KR100928865B1 KR100928865B1 KR1020080018164A KR20080018164A KR100928865B1 KR 100928865 B1 KR100928865 B1 KR 100928865B1 KR 1020080018164 A KR1020080018164 A KR 1020080018164A KR 20080018164 A KR20080018164 A KR 20080018164A KR 100928865 B1 KR100928865 B1 KR 100928865B1
- Authority
- KR
- South Korea
- Prior art keywords
- stack
- register
- address
- base pointer
- address space
- Prior art date
Links
Images
Classifications
-
- 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/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30134—Register stacks; shift registers
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
-
- 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/1425—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 physical, e.g. cell, word, block
- G06F12/1441—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 physical, e.g. cell, word, block for a range
-
- 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/34—Addressing 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
Abstract
Description
Claims (11)
- 현재 스택에 관한 CPU 레지스터의 베이스포인터 레지스터(Base Pointer Register) 및 스택 포인터 레지스터(Stack Pointer Register) 값을 백업하는 단계;확장 스택으로 사용할 별도의 주소 공간을 할당하는 단계;베이스포인터 값을 비롯하여 상기 현재 스택에 존재하는 정보를 상기 할당된 주소 공간으로 복사하는 단계;상기 복사하는 단계에서 상기 할당된 주소 공간에 복사된 베이스포인터의 위치 주소를 CPU의 베이스포인터 레지스터에 설정하는 단계;상기 베이스포인터 레지스터에 설정된 위치 주소 값에서 상기 현재 스택에 저장된 지역 변수가 차지하는 총 크기만큼을 뺀 주소 값을 상기 CPU의 스택 포인터 레지스터에 설정하는 단계;및상기 백업된 베이스포인터 레지스터 및 스택 포인터 레지스터 값으로 상기 CPU 레지스터를 복원하는 단계를 포함하는스택 확장 및 보호 방법.
- 제 1 항에 있어서,상기 할당하는 단계는 상기 사용할 주소 공간을 힙(heap) 영역에 동적으로 할당하는스택 확장 및 보호 방법.
- 제 1 항에 있어서,상기 할당된 주소 공간을 해제하는 단계를 더 포함하는스택 확장 및 보호 방법.
- 제 1 항에 있어서,상기 할당된 주소 공간에서 함수 수행 동안 변하지 않는 정적인 영역에 쓰기 접근에 대한 제어를 추가하는 단계를 더 포함하는스택 확장 및 보호 방법.
- 제 4 항에 있어서,상기 정적인 영역은 함수 파라미터, 복귀 주소, 및 베이스 포인터를 포함하는스택 확장 및 보호 방법.
- 제 4 항에 있어서,상기 쓰기 접근에 대한 제어가 설정된 영역으로의 쓰기 행위를 감지하고 예외 처리(exception handling)하는스택 확장 및 보호 방법.
- 제 1 항에 있어서,상기 할당된 주소 공간에서 함수 수행 동안 변하지 않는 정적인 영역의 주소를 디버그 레지스터에 등록하는 단계를 더 포함하는스택 확장 및 보호 방법.
- 제 7 항에 있어서,상기 정적인 영역은 함수 파라미터, 복귀 주소, 및 베이스 포인터를 포함하는스택 확장 및 보호 방법.
- 제 7 항에 있어서,상기 디버그 레지스터에 등록된 주소에 접근이 감지되는 경우 예외 처리를 하는스택 확장 및 보호 방법.
- 현재 스택에 관한 CPU 레지스터의 베이스포인터 레지스터 및 스택 포인터 레지스터 값을 백업하는 수단;확장 스택으로 사용할 별도의 주소 공간을 할당하는 수단;베이스포인터 값을 비롯하여 상기 현재 스택에 존재하는 정보를 상기 할당된 주소 공간으로 복사하는 수단;상기 복사하는 수단에서 상기 할당된 주소 공간에 복사된 베이스포인터의 위치 주소를 CPU의 베이스포인터 레지스터에 설정하는 수단;상기 베이스포인터 레지스터에 설정된 위치 주소 값에서 상기 현재 스택에 저장된 지역 변수가 차지하는 총 크기만큼을 뺀 주소 값을 상기 CPU의 스택 포인터 레지스터에 설정하는 수단;및상기 백업된 베이스포인터 레지스터 및 스택 포인터 레지스터 값으로 상기 CPU 레지스터를 복원하는 수단을 포함하는스택 확장 및 보호 장치.
- 제 1 항 내지 제 9 항 중 어느 한 항에 의한 방법을 실행하기 위한 컴퓨터로 읽을 수 있는 프로그램을 기록한 기록매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080018164A KR100928865B1 (ko) | 2008-02-28 | 2008-02-28 | 컴퓨터 시스템에서의 스택 확장 및 보호 방법과 그 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080018164A KR100928865B1 (ko) | 2008-02-28 | 2008-02-28 | 컴퓨터 시스템에서의 스택 확장 및 보호 방법과 그 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090092923A KR20090092923A (ko) | 2009-09-02 |
KR100928865B1 true KR100928865B1 (ko) | 2009-11-30 |
Family
ID=41301455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080018164A KR100928865B1 (ko) | 2008-02-28 | 2008-02-28 | 컴퓨터 시스템에서의 스택 확장 및 보호 방법과 그 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100928865B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210063519A (ko) * | 2019-11-22 | 2021-06-02 | 현대오트론 주식회사 | 스택 결함 원인을 진단하는 방법 및 장치 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR960024985A (ko) * | 1994-12-27 | 1996-07-20 | 빈센트 이. 인그라시아 | 데이타 프로세싱 시스템내에서 기억확장 스택(memory extension stack)에 대한 장치 및 실현 방법 |
JP2003271448A (ja) | 2002-03-18 | 2003-09-26 | Fujitsu Ltd | スタック管理方法及び情報処理装置 |
KR20070092558A (ko) * | 2006-03-10 | 2007-09-13 | 삼성전자주식회사 | 가상 머신에서 스택을 관리하는 장치 및 그 방법 |
-
2008
- 2008-02-28 KR KR1020080018164A patent/KR100928865B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR960024985A (ko) * | 1994-12-27 | 1996-07-20 | 빈센트 이. 인그라시아 | 데이타 프로세싱 시스템내에서 기억확장 스택(memory extension stack)에 대한 장치 및 실현 방법 |
JP2003271448A (ja) | 2002-03-18 | 2003-09-26 | Fujitsu Ltd | スタック管理方法及び情報処理装置 |
KR20070092558A (ko) * | 2006-03-10 | 2007-09-13 | 삼성전자주식회사 | 가상 머신에서 스택을 관리하는 장치 및 그 방법 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210063519A (ko) * | 2019-11-22 | 2021-06-02 | 현대오트론 주식회사 | 스택 결함 원인을 진단하는 방법 및 장치 |
KR102300712B1 (ko) | 2019-11-22 | 2021-09-13 | 현대오트론 주식회사 | 스택 결함 원인을 진단하는 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
KR20090092923A (ko) | 2009-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5870607A (en) | Method and apparatus for selective replay of computer programs | |
US5991856A (en) | System and method for computer operating system protection | |
KR101110490B1 (ko) | 정보 처리 장치, 프로세서 및 메모리 관리 방법 | |
KR101782313B1 (ko) | 예외 이벤트 처리 장치 및 방법 | |
TW202011195A (zh) | 映射表更新方法 | |
EP1626338A1 (en) | System and method for providing exceptional flow control in protected code through watchpoints | |
US7962832B2 (en) | Method for detecting memory error | |
EP2221830A1 (en) | Memory device and wear leveling method thereof | |
CN107807839B (zh) | 一种修改虚拟机内存数据的方法、装置及电子设备 | |
US9026866B2 (en) | Method and system for realtime detection of stack frame corruption during nested procedure calls | |
US20100031084A1 (en) | Checkpointing in a processor that supports simultaneous speculative threading | |
US20220366036A1 (en) | An apparatus and method for handling exceptions | |
JP2022503921A (ja) | 遷移無効インジケータ | |
KR20200002932A (ko) | 자격 메타데이터를 관리하는 장치 및 방법 | |
GB2540388A (en) | Secure mode state data access tracking | |
CN109582542B (zh) | 一种嵌入式系统核心转储的方法 | |
JP5464226B2 (ja) | 情報処理装置、情報処理装置制御方法及び情報処理装置制御プログラム | |
JP2005063435A (ja) | ソフトウェアフォールトを封じ込める方法およびシステム | |
KR102254159B1 (ko) | 운영체제 커널 메모리의 실시간 오류 검출 방법 | |
KR100928865B1 (ko) | 컴퓨터 시스템에서의 스택 확장 및 보호 방법과 그 장치 | |
JP2021512405A (ja) | メモリ・アクセスにおける保護タグ・チェックの制御 | |
US7814288B2 (en) | Protecting memory operations involving zero byte allocations | |
US7890740B2 (en) | Processor comprising a first and a second mode of operation and method of operating the same | |
KR102145358B1 (ko) | 변경된 운영체제 환경에서 디스크의 데이터 무결성을 보호하는 방법 및 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체 | |
US11550651B2 (en) | Execution circuits using discardable state |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20121220 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20131120 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20141120 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20151120 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20161121 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20171120 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20181120 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20191120 Year of fee payment: 11 |