KR101138746B1 - 실행 파일을 이용한 악성 코드 차단 장치 및 방법 - Google Patents

실행 파일을 이용한 악성 코드 차단 장치 및 방법 Download PDF

Info

Publication number
KR101138746B1
KR101138746B1 KR20100020016A KR20100020016A KR101138746B1 KR 101138746 B1 KR101138746 B1 KR 101138746B1 KR 20100020016 A KR20100020016 A KR 20100020016A KR 20100020016 A KR20100020016 A KR 20100020016A KR 101138746 B1 KR101138746 B1 KR 101138746B1
Authority
KR
South Korea
Prior art keywords
executable file
blocking
agent system
malicious code
file
Prior art date
Application number
KR20100020016A
Other languages
English (en)
Other versions
KR20110100924A (ko
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 KR20100020016A priority Critical patent/KR101138746B1/ko
Priority to PCT/KR2011/001469 priority patent/WO2011108864A2/ko
Priority to CN201180012046XA priority patent/CN102918541A/zh
Publication of KR20110100924A publication Critical patent/KR20110100924A/ko
Application granted granted Critical
Publication of KR101138746B1 publication Critical patent/KR101138746B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Bioethics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명의 실시 예에 따른 실행 파일을 이용한 악성 코드 차단 장치는, 에이전트 시스템 내 저장된 실행 파일 각각에 대한 원본 DNA값이 저장되어 있는 데이터베이스와, 실행 파일들의 이동, 변경 또는 생성을 차단시키기 위한 차단 모드를 설정하며, 차단 모드에서 에이전트 시스템 내 임의의 실행 파일이 변경되는 경우 변경 전의 원본 실행 파일을 백업하는 차단 모듈과, 에이전트 시스템 내 특정 실행 파일에 대한 실행 요청이 있는 경우 특정 실행 파일의 DNA값과 데이터베이스에 저장된 특정 실행 파일의 원본 DNA값간의 비교하여 특정 실행 파일을 실행 여부를 결정하며, 특정 실행 파일이 임의의 실행 파일인 경우 백업된 원본 실행 파일을 복구하여 실행시키는 파일 실행 모듈을 포함한다.
이와 같이, 본 발명은 에이전트 시스템 내 실행 파일들이 이동, 삭제, 변경 또는 생성되는 것을 차단함으로써, 악성 코드를 포함한 실행 파일이 생성되거나 악성 코드에 의해 실행 파일들이 변경되는 것을 방지할 수 있기 때문에 별도의 업데이트 없이 악성 코드로부터 시스템을 보호할 수 있는 효과가 있다.

Description

실행 파일을 이용한 악성 코드 차단 장치 및 방법{APPARATUS AND METHOD FOR PREVENTING MALICIOUS CODES USING EXECUTIVE FILES}
본 발명은 악성 코드 차단에 관한 것으로, 더욱 상세하게는 에이전트 시스템 내 실행 파일들이 이동, 삭제, 변경 또는 생성되는 것을 차단하여 악성 코드를 포함한 실행 파일이 에이전트 시스템에 생성되거나 악성 코드에 의해 실행 파일들이 변경되는 것을 방지할 수 있는 실행 파일을 이용한 악성 코드 차단 장치 및 방법에 관한 것이다.
일반적으로 전용 에이전트 시스템, 예컨대 전용 개인 컴퓨터 장비에 악성 코드 감염을 막기 위해서 안티바이러스 엔진을 갖고 있는 클라이언트용 안티바이러스 제품을 설치하여 악성 코드의 감염을 차단하고 있다. 악성 코드 감염을 막기 위해서 기존 안티바이러스 엔진은 개인용 컴퓨터에서 주기적으로 안티바이러스 엔진을 업데이트함과 더불어 시스템의 보안 업데이트가 필요하다.
한편, 관리자가 전용 기능을 갖는 컴퓨터 시스템에서 사용하는 악성 코드 차단 방법은 악성 코드 진단 프로그램과 병행하여 지정되지 않는 파일의 실행을 차단하는데, 여기서 지정되지 않는 파일의 실행을 차단하기 위하여 기존의 Secure OS가 설치된 시스템에서는 파일의 경로명, 파일명, 해쉬 등을 조합하여 규칙을 설정하고, 설정된 규칙에 맞지 않는 파일의 실행 또는 읽기를 차단한다.
그러나, 상기와 같은 컴퓨터 시스템에서 악성 코드 진단 프로그램을 이용하여 악성 코드를 치료할 때 오진으로 인하여 컴퓨터 시스템에 필요한 파일을 삭제하는 경우가 종종 발생하기 때문에 컴퓨터 시스템에서 필요한 기능을 수행하지 못하는 문제점이 있을 뿐만 아니라 악성 코드에 의해 컴퓨터 시스템 내 파일들이 변경되는 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 에이전트 시스템 내에 설치된 실행 파일의 이동, 삭제, 변경 또는 생성하는 것을 차단하는 차단 모드 상태에서 특정 실행 파일을 실행할 때 특정 실행 파일에 대한 악성 코드 감염 여부를 검사한 후 검사 완료된 특정 실행 파일의 DNA값과 데이터베이스에 저장된 원본 DNA값간의 비교를 통해 실행 파일을 실행하거나 차단함으로써, 별도의 복잡한 규칙 없이 악성 코드를 포함한 실행 파일이 생성되거나 악성 코드에 의해 실행 파일들이 변경되는 것을 방지할 수 있는 실행 파일을 이용한 악성 코드 차단 장치 및 방법을 제공하는데 있다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 목적을 달성하기 위해 본 발명의 실시 예에 따른 실행 파일을 이용한 악성 코드 차단 장치는, 에이전트 시스템 내 저장된 실행 파일 각각에 대한 원본 DNA값이 저장되어 있는 데이터베이스와, 상기 실행 파일들의 이동, 변경 또는 생성을 차단시키기 위한 차단 모드를 설정하며, 상기 차단 모드에서 상기 에이전트 시스템 내 임의의 실행 파일이 변경되는 경우 변경 전의 원본 실행 파일을 백업하는 차단 모듈과, 상기 에이전트 시스템 내 특정 실행 파일에 대한 실행 요청이 있는 경우 상기 특정 실행 파일의 DNA값과 상기 데이터베이스에 저장된 상기 특정 실행 파일의 원본 DNA값간의 비교하여 상기 특정 실행 파일을 실행 여부를 결정하며, 상기 특정 실행 파일이 상기 임의의 실행 파일인 경우 상기 백업된 원본 실행 파일을 복구하여 실행시키는 파일 실행 모듈을 포함한다.
본 발명의 실시 예에 따른 실행 파일을 이용한 악성 코드 차단 장치는 상기 에이전트 시스템 내 실행 파일에 대한 업데이트 요청이 있는 경우 상기 에이전트 시스템 내 실행 파일 각각에 대한 DNA값과 데이터베이스간의 비교를 통해 상기 실행 파일들에 대한 변경 유무를 확인하여 상기 차단 모드를 해제 여부를 결정하는 차단 해제 모듈을 포함할 수 있다.
본 발명의 실시 예에 따른 실행 파일을 이용한 악성 코드 차단 장치에서 상기 차단 모듈은, 통신망을 통해 연결된 관리 서버의 요청에 따라 상기 차단 모드를 설정할 수 있다.
본 발명의 실시 예에 따른 실행 파일을 이용한 악성 코드 차단 장치는, 상기 차단 모드 상태에서 상기 특정 실행 파일에 실행 요청이 있는 경우 상기 특정 실행 파일에 대한 악성 코드 검사를 수행한 후 상기 검사가 완료된 특정 실행 파일을 상기 파일 실행 모듈에 제공하는 악성 코드 검사 모듈을 더 포함할 수 있다.
본 발명의 실시 예에 따른 실행 파일을 이용한 악성 코드 차단 장치에서 상기 악성 코드 검사 모듈은 상기 특정 실행 파일에 대한 악성 코드 검사 결과에 의거하여 알림 메시지를 생성할 수 있다.
본 발명의 실시 예에 따른 실행 파일을 이용한 악성 코드 차단 장치에서 상기 알림 메시지는, 로그 발생, 알림창 생성 또는 이메일 형태로 생성될 수 있다.
본 발명의 실시 예에 따른 실행 파일을 이용한 악성 코드 차단 장치에서 상기 파일 실행 모듈은, 상기 특정 실행 파일의 DNA값과 상기 데이터베이스에 저장된 원본 DNA값이 일치하지 않을 경우 상기 특정 실행 파일의 실행을 차단함과 더불어 통신망을 통해 연결된 관리 서버에 상기 특정 실행 파일의 DNA값을 전송하여 검사를 요청할 수 있다.
본 발명의 실시 예에 따른 실행 파일을 이용한 악성 코드 차단 장치는, 상기 차단 모드에서 상기 에이전트 시스템의 관리자에 요청에 따라 임의의 실행 파일을 이동, 삭제, 생성 또는 변경할 수 있는 관리자 모드로 상기 에이전트 시스템을 설정하는 관리자 모듈을 더 포함할 수 있다.
본 발명의 실시 예에 따른 실행 파일을 이용한 악성 코드 차단 장치는, 상기 차단 해제 모듈에 의해 상기 차단 모드가 해제된 후 상기 에이전트 시스템 내 실행 파일들이 업데이트됨에 따라 상기 업데이트된 실행 파일들의 DNA값을 이용하여 상기 데이터베이스를 업데이트시키는 업데이트 모듈을 더 포함할 수 있다.
본 발명의 실시 예에 따른 실행 파일을 이용한 악성 코드 차단 장치에서 상기 차단 모듈은, 상기 데이터베이스가 업데이트되면 상기 에이전트 시스템을 상기 차단 모드로 재설정할 수 있다.
다른 견지에서, 본 발명의 실시 예에 따른 실행 파일을 이용한 악성 코드 차단 방법은 에이전트 시스템이 구동되면, 실행 파일들의 이동, 삭제, 생성 또는 변경을 차단시키기 위한 차단 모드를 설정하는 단계와, 상기 에이전트 시스템에서 특정 실행 파일에 대한 실행 요청이 있는 경우 상기 특정 실행 파일에 대한 악성 코드 감염 여부를 검사하는 단계와, 상기 검사가 완료된 특정 실행 파일의 DNA값을 산출하는 단계와, 상기 산출된 DNA값과 상기 데이터베이스에 저장된 상기 특정 실행 파일의 원본 DNA값간을 비교하여 일치하지 않을 경우 상기 특정 실행 파일을 차단시키는 단계를 포함한다.
본 발명의 실시 예에 따른 실행 파일을 이용한 악성 코드 차단 방법은 상기 차단 모드 상태에서 임의의 실행 파일에 대한 변경 요청이 있는지를 판단하는 단계와, 상기 변경 요청이 있는 경우 상기 임의의 실행 파일이 변경되기 전 원본 임의의 실행 파일을 백업한 후 상기 임의의 실행 파일을 변경하는 단계와, 상기 변경된 임의의 실행 파일에 대한 실행 요청이 있는 경우 상기 백업된 원본 임의의 실행 파일을 복구하여 실행시키는 단계를 더 포함할 수 있다.
본 발명의 실시 예에 따른 실행 파일을 이용한 악성 코드 차단 방에서 상기 임의의 실행 파일을 복구시키는 단계는, 상기 변경된 임의의 실행 파일에 대한 실행 요청이 있는 경우 상기 변경된 임의의 실행 파일에 대한 악성 코드 감염 여부를 검사하는 단계와, 상기 변경된 임의의 실행 파일에 대한 DNA값과 상기 데이터베이스에 저장된 DNA값간의 비교를 통해 상기 변경된 임의의 실행 파일에 대한 삭제를 결정하는 단계와, 상기 백업된 원본 실행 파일을 복구하여 실행시키는 단계를 포함할 수 있다.
본 발명의 실시 예에 따른 실행 파일을 이용한 악성 코드 차단 방법에서 상기 악성 코드 감염 여부를 검사하는 단계는, 상기 변경된 임의의 실행 파일에 대한 악성 코드 감염 여부를 검사하며, 상기 검사 결과 상기 변경된 임의의 실행 파일이 악성 코드에 감염된 경우 이에 대한 알림 메시지만을 생성하여 상기 에이전트 시스템의 관리자에게 제공하는 단계를 더 포함할 수 있다.
본 발명은 에이전트 시스템 내 실행 파일들이 이동, 삭제, 변경 또는 생성되는 것을 차단함으로써, 악성 코드를 포함한 실행 파일이 생성되거나 악성 코드에 의해 실행 파일들이 변경되는 것을 방지할 수 있기 때문에 별도의 업데이트 없이 악성 코드로부터 시스템을 보호할 수 있는 효과가 있다.
또한, 본 발명은 에이전트 시스템 내에 설치된 실행 파일을 이동, 삭제, 변경 또는 생성하는 것을 차단하고, 실행 파일을 실행할 때 데이터베이스에 저장된 원본 DNA값과 실행 파일의 DNA값간의 비교를 통해 실행 파일을 실행하거나 차단함으로써, 별도의 안티바이러스 엔진의 업데이트나 시스템의 업데이트 없이 적은 리소스로 에이전트 시스템의 보안성을 향상시킬 수 있다.
도 1은 본 발명의 실시 예에 따른 악성 코드 차단을 위한 악성 코드 차단 장치 및 그 주변 구성을 도시한 블록도이며,
도 2는 본 발명의 실시 예에 따른 악성 코드 차단 장치가 악성 코드를 차단하는 과정을 도시한 흐름도이다.
본 발명의 목적 및 효과, 그리고 그것들을 달성하기 위한 기술적 구성들은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다.
본 발명은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CO-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있다. 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 실시 예에서는 에이전트 시스템 내에 설치된 실행 파일을 이동, 삭제, 변경 또는 생성하는 것을 차단하고, 차단 모드 상태에서 특정 실행 파일을 실행할 때 특정 실행 파일에 대한 악성 코드 감염 여부를 검사한 후 검사 완료된 특정 실행 파일의 DNA값과 데이터베이스에 저장된 원본 DNA값간의 비교를 통해 실행 파일을 실행하거나 차단하는 실행 파일을 이용한 악성 코드 차단 장치 및 방법에 대해 설명한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 악성 코드 차단을 위한 악성 코드 차단 장치 및 그 주변 구성을 도시한 블록도로서, 크게 에이전트 시스템에 설치되는 악성 코드 차단 장치(100) 및 에이전트 시스템과 유무선 통신망을 통해 연결된 관리 서버(150)로 구성된다.
에이전트 시스템은 저사양의 단말로서, 그 예로 공장 시스템을 관리하기 위한 단말, POS 시스템, 생산 관리 시스템 등을 들 수 있다. 이러한 에이전트 시스템에는 악성 코드 차단 장치(100)가 설치되는데, 이러한 악성 코드 차단 장치(100)는 차단 모듈(102), 파일 실행 모듈(104), 차단 해제 모듈(106), 관리자 모듈(108), 업데이트 모듈(110), 악성 코드 검사 모듈(112) 및 데이터베이스(114)를 포함한다.
본 발명의 실시 예에 따른 데이터베이스(114)에는 에이전트 시스템 내에 저장된 실행 파일 각각에 대한 부분별 원본 DNA값이 저장되어 있다. 여기서, 실행 파일은 일반적인 EXE 파일, 실행 가능 코드를 갖는 스크립트 파일, 스크립트 기능을 갖고 있는 문서 파일 등을 들 수 있으며, DNA값은 CRC 기반의 해쉬 함수를 적용한 값을 그 예로 들 수 있다.
차단 모듈(102)은 에이전트 시스템 내 실행 파일들의 이동, 삭제, 생성 또는 변경을 차단시키기 위한 차단 모드를 설정하는 수단으로서, 에이전트 시스템이 초기 구동될 때 에이전트 시스템을 차단 모드로 설정하여 실행 파일들이 이동, 삭제, 생성 또는 변경되는 것을 차단시킨다.
한편, 차단 모듈(102)은 차단 모드 상태에서 임의의 실행 파일이 변경되는 경우 변경 전 원본 임의의 실행 파일을 백업하고, 변경된 임의의 실행 파일에 대한 실행 요청이 있는 경우 변경된 임의의 실행 파일을 삭제하여 변경된 임의의 실행 파일이 실행되는 것을 차단시킨 후 백업된 원본 임의의 실행 파일을 파일 실행 모듈(104)에 제공함으로써, 백업된 원본 임의의 실행 파일을 실행시킨다.
차단 모듈(102)에서 변경된 임의의 실행 파일을 차단하는 방법으로는 변경된 임의의 실행 파일의 DNA값과 데이터베이스(114)에 저장된 DNA값간의 비교를 통해 일치하지 않을 경우 변경된 임의의 실행 파일을 차단시킨다.
파일 실행 모듈(104)은 차단 모듈(102)로부터 제공받은 백업된 원본 임의의 실행 파일을 실행시키는데, 이때 백업된 원본 임의의 실행 파일과 데이터베이스(114)에 저장된 DNA값간의 비교를 통해 실행 여부를 결정한다.
즉, 파일 실행 모듈(104)은 에이전트 시스템에서 특정 실행 파일에 대한 실행 요청이 있는 경우 동작하는 수단으로서, 특정 실행 파일의 DNA값을 산출한 후 산출된 DNA값과 데이터베이스(114)에 저장된 특정 실행 파일의 원본 DNA값간의 비교를 통해 특정 실행 파일의 변경 여부를 검사하고, 검사 결과를 토대로 특정 파일을 실행시키거나 실행을 차단한다.
또한, 파일 실행 모듈(104)은 특정 실행 파일의 DNA값과 데이터베이스(114)에 저장된 특정 실행 파일의 원본 DNA값이 일치하지 않을 경우 유무선 통신망을 통해 연결된 관리 서버(150)에 특정 실행 파일의 DNA값을 전송하여 특정 실행 파일에 대한 검사를 요청할 수 있다.
차단 해제 모듈(106)은 에이전트 시스템 내 실행 파일에 대한 업데이트 요청 또는 에이전트 시스템의 관리자로부터 요청이 있는 경우 동작하는 수단으로서, 에이전트 시스템 내 실행 파일 각각에 대한 DNA값을 산출하고, 산출된 DNA값과 데이터베이스(114)에 저장된 원본 DNA값간의 비교를 통해 실행 파일 각각에 대한 변경 여부를 확인한 후 차단 모드를 해제시킨다.
즉, 차단 해제 모듈(106)은 에이전트 시스템 내 실행 파일들이 변경되었는지를 데이터베이스(114)에 저장된 원본 DNA값과 에이전트 시스템 내 실행 파일들 각각의 DNA값간의 일치 여부를 통해 확인한 후 차단 모듈(102)에 의해 설정된 차단 모드 해제를 결정하며, 차단 모드 해제에 따라 관리자는 에이전트 시스템에 새로운 프로그램을 설치하거나 에이전트 시스템 내에 파일을 변경 또는 삭제시킬 수 있다.
관리자 모듈(108)은 에이전트 시스템이 차단 모드로 동작하는 상태에서 관리자의 요청에 따라 에이전트 시스템이 인지하지 못하는 악성 코드 파일의 치료 또는 삭제를 위해 특정 실행 파일에 대한 이동, 삭제, 생성 또는 변경할 수 있는 관리자 모드를 설정할 수 있는 인터페이스를 제공한다.
다시 말해서, 관리자 모듈(108)은 차단 모드 상태에서 에이전트 시스템을 관리자 모드로 설정할 수 있는 인터페이스를 제공한다.
업데이트 모듈(110)은 차단 해제 모듈(106)에 의해 차단 모드가 해제된 후 에이전트 시스템 내 실행 파일들이 업데이트됨에 따라 업데이트된 실행 파일들의 DNA값을 이용하여 데이터베이스(114)에 저장된 원본 DNA값을 업데이트시킨다. 이와 같이, 데이터베이스(114)의 업데이트가 완료됨에 따라 차단 모듈(102)은 에이전트 시스템을 차단 모드로 설정한다.
악성 코드 검사 모듈(112)은 에이전트 시스템 내 특정 파일에 대한 실행 요청이 있거나 기 설정된 주기로 에이전트 시스템 내 파일들에 대한 악성 코드 검사를 수행하는 수단으로서, 그 예로서 안티바이러스 엔진을 들 수 있다.
본 발명의 실시 예에서 악성 코드 검사 모듈(112)은 에이전트 시스템 내 실행 파일이 변경되거나 특정 실행 파일에 대한 실행 요청이 있을 경우 변경된 실행 파일 또는 특정 실행 파일을 검사하여 악성 코드 감염 여부를 판단하고, 판단 결과에 의거하여 소정의 알림 메시지를 제공할 수 있는데, 이때 알림 메시지는 로그 생성, 알림창 생성 또는 관리자의 이메일로 이메일 전송을 통해 이루어질 수 있다.
일반적으로 에이전트 시스템이 차단 모드로 전환하는 과정에서 당시의 악성 코드 검사 모듈(112)에서 악성 코드로 판별되지 않고 정상 파일로 판별되었지만, 이후의 악성 코드 검사 모듈(112)의 엔진 업데이트로 악성 코드로 판별되거나 악성 코드 판별 기능이 잘못된 업데이트로 정상 파일을 악성 코드로 판별할 수 있다. 이런 경우를 대비해서 본 발명의 실시 예에 따른 악성 코드 검사 모듈(112)이 특정 파일에 대한 검사 결과를 알림 메시지 형태로 관리자에게 제공해줌으로써, 에이전트 시스템의 관리자가 관리자 모듈(108)을 통해 관리자 모드로 에이전트 시스템을 설정하여 차단 모드 상태에서 수동으로 에이전트 시스템 내 실행 파일을 이동, 삭제, 생성 또는 변경할 수 있다.
본 발명의 실시 예에서는 차단 모듈(102)이 자체적으로 차단 모드를 설정하는 것으로 예를 들어 설명하였지만, 유무선 통신망을 통해 연결된 관리 서버(150)로부터 제어에 의해 차단 모드를 설정할 수 있다. 여기서, 관리 서버(150)는 에이전트 시스템 악성 코드 검사 모듈(112)의 악성 코드 정보를 업데이트하기 위한 기능을 제공할 수 있는 안티바이러스 서비스 제공 업체에 의해 운영될 수 있으며, 다수의 에이전트 시스템을 관리할 수 있다. 즉, 관리 서버(150)는 다수의 에이전트 시스템에 차단 모드 설정을 요청할 수 있으며, 이에 따라 다수의 에이전트 시스템 내 악성 코드 차단 장치(100)는 차단 모드를 설정하여 실행 파일들이 이동, 삭제, 생성 또는 변경되는 것을 차단할 수 있다.
본 발명의 실시 예에 따르면, 차단 모듈(102)을 이용하여 에이전트 시스템 내 실행 파일들이 이동, 삭제, 변경 또는 생성되는 것을 차단함으로써, 악성 코드가 포함된 실행 파일이 추가되거나 악성 코드에 의해 기존의 실행 파일들이 변경되는 것을 방지할 수 있다.
상기와 같은 구성을 갖는 악성 코드 차단 장치(100)가 동작하여 악성 코드를 차단하는 과정에 대해 도 2를 참조하여 설명한다.
도 2는 본 발명의 실시 예에 따른 악성 코드 차단 장치가 악성 코드를 차단하는 과정을 도시한 흐름도이다.
도 2에 도시된 바와 같이, 에이전트 시스템의 악성 코드 차단 장치(100)는 실행 파일 각각에 대한 부분별 원본 DNA값을 산출한 후 이를 데이터베이스(114)에 저장한다(S200).
그런 다음, 차단 모듈(102)은 실행 파일들이 이동, 삭제, 생성 또는 변경되는 것을 차단하기 위한 차단 모드를 설정한다(S202).
이후, 악성 코드 차단 장치(100)의 파일 실행 모듈(104)은 특정 실행 파일에 대한 실행 요청이 있는지를 판단한다(S204).
S204의 판단 결과, 특정 실행 파일에 대한 실행 요청이 있는 경우 악성 코드 검사 모듈(112)은 기 설정된 안타바이러스 엔진을 이용하여 특정 실행 파일에 대한 악성 코드 감염 여부를 검사하고, 검사 결과에 의거하여 알림 메시지를 생성한 후 이를 에이전트 시스템의 관리자에게 제공한다. 예를 들어, 특정 실행 파일이 악성 코드에 감염된 경우 악성 코드 검사 모듈(112)은 특정 실행 파일을 치료, 즉 수정 또는 삭제하지 않고 특정 실행 파일이 악성 코드에 감염되었음을 알리는 알림 메시지만을 생성하여 에이전트 시스템의 관리자에게 제공한다. 악성 코드 검사 모듈(112)에 의해 검사 완료된 특정 실행 파일은 파일 실행 모듈(104)에 제공된다.
한편, 파일 실행 모듈(104)은 악성 코드 검사 완료된 특정 실행 파일의 DNA값을 산출(S206)한 후 산출된 DNA값과 데이터베이스(114)에 저장된 특정 실행 파일의 원본 DNA값간의 비교를 통해 일치하는지의 여부를 판단한다(S208).
S208의 판단 결과, 산출된 DNA값과 원본 DNA값이 일치하는 경우 파일 실행 모듈(104)은 특정 실행 파일을 실행(S212)시키며, 그렇지 않을 경우 차단 모듈(102)은 특정 실행 파일에 대한 백업 파일이 존재하는지를 판단한다(S214).
S214의 판단 결과, 백업 파일이 존재할 경우 차단 모듈(102)은 특정 실행 파일을 삭제(S216)한 후 백업 파일을 파일 실행 모듈(104)에 제공하여 실행시킨다(S218).
한편, S214의 판단 결과, 백업 파일이 존재하지 않을 경우 차단 모듈(102)은 특정 실행 파일을 삭제시킨 후 특정 실행 파일의 DNA값을 유무선 통신망을 통해 관리 서버(150)에 전송하여 특정 실행 파일의 악성 코드 감염 여부에 대한 검사를 요청할 수 있다(S220).
다른 한편, 에이전트 시스템의 악성 코드 차단 장치(100)는 관리자로부터 에이전트 시스템 내 실행 파일에 대한 업데이트 요청이 있는지를 판단한다(S222).
S222의 판단 결과, 업데이트 요청이 있는 경우 차단 해제 모듈(106)은 에이전트 시스템 내 모든 실행 파일들에 대한 DNA값을 산출한 후 산출된 DNA값과 데이터베이스(114)에 저장된 원본 DNA값간의 비교를 통해 일치할 경우 차단 모듈(102)에 의해 설정된 차단 모드를 해제시키며, 이에 따라 관리자는 에이전트 시스템에 새로운 프로그램을 설치하거나 기존의 실행 파일의 이동, 삭제 또는 변경함으로써, 에이전트 시스템 내 실행 파일들을 업데이트시킬 수 있다. 실행 파일들에 대한 업데이트가 완료됨에 따라 업데이트 모듈(110)은 에이전트 시스템 내 업데이트된 실행 파일들을 이용하여 원본 DNA값을 산출한 후 이를 토대로 데이터베이스(114)를 업데이트시킨다(S224).
이와 같이 업데이트가 완료(S226)됨에 따라 차단 모듈(102)은 에이전트 시스템 내 실행 파일들을 보호하기 위해 차단 모드를 다시 설정(S228)하며, 에이전트 시스템의 악성 코드 차단 장치(100)는 관리자로부터 악성 코드 검사 및 치료를 위한 차단 모드 해제 요청이 있는지를 판단한다(S230).
S230의 판단 결과, 관리자로부터 차단 모드 해제 요청이 있는 경우 악성 코드 차단 장치(100)의 관리자 모듈(108)은 차단 모듈(102)에 의해 설정된 차단 모드를 해제시킴으로써, 관리자는 임의의 실행 파일을 이동, 삭제 또는 변경할 수 있다(S232).
본 발명의 실시 예에 따르면, 에이전트 시스템 내에 설치된 실행 파일을 이동, 삭제, 변경 또는 생성하는 것을 차단하고, 실행 파일을 실행할 때 데이터베이스(114)에 저장된 원본 DNA값과 실행 파일의 DNA값간의 비교를 통해 실행 파일을 실행하거나 차단함으로써, 별도의 안티바이러스 엔진의 업데이트나 시스템의 업데이트 없이 적은 리소스로 에이전트 시스템의 보안성을 향상시킬 수 있다.
이상 본 발명의 구체적 실시 형태를 참조하여 본 발명을 설명하였으나, 이는 예시에 불과하며 본 발명의 범위를 제한하는 것이 아니다. 당업자는 본 발명의 범위를 벗어나지 않는 범위 내에서 설명된 실시형태들을 변경 또는 변형할 수 있다. 본 명세서에서 설명된 각 기능 블록들 또는 수단들은 프로그램 형식으로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수 있다. 본 명세서 및 청구범위에서 별개인 것으로 설명된 모듈 등의 구성요소는 단순히 기능상 구별된 것으로 물리적으로는 하나의 수단으로 구현될 수 있으며, 단일한 것으로 설명된 수단 등의 구성요소도 수개의 구성요소의 결합으로 이루어질 수 있다. 또한 본 명세서에서 설명된 각 방법 단계들은 본 발명의 범위를 벗어나지 않고 그 순서가 변경될 수 있고, 다른 단계가 부가될 수 있다. 뿐만 아니라, 본 명세서에서 설명된 다양한 실시형태들은 각각 독립하여서뿐만 아니라 적절하게 결합되어 구현될 수도 있다. 따라서 본 발명의 범위는 설명된 실시형태가 아니라 첨부된 청구범위 및 그 균등물에 의해 정해져야 한다.
100 : 악성 코드 차단 장치 102 : 차단 모듈
104 : 파일 실행 모듈 106 : 차단 해제 모듈
108 : 관리자 모듈 110 : 업데이트 모듈
112 : 데이터베이스 150 : 관리 서버

Claims (14)

  1. 에이전트 시스템 내 저장된 실행 파일 각각에 대하여 해쉬 함수를 적용한 값을 포함하는 원본 정보값이 저장되어 있는 데이터베이스와,
    상기 실행 파일의 이동, 삭제, 생성 또는 변경을 차단시키기 위한 차단 모드를 설정하며, 상기 차단 모드에서 상기 에이전트 시스템 내 임의의 실행 파일이 변경되는 경우 상기 임의의 실행 파일의 변경 전 원본 실행 파일을 백업하는 차단 모듈과,
    상기 에이전트 시스템 내 특정 실행 파일에 대한 실행 요청이 있는 경우 상기 특정 실행 파일에 대하여 해쉬 함수를 적용한 값을 포함하는 정보값과 상기 데이터베이스에 저장된 상기 특정 실행 파일의 원본 정보값을 비교하여 상기 특정 실행 파일의 실행 여부를 결정하는 파일 실행 모듈을 포함하되,
    상기 실행 모듈은, 상기 특정 실행 파일이 상기 변경된 임의의 실행 파일인 경우, 상기 백업된 원본 실행 파일을 복구하여 실행시키는
    실행 파일을 이용한 악성 코드 차단 장치.
  2. 제 1 항에 있어서,
    상기 에이전트 시스템 내 실행 파일에 대한 업데이트 요청이 있는 경우 상기 에이전트 시스템 내 실행 파일 각각에 대한 정보값과 상기 데이터베이스에 저장된 실행 파일 각각에 대한 정보값의 비교를 통해 상기 실행 파일 각각에 대한 변경 유무를 확인하여 상기 차단 모드의 해제 여부를 결정하는 차단 해제 모듈을 포함하는
    실행 파일을 이용한 악성 코드 차단 장치.
  3. 제 1 항에 있어서,
    상기 차단 모듈은, 통신망을 통해 연결된 관리 서버의 요청에 따라 상기 차단 모드를 설정하는
    실행 파일을 이용한 악성 코드 차단 장치.
  4. 제 1 항에 있어서,
    상기 악성 코드 차단 장치는,
    상기 차단 모드 상태에서 상기 특정 실행 파일에 대한 실행 요청이 있는 경우 상기 특정 실행 파일에 대한 악성 코드 검사를 수행한 후 검사가 완료된 상기 특정 실행 파일을 상기 파일 실행 모듈에 제공하는 악성 코드 검사 모듈을 더 포함하는
    실행 파일을 이용한 악성 코드 차단 장치.
  5. 제 4 항에 있어서,
    상기 악성 코드 검사 모듈은,
    상기 특정 실행 파일에 대한 악성 코드 검사 결과에 의거하여 알림 메시지를 생성하는
    실행 파일을 이용한 악성 코드 차단 장치.
  6. 제 5 항에 있어서,
    상기 알림 메시지는, 로그 생성, 알림창 생성 또는 이메일 형태로 구현되는
    실행 파일을 이용한 악성 코드 차단 장치.
  7. 제 1 항에 있어서,
    상기 파일 실행 모듈은,
    상기 특정 실행 파일의 정보값과 상기 데이터베이스에 저장된 상기 특정 실행 파일의 원본 정보값이 일치하지 않을 경우 상기 특정 실행 파일의 실행을 차단함과 동시에 통신망을 통해 연결된 관리 서버로 상기 특정 실행 파일의 정보값을 전송하여 검사를 요청하는
    실행 파일을 이용한 악성 코드 차단 장치.
  8. 제 1 항에 있어서,
    상기 악성 코드 차단 장치는,
    상기 차단 모드에서 상기 에이전트 시스템의 관리자에 요청에 따라 임의의 실행 파일을 이동, 삭제, 생성 또는 변경할 수 있는 관리자 모드로 상기 에이전트 시스템을 설정하는 관리자 모듈을 더 포함하는
    실행 파일을 이용한 악성 코드 차단 장치.
  9. 제 2 항에 있어서,
    상기 악성 코드 차단 장치는,
    상기 차단 해제 모듈에 의해 상기 차단 모드가 해제된 후 상기 에이전트 시스템 내 실행 파일이 업데이트됨에 따라 상기 업데이트된 실행 파일의 정보값을 이용하여 상기 데이터베이스를 업데이트시키는 업데이트 모듈을 더 포함하는
    실행 파일을 이용한 악성 코드 차단 장치.
  10. 제 9 항에 있어서,
    상기 차단 모듈은, 상기 데이터베이스가 업데이트되면 상기 에이전트 시스템을 상기 차단 모드로 재설정하는
    실행 파일을 이용한 악성 코드 차단 장치.
  11. 실행 파일 각각에 대하여 해쉬 함수를 적용한 값을 포함하는 원본 정보값을 저장하고 있는 데이터베이스를 구비하는 에이전트 시스템의 악성 코드 차단 방법으로서,
    상기 에이전트 시스템이 구동되면, 상기 실행 파일의 이동, 삭제, 생성 또는 변경을 차단시키기 위한 차단 모드를 설정하는 단계와,
    상기 에이전트 시스템에서 특정 실행 파일에 대한 실행 요청이 있는 경우 상기 특정 실행 파일에 대한 악성 코드 감염 여부를 검사하는 단계와,
    상기 검사가 완료된 특정 실행 파일에 대하여 해쉬 함수를 적용한 값을 포함하는 정보값을 산출하는 단계와,
    상기 산출된 정보값과 상기 데이터베이스에 저장된 상기 특정 실행 파일의 원본 정보값을 비교하여 일치하지 않을 경우 상기 특정 실행 파일을 차단시키는 단계를 포함하는
    실행 파일을 이용한 악성 코드 차단 방법.
  12. 제 11 항에 있어서,
    상기 악성 코드 차단 방법은,
    상기 차단 모드 상태에서 임의의 실행 파일에 대한 변경 요청이 있는지를 판단하는 단계와,
    상기 변경 요청이 있는 경우 상기 임의의 실행 파일의 변경 전 원본 실행 파일을 백업한 후 상기 임의의 실행 파일을 변경하는 단계와,
    상기 변경된 임의의 실행 파일에 대한 실행 요청이 있는 경우 상기 백업된 원본 실행 파일을 복구하여 실행시키는 단계를 더 포함하는
    실행 파일을 이용한 악성 코드 차단 방법.
  13. 제 12 항에 있어서,
    상기 원본 실행 파일을 복구하여 실행시키는 단계는,
    상기 변경된 임의의 실행 파일에 대한 실행 요청이 있는 경우 상기 변경된 임의의 실행 파일에 대한 악성 코드 감염 여부를 검사하는 단계와,
    상기 변경된 임의의 실행 파일에 대한 정보값과 상기 데이터베이스에 저장된 원본 정보값의 비교를 통해 상기 변경된 임의의 실행 파일에 대한 삭제를 결정하는 단계와,
    상기 백업된 원본 실행 파일을 복구하여 실행시키는 단계를 포함하는
    실행 파일을 이용한 악성 코드 차단 방법.
  14. 제 13 항에 있어서,
    상기 악성 코드 감염 여부를 검사하는 단계는,
    상기 변경된 임의의 실행 파일에 대한 악성 코드 감염 여부를 검사하며, 상기 검사 결과 상기 변경된 임의의 실행 파일이 악성 코드에 감염된 경우 이에 대한 알림 메시지를 생성하여 상기 에이전트 시스템의 관리자에게 제공하는 단계를 더 포함하는
    실행 파일을 이용한 악성 코드 차단 방법.
KR20100020016A 2010-03-05 2010-03-05 실행 파일을 이용한 악성 코드 차단 장치 및 방법 KR101138746B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR20100020016A KR101138746B1 (ko) 2010-03-05 2010-03-05 실행 파일을 이용한 악성 코드 차단 장치 및 방법
PCT/KR2011/001469 WO2011108864A2 (ko) 2010-03-05 2011-03-03 실행 파일을 이용한 악성 코드 차단 장치 및 방법
CN201180012046XA CN102918541A (zh) 2010-03-05 2011-03-03 阻断恶意代码使用执行文件的装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20100020016A KR101138746B1 (ko) 2010-03-05 2010-03-05 실행 파일을 이용한 악성 코드 차단 장치 및 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020120009240A Division KR20120039569A (ko) 2012-01-30 2012-01-30 실행 파일을 이용한 악성 코드 차단 장치

Publications (2)

Publication Number Publication Date
KR20110100924A KR20110100924A (ko) 2011-09-15
KR101138746B1 true KR101138746B1 (ko) 2012-04-24

Family

ID=44542724

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20100020016A KR101138746B1 (ko) 2010-03-05 2010-03-05 실행 파일을 이용한 악성 코드 차단 장치 및 방법

Country Status (3)

Country Link
KR (1) KR101138746B1 (ko)
CN (1) CN102918541A (ko)
WO (1) WO2011108864A2 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105653974B (zh) * 2015-12-23 2019-07-23 北京奇虎科技有限公司 一种文档防护方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060133728A (ko) * 2005-06-21 2006-12-27 주식회사 안철수연구소 악성 코드 차단 방법 및 장치 및 그 시스템
KR20080043201A (ko) * 2006-11-13 2008-05-16 한국전자통신연구원 악성 코드가 숨겨진 파일 탐지 장치 및 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100684986B1 (ko) * 1999-12-31 2007-02-22 주식회사 잉카인터넷 온라인상에서의 실시간 유해 정보 차단 시스템 및 방법
US20030115458A1 (en) * 2001-12-19 2003-06-19 Dongho Song Invisable file technology for recovering or protecting a computer file system
WO2005114539A2 (en) * 2004-05-20 2005-12-01 Computer Associates Think, Inc. Systems and methods for excluding user specified applications
US20080115219A1 (en) * 2006-11-13 2008-05-15 Electronics And Telecommunications Research Apparatus and method of detecting file having embedded malicious code
KR100918626B1 (ko) * 2007-08-02 2009-09-25 주식회사 플랜티넷 어플리케이션 프로그램 검증 및 실행 제어 방법
KR100942798B1 (ko) * 2007-11-29 2010-02-18 한국전자통신연구원 악성코드 탐지장치 및 방법
KR100968267B1 (ko) * 2008-06-13 2010-07-06 주식회사 안철수연구소 컴파일러 구분에 의한 악성코드 진단장치 및 방법
CN101359353B (zh) * 2008-09-05 2011-05-18 成都市华为赛门铁克科技有限公司 一种文件保护方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060133728A (ko) * 2005-06-21 2006-12-27 주식회사 안철수연구소 악성 코드 차단 방법 및 장치 및 그 시스템
KR20080043201A (ko) * 2006-11-13 2008-05-16 한국전자통신연구원 악성 코드가 숨겨진 파일 탐지 장치 및 방법

Also Published As

Publication number Publication date
WO2011108864A2 (ko) 2011-09-09
KR20110100924A (ko) 2011-09-15
WO2011108864A3 (ko) 2012-01-12
CN102918541A (zh) 2013-02-06

Similar Documents

Publication Publication Date Title
US11340890B2 (en) Integrity assurance and rebootless updating during runtime
US7398399B2 (en) Apparatus, methods and computer programs for controlling performance of operations within a data processing system or network
US7475427B2 (en) Apparatus, methods and computer programs for identifying or managing vulnerabilities within a data processing network
US8612398B2 (en) Clean store for operating system and software recovery
US11579985B2 (en) System and method of preventing malware reoccurrence when restoring a computing device using a backup image
US8533818B1 (en) Profiling backup activity
US9015829B2 (en) Preventing and responding to disabling of malware protection software
RU2487405C1 (ru) Система и способ для исправления антивирусных записей
US20150172304A1 (en) Secure backup with anti-malware scan
US20050132205A1 (en) Apparatus, methods and computer programs for identifying matching resources within a data processing network
US20100262584A1 (en) Disinfecting a file system
US20130160126A1 (en) Malware remediation system and method for modern applications
US20130067577A1 (en) Malware scanning
JP6134395B2 (ja) アプリケーション制御のためのリスクベースの規則のシステム及び方法
AU2014207540A1 (en) Systems and methods for identifying and reporting application and file vulnerabilities
US11477232B2 (en) Method and system for antivirus scanning of backup data at a centralized storage
US8572730B1 (en) Systems and methods for revoking digital signatures
KR101974989B1 (ko) 위험 파일에 대응하는 행위 정보를 결정하는 방법 및 장치
CN108038380B (zh) 用于计算机安全的接种器和抗体
KR101138746B1 (ko) 실행 파일을 이용한 악성 코드 차단 장치 및 방법
KR20120039569A (ko) 실행 파일을 이용한 악성 코드 차단 장치
US12113814B2 (en) User device agent event detection and recovery
KR101044651B1 (ko) 파일 보안 시스템 및 그 제공방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
A107 Divisional application of patent
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150416

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160418

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170417

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180416

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190416

Year of fee payment: 8