KR100800999B1 - 프로그램의 실행흐름을 검사하는 방법 및 장치 - Google Patents
프로그램의 실행흐름을 검사하는 방법 및 장치 Download PDFInfo
- Publication number
- KR100800999B1 KR100800999B1 KR1020060015708A KR20060015708A KR100800999B1 KR 100800999 B1 KR100800999 B1 KR 100800999B1 KR 1020060015708 A KR1020060015708 A KR 1020060015708A KR 20060015708 A KR20060015708 A KR 20060015708A KR 100800999 B1 KR100800999 B1 KR 100800999B1
- Authority
- KR
- South Korea
- Prior art keywords
- execution flow
- measurement
- instruction
- checksum
- program
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
Description
Claims (21)
- 프로그램에 포함되며 실행흐름 검사에 사용되는 인스트럭션들의 값과 상기 인스트럭션들의 실행 순서를 반영하는 실행흐름을 검사하는 단계; 및상기 측정된 실행흐름을 검증하는 단계를 포함하는, 프로그램의 실행흐름을 검사하는 방법.
- 제 1항에 있어서,상기 측정하는 단계는,상기 인스트럭션 중 상기 실행흐름의 측정을 지시하는 측정 시작 인스트럭션이 입력되면, 상기 실행흐름의 측정을 개시하는 단계; 및상기 인스트럭션 중 상기 실행흐름의 측정종료를 지시하는 측정 종료 인스트럭션이 입력되면, 상기 실행흐름의 측정을 종료하는 단계를 포함하는, 프로그램의 실행흐름을 검사하는 방법.
- 제 1항에 있어서,상기 측정하는 단계는,상기 인스트럭션 중 상기 실행흐름의 측정 작업의 일시 중지를 지시하는 측정 일시중지 인스트럭션이 입력되면, 상기 실행흐름의 측정 작업을 중지하는 단계를 포함하는, 프로그램의 실행흐름을 검사하는 방법.
- 제 3항에 있어서,상기 측정하는 단계는,상기 인스트럭션 중 상기 중지된 실행흐름 측정 작업의 재개를 지시하는 측정 재개 인스트럭션이 입력되면, 상기 실행흐름의 측정 작업을 재개하는 단계를 더 포함하는, 프로그램의 실행흐름을 검사하는 방법.
- 제 1항에 있어서,상기 측정하는 단계는,상기 실행 순서에 따라서 입력되는 인스트럭션에 대한 체크섬을 계산하는 단계를 포함하는, 프로그램의 실행흐름을 검사하는 방법.
- 제 5항에 있어서,상기 체크섬을 계산하는 단계는,소정의 체크섬 키, 이전까지 계산된 체크섬 결과값, 및 상기 입력된 인스트럭션의 값을 입력값으로 하여 체크섬을 계산하는 단계를 포함하는, 프로그램의 실행흐름을 검사하는 방법.
- 제 5항에 있어서,상기 체크섬을 계산하는 단계는,이전까지 계산된 체크섬 결과값이 없는 경우, 소정의 체크섬 키, 소정의 초기화 벡터, 및 상기 입력된 인스트럭션의 값을 입력값으로 하여 체크섬을 계산하는 단계를 포함하는, 프로그램의 실행흐름을 검사하는 방법.
- 제 1항에 있어서,상기 프로그램에 포함된 소정의 정보를 복호화하는 단계를 더 포함하고,상기 측정하는 단계는 상기 복호화된 정보를 사용하여 상기 실행흐름을 검사하는 단계를 포함하는, 프로그램의 실행흐름을 검사하는 방법.
- 제 1항에 있어서,상기 검증하는 단계는,상기 실행흐름을 측정한 결과값과 소정의 참조 측정값이 동일한 경우 상기 실행흐름이 정상적으로 수행되었음을 나타내는 정보를 제공하는 단계; 및상기 결과값과 상기 참조 측정값이 다른 경우 상기 실행흐름이 비정상적으로 수행되었음을 나타내는 정보를 제공하는 단계를 포함하는, 프로그램의 실행흐름을 검사하는 방법.
- 제 9항에 있어서,상기 참조 측정값을 상기 프로그램으로부터 획득하는 단계를 더 포함하는, 프로그램의 실행흐름을 검사하는 방법.
- 제 1항에 있어서,상기 프로그램에 포함된 소정의 정보를 복호화하는 단계를 더 포함하고,상기 검증하는 단계는 상기 복호화된 정보를 사용하여 상기 실행흐름을 검증하는 단계를 포함하는, 프로그램의 실행흐름을 검사하는 방법.
- 프로그램에 포함되며 실행흐름 검사에 사용되는 인스트럭션들의 값과 상기 인스트럭션들의 실행 순서를 반영하는 실행흐름을 검사하는 실행흐름 측정 모듈; 및상기 측정된 실행흐름을 검증하는 실행흐름 검증 모듈을 포함하는, 프로그램의 실행흐름을 검사하는 장치.
- 제 12항에 있어서,상기 실행흐름 측정 모듈은,상기 인스트럭션 중 상기 실행흐름의 측정을 지시하는 측정 시작 인스트럭션이 입력되면 상기 실행흐름의 측정을 개시하고, 상기 인스트럭션 중 상기 실행흐름의 측정종료를 지시하는 측정 종료 인스트럭션이 입력되면 상기 실행흐름의 측정을 종료하는, 프로그램의 실행흐름을 검사하는 장치.
- 제 12항에 있어서,상기 실행흐름 측정 모듈은,상기 인스트럭션 중 상기 실행흐름의 측정 작업의 일시 중지를 지시하는 측정 일시중지 인스트럭션이 입력되면 상기 실행흐름의 측정 작업을 중지하는, 프로그램의 실행흐름을 검사하는 장치.
- 제 14항에 있어서,상기 실행흐름 측정 모듈은,상기 인스트럭션 중 상기 중지된 실행흐름 측정 작업의 재개를 지시하는 측정 재개 인스트럭션이 입력되면 상기 실행흐름의 측정 작업을 재개하는, 프로그램의 실행흐름을 검사하는 장치.
- 제 12항에 있어서,상기 실행흐름 측정 모듈은,상기 실행 순서에 따라서 입력되는 인스트럭션에 대한 체크섬을 계산하는 체크섬 계산 모듈; 및상기 체크섬 계산 모듈이 출력하는 체크섬 결과값을 저장하고, 상기 체크섬 결과값을 상기 체크섬 계산 모듈에게 제공하는 연쇄 레지스터를 포함하는, 프로그램의 실행흐름을 검사하는 장치.
- 제 16항에 있어서,상기 체크섬 계산 모듈은,소정의 체크섬 키, 상기 연쇄 레지스터가 제공하는 상기 체크섬 결과값, 및 상기 입력된 인스트럭션의 값을 입력값으로 하여 체크섬을 계산하는, 프로그램의 실행흐름을 검사하는 장치.
- 제 16항에 있어서,상기 체크섬 계산 모듈은,상기 연쇄 레지스터에 저장된 체크섬 결과값이 없는 경우, 소정의 체크섬 키, 소정의 초기화 벡터, 및 상기 입력된 인스트럭션의 값을 입력값으로 하여 체크섬을 계산하는, 프로그램의 실행흐름을 검사하는 장치.
- 제 12항에 있어서,상기 프로그램에 포함된 소정의 정보를 복호화하는 보안 처리 모듈을 더 포함하고,상기 실행흐름 측정 모듈은 상기 복호화된 정보를 사용하여 상기 실행흐름을 검사하는, 프로그램의 실행흐름을 검사하는 장치.
- 제 12항에 있어서,상기 실행흐름 검증 모듈은,상기 실햄흐름 측정 모듈이 실행흐름을 측정한 결과값과 소정의 참조 측정값이 동일한 경우 상기 실행흐름이 정상적으로 수행되었음을 나타내는 정보를 제공하 고, 상기 결과값과 상기 참조 측정값이 다른 경우 상기 실행흐름이 비정상적으로 수행되었음을 나타내는 정보를 제공하는, 프로그램의 실행흐름을 검사하는 장치.
- 제 12항에 있어서,상기 프로그램에 포함된 소정의 정보를 복호화하는 보안 처리 모듈을 더 포함하고,상기 실행흐름 검증 정보는 상기 복호화된 정보를 사용하여 상기 실행흐름을 검증하는, 프로그램의 실행흐름을 검사하는 장치.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060015708A KR100800999B1 (ko) | 2006-02-17 | 2006-02-17 | 프로그램의 실행흐름을 검사하는 방법 및 장치 |
US11/655,925 US8015553B2 (en) | 2006-02-17 | 2007-01-22 | Method and apparatus for testing execution flow of program |
JP2007026499A JP4871156B2 (ja) | 2006-02-17 | 2007-02-06 | プログラムの実行フローを検査する方法および装置 |
EP07102047A EP1835405A3 (en) | 2006-02-17 | 2007-02-09 | Method and apparatus for testing execution flow of program |
CNB2007100788927A CN100562859C (zh) | 2006-02-17 | 2007-02-16 | 测试程序的运行流程的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060015708A KR100800999B1 (ko) | 2006-02-17 | 2006-02-17 | 프로그램의 실행흐름을 검사하는 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070082724A KR20070082724A (ko) | 2007-08-22 |
KR100800999B1 true KR100800999B1 (ko) | 2008-02-11 |
Family
ID=38325478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060015708A KR100800999B1 (ko) | 2006-02-17 | 2006-02-17 | 프로그램의 실행흐름을 검사하는 방법 및 장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8015553B2 (ko) |
EP (1) | EP1835405A3 (ko) |
JP (1) | JP4871156B2 (ko) |
KR (1) | KR100800999B1 (ko) |
CN (1) | CN100562859C (ko) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100945247B1 (ko) * | 2007-10-04 | 2010-03-03 | 한국전자통신연구원 | 가상 환경을 이용한 비실행 파일 내의 악성 코드 분석 방법및 장치 |
US8458669B2 (en) * | 2007-11-02 | 2013-06-04 | International Business Machines Corporation | Automated test system |
KR101566409B1 (ko) * | 2009-04-14 | 2015-11-05 | 삼성전자주식회사 | 프로그램 데이터 공격 검출방법 |
US9558103B2 (en) * | 2011-08-25 | 2017-01-31 | Hewlett Packard Enterprise Development Lp | System and method to indicate code block execution |
CN103377118B (zh) * | 2012-04-23 | 2017-07-25 | 腾讯科技(深圳)有限公司 | 一种测试Flash引擎的方法及装置 |
JP6434840B2 (ja) * | 2015-03-30 | 2018-12-05 | 日立オートモティブシステムズ株式会社 | 電子制御装置 |
CN108351770B (zh) * | 2016-02-09 | 2020-02-28 | 西门子公司 | 用于安全地实施程序命令的方法和实施环境 |
CN113566869A (zh) * | 2021-06-29 | 2021-10-29 | 东风电驱动系统有限公司 | 一种车载仪表的外发信号自动校验方法及系统 |
US20230017231A1 (en) * | 2021-07-17 | 2023-01-19 | International Business Machines Corporation | Securely executing software based on cryptographically verified instructions |
US11893394B2 (en) * | 2022-04-05 | 2024-02-06 | Denso Corporation | Verifying a boot sequence through execution sequencing |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000075835A (ja) * | 1998-06-18 | 2000-03-14 | Fujitsu Ltd | プラズマディスプレイパネルの駆動方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05233346A (ja) | 1992-02-26 | 1993-09-10 | Matsushita Electric Ind Co Ltd | プロセッサのテスト方法 |
JPH09244912A (ja) | 1996-03-12 | 1997-09-19 | Hitachi Ltd | 情報処理装置プログラムの試験方式 |
US5905855A (en) | 1997-02-28 | 1999-05-18 | Transmeta Corporation | Method and apparatus for correcting errors in computer systems |
US5974529A (en) * | 1998-05-12 | 1999-10-26 | Mcdonnell Douglas Corp. | Systems and methods for control flow error detection in reduced instruction set computer processors |
JP2002149444A (ja) | 2000-11-13 | 2002-05-24 | Mitsubishi Electric Corp | ソフトウェア試験システム及びソフトウェア試験方法及びソフトウェア試験方法を計算機で実現するためのプログラムを記録した計算機で読み取り可能なプログラム記録媒体及びソフトウェア試験方法を計算機で実現するためのプログラム |
US6880149B2 (en) * | 2002-04-01 | 2005-04-12 | Pace Anti-Piracy | Method for runtime code integrity validation using code block checksums |
JP2003316604A (ja) | 2002-04-24 | 2003-11-07 | Matsushita Electric Ind Co Ltd | ソフトウェア開発支援方法および装置 |
US7532722B2 (en) * | 2003-04-18 | 2009-05-12 | Ip-First, Llc | Apparatus and method for performing transparent block cipher cryptographic functions |
-
2006
- 2006-02-17 KR KR1020060015708A patent/KR100800999B1/ko active IP Right Grant
-
2007
- 2007-01-22 US US11/655,925 patent/US8015553B2/en not_active Expired - Fee Related
- 2007-02-06 JP JP2007026499A patent/JP4871156B2/ja active Active
- 2007-02-09 EP EP07102047A patent/EP1835405A3/en not_active Withdrawn
- 2007-02-16 CN CNB2007100788927A patent/CN100562859C/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000075835A (ja) * | 1998-06-18 | 2000-03-14 | Fujitsu Ltd | プラズマディスプレイパネルの駆動方法 |
Non-Patent Citations (1)
Title |
---|
공개특허 제2000-75835호 |
Also Published As
Publication number | Publication date |
---|---|
EP1835405A3 (en) | 2010-01-27 |
JP4871156B2 (ja) | 2012-02-08 |
JP2007220106A (ja) | 2007-08-30 |
CN101025710A (zh) | 2007-08-29 |
EP1835405A2 (en) | 2007-09-19 |
KR20070082724A (ko) | 2007-08-22 |
US8015553B2 (en) | 2011-09-06 |
US20070220351A1 (en) | 2007-09-20 |
CN100562859C (zh) | 2009-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100800999B1 (ko) | 프로그램의 실행흐름을 검사하는 방법 및 장치 | |
KR101368327B1 (ko) | 프로그램 실행흐름 보고 시스템 및 방법 | |
US7945786B2 (en) | Method and apparatus to re-create trust model after sleep state | |
US9762399B2 (en) | System and method for validating program execution at run-time using control flow signatures | |
US9767271B2 (en) | System and method for validating program execution at run-time | |
EP2248063B1 (en) | Method and apparatus for controlling system access during protected modes of operation | |
CN102509046B (zh) | 带有休眠支持的全局有效的测量的操作系统发动 | |
EP1944711A1 (en) | Methods and apparatus for authenticating components of processing systems | |
JP6391439B2 (ja) | 情報処理装置、サーバ装置、情報処理システム、制御方法及びコンピュータプログラム | |
EP4116851A1 (en) | Trusted measurement method and related apparatus | |
CN106815110A (zh) | 一种加速卡测试方法及装置 | |
US20180113715A1 (en) | Providing a trustworthy indication of the current state of a multi-processor data processing apparatus | |
WO2020037613A1 (zh) | 嵌入式程序的安全升级方法、装置、设备及存储介质 | |
KR20130051225A (ko) | 이기종 컴퓨팅 환경에서 보안 강화 방법 및 장치 | |
CN111597558B (zh) | 一种基于文件多镜像的嵌入式操作系统可信引导方法及系统 | |
CN110659497A (zh) | 可信启动控制方法及其装置、计算机可读存储介质 | |
US20080271145A1 (en) | Tamper indication system and method for a computing system | |
CN109753788B (zh) | 内核运行时的完整性校验方法及计算机可读存储介质 | |
US11216561B2 (en) | Executing processes in sequence | |
CN114995894A (zh) | 操作系统的启动控制方法、终端设备及可读存储介质 | |
US9213864B2 (en) | Data processing apparatus and validity verification method | |
CN112651030B (zh) | 一种面向bmc固件系统安全的可信启动方法 | |
JP2023082498A (ja) | 電子制御装置 | |
GB2621164A (en) | Apparatus, method of operating an apparatus and a computer program | |
CN118013509A (zh) | 安全启动方法、装置、车辆及存储介质 |
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: 20121210 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20131217 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20141224 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20151217 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20161220 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20181218 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20191216 Year of fee payment: 13 |