KR101052735B1 - 메모리 조작유무를 감지하는 방법 및 이를 이용한 장치 - Google Patents
메모리 조작유무를 감지하는 방법 및 이를 이용한 장치 Download PDFInfo
- Publication number
- KR101052735B1 KR101052735B1 KR1020090019406A KR20090019406A KR101052735B1 KR 101052735 B1 KR101052735 B1 KR 101052735B1 KR 1020090019406 A KR1020090019406 A KR 1020090019406A KR 20090019406 A KR20090019406 A KR 20090019406A KR 101052735 B1 KR101052735 B1 KR 101052735B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- code
- original
- crc
- data
- 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/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
Description
Claims (19)
- 보호대상 파일에 포함되는 데이터를 제1처리대상데이터로 하여, 상기 제1처리대상데이터를 처리하여 원본확인코드를 생성하는 원본확인코드 생성단계;상기 생성된 원본확인코드를 상기 보호대상 파일에 삽입하는 원본확인코드 삽입단계;상기 원본확인코드가 삽입된 보호대상 파일이 메모리상에 로드되는 보호대상파일 로드단계;상기 보호대상 파일이 메모리에 로드된 메모리상의 데이터를 제2처리대상데이터로 하여, 기정해진 주기별로 상기 제2처리대상데이터를 처리하여 메모리확인코드를 생성하는 메모리확인코드 생성단계; 및상기 원본확인코드와 상기 메모리확인코드를 비교하는 확인코드 비교단계;를 포함하고,상기 원본확인코드 생성단계는상기 제1처리대상데이터를 기정해진 블록단위로 처리하여 원본확인코드를 생성하는 것을 특징으로 하며,상기 메모리확인코드 생성단계는상기 원본확인코드 생성단계의 상기 기정해진 블록단위와 동일한 단위로, 상기 제2처리대상데이터를 처리하여 메모리확인코드를 생성하는 것을 특징으로 하는 메모리 조작유무를 감지하는 방법.
- 제1항에 있어서상기 보호대상 파일은 실행파일이고,상기 원본확인코드 생성단계는CRC알고리즘을 이용하여 상기 제1처리대상데이터를 처리하여 원본확인코드를 생성하는 것을 특징으로 하며,상기 메모리확인코드 생성단계는상기 원본확인코드 생성단계에서 사용된 CRC알고리즘과 동일한 알고리즘을 이용하여, 상기 제2처리대상데이터를 처리하여 메모리확인코드를 생성하는 것을 특징으로 하는 메모리 조작유무를 감지하는 방법.
- 제1항에 있어서상기 원본확인코드 생성단계는상기 보호대상파일에서 코드섹션을 추출하고, 상기 추출된 코드섹션에 포함되는 데이터를 제1처리대상데이터로 하여, 상기 제1처리대상데이터를 처리하여 원본확인코드를 생성하는 것을 특징으로 하며,상기 메모리확인코드 생성단계는상기 메모리상의 데이터에서 코드섹션을 추출하고, 상기 추출된 코드섹션에 포함되는 데이터를 제2처리대상데이터로 하여, 기 정해진 주기별로 상기 제2처리대상데이터를 처리하여 메모리확인코드를 생성하는 것을 특징으로 하는 메모리 조작유무를 감지하는 방법.
- 삭제
- 제1항에 있어서상기 기정해진 블록단위는운영체제에서 관리하는 페이지단위인 것을 특징으로 하는 메모리 조작유무를 감지하는 방법.
- 제5항에 있어서커널레벨에서 더티비트(Dirty-bit) 정보를 실시간으로 감시하는 더티비트감시단계;특정 더티비트(Dirty-bit)정보가 변경된 경우, 상기 변경된 더티비트(Dirty-bit)와 대응되는 페이지를 추출하는 변경페이지추출단계; 및상기 추출된 페이지가 상기 제2처리대상데이터를 포함하고 있는지 여부를 검 사하는 단계;를 더 포함하고,상기 메모리확인코드 생성단계는,상기 추출된 페이지가 상기 제2처리대상데이터를 포함하고 있는 경우, 상기 추출된 페이지에 포함된 데이터에 대해서 메모리확인코드를 생성하는 것을 특징으로 하는 메모리 조작유무를 감지하는 방법.
- 제5항에 있어서메모리속성을 변경하는 API함수인 속성변경API함수를 후킹하는 후킹단계; 및상기 속성변경API함수를 이용하여 메모리의 속성이 변경된 것이 감지된 경우, 상기 속성변경API함수의 인수를 참조하여 속성이 변경된 페이지를 추출하는 변경페이지추출단계;를 더 포함하고상기 메모리확인코드 생성단계는상기 추출된 페이지가 상기 제2처리대상데이터를 포함하고 있는 경우, 상기 추출된 페이지에 포함된 데이터에 대해서 메모리확인코드를 생성하는 것을 특징으로 하는 메모리 조작유무를 감지하는 방법.
- 제7항에 있어서상기 속성변경API함수는Kernel32.dll의 VirtualProtect함수인 것을 특징으로 하는 메모리 조작유무를 감지하는 방법.
- 제1항에 있어서상기 원본확인코드 삽입단계는상기 보호대상 파일에 포함된 다수의 섹션 각각의 영역 중 데이터에 의하여 점유되지 않은 비점유 영역을 검출하는 비점유영역 검출단계; 및상기 검출된 비점유영역에 상기 원본확인코드를 삽입하는 단계를 포함하는 것을 특징으로 하는 메모리 조작유무를 감지하는 방법.
- 보호대상파일이 메모리에 로드된 이후 조작이 되었는지 여부를 감지하는 기능을 수행하는 메모리 조작유무 감지장치에 있어서,상기 보호대상파일에 기삽입된 원본확인코드를 추출하는 원본CRC리딩모듈;상기 보호대상파일이 메모리상에 로드된 이후, 상기 보호대상 파일이 메모리에 로드된 메모리상의 데이터를 제2처리대상데이터로 하여, 기정해진 주기별로 상기 제2처리대상데이터를 처리하여 메모리확인코드를 생성하는 메모리CRC생성모듈; 및상기 생성된 메모리확인코드와 상기 추출된 원본확인코드를 비교하는 CRC비교모듈을 포함하고,상기 보호대상 파일에 포함되는 데이터를 제1처리대상데이터로 하여, 상기 제1처리대상데이터를 처리하여 원본확인코드를 생성하고, 상기 생성된 원본확인코드를 상기 보호대상 파일에 삽입하는 원본CRC삽입모듈;을 더 포함하며,상기 원본CRC삽입모듈은상기 제1처리대상데이터를 기정해진 블록단위로 처리하여 원본확인코드를 생성하는 것을 특징으로 하며,상기 메모리CRC생성모듈은상기 원본확인코드 생성단계의 상기 기정해진 블록단위와 동일한 단위로, 상기 제2처리대상데이터를 처리하여 메모리확인코드를 생성하는 것을 특징으로 하는 메모리 조작유무 감지장치.
- 삭제
- 제10항에 있어서상기 원본CRC리딩모듈, 상기 메모리CRC생성모듈 및 상기 CRC비교모듈은 상기 보호대상 파일이 메모리상에 로드시와 동시에 메모리에 로딩되는 것을 특징으로 하는 메모리 조작유무 감지장치.
- 제10항에 있어서상기 원본CRC삽입모듈은상기 보호대상파일에서 코드섹션을 추출하고, 상기 추출된 코드섹션에 포함되는 데이터를 제1처리대상데이터로 하여, 상기 제1처리대상데이터를 처리하여 원본확인코드를 생성하는 것을 특징으로 하며,상기 메모리CRC생성모듈은상기 메모리상의 데이터에서 코드섹션을 추출하고, 상기 추출된 코드섹션에 포함되는 데이터를 제2처리대상데이터로 하여, 기 정해진 주기별로 상기 제2처리대상데이터를 처리하여 메모리확인코드를 생성하는 것을 특징으로 하는 메모리 조작유무 감지장치.
- 삭제
- 제10항에 있어서상기 데이터 블록단위는운영체제에서 관리하는 페이지단위인 것을 특징으로 하는 메모리 조작유무 감지장치.
- 제15항에 있어서커널레벨에서 더티비트(Dirty-bit) 정보를 실시간으로 감시하는 더티비트(Dirty-bit)감지모듈을 더 포함하며,상기 메모리CRC생성모듈은특정 더티비트(Dirty-bit)정보가 변경된 경우, 상기 변경된 더티비트(Dirty-bit)와 대응되는 페이지를 추출하고, 상기 추출된 페이지가 상기 제2처리대상데이터를 포함하고 있는 경우, 상기 추출된 페이지에 포함된 데이터에 대해서 메모리확인코드를 생성하는 것을 특징으로 하는 메모리 조작유무 감지장치.
- 제15항에 있어서메모리속성을 변경하는 API함수인 속성변경API함수를 후킹한 후, 상기 속성변경API함수를 이용하여 메모리의 속성이 변경된 것이 감지된 경우, 상기 속성변경API함수의 인수를 참조하여 속성이 변경된 페이지를 추출하는 변경페이지검색모듈을 더 포함하고,상기 메모리CRC생성모듈은상기 속성이 변경된 페이지에 포함된 데이터에 대해서 메모리확인코드를 생성하는 것을 특징으로 하는 메모리 조작유무 감지장치.
- 삭제
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090019406A KR101052735B1 (ko) | 2009-03-06 | 2009-03-06 | 메모리 조작유무를 감지하는 방법 및 이를 이용한 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090019406A KR101052735B1 (ko) | 2009-03-06 | 2009-03-06 | 메모리 조작유무를 감지하는 방법 및 이를 이용한 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100100488A KR20100100488A (ko) | 2010-09-15 |
KR101052735B1 true KR101052735B1 (ko) | 2011-07-29 |
Family
ID=43006560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090019406A KR101052735B1 (ko) | 2009-03-06 | 2009-03-06 | 메모리 조작유무를 감지하는 방법 및 이를 이용한 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101052735B1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101335326B1 (ko) * | 2011-12-30 | 2013-12-02 | (주)네오위즈게임즈 | 클라이언트 단말, 감시 서버, 및 감시 영역 변조 방지 방법 |
KR101500512B1 (ko) | 2013-05-15 | 2015-03-18 | 소프트캠프(주) | 데이터 프로세싱 시스템 보안 장치와 보안방법 |
KR102558980B1 (ko) * | 2021-05-07 | 2023-07-25 | 윤여을 | 회계 부정 적발을 위한 서버, 방법 및 명령을 기록한 기록 매체 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060067584A (ko) * | 2004-12-15 | 2006-06-20 | 삼성전자주식회사 | 해킹 방지 기능이 있는 스마트 카드 |
KR100663034B1 (ko) * | 2005-12-26 | 2007-01-02 | 주식회사 안철수연구소 | 메모리 상의 코드 조작 감지 방법 및 그 시스템 |
KR100681696B1 (ko) * | 2004-11-29 | 2007-02-15 | 주식회사 안철수연구소 | 컴퓨터 응용 프로그램의 메모리 데이터 조작 방지 방법 |
KR20070074308A (ko) * | 2006-01-09 | 2007-07-12 | 삼성전자주식회사 | 불 휘발성 메모리의 프로그램 동작을 검증하는 장치 및방법, 그리고 그 장치를 포함한 메모리 카드 |
-
2009
- 2009-03-06 KR KR1020090019406A patent/KR101052735B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100681696B1 (ko) * | 2004-11-29 | 2007-02-15 | 주식회사 안철수연구소 | 컴퓨터 응용 프로그램의 메모리 데이터 조작 방지 방법 |
KR20060067584A (ko) * | 2004-12-15 | 2006-06-20 | 삼성전자주식회사 | 해킹 방지 기능이 있는 스마트 카드 |
KR100663034B1 (ko) * | 2005-12-26 | 2007-01-02 | 주식회사 안철수연구소 | 메모리 상의 코드 조작 감지 방법 및 그 시스템 |
KR20070074308A (ko) * | 2006-01-09 | 2007-07-12 | 삼성전자주식회사 | 불 휘발성 메모리의 프로그램 동작을 검증하는 장치 및방법, 그리고 그 장치를 포함한 메모리 카드 |
Also Published As
Publication number | Publication date |
---|---|
KR20100100488A (ko) | 2010-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jeong et al. | Generic unpacking using entropy analysis | |
JP6494744B2 (ja) | リターン指向プログラミング攻撃の透過的な検出及び抽出 | |
JP5458184B2 (ja) | 動的ファンクションコールシステムにおけるアグレッシブな自動修正のためのシステムおよび方法 | |
US8499352B2 (en) | Obfuscated malware detection | |
KR102415971B1 (ko) | 악성 모바일 앱 감지 장치 및 방법 | |
JP4732484B2 (ja) | 仮想環境を利用した非実行ファイル内のエクスプロイトコード分析方法及び装置 | |
US20160275019A1 (en) | Method and apparatus for protecting dynamic libraries | |
US20160196427A1 (en) | System and Method for Detecting Branch Oriented Programming Anomalies | |
CN109271789B (zh) | 恶意进程检测方法、装置、电子设备及存储介质 | |
US20160171213A1 (en) | Apparatus and method for controlling instruction execution to prevent illegal accesses to a computer | |
CN114462044A (zh) | 一种基于污点分析的uefi固件漏洞静态检测方法及装置 | |
US11176060B2 (en) | Dynamic memory protection | |
CN110717181B (zh) | 基于新型程序依赖图的非控制数据攻击检测方法及装置 | |
KR101052735B1 (ko) | 메모리 조작유무를 감지하는 방법 및 이를 이용한 장치 | |
CN109472135B (zh) | 一种检测进程注入的方法、装置及存储介质 | |
US11157611B2 (en) | Binary image stack cookie protection | |
CN108255496B (zh) | 一种获取安卓应用原生层代码的方法、系统及相关装置 | |
JP5549810B2 (ja) | プログラム難読化装置、プログラム制御装置、プログラム難読化方法及びプログラム | |
KR101842263B1 (ko) | 어플리케이션에 대한 역공학 차단 방법 및 장치 | |
CN114637988A (zh) | 一种面向二进制的函数级软件随机化方法 | |
KR101421630B1 (ko) | 코드 인젝션된 악성코드 탐지 시스템 및 방법 | |
Isawa et al. | Generic Unpacking Method Based on Detecting Original Entry Point | |
KR102544801B1 (ko) | 데이터 재사용 공격에 대한 방어 방법 및 시스템 | |
US20230418950A1 (en) | Methods, Devices, and Systems for Control Flow Integrity | |
KR102046550B1 (ko) | 후킹 탐지 장치 및 방법 |
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: 20140725 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20150727 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20160725 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20170725 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20180725 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20190725 Year of fee payment: 9 |