KR20180086917A - 네트워크 기반의 악성 파일 탐지 장치 및 방법 - Google Patents

네트워크 기반의 악성 파일 탐지 장치 및 방법 Download PDF

Info

Publication number
KR20180086917A
KR20180086917A KR1020170010974A KR20170010974A KR20180086917A KR 20180086917 A KR20180086917 A KR 20180086917A KR 1020170010974 A KR1020170010974 A KR 1020170010974A KR 20170010974 A KR20170010974 A KR 20170010974A KR 20180086917 A KR20180086917 A KR 20180086917A
Authority
KR
South Korea
Prior art keywords
file
network
malicious file
payload data
flow
Prior art date
Application number
KR1020170010974A
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 KR1020170010974A priority Critical patent/KR20180086917A/ko
Publication of KR20180086917A publication Critical patent/KR20180086917A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

네트워크 기반의 악성 파일 탐지 장치 및 방법이 개시된다. 본 발명에 따른 네트워크 기반의 악성 파일 탐지 장치는, 입력된 네트워크 패킷을 처리하여, 플로우 정보 및 페이로드 데이터를 추출하는 데이터 추출부, 플로우 목록 저장부에서 상기 플로우 정보를 검색하여, 상기 플로우 정보의 유형을 판단하는 플로우 유형 판단부, 상기 플로우 정보의 유형을 기반으로, 상기 페이로드 데이터를 이용하여 상기 네트워크 패킷에 상응하는 파일이 악성 파일인지 여부를 탐지하거나, 상기 네트워크 패킷에 상응하는 세션을 종료하는 악성 파일 탐지부, 그리고 탐지된 결과를 기반으로, 상기 플로우 목록 저장부를 업데이트하는 목록 업데이트부를 포함한다.

Description

네트워크 기반의 악성 파일 탐지 장치 및 방법{APPARATUS AND METHOD FOR DETECTING MALICIOUS FILE BASED ON NETWORK}
본 발명은 네트워크 기반의 악성 파일을 탐지하는 기술에 관한 것으로, 특히 네트워크 상에서 전송되는 악성 파일을 신속하게 탐지하고, 탐지된 악성 파일이 피해 시스템으로 전달되기 이전에 차단하는 기술에 관한 것이다.
종래 기술에 따른 악성 파일 탐지 기술은 대부분 호스트를 기반으로 동작하며, 네트워크 상에서 악성 파일을 탐지 및 차단하는 기술에 대해서는 많은 연구가 진행되지 않았다. 다만, 최근에 네트워크 상에서 패킷들을 분석하여 악성 파일을 탐지하거나 차단하는 기술에 대한 연구가 이루어지고 있으나, 아직 미흡한 실정이다.
한국 공개 특허 제10-2015-0110065호에 따르면, 수집된 네트워크 트래픽에 실행 파일이 포함되어 있는 경우, 파일을 포함하는 모든 패킷을 수집하여 전송된 파일을 재구성하고, 재구성된 파일에 대한 악성 여부를 판단한다.
그리고 한국 등록 특허 제10-1587161호는 네트워크 패킷을 모니터링하면서, 특정 플로우가 시작되는 지점부터 도착되는 패킷들을 이용하여 해시 체인 방식으로 최종 해시값을 계산하고, 계산된 해시값과 사전에 정의된 악성 파일 해시값이 동일한 경우 악성 파일로 판단하는 기술에 대하여 개시하고 있다.
그러나, 이러한 종래 기술들은 파일 전송에 사용된 모든 네트워크 패킷을 수집하여 파일을 재구성한 후, 악성 파일 여부를 판단하므로, 악성 여부를 판단하는 시점에는 이미 피해 시스템으로 악성 파일 다운로드가 완료되어, 피해를 예방할 수 없다.
또한, 해당 악성 파일을 전송하는 프로토콜에 따라 패킷 페이로드의 첫 번째 위치가 파일의 시작 지점이 아닐 수 있어, 파일의 시작 지점을 정확하게 알지 못한 상태에서 페이로드의 시작 위치부터 체인 방식의 해시값을 계산할 경우, 사전에 계산한 악성 파일에 대한 해시값과 전혀 다른 해시값이 계산될 수 있다. 이로 인하여 동일한 악성 파일이 전송되더라도, 탐지가 불가능할 수 있다.
따라서, 파일 전송에 상응하는 네트워크 패킷 중에서 파일이 시작되는 위치부터 일정 크기의 페이로드 데이터를 수집하여 악성 여부를 판단하고, 악성으로 판단된 경우 해당 연결을 종료시켜 피해를 예방할 수 있는 기술의 개발이 필요하다.
한국 공개 특허 제10-2015-0110065호, 2015년 10월 02일 공개(명칭: 실행파일 모니터링 기반 악성코드 탐지 방법 및 시스템) 한국 등록 특허 제10-1587161호, 2016년 01월 20일 공개(명칭: 실시간 네트워크 안티바이러스 수행 장치 및 방법)
본 발명의 목적은 소수의 네트워크 패킷을 분석하여 악성 파일의 전송 여부를 판단할 수 있도록 하는 것이다.
또한, 본 발명의 목적은 악성 파일이 피해 시스템으로 전달되는 것을 방지하여, 악성 파일로 인한 피해를 사전에 예방할 수 있도록 하는 것이다.
또한, 본 발명의 목적은 고속으로 네트워크 패킷을 분석하여, 악성 파일을 탐지할 수 있도록 하는 것이다.
상기한 목적을 달성하기 위한 본 발명에 따른 네트워크 기반의 악성 파일 탐지 장치는 입력된 네트워크 패킷을 처리하여, 플로우 정보 및 페이로드 데이터를 추출하는 데이터 추출부, 플로우 목록 저장부에서 상기 플로우 정보를 검색하여, 상기 플로우 정보의 유형을 판단하는 플로우 유형 판단부, 상기 플로우 정보의 유형을 기반으로, 상기 페이로드 데이터를 이용하여 상기 네트워크 패킷에 상응하는 파일이 악성 파일인지 여부를 탐지하거나, 상기 네트워크 패킷에 상응하는 세션을 종료하는 악성 파일 탐지부, 그리고 탐지된 결과를 기반으로, 상기 플로우 목록 저장부를 업데이트하는 목록 업데이트부를 포함한다.
이때, 상기 플로우 유형 판단부는, 상기 플로우 정보의 유형을 수집 대상 플로우 및 차단 대상 플로우 중 어느 하나의 유형으로 판단할 수 있다.
이때, 상기 악성 파일 탐지부는, 상기 플로우 정보의 유형이 상기 수집 대상 플로우인 것으로 판단된 경우, 상기 페이로드 데이터에 상응하는 해시값을 이용하여 상기 네트워크 패킷에 상응하는 파일이 악성 파일인지 여부를 탐지할 수 있다.
이때, 상기 악성 파일 탐지부는, 상기 페이로드 데이터로부터 기 설정된 추출 단위로 추출된 데이터의 해시값을 연산하고, 악성 파일 해시 테이블에서 상기 해시값을 검색하며, 상기 해시값의 검색 결과를 기반으로, 상기 페이로드 데이터에 상응하는 상기 파일이 상기 악성 파일인지 여부를 판단할 수 있다.
이때, 상기 페이로드 데이터의 크기와 임계 크기를 비교하고, 상기 페이로드 데이터의 크기가 상기 임계 크기 이상인 경우 상기 페이로드 데이터로부터 상기 추출 단위에 상응하는 상기 데이터를 추출하는 페이로드 병합부를 더 포함할 수 있다.
이때, 상기 페이로드 병합부는, 상기 페이로드 데이터의 크기가 상기 임계 크기 미만인 경우, 상기 페이로드 데이터의 파일 시작 위치부터 상기 페이로드 데이터의 마지막까지의 임시 데이터를 페이로드 임시 저장소에 저장할 수 있다.
이때, 상기 페이로드 병합부는, 상기 페이로드 임시 저장소에 저장된 상기 임시 데이터와 추가로 수집된 네트워크 패킷에 상응하는 페이로드 데이터를 병합하여, 병합된 페이로드 데이터를 저장할 수 있다.
이때, 상기 페이로드 병합부는, 상기 병합된 페이로드 데이터와 상기 임계 크기를 비교할 수 있다.
이때, 상기 플로우 정보의 유형이 상기 차단 대상 플로우인 것으로 판단된 경우, 연결 재설정 패킷을 전송하여 상기 네트워크 패킷에 상응하는 세션을 종료하는 연결 재설정부를 더 포함할 수 있다.
이때, 상기 플로우 정보의 유형을 판단한 결과 상기 플로우 목록 저장부에 상기 플로우 정보가 포함되지 않은 경우, 상기 페이로드 데이터를 기반으로, 분석 대상 파일의 시그니처가 존재하는지 여부를 판단하는 파일 존재 확인부를 더 포함할 수 있다.
이때, 상기 악성 파일 탐지부는, 상기 분석 대상 파일의 시그니처가 존재하는 것으로 판단된 경우, 상기 페이로드 데이터를 이용하여 상기 분석 대상 파일이 상기 악성 파일인지 여부를 판단할 수 있다.
이때, 상기 악성 파일 탐지부는, 상기 분석 대상 파일의 시그니처가 존재하는 것으로 판단된 경우, 상기 페이로드 데이터로부터 기 설정된 추출 단위로 추출된 데이터의 해시값을 연산하고, 연산된 상기 해시값을 악성 파일 해시 테이블에서 검색한 결과를 기반으로, 상기 분석 대상 파일이 악성 파일인지 여부를 판단할 수 있다.
또한, 본 발명의 일실시예에 따른 네트워크 기반의 악성 파일 탐지 장치에 의해 수행되는 네트워크 기반의 악성 파일 탐지 방법은 입력된 네트워크 패킷을 처리하여, 플로우 정보 및 페이로드 데이터를 추출하는 단계, 플로우 목록 저장부에서 상기 플로우 정보를 검색하여, 상기 플로우 정보의 유형을 판단하는 단계, 상기 플로우 정보의 유형을 기반으로, 상기 페이로드 데이터를 이용하여 상기 네트워크 패킷에 상응하는 파일이 악성 파일인지 여부를 탐지하거나, 상기 네트워크 패킷에 상응하는 세션을 종료하는 단계, 그리고 탐지된 결과를 기반으로, 상기 플로우 목록 저장부를 업데이트하는 단계를 포함한다.
이때, 상기 파일이 악성 파일인지 여부를 탐지하거나, 세션을 종료하는 단계는, 상기 플로우 정보의 유형이 수집 대상 플로우인 것으로 판단된 경우, 상기 페이로드 데이터에 상응하는 해시값을 이용하여 상기 네트워크 패킷에 상응하는 파일이 악성 파일인지 여부를 탐지할 수 있다.
이때, 상기 파일이 악성 파일인지 여부를 탐지하거나, 세션을 종료하는 단계는, 상기 페이로드 데이터로부터 기 설정된 추출 단위에 상응하는 데이터를 추출하는 단계, 추출된 상기 데이터의 해시값을 연산하는 단계, 악성 파일 해시 테이블에서 상기 해시값을 검색하는 단계, 그리고 상기 해시값의 검색 결과를 기반으로, 상기 페이로드 데이터에 상응하는 상기 파일이 상기 악성 파일인지 여부를 판단하는 단계를 포함할 수 있다.
이때, 상기 추출 단위에 상응하는 데이터를 추출하는 단계는, 상기 페이로드 데이터의 크기와 임계 크기를 비교하는 단계, 상기 페이로드 데이터의 크기가 상기 임계 크기 이상인 경우, 상기 페이로드 데이터로부터 상기 추출 단위에 상응하는 상기 데이터를 추출하는 단계, 그리고 상기 페이로드 데이터의 크기가 상기 임계 크기 미만인 경우, 상기 페이로드 데이터의 파일 시작 위치부터 상기 페이로드 데이터의 마지막까지의 임시 데이터를 페이로드 임시 저장소에 저장하는 단계를 포함할 수 있다.
이때, 상기 추출 단위에 상응하는 데이터를 추출하는 단계는, 상기 페이로드 임시 저장소에 저장된 상기 임시 데이터와 추가로 수집된 네트워크 패킷에 상응하는 페이로드 데이터를 병합하고, 병합된 페이로드 데이터를 저장하는 단계를 더 포함하고, 상기 페이로드 데이터의 크기와 임계 크기를 비교하는 단계는, 상기 병합된 페이로드 데이터와 상기 임계 크기를 비교할 수 있다.
이때, 상기 플로우 정보의 유형이 차단 대상 플로우인 것으로 판단된 경우, 상기 네트워크 패킷에 상응하는 세션을 종료하는 단계를 더 포함할 수 있다.
이때, 상기 플로우 정보의 유형을 판단한 결과 상기 플로우 목록 저장부에 상기 플로우 정보가 포함되지 않은 경우, 상기 페이로드 데이터를 기반으로, 분석 대상 파일의 시그니처가 존재하는지 여부를 판단하는 단계를 더 포함할 수 있다.
이때, 상기 파일이 악성 파일인지 여부를 탐지하거나, 세션을 종료하는 단계는, 상기 분석 대상 파일의 시그니처가 존재하는 것으로 판단된 경우, 상기 페이로드 데이터에 상응하는 해시값을 이용하여 상기 네트워크 패킷에 상응하는 파일이 악성 파일인지 여부를 탐지할 수 있다.
본 발명에 따르면, 소수의 네트워크 패킷을 분석하여 악성 파일의 전송 여부를 판단할 수 있다.
또한 본 발명에 따르면, 악성 파일이 피해 시스템으로 전달되는 것을 방지하여, 악성 파일로 인한 피해를 사전에 예방할 수 있다.
또한 본 발명에 따르면, 고속으로 네트워크 패킷을 분석하여, 악성 파일을 탐지할 수 있다.
도 1은 본 발명의 일실시예에 따른 네트워크 기반의 악성 파일 탐지 장치의 구성을 나타낸 블록도이다.
도 2는 본 발명의 일실시예에 따른 네트워크 기반의 악성 파일 탐지 방법을 설명하기 위한 순서도이다.
도 3은 본 발명의 일실시예에 따른 페이로드 데이터를 병합하는 과정을 설명하기 위한 순서도이다.
도 4는 본 발명의 일실시예에 따른 임시 데이터를 나타낸 도면이다.
도 5는 도 3의 S330 단계에서 페이로드 데이터를 병합하는 과정을 설명하기 위한 도면이다.
도 6은 도 2의 S260 단계에서 분석 대상 파일의 존재 여부를 판단하는 과정을 설명하기 위한 순서도이다.
도 7은 본 발명의 일실시예에 따른 분석 대상 파일의 시그니처를 나타낸 예시도이다.
도 8은 본 발명의 또 다른 실시예에 따른 네트워크 기반의 악성 파일 탐지 장치의 구성을 나타낸 도면이다.
도 9는 본 발명의 또 다른 실시예에 따른 네트워크 기반의 악성 파일 탐지 방법을 나타낸 순서도이다.
도 10은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일실시예에 따른 네트워크 기반의 악성 파일 탐지 장치의 구성을 나타낸 블록도이다.
도 1에 도시한 바와 같이, 네트워크 기반의 악성 파일 탐지 장치(100)는 데이터 추출부(110), 플로우 유형 판단부(120), 페이로드 병합부(130), 악성 파일 탐지부(140), 목록 업데이트부(150), 연결 재설정부(160) 및 파일 존재 확인부(170)를 포함한다.
먼저, 데이터 추출부(110)는 입력된 네트워크 패킷을 처리하여, 플로우 정보 및 페이로드 데이터를 추출한다.
데이터 추출부(110)는 네트워크 패킷을 입력받고, 입력받은 네트워크 패킷의 네트워크 프로토콜을 파싱하여 플로우 정보 및 페이로드 데이터를 추출한다. 이때, 데이터 추출부(110)는 이더넷 헤더, IP 헤더, TCP 헤더, UDP 헤더 및 ICMP 헤더 등의 네트워크 프로토콜을 파싱할 수 있다.
데이터 추출부(110)가 파싱하는 네트워크 프로토콜의 종류는 이에 한정되지 않으며, 다양한 네트워크 환경에서의 통신을 위한 모든 네트워크 프로토콜을 포함할 수 있다.
그리고 플로우 유형 판단부(120)는 플로우 목록 저장부에서 플로우 정보를 검색하여, 플로우 정보의 유형을 판단한다. 여기서, 플로우 정보의 유형은 수집 대상 플로우 및 차단 대상 플로우 중 적어도 어느 하나를 포함할 수 있다.
플로우 유형 판단부(120)는 데이터 추출부(110)를 통해 추출된 플로우 정보를 이용하여, 플로우 목록 저장부를 검색한다. 플로우 유형 판단부(120)의 검색 결과에 따라, 플로우 정보는 수집 대상 플로우, 차단 대상 플로우 중 적어도 어느 하나의 플로우 유형으로 분류될 수 있다.
설명의 편의상, 플로우 정보가 수집 대상 플로우 및 차단 대상 플로우 중 어느 하나의 유형에 속하는 것으로 설명하였다. 그러나, 해당 플로우 정보는 플로우 목록 저장부에 저장되어 있지 않을 수 있으며, 이 경우 플로우 유형 판단부(120)는 플로우 목록 저장부에 해당 플로우 정보가 포함되지 않은 것으로 판단하고, 후술할 파일 존재 확인부(170)로 분석 대상 파일의 존재 여부 확인을 요청할 수 있다.
다음으로 페이로드 병합부(130)는 분석 대상 플로우에 상응하는 페이로드 데이터를 병합한다.
이때, 페이로드 병합부(130)는 페이로드 데이터의 크기와 임계 크기를 비교하고, 페이로드 데이터의 크기가 임계 크기 이상인 경우 페이로드 데이터로부터 추출 단위에 상응하는 데이터를 추출한다.
반면 페이로드 데이터의 크기가 임계 크기 미만인 경우, 페이로드 병합부(130)는 페이로드 데이터의 파일 시작 위치부터 페이로드 데이터의 마지막까지의 임시 데이터를 페이로드 임시 저장소에 저장한다. 그리고 페이로드 병합부(130)는 페이로드 임시 저장소에 저장된 임시 데이터와 추가로 수집된 네트워크 패킷에 상응하는 페이로드 데이터를 병합하여, 병합된 페이로드 데이터를 저장한다.
또한, 페이로드 병합부(130)는 병합된 페이로드 데이터와 임계 크기를 비교하고, 비교 결과를 기반으로 추출 단위에 상응하는 데이터를 추출하거나, 임시 데이터를 페이로드 임시 저장소에 저장할 수 있다.
그리고 악성 파일 탐지부(140)는 플로우 정보의 유형을 기반으로, 페이로드 데이터를 이용하여 네트워크 패킷에 상응하는 파일이 악성 파일인지 여부를 탐지하거나, 네트워크 패킷에 상응하는 세션을 종료한다.
악성 파일 탐지부(140)는 플로우 정보의 유형이 수집 대상 플로우인 것으로 판단된 경우, 페이로드 데이터에 상응하는 해시값을 이용하여 네트워크 패킷에 상응하는 파일이 악성 파일인지 여부를 탐지할 수 있다.
이때, 악성 파일 탐지부(140)는 페이로드 데이터로부터 기 설정된 추출 단위로 추출된 데이터의 해시값을 연산한다. 그리고 악성 파일 탐지부(140)는 악성 파일 해시 테이블에서 해시값을 검색하고, 해시값의 검색 결과를 기반으로 페이로드 데이터에 상응하는 파일이 악성 파일인지 여부를 판단할 수 있다.
후술할 파일 존재 확인부(170)에 의해 분석 대상 파일의 시그니처가 존재하는 것으로 판단된 경우, 악성 파일 탐지부(140)는 페이로드 데이터를 이용하여 분석 대상 파일이 악성 파일인지 여부를 판단할 수 있다.
이때, 악성 파일 탐지부(140)는 분석 대상 파일의 시그니처가 존재하는 것으로 판단된 경우, 페이로드 데이터로부터 기 설정된 추출 단위로 추출된 데이터의 해시값을 연산하고, 연산된 해시값을 악성 파일 해시 테이블에서 검색한 결과를 기반으로, 분석 대상 파일이 악성 파일인지 여부를 판단할 수 있다.
즉, 악성 파일 탐지부(140)는 수집 대상 플로우에 상응하는 페이로드 데이터 및 분석 대상 파일에 상응하는 페이로드 데이터를 이용하여 해시값을 연산하고, 연산된 해시값을 이용하여 해당 파일이 악성 파일인지 여부를 판단할 수 있다.
다음으로 목록 업데이트부(150)는 탐지된 결과를 기반으로, 플로우 목록 저장부를 업데이트한다.
탐지 결과 악성 파일인 것으로 판단된 경우, 목록 업데이트부(150)는 플로우 목록 저장부에 해당 플로우가 차단 대상임을 표시하고, 해당 플로우에 상응하는 페이로드 데이터를 폐기한다. 이때, 폐기되는 페이로드 데이터는 병합된 페이로드 데이터를 포함할 수 있다.
그리고 연결 재설정부(160)는 플로우 정보의 유형이 차단 대상 플로우인 것으로 판단된 경우, 연결 재설정 패킷을 전송하여 네트워크 패킷에 상응하는 세션을 종료한다.
마지막으로 파일 존재 확인부(170)는 플로우 유형 판단부(120)로부터 분석 대상 파일의 존재 여부 확인을 요청받은 경우, 페이로드 데이터를 기반으로, 분석 대상 파일의 시그니처가 존재하는지 여부를 판단한다.
이때, 파일 존재 확인부(170)는 플로우 유형 판단부(120)가 해당 플로우 정보가 플로우 목록 저장부에 포함되어 있지 않은 것으로 판단한 경우, 플로우 유형 판단부(120)로부터 분석 대상 파일의 존재 여부 확인을 요청받을 수 있다.
이하에서는 도 2를 통하여 본 발명의 일실시예에 따른 네트워크 기반의 악성 파일 탐지 장치에 의해 수행되는 악성 파일 탐지 방법에 대하여 더욱 상세하게 설명한다.
도 2는 본 발명의 일실시예에 따른 네트워크 기반의 악성 파일 탐지 방법을 설명하기 위한 순서도이다.
먼저, 네트워크 기반의 악성 파일 탐지 장치(100)는 네트워크 패킷의 플로우 정보 및 페이로드 데이터를 추출한다(S210).
네트워크 기반의 악성 파일 탐지 장치(100)는 입력받은 네트워크 패킷의 네트워크 프로토콜을 파싱하여, 플로우 정보 및 페이로드 데이터를 추출한다. 이때, 네트워크 기반의 악성 파일 탐지 장치(100)는 이더넷 헤더, IP 헤더, TCP 헤더, UDP 헤더 및 ICMP 헤더 등의 네트워크 프로토콜을 파싱할 수 있으며, 네트워크 프로토콜의 종류는 이에 한정되지 않는다.
그리고 네트워크 기반의 악성 파일 탐지 장치(100)는 플로우 정보를 검색한다(S220).
네트워크 기반의 악성 파일 탐지 장치(100)는 S210 단계에서 추출된 플로우 정보를 이용하여, 플로우 목록 저장부를 검색한다. 플로우 목록 저장부는 플로우 정보, 차단 대상 여부 정보, 수집 대상 여부 정보, 임시 페이로드 저장소의 위치 정보 등을 포함할 수 있다.
그리고 플로우 정보는 근원지 IP주소, 목적지 IP주소, 근원지 포트번호, 목적지 포트번호, 프로토콜의 5-tuple로 구성될 수 있으며, 임시 페이로드 저장소의 위치 정보는 복수 개의 네트워크 패킷에 상응하는 페이로드 데이터를 병합하기 위하여 수집한, 페이로드의 메모리 상 위치 정보를 의미할 수 있다.
다음으로 플로우 정보가 차단 대상 플로우인 것으로 판단(S230)된 경우, 네트워크 기반의 악성 파일 탐지 장치(100)는 세션을 종료한다(S240).
S220 단계에서 플로우 정보를 검색한 결과 차단 대상 플로우인 것으로 판단된 경우, 네트워크 기반의 악성 파일 탐지 장치(100)는 해당 플로우 정보에 상응하는 네트워크 패킷이 속한 세션을 종료한다. 이때, 네트워크 기반의 악성 파일 탐지 장치(100)는 연결 재설정 패킷을 송신하여 해당 세션을 종료하고, 도착된 네트워크 패킷을 폐기할 수 있다.
이와 같이, 본 발명의 일실시예에 따른 네트워크 기반의 악성 파일 탐지 장치(100)는 차단 대상 플로우에 상응하는 세션을 종료하여, 악성 파일이 피해 시스템으로 전달되는 것을 방지할 수 있다.
반면, 플로우 정보가 수집 대상 플로우인 것으로 판단(S250)된 경우, 네트워크 기반의 악성 파일 탐지 장치(100)는 후술할 S270 단계를 수행한다.
네트워크 기반의 악성 파일 탐지 장치(100)는 수집 대상 플로우에 상응하는 네트워크 패킷의 플로우 정보 및 페이로드 데이터를 이용하여 악성 파일인지 여부를 탐지하는 S270 단계를 수행할 수 있다.
설명의 편의상 수집 대상 플로우인 것으로 판단된 경우 S270 단계를 수행하는 것으로 설명하였으나 이에 한정하지 않고, 네트워크 기반의 악성 파일 탐지 장치(100)는 후술할 도 3에 도시된 페이로드 데이터 병합 과정을 수행한 후, S270 단계를 수행할 수 있다.
그리고 플로우 정보가 차단 대상 플로우 및 수집 대상 플로우가 아닌 경우, 네트워크 기반의 악성 파일 탐지 장치(100)는 분석 대상 파일이 존재하는지 여부를 판단한다(S260).
플로우 정보가 플로우 목록 저장부에 저장되어 있지 않거나, 해당 플로우 정보가 차단 대상 플로우 및 수집 대상 플로우 중 적어도 어느 하나로 분류되지 않은 경우, 네트워크 기반의 악성 파일 탐지 장치(100)는 분석 대상 파일의 존재 여부를 확인하는 과정을 수행할 수 있다.
S260 단계에서, 분석 대상 파일의 존재 여부를 확인하는 과정은 후술할 도 6을 통하여 더욱 상세하게 설명한다.
마지막으로, 네트워크 기반의 악성 파일 탐지 장치(100)는 플로우 정보가 수집 대상 플로우인 것으로 판단된 경우 또는 분석 대상 파일이 존재하는 것으로 판단된 경우, 플로우 정보에 상응하는 파일이 악성 파일인지 여부를 탐지한다(S270).
네트워크 기반의 악성 파일 탐지 장치(100)는 S250 단계에서, 플로우 정보가 수집 대상 플로우인 것으로 판단되었거나, S260 단계에서 분석 대상 파일이 존재하는 것으로 판단된 경우, 해당 네트워크 패킷에 상응하는 파일이 악성 파일인지 여부를 판단하는 단계를 수행할 수 있다.
S270 단계에서, 네트워크 기반의 악성 파일 탐지 장치(100)는 페이로드 데이터에 상응하는 해시값을 연산하고, 악성 파일 해시 테이블에서 연산된 해시값을 검색하며, 해시값의 검색 결과를 기반으로 페이로드 데이터에 상응하는 파일이 악성 파일인지 여부를 판단할 수 있다.
악성 파일인지 여부를 판단하는 과정을 더욱 상세하게 설명하면, 네트워크 기반의 악성 파일 탐지 장치(100)는 페이로드 데이터의 크기와 임계 크기를 비교한다. 그리고 페이로드 데이터의 크기가 임계 크기 이상인 경우, 네트워크 기반의 악성 파일 탐지 장치(100)는 페이로드 데이터로부터 추출 단위에 상응하는 데이터를 추출하고, 추출된 데이터의 해시값을 연산한다.
반면, 페이로드 데이터의 크기가 임계 크기 미만인 경우, 네트워크 기반의 악성 파일 탐지 장치(100)는 페이로드 데이터의 파일 시작 위치부터 페이로드 데이터의 마지막까지의 임시 데이터를 페이로드 임시 저장소에 저장한다. 또한, 네트워크 기반의 악성 파일 탐지 장치(100)는 페이로드 임시 저장소에 저장된 임시 데이터와 추가로 수집된 네트워크 패킷에 상응하는 페이로드 데이터를 병합하여, 병합된 페이로드 데이터를 생성 및 저장할 수 있으며, 병합된 페이로드 데이터로부터 추출 단위에 상응하는 데이터를 추출하여 해시값을 연산할 수 있다.
이때, 네트워크 기반의 악성 파일 탐지 장치(100)는 병합된 페이로드 데이터의 크기와 임계 크기를 비교하는 과정을 더 수행할 수 있으며, 임계 크기와의 비교 결과에 따라 추출 단위에 상응하는 데이터를 추출하거나, 병합된 페이로드 데이터에 상응하는 임시 데이터를 임시 저장소에 저장하는 과정을 수행할 수 있다.
네트워크 기반의 악성 파일 탐지 장치(100)는 해시값 연산 시 MD5, SHA-1 등의 해시 알고리즘을 사용하여 해시값을 연산할 수 있으며, 연산된 해시값을 키 값으로 악성 파일 해시 테이블을 검색하여, 해당 해시값에 상응하는 파일이 악성 파일인지 여부를 판단할 수 있다.
이때, 네트워크 기반의 악성 파일 탐지 장치(100)는 악성 파일인지 여부를 신속하게 검색하기 위하여, 악성 파일 해시 테이블을 메모리 상에 로드하여 동작할 수 있다.
또한, 악성 파일 해시 테이블은 1개의 악성 파일에 대하여 1바이트(byte) 정보만 포함할 수 있다. 페이로드 데이터를 이용하여 계산한 해시값 자체가 악성 파일 해시 테이블 내에서의 위치를 표현하고, 해당 위치에 저장된 값이 0인지 1인지에 따라 악성인지 여부가 결정되므로, 본 발명의 일실시예에 따른 네트워크 기반의 악성 파일 탐지 장치(100)는 악성 파일 해시 테이블의 크기를 소형으로 구현할 수 있다.
이하에서는 도 3 내지 도 5를 통하여 본 발명의 일실시예에 따른 페이로드 데이터의 병합 과정에 대하여 더욱 상세하게 설명한다.
도 3은 본 발명의 일실시예에 따른 페이로드 데이터를 병합하는 과정을 설명하기 위한 순서도이다.
네트워크 기반의 악성 파일 탐지 장치(100)는 페이로드 데이터의 크기와 임계 크기를 비교한다(S310).
네트워크 기반의 악성 파일 탐지 장치(100)는 수집 대상 플로우에 상응하는 페이로드 데이터 및 분석 대상 파일에 상응하는 페이로드 데이터 중 적어도 어느 하나의 페이로드 데이터의 크기와 임계 크기를 비교한다. 이때, 임계 크기와의 비교 대상이 되는 페이로드 데이터는 병합된 페이로드 데이터를 의미할 수 있다.
비교 결과, 페이로드 데이터의 크기가 임계 크기 이상인 경우 네트워크 기반의 악성 파일 탐지 장치(100)는 도 2의 S270 단계를 수행하여, 네트워크 패킷에 상응하는 파일이 악성 파일인지 여부를 탐지할 수 있다.
반면, 페이로드 데이터의 크기가 임계 크기 미만인 경우 네트워크 기반의 악성 파일 탐지 장치(100)는 페이로드 임시 저장소에 임시 데이터를 저장한다(S320).
도 4는 본 발명의 일실시예에 따른 임시 데이터를 나타낸 도면이다.
도 4에 도시한 바와 같이, 네트워크 기반의 악성 파일 탐지 장치(100)는 전체 페이로드 데이터(410)에서, 파일이 시작되는 위치부터 해당 페이로드 데이터의 마지막까지를 임시 데이터(430)로 설정하고, 설정된 임시 데이터(430)를 페이로드 임시 저장소에 저장할 수 있다. 이때, 파일이 시작되는 위치는 분석 대상 파일 시그니처의 위치(420)를 의미할 수 있다.
또한, 네트워크 기반의 악성 파일 탐지 장치(100)는 임시 데이터가 저장된 페이로드 임시 저장소의 위치 정보와 해당 플로우 정보를 플로우 목록 저장부에 저장하여, 추가로 네트워크 패킷을 수집할 수 있다.
그리고 네트워크 기반의 악성 파일 탐지 장치(100)는 임시 데이터와 추가로 수집된 페이로드 데이터를 병합한다(S330).
도 5는 도 3의 S330 단계에서 페이로드 데이터를 병합하는 과정을 설명하기 위한 도면이다.
도 5에 도시한 바와 같이, 네트워크 기반의 악성 파일 탐지 장치(100)는 페이로드 임시 저장소에 저장된 임시 데이터(510)와, 추가로 수집된 네트워크 패킷에 상응하는 페이로드 데이터(520)를 병합하여 병합된 페이로드 데이터(530)를 생성할 수 있다.
이와 같이, 본 발명의 일실시예에 따른 네트워크 기반의 악성 파일 탐지 장치(100)는 파일을 포함하는 전체 네트워크 패킷들 중에서 일부에 대해서만, 파일이 시작되는 위치부터의 페이로드 데이터인 임시 데이터를 수집 및 병합하고, 이를 기반으로 해시값을 연산하여 악성 파일 여부를 판단하며, 악성 파일로 판단된 경우 해당 네트워크 연결을 종료시킬 수 있다.
이하에서는 도 6 및 도 7을 통하여 본 발명의 일실시예에 따른 분석 대상 파일의 존재 여부를 판단하는 과정에 대하여 더욱 상세하게 설명한다.
도 6은 도 2의 S260 단계에서 분석 대상 파일의 존재 여부를 판단하는 과정을 설명하기 위한 순서도이다.
먼저, 네트워크 기반의 악성 파일 탐지 장치(100)는 분석 대상 파일의 시그니처 존재 여부를 확인한다(S610).
네트워크 기반의 악성 파일 탐지 장치(100)는 페이로드 데이터를 기반으로, 분석 대상 파일의 파일 타입에 따른 시그니처가 존재하는지 여부를 확인한다.
도 7은 본 발명의 일실시예에 따른 분석 대상 파일의 시그니처를 나타낸 예시도이다.
도 7에 도시한 바와 같이, 분석 대상 파일은 실행 파일(Executable Files), 이미지 파일(Image Files), 압축 파일(Zip File) 및 문서 파일(Document files)로 분류될 수 있다.
그리고 실행 파일(Executable Files)은 PE, ELF, APK, JAR 등의 파일 타입으로 구분될 수 있고, 이미지 파일(Image Files)은 JPG, GIF 등의 파일 타입으로 구분될 수 있으며, 압축 파일(Zip File)은 ZIP 파일 타입을 포함할 수 있다. 문서 파일(Document files)은 PDF, PPTX, DOCX, XLSX, DOC, PPT 및 XLS 등의 파일 타입을 포함할 수 있고, 분석 대상 파일에 상응하는 각각의 파일 타입에는 도 7과 같이 시그니처가 부여되어 있을 수 있다.
또한, 동일한 파일 타입을 서로 다른 응용에서 사용할 경우, 일부 파일들의 파일 타입은 동일할 수 있다. 그리고 본 발명의 일실시예에 따른 네트워크 기반의 악성 파일 탐지 장치(100)는 각각의 파일 타입을 구분하지 않고, 실제로는 서로 다른 응용에서 사용되는 파일 타입이라 하더라도 동일한 파일 타입으로 처리하여 해당 분석 대상 파일의 악성 여부를 판단할 수 있다.
다시 도 6에 대하여 설명하면, 분석 대상 파일의 시그니처가 존재하는 것으로 판단된 경우(S620), 네트워크 기반의 악성 파일 탐지 장치(100)는 도 2의 S270 단계를 수행할 수 있다.
도 7에 도시된 시그니처 분석 대상 파일의 시그니처가 존재하는 것으로 확인되면, 네트워크 기반의 악성 파일 탐지 장치(100)는 도 2의 S270 단계를 수행하여 분석 대상 파일에 상응하는 플로우 정보 및 페이로드 데이터를 기반으로 악성 파일인지 여부를 탐지하는 과정을 수행할 수 있다.
설명의 편의상, 분석 대상 파일의 시그니처가 존재하는 것으로 확인될 경우, 악성 파일인지 여부를 탐지하는 도 2의 S270 단계를 수행하는 것으로 설명하였으나 이에 한정하지 않고, 네트워크 기반의 악성 파일 탐지 장치(100)는 S620 단계에서 분석 대상 파일의 시그니처가 존재하는 것으로 판단된 경우, 도 3의 S310 단계를 수행하여 필요에 따라 페이로드 데이터를 병합할 수 있다.
반면, S620 단계에서 분석 대상 파일의 시그니처가 존재하지 않는 것으로 판단된 경우, 네트워크 기반의 악성 파일 탐지 장치(100)는 플로우 정보 및 페이로드 데이터를 폐기한다(S630).
도 8은 본 발명의 또 다른 실시예에 따른 네트워크 기반의 악성 파일 탐지 장치의 구성을 나타낸 도면이다.
도 8에 도시한 바와 같이, 네트워크 기반의 악성 파일 탐지 장치(800)의 데이터 추출부(810)는 입력받은 패킷으로부터 플로우 정보 및 페이로드 데이터를 추출하고, 플로우 유형 판단부(820)는 플로우 목록 저장부(870)에서 플로우 정보를 검색하여 플로우 정보의 유형을 판단한다.
플로우 정보의 유형이 차단 대상 플로우인 것으로 판단된 경우, 연결 재설정부(830)는 연결 재설정 패킷을 전송하여, 플로우 정보에 상응하는 네트워크 패킷이 송수신된 세션을 종료한다.
반면, 플로우 정보의 유형이 수집 대상 플로우인 것으로 판단된 경우, 악성 파일 탐지부(860)는 페이로드 데이터에 상응하는 해시값을 악성 파일 해시 테이블(890)에서 검색하고, 검색 결과를 기반으로 수집 대상 플로우에 상응하는 파일이 악성 파일인지 여부를 판단한다.
또한, 플로우 정보가 플로우 목록 저장부(870)에 포함되어 있지 않은 경우, 파일 존재 확인부(840)는 페이로드 데이터를 기반으로 분석 대상 파일의 시그니처가 존재하는지 여부를 확인하며, 분석 대상 파일의 시그니처가 존재하는 경우 악성 파일 탐지부(860)는 해당 파일이 악성 파일인지 여부를 판단한다.
이때, 악성 파일 탐지부(860)는 페이로드 병합부(850)에 의해 병합된 페이로드 데이터를 기반으로 해당 파일이 악성 파일인지 여부를 판단할 수 있다. 여기서, 페이로드 병합부(850)는 수집 대상 플로우 및 분석 대상 파일에 상응하는 페이로드 데이터의 크기가 임계 크기 미만인 경우, 페이로드 데이터의 파일 시작 위치부터 마지막까지의 임시 데이터를 페이로드 임시 저장소(880)에 저장한다. 그리고 페이로드 병합부(850)는 임시 저장소(880)에 저장된 임시 데이터와 추가로 수집된 신규 네트워크 패킷의 페이로드 데이터를 병합하여 병합된 페이로드 데이터를 생성할 수 있다.
도 8에 도시된 데이터 추출부(810), 플로우 유형 판단부(820), 연결 재설정부(830), 파일 존재 확인부(840), 페이로드 병합부(850) 및 악성 파일 탐지부(860) 각각은 도 1에 도시된 데이터 추출부(110), 플로우 유형 판단부(120), 연결 재설정부(160), 파일 존재 확인부(170), 페이로드 병합부(850) 및 악성 파일 탐지부(140)와 실질적으로 동일한 기능을 수행할 수 있으며, 중복되는 설명은 생략한다.
그리고 설명의 편의를 위하여, 도 8의 플로우 목록 저장부(870), 페이로드 임시 저장소(880) 및 악성 파일 해시 테이블(890)가 네트워크 기반의 악성 파일 탐지 장치(800)의 내부에 구비되는 것으로 설명하였으나 이에 한정하지 않고, 네트워크 기반의 악성 파일 탐지 장치(800)의 외부에 별도의 저장장치로 구현될 수도 있다.
도 9는 본 발명의 또 다른 실시예에 따른 네트워크 기반의 악성 파일 탐지 방법을 나타낸 순서도이다.
먼저, 네트워크 기반의 악성 파일 탐지 장치는 네트워크 패킷이 도착하면(S910), 입력받은 네트워크 패킷을 처리한다(S920). 네트워크 기반의 악성 파일 탐지 장치가 네트워크 패킷을 처리하는 S920 단계는 도 2의 S210 단계와 실질적으로 동일한 바, 중복되는 설명은 생략한다.
그리고 네트워크 기반의 악성 파일 탐지 장치는 네트워크 패킷에 상응하는 플로우 정보가 차단 목록에 포함된 것으로 판단된 경우(S930), 연결 재설정 패킷을 전송하여 해당 세션을 종료한다(S940). 이때, 네트워크 기반의 악성 파일 탐지 장치가 세션을 종료하는 S940 단계는 도 2의 S240 단계와 실질적으로 동일한 바, 중복되는 설명은 생략한다.
또한, 네트워크 기반의 악성 파일 탐지 장치는 플로우 정보가 수집 대상 목록에 포함된 것으로 판단된 경우(S950), 페이로드 병합 과정을 수행한다(S960). 여기서, 페이로드 병합 과정은 도 3에 도시된 S310 단계 내지 S330 단계와 실질적으로 동일한 바, 중복되는 설명은 생략한다. 그리고 네트워크 기반의 악성 파일 탐지 장치는 페이로드 병합 과정을 수행한 후, 후술할 S990 단계를 수행할 수 있다.
반면, 플로우 정보가 차단 목록 및 수집 대상 목록 모두에 포함되지 않은 경우, 네트워크 기반의 악성 파일 탐지 장치는 분석 대상 파일이 존재하는지 여부를 판단한다(S970). 여기서, S970 단계는 도 2의 S260 단계와 실질적으로 동일한 바, 중복되는 설명은 생략한다.
이때, 분석 대상 파일이 존재하는 것으로 판단된 경우, 네트워크 기반의 악성 파일 탐지 장치는 수집 대상 플로우 목록에 해당 플로우 정보를 추가하고(S980), 페이로드 데이터의 크기가 최소 크기를 초과하는지 여부를 판단한다(S990). 이때, 네트워크 기반의 악성 파일 탐지 장치는 S960 단계에서 병합된 페이로드 데이터의 크기가 최소 크기를 초과하는지 여부를 판단할 수도 있다.
페이로드 데이터 또는 병합된 페이로드 데이터의 크기가 최소 크기 이하인 경우, 네트워크 기반의 악성 파일 탐지 장치는 페이로드 데이터를 임시 저장한다(S1000).
반면, 네트워크 기반의 악성 파일 탐지 장치는 페이로드 데이터 또는 병합된 페이로드 데이터의 크기가 최소 크기를 초과하는 경우, 해당 페이로드 데이터의 해시값을 계산한다(S1010).
그리고, 네트워크 기반의 악성 파일 탐지 장치는 계산된 해시값을 키 값으로, 악성 파일 해시 테이블을 검색한다(S1020). 이때, 악성 파일 해시 테이블에 포함되어 있지 않은 경우, 네트워크 기반의 악성 파일 탐지 장치는 수집 대상 플로우 목록에서 해당 플로우 정보를 삭제할 수 있다(S1030). 반면, 악성 파일 해시 테이블에 해당 해시값이 포함되어 있는 경우, 패킷 차단 목록을 업데이트할 수 있다(S1040).
도 9의 S1010 단계 내지 S1040 단계는 도 2의 S270 단계와 실질적으로 동일한 바, 중복되는 설명은 생략한다.
본 발명의 일실시예에 따른 네트워크 기반의 악성 파일 탐지 장치는 검색 대상에 포함시킬 악성 파일의 개수를 기 설정된 개수 이내로 설정하여 악성 파일 탐지를 수행할 수 있다. 이때, 네트워크 기반의 악성 파일 탐지 장치는 최근의 빈도가 높은 악성 파일들을 주요 검색 대상에 포함시키고, 일정 기간 이상 출현하지 않는 악성 파일들을 검색 대상에서 제외하여 검색 대상을 설정할 수 있다.
또한, 본 발명의 일실시예에 따른 네트워크 기반의 악성 파일 탐지 장치는 소수의 패킷을 이용하여 메모리 상에서 악성 파일을 탐지할 수 있다. 즉, 네트워크 기반의 악성 파일 탐지 장치는 파일을 재구성하기 위하여 파일에 속한 모든 패킷을 저장하고, 전체 파일을 재구성한 후 악성 파일인지 여부를 판단하지 않는다.
종래 기술에 따르면, 모든 패킷을 수집 및 저장하고, 이를 재구성하여 악성 파일인지 여부를 판단한다. 이때, 전체 파일의 크기를 알 수 없으므로 페이로드 데이터를 메모리 상에 모두 로드 할 수 없고, 이로 인하여 하드디스크에 페이로드 데이터를 저장하므로 오버헤드가 발생한다. 그러나, 본 발명의 일실시예에 따른 네트워크 기반의 악성 파일 탐지 장치는 소수의 패킷을 이용하고, 메모리 상에서 페이로드 데이터를 처리하므로 오버헤드를 줄일 수 있어 효율적이다.
모든 실행 가능한 파일들은 실행 코드가 메모리 상에 적재되고, 중앙처리장치(CPU)가 해당 실행 코드를 수행할 수 있도록 메모리 상의 정확한 위치가 지정되어야 한다. 한편, 실제 실행 코드뿐 아니라, 실행 코드를 메모리에 적재하기 위한 환경 정보는 각각의 실행 파일별로 다르다.
그리고 환경 정보를 포함하는 부분과 실제 실행 코드의 일부를 이용하여 해시값을 계산하는 경우, 동일한 파일이 아닌 경우 동일한 해시값을 가질 확률은 매우 낮다. 매우 적은 확률로 서로 다른 파일이 동일한 해시값을 갖는 경우를 예방하기 위하며, 실제 검색 대상에 포함된 악성 파일의 개수보다 훨씬 더 큰 규모의 악성 파일 해시 테이블을 사용한다.
예를 들어, 네트워크 기반의 악성 파일 탐지 장치는 검색 대상 악성 파일의 크기를 16 비트(65,536개)로 운영하고, 24 비트(16,777,216개) 크기의 악성 파일 해시 테이블을 운영할 수 있다. 이때, 네트워크 기반의 악성 파일 탐지 장치가 24비트로 악성 파일 해시 테이블을 운영하더라도, 약 1.6Gbyte 정도의 메모리만을 차지한다.
또한, 본 발명의 일실시예에 따른 네트워크 기반의 악성 파일 탐지 장치는 해당 패킷에 파일이 존재하지 않거나, 플로우 정보가 차단 대상 플로우에 해당하는 경우, 즉각적으로 패킷 처리를 중지하므로, 고성능으로 악성 파일 탐지를 수행할 수 있다. 기존의 IDS 또는 IPS에서 사용되는 DPI(Deep Packet Inspection) 기술을 활용하는 경우, 라인 스피드로 네트워크 패킷을 처리할 수 있다.
도 10은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 블록도이다.
도 10을 참조하면, 본 발명의 실시예는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1000)에서 구현될 수 있다. 도 10에 도시된 바와 같이, 컴퓨터 시스템(1000)은 버스(1020)를 통하여 서로 통신하는 하나 이상의 프로세서(1010), 메모리(1030), 사용자 입력 장치(1040), 사용자 출력 장치(1050) 및 스토리지(1060)를 포함할 수 있다. 또한, 컴퓨터 시스템(1000)은 네트워크(1080)에 연결되는 네트워크 인터페이스(1070)를 더 포함할 수 있다. 프로세서(1010)는 중앙 처리 장치 또는 메모리(1030)나 스토리지(1060)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1030) 및 스토리지(1060)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리는 ROM(1031)이나 RAM(1032)을 포함할 수 있다.
따라서, 본 발명의 실시예는 컴퓨터로 구현된 방법이나 컴퓨터에서 실행 가능한 명령어들이 기록된 비일시적인 컴퓨터에서 읽을 수 있는 매체로 구현될 수 있다. 컴퓨터에서 읽을 수 있는 명령어들이 프로세서에 의해서 수행될 때, 컴퓨터에서 읽을 수 있는 명령어들은 본 발명의 적어도 한 가지 태양에 따른 방법을 수행할 수 있다.
이상에서와 같이 본 발명에 따른 네트워크 기반의 악성 파일 탐지 장치 및 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
100: 네트워크 기반의 악성 파일 탐지 장치
110: 데이터 추출부 120: 플로우 유형 판단부
130: 페이로드 병합부 140: 악성 파일 탐지부
150: 목록 업데이트부 160: 연결 재설정부
170: 파일 존재 확인부 410: 전체 페이로드 데이터
420: 분석 대상 파일의 시그니처
430: 임시 데이터 510: 저장된 임시 데이터
520: 신규 페이로드 데이터 530: 병합된 페이로드 데이터
800: 네트워크 기반의 악성 파일 탐지 장치
810: 데이터 추출부 820: 플로우 유형 판단부
830: 연결 재설정부 840: 파일 존재 확인부
850: 페이로드 병합부 860: 악성 파일 탐지부
870: 플로우 목록 저장부 880: 페이로드 임시 저장소
890: 악성 파일 해시 테이블 1000: 컴퓨터 시스템
1010: 프로세서 1020: 버스
1030: 메모리 1031: 롬
1032: 램 1040: 사용자 입력 장치
1050: 사용자 출력 장치 1060: 스토리지
1070: 네트워크 인터페이스 1080: 네트워크

Claims (1)

  1. 입력된 네트워크 패킷을 처리하여, 플로우 정보 및 페이로드 데이터를 추출하는 데이터 추출부,
    플로우 목록 저장부에서 상기 플로우 정보를 검색하여, 상기 플로우 정보의 유형을 판단하는 플로우 유형 판단부,
    상기 플로우 정보의 유형을 기반으로, 상기 페이로드 데이터를 이용하여 상기 네트워크 패킷에 상응하는 파일이 악성 파일인지 여부를 탐지하거나, 상기 네트워크 패킷에 상응하는 세션을 종료하는 악성 파일 탐지부, 그리고
    탐지된 결과를 기반으로, 상기 플로우 목록 저장부를 업데이트하는 목록 업데이트부
    를 포함하는 것을 특징으로 하는 네트워크 기반의 악성 파일 탐지 장치.
KR1020170010974A 2017-01-24 2017-01-24 네트워크 기반의 악성 파일 탐지 장치 및 방법 KR20180086917A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170010974A KR20180086917A (ko) 2017-01-24 2017-01-24 네트워크 기반의 악성 파일 탐지 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170010974A KR20180086917A (ko) 2017-01-24 2017-01-24 네트워크 기반의 악성 파일 탐지 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20180086917A true KR20180086917A (ko) 2018-08-01

