KR20070056940A - 프로그램을 저장한 컴퓨터 판독 가능 매체, 프로그램을실행하는 정보 처리 장치, 및 프로그램을 실행하기 위한프로그램 제어 방법 - Google Patents
프로그램을 저장한 컴퓨터 판독 가능 매체, 프로그램을실행하는 정보 처리 장치, 및 프로그램을 실행하기 위한프로그램 제어 방법 Download PDFInfo
- Publication number
- KR20070056940A KR20070056940A KR1020060108147A KR20060108147A KR20070056940A KR 20070056940 A KR20070056940 A KR 20070056940A KR 1020060108147 A KR1020060108147 A KR 1020060108147A KR 20060108147 A KR20060108147 A KR 20060108147A KR 20070056940 A KR20070056940 A KR 20070056940A
- Authority
- KR
- South Korea
- Prior art keywords
- program
- address
- caller
- caller program
- target address
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 230000010365 information processing Effects 0.000 title abstract description 11
- 241001481828 Glyptocephalus cynoglossus Species 0.000 title 1
- 238000012545 processing Methods 0.000 claims abstract description 67
- 230000008569 process Effects 0.000 claims abstract description 43
- 238000012937 correction Methods 0.000 claims description 2
- 238000012986 modification Methods 0.000 description 25
- 230000004048 modification Effects 0.000 description 25
- 230000006870 function Effects 0.000 description 18
- 238000012795 verification Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007420 reactivation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
-
- 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/46—Multiprogramming arrangements
- G06F9/468—Specific access rights for resources, e.g. using capability register
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)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
Abstract
Description
Claims (15)
- 호출원 프로그램으로부터의 호출 명령에 따른 처리와, 상기 처리에 의한 처리 결과를 상기 호출원 프로그램으로 반환하는 반환 처리를 포함하는 서브 처리를 컴퓨터에 실행시키기 위한 프로그램을 저장한 컴퓨터 판독 가능 매체로서,상기 서브 처리는,상기 프로그램이 억세스하는 억세스 목표 어드레스이며 상기 호출원 프로그램의 메모리 영역에 할당된 억세스 목표 어드레스를 취득하는 어드레스 취득 처리와,취득한 억세스 목표 어드레스에 의거하여 상기 호출원 프로그램이 정규인지의 여부를 판정하는 판정 처리와,판정의 결과, 상기 호출원 프로그램이 정규가 아닐 경우, 상기 서브 처리의 실행을 중단하는 중단 처리를 포함하는 컴퓨터 판독 가능 매체.
- 제 1 항에 있어서,상기 판정 처리에서는 상기 취득한 억세스 목표 어드레스에 의거하여 상기 호출원 프로그램이 사용하는 메모리 영역에 관한 메모리 정보를 취득하고, 상기 메모리 정보에 의거하여 상기 호출원 프로그램이 정규인지의 여부를 판정하는 것을 특징으로 하는 컴퓨터 판독 가능 매체.
- 제 1 항에 있어서,상기 판정 처리에서는 상기 취득한 억세스 목표 어드레스에 의거하여 상기 호출원 프로그램의 속성 정보를 취득하고, 상기 속성 정보와 미리 등록된 정규의 호출원 프로그램의 속성 정보를 비교함으로써, 상기 호출원 프로그램이 정규의 호출원 프로그램인지의 여부를 판정하는 것을 특징으로 하는 컴퓨터 판독 가능 매체.
- 제 1 항에 있어서,상기 판정 처리에서는 상기 취득한 억세스 목표 어드레스와 미리 등록된 정규의 호출원 프로그램에서의 본래의 억세스 목표 어드레스를 비교함으로써, 상기 호출원 프로그램이 정규인지의 여부를 판정하는 것을 특징으로 하는 컴퓨터 판독 가능 매체.
- 제 4 항에 있어서,상기 판정 처리에서는 정규의 호출원 프로그램의 본래의 억세스 목표 어드레스 그룹이 등록된 어드레스 리스트를 참조함으로써, 상기 호출원 프로그램이 정규의 호출원 프로그램인지의 여부를 판정하는 것을 특징으로 하는 컴퓨터 판독 가능 매체.
- 제 4 항 또는 제 5 항에 있어서,상기 판정 처리에서는 상기 취득한 억세스 목표 어드레스에 의거하여 상기 호출원 프로그램이 저장되는 메모리 영역의 선두 어드레스를 취득하고, 취득한 선두 어드레스와 미리 등록된 정규의 호출원 프로그램의 선두 어드레스에 차분(差分)이 있는 경우에는 그 차분을 구하며, 그 차분에 의거하여 상기 취득한 억세스 목표 어드레스를 보정하고, 보정 후의 억세스 목표 어드레스에 의거하여 상기 호출원 프로그램이 정규인지의 여부를 판정하는 것을 특징으로 하는 컴퓨터 판독 가능 매체.
- 제 1 항에 있어서,상기 판정 처리에서는 상기 취득한 억세스 목표 어드레스에 의거하여 정해지는 어드레스 범위에 저장된 판정 대상 데이터를 메모리로부터 취득하고, 상기 판정 대상 데이터와 정규의 호출원 프로그램에서의 본래의 억세스 목표 어드레스에 의거하여 정해지는 상기 어드레스 범위에 저장되어야 하는 데이터를 비교함으로써, 상기 호출원 프로그램이 정규인지의 여부를 판정하는 것을 특징으로 하는 컴퓨터 판독 가능 매체.
- 제 7 항에 있어서,상기 어드레스 범위에는 어드레스의 재할당에 의해 내용이 변경될 수 있는 데이터를 저장하는 어드레스는 포함하지 않는 것을 특징으로 하는 컴퓨터 판독 가능 매체.
- 제 7 항에 있어서,상기 판정 처리에서는 상기 취득한 억세스 목표 어드레스에 의거하여 상기 호출원 프로그램이 저장되는 메모리 영역의 선두 어드레스를 취득하고, 취득한 선두 어드레스와 미리 등록된 정규의 호출원 프로그램의 선두 어드레스에 차분이 있는 경우에는 그 차분을 구하며, 그 차분에 의거하여 상기 판정 대상 데이터를 보정하고, 보정 후의 판정 대상 데이터와 상기 저장되어야 하는 데이터를 비교함으로써, 상기 호출원 프로그램이 정규인지의 여부를 판정하는 것을 특징으로 하는 컴퓨터 판독 가능 매체.
- 제 1 항에 있어서,상기 판정 처리에서는 상기 취득한 억세스 목표 어드레스를 기준으로 해서 정해지는 소정의 어드레스 범위에 저장된 판정 대상 데이터를 메모리로부터 취득하고, 그 데이터의 해시(hash)값을 계산하며, 상기 해시값과 정규의 호출원 프로그램의 억세스 목표 어드레스에 의거하여 정해지는 상기 어드레스 범위에 저장되어야 하는 데이터로부터 구해지는 해시값을 비교함으로써, 상기 호출원 프로그램이 정규인지의 여부를 판정하는 것을 특징으로 하는 컴퓨터 판독 가능 매체.
- 제 1 항에 있어서,상기 억세스 목표 어드레스는 상기 프로그램에 의한 일련의 처리가 종료 후에 상기 프로그램이 실행 제어를 옮기는 반환 목표 어드레스인 것을 특징으로 하는 컴퓨터 판독 가능 매체.
- 제 1 항에 있어서,상기 억세스 목표 어드레스는 상기 프로그램이 상기 호출원 프로그램으로부터 호출될 때에 상기 호출원 프로그램으로부터 넘겨받는 인수(argument)로 나타내어지는 어드레스인 것을 특징으로 하는 컴퓨터 판독 가능 매체.
- 제 12 항에 있어서,상기 어드레스는 상기 호출원 프로그램으로부터 콜백(callback) 목표로서 지정된 콜백 어드레스인 것을 특징으로 하는 컴퓨터 판독 가능 매체.
- 호출원 프로그램으로부터의 호출 명령에 따른 처리와, 상기 처리에 의한 처리 결과를 상기 호출원 프로그램에 반환하는 반환 처리를 포함하는 서브 처리를 실행하는 서브 처리부와,상기 서브 처리부가 상기 서브 처리를 실행할 때에 억세스하는 억세스 목표 어드레스이며 상기 호출원 프로그램의 메모리 영역에 할당된 억세스 목표 어드레스를 취득하는 어드레스 취득 처리부와,취득한 메모리 정보에 의거하여 상기 호출원 프로그램이 정규인지의 여부를 판정하는 판정 처리부와,판정의 결과, 상기 호출원 프로그램이 아닌 경우, 상기 서브 처리의 실행을 중단하는 중단 처리부를 구비하는 정보 처리 장치.
- 호출원 프로그램으로부터의 호출 명령에 따른 처리와, 상기 처리에 의한 처리 결과를 상기 호출원 프로그램에 반환하는 반환 처리를 포함하는 서브 처리를 행하는 프로그램을 실행하기 위한 프로그램 제어 방법으로서,상기 반환 처리를 실행하기 전에, 상기 프로그램이 억세스하는 억세스 목표 어드레스이며 상기 호출원 프로그램의 메모리 영역에 할당된 억세스 목표 어드레스를 취득하고,취득한 억세스 목표 어드레스에 의거하여 상기 호출원 프로그램이 정규인지의 여부를 판정하고,판정의 결과, 상기 호출원 프로그램이 정규가 아닌 경우, 상기 반환 처리를 실행하기 전에 상기 서브 처리의 실행을 중단하는 프로그램 제어 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005345074A JP4844102B2 (ja) | 2005-11-30 | 2005-11-30 | サブプログラム及びそのサブプログラムを実行する情報処理装置 |
JPJP-P-2005-00345074 | 2005-11-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070056940A true KR20070056940A (ko) | 2007-06-04 |
KR100917370B1 KR100917370B1 (ko) | 2009-09-16 |
Family
ID=38125763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060108147A KR100917370B1 (ko) | 2005-11-30 | 2006-11-03 | 프로그램을 저장한 컴퓨터 판독 가능 매체, 프로그램을실행하는 정보 처리 장치, 및 프로그램을 실행하기 위한프로그램 제어 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7962952B2 (ko) |
JP (1) | JP4844102B2 (ko) |
KR (1) | KR100917370B1 (ko) |
CN (1) | CN1975678A (ko) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080301816A1 (en) * | 2007-06-01 | 2008-12-04 | Ting David M T | Method and system for handling keystroke commands |
JP4939382B2 (ja) * | 2007-11-28 | 2012-05-23 | ルネサスエレクトロニクス株式会社 | 情報処理装置及びそのプログラム実行制御方法 |
US8209757B1 (en) * | 2008-03-06 | 2012-06-26 | Symantec Corporation | Direct call into system DLL detection system and method |
US8065734B1 (en) | 2008-03-06 | 2011-11-22 | Symantec Corporation | Code module operating system (OS) interactions intercepting system and method |
WO2011101972A1 (ja) * | 2010-02-18 | 2011-08-25 | 株式会社東芝 | プログラム |
KR101212553B1 (ko) * | 2012-05-11 | 2012-12-14 | 주식회사 안랩 | 악성 파일 검사 장치 및 방법 |
US9846717B2 (en) * | 2012-10-23 | 2017-12-19 | Galois, Inc. | Software security via control flow integrity checking |
JP5579347B1 (ja) * | 2014-01-15 | 2014-08-27 | 三菱電機株式会社 | 数値制御装置 |
US20160381050A1 (en) | 2015-06-26 | 2016-12-29 | Intel Corporation | Processors, methods, systems, and instructions to protect shadow stacks |
US10394556B2 (en) | 2015-12-20 | 2019-08-27 | Intel Corporation | Hardware apparatuses and methods to switch shadow stack pointers |
US10430580B2 (en) | 2016-02-04 | 2019-10-01 | Intel Corporation | Processor extensions to protect stacks during ring transitions |
JP2020098506A (ja) | 2018-12-18 | 2020-06-25 | ルネサスエレクトロニクス株式会社 | マイクロコントローラ及び半導体装置 |
CN111191203A (zh) * | 2020-01-02 | 2020-05-22 | 北京字节跳动网络技术有限公司 | 身份验证方法及装置 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2934039B2 (ja) * | 1991-03-20 | 1999-08-16 | 富士通株式会社 | 複数ロードモジュール保護方式 |
JPH0529328A (ja) * | 1991-07-24 | 1993-02-05 | Mitsubishi Electric Corp | 半導体装置及びその製造方法 |
JPH0784786A (ja) * | 1993-09-09 | 1995-03-31 | Casio Comput Co Ltd | プログラム実行制御方法 |
JPH07182239A (ja) * | 1993-12-24 | 1995-07-21 | Nec Corp | セグメント分割管理システム |
JPH1040138A (ja) | 1996-07-22 | 1998-02-13 | Fuji Electric Co Ltd | サブルーチンの運用情報収集方法 |
US5895467A (en) * | 1997-04-11 | 1999-04-20 | Informix Software, Inc. | Selectively switching memory access permission for manipulating data in a database |
KR20010040981A (ko) * | 1998-02-26 | 2001-05-15 | 케네쓰 올센 | 스택에 기초한 보안 조건 |
US6526571B1 (en) * | 1999-03-16 | 2003-02-25 | International Business Machines Corporation | Method for identifying calls in java packages whose targets are guaranteed to belong to the same package |
DE19944991B4 (de) | 1999-09-20 | 2004-04-29 | Giesecke & Devrient Gmbh | Verfahren zur Sicherung eines Programmablaufs |
US7051200B1 (en) * | 2000-06-27 | 2006-05-23 | Microsoft Corporation | System and method for interfacing a software process to secure repositories |
CN1516836A (zh) * | 2000-09-08 | 2004-07-28 | 国际商业机器公司 | 软件安全认证信道 |
JP4023654B2 (ja) * | 2001-09-28 | 2007-12-19 | 日立ソフトウエアエンジニアリング株式会社 | アプリケーションの監視方法およびプログラム |
US7000087B2 (en) * | 2001-11-07 | 2006-02-14 | International Business Machines Corporation | Programmatically pre-selecting specific physical memory blocks to allocate to an executing application |
JP2004126854A (ja) * | 2002-10-01 | 2004-04-22 | Mitsubishi Electric Corp | 攻撃対策装置 |
US7203941B2 (en) * | 2002-11-14 | 2007-04-10 | Microsoft Corporation | Associating a native resource with an application |
US7149863B1 (en) * | 2003-10-08 | 2006-12-12 | Sun Microsystems, Inc. | System and method of descriptively specifying memory placement in a computer system |
KR100483700B1 (ko) | 2003-12-03 | 2005-04-19 | 주식회사 잉카인터넷 | 온라인 게임 클라이언트 보안을 위한 실시간 프로세스 불법 접근 및 조작 차단 방법 |
US7546587B2 (en) * | 2004-03-01 | 2009-06-09 | Microsoft Corporation | Run-time call stack verification |
US20050235136A1 (en) * | 2004-04-16 | 2005-10-20 | Lucent Technologies Inc. | Methods and systems for thread monitoring |
US7558986B2 (en) * | 2005-05-26 | 2009-07-07 | United Parcel Service Of America, Inc. | Software process monitor |
US8176567B2 (en) * | 2005-12-22 | 2012-05-08 | Pitney Bowes Inc. | Apparatus and method to limit access to selected sub-program in a software system |
-
2005
- 2005-11-30 JP JP2005345074A patent/JP4844102B2/ja not_active Expired - Fee Related
-
2006
- 2006-10-13 US US11/581,109 patent/US7962952B2/en not_active Expired - Fee Related
- 2006-11-03 KR KR1020060108147A patent/KR100917370B1/ko active IP Right Grant
- 2006-11-29 CN CNA2006101635322A patent/CN1975678A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
KR100917370B1 (ko) | 2009-09-16 |
JP4844102B2 (ja) | 2011-12-28 |
JP2007148962A (ja) | 2007-06-14 |
US20070136728A1 (en) | 2007-06-14 |
US7962952B2 (en) | 2011-06-14 |
CN1975678A (zh) | 2007-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100917370B1 (ko) | 프로그램을 저장한 컴퓨터 판독 가능 매체, 프로그램을실행하는 정보 처리 장치, 및 프로그램을 실행하기 위한프로그램 제어 방법 | |
US8230479B2 (en) | Security deployment system | |
RU2295834C2 (ru) | Инициализация, поддержание, обновление и восстановление защищенного режима работы интегрированной системы, использующей средство управления доступом к данным | |
US8918654B2 (en) | Information processing device, program verification method, and recording medium | |
US7739516B2 (en) | Import address table verification | |
EP0843249A1 (en) | Dynamic classes of service for an international cryptography framework | |
EP1368718B1 (en) | Software-defined communications system execution control | |
JP2008503014A5 (ko) | ||
JP2002182983A (ja) | データベースへのアクセス制御方法、データベース装置、リソースへのアクセス制御方法、情報処理装置 | |
US7647629B2 (en) | Hosted code runtime protection | |
US8176278B2 (en) | Information processing apparatus, information processing method and record medium | |
CN111400723A (zh) | 基于tee扩展的操作系统内核强制访问控制方法及系统 | |
AU2001257276A1 (en) | Software-defined communications system execution control | |
US20240095402A1 (en) | Methods and Systems for Recursive Descent Parsing | |
JP4664055B2 (ja) | プログラム分割装置、プログラム実行装置、プログラム分割方法及びプログラム実行方法 | |
JP4724660B2 (ja) | 組み込みシステムの中に統合されるソフトウェアコンポーネントを管理する方法 | |
JP2007310688A (ja) | マイクロコンピュータおよびそのソフトウェア改竄防止方法 | |
JP2007527562A5 (ko) | ||
JP2005316599A (ja) | 割込制御装置 | |
KR100949024B1 (ko) | 리소스 획득 방법 및 컴퓨터 판독 가능 매체 | |
KR101203722B1 (ko) | 데이터 보호장치 및 그 방법 | |
US20070150729A1 (en) | Apparatus and method to limit access to selected sub-program in a software system | |
KR20180015723A (ko) | 보안 구역과 하위 보안 구역 사이의 전이를 위한 장치 및 방법 | |
JP3654165B2 (ja) | コンピュータシステムに適用するライブラリのリンク方法及びそのプログラムを記録した記録媒体 | |
JP4507569B2 (ja) | 情報処理装置および情報処理方法、プログラム、並びに記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
E801 | Decision on dismissal of amendment | ||
B601 | Maintenance of original decision after re-examination before a trial | ||
J301 | Trial decision |
Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20080620 Effective date: 20090730 |
|
S901 | Examination by remand of revocation | ||
GRNO | Decision to grant (after opposition) | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120821 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20130822 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20140825 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20150819 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20160818 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20170823 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20180816 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20190819 Year of fee payment: 11 |