KR100475311B1 - 위험도 점수를 이용한 악성실행코드 탐지 장치 및 그 방법 - Google Patents

위험도 점수를 이용한 악성실행코드 탐지 장치 및 그 방법 Download PDF

Info

Publication number
KR100475311B1
KR100475311B1 KR10-2002-0083749A KR20020083749A KR100475311B1 KR 100475311 B1 KR100475311 B1 KR 100475311B1 KR 20020083749 A KR20020083749 A KR 20020083749A KR 100475311 B1 KR100475311 B1 KR 100475311B1
Authority
KR
South Korea
Prior art keywords
malicious
security policy
code
risk score
module
Prior art date
Application number
KR10-2002-0083749A
Other languages
English (en)
Other versions
KR20040056998A (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 KR10-2002-0083749A priority Critical patent/KR100475311B1/ko
Publication of KR20040056998A publication Critical patent/KR20040056998A/ko
Application granted granted Critical
Publication of KR100475311B1 publication Critical patent/KR100475311B1/ko

Links

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/563Static detection by source code analysis
    • 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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Abstract

본 발명은 위험도 점수를 이용한 악성실행코드 탐지 장치 및 그 방법에 관한 것으로, 네트워크를 통해 다운로드된 악성실행코드를 탐지하는 악성실행코드 탐지 장치는, 이미 알려진 악성실행코드를 저장하는 악성실행코드 데이터 베이스, 특정 파일이나 디렉토리에 대한 행위를 원천적으로 방지하기 위한 1차 보안 정책 및 각 프로세스에 대한 위험도 점수를 누적하여 악성행위를 감지하기 위한 2차 보안 정책을 수행하는 보안 정책부, 파일 시스템, 프로세스 및 네트워크를 모니터링하는 시스템 자원 감시 모듈, 악성실행코드 데이터 베이스를 통한 1차 탐지 및 상기 보안 정책부를 통한 2차 탐지를 수행하는 악성실행코드 탐지 모듈, 새로운 악성실행코드 정보 또는 중요한 보안 정책을 상기 악성실행코드 탐지 모듈 및 악성실행코드 데이터 베이스에 전송하는 업데이트 모듈 및 악성실행코드 탐지 모듈에서 탐지된 보안 정책 위배에 대한 처리를 실행금지, 무시 및 강제종료로 구분하여 제공하는 악성실행코드 경고 모듈을 포함한다.

Description

위험도 점수를 이용한 악성실행코드 탐지 장치 및 그 방법{Method and Apparatus for Detecting Malicious Executable Code using Behavior Risk Point}
본 발명은 정책기반의 위험도 점수를 이용한 악성실행코드 탐지 장치에 관한 것으로서, 특히 원격지로부터 다운로드되어 사용자 컴퓨터 상에서 실행코드가 자동 수행될 때, 일체의 악성행위를 탐지하고 이를 사용자에게 통지, 대처하도록 함으로써 악성실행코드로부터 컴퓨터 시스템 및 내부 자원을 보호하고 해당 악성실행코드의 확산을 방지하는 악성실행코드 탐지 장치 및 그 방법에 관한 것이다.
종래의 웹 사용 환경은 일반 텍스트 전송과 같이 정적이며 단순한 형태를 가지고 있으며, 실행 프로그램들도 하나의 컴퓨터에서만 실행되었다. 따라서 만일 다른 컴퓨터 시스템에서 실행시키고자 할 경우에는 이동저장 장치를 이용해서 이동 및 실행시키거나 공유하여 사용하는 방법이 기본적인 형태이었다. 그러나, 인터넷과 월드 와이드 웹(WWW)의 등장을 통하여 정적이고 단순한 형태의 정보 이동 형태에서 벗어나 보다 다양한 형태의 정보가 다양한 경로를 통해 이동되고 실행될 수 있는 환경이 구축되었다. 이러한 다양한 정보를 접근하는데 있어서 보다 향상된 편의성 및 기능을 제공하기 위해 자바 애플릿(Java Applet), 자바 스크립트(Java Script) 그리고 엑티브 엑스 컨트롤(ActiveX Control) 등과 같은 실행코드 기술들이 개발되었다.
이와 같은 다양한 실행코드 기술들은 누구나 쉽게 작성할 수 있으며, 웹 브라우저를 통해 어떤 컴퓨터 시스템에서도 수행이 가능하다. 그런데 실행코드들은 사용자가 웹을 이용하는 동안 사용자 시스템 내에서 사용자도 인식하지 못한 채 수행되기도 하며, 모두 인터프리터(interpreter) 형식으로 전달자와 사용자의 컴퓨터 구분 없이 수행 가능한 형태를 가지고 있다.
이러한 실행 컨텐츠들은 자체 보안 기능을 가지고 있는 등 보안 요구 사항을 충족시키기 위한 여러 가지 방안들을 제시하고 있으나, 각 실행코드 별 취약점을 이용하여 비밀성(Confidentiality) 침해공격, 무결성(Integrity) 침해공격, 가용성(Availability) 침해공격, 사용자 불편 및 불쾌감 유발(Annoyance) 등 다양한 피해가 발생하고 있다. 그리고 실행코드를 사용한 각종 실행 컨텐츠 제작이 증가할 수록 이러한 문제점들을 보다 많이 발생할 것이다.
따라서 악성실행코드를 탐지하기 위해 알려진 악성실행코드 탐지 데이터 베이스를 이용하여, 악성실행코드 실행 이전에 정보를 분석, 비교함으로써 탐지해 내고 있다. 그리고 암호학적 전자서명 기법을 이용하여 코드의 무결성을 제공함으로써 실행코드의 위변조 여부를 검사하거나, 정책 설정 기능을 통하여 대응하도록 하고 있다. 그러나 이러한 방법들은 알려진 악성실행코드에 대해서만 탐지가 가능하고, 공개키 기반 구조의 구축과 같이 제반 여건 구축의 미진 등으로 인해 악성실행코드에 대한 완벽한 대응이 되지 못하고 있다. 또한 여러 회사(Finjan, Digitivity)에서 악성실행코드 대응도구(SurfinShield, SurfinGate, Cage, AppletTrap)들도 개발하고 있으나, 알려진 악성실행코드에 대한 탐지만 제공하고 있고, 알려지지 않은 악성실행코드 탐지 기능을 제공하고 있지 못한 문제가 있다.
한국 특허출원 제10-2002-13994호에서는 악성코드의 쓰기 동작을 파악하여 이를 금지하거나, 사용자에게 통지함으로써 컴퓨터 바이러스에 의한 감염을 방지할 수 있는 방법을 개시하고 있다. 그러나 이는 파일 바이러스 중 기생형 바이러스가 실행 파일을 감염시키기 위해 실행 파일 등의 앞이나 뒤에 바이러스 프로그램을 붙이고자 할 때, 해당 파일에 대한 쓰기 동작을 파악하여 탐지하는 기법이다. 그러므로 모든 종류의 악성코드를 탐지하기 위한 방법은 아니고, 제한된 형태의 행위를 수행하는 악성코드 만을 탐지 대상으로 한다는 한계가 있다.
본 발명이 이루고자 하는 기술적 과제는, 외부로부터 다운로드된 실행 코드 수행 시 보안 정책 기반의 행위 분석을 통한 위험도 점수를 이용하여 악성실행코드를 탐지할 수 있는 위험도 점수를 이용한 악성실행코드 탐지 장치 및 그 방법을 제공하는데 있다.
상기 과제를 이루기 위해, 본 발명에 의한 위험도 점수를 이용한 악성실행코드 탐지 장치는, 이미 알려진 악성실행코드를 저장하는 악성실행코드 데이터 베이스, 파일 시스템, 프로세스 및 네트워크를 모니터링하는 시스템 자원 감시 모듈, 시스템 자원 감시 모듈을 이용하여 특정 파일이나 디렉토리에 대한 금지 행위를 원천적으로 방지하기 위한 1차 보안 정책 및 각 프로세스의 모든 행위에 대해 위험도 점수를 부여하고, 위험도 점수를 누적하여 악성행위를 감지하기 위한 2차 보안 정책을 수행하는 보안 정책부, 악성실행코드 데이터 베이스를 통한 1차 탐지 및 보안 정책부를 통한 2차 탐지를 수행하는 악성실행코드 탐지 모듈, 새로운 악성실행코드 정보 또는 중요한 보안 정책을 악성실행코드 탐지 모듈 및 악성실행코드 데이터 베이스에 전송하는 업데이트 모듈 및 악성실행코드 탐지 모듈에서 탐지된 보안 정책 위배에 대한 처리를 실행금지, 무시 및 강제종료로 구분하여 제공하는 악성실행코드 경고 모듈을 포함하는 것이 바람직하다.
상기 다른 과제를 이루기 위해, 본 발명에 의한 위험도 점수를 이용한 악성실행코드 탐지방법은, 이미 알려진 악성실행코드가 존재하는지 검사하고, 존재하면 해당 프로세스를 강제 종료시키는 단계, 악성실행코드가 존재하지 않으면, 1차 보안 정책을 통해 설정한 금지행위 발생 시 해당 프로세스를 중지시키고, 사용자에게 통보하는 단계 및 금지행위가 발생하지 않으면, 2차 보안 정책을 통해 각 행위별 위험도 점수를 부여하고, 각각의 위험도 점수를 누적하여 소정값을 넘으면 해당 프로세스를 중지시키고, 사용자에게 통보하는 단계를 포함하는 것이 바람직하다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세하게 설명하기로 한다. 그러나, 이하의 실시예는 이 기술 분야에서 통상적인 지식을 가진 자에게 본 발명이 충분히 이해되도록 제공되는 것으로서 여러 가지 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 기술되는 실시예에 한정되는 것은 아니다.
도 1은 컴퓨터 시스템에서 악성실행코드 탐지 장치의 위치관계를 설명하기 위한 블록도이다.
도 1을 참조하면, 사용자는 인터넷 및 인트라넷 등과 같은 네트워크를 통해 웹 서버(100)로부터 웹 브라우저(200)로 실행코드를 다운로드 한다. 웹 브라우저(200)에서 실행되는 실행코드가 컴퓨터 시스템 자원(400)에 접근하기 위해서는 보안 정책으로 활동영역이 제한된 샌드박스(Sandbox)(300)와 같이 안전한 영역을 통해서만 컴퓨터 시스템 자원(400)에 액세스 할 수 있다.
도 2는 본 발명의 바람직한 실시예에 의한 악성실행코드 탐지 장치를 설명하기 위한 블록도이다.
사용자의 클라이언트 컴퓨터 시스템은 네트워크로 연결된 웹 서버(100)로부터 웹 페이지에 내포된 실행코드를 다운 받는다. 다운로드된 실행코드는 자바 애플릿, 액티브엑스 컨트롤, 자바 스크립트 및 비주얼 베이직 스크립트와 같이 클라이언트 컴퓨터의 웹 브라우저(200)에서 독립적으로 실행 가능한 코드를 말한다. 웹 브라우저(200)는 익스플로러(Explorer) 또는 넷스케이프(Netscape) 등이 될 수 있다. 그리고 실행코드는 사용자의 웹 브라우저(200)에서 자동 실행되는데, 이때 실행코드가 원래 사용자가 의도한 행위 이외에 다른 악성 행위를 하게 되는지 악성실행코드 탐지 모듈(500)을 이용하여 감시한다.
악성실행코드 탐지 모듈(500)은 우선 악성실행코드 데이터 베이스(700)를 이용하여 기존에 알려진 악성실행코드가 있는지에 대한 검사를 수행한다. 알려진 악성실행코드가 없다면, 실행코드 수행을 허가한다. 그리고 모든 행위를 모니터링 하여 사용자 시스템에 어떠한 악성 행위를 수행하려 한다면, 이를 탐지하여 해당 실행코드의 수행을 금지시키고 이에 대한 패턴정보를 생성하여 악성실행코드 데이터 베이스(700)에 저장한다. 이 패턴 정보는 추후 동일한 악성실행코드가 수행될 때, 알려진 악성실행코드를 탐지하는데 사용된다.
보안 정책부(600)는 악성실행코드 탐지 모듈(500)에서 악성 행위 탐지 시, 해당 악성 행위에 대한 행위별 위험도 점수 목록을 보유하고 있어 이를 통해 각 행위별 위험도 점수를 부여한다. 즉, 보안 정책부(600)는 행위별 위험도 점수를 부여하기 위해 개별 행위에 대한 행위 수행 위험도 점수를 정의하고 있는 행위별 위험도 점수 데이터 베이스를 가질 수 있다. 또한 악성실행코드 탐지 모듈(500)은 업데이트 모듈(900)을 통해 탐지된 악성실행코드 정보 또는 중요한 보안 정책을 전송받거나 다른 탐지 도구로 전송함으로써 신속한 업그레이드가 가능하게 된다.
도 3는 본 발명의 바람직한 실시예에 의한 악성실행코드 탐지 장치를 모듈 별로 더 자세히 설명하기 위한 블록도이다.
도 3을 참조하면, 도 2에 도시된 악성 행위 탐지 모듈(500)은 1차 악성실행코드 탐지 모듈(500) 및 2차 악성실행코드 탐지 모듈(500)을 포함하고, 컴퓨터 시스템 자원(400)은 시스템 자원 감시 모듈(411,412,413)을 포함한다.
웹 서버로부터 다운로드된 실행 코드는 1차 악성실행코드 탐지 모듈(510)에서 악성실행코드 데이터 베이스(700)를 이용하여 1차 통제를 한다. 악성실행코드 데이터 베이스(700)는 기존에 악성실행코드로 감지된 실행코드에 대한 정보를 저장한다. 그리고 다운로드된 실행코드가 악성실행코드 데이터 베이스(700)에 존재하면 실행코드가 수행되기 전에 실행코드에 대한 실행을 중지한다. 이때 악성실행코드 데이터 베이스(700)는 업데이트 모듈(900)을 통해 다른 악성실행코드 탐지 도구로부터 탐지된 악성실행코드 탐지 정보가 업그레이드 된다.
2차 악성실행코드 탐지 모듈(520)은 1차 악성실행코드 탐지 모듈(510)에서 악성실행코드가 탐지되지 않는다면 보안 정책부(600)를 이용한 프로세스 통제를 수행한다. 2차 악성실행코드 탐지 모듈(520)에 의한 프로세스 통제는 1차 보안 정책에 의한 프로세스 통제와 2차 보안 정책에 의한 프로세스 통제로 나뉘어 수행된다. 1차 보안 정책에 대한 프로세스 통제는 프로세스에 대한 기본적인 통제를 수행한다. 즉, 특정 파일이나 디렉토리에 대한 행위 등을 원천적으로 방지하는 것으로써, 프로세스 통제 방법 중 가장 단순한 기능과 형태를 제공한다. 반면에 2차 보안 정책에 의한 프로세스 통제는 1차 보안 정책에 의해 탐지되지 않는 프로세스 행위를 통제하기 위한 것으로써, 각 프로세스가 컴퓨터 시스템 자원에 접근한 행위에 대해 행위 별로 위험도 점수를 부여하고, 각각의 위험도 점수를 누적하여 악성 행위를 감지한다.
시스템 자원 감시 모듈(410)은 각각 파일 시스템 모니터링 모듈(411), 프로세스 모니터링 모듈(412) 및 네트워크 모니터링 모듈(413)로 구성될 수 있다.
그중, 파일 시스템 모니터링 모듈(411)은 파일 시스템에서 발생되는 모든 파일 관련 작업을 모니터링 한다. 모니터링된 파일 작업 중 원하지 않는 파일 작업에 대해서 작업을 중지시킬 수 있는 1차 보안 정책에 따라 보안 정책 위배 시 해당 파일 작업을 수행하지 않는다. 그리고 위반 로그를 남긴다. 반면, 1차 보안 정책을 위반하지 않은 파일 작업은 다시 2차 로그를 작성하여 2차 악성실행코드 탐지 모듈에 전송함으로써 2차 보안 정책에 의한 악성 행위 탐지를 수행한다.
프로세스 모니터링 모듈(412)은 프로세스의 생성과 소멸, 쓰레드(thread)의 생성과 소멸, 해당 프로세스의 이미지 로드에 대한 모니터링 정보를 제공한다. 제공받은 정보를 바탕으로 사용자에 의해 강제로 해당 프로세스를 실행 금지시키는 기능을 사용할 수 있다. 또한 1차 보안 정책에서는 각 프로세스 별 신뢰도 값을 설정하게 되는데, 이 신뢰도 값에 따라 추후 2차 보안 정책에서 행위별 위험도 값이 달라지게 된다.
네트워크 모니터링 모듈(413)은 네트워크를 통해 모니터링 기능을 수행하게 된다. 여기서 얻어지는 정보를 기반으로 네트워크 연결 상태에 대한 1차 보안 정책 위반 여부를 가려 필터링(filtering) 하게 된다. 1차 보안 정책에서는 네트워크 상태에 대한 항목별 인증 여부를 설정하여 이를 위반 시 해당 프로세스를 중지시킬 수 있다. 만일 1차 보안 정책을 위반하는 행위가 발생하지 않는다면, 각 네트워크 행위에 대한 2차 로그를 작성하여 2차 보안 정책을 통한 2차 탐지를 수행한다.
2차 악성실행코드 탐지 모듈(520)은 상술한 각 모니터링 모듈에서 전송한 2차 로그를 관리한다. 2차 보안 정책은 각 실행코드 별 행위에 대해 등급을 정하여 각각의 등급에 위험도 점수를 설정한다. 2차 악성실행코드 탐지 모듈에서는 2차 보안 정책의 위험도 점수를 로그 분석을 통한 해당 행위에 적용하여 실행 중인 프로세스에 위험도 점수를 누적시킨다. 이 누적된 위험도 점수가 악성 행위 판정 점수를 넘으면, 악성일 가능성이 높다고 판단하여 보안 정책을 위반하였음을 사용자에게 통보한다.
악성실행코드 경고 모듈(800)에서는 보안 정책 위배에 대한 처리를 실행금지, 무시 및 강제 종료로 구분하여 제공한다. 실행금지를 선택하게 되면, 악성실행코드 데이터 베이스에 프로세스의 정보를 저장하여 앞으로도 계속 실행이 않되도록 한다. 무시를 선택하게 되면, 아무런 제재없이 프로세스의 실행이 계속 이루어진다. 강제 종료를 선택하게 되면, 정책을 위반한 프로세스를 강제적으로 종료하도록 한다.
도 4는 본 발명의 바람직한 실시예에 의한 악성실행코드 탐지 방법을 설명하기 위한 플로우 차트이다.
클라이언트 컴퓨터에 설치된 악성실행코드 탐지 도구는 도 3에 도시한 바와 같이 시스템 모니터링 모듈들(411,412,413), 악성실행코드 데이터 베이스(700), 1차 악성실행코드 탐지 모듈(510), 2차 악성실행코드 탐지 모듈(520), 보안 정책부(600), 악성실행코드 경고 모듈(800)를 포함하여 구성된다.
클라이언트 시스템 컴퓨터 시스템은 인터넷 또는 인트라넷 등과 같은 통신 네트워크를 이용하여 서버로부터 실행코드를 다운 받는다(S10). 실행코드 수행 시 미리 알려진 악성 프로세스를 포함하고 있는지 검사하기 위해 기존에 알려진 악성실행코드 데이터 베이스(700)를 이용하여 프로그램 코드에 대한 검색을 수행(S12)하여 일치하는 프로세스가 존재하면 해당 프로세스를 강제 종료시킨다(S14).
알려진 악성실행코드가 발견되지 않으면, 1차 보안 정책을 통한 1차 악성 행위 탐지 모듈을 수행한다(S16). 1차 보안 정책을 통한 1 차 악성 행위 탐지 모듈에서는 파일 시스템 모니터링 모듈(411), 프로세스 모니터링 모듈(412), 네트워크 모니터링 모듈(413)을 통해 모니터링된 실행코드 수행 행위를 필터링한다.
이때, 파일 시스템 모니터링 모듈(411)를 통한 악성행위 탐지에서는 1차 보안 정책으로 설정한 특정 파일에 대한 접근 행위, 특정 디렉토리에 대한 접근 행위, 속성 변경 행위, 파일 생성 행위 및 파일 재작성 행위 등과 파일 시스템 모니터링 모듈(411)에 의해 모니터링 된 정보를 비교한다. 비교 후, 1차 보안 정책으로 설정된 금지 행위 발생시, 해당 프로세스를 중지시키고, 사용자에게 악성 행위 탐지를 통보함과 동시에 해당 프로세스의 계속 수행 여부를 악성실행코드 경고 모듈(800)을 통해 사용자에게 문의한다(S18).
프로세스 모니터링 모듈(412)을 통한 악성 행위 탐지에서는 수집된 프로세스 정보와 1차 보안 정책에서 실행 금지된 프로세스 정보를 비교하여 실행 금지 설정된 프로세스는 실행 중지시키고, 사용자에게 악성 프로세스 발견을 통지하고, 계속 수행 여부를 사용자에게 문의한다(S18).
또한 네트워크 모니터링 모듈(413)을 통한 악성 행위 탐지에서는 수집된 정보와 1차 보안 정책에서 실행 금지되도록 설정된 네트워크 정보 즉, 소스 포트, 소스 IP, 대상 포트, 대상 IP 등과 같은 정책을 비교하여 금지 행위 발생 시 해당 프로세스를 중지시키고, 악성 행위 탐지를 통보함과 동시에, 해당 프로세스의 계속 수행 여부를 악성실행코드 경고 모듈을 통해 사용자에게 문의한다(S18).
이와 같이 1차 보안 정책과 각 모니터링 모듈(411,412,413)로부터 보고되는 정보를 기반으로 1차 악성 행위 탐지 모듈(510)에서는 악성실행코드에 대한 1차 필터링을 수행한다. 만일 1차 필터링 단계에서 악성 행위가 발견되지 않는다면, 각 모니터링 모듈에서는 모니터 별로 2차 로그를 작성하여 2차 악성행위 탐지 모듈(520)로 전송한다. 즉, 1차 보안 정책을 통해 악성 행위가 탐지되지 않은 실행코드는 다시 2차 보안 정책을 통해 2차 필터링 된다(S20).
2차 악성 행위 탐지 모듈(520)에서는 2차 보안정책으로 설정한 각 행위별 위험도 점수 데이터 베이스를 참조하여, 각 모니터링 모듈들(411,412,413)로부터 분석된 행위별로 행위별 위험도 점수를 부여하게 된다.
우선, 1차 보안 정책을 통과한 실행 코드에 대해 해당 실행 코드가 수행한 파일에 대한 모니터링 정보를 통해 파일 속성 변경 행위, 파일 내용 자체 접근 행위, 행위 파일 확장자 등에 대한 정보와 행위별 위험도 점수 데이터 베이스를 이용하여 해당 행위별 위험도 점수를 부여한다. 여기서 행위별 위험도 점수는 파일 행동에 대한 행위별 악성 위험도 점수와 프로세스 신뢰도, 접근 디렉토리 위험도 점수 등의 정보를 이용해 부여한다. 그리고 각 프로세스 별 파일에 대한 보안 정책 위반 누적 위험도 점수를 누적한다.
파일 모니터를 통한 2차 악성 행위 탐지와 마찬가지로 프로세스 모니터를 통해 프로세스 별 악성 행위 탐지를 수행한다. 2차 보안 정책을 통해 각 프로세스 별 신뢰도를 설정하게 되면, 설정된 신뢰도에 따라 해당 프로세스가 수행할 수 있는 활동 범위(악성 행위 추정 점수 영역)가 조정되어 비교적 신뢰도가 낮게 부여된 프로세스는 악성 행위로 탐지될 확률이 높아진다. 즉, 신뢰도가 낮은 프로세스는 시스템 자원 활용 시 악성 행위 판정 점수가 낮게 설정됨으로써 누적된 위험도 점수가 적은 경우에도 악성으로 판정될 수 있다.
네트워크 모니터를 통한 2차 악성 행위 탐지에서는 해당 프로세스에 대한 네트워크 포트 선정, 해당 프로세스에 대한 송,수신되는 패킷 등에 대한 네트워크 모니터 모듈의 분석과 2차 보안 정책에서 설정한 네트워크 포트 선점에 대한 위험도, 네트워크 전송 패킷에 대한 위험도 등에 대한 설정값을 기반으로 2차 악성 행위를 탐지한다. 예를 들어 프로세스 신뢰도에 따라 송,수신되는 포트별 위험도 점수를 달리 주거나, 프로세스 신뢰도에 따라 단위 시간 당 송신되는 패킷을 IP 개수 등을 검사하여 서로 다른 위험도 점수를 부가하도록 하며, 각 행위에 대한 행위별 위험도 점수를 누적한다.
각 모니터링 모듈과 2차 보안 정책에 의해 부여된 행위별 위험도 점수는 전체 누적하여 사용자가 지정한 악성 행위 판정 점수를 넘으면, 해당 프로세스를 악성으로 판정하여 사용자에게 악성 행위 탐지를 통보하고 계속 수행 여부를 문의하게 된다(S18).
악성실행코드 경고 모듈(800)에서는 해당 악성 행위의 계속 수행 여부를 사용자에게 문의하여 사용자가 계속 수행을 원한다면 해당 프로세스를 수행하고(S26), 수행중지를 원한다면 프로세스를 중지하고, 해당 프로세스 즉, 실행코드에 대한 패턴 정보를 가공하여, 악성실행코드 데이터 베이스(700)에 삽입한다(S28). 이를 통해 추후 같은 악성실행코드가 다시 다운로드 되더라도 해당 프로세스는 알려진 악성실행코드 탐지 모듈에서 보다 신속하고 효율적으로 탐지하게 된다.
이상에서 설명한 바와 같이, 본 발명에 의한 위험도 점수를 이용한 악성실행코드 탐지 장치 및 그 방법은, 기존에 알려진 악성실행코드 탐지 데이터 베이스를 이용한 1차 악성실행코드 탐지 모듈, 행위 수행 금지 목록을 포함하고 있는 1차 보안 정책을 통하여 신속하게 실행코드의 악성 행위를 탐지하며, 이를 통해서도 탐지되지 않는 악성실행코드에 대해서는 행위 모니터링 도구를 통한 세부 행위 모니터 및 모니터된 정보의 정책 기반 점수화, 실행 코드별 악성 행위 위험도 점수화 등을 통해 악성실행코드를 탐지해 내는 효과가 있다. 또한 2차 보안 정책을 통해 악성 행위 판정을 위한 세부적인 행위별 위험도 점수 목록 관리 및 악성 행위 판정 점수 관리 등을 수행함으로써 사용자에 특화된 정책을 설정하고 세부적인 위험 행위 관리를 수행할 수 있는 효과가 있다.
이상, 본 발명의 바람직한 실시예를 들어 상세하게 설명하였으나, 본 발명은 상기 실시예에 한정되는 것은 아니며, 본 발명의 기술적 사상의 범위내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러 가지 변형이 가능하다.
도 1은 컴퓨터 시스템에서 악성실행코드 탐지 장치의 위치관계를 설명하기 위한 블록도이다.
도 2는 본 발명의 바람직한 실시예에 의한 악성실행코드 탐지 장치를 설명하기 위한 블록도이다.
도 3는 본 발명의 바람직한 실시예에 의한 악성실행코드 탐지 장치를 모듈 별로 더 자세히 설명하기 위한 블록도이다.
도 4는 본 발명의 바람직한 실시예에 의한 악성실행코드 탐지 방법을 설명하기 위한 플로우 차트이다.

Claims (8)

  1. 네트워크를 통해 다운로드된 악성실행코드를 탐지하는 악성실행코드 탐지 장치에 있어서,
    이미 알려진 악성실행코드를 저장하는 악성실행코드 데이터 베이스;
    파일 시스템, 프로세스 및 네트워크를 모니터링하는 시스템 자원 감시 모듈;
    상기 시스템 자원 감시 모듈을 이용하여 특정 파일이나 디렉토리에 대한 금지 행위를 원천적으로 방지하기 위한 1차 보안 정책 및 각 프로세스의 모든 행위에 대해 위험도 점수를 부여하고, 상기 위험도 점수를 누적하여 악성행위를 감지하기 위한 2차 보안 정책을 수행하는 보안 정책부;
    상기 악성실행코드 데이터 베이스를 통한 1차 탐지 및 상기 보안 정책부를 통한 2차 탐지를 수행하는 악성실행코드 탐지 모듈;
    새로운 악성실행코드 정보 또는 중요한 보안 정책을 상기 악성실행코드 탐지 모듈 및 상기 악성실행코드 데이터 베이스에 전송하는 업데이트 모듈; 및
    상기 악성실행코드 탐지 모듈에서 탐지된 보안 정책 위배에 대한 처리를 실행금지, 무시 및 강제종료로 구분하여 제공하는 악성실행코드 경고 모듈을 포함하는 것을 특징으로 하는 위험도 점수를 이용한 악성실행코드 탐지 장치.
  2. 제1 항에 있어서, 상기 시스템 자원 감시 모듈은
    파일 시스템에서 발생되는 모든 파일 관련 작업을 모니터링 하는 파일 시스템 모니터링 모듈;
    프로세스 또는 쓰레드의 생성 및 소멸, 해당 프로세스의 이미지 로드를 모니터링 하는 프로세스 모니터링 모듈; 및
    네트워크를 통한 모니터링을 수행하는 네트워크 모니터링 모듈을 포함하는 것을 특징으로 하는 위험도 점수를 이용한 악성실행코드 탐지 장치.
  3. 제1 항에 있어서, 상기 악성실행코드 탐지 모듈은
    상기 악성실행코드 데이터 베이스를 이용하여 1차 탐지를 수행하는 1차 악성실행코드 탐지 모듈; 및
    특정 파일이나 디렉토리에 대한 행위를 원천적으로 방지하기 위한 1차 보안 정책 및 각 프로세스가 시스템 자원에 접근한 행위에 대해 행위 별 위험도 점수를 부여하고, 상기 위험도 점수를 누적하여 악성행위를 탐지하기 위한 2차 보안 정책을 이용하여 2차 탐지를 수행하는 2차 악성실행코드 탐지 모듈을 포함하는 것을 특징으로 하는 위험도 점수를 이용한 악성실행코드 탐지 장치.
  4. 제1 항에 있어서, 상기 보안 정책부는,
    행위별 위험도 점수를 부여하기 위해 개별 행위에 대한 행위 수행 위험도 점수를 정의하고 있는 행위별 위험도 점수 데이터 베이스를 포함하는 것을 특징으로 하는 위험도 점수를 이용한 악성실행코드 탐지 장치.
  5. 네트워크를 통해 다운로드된 악성실행코드를 탐지하는 악성실행코드 탐지방법에 있어서,
    (a) 이미 알려진 악성실행코드가 존재하는지 검사하고, 존재하면 해당 프로세스를 강제 종료시키는 단계;
    (b) 악성실행코드가 존재하지 않으면, 1차 보안 정책을 통해 설정한 금지행위 발생 시 해당 프로세스를 중지시키고, 사용자에게 통보하는 단계; 및
    (c) 금지행위가 발생하지 않으면, 2차 보안 정책을 통해 각 행위별 위험도 점수를 부여하고, 각각의 위험도 점수를 누적하여 소정값을 넘으면 해당 프로세스를 중지시키고, 사용자에게 통보하는 단계를 포함하는 것을 특징으로 하는 위험도 점수를 이용한 악성실행코드 탐지방법.
  6. 제5 항에 있어서, 상기 (c) 단계 후에,
    해당 프로세스를 계속 수행하거나, 해당 프로세스를 중지하고 악성실행코드에 대한 패턴 정보를 가공하여 저장하는 단계를 더 포함하는 것을 특징으로 하는 위험도 점수를 이용한 악성실행코드 탐지방법.
  7. 제5 항에 있어서, 상기 (b) 단계에 있어서,
    1차 보안 정책을 통해 설정한 금지행위는 특정 파일에 대한 접근 행위, 특정 디렉토리에 대한 접근 행위, 속성 변경 행위, 파일 생성 행위, 파일 재작성 행위, 실행 금지 설정된 프로세스의 실행 행위, 송,수신이 금지된 네트워크의 실행 행위 인 것을 특징으로 하는 위험도 점수를 이용한 악성실행코드 탐지방법.
  8. 제5 항에 있어서, 상기 (c) 단계에 있어서, 상기 2차 보안 정책을 통한 각 행위별 위험도 점수는,
    파일 행동에 대한 행위별 악성 위험도 점수 및 접근 디렉토리 위험도 점수 정보를 이용하는 파일 모니터링,
    각 프로세스 별 신뢰도를 설정하여 상기 신뢰도에 따라 해당 프로세스가 수행할 수 있는 활동 범위를 조정하는 프로세스 모니터링 및
    각 프로세스에 대한 네트워크 포트 선정, 해당 프로세스에 대한 송,수신되는 패킷에 대한 네트워크 모니터 모듈의 분석 및 네트워크 포트 선점에 대한 위험도, 네트워크 전송 패킷에 대한 위험도에 대한 설정값을 이용하는 네트워크 모니터링을 이용하여 부여하는 것을 특징으로 하는 위험도 점수를 이용한 악성실행코드 탐지방법.
KR10-2002-0083749A 2002-12-24 2002-12-24 위험도 점수를 이용한 악성실행코드 탐지 장치 및 그 방법 KR100475311B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0083749A KR100475311B1 (ko) 2002-12-24 2002-12-24 위험도 점수를 이용한 악성실행코드 탐지 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0083749A KR100475311B1 (ko) 2002-12-24 2002-12-24 위험도 점수를 이용한 악성실행코드 탐지 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20040056998A KR20040056998A (ko) 2004-07-01
KR100475311B1 true KR100475311B1 (ko) 2005-03-10

Family

ID=37349615

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0083749A KR100475311B1 (ko) 2002-12-24 2002-12-24 위험도 점수를 이용한 악성실행코드 탐지 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR100475311B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101032134B1 (ko) * 2009-02-27 2011-05-02 이니텍(주) 암호화 기능이 포함된 웹서비스 공유물에 대한 통제 시스템제공 방법
KR101051641B1 (ko) * 2010-03-30 2011-07-26 주식회사 안철수연구소 이동통신 단말 및 이를 이용한 행위기반 악성 코드 진단 방법
KR101068931B1 (ko) 2009-03-05 2011-09-29 김동규 패턴 탐지 기반의 웹쉘 관제 시스템 및 그 방법
KR101280910B1 (ko) 2011-12-15 2013-07-02 한국전자통신연구원 고속 패킷 처리를 위한 네트워크 프로세서 기반 2단계 침입탐지장치 및 방법
KR101331075B1 (ko) 2012-04-23 2013-11-21 성균관대학교산학협력단 휴대 단말기 응용 프로그램의 필터링 방법 및 장치

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100512360B1 (ko) * 2002-10-18 2005-09-02 엘지전자 주식회사 서로 다른 이동통신 시스템간의 메시지 변환 장치 및방법
KR100688604B1 (ko) * 2004-11-18 2007-03-02 고려대학교 산학협력단 네트워크 악성실행코드 차단장치 및 방법
KR101281160B1 (ko) * 2006-02-03 2013-07-02 주식회사 엘지씨엔에스 하이퍼 텍스터 전송규약 요청 정보 추출을 이용한침입방지시스템 및 그를 이용한 유알엘 차단방법
US7945563B2 (en) * 2006-06-16 2011-05-17 Yahoo! Inc. Search early warning
KR100789722B1 (ko) * 2006-09-26 2008-01-02 한국정보보호진흥원 웹 기술을 사용하여 전파되는 악성코드 차단시스템 및 방법
KR100896319B1 (ko) * 2006-11-23 2009-05-07 한국전자통신연구원 실행 프로그램의 실행 압축 유무 탐지 장치 및 방법
US8336097B2 (en) 2007-10-12 2012-12-18 Electronics And Telecommunications Research Institute Apparatus and method for monitoring and protecting system resources from web browser
KR101033932B1 (ko) * 2007-10-12 2011-05-11 한국전자통신연구원 웹브라우저를 통한 악성행위를 차단하는 장치 및 방법
KR101047118B1 (ko) * 2008-12-22 2011-07-07 한국전자통신연구원 익스플로잇 코드를 탐지하는 네트워크 보안시스템 및 방법
KR101044275B1 (ko) * 2009-10-09 2011-06-28 주식회사 안철수연구소 악성 사이트 치료 방법, 악성 사이트 정보 수집 방법, 장치, 시스템 및 컴퓨터 프로그램이 기록된 기록매체
KR101329108B1 (ko) * 2011-12-15 2013-11-20 고려대학교 산학협력단 악성코드 경유-유포지의 위험도 평가 시스템 및 그 방법
TWI599905B (zh) * 2016-05-23 2017-09-21 緯創資通股份有限公司 惡意碼的防護方法、系統及監控裝置
KR102211846B1 (ko) * 2020-07-21 2021-02-03 국방과학연구소 랜섬웨어 탐지 시스템 및 그의 동작 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101032134B1 (ko) * 2009-02-27 2011-05-02 이니텍(주) 암호화 기능이 포함된 웹서비스 공유물에 대한 통제 시스템제공 방법
KR101068931B1 (ko) 2009-03-05 2011-09-29 김동규 패턴 탐지 기반의 웹쉘 관제 시스템 및 그 방법
KR101051641B1 (ko) * 2010-03-30 2011-07-26 주식회사 안철수연구소 이동통신 단말 및 이를 이용한 행위기반 악성 코드 진단 방법
KR101280910B1 (ko) 2011-12-15 2013-07-02 한국전자통신연구원 고속 패킷 처리를 위한 네트워크 프로세서 기반 2단계 침입탐지장치 및 방법
KR101331075B1 (ko) 2012-04-23 2013-11-21 성균관대학교산학협력단 휴대 단말기 응용 프로그램의 필터링 방법 및 장치

Also Published As

Publication number Publication date
KR20040056998A (ko) 2004-07-01

Similar Documents

Publication Publication Date Title
KR100475311B1 (ko) 위험도 점수를 이용한 악성실행코드 탐지 장치 및 그 방법
US9910981B2 (en) Malicious code infection cause-and-effect analysis
US8931097B2 (en) Method, computer software, and system for providing end to end security protection of an online transaction
US7565549B2 (en) System and method for the managed security control of processes on a computer system
US7779468B1 (en) Intrusion detection and vulnerability assessment system, method and computer program product
US20080066179A1 (en) Antivirus protection system and method for computers
KR101565590B1 (ko) 역할기반 접근통제 및 인가된 파일 리스트를 통한 파일접근 통제 통합 시스템
JP2003535414A (ja) 情報を盗んだり及び/又は損害を引き起こしたりするかもしれない邪悪なプログラムに対するコンピュータの包括的一般的共通的保護のためのシステム及び方法
KR101951730B1 (ko) 지능형 지속위협 환경에서의 통합 보안 시스템
JP2006252256A (ja) ネットワーク管理システム、方法およびプログラム
US20100313268A1 (en) Method for protecting a computer against malicious software
US8862730B1 (en) Enabling NAC reassessment based on fingerprint change
CN116708210A (zh) 一种运维处理方法和终端设备
KR100961149B1 (ko) 악성 사이트 검사 방법, 악성 사이트 정보 수집 방법,장치, 시스템 및 컴퓨터 프로그램이 기록된 기록매체
CN116633694B (zh) 一种基于多模异构组件的web防御方法与系统
KR101754195B1 (ko) 복수의 로그 수집 서버를 기반으로 한 보안 강화 방법
JP4638494B2 (ja) コンピュータのデータ保護方法
KR101904415B1 (ko) 지능형 지속위협 환경에서의 시스템 복구 방법
KR20100067383A (ko) 서버 보안 시스템 및 서버 보안 방법
KR102182397B1 (ko) 웹 서비스 보호 및 자동 복구 방법 및 그 시스템
KR102114542B1 (ko) 프로그램 구동 제어 방법
KR101463053B1 (ko) 웹 사이트 접속 관리 방법 및 장치
JP2023177332A (ja) コンピュータ又はコンピュータネットワークにおける脅威検出の構成及び方法
KR20030091889A (ko) 바이러스 확산 방지 시스템 및 방법
CN117879854A (zh) 网络威胁应对方法和装置

Legal Events

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

Payment date: 20090115

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee