KR101582420B1 - 실행 모듈의 무결성 체크 방법 및 장치 - Google Patents

실행 모듈의 무결성 체크 방법 및 장치 Download PDF

Info

Publication number
KR101582420B1
KR101582420B1 KR1020140123695A KR20140123695A KR101582420B1 KR 101582420 B1 KR101582420 B1 KR 101582420B1 KR 1020140123695 A KR1020140123695 A KR 1020140123695A KR 20140123695 A KR20140123695 A KR 20140123695A KR 101582420 B1 KR101582420 B1 KR 101582420B1
Authority
KR
South Korea
Prior art keywords
module
server
called
crc value
execution
Prior art date
Application number
KR1020140123695A
Other languages
English (en)
Inventor
손형곤
이창선
권혁빈
Original Assignee
(주)스마일게이트엔터테인먼트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)스마일게이트엔터테인먼트 filed Critical (주)스마일게이트엔터테인먼트
Priority to KR1020140123695A priority Critical patent/KR101582420B1/ko
Application granted granted Critical
Publication of KR101582420B1 publication Critical patent/KR101582420B1/ko

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

본 발명은 무결성 체크에 소요되는 비용과 시간은 최소화하되, 동작의 신뢰성은 보다 향상시켜 줄 수 있도록 하는 실행 모듈의 무결성 체크 방법 및 장치에 관한 것으로,
상기 무결성 체크 장치의 모듈 무결성 체크 방법은, 프로세스의 실행 도중에 클라이언트 단말에 의해 호출되는 모듈을 검출하는 단계; 상기 모듈의 CRC 값과 사용 횟수를 획득한 후, 상기 모듈의 파일명에 매핑하는 단계; 및 상기 사용 횟수가 기 설정된 값 이상인 모듈을 화이트리스트로 분류하는 단계를 포함할 수 있다.

Description

