KR100663034B1 - 메모리 상의 코드 조작 감지 방법 및 그 시스템 - Google Patents
메모리 상의 코드 조작 감지 방법 및 그 시스템 Download PDFInfo
- Publication number
- KR100663034B1 KR100663034B1 KR1020050129616A KR20050129616A KR100663034B1 KR 100663034 B1 KR100663034 B1 KR 100663034B1 KR 1020050129616 A KR1020050129616 A KR 1020050129616A KR 20050129616 A KR20050129616 A KR 20050129616A KR 100663034 B1 KR100663034 B1 KR 100663034B1
- Authority
- KR
- South Korea
- Prior art keywords
- client terminal
- server
- request message
- data
- function
- 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/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0772—Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
-
- 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
- G06F21/54—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 by adding security routines or objects to programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0727—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- 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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Detection And Correction Of Errors (AREA)
- Storage Device Security (AREA)
Abstract
Description
Claims (13)
- A) 서버에서 실행 프로그램의 코드 영역에 대한 제1 에러 확인용 데이터를 생성하는 단계;B) 상기 제1 에러 확인용 데이터를 기반으로 요청 메시지를 생성하여 네트워크를 통해 클라이언트 단말기로 전송하는 단계;C) 상기 클라이언트 단말기에서 상기 요청 메시지에 따라 상기 실행 프로그램의 코드 영역에 대한 제2 에러 확인용 데이터를 생성하는 단계;D) 상기 제2 에러 확인용 데이터를 기반으로 응답 메시지를 생성하여 상기 서버로 전송하는 단계; 및E) 상기 서버에서 상기 제1 및 제2 에러 확인용 데이터를 비교하고 그 결과에 따라 상기 클라이언트 단말기로 통보 여부를 결정하는 단계를 포함하는 것을 특징으로 하는 메모리 상의 코드 조작 감지 방법.
- 제 1 항에 있어서, 상기 단계 A) 및 C)에서,상기 서버 및 상기 클라이언트 단말기에서 각각 실행 프로그램을 실행 시켜 메모리에 상기 실행 프로그램을 로딩(Loading)하는 단계; 및상기 메모리 중 코드 영역 전체 또는 일부 영역에 대한 제1 및 제2 에러 확인용 데이터를 각각 생성하는 단계를 포함하는 것을 특징으로 하는 메모리 상의 코드 조작 감지 방법.
- 제 2 항에 있어서, 상기 코드 영역의 일부 영역을 설정하는데 있어,상기 실행 프로그램에 구현된 적어도 하나의 함수의 시작 점 및 종료 점을 추출함으로써 설정되는 것을 특징으로 하는 메모리 상의 코드 조작 감지 방법.
- 제 3 항에 있어서, 상기 방법은,상기 함수에 포함된 인스트럭션(Instruction)을 이용하여 에러 확인용 데이터를 생성하는 것을 특징으로 하는 메모리 상의 코드 조작 감지 방법.
- 제 3 항에 있어서, 상기 방법은,상기 함수에 포함된 인스트럭션(Instruction) 및 오퍼랜드(Operand)를 이용하여 에러 확인용 데이터를 생성하는 것을 특징으로 하는 메모리 상의 코드 조작 감지 방법.
- 제 5 항에 있어서, 상기 함수의 종료 점 설정 방법은,상기 함수의 시작 점부터 디스어셈블링(Disassembling)을 수행하는 단계; 및소정의 조건이 만족하는 경우, 상기 함수의 종료 점으로 간주하여 상기 디스어셈블링을 종료하는 단계를 포함하는 것을 특징으로 하는 메모리 상의 코드 조작 감지 방법.
- 제 6 항에 있어서, 상기 함수의 종료 점 설정 방법은,리턴(Return) 코드가 소정 개수 추출되는 지점을 상기 함수의 종료 점으로 설정하는 방법, 타 함수의 시작 점이 추출되는 경우 상기 타 함수의 시작 점 전(Before)을 상기 함수의 종료 점으로 설정하는 방법, 및 상기 함수의 시작 점부터 소정의 길이를 상기 함수의 종료 점으로 설정하는 방법 중 하나인 것을 특징으로 하는 메모리 상의 코드 조작 감지 방법.
- 제 3 항에 있어서, 상기 단계 A)에서,상기 코드 영역의 일부 영역을 설정하여, 상기 설정된 영역에 대한 각각의 제1 에러 확인용 데이터를 생성하는 것을 특징으로 하는 메모리 상의 코드 조작 감지 방법.
- 제 8 항에 있어서, 상기 단계 B)는,B-1) 상기 클라이언트 단말기와 공유하는 세션 키를 기반으로 세션을 맺는 단계; 및B-2) 상기 세션 키를 기반으로 상기 제1 에러 확인용 데이터에 대한 요청 메시지를 암호화 한 후, 상기 요청 메시지를 상기 클라이언트 단말기로 전송하는 단계를 포함하며,상기 요청 메시지를 수신한 상기 클라이언트 단말기는 상기 세션 키를 이용하여 상기 요청 메시지를 복호화 하는 것을 특징으로 하는 메모리 상의 코드 조작 감지 방법.
- 제 9 항에 있어서, 상기 단계 D)는,상기 요청 메시지에 따라 생성된 응답 메시지를 상기 세션 키를 이용하여 암호화 하는 단계; 및상기 응답 메시지를 서버로 전송하는 단계를 포함하며,상기 서버는 상기 세션 키를 이용하여 상기 응답 메시지를 복호화하는 것을 특징으로 하는 메모리 상의 코드 조작 감지 방법.
- 제 1 항 내지 제 10 항 중 어느 한 항에 있어서, 상기 제1 및 제2 에러 확인용 데이터는 CRC(Cyclic Redundancy Check) 데이터, 체크섬(Check Sum) 데이터, 해시 값(Hash Data), 그리고 인스트럭션(Instruction) 및 오퍼랜드(Operand)를 포함하는 고유 값 중 하나인 것을 특징으로 하는 메모리 상의 코드 조작 감지 방법.
- ⅰ) 서버에서 실행 프로그램의 코드 영역에 대한 제1 에러 확인용 데이터를 생성하는 단계;ⅱ) 상기 클라이언트 단말기와 공유하는 세션 키를 기반으로 서버와 세션을 맺는 단계;ⅲ) 상기 세션 키를 기반으로 상기 요청 메시지를 암호화 한 후, 상기 요청 메시지를 상기 클라이언트 단말기로 전송하는 단계;ⅳ) 상기 요청 메시지를 수신한 상기 클라이언트 단말기는 상기 세션 키를 이용하여, 상기 요청 메시지를 복호화 하는 단계;ⅴ) 상기 복호화된 요청 메시지에 따라 상기 코드 영역에 대한 제2 에러 확인용 데이터를 생성하는 단계;ⅵ) 상기 제2 에러 확인용 데이터를 기반으로 응답 메시지를 생성하여 상기 서버로 전송하는 단계; 및ⅶ) 상기 서버에서 상기 제1 및 제2 에러 확인용 데이터를 비교하고 그 결과에 따라 상기 클라이언트 단말기로 통보 여부를 결정하는 단계를 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
- 가) 서버에서 실행 프로그램의 코드 영역에서 소정 함수의 시작 점부터 종료 점까지 디스어셈블링(Disassembling)을 수행하여 상기 함수의 인스트럭션(Instruction)에 대한 제1 CRC 데이터를 생성하는 단계;나) 상기 제1 CRC 데이터를 기반으로 요청 메시지를 생성하여 네트워크를 통해 클라이언트 단말기로 전송하는 단계;다) 상기 클라이언트 단말기에서 상기 요청 메시지에 따라 상기 소정 함수의 시작 점부터 종료 점까지 상기 디스어셈블링을 수행하여 상기 함수의 인스트럭션에 대한 제2 CRC 데이터를 생성하는 단계;라) 상기 제2 CRC 데이터를 기반으로 응답 메시지를 생성하여 상기 서버로 전송하는 단계; 및마) 상기 서버에서 상기 제1 및 제2 CRC 데이터를 비교하고 그 결과에 따라 상기 클라이언트 단말기로 통보 여부를 결정하는 단계를 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050129616A KR100663034B1 (ko) | 2005-12-26 | 2005-12-26 | 메모리 상의 코드 조작 감지 방법 및 그 시스템 |
PCT/KR2006/005582 WO2007074992A1 (en) | 2005-12-26 | 2006-12-19 | Method for detecting malicious code changes from hacking of program loaded and executed on memory through network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050129616A KR100663034B1 (ko) | 2005-12-26 | 2005-12-26 | 메모리 상의 코드 조작 감지 방법 및 그 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100663034B1 true KR100663034B1 (ko) | 2007-01-02 |
Family
ID=37866488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050129616A KR100663034B1 (ko) | 2005-12-26 | 2005-12-26 | 메모리 상의 코드 조작 감지 방법 및 그 시스템 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR100663034B1 (ko) |
WO (1) | WO2007074992A1 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101052735B1 (ko) * | 2009-03-06 | 2011-07-29 | 주식회사 안철수연구소 | 메모리 조작유무를 감지하는 방법 및 이를 이용한 장치 |
KR101335326B1 (ko) * | 2011-12-30 | 2013-12-02 | (주)네오위즈게임즈 | 클라이언트 단말, 감시 서버, 및 감시 영역 변조 방지 방법 |
KR101623266B1 (ko) | 2014-09-17 | 2016-05-20 | (주)스마일게이트엔터테인먼트 | Crc 알고리즘을 이용한 메모리 보호 파일의 위변조 검출 방법 및 서버 |
US20220294636A1 (en) * | 2019-08-07 | 2022-09-15 | Siemens Aktiengesellschaft | Detecting Manipulated Clients in a Control System |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI409665B (zh) * | 2008-10-23 | 2013-09-21 | Shrisinha Technology Corp | Enter the information instantly against the protection method and its hardware |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5919257A (en) * | 1997-08-08 | 1999-07-06 | Novell, Inc. | Networked workstation intrusion detection system |
US6195767B1 (en) * | 1998-09-14 | 2001-02-27 | Phillip M. Adams | Data corruption detection apparatus and method |
US6640317B1 (en) * | 2000-04-20 | 2003-10-28 | International Business Machines Corporation | Mechanism for automated generic application damage detection and repair in strongly encapsulated application |
US6889159B2 (en) * | 2002-07-22 | 2005-05-03 | Finisar Corporation | Scalable multithreaded system testing tool |
-
2005
- 2005-12-26 KR KR1020050129616A patent/KR100663034B1/ko active IP Right Grant
-
2006
- 2006-12-19 WO PCT/KR2006/005582 patent/WO2007074992A1/en active Application Filing
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101052735B1 (ko) * | 2009-03-06 | 2011-07-29 | 주식회사 안철수연구소 | 메모리 조작유무를 감지하는 방법 및 이를 이용한 장치 |
KR101335326B1 (ko) * | 2011-12-30 | 2013-12-02 | (주)네오위즈게임즈 | 클라이언트 단말, 감시 서버, 및 감시 영역 변조 방지 방법 |
KR101623266B1 (ko) | 2014-09-17 | 2016-05-20 | (주)스마일게이트엔터테인먼트 | Crc 알고리즘을 이용한 메모리 보호 파일의 위변조 검출 방법 및 서버 |
US20220294636A1 (en) * | 2019-08-07 | 2022-09-15 | Siemens Aktiengesellschaft | Detecting Manipulated Clients in a Control System |
Also Published As
Publication number | Publication date |
---|---|
WO2007074992A1 (en) | 2007-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10439804B2 (en) | Data encrypting system with encryption service module and supporting infrastructure for transparently providing encryption services to encryption service consumer processes across encryption service state changes | |
JP4673890B2 (ja) | オンラインサービスを用いてデバイスに直接証明秘密鍵を転送する方法 | |
KR100823738B1 (ko) | 컴퓨팅 플랫폼의 설정 정보를 은닉하면서 무결성 보증을제공하는 방법 | |
US8161285B2 (en) | Protocol-Independent remote attestation and sealing | |
US7693286B2 (en) | Method of delivering direct proof private keys in signed groups to devices using a distribution CD | |
CN101443774A (zh) | 优化的完整性验证过程 | |
US8271788B2 (en) | Software registration system | |
US20060130130A1 (en) | Programmable processor supporting secure mode | |
JP2019017102A (ja) | IoTデバイス | |
KR100663034B1 (ko) | 메모리 상의 코드 조작 감지 방법 및 그 시스템 | |
KR101727134B1 (ko) | 파일에 대한 공증, 검증 및 파기를 수행하는 방법 및 서버 | |
JP5122225B2 (ja) | サーバとクライアント・システムとの間の通信セッションにおける状態追跡機構を履行する方法 | |
CN109586898B (zh) | 双系统通信密钥生成方法及计算机可读存储介质 | |
US8233628B2 (en) | Information processing apparatus and information processing method | |
WO2002005475A2 (en) | Generation and use of digital signatures | |
CN114244508A (zh) | 数据加密方法、装置、设备及存储介质 | |
CN113326518B (zh) | 一种数据处理方法及装置 | |
US20150019865A1 (en) | System and method for obfuscating initiation values of a cryptography protocol | |
KR100447777B1 (ko) | 키 스트록 데이터의 해킹 방지 방법 및 이를 기록한컴퓨터로 읽을 수 있는 기록매체 | |
TW202009773A (zh) | 可信執行環境的啟動方法和裝置 | |
US11516024B2 (en) | Semiconductor device, update data-providing method, update data-receiving method, and program | |
JP2023182857A (ja) | 情報処理装置、情報処理システム、情報処理装置の制御方法及びプログラム | |
US20090210719A1 (en) | Communication control method of determining whether communication is permitted/not permitted, and computer-readable recording medium recording communication control program | |
JP2015026892A (ja) | 情報処理システム | |
KR100883442B1 (ko) | 온라인 서비스를 사용하여 직접 증명 비밀키를 디바이스에전달하는 방법 |
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: 20121224 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20131223 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20141222 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20151222 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20161222 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20171222 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20181224 Year of fee payment: 13 |
|
FPAY | Annual fee payment |
Payment date: 20191223 Year of fee payment: 14 |