Family

ID=63227753

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170010974A KR20180086917A (ko) 2017-01-24 2017-01-24 네트워크 기반의 악성 파일 탐지 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20180086917A (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150110065A (ko) 2014-03-24 2015-10-02 한국전자통신연구원 실행파일 모니터링 기반 악성코드 탐지 방법 및 시스템
KR101587161B1 (ko) 2014-09-03 2016-01-20 한국전자통신연구원 실시간 네트워크 안티바이러스 수행 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150110065A (ko) 2014-03-24 2015-10-02 한국전자통신연구원 실행파일 모니터링 기반 악성코드 탐지 방법 및 시스템
KR101587161B1 (ko) 2014-09-03 2016-01-20 한국전자통신연구원 실시간 네트워크 안티바이러스 수행 장치 및 방법

Similar Documents

Publication Publication Date Title
US10027691B2 (en) Apparatus and method for performing real-time network antivirus function
EP2924943B1 (en) Virus detection method and device
US9100319B2 (en) Context-aware pattern matching accelerator
US11546372B2 (en) Method, system, and apparatus for monitoring network traffic and generating summary
US8386598B2 (en) Network monitoring by using packet header analysis
US20170034195A1 (en) Apparatus and method for detecting abnormal connection behavior based on analysis of network data
US11632389B2 (en) Content-based optimization and pre-fetching mechanism for security analysis on a network device
US9055096B2 (en) Apparatus and method for detecting an attack in a computer network
WO2013091435A1 (zh) 文件类型识别方法及文件类型识别装置
KR100895102B1 (ko) 파일 탐색 시스템 및 방법
WO2018076697A1 (zh) 僵尸特征的检测方法和装置
CN110808994B (zh) 暴力破解操作的检测方法、装置及服务器
US11057347B2 (en) Filtering data using malicious reference information
CN114039774A (zh) 一种恶意pe程序的阻断方法、检测方法及装置
JP2008140102A (ja) 情報処理装置及び漏洩情報判定方法及びプログラム
KR101322037B1 (ko) N-그램 모델에 기반한 인덱스를 생성하여 효율적인 고속 매칭 메커니즘을 제공하는 침입 탐지 시스템의 동작 방법
US9848050B2 (en) Information processing device for packet and header inspection
KR20180086917A (ko) 네트워크 기반의 악성 파일 탐지 장치 및 방법
JP4050253B2 (ja) コンピュータウィルス情報収集装置、コンピュータウィルス情報収集方法、及びプログラム
KR102006475B1 (ko) 침입 감지 방법 및 장치
JP5925287B1 (ja) 情報処理装置、方法およびプログラム
KR101983997B1 (ko) 악성코드 검출시스템 및 검출방법
KR102607050B1 (ko) 압축 패킷의 보안 처리 방법 및 이를 이용하는 보안 지원 장치
KR100729266B1 (ko) 네트워크 장비에서 소정의 네트워크를 통해 전송되는파일을 검사하는 방법 및 상기 방법이 채용된 네트워크장비
KR102544874B1 (ko) 분할 패킷의 보안 처리 방법 및 이를 이용하는 보안 지원 장치