KR100681696B1 - 컴퓨터 응용 프로그램의 메모리 데이터 조작 방지 방법 - Google Patents
컴퓨터 응용 프로그램의 메모리 데이터 조작 방지 방법 Download PDFInfo
- Publication number
- KR100681696B1 KR100681696B1 KR1020050006586A KR20050006586A KR100681696B1 KR 100681696 B1 KR100681696 B1 KR 100681696B1 KR 1020050006586 A KR1020050006586 A KR 1020050006586A KR 20050006586 A KR20050006586 A KR 20050006586A KR 100681696 B1 KR100681696 B1 KR 100681696B1
- Authority
- KR
- South Korea
- Prior art keywords
- program
- api function
- memory data
- hooking
- determination
- 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
Abstract
Description
(B) 소정 운영 체제 하에서 구동되는 활성화된 프로그램에 의해 상기 API 함수가 호출되면, 상기 후킹 핸들러가 소정 비교조건을 토대로 상기 활성화된 프로그램이 악의적인 비정상적 메모리 데이터 접근 프로그램인지를 판단하는 단계; 및
(C) 상기 단계(B)의 판단결과, 상기 활성화된 프로그램이 악의적인 비정상적 메모리 데이터 접근 프로그램일 경우, 상기 후킹 핸들러가 제어 처리부로 상기 판단결과를 보고하는 단계를 포함하는 것을 특징으로 한다.
Claims (20)
- (A) 보호 프로그램 실행 도중, 후킹 핸들러가 메모리 데이터 접근관련 API 함수를 후킹하는 단계;(B) 소정 운영 체제 하에서 구동되는 활성화된 프로그램에 의해 상기 API 함수가 호출되면, 상기 후킹 핸들러가 소정 비교조건을 토대로 상기 활성화된 프로그램이 악의적인 비정상적 메모리 데이터 접근 프로그램인지를 판단하는 단계; 및(C) 상기 단계(B)의 판단결과, 상기 활성화된 프로그램이 악의적인 비정상적 메모리 데이터 접근 프로그램일 경우, 상기 후킹 핸들러가 제어 처리부로 상기 판단결과를 보고하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 응용 프로그램의 메모리 데이터 조작 방지 방법.
- 제 1 항에 있어서, 상기 단계(A)는,IAT(Import Address Table) 후킹 및 API 함수 후킹 중 적어도 하나의 방법을 이용하는 것을 특징으로 하는 컴퓨터 응용 프로그램의 메모리 데이터 조작 방지 방법.
- 제 1 항에 있어서, 상기 단계(B)는,B-1) 상기 후킹 핸들러가 현재 상기 API 함수를 호출한 활성화된 프로그램이 보호대상 프로그램인지를 판단하는 단계;B-2) 상기 단계(B-1)의 판단결과, 보호대상 프로그램이 아니면, 상기 API 함 수 호출당시 파라미터를 통해 접근하려는 프로그램이 보호대상 프로그램 인지를 판단하는 단계; 및B-3) 상기 단계(B-2)의 판단결과, 보호대상 프로그램일 경우, 악의적인 비정상적 메모리 데이터 접근으로 판단하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 응용 프로그램의 메모리 데이터 조작 방지 방법.
- 제 3 항에 있어서, 상기 단계(B-2)는,상기 단계(B-1)의 판단결과, 보호대상 프로그램에 해당되면, 원시 API 함수를 호출하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 응용 프로그램의 메모리 데이터 조작 방지 방법.
- 제 3 항에 있어서, 상기 상기 파라미터는,PID(Process ID)이며, 컴퓨터 응용 프로그램이 상기 API 함수를 호출할 경우 획득하는 고유의 식별자인 것을 특징으로 하는 컴퓨터 응용 프로그램의 메모리 데이터 조작 방지 방법.
- 제 3 항에 있어서, 상기 단계(B-3)는,상기 단계(B-2)의 판단결과, 보호대상 프로그램이 아닐 경우, 현재 활성화된 프로그램이 메모리 데이터 접근관련 API 함수를 호출했지만, 상기 보호대상 프로그램과는 관련이 없기 때문에 원시 API 함수를 호출하는 단계를 더 포함하는 것을 특 징으로 하는 컴퓨터 응용 프로그램의 메모리 데이터 조작 방지 방법.
- 제 1 항에 있어서, 상기 방법은,(D) 제어모듈이 상기 단계(A)에서 후킹된 API 함수의 변조여부를 일정시간 간격으로 모니터링하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 응용 프로그램의 메모리 데이터 조작 방지 방법.
- 제 7 항에 있어서, 상기 단계(D)는,(D-1) 상기 후킹된 API 함수 주소의 첫 바이트가 JMP 코드인지의 여부를 판단하는 단계;(D-2) 상기 단계(D-1)의 판단결과, JMP 코드일 경우, 상기 JMP 코드의 주소가 인젝션된 DLL의 코드 영역을 가리키는지의 여부를 판단하는 단계; 및(D-3) 상기 단계(D-2)의 판단결과, 상기 인젝션된 DLL 코드영역을 가리킬 경우, 변조되지 않은 API 함수로 판단하고, 상기 단계(D-2)의 판단결과, 상기 인젝션된 DLL 코드영역을 가르키지 않을 경우, 상기 후킹된 API 함수가 변조된 것으로 판단하여 상기 제어 처리부로 알리는 단계를 포함하는 것을 특징으로 하는 컴퓨터 응용 프로그램의 메모리 데이터 조작 방지 방법.
- 제 8 항에 있어서, 상기 단계(D-2)는,상기 단계(D-1)의 판단결과, JMP 코드가 아닐 경우, 상기 후킹된 API 함수가 변조된 것으로 판단하여 제어 처리부로 보고하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 응용 프로그램의 메모리 데이터 조작 방지 방법.
- 제 1 항에 있어서, 상기 방법은,(E) 제어 처리부에 의해 기록되는 저장영역의 기록정보 변조여부를 일정시간 간격으로 검사하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 응용 프로그램의 메모리 데이터 조작 방지 방법.
- 제 10 항에 있어서, 상기 단계(E)는,(E-1) 상기 저장영역 기록정보 변경 시에 상기 기록정보에 대한 CRC(Cyclic Redundancy Code) 값을 생성 또는 갱신하여 저장하는 단계; 및(E-2) 상기 저장된 CRC(Cyclic Redundancy Code) 값을 일정시간 간격으로 상기 저장영역의 CRC(Cyclic Redundancy Code) 값과 비교하여 다르면 변조된 것으로 판단하여 상기 보호대상 프로그램을 중지시키는 단계를 포함하는 것을 특징으로 하는 컴퓨터 응용 프로그램의 메모리 데이터 조작 방지 방법.
- (A) 보호 프로그램 실행 도중, 후킹 핸들러가 메모리 데이터 접근관련 API 함수를 후킹하는 단계;(B) 소정 운영 체제 하에서 구동되는 활성화된 프로그램에 의해 상기 API 함수가 호출되면, 상기 후킹 핸들러가 소정 비교조건을 토대로 상기 활성화된 프로그램이 악의적인 비정상적 메모리 데이터 접근 프로그램인지를 판단하는 단계; 및(C) 상기 단계(B)의 판단결과, 상기 활성화된 프로그램이 악의적인 비정상적 메모리 데이터 접근 프로그램일 경우, 상기 후킹 핸들러가 제어 처리부로 상기 판단결과를 보고하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 응용 프로그램의 메모리 데이터 조작 방지 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
- 제 12 항에 있어서, 상기 단계(A)는,IAT(Import Address Table) 후킹 및 API 함수 후킹 중 적어도 하나의 방법을 이용하는 것을 특징으로 하는 컴퓨터 응용 프로그램의 메모리 데이터 조작 방지 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
- 제 12 항에 있어서, 상기 단계(B)는,B-1) 상기 후킹 핸들러가 현재 상기 API 함수를 호출한 활성화된 프로그램이 보호대상 프로그램인지를 판단하는 단계;B-2) 상기 단계(B-1)의 판단결과, 보호대상 프로그램이 아니면, 상기 API 함수 호출당시 파라미터를 통해 접근하려는 프로그램이 보호대상 프로그램 인지를 판단하는 단계; 및B-3) 상기 단계(B-2)의 판단결과, 보호대상 프로그램일 경우, 악의적인 비정상적 메모리 데이터 접근으로 판단하는 단계를 포함하는 것을 특징으로 하는 컴퓨 터 응용 프로그램의 메모리 데이터 조작 방지 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
- 제 14 항에 있어서, 상기 단계(B-2)는,상기 단계(B-1)의 판단결과, 보호대상 프로그램에 해당되면, 원시 API 함수를 호출하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 응용 프로그램의 메모리 데이터 조작 방지 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
- 제 12 항에 있어서, 상기 기록매체는,(D) 제어모듈이 상기 단계(A)에서 후킹된 API 함수의 변조여부를 일정시간 간격으로 모니터링하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 응용 프로그램의 메모리 데이터 조작 방지 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
- 제 16 항에 있어서, 상기 단계(D)는,(D-1) 상기 후킹된 API 함수 주소의 첫 바이트가 JMP 코드인지의 여부를 판단하는 단계;(D-2) 상기 단계(D-1)의 판단결과, JMP 코드일 경우, 상기 JMP 코드의 주소가 인젝션된 DLL의 코드 영역을 가리키는지의 여부를 판단하는 단계; 및(D-3) 상기 단계(D-2)의 판단결과, 상기 인젝션된 DLL 코드영역을 가리킬 경우, 변조되지 않은 API 함수로 판단하고, 상기 단계(D-2)의 판단결과, 상기 인젝션된 DLL 코드영역을 가르키지 않을 경우, 상기 후킹된 API 함수가 변조된 것으로 판단하여 상기 제어 처리부로 알리는 단계를 포함하는 것을 특징으로 하는 컴퓨터 응용 프로그램의 메모리 데이터 조작 방지 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
- 제 17 항에 있어서, 상기 단계(D-2)는,상기 단계(D-1)의 판단결과, JMP 코드가 아닐 경우, 상기 후킹된 API 함수가 변조된 것으로 판단하여 제어 처리부로 보고하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램에 의한 자동입력 방지방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
- 제 12 항에 있어서, 상기 기록매체는,(E) 제어 처리부에 의해 기록되는 저장영역의 기록정보 변조여부를 일정시간 간격으로 검사하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 응용 프로그램의 메모리 데이터 조작 방지 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
- 제 19 항에 있어서, 상기 단계(E)는,(E-1) 상기 저장영역 기록정보 변경 시에 상기 기록정보에 대한 CRC(Cyclic Redundancy Code) 값을 생성 또는 갱신하여 저장하는 단계; 및(E-2) 상기 저장된 CRC(Cyclic Redundancy Code) 값을 일정시간 간격으로 상기 저장영역의 CRC(Cyclic Redundancy Code) 값과 비교하여 다르면, 변조된 것으로 판단하여 상기 보호대상 프로그램을 중지시키는 단계를 포함하는 것을 특징으로 하는 컴퓨터 응용 프로그램의 메모리 데이터 조작 방지 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20040098909 | 2004-11-29 | ||
KR1020040098909 | 2004-11-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060059759A KR20060059759A (ko) | 2006-06-02 |
KR100681696B1 true KR100681696B1 (ko) | 2007-02-15 |
Family
ID=37156895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050006586A KR100681696B1 (ko) | 2004-11-29 | 2005-01-25 | 컴퓨터 응용 프로그램의 메모리 데이터 조작 방지 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100681696B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101052735B1 (ko) * | 2009-03-06 | 2011-07-29 | 주식회사 안철수연구소 | 메모리 조작유무를 감지하는 방법 및 이를 이용한 장치 |
WO2012023674A1 (ko) * | 2010-08-20 | 2012-02-23 | 주식회사 파수닷컴 | Drm 환경에서의 클립보드 보호 시스템 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체 |
KR20230113892A (ko) | 2022-01-24 | 2023-08-01 | 주식회사 에이치피에스피 | 컴퓨터 장치의 로그 데이터 분류 시스템 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100943318B1 (ko) * | 2007-08-21 | 2010-02-19 | 소프트캠프(주) | 클립보드 보안방법 |
KR100955725B1 (ko) * | 2007-12-28 | 2010-05-03 | 엔에이치엔비즈니스플랫폼 주식회사 | 메모리 해킹 차단 방법 및 시스템 |
KR100953355B1 (ko) * | 2008-04-22 | 2010-04-20 | 주식회사 안철수연구소 | 온라인 전자거래 프로그램 보호방법 |
KR100951852B1 (ko) | 2008-06-17 | 2010-04-12 | 한국전자통신연구원 | 응용 프로그램 비정상행위 차단 장치 및 방법 |
WO2010093071A1 (ko) * | 2009-02-12 | 2010-08-19 | 주식회사 안철수연구소 | 인터넷 사이트 보안 시스템 및 그 방법 |
KR101014814B1 (ko) * | 2009-07-22 | 2011-02-14 | 주식회사 즐게임 | 커널 감시기가 설치된 컴퓨터 시스템 및 커널 감시 방법 |
US8607094B2 (en) | 2009-09-29 | 2013-12-10 | Hyundai Motor Company | Operational system test method |
KR101249764B1 (ko) * | 2010-08-10 | 2013-04-03 | 주식회사 잉카인터넷 | 접근차단 게임 핵 프로세스 검출 및 실행차단방법 |
KR101155123B1 (ko) * | 2010-10-26 | 2012-06-11 | 한국과학기술원 | 커널 코드의 오류로부터 응용 프로그램의 메모리를 보호하는 장치 및 방법 |
KR101086451B1 (ko) | 2011-08-30 | 2011-11-25 | 한국전자통신연구원 | 클라이언트 화면 변조 방어 장치 및 방법 |
KR101308112B1 (ko) * | 2012-01-02 | 2013-09-12 | (주)네오위즈게임즈 | 메모리 조작 방지 방법 및 클라이언트 단말 |
KR101438979B1 (ko) * | 2012-12-31 | 2014-09-11 | 현대자동차주식회사 | 소프트웨어 검사 방법 및 시스템 |
CN106997316B (zh) * | 2017-04-11 | 2020-02-21 | 上海联彤网络通讯技术有限公司 | 内存异常增长的检测系统及方法 |
KR102141456B1 (ko) * | 2019-01-10 | 2020-08-06 | (주)제니퍼소프트 | 자동 프로파일링이 가능한 모니터링 시스템 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR970022747A (ko) * | 1995-10-26 | 1997-05-30 | 리 패치 | 동적으로 링크된 실행 모듈의 사용을 보호하기 위한 시스템 및 방법 |
KR19980016875A (ko) * | 1996-08-29 | 1998-06-05 | 양재신 | 자동차의 트렁크 리드에 설치된 손잡이장치 |
KR20020029657A (ko) * | 2002-01-12 | 2002-04-19 | 우제학 | 디지털 컨텐츠의 정보보호 방법 및 시스템 |
JP2004234053A (ja) | 2003-01-28 | 2004-08-19 | Internatl Business Mach Corp <Ibm> | コンピュータシステム、コンピュータ装置、記憶装置のデータ保護方法、およびプログラム |
-
2005
- 2005-01-25 KR KR1020050006586A patent/KR100681696B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR970022747A (ko) * | 1995-10-26 | 1997-05-30 | 리 패치 | 동적으로 링크된 실행 모듈의 사용을 보호하기 위한 시스템 및 방법 |
KR19980016875A (ko) * | 1996-08-29 | 1998-06-05 | 양재신 | 자동차의 트렁크 리드에 설치된 손잡이장치 |
KR20020029657A (ko) * | 2002-01-12 | 2002-04-19 | 우제학 | 디지털 컨텐츠의 정보보호 방법 및 시스템 |
JP2004234053A (ja) | 2003-01-28 | 2004-08-19 | Internatl Business Mach Corp <Ibm> | コンピュータシステム、コンピュータ装置、記憶装置のデータ保護方法、およびプログラム |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101052735B1 (ko) * | 2009-03-06 | 2011-07-29 | 주식회사 안철수연구소 | 메모리 조작유무를 감지하는 방법 및 이를 이용한 장치 |
WO2012023674A1 (ko) * | 2010-08-20 | 2012-02-23 | 주식회사 파수닷컴 | Drm 환경에서의 클립보드 보호 시스템 및 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체 |
US9098713B2 (en) | 2010-08-20 | 2015-08-04 | Fasoo.Com Co., Ltd | Clipboard protection system in DRM environment and recording medium in which program for executing method in computer is recorded |
KR20230113892A (ko) | 2022-01-24 | 2023-08-01 | 주식회사 에이치피에스피 | 컴퓨터 장치의 로그 데이터 분류 시스템 |
Also Published As
Publication number | Publication date |
---|---|
KR20060059759A (ko) | 2006-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100681696B1 (ko) | 컴퓨터 응용 프로그램의 메모리 데이터 조작 방지 방법 | |
KR100685672B1 (ko) | 컴퓨터 프로그램에 의한 자동입력 방지방법 | |
US10296437B2 (en) | Framework for efficient security coverage of mobile software applications | |
US10181029B1 (en) | Security cloud service framework for hardening in the field code of mobile software applications | |
RU2698776C2 (ru) | Способ ведения базы данных и соответствующий сервер | |
JP6829718B2 (ja) | 複数のソフトウェアエンティティにわたって悪意あるビヘイビアを追跡するためのシステムおよび方法 | |
US9009823B1 (en) | Framework for efficient security coverage of mobile software applications installed on mobile devices | |
US9367681B1 (en) | Framework for efficient security coverage of mobile software applications using symbolic execution to reach regions of interest within an application | |
US9183377B1 (en) | Unauthorized account monitoring system and method | |
CN101098226B (zh) | 一种病毒在线实时处理系统及其方法 | |
US20070250927A1 (en) | Application protection | |
Berthome et al. | Repackaging android applications for auditing access to private data | |
US20070209032A1 (en) | Driver verifier | |
WO2016131830A1 (en) | Mining sandboxes | |
CN106326735B (zh) | 防注入的方法和装置 | |
CN108388793A (zh) | 一种基于主动防御的虚拟机逃逸防护方法 | |
CN111062032A (zh) | 异常检测方法和系统及计算机可读存储介质 | |
CN116074130B (zh) | 系统防护方法、装置、设备和介质 | |
Mé et al. | Experimenting a Policy-Based HIDS Based on an Information Flow Control Model | |
CN111783087A (zh) | 可执行文件恶意执行的检测方法及装置、终端、存储介质 | |
CN107818260B (zh) | 保障系统安全的方法及装置 | |
CN114238947A (zh) | Windows系统的软件保护方法、系统、设备及介质 | |
CN113297628A (zh) | 一种修改行为审计方法、装置、设备及可读存储介质 | |
KR100457405B1 (ko) | 타이머 api 후킹 여부 판단방식에 의한 스피드 핵 사용여부 검출방법 | |
CN104834861B (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: 20130228 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140206 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150206 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20160210 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20170206 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20180206 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20190207 Year of fee payment: 13 |
|
FPAY | Annual fee payment |
Payment date: 20200206 Year of fee payment: 14 |