KR100733387B1 - 이상 행동 기반 유해 프로그램 검출 시스템 및 그 방법 - Google Patents

이상 행동 기반 유해 프로그램 검출 시스템 및 그 방법 Download PDF

Info

Publication number
KR100733387B1
KR100733387B1 KR1020060130528A KR20060130528A KR100733387B1 KR 100733387 B1 KR100733387 B1 KR 100733387B1 KR 1020060130528 A KR1020060130528 A KR 1020060130528A KR 20060130528 A KR20060130528 A KR 20060130528A KR 100733387 B1 KR100733387 B1 KR 100733387B1
Authority
KR
South Korea
Prior art keywords
program
abnormal behavior
harmful
information
blocking
Prior art date
Application number
KR1020060130528A
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 KR1020060130528A priority Critical patent/KR100733387B1/ko
Application granted granted Critical
Publication of KR100733387B1 publication Critical patent/KR100733387B1/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 이상 행동에 기반하여 유해 프로그램을 차단하는 시스템 및 그 방법에 관한 것으로서, 더욱 상세하게는 유해 프로그램이 수행하는 이상 행동의 조합과 각 이상 행동의 발생 유형을 사용자가 용이하게 유해 프로그램 차단 조건으로 설정하고, 사용자 단말 내에서 실행되는 프로그램의 이상 행동을 감지하여 설정된 차단 조건을 만족하는 실행 프로그램을 차단함으로써, 알려지지 않은 다양한 유해 프로그램에 대하여 폭넓게 대처가 가능한 동시에 사용자 환경에 따라 유연하게 적용될 수 있는 유해 프로그램 차단 시스템 및 그 방법에 관한 것이다.
본 발명에 따른 이상 행동 기반 유해 프로그램 검출 방법은, 보안서버에서, 정상적인 시스템 운영 상에서 벗어난 비정상적 기능들에 대한 이상 행동 목록과 이상 행동이 발생하는 유형에 대한 정보가 정리된, 이상 행동 선택 메뉴 및 이상 행동 발생 유형 선택 메뉴를 시스템 관리자에게 제공하는 단계와; 시스템 관리자의 선택에 따라, 이상 행동과 그 발생 유형의 조합에 의해 정의되는 적어도 하나 이상의 유해 프로그램 차단 조건을 수립하는 단계와; 보안서버가 상기 수립된 차단 조건과 최초로 설정되어 있는 유해 프로그램 목록을 사용자단말 그룹 전체에 배포하는 단계와; 각 사용자단말이 내부 시스템에서 발생하는 모든 프로그램의 동작을 감시하는 단계와; 상기 프로그램 동작 감시 단계에서 특정 실행 프로그램에 대한 로딩 시도가 감지되는 경우, 사용자단말이 해당 프로그램 정보가 유해 프로그램 목록에 기등록되어있는 유해 프로그램 정보와 일치하는지를 비교하여, 일치하는 경우 해당 프로그램의 로딩을 금지시키는 단계와; 상기 프로그램 동작 감시 단계에서 특정 실행 프로그램의 동작이 상기 차단 조건에 정의된 이상 행동에 해당하는 경우, 사용자단말이 해당 이상 행동의 발생 정보를 저장하고, 상기 이상 행동 발생 정보와 기 저장되어 있는 이상 행동 발생 이력을 참조하여, 해당 프로그램이 상기 수립된 차단 조건을 만족시키는 유해 프로그램인지 판단하는 단계와; 상기 유해 프로그램 판단 단계에서 유해 프로그램으로 판단된 경우, 사용자단말이 해당 프로그램의 실행을 중지하고, 해당 프로그램에 대한 정보를 보안서버에 전송하는 단계와; 보안서버가 상기 전송된 유해 프로그램 정보를 유해 프로그램 목록에 등록하고, 갱신된 유해 프로그램 목록을 사용자단말 그룹 전체에 재배포하는 단계;를 포함하여 구성되는 점을 특징으로 한다.
유해 프로그램, 악성 코드, 이상 행동, 차단 정책, 확산 방지

Description

