KR100961438B1 - 실시간 침입 탐지 시스템 및 방법, 그리고 그 방법을수행하기 위한 프로그램이 기록된 기록매체 - Google Patents

실시간 침입 탐지 시스템 및 방법, 그리고 그 방법을수행하기 위한 프로그램이 기록된 기록매체 Download PDF

Info

Publication number
KR100961438B1
KR100961438B1 KR1020080024506A KR20080024506A KR100961438B1 KR 100961438 B1 KR100961438 B1 KR 100961438B1 KR 1020080024506 A KR1020080024506 A KR 1020080024506A KR 20080024506 A KR20080024506 A KR 20080024506A KR 100961438 B1 KR100961438 B1 KR 100961438B1
Authority
KR
South Korea
Prior art keywords
log
callback
log information
event
callback event
Prior art date
Application number
KR1020080024506A
Other languages
English (en)
Other versions
KR20090099327A (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 KR1020080024506A priority Critical patent/KR100961438B1/ko
Publication of KR20090099327A publication Critical patent/KR20090099327A/ko
Application granted granted Critical
Publication of KR100961438B1 publication Critical patent/KR100961438B1/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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

시스템 콜백 이벤트를 이용하여 시스템의 불법 침입을 탐지할 수 있는 실시간 침입 탐지 방법은 불법 침입에 따른 이벤트(Event)에 대응되는 시스템 콜백(System Callback) 이벤트를 발생하기 위한 사용자 콜백 함수를 호스트 시스템에 등록하는 단계; 상기 사용자 콜백 함수에 의해 발생되는 상기 시스템 콜백 이벤트의 로그 정보를 수집하는 단계; 및 상기 수집된 로그 정보를 관리 서버로 전송하는 단계를 포함하는 것을 특징으로 한다.
시스템 콜백, 콜백 함수, 프로세스 로그, 파일 로그, 레지스트리 로그

Description

실시간 침입 탐지 시스템 및 방법, 그리고 그 방법을 수행하기 위한 프로그램이 기록된 기록매체{SYSTEM AND METHOD FOR REAL-TIME INTRUSION DETECTION, AND RECORD MEDIA RECODED PROGRAM FOR IMPLEMENT THEREOF}
본 발명은 실시간 침입 탐지 시스템 및 방법에 관한 것으로, 보다 구체적으로, 시스템 콜백 이벤트를 이용하여 시스템의 불법 침입을 탐지할 수 있도록 한 실시간 침입 탐지 시스템 및 방법, 그리고 그 방법을 수행하기 위한 프로그램이 기록된 기록매체에 관한 것이다.
최근 들어, 퍼스널 컴퓨터(PC)의 획기적인 보급과 인터넷(Internet)의 사용이 일반화되면서 전자상거래, 전자화폐, 전자메일 등 다양한 전자 비즈니스가 생활의 기본 수단으로 발전하고 있고, 이에 따라 해커의 불법침입, 컴퓨터 바이러스의 유포, 및 프라이버시 침해 등 정보화의 역기능이 사회적 문제점으로 대두되고 있다.
이러한 문제점을 해결하기 위한 전산망 보안기술로서 방화벽(Firewall) 및 침입 탐지 시스템 (IDS; Intrusion Detection System) 등이 널리 연구되고 있다.
방화벽은 인터넷 망에서 외부 또는 내부에서의 허가되지 않은 네트워크 침입 을 막기 위한 것으로서, 네트워크 사이의 연결지점에 위치하게 되고 네트워크 상을 지나가는 모든 네트워크 신호의 연결을 제어 또는 차단하는 기능을 수행한다.
침입 탐지 시스템(IDS)은 시스템(호스트/서버, 네트워크 장비)에 시도되는 비정상적 행위 또는 오용 행위 등을 실시간으로 탐지하는 보안 시스템으로서, 네트워크 내/외부 정보의 흐름을 실시간 감시하여 해커의 침입 패턴에 대한 추적과 동시에 유해 정보 감시를 수행한다. 침입시도로 예상되는 비정상적 행위는 시스템의 비정상적 동작이나 사용에 근거한 것을 의미하고, 또 다른 침입시도로 예상되는 오용 행위는 시스템/응용 소프트웨어의 취약점을 공격하는 형태를 의미한다. 이러한 침입시도는 스니퍼를 사용한 도청, 신분/권한/서비스 위장, 악성 프로그램에 의한 기밀성/무결성/가용성 파괴, 시스템 정보유출/변조/자원소모, 기타 시스템 사용정책 위반 등의 형태로 나타난다.
이러한 종래의 침입 탐지 시스템은 각 리소스(시스템 로그, 레지스트리 로그, 파일 로그, 프로세스 로그)에 대한 초기 해쉬 값을 저장(System Snapshot)한 후, 리소스 각각의 감시 모듈을 이용하여 각 리소스에 대한 생성, 삭제, 실행, 및 종료를 폴링(Polling) 방식을 통해 주기적으로 모니터링하여 시스템의 침입 및 변조를 감시하고, 보안 룰(Rule)을 기반으로 감지된 정보를 분석하여 시스템 침입 및 변조를 경고한다.
그러나, 종래의 침입 탐지 시스템은 아래와 같은 문제점이 있다.
첫째, 감시하는 리소스가 모두 폴링 방식으로 동작하기 때문에 불필요한 리소스에 대한 검사로 인하여 시스템 성능이 저하된다.
둘째, 각 리소스에 대한 초기 해쉬 값에 의존하기 때문에 시스템 침입 시 침입자가 각 리소스에 대한 실시간 로깅(Logging)을 통해 시스템 감시를 우회할 수 있으며, 침입자에 의해 생성/변조/삭제되는 리소스에 대한 순간적인 로깅을 수행할 수 없다.
셋째, 보안 룰 적용에 있어 여러 시스템에 해당하는 보안 룰을 적용하기가 곤란한다.
본 발명은 상술한 문제점을 해결하기 위한 것으로서, 시스템 콜백 이벤트를 이용하여 시스템의 불법 침입을 탐지함으로써 시스템 부하를 줄일 수 있도록 한 실시간 침입 탐지 시스템 및 방법, 그리고 그 방법을 수행하기 위한 프로그램이 기록된 기록매체를 제공하는 것을 기술적 과제로 한다.
또한, 시스템 감시에 대한 침입자의 우회를 최소화함과 아울러 리소스에 대한 순간적인 로깅을 수행할 수 있도록 한 실시간 침입 탐지 시스템 및 방법, 그리고 그 방법을 수행하기 위한 프로그램이 기록된 기록매체를 제공하는 것을 다른 기술적 과제로 한다.
또한, 여러 시스템에 일괄적으로 보안 룰을 적용할 수 있도록 한 실시간 침입 탐지 시스템 및 방법, 그리고 그 방법을 수행하기 위한 프로그램이 기록된 기록매체를 제공하는 것을 또 다른 기술적 과제로 한다.
상술한 기술적 과제를 달성하기 위한 본 발명에 따른 실시간 침입 탐지 방법은 불법 침입에 따른 이벤트(Event)에 대응되는 시스템 콜백(System Callback) 이벤트를 발생하기 위한 사용자 콜백 함수를 호스트 시스템에 등록하는 단계; 상기 사용자 콜백 함수에 의해 발생되는 상기 시스템 콜백 이벤트의 로그 정보를 수집하는 단계; 및 상기 수집된 로그 정보를 관리 서버로 전송하는 단계를 포함하는 것을 특징으로 한다.
일 실시예에 있어서, 상기 사용자 콜백 함수는 파일 콜백 이벤트, 레지스트리 콜백 이벤트, 및 프로세스 콜백 이벤트 중 적어도 하나를 발생하는 것을 특징으로 한다.
일 실시예에 있어서, 상기 시스템 콜백 이벤트에 따른 로그 정보를 수집하는 단계는 상기 파일 콜백 이벤트의 파일 로그 정보, 상기 레지스트리 콜백 이벤트의 레지스트리 로그 정보, 및 상기 프로세스 콜백 이벤트의 프로세스 로그 정보를 수집하여 저장하는 것을 특징으로 한다.
다른 실시예에 있어서, 상기 시스템 콜백 이벤트의 로그 정보를 수집하는 단계는 상기 프로세스 콜백 이벤트의 프로세스 로그 정보를 임시 저장하는 단계; 상기 임시 저장된 프로세스 로그 정보에서 상기 프로세스 로그 정보를 수집하는 단계; 및 상기 수집된 프로세스 로그 정보, 상기 파일 콜백 이벤트의 파일 로그 정보, 및 상기 레지스트리 콜백 이벤트의 레지스트리 로그 정보를 통합 수집하여 저장하는 단계를 포함하여 이루어지는 것을 특징으로 한다. 여기서, 상기 로그 정보는 큐잉(Queuing) 방식으로 저장될 수 있다.
일 실시예에 있어서, 상기 사용자 콜백 함수를 호스트 시스템에 등록하는 단계는 ReadDirectoryChangesW 함수의 호출을 통해 상기 파일 콜백 이벤트의 사용자 콜백 함수를 등록하는 단계; PsSetCreateProcessNotifyRoutine 함수를 통해 상기 프로세스 콜백 이벤트의 사용자 콜백 함수를 등록하는 단계; 및 RegNotifyChangeKeyValue 함수의 호출을 통해 상기 레지스트리 콜백 이벤트의 사용자 콜백 함수를 등록하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
상술한 기술적 과제를 달성하기 위한 본 발명의 다른 측면에 따른 실시간 침입 탐지 방법은 호스트 시스템의 시스템 콜백 이벤트에 따른 로그 정보를 수집하는 에이전트로부터 상기 수집된 로그 정보를 수신하는 단계; 상기 수신된 로그 정보를 기반으로 상기 호스트 시스템의 불법 침입을 분석하는 단계; 및 상기 분석 결과에 따라 불법 침입에 대응하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
상기의 실시간 침입 탐지 방법은 로그 룰(Rule) 데이터 베이스에 저장된 로그 룰을 적용하여 상기 수신된 로그 정보를 필터링하고, 필터링된 로그 정보를 저장하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.
일 실시예에 있어서, 상기 로그 룰은 상기 에이전트 단위로 적용되거나, 복수의 에이전트로 구성된 에이전트군 단위로 적용되는 것을 특징으로 한다.
상술한 기술적 과제를 달성하기 위한 본 발명의 다른 측면에 따른 실시간 침입 탐지 방법을 수행하기 위한 프로그램이 기록된 기록매체는 불법 침입에 따른 이벤트(Event)에 대응되는 시스템 콜백(System Callback) 이벤트를 발생하기 위한 사용자 콜백 함수를 호스트 시스템에 등록하는 단계; 상기 사용자 콜백 함수에 의해 발생되는 상기 시스템 콜백 이벤트의 로그 정보를 수집하는 단계; 및 상기 수집된 로그 정보를 관리 서버로 전송하는 단계를 수행하여 실시간 침입 탐지 방법을 수행하는 프로그램이 저장된 것을 특징으로 한다.
상술한 기술적 과제를 달성하기 위한 본 발명의 다른 측면에 따른 프로그램이 기록된 기록매체는 호스트 시스템의 시스템 콜백 이벤트에 따른 로그 정보를 수집하는 에이전트로부터 상기 수집된 로그 정보를 수신하는 단계; 상기 수신된 로그 정보를 기반으로 상기 호스트 시스템의 불법 침입을 분석하는 단계; 및 상기 분석 결과에 따라 불법 침입에 대응하는 단계를 수행하여 실시간 침입 탐지 방법을 수행하는 프로그램이 저장된 것을 특징으로 한다.
상술한 기술적 과제를 달성하기 위한 본 발명의 다른 측면에 따른 실시간 침입 탐지 시스템은 호스트 시스템에 탑재되어 상기 호스트 시스템에 등록된 사용자 콜백 함수에 의해 발생되는 시스템 콜백 이벤트의 로그 정보를 수집하는 로그 수집부를 포함하는 에이전트부; 및 상기 에이전트부로부터 전송되는 상기 로그 정보를 수신하고, 상기 수신된 로그 정보를 분석하여 상기 호스트 시스템의 불법 침입을 탐지하는 관리 서버를 포함하여 구성되는 것을 특징으로 한다.
일 실시예에 있어서, 상기 로그 수집부는 상기 로그 정보를 임시 저장하는 적어도 하나의 임시 저장부를 포함하여 구성되는 것을 특징으로 한다.
일 실시예에 있어서, 상기 관리 서버는 상기 에이전트부로부터 전송되는 상기 로그 정보를 수신하는 로그 수신부; 로그 룰이 저장된 로그 룰(Rule) 데이터 베이스; 상기 로그 룰을 적용하여 상기 수신된 로그 정보를 필터링하는 로그 필터부; 상기 필터링된 로그 정보를 저장하는 로그 데이터 베이스; 및 상기 필터링된 로그 정보를 분석하여 상기 호스트 시스템의 불법 침입을 분석하는 로그 분석부를 포함하여 구성되는 것을 특징으로 한다.
상술한 바와 같이 본 발명에 따르면, 호스트 시스템의 시스템 콜백 이벤트를 통해 시스템의 불법 침입을 탐지함으로써 시스템 부하를 줄일 수 있는 효과가 있다.
또한, 본 발명에 따르면, 파일 및 프로세스의 실시간 로깅을 통해 침입자가 시스템 감시의 우회를 최소화함과 아울러 리소스에 대한 순간적인 로깅을 수행할 수 있는 효과가 있다.
또한, 본 발명에 따르면, 관리 서버에서 수집된 로그들을 필터링하기 때문에 여러 시스템에 일괄적인 보안 룰을 적용할 수 있는 효과가 있다.
이하 첨부된 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명한다.
도 1은 본 발명의 실시예에 따른 실시간 침입 탐지 시스템을 설명하기 위한 블록도이고, 도 2는 본 발명의 실시예에 따른 에이전트부를 설명하기 위한 블록도이다.
도 1에 도시된 바와 같이, 실시간 침입 탐지 시스템은 호스트 시스템(10)에 탑재되어 시스템 콜백 이벤트에 따른 로그 정보를 수집하는 에이전트부(12); 및 에이전트부(12)로부터 로그 정보를 수신하여 호스트 시스템(10)의 불법 침입을 탐지 하는 관리 서버(20)를 포함한다.
호스트 시스템(10)은 게임 등의 온라인 서비스를 제공하는 웹 서버가 될 수 있으며, 윈도우즈 기반의 운영체제(14)를 포함한다. 여기서, 운영체제(14)는 콜백(Callback) 기능을 통해 콜백 테이블에 등록된 콜백 함수를 호출하여 시스템 콜백 이벤트를 발생한다. 일 실시예에 있어서, 콜백 테이블에는 불법 침입에 따른 파일, 레지스트리, 및 프로세스 각각의 이벤트(Event)에 대응되는 파일 콜백 이벤트, 레지스트리 콜백 이벤트, 및 프로세스 콜백 이벤트 각각을 발생하기 위한 사용자 콜백 함수들이 등록되어 있다. 이에 따라, 운영체제(14)는 침입자에 의해 파일, 레지스트리, 및 프로세스 각각에서 이벤트가 발생될 경우 발생된 이벤트에 대응되는 파일 콜백 이벤트, 레지스트리 콜백 이벤트, 및 프로세스 콜백 이벤트를 발생하여 에이전트부(12)에 제공한다.
일 실시예에 있어서, 에이전트부(12)는, 도 2에 도시된 바와 같이, 콜백 이벤트 수신부(110); 프로세스 로그 임시 저장부(120); 프로세스 로그 수집부(130); 통합 로그 수집부(140); 통합 로그 임시 저장부(150); 및 로그 전송부(160)를 포함한다.
콜백 이벤트 수신부(110)는 호스트 시스템(10)의 운영체제(14)에서 발생되는 프로세스 콜백 이벤트, 파일 콜백 이벤트, 및 레지스트리 콜백 이벤트 각각을 수신하고, 수신된 프로세스 콜백 이벤트의 로그를 프로세스 로그 임시 저장부(120)에 제공하고, 수신된 파일 및 레지스트리 콜백 이벤트 각각의 로그를 통합 로그 수집부(140)에 제공한다. 여기서, 로그는 누가 언제 어디서 접속했는 지, 작업에서 사 용된 처리 시간, 입출력 장치의 사용시간, 수행시킨 명령어, 시작 및 종료 시간 등에 관한 모든 정보를 포함한다.
프로세스 로그 임시 저장부(120)는 콜백 이벤트 수신부(110)로부터 제공되는 모든 프로세스 로그를 큐잉(Queuing) 방식으로 임시 저장(System Snapshot)한다. 이러한, 프로세스 로그 임시 저장부(120)는 프로세스 중에서 짧은 시간에 실행 및 종료되는 프로세스이벤트의 손실을 방지함과 아울러 시스템의 부하를 줄이기 위하여 이벤트가 발생되는 모든 프로세스 로그를 임시 보관하는 역할을 한다.
프로세스 로그 수집부(130)는 프로세스 로그 임시 저장부(120)에 임시 보관된 프로세스 로그를 수집하고, 수집된 프로세스 로그를 통합 로그 수집부(140)에 제공한다.
통합 로그 수집부(140)는 프로세스 로그 수집부(130)로부터 제공되는 프로세스 로그, 콜백 이벤트 수신부(110)로부터 제공되는 파일 로그 및 레지스트리 로그 각각을 통합하여 수집하여 통합 로그 임시 저장부(150)에 제공하여 임시 보관되도록 한다.
로그 전송부(160)는 통합 로그 임시 저장부(150)에 임시 보관된 프로세스 로그, 파일 로그 및 레지스트리 로그 각각을 관리 서버(20)로 전송한다.
일 실시예에 있어서, 관리 서버(20)는, 도 1에 도시된 바와 같이, 로그 수신부(210); 로그 필터부(220); 로그 룰 데이터 베이스(230); 통합 로그 데이터 베이스(240); 로그 분석부(250); 및 불법 침입 대응부(260)를 포함한다.
로그 수신부(210)는 에이전트부(10)의 로그 전송부(160)로부터 전송되는 로 그를 수신한다.
로그 룰 데이터 베이스(230)는 불법 침입을 탐지하기 위한 보안 정책에 따른 로그 룰이 저장된다. 여기서, 로그 룰은 IP 주소, IP 주소 대역, 호스트 시스템의 이름, 로그 파일 이름, 프로세스 이름, 레지스트리 이름 등이 될 수 있다.
로그 필터부(220)는 로그 룰 데이터 베이스(230)에 저장된 로그 룰을 적용하여 로그 수신부(210)에 수신된 로그를 필터링하여 통합 로그 데이터 베이스(240)에 저장한다. 일 실시예에 있어서, 로그 룰은 각 에이전트부(10) 단위로 적용되거나, 복수의 에이전트부(10)로 구성된 에이전트군 단위로 적용될 수 있다. 여기서, 에이전트군은 호스트 시스템(10)의 기능별(IP, 이름 등)로 분류될 수 있다.
로그 분석부(250)는 통합 로그 데이터 베이스(240)에 저장된 로그들을 분석하여 호스트 시스템(10)의 불법 침입을 분석한다.
일 실시예에 있어서, 로그 분석부(250)는 로그를 기반으로 시스템 프로세스 이외의 다른 프로세스가 실행된 후, 일정 시간 후에 종료되지 않는 이벤트, 즉 불법 침입자가 해킹 등에 사용되는 루트-킷(Root-Kit) 방식을 이용하여 해킹 프로세스를 은닉한 이벤트를 검출하여 불법 침입으로 판단한다.
다른 실시예에 있어서, 로그 분석부(250)는 로그를 기반으로 임시 파일 생성 후 일정시간 이후 삭제되지 않거나, 다른 폴더로 리네임(Rename)된 이벤트를 검출하여 불법 침입으로 판단한다.
또 다른 실시예에 있어서, 로그 분석부(250)는 로그를 기반으로 특정 기간 동안에 생성 및 실행 빈도가 적은 리소스가 사용된 이벤트를 검출하여 불법 침입으 로 판단한다.
한편, 로그 분석부(250)는 분석 결과에 따른 불법 침입의 유형을 로그 룰 데이터 베이스(230)에 추가한다.
불법 침입 대응부(260)는 로그 분석부(250)의 분석 결과에 따른 불법 침입에 대응한다.
일 실시예에 있어서, 불법 침입 대응부(260)는 로그 분석부(250)로부터의 분석 결과를 단문 메시지(SMS), E-Mail, 경보음, 음성, 팝업 윈도우(Popup Window) 중 적어도 하나를 통해 관리자에게 경보한다.
다른 실시예에 있어서, 불법 침입 대응부(260)는 침입자에 의해 생성 변조되는 리소스에 대한 로깅을 수행한다.
이와 같은, 본 발명의 실시간 침입 탐지 시스템은 호스트 시스템(10)의 시스템 콜백 이벤트를 통해 시스템의 불법 침입을 탐지함으로써 시스템 부하를 줄일 수 있다.
또한, 본 발명의 실시간 침입 탐지 시스템은 파일 및 프로세스의 실시간 로깅을 통해 침입자가 시스템 감시의 우회를 최소화함과 아울러 리소스에 대한 순간적인 로깅을 수행할 수 있다.
또한, 본 발명의 실시간 침입 탐지 시스템은 관리 서버(20)에서 수집된 로그들을 필터링하기 때문에 여러 시스템에 일괄적인 보안 룰을 적용할 수 있다.
도 3은 본 발명의 실시예에 따른 실시간 침입 탐지 방법에 있어서, 시스템 콜백 이벤트에 따른 로그 수집 방법을 설명하기 위한 순서도이다. 도 1 내지 도 3 을 결부하여 시스템 콜백 이벤트에 따른 로그 수집 방법을 설명하면 다음과 같다.
먼저, 호스트 시스템(10)에는 불법 침입에 따른 이벤트에 대응되는 시스템 콜백 이벤트를 발생하기 위한 사용자 콜백 함수가 등록되어 있다. 여기서, 사용자 콜백 함수는 파일 콜백 이벤트, 레지스트리 콜백 이벤트, 및 프로세스 콜백 이벤트를 발생시키기 위한 콜백 함수이다. 이러한, 파일 콜백 이벤트의 사용자 콜백 함수는 유저 모드의 윈도우즈 API(ReadDirectoryChangesW) 함수의 호출을 통해 호스트 시스템(10)에 등록되고, 프로세스 콜백 이벤트의 프로세스 사용자 콜백 함수는 커널 모드의 API(PsSetCreateProcessNotifyRoutine) 함수를 통해 호스트 시스템(10)에 등록되고, 레지스트리 콜백 이벤트의 사용자 콜백 함수는 유저 모드의 윈도우즈 API(RegNotifyChangeKeyValue) 함수의 호출을 통해 호스트 시스템(10)에 등록된다.
이어, 호스트 시스템(10)에 등록된 사용자 콜백 함수에 의해 발생되는 시스템 콜백 이벤트를 수신한다(제 100 단계).
이어, 수신된 시스템 콜백 이벤트의 로그를 수집한다(제 110 단계). 일 실시예에 있어서, 제 110 단계는 파일 콜백 이벤트의 파일 로그, 상기 레지스트리 콜백 이벤트의 레지스트리 로그, 및 상기 프로세스 콜백 이벤트의 프로세스 로그를 수집하고, 수집된 로그를 저장하는 것을 포함한다. 다른 실시예에 있어서, 제 110 단계는 프로세스 콜백 이벤트의 프로세스 로그를 임시 저장하고; 임시 저장된 프로세스 로그에서 프로세스 로그를 수집하고; 파일 콜백 이벤트의 파일 로그, 레지스트리 콜백 이벤트의 레지스트리 로그; 및 수집된 프로세스 로그를 통합 수집하여 저장하는 것을 포함한다. 이때, 로그는 큐잉(Queuing) 방식으로 저장될 수 있다.
이어, 수집된 로그를 관리 서버(20)에 실시간으로 전송한다(제 120 단계).
그리고, 제 100 단계 내지 제 120 단계를 지속적으로 수행하여 시스템 콜백 이벤트에 따른 시스템 콜백 이벤트의 로그를 수집하여 관리 서버(20)로 실시간 전송한다.
도 4는 본 발명의 파일 콜백 이벤트에 따른 파일 로그의 전송 과정을 설명하기 위한 순서도이다. 도 4를 참조하며 파일 콜백 이벤트에 따른 파일 로그의 전송 과정을 설명하면 다음과 같다.
먼저, 별도의 사용자 콜백함수 없이 감시 디렉토리, 하위 디렉토리 감시 유무, 감시 파일 종류 등이 설정된 "ReadDirectoryChangesW" 함수를 호출하여 파일 콜백 이벤트의 콜백 함수를 호스트 시스템(10)의 콜백 테이블에 등록한다(제 200 단계).
이어, "ReadDirectoryChangesW" 함수를 호출하여 파일 이벤트를 감시(제 210 단계)한다.
이어, 호출된 "ReadDirectoryChangesW" 함수를 통해 설정된 디렉토리(hDirectory)에 변동에 따른 파일 이벤트를 감지하고, 버퍼(IpBuffer)를 통해 감지된 파일 이벤트를 통보한다(제 220 단계).
이어, 통보된 파일 이벤트에 대한 파일 로그를 생성하여 에이전트부(12)로 전송한다(제 230 단계).
그리고, 상술한 제 200 단계 내지 제 230 단계를 지속적으로 반복 수행하여 파일 이벤트에 대한 파일 콜백 이벤트의 로그를 에이전트부(12)로 전송한다.
이와 같은, 파일 콜백 이벤트를 수행하기 위한 파일 콜백 함수는 도 5와 같은 형태를 가질 수 있다.
도 6은 본 발명의 프로세스 콜백 이벤트에 따른 프로세스 로그의 전송 과정을 설명하기 위한 순서도이다. 도 6을 참조하며 프로세스 콜백 이벤트에 따른 프로세스 로그의 전송 과정을 설명하면 다음과 같다.
먼저, 도 7a에서와 같은 프로세스 이벤트를 위한 프로세스 사용자 콜백 함수를 작성하고, 도 7b에서와 같이 커널 모드 API(PsSetCreateProcessNotifyRoutine) 함수를 통해 작성된 프로세스 사용자 콜백 함수를 호스트 시스템(10)의 콜백 테이블에 등록한다(제 300 단계).
이어, "PsSetCreateProcessNotifyRoutine" 함수를 호출하여 프로세스 이벤트의 감시를 설정한다(제 310 단계).
이어, 프로세스 사용자 콜백함수를 통해 프로세스 이벤트를 감시한다(제 320 단계).
이어, 프로세스 사용자 콜백함수에 의해 프로세스의 실행 및 종료에 따른 프로세스 이벤트를 감지하여 통보한다(제 330 단계).
이어, 통보된 프로세스 이벤트에 대한 프로세스 로그를 에이전트부(12)로 전송한다(제 340 단계).
그리고, 상술한 제 300 단계 내지 제 340 단계를 지속적으로 반복 수행하여 파일 이벤트에 대한 프로세스 콜백 이벤트의 로그를 에이전트부(12)로 전송한다.
도 8은 본 발명의 레지스트리 콜백 이벤트에 따른 레지스트리 로그의 전송 과정을 설명하기 위한 순서도이다. 도 8을 참조하며 레지스트리 콜백 이벤트에 따른 레지스트리 로그의 전송 과정을 설명하면 다음과 같다.
먼저, 레지스트리 키, 하위 레지스트리 키 감시 유무, 레지스트리 종류 등이 설정된 "RegNotifyChangeKeyValue" 함수를 호출하여 레지스트리 콜백 이벤트의 콜백 함수를 호스트 시스템(10)의 콜백 테이블에 등록한다(제 400 단계).
이어, "RegNotifyChangeKeyValue" 함수를 호출하여 레지스트리 이벤트를 감시(제 410 단계)한다.
이어, 호출된 "RegNotifyChangeKeyValue" 함수를 통해 설정된 레지스트리 키(hKey)의 변동에 따른 레지스트리 이벤트(hEvent)를 감지하고, 감지된 레지스트리 이벤트를 통보한다(제 420 단계).
이어, 통보된 레지스트 이벤트에 대한 파일 로그를 생성하여 에이전트부(12)로 전송한다(제 430 단계).
그리고, 상술한 제 400 단계 내지 제 430 단계를 지속적으로 반복 수행하여 파일 이벤트에 대한 레지스트리 콜백 이벤트의 로그를 에이전트부(12)로 전송한다.
이와 같은, 레지스트리 콜백 이벤트를 수행하기 위한 레지스트리 콜백 함수는 도 9와 같은 형태를 가질 수 있다.
도 10은 본 발명의 실시예에 따른 실시간 침입 탐지 방법에 있어서, 에이전트부에 의해 수집된 로그를 분석하여 실시간 불법 침입을 탐지하는 방법을 설명하기 위한 순서도이다. 도 10과 도 1을 결부하여 실시간 불법 침입을 탐지하는 방법 을 설명하면 다음과 같다.
먼저, 호스트 시스템(10)의 시스템 콜백 이벤트에 따라 에이전트부(12)에서 수집되어 실시간으로 전송되는 로그를 수신한다(제 500 단계). 제 500 단계는 로그 룰 데이터 베이스(230)에 저장된 로그 룰을 적용하여 수신된 로그를 필터링하고, 필터링된 로그를 저장하는 것을 포함할 수 있다. 이때, 로그 룰은 에이전트(10) 단위로 적용되거나, 복수의 에이전트(10)로 구성된 에이전트군 단위로 적용될 수 있다.
이어, 수신된 로그를 기반으로 호스트 시스템(10)의 불법 침입을 분석한다(제 510 단계). 제 510 단계에서는, 로그를 이용하여 실행된 프로세스의 종료 여부, 임시적으로 생성된 파일의 삭제 또는 리네임(Rename) 여부, 생성 및 실행 빈도가 통계적으로 적은 리소스의 사용 여부를 분석한다. 그리고, 제 510 단계에서는, 분석 결과에 따라 불법 침입의 유형을 로그 룰 데이터 베이스(230)에 추가할 수 있다.
이어, 분석 결과에 따라 호스트 시스템(10)의 불법 침입 여부를 판단한다(제 520 단계).
이어, 제 520 단계에서 호스트 시스템(10)의 불법 침입이 탐지된 경우, 탐지된 불법 침입에 대응한다(제 530 단계). 제 530 단계에서는, 제 510 단계의 분석 결과를 단문 메시지(SMS), E-Mail, 경보음, 음성, 팝업 윈도우(Popup Window) 중 적어도 하나를 통해 관리자에게 경보할 수 있으며, 침입자에 의해 생성 변조되는 리소스에 대한 로깅을 수행할 수 있다.
한편, 상술한 본 발명의 실시예에 따른 실시간 불법 침입 탐지 방법은 다양한 컴퓨터 수단을 이용하여 수행될 수 있는 프로그램 형태로도 구현될 수 있는데, 이때 실시간 불법 침입 탐지 방법을 수행하기 위한 프로그램은 하드 디스크, CD-ROM, DVD, 롬(ROM), 램, 또는 플래시 메모리와 같은 컴퓨터로 판독할 수 있는 기록 매체에 저장될 수 있다.
본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
도 1은 본 발명의 실시예에 따른 실시간 침입 탐지 시스템을 설명하기 위한 블록도이고;
도 2는 본 발명의 실시예에 따른 에이전트부를 설명하기 위한 블록도이고;
도 3은 본 발명의 실시예에 따른 실시간 침입 탐지 방법에 있어서, 시스템 콜백 이벤트에 따른 로그 수집 방법을 설명하기 위한 순서도이고;
도 4는 본 발명의 파일 콜백 이벤트에 따른 파일 로그의 전송 과정을 설명하기 위한 순서도이고;
도 5는 본 발명의 실시예에 따른 파일 콜백 이벤트를 수행하기 위한 콜백 함수를 나타내는 도면이고;
도 6은 본 발명의 프로세스 콜백 이벤트에 따른 프로세스 로그의 전송 과정을 설명하기 위한 순서도이고;
도 7a는 본 발명의 실시예에 따른 프로세스 콜백 이벤트를 수행하기 위한 프로세스 사용자 콜백 함수를 나타내는 도면이고;
도 7b는 도 7a에 도시된 프로세스 사용자 콜백 함수를 호스트 시스템에 등록시키기 위한 응용 프로그램 프로그래밍 인터페이스(API)를 나타내는 도면이고;
도 8은 본 발명의 레지스트리 콜백 이벤트에 따른 레지스트리 로그의 전송 과정을 설명하기 위한 순서도이고;
도 9는 본 발명의 실시예에 따른 레지스트리 콜백 이벤트를 수행하기 위한 콜백 함수를 나타내는 도면이고; 및
도 10은 본 발명의 실시예에 따른 실시간 침입 탐지 방법을 설명하기 위한 순서도이다.
< 도면의 주요 부분에 대한 부호설명 >
10: 호스트 시스템 12: 에이전트부
14: 운영체제 20: 관리 서버
110: 콜백 이벤트 수신부 120: 프로세스 로그 임시 저장부
130: 프로세스 로그 수집부 140: 통합 로그 수집부
150: 통합 로그 임시 저장부 160: 로그 전송부
210: 로그 수신부 220: 로그 필터부
230: 로그 룰 데이터 베이스 240: 통합 로그 데이터 베이스
250: 로그 분석부 260: 불법 침입 대응부

Claims (17)

  1. 불법 침입에 따른 이벤트(Event)에 대응되는 시스템 콜백(System Callback) 이벤트를 발생하기 위한 사용자 콜백 함수가 등록된 호스트 시스템이, 상기 사용자 콜백 함수에 의해 발생되는 상기 시스템 콜 백 이벤트의 로그 정보를 수집하는 단계; 및
    상기 수집된 로그 정보를 관리 서버로 전송하는 단계를 포함하되,
    상기 관리 서버로 전송된 상기 수집된 로그 정보는 상기 관리 서버에 의해 이용되어, 실행된 프로세스의 종료 여부, 임시적으로 생성된 파일의 삭제 또는 리네임(Rename) 여부, 통계적으로 생성 및 실행 빈도가 적은 리소스의 사용 여부중 적어도 하나에 따라 상기 불법 침입을 탐지하는 것이 가능하도록 구성된 로그 정보인 것을 특징으로 하는 실시간 침입 탐지 방법.
  2. 제 1 항에 있어서, 상기 사용자 콜백 함수는 파일 콜백 이벤트, 레지스트리 콜백 이벤트, 및 프로세스 콜백 이벤트 중 적어도 하나를 발생하는 것을 특징으로 하는 실시간 침입 탐지 방법.
  3. 제 2 항에 있어서, 상기 시스템 콜백 이벤트에 따른 로그 정보를 수집하는 단계는 상기 파일 콜백 이벤트의 파일 로그 정보, 상기 레지스트리 콜백 이벤트의 레지스트리 로그 정보, 및 상기 프로세스 콜백 이벤트의 프로세스 로그 정보를 수집하여 저장하는 것을 특징으로 하는 실시간 침입 탐지 방법.
  4. 제 2 항에 있어서, 상기 시스템 콜백 이벤트의 로그 정보를 수집하는 단계는;
    상기 프로세스 콜백 이벤트의 프로세스 로그 정보를 임시 저장하는 단계;
    상기 임시 저장된 프로세스 로그 정보에서 상기 프로세스 로그 정보를 수집하는 단계; 및
    상기 수집된 프로세스 로그 정보, 상기 파일 콜백 이벤트의 파일 로그 정보, 및 상기 레지스트리 콜백 이벤트의 레지스트리 로그 정보를 통합 수집하여 저장하는 단계를 포함하여 이루어지는 것을 특징으로 하는 실시간 침입 탐지 방법.
  5. 제 4 항에 있어서, 상기 로그 정보는 큐잉(Queuing) 방식으로 저장되는 것을 특징으로 하는 실시간 침입 탐지 방법.
  6. 제 2 항에 있어서, 상기 사용자 콜백 함수를 호스트 시스템에 등록하는 단계는;
    ReadDirectoryChangesW 함수의 호출을 통해 상기 파일 콜백 이벤트의 사용자 콜백 함수를 등록하는 단계;
    PsSetCreateProcessNotifyRoutine 함수를 통해 상기 프로세스 콜백 이벤트의 사용자 콜백 함수를 등록하는 단계; 및
    RegNotifyChangeKeyValue 함수의 호출을 통해 상기 레지스트리 콜백 이벤트의 사용자 콜백 함수를 등록하는 단계를 포함하여 이루어지는 것을 특징으로 하는 실시간 침입 탐지 방법.
  7. 호스트 시스템의 시스템 콜백 이벤트에 따른 로그 정보를 수집하는 에이전트로부터 상기 수집된 로그 정보를 수신하는 단계;
    상기 수신된 로그 정보를 기반으로 상기 호스트 시스템의 불법 침입을 분석하는 단계; 및
    상기 분석 결과에 따라 불법 침입에 대응하는 단계를 포함하되,
    상기 호스트 시스템의 불법 침입을 분석하는 단계는 상기 로그 정보를 이용하여 실행된 프로세스의 종료 여부, 임시적으로 생성된 파일의 삭제 또는 리네임(Rename) 여부, 통계적으로 생성 및 실행 빈도가 적은 리소스의 사용 여부중 적어도 하나에 따라 상기 불법 침입을 탐지하는 것을 특징으로 하는 실시간 침입 탐지 방법.
  8. 제 7 항에 있어서, 로그 룰(Rule) 데이터 베이스에 저장된 로그 룰을 적용하여 상기 수신된 로그 정보를 필터링하고, 필터링된 로그 정보를 저장하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 실시간 침입 탐지 방법.
  9. 제 8 항에 있어서, 상기 로그 룰은 상기 에이전트 단위로 적용되거나, 복수의 에이전트로 구성된 에이전트군 단위로 적용되는 것을 특징으로 하는 실시간 침입 탐지 방법.
  10. 삭제
  11. 제 7 항에 있어서, 상기 시스템 콜백 이벤트는 파일 콜백 이벤트, 레지스트리 콜백 이벤트, 및 프로세스 콜백 이벤트 중 적어도 하나인 것을 특징으로 하는 실시간 침입 탐지 방법.
  12. 제 7 항에 있어서, 상기 불법 침입에 대응하는 단계는 침입자에 의해 생성 변조되는 리소스에 대한 로깅(Logging)을 수행하는 것을 특징으로 하는 실시간 침입 탐지 방법.
  13. 제 8 항에 있어서, 상기 분석 결과에 따른 상기 불법 침입의 유형을 상기 로그 룰 데이터 베이스에 추가하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 실시간 침입 탐지 방법.
  14. 제 1 항 내지 제9항, 제11항 내지 제 13 항 중 어느 한 항에 기재된 방법을 수행하기 위한 프로그램이 기록된 기록매체.
  15. 호스트 시스템으로부터 수집된, 사용자 콜백 함수에 의해 발생되는 시스템 콜백 이벤트의 로그 정보를 수신하고, 상기 수신된 로그 정보를 분석하여 상기 호스트 시스템의 불법 침입을 탐지하는 관리 서버를 포함하여 구성되되,
    상기 관리 서버는 상기 로그 정보를 이용하여 실행된 프로세스의 종료 여부, 임시적으로 생성된 파일의 삭제 또는 리네임(Rename) 여부, 통계적으로 생성 및 실행 빈도가 적은 리소스의 사용 여부중 적어도 하나에 따라 상기 불법 침입을 탐지하며;
    상기 콜백 이벤트는 호스트 시스템에 등록된, 불법 침입에 따른 이벤트(Event)에 대응되는 시스템 콜백(System Callback) 이벤트를 발생하기 위한 사용자 콜백 함수에 의해 발생되는 것을 특징으로 하는 실시간 침입 탐지 시스템.
  16. 제 15 항에 있어서,
    상기 로그 정보는 상기 호스트 시스템에 탑재되어 상기 호스트 시스템에 등록된 사용자 콜백 함수에 의해 발생되는 시스템 콜백 이벤트의 로그 정보를 수집하는 로그 수집부를 포함하는 에이전트부에 의해 수집되며;
    상기 로그 수집부는 상기 로그 정보를 임시 저장하는 적어도 하나의 임시 저장부를 포함하여 구성되는 것을 특징으로 하는 실시간 침입 탐지 시스템.
  17. 제 15 항에 있어서, 상기 관리 서버는;
    상기 로그 정보를 수신하는 로그 수신부;
    로그 룰이 저장된 로그 룰(Rule) 데이터 베이스;
    상기 로그 룰을 적용하여 상기 수신된 로그 정보를 필터링하는 로그 필터부;
    상기 필터링된 로그 정보를 저장하는 로그 데이터 베이스; 및
    상기 필터링된 로그 정보를 분석하여 상기 호스트 시스템의 불법 침입을 분석하는 로그 분석부를 포함하여 구성되는 것을 특징으로 하는 실시간 침입 탐지 시스템.
KR1020080024506A 2008-03-17 2008-03-17 실시간 침입 탐지 시스템 및 방법, 그리고 그 방법을수행하기 위한 프로그램이 기록된 기록매체 KR100961438B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080024506A KR100961438B1 (ko) 2008-03-17 2008-03-17 실시간 침입 탐지 시스템 및 방법, 그리고 그 방법을수행하기 위한 프로그램이 기록된 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080024506A KR100961438B1 (ko) 2008-03-17 2008-03-17 실시간 침입 탐지 시스템 및 방법, 그리고 그 방법을수행하기 위한 프로그램이 기록된 기록매체

Publications (2)

Publication Number Publication Date
KR20090099327A KR20090099327A (ko) 2009-09-22
KR100961438B1 true KR100961438B1 (ko) 2010-06-09

Family

ID=41357951

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080024506A KR100961438B1 (ko) 2008-03-17 2008-03-17 실시간 침입 탐지 시스템 및 방법, 그리고 그 방법을수행하기 위한 프로그램이 기록된 기록매체

Country Status (1)

Country Link
KR (1) KR100961438B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101368950B1 (ko) 2012-11-21 2014-03-03 주식회사 안랩 이벤트의 콜백함수 관리장치 및 이벤트의 콜백함수 관리방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101503701B1 (ko) * 2014-04-30 2015-03-20 (주)아이비즈소프트웨어 빅데이터 기반 정보 보호 방법 및 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101368950B1 (ko) 2012-11-21 2014-03-03 주식회사 안랩 이벤트의 콜백함수 관리장치 및 이벤트의 콜백함수 관리방법

Also Published As

Publication number Publication date
KR20090099327A (ko) 2009-09-22

Similar Documents

Publication Publication Date Title
EP3225009B1 (en) Systems and methods for malicious code detection
KR101737726B1 (ko) 네트워크 트래픽에서의 불일치들을 검출하기 위한 하드웨어 자원들의 사용에 의한 루트킷 검출
EP2143033B1 (en) Detecting compromised computers by correlating reputation data with web access logs
Inayat et al. Cloud-based intrusion detection and response system: open research issues, and solutions
KR100910761B1 (ko) 프로세스 행위 예측 기법을 이용한 비정형 악성코드 탐지방법 및 그 시스템
US10142343B2 (en) Unauthorized access detecting system and unauthorized access detecting method
KR101132197B1 (ko) 악성 코드 자동 판별 장치 및 방법
CN113839935B (zh) 网络态势感知方法、装置及系统
CN104392177A (zh) 基于安卓平台的病毒取证系统及其方法
US20140259171A1 (en) Tunable intrusion prevention with forensic analysis
CN113660224A (zh) 基于网络漏洞扫描的态势感知防御方法、装置及系统
JP2022037896A (ja) 脅威対応自動化方法
Ho et al. False positives and negatives from real traffic with intrusion detection/prevention systems
CN113407949A (zh) 一种信息安全监控系统、方法、设备及存储介质
CN113411295A (zh) 基于角色的访问控制态势感知防御方法及系统
Torkura et al. Slingshot-automated threat detection and incident response in multi cloud storage systems
Vigna et al. Host-based intrusion detection
CN113489703A (zh) 一种安全防护系统
CN112347484A (zh) 软件漏洞检测方法、装置、设备及计算机可读存储介质
KR100961438B1 (ko) 실시간 침입 탐지 시스템 및 방법, 그리고 그 방법을수행하기 위한 프로그램이 기록된 기록매체
CN107231365B (zh) 一种取证的方法及服务器以及防火墙
KR20100067383A (ko) 서버 보안 시스템 및 서버 보안 방법
US20200382552A1 (en) Replayable hacktraps for intruder capture with reduced impact on false positives
Ghribi et al. Multi-layer Cooperative Intrusion Detection System for Cloud Environment.
Hu et al. Detecting unknown massive mailing viruses using proactive methods

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 20130329

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160329

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170328

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180405

Year of fee payment: 9