실행 모듈의 무결성 체크 방법 및 장치{Method and apparatus for checking integrity of processing module}
본 발명은 실행 모듈의 무결성 체크 방법에 관한 것으로, 특히 무결성 체크에 소요되는 비용과 시간은 최소화하되, 동작의 신뢰성은 보다 향상시켜 줄 수 있도록 하는 실행 모듈의 무결성 체크 방법 및 장치에 관한 것이다.
인터넷 기술의 급속한 발전과 인터넷 보급의 확대에 따라 사용자 PC의 보안을 위협하는 해킹 모듈이 갈수록 지능화, 다양화되고 있다. 이러한 해킹 모듈은 클라이언트 단말에 침투하여 사용자의 의도와는 무관한 작업을 처리하거나 비정상적인 기능을 수행하는 해킹 모듈로서, 주로 실행 프로세스(EXE), 동적 연결 라이브러리(DLL)의 형태를 띈다.
해킹 모듈은 그 종류에 따라서 다양한 형태가 존재하지만, 다른 프로세스 또는 운영 체제에 접근하여 코드를 변경시키거나 정보를 추출하는 동작, 비정상적인 네트워크 패킷을 송수신하는 동작 또는 보안 프로세스로부터 자신의 존재를 숨기기 위한 은닉 행위와 같은 일반적인 프로세스와는 다른 이상 행동을 수행한다는 공통적인 특성을 가지고 있다.
이에 클라이언트 단말에 구비된 모듈 각각에 대한 무결성을 체크하여 해킹 모듈 가능성이 있는 모듈은 블랙리스트로 분류하고, 그 외에 안전하다고 판단되는 모듈만을 화이트리스트로 분류, 화이트리스트에 속하는 모듈만이 실행될 수 있도록 함으로써, 클라이언트 단말의 안정성을 확보할 수 있도록 해준다.
그러나 종래의 무결성 체크 동작은 기 검출된 해킹 모듈의 패턴을 추출하여 데이터베이스에 저장해 놓고, 보안프로세스가 컴퓨터에 실행중인 프로세스들에 대해 데이터베이스에 저장된 해킹 모듈 패턴과 비교하여 해킹 모듈을 검출하는 방식으로 구동된다.
다만, 이러한 경우, 증가하는 해킹 모듈의 종류에 따라 데이터베이스에 저장할 패턴이 증가함으로써 더 많은 용량의 데이터베이스가 필요해지고, 이에 따라 무결성 체크 동작에 소요되는 시간과 비용이 증가되는 문제가 발생하게 된다.
또한, 기 등록된 패턴이 일치하는 지 여부에 따라, 해킹 모듈 여부를 진단하기 때문에 변종되거나 알려지지 않은 미지의 해킹 모듈에 대해서는 전혀 대처하지 못하는 문제도 있다.
본 발명의 목적은 모듈 평판을 기반으로 모듈의 무결성을 체크하는 새로운 방식의 실행 모듈의 무결성 체크 방법 및 장치를 제공하도록 한다.
또한 본 발명의 목적은 온라인 게임과 같이 클라이언트 단말과 서버가 상호연동하여 특정 프로세스를 구동하는 경우, 클라이언트 단말과 서버에서 함께 사용하는지 여부를 기반으로 실행 모듈의 무결성을 체크하도록 하는 실행 모듈의 무결성 체크 방법 및 장치를 제공하도록 한다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 무결성 체크 장치의 모듈 무결성 체크 방법은, 프로세스의 실행 도중에 클라이언트 단말에 의해 호출되는 모듈을 검출하는 단계; 상기 모듈의 CRC 값과 사용 횟수를 획득한 후, 상기 모듈의 파일명에 매핑하는 단계; 및 상기 사용 횟수가 기 설정된 값 이상인 모듈을 화이트리스트로 분류하는 단계를 포함하는 실행 모듈의 무결성 체크 방법을 제공한다.
상기 모듈의 파일명에 매핑하는 단계는 상기 모듈의 CRC 값을 생성한 후, 기 저장되어 있는 CRC 값과 비교하여 신규 모듈 여부를 확인하는 단계; 상기 신규 모듈이면, 사용 횟수를 카운팅하기 시작한 후, 상기 신규 모듈의 파일명에 CRC 값과 사용 횟수를 매핑하여 상기 신규 모듈에 대응되는 모듈 정보를 새로이 생성하는 단계; 및 상기 신규 모듈이 아니면, 상기 모듈 정보의 사용 횟수를 갱신하는 단계를 포함할 수 있다.
또한 상기 방법은 상기 신규 모듈의 CRC 값과 상기 화이트리스트로 분류된 모듈의 CRC 값을 비교하여, 상기 신규 모듈이 상기 화이트리스트로 분류된 모듈인지를 결정하는 단계;를 더 포함할 수 있다.
또한 상기 방법은 서버로부터 상기 프로세스 실행 시 호출되는 모듈 모두에 대한 정보를 제공받는 단계; 상기 제공받은 정보를 기반으로 상기 서버와 상기 클라이언트 단말이 함께 사용하는 모듈을 검출하는 단계; 및 상기 검출된 모듈을 화이트리스트로 분류하는 단계를 더 포함할 수 있다.
상기 제공받는 정보는 상기 프로세스 실행 시 호출되는 모듈 각각에 대한 파일명 및 CRC 값을 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 무결성 체크 장치의 모듈 무결성 체크 방법은, 서버로부터 프로세스 실행 시 호출되는 모듈 모두에 대한 정보를 제공받는 단계; 프로세스의 실행 도중에 클라이언트 단말에 의해 호출되는 모듈을 검출하는 단계; 상기 제공받은 정보를 기반으로 상기 호출된 모듈이 상기 서버에서도 사용되는 모듈인지를 확인하는 단계; 및 상기 호출된 모듈이 상기 서버에서도 사용되는 모듈이면, 화이트리스트로 분류하는 단계를 포함하는 실행 모듈의 무결성 체크 방법을 제공한다.
상기 제공받는 정보는 상기 프로세스의 실행시 호출되는 모듈 각각에 대한 파일명 및 CRC 값을 포함할 수 있다.
상기 서버에서도 사용되는 모듈인지를 확인하는 단계는 상기 호출된 모듈의 CRC 값을 획득하고, 상기 획득된 CRC 값을 기반으로 상기 제공받는 정보를 검색하여 상기 서버와 상기 클라이언트 단말이 함께 사용하는 모듈을 확인할 수 있다.
상기 목적을 달성하기 위한 본 발명의 또 다른 실시예에 따른 클라이언트 단말이 선택 및 실행하는 프로세스에 의해 호출되는 모듈을 검출하는 호출 모듈 획득부; CRC 알고리즘을 통해 상기 모듈의 CRC 값을 획득하는 CRC 생성부; 상기 모듈의 사용 횟수를 카운팅하는 사용 횟수 카운트부; 상기 모듈의 파일명에 CRC 값과 사용 횟수를 매핑하여 모듈 정보를 생성 및 저장하는 모듈 테이블 관리부; 및 상기 사용 횟수를 기반으로 상기 모듈의 화이트리스트 여부를 확인하는 무결성 체크부를 포함하는 실행 모듈의 무결성 체크 장치를 포함한다.
상기 실행 모듈의 무결성 체크 장치는 상기 프로세스의 실행을 지원하는 서버를 통해 상기 프로세스의 실행시 호출되는 모듈 모두에 대한 정보를 제공받는 서버 정보 제공부를 더 포함할 수 있다.
상기 무결성 체크부는 상기 서버가 제공한 정보와 상기 모듈 정보를 비교 분석하여, 상기 서버와 상기 클라이언트 단말이 함께 사용하는 모듈을 획득한 후, 상기 획득된 모듈을 화이트리스트로 분류하는 기능을 더 포함할 수 있다.
본 발명에 따른 실행 모듈의 무결성 체크 방법 및 장치는 모듈의 평판 또는 클라이언트 단말과 서버에서 함께 사용하는지 여부를 기반으로 모듈의 무결성을 간단히 확인할 수 있도록 함으로써, 무결성 체크에 소요되는 비용과 시간이 획기적으로 감소될 수 있으며, 새로운 패턴의 해킹 모듈이 들어오더라도 이를 검출 및 대체할 수 있도록 해준다.
도1은 본 발명의 일 실시예에 따른 실행 모듈의 무결성 관리 시스템을 도시한 도면이다.
도2는 본 발명의 일 실시예에 따른 무결성 체크 장치의 상세 구성을 도시한 도면이다.
도3은 본 발명의 일 실시예에 따른 모듈 테이블의 일례를 도시한 도면이다.
도4는 본 발명의 일 실시예에 따른 무결성 체크 방법을 설명하기 위한 도면이다.
도5는 본 발명의 일 실시예에 따른 무결성 체크 방법을 설명하기 위한 도면이다.
도6은 본 발명의 다른 실시예에 따른 무결성 체크 방법을 설명하기 위한 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 각 실시예에 따른 온라인 게임 등급 표시 아이콘 크기 제어방법 및 제어장치 에 대하여 설명하기로 한다.
이하의 실시 예는 본 발명의 이해를 돕기 위한 상세한 설명이며, 본 발명의 권리 범위를 제한하는 것이 아님은 당연할 것이다. 따라서, 본 발명과 동일한 기능을 수행하는 균등한 발명 역시 본 발명의 권리 범위에 속할 것이다.
또한 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도1은 본 발명의 일 실시예에 따른 실행 모듈의 무결성 관리 시스템을 도시한 도면이다.
도1을 참고하면, 본 발명의 시스템은 서버(300), 클라이언트 단말(100), 및 무결성 체크 장치(200) 등을 포함하여 구성되며, 서버(300)과 클라이언트 단말(100)은 상호 연동하여 특정 프로세스를 사용자에게 서비스하도록 한다.
다만, 이하에서는 설명의 이해를 돕기 위해, 서버(300)과 클라이언트 단말(100)은 상호 연동하여 제공하는 프로세스의 일예로 온라인 게임을 들어 설명하기로 한다.
클라이언트 단말(100)은 게임을 수행하기 위한 클라이언트 프로그램을 다운로드 및 설치하고, 사용자 요청 하에 클라이언트 프로그램을 통해 서버(200)와 상호 연동하면서 각종 게임 서비스를 제공하도록 한다.
무결성 체크 장치(200)는 클라이언트 단말(100)이 게임 서비스를 제공하는 동안 호출되는 모듈(예를 들어, exe, DLL 등) 모두에 대한 무결성을 체크하도록 한다. 특히, 본 발명의 무결성 체크 장치(200)는 파일명, CRC, 및 사용 횟수를 모듈별로 수집하고, 사용 횟수를 기반으로 모듈의 화이트리스트 여부를 간단히 결정할 수 있도록 한다.
참고로, 해커와 같은 공격자에 의해 불법 삽입된 모듈은 정상 모듈과 달리 게임 서비스가 제공되는 동안 잠복해 있다가 특정 조건을 만족시키는 동작 환경이 마련되는 경우에만 일시적으로 실행되는 특징이 있으며, 이에 따라 해킹 모듈의 사용 횟수는 정상 모듈에 비해 비정상적으로 낮아지는 특징을 가진다.
이에 본 발명에서는 게임 서비스 실행 시 호출되는 모듈 각각의 사용 횟수를 수집 및 관리하고, 이를 기반으로 화이트리스트에 속하는 모듈인지를 간단히 파악할 수 있도록 하고자 한다.
서버(200)는 클라이언트 단말(100)에서 구동 가능한 게임 콘텐츠가 포함된 클라이언트 프로그램을 클라이언트 단말(100)로 제공한다. 그리고 클라이언트 프로그램으로부터 제공되는 각종 입력값에 따라 게임을 실행 및 진행하고, 게임 실행 및 진행 결과를 클라이언트 프로그램에 피드백하는 방식으로, 다수의 사용자에 각종 게임 서비스를 제공하도록 한다.
특히, 본 발명의 서버(200)는 사용자측에서 모듈 무결성 체크 동작을 수행할 수 있도록, 게임 서비스 제공시 호출되는 모듈 모두를 수집한 후, 이에 대한 정보(예를 들어, 파일명, CRC)를 자신에 접속한 클라이언트 단말(100)에 제공해주는 부가 기능을 가지도록 한다.
그러면, 사용자측에 위치한 무결성 체크 장치(200)는 서버(300)에서 제공한 모듈 정보를 기반으로 클라이언트 단말(100)과 서버(200) 모두에 의해 호출되는 모듈들을 파악하고, 해당 모듈들은 화이트리스트로 분류하도록 한다.
본 발명의 무결성 체크 장치(200)는 클라이언트 단말(200)과 서버(300)가 제공하는 정보를 모두를 고려하여 모듈의 화이트리스트 여부를 결정할 수 있으며, 그 결과 해커와 같은 공격자가 클라이언트 단말(100)에만 침입 및 조작하는 것만으로는 클라이언트 단말(100)이 해킹할 수 없도록 해준다.
더하여, 상기에서는 무결성 체크 장치(200)가 클라이언트 단말(100)과 구별되는 별도의 하드웨어 장치 형태로 구현되는 경우에 한해 설명하였지만, 실제 적용시에는 무결성 체크 장치(200)가 임베디드 장치 또는 소프트웨어로써 클라이언트 단말(100)에 내장되는 형태로 구현될 수도 있음은 물론 당연할 것이다.
도2는 본 발명의 일 실시예에 따른 무결성 체크 장치의 상세 구성을 도시한 도면이다.
도2에 도시된 바와 같이, 본 발명의 무결성 체크 장치는 호출 모듈 획득부(210), CRC 생성부(220), 사용 횟수 카운트부(230), 모듈 테이블 관리부(240), 서버 정보 획득부(250), 및 무결성 체크부(260) 등을 포함하여 구성된다.
호출 모듈 획득부(210)는 클라이언트 단말(100)의 동작을 모니터링하여, 사용자가 클라이언트 단말(100)의 클라이언트 프로그램을 선택 및 실행함에 따라 클라이언트 단말(100)의 CPU(Central Process Unit)에 의해 호출되는 모듈(즉, CPU이 직접 읽고 쓸 수 있도록 메모리에 로드되는 모듈)을 파악 및 획득하도록 한다.
CRC 생성부(220)는 CRC(cyclic redundancy check) 알고리즘을 구비하고, 이를 통해 호출 모듈 획득부(210)에 의해 획득된 모듈에 대한 CRC 값을 획득하도록 한다. 이때, CRC 값은 팩킹 상태의 모듈을 기준으로 생성된 CRC 값(즉, 파일 CRC)일 수도 있고, 언패킹 상태의 모듈, 즉 메모리에 로드된 모듈을 기준으로 생성된 CRC 값(즉, 메모리 CRC)일 수도 있을 것이다.
참고로, 모듈의 파일명은 사용자, 적용 시스템의 종류에 따라 손쉽게 변화될 수 있는 특징을 가진다. 즉, 동일 내용의 모듈이라 할지라도 파일명은 사용자, 적용 시스템의 종류에 따라 다양하게 달라질 수 있는 특징이 있다. 이에 파일명을 기반으로 모듈의 동일 여부를 결정하는 경우, 모듈 검출의 정확성이 급격히 떨어질 수 있음을 고려하여, 본 발명에서는 파일명 대신에 모듈에 포함된 내용을 기반으로 모듈의 동일 여부를 결정하도록 한다. 즉, 본 발명에서는 모듈의 내용에 따라 그 값이 결정되는 CRC를 통해, 동일 내용의 모듈이 파일명만 달리하는 경우에도 이를 손쉽게 검출할 수 있도록 해준다.
사용 횟수 카운트부(230)는 클라이언트 단말(100)에 의해 호출된 모듈 각각에 대한 사용 횟수(즉, 클라이언트 단말(100)의 CPU에 의해 호출되어 메모리에 로드되는 횟수)를 카운팅하도록 한다.
모듈 테이블 관리부(240)는 클라이언트 단말(100)에 의해 처음으로 호출되는 모듈이 검출되면, 해당 모듈의 파일명에 CRC 값과 사용 횟수를 매핑하여 모듈 정보를 생성한 후, 도3과 같은 모듈 테이블에 추가하도록 한다. 또한, 클라이언트 단말(100)에 의해 재호출되는 모듈에 대해서는 사용 횟수 카운트부(230)의 사용 횟수를 반영하여 모듈 정보를 갱신함으로써, 모듈 정보의 정확성을 보장할 수 있도록 한다.
서버 정보 획득부(250)는 사용자가 클라이언트 단말(100)의 클라이언트 프로그램을 선택 및 실행하면, 서버(300)에 모듈 정보 제공을 요청하여 서버(300)가 게임 서비스 제공시 호출되는 모듈 모두에 대한 정보를 제공하도록 한다.
마지막으로, 무결성 체크부(260)는 모듈 테이블을 획득 및 분석하여, 사용 횟수가 사전에 등록된 설정값 이상인 모듈은 화이트리스트로, 그렇지 않은 모듈은 블랙리스트로 분류하도록 한다. 또한, 서버(300)에서 제공한 정보와 모듈 테이블을 비교하여, 클라이언트 단말(100)과 서버(200) 모두에 의해 호출되는 모듈 또한 화이트리스트로 추가 분류하도록 한다.
도4는 본 발명의 일 실시예에 따른 무결성 체크 방법을 설명하기 위한 도면으로, 이는 특히 모듈 테이블 구성 과정에 관한 것이다.
먼저, 사용자에 의해 클라이언트 단말(100)내 클라이언트 프로그램을 선택 및 실행되어 게임 서비스가 제공되기 시작하면, 무결성 체크 장치(200)는 게임 서비스 제공을 위해 호출되는 모듈 모두를 검출하기 시작한다(S11).
단계 S11을 통해 검출된 모듈의 CRC 값을 생성한 후(S12), 모듈 테이블에 저장된 CRC 값을 비교하여, 단계 S11을 통해 검출된 모듈이 클라이언트 단말(100)에 의해 처음으로 호출된 신규 모듈인지를 확인한다(S13).
단계 S12의 확인 결과, 현재 검출된 호출 모듈이 신규 모듈인 경우에는 신규 모듈에 대한 사용 횟수를 카운팅하기 시작한 후(S14), 신규 모듈의 파일명에 단계 S12를 통해 획득된 CRC과 단계 S14를 통해 획득된 사용 횟수를 매핑하여 신규 모듈에 대응되는 모듈 정보를 생성하도록 한다(S14).
반면, 단계 S12의 확인 결과, 현재 검출된 호출 모듈이 이전에 호출된 적이 있는 모듈이면(S12), 사용 횟수를 1회 증가시키고(S16), 이를 반영하여 모듈 정보를 갱신하도록 한다(S17).
그리고 단계 S12 내지 S16을 통해 생성 또는 갱신된 모듈 정보를 기반으로, 도3과 같이 파일명, CRC, 사용횟수가 모듈별로 저장된 모듈 테이블을 갱신하도록 한다(S18).
상기의 단계 S11 내지 S18은 사용자에게 의해 게임 종료가 요청되어, 더 이상 게임 서비스가 제공되지 않을 때까지 반복 수행될 수 있으며, 이에 따라 무결성 체크 장치(200)는 클라이언트 단말(100)이 게임 서비스를 제공하는 동안 호출하는 모듈 모두에 대한 정보를 수집 및 저장할 수 있게 된다(S19).
더하여, 본 발명의 모듈 테이블을 게임 서비스 제공시마다 새로이 생성 및 관리될 수 있으나, 필요한 경우 게임 서비스 종료 여부와 상관없이 누적 관리될 수도 있음은 물론 당연할 것이다. 즉, 클라이언트 단말(100)에 클라이언트 프로그램이 삭제되기 전까지는 모듈 테이블이 계속하여 재활용될 수 있도록 한다.
도5는 본 발명의 일 실시예에 따른 무결성 체크 방법을 설명하기 위한 도면으로, 이는 모듈의 사용 횟수를 기반으로 모듈의 무결성을 체크하는 과정에 관한 것이다.
먼저, 클라이언트 단말(100)이 게임 서비스를 제공함에 따라 특정 모듈이 호출되면(S21), 무결성 체크 장치(200)는 해당 모듈의 CRC 값을 기반으로 화이트리스트를 검색하여, 해당 모듈이 화이트리스트에 속하는 모듈인지를 우선적으로 확인한다(S22).
만약, 호출 모듈이 화이트리스트에 속하는 모듈이면, 별도의 분석 동작을 수행하지 않고 동작 종료하되, 그렇지 않으면 도3을 통해 생성된 모듈 테이블을 기반으로 호출 모듈의 사용 횟수를 확인하도록 한다(S23).
단계 S23을 통해 확인한 호출된 모듈의 사용 횟수가 사전에 등록된 설정값 보다 크면(S24), 현재 호출된 모듈을 화이트리스트로 분류함으로써, 차후에도 해당 모듈에 대한 무결정 체크 동작은 더 이상 이루어지지 않도록 한다(S25).
도6은 본 발명의 다른 실시예에 따른 무결성 체크 방법을 설명하기 위한 도면으로, 이는 서버와의 연동을 통해 모듈의 무결성을 체크하는 과정에 관한 것이다.
먼저, 클라이언트 단말(100)이 게임 서비스를 제공함에 따라 특정 모듈이 호출되면(S31), 무결성 체크 장치(200)는 현재 호출된 모듈이 화이트리스트에 속하는 모듈인지를 우선 확인한다(S32).
만약, 호출된 모듈이 화이트리스트에 속하는 모듈이면, 별도의 분석 동작을 수행하지 않고 동작 종료하되, 그렇지 않으면 서버(300)에 무결성 체크를 위한 모듈 정보 제공을 요청한다(S33).
이에 서버(300)가 게임 서비스 제공에 필요한 모든 모듈에 대한 정보를 수집 및 제공하면, 무결성 체크 장치(200)가 이를 수신하도록 한다(S34). 이때, 서버는 게임 서비스 제공에 필요한 모든 모듈들, 이들 각각의 파일명 및 CRC 중 적어도 하나를 서버 정보로써 제공하도록 한다.
무결성 체크 장치(200)는 현재 호출된 모듈의 파일명 또는 CRC를 기반으로 서버(300)가 제공한 서버 정보를 검색하여, 현재 호출된 모듈이 서버 정보에 포함된 모듈인지를 확인하도록 한다(S35).
만약, 현재 호출된 모듈이 서버 정보에 포함된 모듈이면, 해당 모듈은 서버(300)에서도 사용하는 정상 모듈이라고 판단한 후 화이트리스트로 분류하도록 한다(S36).
이상에서 전술한 바와 같은 이를 구현하기 위한 프로세스 명령어로서 구현될 수 있으며, 이러한 프로세스 명령어를 기록한 컴퓨터로 읽힐 수 있는 기록매체는, 일예로, ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 미디어 저장장치 등이 있다.
또한 전술한 바와 같은 프로세스를 기록한 컴퓨터로 읽힐 수 있는 기록매체는 네트워크로 커넥션된 컴퓨터 장치에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 이 경우, 다수의 분산된 컴퓨터 중 어느 하나 이상의 컴퓨터는 상기에 제시된 기능들 중 일부를 실행하고, 그 결과를 다른 분산된 컴퓨터들 중 하나 이상에 그 실행 결과를 전송할 수 있으며, 그 결과를 전송받은 컴퓨터 역시 상기에 제시된 기능들 중 일부를 실행하여, 그 결과를 역시 다른 분산된 컴퓨터들에 제공할 수 있다.
본 발명의 각 실시예에 따른 실행 모듈의 무결성 체크 방법 및 장치를 구동시키기 위한 프로세스인 애플리케이션을 기록한 기록매체를 읽을 수 있는 컴퓨터는, 일반적인 데스크 탑이나 노트북 등의 일반 PC뿐 만 아니라, 스마트 폰, 태블릿 PC, 스마트 TV 및 이동통신 단말 등의 각종 통신 장치를 포함할 수 있으며, 이뿐만 아니라, 컴퓨팅(Computing) 가능한 모든 기기로 해석되어야 할 것이다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 실행 모듈을 갖는 컴퓨터 프로세스로서 구현될 수도 있다. 그 컴퓨터 프로세스를 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로세스는 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로세스의 저장매체로서는 자기 기록매체, 광 기록매체, 등이 포함될 수 있다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (13)

  1. 무결성 체크 장치의 모듈 무결성 체크 방법에 있어서,
    프로세스의 실행 도중에 클라이언트 단말에 의해 호출되는 모듈을 검출하는 단계;
    상기 모듈의 CRC 값과 사용 횟수를 획득한 후, 상기 모듈의 파일명에 매핑하는 단계; 및
    상기 사용 횟수가 기 설정된 값 이상인 모듈을 화이트리스트로 분류하는 단계를 포함하며,
    상기 모듈의 파일명에 매핑하는 단계는
    상기 모듈의 CRC 값을 생성한 후, 기 저장되어 있는 CRC 값과 비교하여 신규 모듈 여부를 확인하는 단계;
    상기 신규 모듈이면, 사용 횟수를 카운팅하기 시작한 후, 상기 신규 모듈의 파일명에 CRC 값과 사용 횟수를 매핑하여 상기 신규 모듈에 대응되는 모듈 정보를 새로이 생성하는 단계; 및
    상기 신규 모듈이 아니면, 상기 모듈 정보의 사용 횟수를 갱신하는 단계를 포함하는 것을 특징으로 하는 실행 모듈의 무결성 체크 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 신규 모듈의 CRC 값과 상기 화이트리스트로 분류된 모듈의 CRC 값을 비교하여, 상기 신규 모듈이 상기 화이트리스트로 분류된 모듈인지를 결정하는 단계;를 더 포함하는 것을 특징으로 하는 실행 모듈의 무결성 체크 방법.
  4. 제1항에 있어서,
    서버로부터 상기 프로세스의 실행시 호출되는 모듈 모두에 대한 정보를 제공받는 단계;
    상기 제공받은 정보를 기반으로 상기 서버와 상기 클라이언트 단말이 함께 사용하는 모듈을 검출하는 단계; 및
    상기 검출된 모듈을 화이트리스트로 분류하는 단계를 더 포함하는 것을 특징으로 하는 실행 모듈의 무결성 체크 방법.
  5. 제4항에 있어서, 상기 제공받는 정보는
    상기 프로세스의 실행시 호출되는 모듈 각각에 대한 파일명 및 CRC 값을 포함하는 것을 특징으로 하는 실행 모듈의 무결성 체크 방법.
  6. 제1항, 제3항 내지 제 5항 중 어느 한 항에 따른 실행 모듈의 무결성 체크 방법을 구현하기 위한 프로세스 명령어가 기록된, 컴퓨터가 판독 가능한 기록매체.
  7. 무결성 체크 장치의 모듈 무결성 체크 방법에 있어서,
    프로세스의 실행시 호출되는 모듈 모두에 대한 정보를 서버로부터 제공받는 단계;
    상기 프로세스의 실행 도중에 클라이언트 단말에 의해 호출되는 모듈을 검출하는 단계;
    상기 제공받은 정보를 기반으로 상기 호출된 모듈이 상기 서버에서도 사용되는 모듈인지를 확인하는 단계; 및
    상기 호출된 모듈이 상기 서버에서도 사용되는 모듈이면, 화이트리스트로 분류하는 단계를 포함하는 실행 모듈의 무결성 체크 방법.
  8. 제7항에 있어서, 상기 제공받는 정보는
    상기 프로세스의 실행시 호출되는 모듈 각각에 대한 파일명 및 CRC 값을 포함하는 것을 특징으로 하는 실행 모듈의 무결성 체크 방법.
  9. 제8항에 있어서, 상기 서버에서도 사용되는 모듈인지를 확인하는 단계는
    상기 호출된 모듈의 CRC 값을 획득하고, 상기 획득된 CRC 값을 기반으로 상기 제공받는 정보를 검색하여 상기 서버와 상기 클라이언트 단말이 함께 사용하는 모듈을 확인하는 것을 특징으로 하는 실행 모듈의 무결성 체크 방법.
  10. 제7항 내지 제9항 중 어느 한 항에 따른 실행 모듈의 무결성 체크 방법을 구현하기 위한 프로세스 명령어가 기록된, 컴퓨터가 판독 가능한 기록매체.
  11. 클라이언트 단말이 선택 및 실행하는 프로세스에 의해 호출되는 모듈을 검출하는 호출 모듈 획득부;
    CRC 알고리즘을 통해 상기 모듈의 CRC 값을 획득하는 CRC 생성부;
    상기 모듈의 사용 횟수를 카운팅하는 사용 횟수 카운트부;
    상기 모듈의 파일명에 CRC 값과 사용 횟수를 매핑하여 모듈 정보를 생성 및 저장하는 모듈 테이블 관리부;
    상기 사용 횟수를 기반으로 상기 모듈의 화이트리스트 여부를 확인하는 무결성 체크부; 및
    상기 프로세스의 실행을 지원하는 서버를 통해 상기 프로세스의 실행시 호출되는 모듈 모두에 대한 정보를 제공받는 서버 정보 제공부를 포함하는 실행 모듈의 무결성 체크 장치.
  12. 삭제
  13. 제11항에 있어서, 상기 무결성 체크부는
    상기 서버가 제공한 정보와 상기 모듈 정보를 비교 분석하여, 상기 서버와 상기 클라이언트 단말이 함께 사용하는 모듈을 획득한 후, 상기 획득된 모듈을 화이트리스트로 분류하는 기능을 더 포함하는 것을 특징으로 하는 실행 모듈의 무결성 체크 장치.
KR1020140123695A 2014-09-17 2014-09-17 실행 모듈의 무결성 체크 방법 및 장치 KR101582420B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140123695A KR101582420B1 (ko) 2014-09-17 2014-09-17 실행 모듈의 무결성 체크 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140123695A KR101582420B1 (ko) 2014-09-17 2014-09-17 실행 모듈의 무결성 체크 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101582420B1 true KR101582420B1 (ko) 2016-01-04

Family

ID=55164435

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140123695A KR101582420B1 (ko) 2014-09-17 2014-09-17 실행 모듈의 무결성 체크 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101582420B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110349660A (zh) * 2019-07-05 2019-10-18 湖南省华芯医疗器械有限公司 一种医疗设备使用次数控制系统及其工作方法
CN116737428A (zh) * 2023-08-14 2023-09-12 中科三清科技有限公司 空气质量模式运行的稳定性检查方法、装置及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090103282A (ko) * 2008-03-28 2009-10-01 엔에이치엔비즈니스플랫폼 주식회사 TLS Callback을 이용한 코드 변조 방지 방법 및시스템
KR20140065943A (ko) * 2012-11-22 2014-05-30 단국대학교 산학협력단 실행 파일의 부분 정보에 기반한 소프트웨어 불법 복제 및 표절 탐지 방법 및 이를 위한 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090103282A (ko) * 2008-03-28 2009-10-01 엔에이치엔비즈니스플랫폼 주식회사 TLS Callback을 이용한 코드 변조 방지 방법 및시스템
KR20140065943A (ko) * 2012-11-22 2014-05-30 단국대학교 산학협력단 실행 파일의 부분 정보에 기반한 소프트웨어 불법 복제 및 표절 탐지 방법 및 이를 위한 장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110349660A (zh) * 2019-07-05 2019-10-18 湖南省华芯医疗器械有限公司 一种医疗设备使用次数控制系统及其工作方法
CN116737428A (zh) * 2023-08-14 2023-09-12 中科三清科技有限公司 空气质量模式运行的稳定性检查方法、装置及电子设备
CN116737428B (zh) * 2023-08-14 2023-11-21 中科三清科技有限公司 空气质量模式运行的稳定性检查方法、装置及电子设备