이상 행동 기반 유해 프로그램 검출 시스템 및 그 방법{A system for detecting harmful programs based on monitoring abnormal behaviors and the detection method used therefor}
도 1은 본 발명의 제1 실시예에 따른 이상 행동 기반 유해 프로그램 검출 시스템의 구성도.
도 2는 도 1에 도시된 사용자단말 및 보안서버의 세부 구성도.
도 3은 본 발명의 제1 실시예에 따른 이상 행동 기반 유해 프로그램 검출 과정을 나타내는 순서도.
도 4는 도 3에 도시된 차단 조건 수립 단계에 대한 세부 순서도.
도 5는 본 발명의 제2 실시예에 따른 이상 행동 기반 유해 프로그램 검출 시스템의 구성도.
도 6은 본 발명의 제2 실시예에 따른 이상 행동 기반 유해 프로그램 검출 과정을 나타내는 순서도.
<도면의 주요 부분에 대한 부호의 설명>
10, 110 : 사용자단말 11, 111 : 이상행동감지모듈
12, 112 : 유해프로그램진단모듈 13, 113 : 유해프로그램차단모듈
16, 116 : 차단조건 데이터베이스 17, 117 : 이상행동 데이터베이스
18, 118 : 유해프로그램목록 데이터베이스
20 : 보안서버 21, 121 : 차단조건관리모듈
22 : 그룹자원관리모듈 23 : 동기화모듈
24 : 서버보안모듈 26 : 차단조건 총괄데이터베이스
27 : 이상행동 총괄데이터베이스
28 : 유해프로그램목록 총괄데이터베이스
31 : 정책관리용단말 32 : 모니터용단말
40 : 개발사서버
본 발명은 이상 행동에 기반하여 유해 프로그램을 차단하는 시스템 및 그 방법에 관한 것으로서, 더욱 상세하게는 유해 프로그램이 수행하는 이상 행동의 조합과 각 이상 행동의 발생 유형을 사용자가 용이하게 유해 프로그램 차단 조건으로 설정하고, 사용자 단말 내에서 실행되는 프로그램의 이상 행동을 감지하여 설정된 차단 조건을 만족하는 실행 프로그램을 차단함으로써, 알려지지 않은 다양한 유해 프로그램에 대하여 폭넓게 대처가 가능한 동시에 사용자 환경에 따라 유연하게 적용될 수 있는 유해 프로그램 차단 시스템 및 그 방법에 관한 것이다.
인터넷 기술의 급속한 발전과 인터넷 보급율의 확대에 따라 사용자 PC의 보안을 위협하는 유해 프로그램이 갈수록 지능화, 다양화되고 있다.
이러한 유해 프로그램은 사용자 PC에 침투하여 사용자의 의도와는 무관한 작업을 처리하거나 비정상적인 기능을 수행하는 프로그램으로서, 바이러스, 웜, 트로이목마, 백도어, 스파이웨어 등의 프로그램을 통칭한다.
유해 프로그램은 그 종류에 따라서 다양한 형태가 존재하지만, 다른 프로그램 또는 운영 체제에 접근하여 코드를 변경시키거나 정보를 추출하는 동작, 비정상적인 네트워크 패킷을 송수신하는 동작 또는 보안 프로그램으로부터 자신의 존재를 숨기기 위한 은닉 행위와 같은 일반적인 프로그램과는 다른 이상 행동을 수행한다는 공통적인 특성을 가지고 있다.
기존의 바이러스 백신이나 안티스파이웨어 등의 보안 프로그램은 이미 알려진 형태의 유해 프로그램에 대한 정보(예를 들면, 이진 코드 중의 특정 부분에 대한 패턴 정보)를 기초로 해당 유해 프로그램을 검출하거나 그 실행을 차단하는 방식으로 작동한다.
그러나, 이와 같은 종래의 보안 프로그램은 특정 유해 프로그램에 대한 이진 코드를 확인하여 패턴 정보를 구성해야만 유해 프로그램의 검출 및 차단이 가능하기 때문에, 그 패턴이 등록되어 있지 않거나 알려지지 않은 유해 프로그램에 대해서는 전혀 대응할 수 없다는 문제점이 있다.
이러한 문제점을 해결하기 위한 것으로는, 대한민국 특허출원번호 제10-2004-0072633호에 기재된 "실시간 감시를 통한 컴퓨터 보호 방법 및 이에 따라보호되는 컴퓨터와 그 시스템"이 있다. 상기 문헌에는 파일 핸들링에 관련된 인터럽트 또는 이벤트를 가로챈 후 분석하여 허용되지 않은 실행 가능한 파일에 대한 변경요 청은 폐기하도록 구성되어 바이러스 등으로부터 컴퓨터를 보호할 수 있는 실시간 감시를 통한 컴퓨터 보호 방법이 기재되어 있다. 그러나, 상기 방법은 비정상적인 파일 핸들링을 수반하는 기생형 바이러스나 웜의 동작만을 감지하여 컴퓨터를 보호하기 때문에 다양한 유형의 유해 프로그램에 대한 보안 기능에는 한계가 있다는 문제점이 있다.
본 발명은 상기한 종래 기술에 따른 문제점을 해결하기 위한 것이다. 즉, 본 발명의 목적은, 유해 프로그램이 수행하는 이상 행동의 조합과 각 이상 행동의 발생 유형에 따라 설정된 유해 프로그램 차단 조건을 기준으로 유해 프로그램을 감지하여 차단함으로써, 알려지지 않은 다양한 유해 프로그램에 대하여 광범위한 보안을 제공하는 데에 있다.
또한, 사용자가 용이하게 유해 프로그램 차단 조건을 설정 및 변경할 수 있도록 하여, 사용자 환경에 따라 유연하게 적용될 수 있는 보안 기능을 제공하는 데에 또 다른 목적이 있다.
또한, 사용자단말에서 새로 파악된 유해 프로그램 정보를 유해 프로그램 정보를 그룹 내의 다른 사용자단말과 공유하도록 차단 시스템을 구성하여, 보다 객관적이고 신뢰할 수 있는 차단 정책을 적용하는 동시에 유해 프로그램의 확산을 신속하게 방지하는 데에 또 다른 목적이 있다.
상기의 목적을 달성하기 위한 기술적 사상으로서의 본 발명은, 보안서버에서, 정상적인 시스템 운영 상에서 벗어난 비정상적 기능들에 대한 이상 행동 목록 과 이상 행동이 발생하는 유형에 대한 정보가 정리된, 이상 행동 선택 메뉴 및 이상 행동 발생 유형 선택 메뉴를 시스템 관리자에게 제공하는 단계와; 시스템 관리자의 선택에 따라, 이상 행동과 그 발생 유형의 조합에 의해 정의되는 적어도 하나 이상의 유해 프로그램 차단 조건을 수립하는 단계와; 보안서버가 상기 수립된 차단 조건과 최초로 설정되어 있는 유해 프로그램 목록을 사용자단말 그룹 전체에 배포하는 단계와; 각 사용자단말이 내부 시스템에서 발생하는 모든 프로그램의 동작을 감시하는 단계와; 상기 프로그램 동작 감시 단계에서 특정 실행 프로그램에 대한 로딩 시도가 감지되는 경우, 사용자단말이 해당 프로그램 정보가 유해 프로그램 목록에 기등록되어있는 유해 프로그램 정보와 일치하는지를 비교하여, 일치하는 경우 해당 프로그램의 로딩을 금지시키는 단계와; 상기 프로그램 동작 감시 단계에서 특정 실행 프로그램의 동작이 상기 차단 조건에 정의된 이상 행동에 해당하는 경우, 사용자단말이 해당 이상 행동의 발생 정보를 저장하고, 상기 이상 행동 발생 정보와 기 저장되어 있는 이상 행동 발생 이력을 참조하여, 해당 프로그램이 상기 수립된 차단 조건을 만족시키는 유해 프로그램인지 판단하는 단계와; 상기 유해 프로그램 판단 단계에서 유해 프로그램으로 판단된 경우, 사용자단말이 해당 프로그램의 실행을 중지하고, 해당 프로그램에 대한 정보를 보안서버에 전송하는 단계와; 보안서버가 상기 전송된 유해 프로그램 정보를 유해 프로그램 목록에 등록하고, 갱신된 유해 프로그램 목록을 사용자단말 그룹 전체에 재배포하는 단계;를 포함하여 구성되는 것을 특징으로 하는 이상 행동 기반 유해 프로그램 검출 방법을 제공한다.
또한, 본 발명은 다수의 사용자단말과, 상기 사용자단말과 각각 네트워크로 연결되는 보안서버로 이루어진 시스템 상에서, 상기 보안서버에는, 시스템 관리자에게 이상 행동 선택 메뉴 및 이상 행동 발생 유형 선택 메뉴를 제공하여 적어도 하나 이상의 유해 프로그램 차단 조건을 수립하고, 상기 수립된 차단 조건과 유해 프로그램 목록을 관리하는 차단조건관리모듈과, 상기 각 사용자단말에 대한 정보를 관리하는 그룹자원관리모듈과, 상기 각 사용자단말로부터 이상 행동 발생 정보 및 유해 프로그램 정보를 수집하여 보안 조치를 실시하는 서버보안모듈과, 상기 각 사용자단말로 새로 갱신된 유해 프로그램 목록 및 차단 조건 정보를 배포시키는 동기화모듈과, 차단 조건 정보, 사용자단말별 이상 행동 발생 정보 및 유해 프로그램 목록을 저장해두는 서버데이터베이스부가 구비되고, 상기 사용자단말 각각에는, 실행 프로그램의 이상 행동을 감지하는 이상행동감지모듈과, 상기 이상행동감지모듈에서 감지된 이상 행동이 차단 조건을 만족하는지를 판단하여 알려지지 않은 유해 프로그램을 진단하는 유해프로그램진단모듈과, 기저장되어 있는 유해 프로그램 목록과 상기 유해프로그램진단모듈의 진단 결과에 따라 유해 프로그램을 차단하는 유해프로그램차단모듈과, 차단 조건 정보, 이상 행동 발생 정보 및 유해 프로그램 목록을 저장해두는 데이터베이스부가 구비되어, 상기 각 사용자단말에서 진단한 유해 프로그램 정보를 상기 보안서버를 통해 공유하는 것을 특징으로 하는 이상 행동 기반 유해 프로그램 검출 시스템을 제공한다.
이하, 본 발명의 바람직한 실시예를 첨부 도면에 의거하여 상세하게 설명하기로 한다.
도 1은 본 발명의 제1 실시예에 따른 이상 행동 기반 유해 프로그램 검출 시스템의 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 제1 실시예에 따른 이상 행동 기반 유해 프로그램 검출 시스템은 조직 내의 사용자단말 그룹에 대한 유해 프로그램 검출 및 차단을 동시에 수행하는 시스템으로서, 개별적으로 유해 프로그램 차단 정책(이하, 차단 정책이라 칭함)을 수행하는 다수의 사용자단말(10)과, 각 사용자단말(10)과 네트워크로 연결되어 각 사용자단말(10)에서 발생하는 이상 행동을 수신하여 그룹 차원의 차단 정책을 수행하는 보안서버(20)를 포함하여 구성된다. 여기서 차단 정책은 유해 프로그램을 판단하여 차단하기 위한 규칙으로서, 이상 행동에 기반한 차단 조건과 유해 프로그램 목록을 기준으로 설정되는데, 이상 행동 및 차단 조건에 대한 보다 상세한 내용은 후술하여 설명하기로 한다.
상기 보안서버(20)에는 차단 정책을 수립하거나 수정하기 위한 정책관리용단말(31)과 그룹 내의 사용자 단말들에 대한 보안 현황을 모니터링하기 위한 모니터용단말(32)이 연결된다. 또한, 보안서버(20)는 인터넷을 통하여 개발사서버(40)와 연결되어 새로 추가된 차단 정책이나 보안 모듈을 다운로드 받아 사용자단말(10)에 배포할 수도 있다.
도 2는 도 1에 도시된 사용자단말 및 보안서버의 세부 구성도이다.
도 2를 참조하여 상기 사용자단말(10) 및 보안서버(20)의 보다 상세한 구성에 대하여 설명하면 다음과 같다.
사용자단말(10)에는 실행 프로그램의 이상 행동을 감지하는 이상행동감지모 듈(11), 감지된 이상 행동이 차단 조건을 만족하는지를 판단하여 유해 프로그램 여부를 진단하는 유해프로그램진단모듈(12), 유해 프로그램을 차단하거나 정지시키는 유해프로그램차단모듈(13), 차단 조건 정보, 이상 행동 발생 정보 및 유해 프로그램 목록을 저장해두는 데이터베이스부가 구비된다.
상기 이상행동감지모듈(11)은 커널 모드에 설치되어 시스템 호출 함수를 검사하거나, 커널 모드의 인터럽트 처리 함수를 오버라이트(overwrite)하여 동작함으로써 인터럽트 발생을 검사하거나, 사용자 모드에서 API(Application Programming Interface) 훅을 시도하여 각종 API 함수 호출을 검사함으로써, 유해 프로그램의 특성에 기반하여 미리 정의된 각종 이상 행동을 감시한다. 여기서, 이상 행동의 구체적인 내용에 대해서는 후술하여 설명하기로 한다.
상기 데이터베이스부는 차단 조건 정보를 저장해두는 차단조건 데이터베이스(16)와, 단말 내에서 발생한 이상 행동에 대한 정보를 저장해두는 이상행동 데이터베이스(17) 및 유해 프로그램 목록을 저장해두는 유해프로그램목록 데이터베이스(18)로 구성된다.
여기서, 차단조건 데이터베이스(16)에 저장되는 차단 조건 정보는 상기한 이상 행동에 기반하여 유해 프로그램을 판단하는 기준 정보로서, 하나의 차단 조건은 적어도 하나 이상의 이상 행동 종류 및 이상 행동 발생 유형으로 정의되는데, 이상 행동의 발생 유형은 이상 행동이 발생하는 반복 횟수, 이상 행동이 반복되는 시간 간격, 동일한 이상 행동이 공통적으로 발생하는 사용자 단말의 개수로 구성된다.
또한, 이상행동 데이터베이스(17)에 저장되는 이상 행동 정보는 이상행동감 지모듈(11)에서 감지한 이상 행동의 발생 이력이 이상 행동을 수행한 프로그램 정보와 함께 저장되는데, 유해프로그램진단모듈(12)에서는 이상행동감지모듈(11)에서 새로 감지된 이상 행동과 이상행동 데이터베이스(17)에 저장되어 있는 이상 행동 발생 이력을 함께 참조하여 특정 프로그램이 차단조건 데이터베이스(16)에 저장되어 있는 차단 조건을 만족하는지를 판단하게 된다.
한편, 보안서버(20)에는 적어도 하나 이상의 유해 프로그램 차단 조건을 수립하고, 상기 수립된 차단 조건과 유해 프로그램 목록을 관리하는 차단조건관리모듈(21)과, 보안 관리의 대상이 되는 각 사용자단말(10)에 대한 정보를 관리하는 그룹자원관리모듈(22)과, 그룹 내의 각 사용자단말(10)에 저장되는 차단 조건 정보와 유해 프로그램 목록을 동일한 정보로 동기화시켜주는 동기화모듈(23)과, 그룹 내 사용자단말(10)에서 발생하는 이상 행동 및 유해 프로그램 차단 정보를 수집하여 보안 조치를 실시하는 서버보안모듈(24)과, 차단 조건 정보, 사용자단말별 이상 행동 발생 정보 및 유해 프로그램 정보를 저장해두는 서버데이터베이스부가 구비된다.
상기 차단조건관리모듈(21)은 시스템 관리자에게 이상 행동 선택 메뉴 및 이상 행동 발생 유형 선택 메뉴를 제공하여 차단 조건을 수립하는데, 차단 조건을 수립하는 구체적인 과정에 대해서는 후술하여 설명하기로 한다.
상기 서버데이터베이스부는 차단 조건 정보를 저장해두는 차단조건 총괄데이터베이스(26)와, 각 사용자단말(10)에서 발생한 프로그램별 이상 행동에 대한 정보를 저장해두는 이상행동 총괄데이터베이스(27) 및 차단의 대상으로 확정된 유해 프 로그램 목록을 저장해두는 유해프로그램목록 총괄데이터베이스(28)로 구성된다.
상기 서버보안모듈(24)은 특정 사용자단말(10)에서 발생한 이상 행동 정보를 수신하면, 해당 이상 행동과 관련된 차단 조건을 차단조건 총괄데이터베이스(26)로부터 조회하여 동일 이상행동 발생 단말수가 설정되어 있는 차단 조건이 존재하는 경우, 이상행동 총괄데이터베이스(27)를 참조하여 해당 이상 행동이 다른 사용자단말(10)에서도 발생했는지의 여부를 이상 행동 정보를 통보한 사용자단말(10) 측으로 통지해준다. 이로써, 해당 사용자단말(10) 측의 유해프로그램진단모듈(12)에서는 감지한 이상 행동이 다른 사용자 단말에서도 동일하게 발생했는지에 대한 여부와 해당 이상 행동이 발생한 사용자 단말의 개수를 알 수 있으며, 이로부터 차단 조건에 정의되어 있는 동일 이상 행동 발생 단말수를 만족시키는지에 대한 판단을 할 수 있다.
이하, 상기의 유해 프로그램 검출 시스템을 이용한 본 발명의 제1 실시예에 따른 이상 행동 기반 유해 프로그램 검출 방법에 대하여 설명하기로 한다.
도 3은 본 발명의 제1 실시예에 따른 이상 행동 기반 유해 프로그램 검출 과정을 나타내는 순서도이다.
먼저, 보안서버(20)의 차단조건관리모듈(21)은 시스템 관리자에게 정상적인 시스템 운영 상에서 벗어난 비정상적 기능들에 대한 이상 행동 목록과 이상 행동이 발생하는 유형에 대한 정보가 정리된, 이상 행동 선택 메뉴 및 이상 행동 발생 유형 선택 메뉴를 제공하여, 시스템 관리자의 선택에 따라 적어도 하나 이상의 유해 프로그램 차단 조건을 수립한다(S100). 이와 같이 수립되는 차단 조건은 이상 행동과 그 발생 유형의 조합에 의해 정의되는데, 이상 행동과 그 발생 유형에 대한 선택 메뉴를 제공하고 이에 따른 차단 조건을 수립하는 구체적인 과정은 후술하여 상세히 설명하기로 한다. 여기서, 사용자에게 제공되는 이상 행동 목록은 유해 프로그램이 사용자단말(10)의 시스템, 파일, 프로세스 및 네트워크 영역에서 수행하는 비정상적인 기능들로 구성되며 그 예는 다음과 같다.
1) 타 프로세스 오픈(open)
타 프로세스의 영역에서 유해한 코드를 실행시키려거나 타 프로세스의 정보를 읽거나 변경하기 위해서는 해당 프로세스의 핸들을 오픈하는 작업이 선결되어야 하는데, 이와 같이 타 프로세스의 오픈을 시도하는 행위를 의미한다.
2) 프로세스 은닉
유해 프로그램이 보안 프로그램 등의 프로세스 탐지 시도에 대하여 자신을 은폐하려는 목적으로 자신의 프로세스 정보를 실행 프로세스 목록에 나타나지 않도록 숨기는 행위이다.
3) 타 프로세스 영역에 쓰레드(thread) 생성
특정 목적을 수행하기 위하여 타 프로세스 영역에 쓰레드를 생성하려는 시도이다.
4) 파일 변경
실행 가능한 프로그램 파일을 변경하여 유해 코드를 삽입하려고 하는 행위이다.
5) 디바이스 드라이버 로드
운영 체제의 보안 기능에 의한 일반 응용프로그램 수준에서는 동작하지 않는 기능들이 있는데, 이러한 기능은 디바이스 드라이버 형태로 프로그램을 구성하면 사용할 수 있게 된다. 디바이스 드라이버는 응용프로그램에서 로드하는 과정을 반드시 거쳐야 하는데 이러한 디바이스 드라이버의 로드를 시도하는 행위이다.
6) 키보드 후킹
키보드 후킹은 사용자가 입력하는 키보드의 값을 확인 할 수 있도록 운영체제에서 제공하는 기능인데, 유해 프로그램은 비밀번호와 같은 중요 정보를 획득하려는 목적으로 키보드 후킹의 사용을 시도한다.
7) 서비스 은닉
유해 프로그램이 서비스 형태로 동작할 때 자신을 서비스 목록에 나타나지 않도록 은닉하는 행위로서, 프로세스 은닉의 경우와 같이 보안 프로그램 등의 탐지 로부터 벗어나려는 목적으로 수행된다.
8) 타 프로그램 실행
유해 프로그램이 제2의 다른 유해 프로그램을 실행시키려고 하는 행위이다.
9) 사용자 계정 생성
컴퓨터 시스템에 로그인할 수 있는 사용자 계정을 생성하는 경우로서, 백도어 등 유해 프로그램이 시스템에 침입할 수 있는 창구를 만들기 위해 수행된다.
10) 스푸핑(spoofing) 패킷 전송
패킷의 발신자 정보를 해당 단말의 IP 어드레스나 MAC어드레스가 아닌 다른 어드레스로 위장시켜 네트워크에 패킷을 발송하려는 시도로 특정 서버를 공격하려 할 때 많이 사용된다.
11) 리슨 모드(listen mode) 포트 개방
네트워크를 통한 외부에서의 접속을 허용하기 위한 상태로 네트워크 포트를 개방하는 행위이다.
12) 과다 세션 발생
외부의 컴퓨터에 접속하기 위해서는 해당 컴퓨터와 TCP 연결 세션을 맺는데, 이러한 세션 연결 시도를 특정 서버 컴퓨터에 과도하게 시도하는 경우이다. 보통 컴퓨터는 최대로 맺을 수 있는 세션에 한계 값이 있으며 이 이상의 세션 연결 시도는 무시하게 되는데, 이 경우 해당 서버 컴퓨터는 타 컴퓨터로 정상적인 서비스를 제공하지 못하는 상태가 된다. 이러한 과다 세션 발생은 특정 서버 컴퓨터가 서비스를 수행하지 못하게 하고자 하는 경우에 사용된다.
13) 패킷 대량 발송
동일한 데이터를 가지는 패킷을 동시에 여러 외부 시스템에 대량 발송하는 행위이다. 이러한 행동은 유해한 코드를 인접한 여러 컴퓨터에 침투시키고자 하는 경우에 사용한다.
14) 특정 컴퓨터로의 접속
사용자 단말이 특정한 컴퓨터로 접속을 시도하는 경우로서, 여러 대의 사용자 단말에서 일정 시간 내에 특정 컴퓨터로 접속을 시도하는 행위를 해당 컴퓨터에 대한 공격 행위로 간주할 수 있다.
상기 차단 조건 수립 단계(S100)가 완료되면, 보안서버(20)의 동기화모듈(23)은 상기 수립된 차단 조건과 최초로 설정되어 있는 유해 프로그램 목록을 사용자단말 그룹 전체에 배포한다(S180). 여기서, 각 사용자단말(10)에 배포된 차단 조건 및 유해 프로그램 목록은 각각 차단조건 데이터베이스(16)와, 유해프로그램목록 데이터베이스(18)에 즉시 저장된다.
이후, 사용자단말(10)의 이상행동감지모듈(11)은 사용자단말(10) 내에서 발생하는 모든 프로그램의 동작을 감시한다(S200). 여기서, 이상행동감지모듈(11)은 전술한 바와 같이, 시스템 호출 함수, 인터럽트 발생 및 각종 API 함수 호출과 같이 실행 프로그램이 시스템 상에서 수행하는 각종 기능을 감시하게 되며, 특정 프로그램에 대한 로딩(loading) 시도 즉, 프로그램이 실행되기 위해 최초에 메모리에 로드되려는 시도도 포함한다.
상기 프로그램 행동 감시 단계(S200)에서 특정 실행 프로그램에 대한 로딩 시도가 감지되는 경우 사용자단말(10)의 이상행동감지모듈(11)은 해당 프로그램 정보가 유해프로그램목록데이터베이스(18)에 기등록되어 있는 유해 프로그램 정보와 일치하는지 비교하여, 유해 프로그램의 로딩 시도가 이루어지는지 판단한다(S210).
상기 유해 프로그램 로딩 판단 단계(S210)에서 유해 프로그램 로딩 시도로 판단되는 경우, 사용자단말(10)의 유해프로그램차단모듈(13)은 해당 프로그램의 로딩을 금지시키고(S215), 상기 프로그램 행동 감시 단계(S200)로 되돌아가 새로 발생하는 프로그램 동작을 감시한다.
한편, 상기 유해 프로그램 로딩 판단 단계(S210)에서 유해 프로그램 로딩 시 도가 아닌 경우, 이상행동감지모듈(11)은 특정 프로그램이 수행하는 동작이 상기 차단 조건에 정의된 이상 행동에 해당하는지를 판단하여(S220), 이상 행동에 해당하는 경우 해당 프로그램의 정보와 함께 이상 행동 발생 정보를 서버에 통보하고(S230), 이상 행동 목록에 포함되지 않는 경우 상기 프로그램 행동 감시 단계(S200)로 되돌아가 새로 발생하는 프로그램 동작을 감시한다.
상기 이상 행동 발생 정보 통보 단계(S230)가 완료되면 보안서버(20)의 서버보안모듈(24)은 해당 사용자단말(10)에 대한 정보와 이상 행동 발생 정보를 이상행동 총괄데이터베이스(27)에 저장하고, 이상행동 총괄데이터베이스(27)에 기 저장되어 있는 이상 행동 발생 이력을 참조하여 동일 이상 행동이 발생한 사용자단말수를 산출한다(S241).
이후, 보안서버(20)의 서버보안모듈(24)은 상기 산출된 동일 이상 행동 발생 단말수를 해당 사용자단말(10)로 전송하고(S242), 사용자단말(10)의 이상행동감지모듈(11)은 상기 전송받은 동일 이상 행동 발생 단말수가 포함된 이상 행동 발생 정보를 이상행동 데이터베이스(17)에 저장한다(S250).
이후, 사용자단말(10)의 유해프로그램진단모듈(12)은 상기 이상 행동 발생 정보와 이상행동 데이터베이스(17)에 저장되어 있는 해당 프로그램의 이상 행동 이력을 참조하여 상기 메뉴 제공 및 차단 조건 수립 단계(S100)에서 수립된 차단 조건을 만족시키는지 검토함으로써, 이상 행동을 수행하는 프로그램이 유해 프로그램인지 판단한다(S260).
상기 유해 프로그램 판단 단계(S260)에서 유해 프로그램으로 판단된 경우 사 용자단말(10)의 유해프로그램차단모듈(13)은 해당 프로그램의 실행을 중지하여 이상 행동을 차단하고(S270), 유해 프로그램이 아닌 것으로 판단된 경우 상기 프로그램 행동 감지 단계(S200)로 되돌아가 새로 발생하는 프로그램 동작을 감시한다.
이후, 사용자단말(10)의 유해프로그램차단모듈(13)은 유해 프로그램으로 판단된 프로그램에 대한 정보를 보안서버(20)에 전송하고(S280), 상기 프로그램 행동 감지 단계(S200)로 되돌아가 새로 발생하는 프로그램 동작을 감시한다.
이어서, 보안서버(20)의 서버보안모듈(24)은 상기 전송된 유해 프로그램 정보를 유해프로그램목록 총괄데이터베이스(28)에 저장하여 유해 프로그램 목록을 갱신하고(S290), 보안서버(20)의 동기화모듈(23)은 상기 갱신된 유해 프로그램 목록을 사용자단말 그룹 전체에 재배포하여 사용자단말 그룹 전체의 유해프로그램목록 데이터베이스(18)를 동기화시킨다(S295).
여기서, 각 사용자단말(10)의 유해 프로그램목록 데이터베이스에 저장되는 유해 프로그램 정보는 유해 프로그램으로 판단된 프로그램의 파일명, 파일크기 및 검사합(checksum)으로 구성되며, 상기 유해 프로그램 실행 판단 단계(S220)에서 유해 프로그램을 구별하기 위한 정보로 활용된다.
또한, 상기 차단 조건에 정의된 이상 행동에 해당하는지 판단하는 단계(S220)에서 해당 차단 조건의 이상 행동 발생 유형에 동일 이상 행동 발생 단말수가 설정되어 있지 않은 경우에는, 상기 이상 행동 발생 정보를 서버에 통보하는 단계(S230) 내지 동일 이상 행동 발생 단말수 전송 단계(S242)를 생략하고, 상기 이상 행동 발생 정보 저장 단계(S250)에서 동일 이상 행동 발생 단말수를 제외한 이상 행동 발생 정보만을 저장한 후, 상기 유해 프로그램 판단 단계(S260)를 수행하도록 할 수도 있다.
또한, 상기 유해 프로그램 목록 배포 단계(S295)에서 보안서버(20)의 서버보안모듈(24)은 유해 프로그램 정보를 전송한 사용자단말 이외의 다른 사용자단말들에게 상기 전송된 유해 프로그램에 대한 차단 명령을 전송하여 사용자단말 그룹 전체에서 해당 유해 프로그램을 즉시 차단하도록 할 수도 있다.
이상에서 설명한 바와 같이, 상기 유해 프로그램 로딩 금지 단계(S215)에서 이미 알려진 유해 프로그램의 로딩을 금지시키는 것과 함께, 상기 프로그램 차단 단계(S270)에서 유해 프로그램으로 알려지지 않았으나 차단 조건을 만족시키는 프로그램의 실행을 차단하여, 알려진 유해 프로그램 뿐만 아니라 알려지지 않은 다양한 유형의 유해 프로그램에 의한 유해 행위를 방지할 수 있다. 또한, 상기 동일 이상 행동 발생 단말수 산출 단계(S241)를 통해 동일한 이상 행동이 여러 사용자단말(10)에 걸쳐 발생했는지의 여부를 파악하여 이를 유해 프로그램 판단의 기초 정보로 활용함으로써, 사용자단말(10) 하나에 대한 이상 행동 발생 정보만을 참조하는 경우에 비하여 더욱 객관적이고 신뢰할 수 있는 판단 결과를 얻을 수 있다. 더불어, 상기 유해프로그램목록 동기화 단계(S295)를 통해 새로운 유해 프로그램이 발견되는 즉시 사용자단말 그룹 전체에 해당 정보를 동기화시켜줌으로써 유해 프로그램의 확산을 신속하게 방지할 수 있다.
도 4는 도 3에 도시된 차단 조건 수립 단계에 대한 세부 순서도이다.
도 4를 참조하여 보안서버(20)의 차단조건관리모듈(21)이 수행하는 차단 조 건 수립 단계(S100)의 세부 과정을 설명하면 다음과 같다.
먼저, 유해 프로그램이 실행할 수 있는 비정상적 기능들로 정의되어 있는 이상 행동 목록 중에서 특정 이상 행동을 선택할 수 있는 이상 행동 선택 메뉴와, 이상 행동이 발생하는 유형을 선택하여 입력할 수 있는 이상 행동 발생 유형 선택 메뉴를 시스템 관리자에게 제공한다(S110). 여기서, 이상 행동의 발생 유형은 이상 행동의 반복 횟수, 이상 행동이 반복되는 시간 간격 및 동일 이상 행동 발생 단말수로 구성되는데, 각 발생 유형에 대하여 미리 지정된 값을 사용자에게 목록창으로 제공하고 사용자에게 그 중 하나의 값을 선택하도록 하거나, 각 발생 유형에 대한 입력값을 사용자가 임의로 입력하도록 텍스트 박스로 제공할 수도 있다.
이어서, 시스템 관리자로부터 이상 행동 목록 중에서 차단 조건에 포함될 이상 행동을 선택받고(S120), 상기 입력된 이상 행동에 대한 발생 유형을 선택받는다(S130).
상기 이상 행동 발생 유형 선택 단계(S130)가 완료되면, 시스템 관리자에게 다른 이상 행동을 추가할지를 선택하도록 하고(S150), 시스템 관리자가 이상 행동 추가를 선택하는 경우 상기 이상 행동 선택 단계(S120)로 되돌아가 그 이하 단계를 다시 수행하며, 이상 행동을 추가 하지 않는 것으로 선택하는 경우 입력된 이상 행동 및 이상 행동 발생 유형의 조합으로 구성된 하나의 차단 조건 정보를 차단조건 총괄데이터베이스(26)에 등록한다(S160).
상기 차단 조건 등록 단계가 완료되면, 사용자에게 다른 차단 조건을 추가로 입력할 지를 선택받고(S170), 차단 조건을 추가하는 경우 상기 이상 행동 입력 단 계(S110)로 되돌아가 그 이하 단계를 다시 수행함으로써 새로운 차단 조건에 대한 이상 행동을 입력받고, 차단 조건을 추가하지 않는 경우 차단 조건 수립 단계를 완료하고 상기 차단 조건 및 유해 프로그램 목록 배포 단계(S180)으로 분기한다.
이와 같이, 유해 프로그램을 차단하기 위한 차단 조건을 사용자가 자유롭게 설정할 수 있도록 함으로써, 특정 사용자단말 그룹의 환경에 특화된 맞춤형 차단 정책을 제공할 수 있다.
도 5는 본 발명의 제2 실시예에 따른 이상 행동 기반 유해 프로그램 검출 시스템의 구성도이다.
본 발명의 제2 실시예에 따른 이상 행동 기반 유해 프로그램 검출 시스템은, 컴퓨터시스템(110) 내에서 독립적으로 작동하는 유해 프로그램 검출 시스템으로서, 도 5에 도시된 바와 같이, 전술한 제1 실시예의 사용자단말(10)의 구성에 차단조건관리모듈(121)을 추가하여 구성된다.
여기서, 차단조건관리모듈(121)은 컴퓨터시스템(110)의 사용자에게 이상 행동 선택 메뉴 및 이상 행동 발생 유형 선택 메뉴를 제공하여, 컴퓨터시스템(110)의 사용자로부터 이상 행동 및 발생 유형을 선택받아 차단 조건을 수립하며, 차단조건 데이터베이스(116)에 저장되는 차단 조건 정보는 전술한 제1 실시예와 유사하나, 유해 프로그램 검출 시스템이 설치된 컴퓨터시스템(110) 내에서 발생하는 이상 행동만을 유해 프로그램 판단의 기준으로 하기 때문에, 이상 행동의 발생 유형은 이상 행동이 발생하는 반복 횟수와 이상 행동이 반복되는 시간 간격만으로 구성된다.
그 외에, 이상행동감지모듈(111), 유해프로그램진단모듈(112), 유해프로그램차단모듈(113), 이상행동 데이터베이스(117) 및 유해프로그램목록 데이터베이스(118)는 대응하는 제1 실시예의 각 구성 요소와 동일하므로, 이에 대한 상세한 설명은 생략하기로 한다.
이하, 상기한 제2 실시예에 따른 유해 프로그램 검출 시스템을 이용한 이상 행동 기반 유해 프로그램 검출 방법에 대하여 설명하기로 한다.
도 6은 본 발명의 제2 실시예에 따른 이상 행동 기반 유해 프로그램 검출 과정을 나타내는 순서도이다.
먼저, 차단조건관리모듈(121)은 시스템의 사용자에게 정상적인 시스템 운영 상에서 벗어난 비정상적 기능들에 대한 이상 행동 목록과 이상 행동이 발생하는 유형에 대한 정보가 정리된, 이상 행동 선택 메뉴 및 이상 행동 발생 유형 선택 메뉴를 제공하여, 사용자의 선택에 따라 적어도 하나 이상의 유해 프로그램 차단 조건을 수립한다(S300). 여기서, 상술한 바와 같이 이상 행동의 발생 유형은 이상 행동이 발생하는 반복 횟수와 이상 행동이 반복되는 시간 간격만으로 구성된다.
상기 차단 조건 수립 단계(S300)가 완료되면, 이상행동감지모듈(111)은 컴퓨터시스템(110) 내에서 발생하는 모든 프로그램의 동작을 감시하고(S400), 상기 프로그램 동작 감시 단계(S400)에서 특정 실행 프로그램에 대한 로딩 시도가 감지되는 경우, 해당 프로그램 정보가 유해프로그램목록데이터베이스(118)에 기등록되어 있는 유해 프로그램 정보와 일치하는지 비교하여, 유해 프로그램의 로딩 시도가 이 루어지는지 판단한다(S410).
상기 유해 프로그램 로딩 판단 단계(S410)에서 유해 프로그램 로딩 시도로 판단되는 경우, 유해프로그램차단모듈(113)은 해당 프로그램의 로딩을 금지시키고(S415), 상기 프로그램 행동 감시 단계(S400)로 되돌아가 새로 발생하는 프로그램 동작을 감지한다.
한편, 상기 유해 프로그램 로딩 판단 단계(S410)에서 유해 프로그램 로딩 시도가 아닌 경우, 이상행동감지모듈(111)은 특정 프로그램이 수행하는 동작이 상기 차단 조건에 정의된 이상 행동에 해당하는지를 판단하여(S420), 이상 행동에 해당하는 경우 해당 프로그램의 정보와 함께 이상 행동 발생 정보를 이상행동 데이터베이스(17)에 저장하고(S450), 이상 행동에 해당하지 않는 경우 상기 프로그램 행동 감지 단계(S400)로 되돌아가 새로 발생하는 프로그램 동작을 감시한다.
상기 이상 행동 발생 정보 저장 단계(S450)가 완료되면, 유해프로그램진단모듈(12)은 상기 이상 행동 발생 정보와 이상행동 데이터베이스(117)에 저장되어 있는 동일 프로그램에 대한 이상 행동 이력을 참조하여 차단 조건을 만족시키는지 검토함으로써, 이상 행동을 수행하는 프로그램이 유해 프로그램인지 판단한다(S460).
상기 유해 프로그램 판단 단계(S460)에서 유해 프로그램으로 판단된 경우 유해프로그램차단모듈(113)은 해당 프로그램의 실행을 중지하여 이상 행동을 차단하고(S470), 유해 프로그램이 아닌 것으로 판단된 경우 상기 프로그램 행동 감시 단계(S400)로 되돌아가 새로 발생하는 프로그램 동작을 감시한다.
상기 프로그램 차단 단계(S470)가 완료되면, 유해프로그램차단모듈(113)은 유해 프로그램으로 판단된 프로그램에 대한 정보를 유해프로그램목록 데이터베이스(18)에 등록하고(S480), 상기 프로그램 행동 감시 단계(S400)로 되돌아가 새로 발생하는 프로그램 동작을 감시한다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것은 아니며, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백하다 할 것이다.
이상에서와 같이, 본 발명에 따른 이상 행동 기반 유해 프로그램 검출 시스템 및 그 방법은, 유해 프로그램이 수행하는 이상 행동을 기준으로 유해 프로그램을 차단함으로써, 알려지지 않은 다양한 유해 프로그램으로부터 컴퓨터를 보호할 수 있는 효과가 있다.
또한, 사용자가 자신의 환경에 적합한 보안 정책을 용이하게 설정할 수 있어 사용자 환경의 변화나 새로운 유해 프로그램의 출현에 대하여 유연하게 대처할 수 있는 효과도 있다.
또한, 사용자단말 그룹 내에서 동일한 이상 행동이 발생한 사용자 단말수를 파악하여 유해 프로그램 판단 조건으로 활용함으로써 보다 객관적이고 신뢰할 수 있는 차단 정책을 적용할 수 있고, 유해 프로그램 정보를 그룹 내의 다른 사용자단말과 공유하여 유해 프로그램의 확산을 신속하게 방지함으로써 유해 프로그램으로 인한 피해를 최소화할 수 있는 효과도 있다.

Claims (9)

  1. 다수의 사용자단말과, 상기 각 사용자 단말과 네트워크로 연결된 보안서버로 이루어진 시스템 상에서 유해 프로그램을 검출 및 차단하는 방법에 있어서,
    보안서버에서, 정상적인 시스템 운영 상에서 벗어난 비정상적 기능들에 대한 이상 행동 목록과 이상 행동이 발생하는 유형에 대한 정보가 정리된, 이상 행동 선택 메뉴 및 이상 행동 발생 유형 선택 메뉴를 시스템 관리자에게 제공하는 단계와;
    시스템 관리자의 선택에 따라, 이상 행동과 그 발생 유형의 조합에 의해 정의되는 적어도 하나 이상의 유해 프로그램 차단 조건을 수립하는 단계와;
    보안서버가 상기 수립된 차단 조건과 최초로 설정되어 있는 유해 프로그램 목록을 사용자단말 그룹 전체에 배포하는 단계와;
    각 사용자단말이 내부 시스템에서 발생하는 모든 프로그램의 동작을 감시하는 단계와;
    상기 프로그램 동작 감시 단계에서 특정 실행 프로그램에 대한 로딩 시도가 감지되는 경우, 사용자단말이 해당 프로그램 정보가 유해 프로그램 목록에 기등록되어있는 유해 프로그램 정보와 일치하는지를 비교하여, 일치하는 경우 해당 프로그램의 로딩을 금지시키는 단계와;
    상기 프로그램 동작 감시 단계에서 특정 실행 프로그램의 동작이 상기 차단 조건에 정의된 이상 행동에 해당하는 경우, 사용자단말이 해당 이상 행동의 발생 정보를 저장하고, 상기 이상 행동 발생 정보와 기 저장되어 있는 이상 행동 발생 이력을 참조하여, 해당 프로그램이 상기 수립된 차단 조건을 만족시키는 유해 프로그램인지 판단하는 단계와;
    상기 유해 프로그램 판단 단계에서 유해 프로그램으로 판단된 경우, 사용자단말이 해당 프로그램의 실행을 중지하고, 해당 프로그램에 대한 정보를 보안서버에 전송하는 단계와;
    보안서버가 상기 전송된 유해 프로그램 정보를 유해 프로그램 목록에 등록하고, 갱신된 유해 프로그램 목록을 사용자단말 그룹 전체에 재배포하는 단계;
    를 포함하여 구성되는 것을 특징으로 하는 이상 행동 기반 유해 프로그램 검출 방법.
  2. 제 1항에 있어서,
    상기 차단 조건 수립 단계에서 선택 메뉴로 제공되는 이상 행동 발생 유형은,
    이상 행동이 발생하는 반복 횟수, 이상 행동이 반복되는 시간 간격 및 특정 이상 행동이 동일하게 발생하는 사용자단말수를 포함하는 것을 특징으로 하는 이상 행동 기반 유해 프로그램 검출 방법.
  3. 제 1항에 있어서,
    상기 유해 프로그램 판단 단계에 있어서,
    사용자단말이 해당 프로그램의 이상 행동 발생 정보를 서버에 통보하는 단계 와;
    보안서버가 상기 통보받은 이상 행동 발생 정보를 해당 사용자단말과 프로그램 정보와 함께 저장하고, 보안서버에 기 저장되어 있는 이상 행동 발생 이력을 참조하여 해당 프로그램에 의한 이상 행동이 동일하게 발생한 사용자 단말수를 산출하는 단계와;
    보안서버가 상기 산출된 동일 이상 행동 발생 단말수를 상기 이상 행동 발생 정보를 통보한 사용자단말로 전송하는 단계와;
    사용자단말이 상기 전송된 동일 이상 행동 발생 단말수를 이상 행동 발생 정보에 포함시켜 저장하고, 상기 이상 행동 발생 정보와 기 저장되어 있는 이상 행동 발생 이력을 참조하여, 해당 프로그램이 상기 수립된 차단 조건을 만족시키는지 판단하는 단계;
    를 더 포함하는 것을 특징으로 하는 이상 행동 기반 유해 프로그램 검출 방법.
  4. 제 1항에 있어서,
    상기 유해 프로그램 목록을 사용자단말 그룹 전체에 재배포하는 단계에서는,
    유해 프로그램 목록 배포와 동시에 유해 프로그램 정보를 전송한 사용자단말 이외의 사용자단말들에게 해당 유해 프로그램에 대한 차단 명령을 전송하는 것을 특징으로 하는 이상 행동 기반 유해 프로그램 검출 방법.
  5. 컴퓨터시스템에서 실행되는 유해 프로그램을 검출 및 차단하는 방법에 있어서,
    정상적인 시스템 운영 상에서 벗어난 비정상적 기능들에 대한 이상 행동 목록과 이상 행동이 발생하는 유형에 대한 정보가 정리된, 이상 행동 선택 메뉴 및 이상 행동 발생 유형 선택 메뉴를 시스템의 사용자에게 제공하는 단계와;
    사용자의 선택에 따라, 이상 행동과 그 발생 유형의 조합에 의해 정의되는 적어도 하나 이상의 유해 프로그램 차단 조건을 수립하는 단계와;
    컴퓨터시스템에서 발생하는 모든 프로그램의 동작을 감시하는 단계와;
    상기 프로그램 동작 감시 단계에서 특정 실행 프로그램에 대한 로딩 시도가 감지되는 경우, 해당 프로그램 정보가 유해 프로그램 목록에 기등록되어 있는 유해 프로그램 정보와 일치하는지를 비교하여, 일치하는 경우 해당 프로그램의 로딩을 금지시키는 단계와;
    상기 프로그램 동작 감시 단계에서 특정 실행 프로그램의 동작이 상기 차단 조건에 정의된 이상 행동에 해당하는 경우, 해당 이상 행동의 발생 정보를 저장하고, 상기 이상 행동 발생 정보와 기 저장되어 있는 이상 행동 발생 이력을 참조하여 해당 프로그램이 상기 수립된 차단 조건을 만족시키는 유해 프로그램인지 판단하는 단계와;
    상기 유해 프로그램 판단 단계에서 유해 프로그램으로 판단된 경우, 해당 프로그램의 실행을 중지하고, 해당 프로그램에 대한 정보를 유해 프로그램 목록에 등록시키는 단계;
    를 포함하여 구성되는 것을 특징으로 하는 이상 행동 기반 유해 프로그램 검출 방법.
  6. 제 5항에 있어서,
    상기 차단 조건 수립 단계에서 선택 메뉴로 제공되는 이상 행동 발생 유형 은,
    이상 행동이 발생하는 반복 횟수 및 이상 행동이 반복되는 시간 간격을 포함하는 것을 특징으로 하는 이상 행동 기반 유해 프로그램 검출 방법.
  7. 제 1항 또는 제 5항에 있어서,
    상기 비정상적 기능들에 대한 이상 행동 목록은,
    타 프로세스 오픈(open), 프로세스 은닉, 타 프로세스 영역에 쓰레드(thread) 생성, 파일 변경, 디바이스 드라이버 로드, 키보드 후킹, 서비스 은닉, 타 프로그램 실행, 사용자 계정 생성, 스푸핑(spoofing) 패킷 전송, 리슨 모드(listen mode) 포트 개방, 과다 세션 발생, 패킷 대량 발송 및 특정 컴퓨터로의 접속을 포함하는 것을 특징으로 하는 이상 행동 기반 유해 프로그램 검출 방법.
  8. 다수의 사용자단말과, 상기 사용자단말과 각각 네트워크로 연결되는 보안서버로 이루어진 시스템 상에 설치되는 유해 프로그램을 검출 및 차단하는 시스템에 있어서,
    상기 보안서버에는,
    시스템 관리자에게 이상 행동 선택 메뉴 및 이상 행동 발생 유형 선택 메뉴를 제공하여 적어도 하나 이상의 유해 프로그램 차단 조건을 수립하고, 상기 수립된 차단 조건과 유해 프로그램 목록을 관리하는 차단조건관리모듈과, 상기 각 사용자단말에 대한 정보를 관리하는 그룹자원관리모듈과, 상기 각 사용자단말로부터 이상 행동 발생 정보 및 유해 프로그램 정보를 수집하여 보안 조치를 실시하는 서버보안모듈과, 상기 각 사용자단말로 새로 갱신된 유해 프로그램 목록 및 차단 조건 정보를 배포시키는 동기화모듈과, 차단 조건 정보, 사용자단말별 이상 행동 발생 정보 및 유해 프로그램 목록을 저장해두는 서버데이터베이스부가 구비되고,
    상기 사용자단말 각각에는,
    실행 프로그램의 이상 행동을 감지하는 이상행동감지모듈과, 상기 이상행동감지모듈에서 감지된 이상 행동이 차단 조건을 만족하는지를 판단하여 알려지지 않은 유해 프로그램을 진단하는 유해프로그램진단모듈과, 기저장되어 있는 유해 프로그램 목록과 상기 유해프로그램진단모듈의 진단 결과에 따라 유해 프로그램을 차단하는 유해프로그램차단모듈과, 차단 조건 정보, 이상 행동 발생 정보 및 유해 프로그램 목록을 저장해두는 데이터베이스부가 구비되어,
    상기 각 사용자단말에서 진단한 유해 프로그램 정보를 상기 보안서버를 통해 공유하는 것을 특징으로 하는 이상 행동 기반 유해 프로그램 검출 시스템.
  9. 컴퓨터시스템에 설치되는 유해 프로그램 검출 및 차단 시스템에 있어서,
    시스템 사용자에게 이상 행동 선택 메뉴 및 이상 행동 발생 유형 선택 메뉴를 제공하여 적어도 하나 이상의 유해 프로그램 차단 조건을 수립하고, 상기 수립된 차단 조건과 유해 프로그램 목록을 관리하는 차단조건관리모듈과;
    실행 프로그램의 이상 행동을 감지하는 이상행동감지모듈과;
    상기 이상행동감지모듈에서 감지된 이상 행동이 차단 조건을 만족하는지를 판단하여 알려지지 않은 유해 프로그램을 진단하는 유해프로그램진단모듈과;
    기저장되어 있는 유해 프로그램 목록과 상기 유해프로그램진단모듈의 진단 결과에 따라 유해 프로그램을 차단하는 유해프로그램차단모듈; 및
    차단 조건 정보, 이상 행동 발생 정보 및 유해 프로그램 목록을 저장해두는 데이터베이스부;를 포함하여 구성되는 것을 특징으로 하는 이상 행동 기반 유해 프로그램 검출 시스템.
KR1020060130528A 2006-12-20 2006-12-20 이상 행동 기반 유해 프로그램 검출 시스템 및 그 방법 KR100733387B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060130528A KR100733387B1 (ko) 2006-12-20 2006-12-20 이상 행동 기반 유해 프로그램 검출 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060130528A KR100733387B1 (ko) 2006-12-20 2006-12-20 이상 행동 기반 유해 프로그램 검출 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR100733387B1 true KR100733387B1 (ko) 2007-06-29

Family

ID=38373719

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060130528A KR100733387B1 (ko) 2006-12-20 2006-12-20 이상 행동 기반 유해 프로그램 검출 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR100733387B1 (ko)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100968200B1 (ko) * 2008-03-04 2010-07-06 주식회사 조은시큐리티 경량화된 홈네트워크 침입탐지 및 차단 시스템 및 그 방법
KR101206737B1 (ko) * 2010-11-29 2012-11-30 인포섹(주) 보안 취약성 평가 및 대응이 가능한 모바일 단말기 및 이의 구현방법
KR101206740B1 (ko) * 2010-11-29 2012-11-30 인포섹(주) 보안 등급에 따라 어플리케이션의 실행을 제어하는 모바일 단말기 및 이의 구현방법
WO2013158789A1 (en) * 2012-04-18 2013-10-24 Mcafee, Inc. Detection and prevention of installation of malicious mobile applications
US8713680B2 (en) 2007-07-10 2014-04-29 Samsung Electronics Co., Ltd. Method and apparatus for modeling computer program behaviour for behavioural detection of malicious program
KR101421136B1 (ko) * 2007-07-10 2014-07-21 더 리젠츠 오브 더 유니버시티 오브 미시건 악성 프로그램을 검사하기 위하여 컴퓨터 프로그램의행동을 모델링하는 방법 및 장치
KR101426059B1 (ko) 2012-04-20 2014-08-04 윤경한 애플리케이션의 제어 방법
KR101494329B1 (ko) * 2013-09-02 2015-02-23 주식회사 베일리테크 악성 프로세스 검출을 위한 시스템 및 방법
US11336671B2 (en) 2018-12-18 2022-05-17 Korea Internet & Security Agency Method and apparatus for detecting anomaly in a plurality of devices by collectively analyzing information on devices
WO2024079668A1 (en) * 2022-10-13 2024-04-18 Cybersentry.Ai, Inc. Program execution anomaly detection for cybersecurity

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
해당없음

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8713680B2 (en) 2007-07-10 2014-04-29 Samsung Electronics Co., Ltd. Method and apparatus for modeling computer program behaviour for behavioural detection of malicious program
KR101421136B1 (ko) * 2007-07-10 2014-07-21 더 리젠츠 오브 더 유니버시티 오브 미시건 악성 프로그램을 검사하기 위하여 컴퓨터 프로그램의행동을 모델링하는 방법 및 장치
KR100968200B1 (ko) * 2008-03-04 2010-07-06 주식회사 조은시큐리티 경량화된 홈네트워크 침입탐지 및 차단 시스템 및 그 방법
KR101206737B1 (ko) * 2010-11-29 2012-11-30 인포섹(주) 보안 취약성 평가 및 대응이 가능한 모바일 단말기 및 이의 구현방법
KR101206740B1 (ko) * 2010-11-29 2012-11-30 인포섹(주) 보안 등급에 따라 어플리케이션의 실행을 제어하는 모바일 단말기 및 이의 구현방법
WO2013158789A1 (en) * 2012-04-18 2013-10-24 Mcafee, Inc. Detection and prevention of installation of malicious mobile applications
US9152784B2 (en) 2012-04-18 2015-10-06 Mcafee, Inc. Detection and prevention of installation of malicious mobile applications
US9596257B2 (en) 2012-04-18 2017-03-14 Mcafee, Inc. Detection and prevention of installation of malicious mobile applications
KR101426059B1 (ko) 2012-04-20 2014-08-04 윤경한 애플리케이션의 제어 방법
KR101494329B1 (ko) * 2013-09-02 2015-02-23 주식회사 베일리테크 악성 프로세스 검출을 위한 시스템 및 방법
US11336671B2 (en) 2018-12-18 2022-05-17 Korea Internet & Security Agency Method and apparatus for detecting anomaly in a plurality of devices by collectively analyzing information on devices
WO2024079668A1 (en) * 2022-10-13 2024-04-18 Cybersentry.Ai, Inc. Program execution anomaly detection for cybersecurity