Similar Documents

Publication Publication Date Title
US10701091B1 (en) System and method for verifying a cyberthreat
CN109743315B (zh) 针对网站的行为识别方法、装置、设备及可读存储介质
US9652617B1 (en) Analyzing security of applications
JP6228966B2 (ja) マルウェアを検出するコンピューティングデバイス
US9525706B2 (en) Apparatus and method for diagnosing malicious applications
TWI461953B (zh) 運算環境安全方法和電子運算系統
EP3178011B1 (en) Method and system for facilitating terminal identifiers
CN109376078B (zh) 移动应用的测试方法、终端设备及介质
US10635812B2 (en) Method and apparatus for identifying malicious software
CN104598815B (zh) 恶意广告程序的识别方法、装置及客户端
KR20150044490A (ko) 안드로이드 악성 애플리케이션의 탐지장치 및 탐지방법
CN104115117A (zh) 用于安全性测试的单元测试的自动合成
KR20130134790A (ko) 어플리케이션 무결성 정보 저장 방법 및 시스템, 어플리케이션 무결성 검사 방법 및 시스템
EP2728472B1 (en) User terminal, reliability management server, and method and program for preventing unauthorized remote operation
KR101582420B1 (ko) 실행 모듈의 무결성 체크 방법 및 장치
KR20160031589A (ko) 악성 애플리케이션 탐지 방법 및 이 방법을 실행시키는 컴퓨터프로그램
CN107154971A (zh) 一种应用下载方法及装置
KR101591076B1 (ko) 리소스 무결성 체크 장치 및 방법
CN112650557B (zh) 一种命令执行方法以及装置
KR20190067994A (ko) 행위기반 웹 서비스 비정상 이용 탐지 방법, 장치 및 컴퓨터-판독가능 매체
CN113779576A (zh) 一种可执行文件感染病毒的识别方法、装置及电子设备
EP3182313B1 (en) Content-based authentication
CN112528286A (zh) 终端设备安全检测方法、关联设备以及计算机程序产品
KR101366544B1 (ko) 해킹을 위한 dll 루트킷 감지 방법 및 장치
CN110928754A (zh) 运维审计方法、装置、设备及介质

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20191219

Year of fee payment: 5