Similar Documents

Publication Publication Date Title
KR100733387B1 (ko) 이상 행동 기반 유해 프로그램 검출 시스템 및 그 방법
US10893068B1 (en) Ransomware file modification prevention technique
US9112899B2 (en) Remedial action against malicious code at a client facility
US7870612B2 (en) Antivirus protection system and method for computers
TWI559166B (zh) 應用程式的威脅程度評估
RU2571723C2 (ru) Система и способ для снижения нагрузки на операционную систему при работе антивирусного приложения
US7587724B2 (en) Kernel validation layer
AU2014330136B2 (en) Complex scoring for malware detection
US7565549B2 (en) System and method for the managed security control of processes on a computer system
KR101558715B1 (ko) 서버 결합된 멀웨어 방지를 위한 시스템 및 방법
US7877795B2 (en) Methods, systems, and computer program products for automatically configuring firewalls
US8732839B2 (en) Automatically protecting computer systems from attacks that exploit security vulnerabilities
US9183377B1 (en) Unauthorized account monitoring system and method
US7665139B1 (en) Method and apparatus to detect and prevent malicious changes to tokens
KR101295428B1 (ko) 스마트 단말기에서 어플리케이션의 권한정보 관리 장치 및 제어 방법
US20210264030A1 (en) Integrated application analysis and endpoint protection
CN102893289A (zh) 恶意软件保护
US7716527B2 (en) Repair system
US11030302B2 (en) Restricting access to application programming interfaces (APIs)
CN113138836B (zh) 一种使用基于Docker容器的防逃逸系统的防逃逸方法
CN111651754A (zh) 入侵的检测方法和装置、存储介质、电子装置
US20070294699A1 (en) Conditionally reserving resources in an operating system
GB2601231A (en) Dynamic sandbox scarecrow for malware management
WO2021121382A1 (en) Security management of an autonomous vehicle
CN112052447A (zh) 针对软件开发工具包的隔离方法、装置、终端及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120720

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131223

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee