KR101942442B1 - 악성코드 검증을 위한 자동화 시스템 및 방법 - Google Patents

악성코드 검증을 위한 자동화 시스템 및 방법 Download PDF

Info

Publication number
KR101942442B1
KR101942442B1 KR1020170103010A KR20170103010A KR101942442B1 KR 101942442 B1 KR101942442 B1 KR 101942442B1 KR 1020170103010 A KR1020170103010 A KR 1020170103010A KR 20170103010 A KR20170103010 A KR 20170103010A KR 101942442 B1 KR101942442 B1 KR 101942442B1
Authority
KR
South Korea
Prior art keywords
file
module
malicious
malicious code
verification
Prior art date
Application number
KR1020170103010A
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 KR1020170103010A priority Critical patent/KR101942442B1/ko
Application granted granted Critical
Publication of KR101942442B1 publication Critical patent/KR101942442B1/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
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security

Landscapes

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

Abstract

본 발명은 악성코드 검증을 위한 자동화 시스템에 관한 것으로, 본 발명의 일양태에 따르면, 악성코드 검증을 위한 악성코드 검증 자동화 시스템이 제공되고, 이 시스템은, 외부로부터 전송되는 파일로부터 파일 특성 정보를 수집하는 파일수집모듈, 외부로부터 전송되어온 파일을 분석하기 위한 파일검증모듈, 파일검증모듈로부터 분석된 결과에 기반하여 파일의 악성 여부를 판단하는 악성코드 판별모듈, 상기 파일검증모듈로부터 분석된 결과가 저장되는 정보저장모듈, 악성코드 판별모듈로부터의 판별 결과에 기반하여 파일 실행을 허용하고 파일 실행을 차단하는 파일차단모듈, 정보저장모듈에 저장된 분석된 결과를 사용자에게 제공하는 정보시각화모듈 및 상기 모듈들의 동작을 제어하기 위한 제어모듈을 포함하고, 상기 파일검증모듈은, 복수의 안티바이러스 엔진을 포함하는 멀티 안티바이러스 검사 모듈, 샌드박스 또는 가상 시스템내에서 해당하는 파일을 실행하고 파일의 동작을 분석하는 행위분석 검사모듈, 및 해당하는 파일이 연결을 시도하고자 하는 도메인, IP, URL에 대한 평판을 분석하기 위한 평판분석모듈를 포함하는 것을 특징적 구성으로 포함한다.

Description

악성코드 검증을 위한 자동화 시스템 및 방법{SYSTEM AND METHOD FOR INSPECTING MALICIOUS CODE}
본 발명은 악성코드 검증을 위한 자동화 시스템에 관한 것으로, 보다 구체적으로 네트워크를 통해 유입된 파일의 악성 및 양성 여부를 검증하고, 검증된 결과에 기반하여 대응 방안을 제공하는 악성코드 검증을 위한 자동화 시스템에 관한 것이다.
맬웨어(Malware) 또는 악성 프로그램(Malicious program)이라 불리우는 악성 코드로 불리우며, 사용자가 알지 못하는 사이 컴퓨터 시스템에 침입 및 설치되어 시스템이나 네트워크에 피해를 주거나, 불법적으로 정보를 취득하도록 설계된 소프트웨어를 의미한다.
악성코드는 일반적으로, 사용자가 웹페이지를 검색할 때, P2P 서비스를 이용할 때, 쉐어웨어를 이용할 때, 불법 복제 프로그램을 이용할 때, 전자우편에 첨부된 파일을 실행하거나 메신저 등에 첨부된 파일을 실행할 때 자동으로 설치되거나, 내부자(해커)에 의한 직접적인 악성코드 설치에 의해 사용자의 시스템으로 침투될 수 있다. 이 처럼 현재의 악성 코드는 그 유포 방법이 매우 복잡해지고 지능화되어 점점 더 악성 코드의 탐지가 어려워지고 있다.
또한 이와 같은 악성 코드에 감염되면 시스템 내의 파일의 암호화, 시스템 부팅 오류(MBR 삭제), 네트워크 트래픽 발생, 시스템 성능 저하, 파일의 삭제, 이메일 자동 발송, 개인정보 유출, 원격 제어 등과 같은 다양한 증상으로 사용자에게 피해를 가한다.
현재 이와 같은 악성코드를 탐지하기 위해서는 모든 악성코드의 패턴 또는 해쉬값 등의 특성을 추출하여 악성코드 데이터베이스에 저장해 두고, 시스템에 존재하는 모든 파일의 특성을 추출한 후 이를 악성코드 데이터베이스에 저장된 데이터와 비교하여 양자의 특성이 일치하는 경우 해당 파일을 악성코드로 판단하는 패턴기반 악성코드 탐지 방법이 일반적으로 알려져 있다.
이와 같은 패턴기반 악성코드 탐지방법은 알려진 악성코드에 대해 매우 빠르고 정확하게 탐지할 수 있다는 장점이 있지만, 알려지지 않은 악성 코드, 즉 악성코드 데이터베이스에 저장되지 않은 특성을 가진 악성 코드의 경우 탐지 자체가 불가능하고, 또한 이미 알려진 악성코드라 할지라도 하루에 수십만개에 달하는 변종 및 신종 악성코드가 생성되고 있기 때문에 이를 효율적으로 탐지하기 어렵다는 문제점이 발생된다.
또한 이와 같은 종래 기술에 의하면, 악성코드를 탐지하기 위해 시스템에 존재하는 모든 파일에 대해 개별적으로 검사를 수행해야 하므로 악성코드 탐지 시간이 길어지는 단점이 있으며, 특히, 하루에 4천여 개 이상의 변종이 나오는 봇(Bot)과 같은 악성코드의 경우, 악성코드 탐지를 위해 모든 변종 악성코드 파일의 샘플을 보유해야 하고, 샘플 파일로부터 악성코드 탐지를 위한 파일의 특성을 일일이 추출해야 하므로, 메모리의 효율 및 탐지 효율이 떨어지는 단점이 있다.
즉 이와 같은 패턴기반의 악성코드 탐색 방법은, 새로운 악성코드 및 변종이 출현할 경우 진단이 어렵고, 분석이 끝난 후에 데이터베이스에 반영이 이루어지기 때문에 신속한 처리가 어렵다.
이러한 단점을 보완하고자 하는 일안으로 특정 파일을 실제 실행시켜 해당 파일의 악성 또는 양성 여부를 검증하는 행위기반 악성코드 탐지에 대한 연구가 이루어지고 있다. 일례로, "프로세스 행위 예측 기법을 이용한 비정형 악성코드 탐지방법 및 그 시스템"이라는 명칭의 공개특허 제2008-0047261호에는 행위기반 악성코드 탐지기법에 대해 개시하고 있지만 행위 탐지를 위해 시스템 전체를 모니터링하기 때문에 시스템 내에서 사용되는 정상행위를 탐지할 수 있는 여지가 있고, 이를 피하기 위한 처리 모듈이 별도로 존재해야 하기 때문에 시스템 부하 및 탐지 성능 저하를 유발할 수 있는 단점이 있다.
따라서, 시스템의 부하를 방지하면서, 악성코드 탐지시 오탐율은 낮추고, 정탐율은 높일 수 있는 보다 효율적인 기술 개발이 요구되고 있는 실정이다.
본 발명은 전술한 바와 같이 악성코드 탐지시 오탐율을 낮추면서 정탐율을 높일 수 있는 악성코드 검증을 위한 자동화 시스템을 제공하는 것을 목적으로 한다.
전술한 과제를 해결하기 위해, 본 발명의 일양태에 따르면, 악성코드 검증을 위한 악성코드 검증 자동화 시스템이 제공되고 이 시스템은, 외부로부터 전송되는 파일로부터 파일 특성 정보를 수집하는 파일수집모듈, 외부로부터 전송되어온 파일을 분석하기 위한 파일검증모듈, 파일검증모듈로부터 분석된 결과에 기반하여 파일의 악성 여부를 판단하는 악성코드 판별모듈, 상기 파일검증모듈로부터 분석된 결과가 저장되는 정보저장모듈, 악성코드 판별모듈로부터의 판별 결과에 기반하여 파일 실행을 허용하고 파일 실행을 차단하는 파일차단모듈, 정보저장모듈에 저장된 분석된 결과를 사용자에게 제공하는 정보시각화모듈 및 상기 모듈들의 동작을 제어하기 위한 제어모듈을 포함하고, 상기 파일검증모듈은, 복수의 안티바이러스 엔진을 포함하는 멀티 안티바이러스 검사 모듈, 샌드박스 또는 가상 시스템내에서 해당하는 파일을 실행하고 파일의 동작을 분석하는 행위분석 검사모듈, 및 해당하는 파일이 연결을 시도하고자 하는 도메인, IP, URL에 대한 평판을 분석하기 위한 평판분석모듈를 포함하는 것을 특징적 구성으로 포함한다.
전술한 양태에 있어서, 해당하는 파일에 대한 상기 멀티 안티바이러스 검사 모듈로부터의 검사 결과가 미리 정해진 수 이상의 안티바이러스 엔진에서 악성바이러스 또는 악성코드인 것으로 판단되면, 상기 파일차단모듈은 해당하는 파일에 대해 삭제 또는 파일 형식을 변경하도록 동작한다.
또한 전술한 양태에서 해당하는 파일에 대한 상기 멀티 안티바이러스 검사 모듈로부터의 검사 결과가 미리 정해진 수 미만의 안티바이러스 엔진에서 악성바이러스 또는 악성코드인 것으로 판단되면, 상기 제어부는 상기 행위분석 검사모듈 및 평판분석모듈로 하여금 상기 해당하는 파일에 대해 추가의 검사를 더 실행하도록 동작된다.
또한 전술한 양태에서 행위분석 검사모듈은 해당하는 파일을 샌드박스 또는 가상 시스템내에서 실행시켰을 때 내부적으로 동작되는 API코드, 파일 생성, 레지스트리 변조, 네트워크 연결, 안티 디버깅 기술을 포함하는 다양한 행위별로 위험도를 부여하고, 의심되는 행위에 대해 점수를 부가하도록 동작된다.
또한 전술한 양태에서 평판분석모듈은, 해당 파일이 연결을 시도하는 도메인, IP, URL 주소를 추출하고 추출된 도메인,IP, URL 주소가 C&C 서버로 악용되고 있는지 여부, 도박, 성인, 불법 매매를 포함하는 불법 사이트로 악용되고 있는지 여부를, 도메인, IP, URL 주소에 대한 정보를 포함하는 데이터베이스에 기반하여 각 요소별로 일치에 대해 점수를 부가하도록 구성된다.
또한 전술한 양태에서 악성코드 판별모듈은 행위분석 검사모듈 및 평판분석모듈에서 종합하여 분석된 결과에 기반하여 해당하는 파일에 대해 악성 파일인지의 여부를 종합하여 판단한다.
본 발명의 다른 양태에 따르면 악성코드 검증을 위한 악성코드 검증 방법이 제공되고, 이 방법은, 파일수집모듈로부터 파일을 수집하고 수집된 파일로부터 특성 정보를 추출하는 단계; 수집된 파일에 대해 복수의 안티바이러스 엔진을 포함하는 멀티 안티바이러스 검사를 수행하는 단계; 멀티 안티바이러스 검사에서 미리정해진 수 이상의 엔진에서 악성 파일 여부를 판단하는 단계; 멀티 안티바이러스 검사에서 미리정해진 수 이상의 엔진에서 악성 파일로 판단된 경우 해당하는 파일을 차단하거나 해당하는 파일에 포함된 악성 코드를 삭제하는 단계를 포함하고, 멀티 안티바이러스 검사에서 미리정해진 수 이하의 엔진에서만 악성 파일로 판단된 경우, 샌드박스 또는 가상 시스템내에서 해당하는 파일을 실행하고 파일의 행위를 분석하는 행위분석단계; 및 해당하는 파일이 연결을 시도하고자 하는 도메인, IP, URL에 대한 평판을 분석하는 단계; 행위분석 단계 및 상기 평판분석 단계의 결과에 기반하여 악성 파일 여부를 더 판단하는 단계를 포함하는 것을 특징적 구성으로 한다.
전술한 양태에서 멀티 안티바이러스 검사에서 미리정해진 수 이상의 엔진에서 악성 파일 여부를 판단하는 단계는 멀티 안티바이러스 검사에서 판단된 결과를 정보 저장 모듈에 저장하는 단계를 더 포함하고, 상기 행위분석 단계 및 상기 평판분석 단계의 결과에 기반하여 악성 파일 여부를 더 판단하는 단계는 판단된 결과를 정보 저장 모듈에 저장하는 단계를 더 포함한다.
또한 전술한 양태에서 정보 저장 모듈에 저장된 판단 결과를 사용자에게 시각화하여 제공하는 단계를 더 포함한다.
또한 전술한 양태에서 상기 행위분석단계는 해당하는 파일을 샌드박스 또는 가상 시스템내에서 실행시켰을 때 내부적으로 동작되는 API코드, 파일 생성, 레지스트리 변조, 네트워크 연결, 안티 디버깅 기술을 포함하는 다양한 행위별로 위험도를 부여하고, 의심되는 행위에 대해 점수를 부가하는 점수화 단계를 더 포함한다.
또한 전술한 양태에서 의심되는 행위에 대해 점수를 부가하는 점수화 단계에 더하여, 평판분석단계는, 해당 파일이 연결을 시도하는 도메인, IP, URL 주소를 추출하고 추출된 도메인,IP, URL 주소가 C&C 서버로 악용되고 있는지 여부, 도박, 성인, 불법 매매를 포함하는 불법 사이트로 악용되고 있는지 여부를, 도메인, IP, URL 주소에 대한 정보를 포함하는 데이터베이스에 기반하여 각 요소별로 일치에 대해 점수를 부가하도록 구성된 점수화 단계를 포함한다.
본 발명에 따르면 악성코드 탐지시 오탐율을 낮추면서 정탐율을 높일 수 있는 악성코드 검증을 위한 자동화 시스템을 제공할 수 있다.
도 1은 본 발명에 따른 악성코드 검증을 위한 자동화 시스템을 개략적으로 나타낸 블록도.
도 2는 본 발명에 따른 악성코드 검증을 위한 자동화 시스템 내의 파일 검증 모듈의 블록도.
도 3은 본 발명에 따른 악성코드 검증을 위한 자동화 시스템에서의 파일 변환 형식의 일례를 나타낸 도면.
도 4는 본 발명에 따른 악성코드 검증을 위한 자동화 시스템에서의 검증 방법을 개략적으로 나타낸 흐름도.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되는 실시예를 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이다.
본 명세서에서 본 실시예는 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 그리고 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 따라서, 몇몇 실시예들에서, 잘 알려진 구성 요소, 잘 알려진 동작 및 잘 알려진 기술들은 본 발명이 모호하게 해석되는 것을 피하기 위하여 구체적으로 설명되지 않는다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. 그리고, 본 명세서에서 사용된(언급된) 용어들은 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 또한, '포함(또는, 구비)한다'로 언급된 구성 요소 및 동작은 하나 이상의 다른 구성요소 및 동작의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 정의되어 있지 않은 한 이상적으로 또는 과도하게 해석되지 않는다.
이하 첨부된 도면을 참조하여 본 발명의 실시예에 대해 설명한다.
도 1은 본 발명에 따른 악성코드 검증 자동화 시스템(100)의 일례를 나타낸 도면이다. 도 1에 도시된 바와 같이, 본 발명에 따른 악성코드 검증 자동화 시스템(100)은 파일수집모듈(110), 파일검증모듈(120), 악성코드판별모듈(130), 정보저장모듈(140), 파일차단모듈(150), 정보시각화모듈(160) 및 상기 모듈들(110~160)의 동작을 제어하기 위한 제어모듈(170)을 포함한다.
파일수집모듈(110)은 악성코드를 탐지하기 위해 PC 또는 컴퓨팅 장치에서 정의된 다양한 특성인자 이벤트가 발생할 때마다 해당 정보를 수집하게 된다. 여기서, 특성인자 이벤트는 사용자 컴퓨팅 장치의 프로세스와 관련된 정보, 파일 시스템과 관련된 정보, 레지스트리와 관련된 정보를 포함한다. 이 특성인자는 필요에 따라 추가될 수 있다.
파일수집모듈(110)에서 수집되는 정보는 도메인, IP, URL, 호스트 ID, 사용자 ID, 수집시간, 운영체제, 프로세스명, 프로세스 ID, 특성인자 ID, 해당 특성인자에 따른 추가 정보를 포함한다.
파일검증모듈(120)은 API를 통해 다양한 검증 솔루션(예를 들면 멀티 안티 바이러스 스캐닝, 샌드박스를 이용한 행위 분석 또는 지능형 위협 분석 시스템을 이용한 평판 분석)의 결과값을 근거로 수집된 파일의 악성 또는 양성 여부를 검증한다.
도 2는 파일검증모듈(120)의 구성을 개략적으로 나타낸 블록도 이다. 본 발명에 따른 파일검증모듈(120)은 도 2에 도시된 바와 같이, 멀티 안티바이러스 검사 모듈(122), 행위분석 검사모듈(124), 및 평판분석모듈(128)를 포함한다.
멀티 안티바이러스 검사 모듈(122)은 현재 사용중인 30개의 안티바이러스 엔진들을 물리적으로 통합하여 멀티스캔 기능을 수행하도록 구성된다. 이와 같은 멀티 안티 바이러스 엔진을 이용한 멀티 스캐닝은 단일 안티바이러스 엔진을 통해 수행되는 바이러스 탐지에 비해 보다 넓은 바이러스 탐지 성공율과 함께 보다 신속하고 정확하게 악성 코드를 탐지하는 것을 가능하게 한다.
행위분석 검사모듈(124)은 샌드박스를 이용한 파일에 대한 행위분석을 수행한다. 구체적으로 행위분석 검사모듈(124)는 프로그램 상의 보호된 영역인 샌드박스(Sandbox) 내에서 분석 대상 파일내의 코드를 동작시켰을 때, 코드에 의한 API의 일련의 호출 흐름에 따른 행위 데이터를 분석하여 해당하는 파일 코드의 악성 또는 야성 여부를 판단한다.
구체적으로 행위분석 검사모듈(124)는 샌드박스 내에서 API 후킹(hooking)을 통해 분석 대상 코드가 동작하는 동안 분석 대상 코드의 API 호출 정보를 수집할 수 있다.
이때, 후킹(hooking)은 운영 체제나 응용 소프트웨어 등의 각종 컴퓨터 프로그램에서 소프트웨어 구성 요소 간에 발생하는 함수 호출, 메시지, 이벤트 등을 중간에서 바꾸거나 가로채는 명령, 방법, 기술이나 행위를 의미하며, 이때 이러한 간섭된 함수 호출, 이벤트 또는 메시지를 처리하는 코드를 후크(hook)라고 한다.
따라서, API 후킹을 이용하게 되면, API를 호출하기 전/후에 사용자의 후크 코드(hook code)를 실행시킬 수 있으며, API에 넘어온 파라미터 혹은 API 함수의 리턴 값을 엿보거나 조작할 수 있다.
또한 API 호출 자체를 취소시키거나 사용자 코드로 실행 흐름을 변경시킬 수 있다. 따라서, 본 발명에 따른 행위분석 검사모듈(124)은 API 후킹을 통해 수집된 API 호출 흐름을 이용함으로써, 보다 효율적으로 악성코드를 탐지하는 것이 가능하다.
또한, 행위분석 검사모듈(124)는 상기 분석 대상 코드가 동작하는 동안 프로세스 별로 생성되거나 또는 기록된 행위 데이터(즉 API 호출 로깅(Logging)에 관한 정보)를 시간 순으로 수집할 수도 있다.
이때 로깅(Logging)은 시스템을 작동할 때 시스템의 작동상태의 기록/보존, 이용자의 습성조사 및 시스템 동작의 분석 등을 하기 위해 작동 중의 각종 정보에 대한 기록을 만드는 것을 말하며, 행위분석 검사모듈(124)는 API 호출 흐름 정보가 기록된 로깅(Logging)으로부터 행위 데이터를 시간 순으로 수집할 수도 있다.
전술한 바와 같이 행위분석 검사모듈(124)은 복수의 분석 대상 코드들이 프로그램 상에서 동작시 호출하는 API(Application Programming Interface)의 호출 흐름에 따른 행위 데이터를 수집하고, 악성 코드의 행위로 간주되는 행위에 대해 플러스(+) 가중치를 부여하고, 양성 코드의 행위로 간주되는 행위에 대응하는 노드에는 마이너스(-) 가중치를 부여하도록 더 동작될 수도 있다.
평판분석모듈(126)은 수집된 파일로부터 추출된 도메인, IP, URL 등의 정보를 이용하여 파일의 신뢰도를 검증한다.
구체적으로, 평판 분석 모듈(126)은 행위 분석 검사 모듈과 연동하여 행위 분석 시 의심되는 프로그램이 연결을 시도하는 도메인/IP 주소를 추출하고 해당 추출된 도메인/IP 주소가 악성코드가 C&C 서버로 악용하고 있는지, 도박, 성인, 불법 매매 등 사이트로 악용되고 있는지 판별한다.
판별 기준으로는 악성 도메인을 호스팅 한 사용자의 이름, 이메일 주소가 다른 도메인을 호스팅 중일 때 해당 도메인에 위험도를 부여하거나 특정 IP 주소가 악성으로 판단된 도메인 주소를 호스팅 중일 때 위험(악성)으로 판별하게 된다.
이렇게 악성으로 판별할 수 있는 기준(URL/IP/Domain)은 평판 분석 모듈 내에 전 세계 다양한 도메인/IP 주소에 대한 방대한 데이터베이스를 기준으로 악성여부를 판별하게 된다.
전술한 바와 같이 본 발명의 실시예에서는 멀티 안티바이러스 엔진을 이용한 패턴 기반의 악성코드 탐지 및 악성코드를 보호된 시스템의 환경(샌드박스) 또는 가상환경에서 실행함으로써 악성코드 여부를 판단하는 행위기반 분석을 API(Application Programming Interface) 호출 함수로 연동시켜 분석하여 악성여부를 검증하도록 구성되어 악성코드의 정탐율을 향상시킬 수 있게 된다.
다음으로 악성코드 판별모듈(130)에 대해 설명한다. 악성코드 판별모듈(130)은 파일검증모듈(120)에서 검증된 결과값에 기반하여 악성 또는 양성 여부를 판단한다. 이와 같은 악성코드 판별모듈(130)에서는 파일 검증 모듈에서 산출된 결과값, 즉 가중치의 합으로 판단을 수행할 수 있다.
일례로, 기존에 악성 코드 분석 데이터를 기반으로, 10개의 악성 코드 중 7개에서 공통적으로 특정 행위(API 호출)가 발견된 경우, 상기 특정 행위는 악성 코드일 가능성이 높다는 의미로, 상기 특정 행위에 대응하는 코드에는 100점(확실히 악성코드인 경우) 중 +70의 가중치를 부여할 수 있다.
따라서, 분석 대상 코드의 행위 데이터가 악성코드 탐지시 70점의 가중치를 가진 행위에 대응하면 악성코드 판별모듈(130)에서는 분석 대상 코드의 악성 코드 가능성이 70%임을 사용자에게 제공할 수도 있다.
즉 악성 코드 판별모듈(130)에는 분석 대상 코드를 악성코드로 판단하는 기준값이 미리 설정되어 존재할 수도 있고, 이 경우 기준값 이상인 경우 악성인 것으로 판단할 수 있다.
다음으로, 정보저장모듈(140)에 대해 설명한다. 정보저장모듈(140)은 파일코드의 양성 또는 악성 여부의 결과 데이터를 저장하도록 기능한다. 구체적으로, 정보저장모듈(140)은 파일검증모듈(120)에서 생성되는 정보, 예를 들면, 멀티 안티바이러스 백신 엔진에서 검출된 악성코드 결과값과 행위 분석 모듈에서 판별한 결과 값, 마지막으로 URL/IP/Domain 평판 분석 기술에서 악성 또는 양성인지에 대한 결과 데이터를 기록한다.
파일 차단 모듈(150)은 악성코드 판별모듈(130)에서 악성 코드인 것으로 판별된 경우 파일을 차단하도록 동작한다. 파일 차단 모듈(150)은 일례로 파일 자체를 삭제하거나, 또는 파일 안에 내장된 악성코드 또는 공격코드를 제거하거나, 파일의 형식을 다른 안전한 파일 형식으로 변환한다.
도 3은 전술한 바와 같은 파일 변환의 일례를 나타낸 도면이다. 도 3에 도시된 바와 같이 원본 파일의 형식을 호환가능한 다른 안전한 형태의 파일로 변환하므로써 데이터 내에 포함된 악성코드가 침투하는 것이 방지될 수 있다.
본 발명의 실시예에서는 17개의 파일을 102개의 변환 파일로 변경하는 것에 설명하고 있지만 본 발명은 이에 한정되는 것은 아니고 도 3에 기재된 파일 이외의 다른 형식의 원본 파일을 다른 형식의 변환 형식으로 제공할 수도 있다.
정보시각화 모듈(160)은 사용자에게 제공되는 정보를 시각화하는 모듈로서, 파일수집모듈 수집 모듈(110)을 통해 수집된 파일 코드와 정보와, 파일검증모듈에서 분석된 파일 코드에 대한 분석 결과 등을 사용자의 모니터 수단에 제공한다.
구체적으로 정보 시각화 모듈(160)은 파일 코드의 악성 또는 양성 여부를 통합 상황판(Dash Board)에 요약하거나 상세하게 표시하기 위한 모듈로, 파일의 분석 상태, 멀티 안티바이러스 스캔 엔지의 위험도 현항, 샌드박스 분석 위험도 현황, 전체 파일 업로드 현황, 분석완료된 파일의 현황, 분석진행중인 파일 현황, 분석대기중인 파일 현황, 시스템 리소스 사용율(CPU, 메모리, 하드디스크) 및 전체 부하율 등을 포함할 수 있다.
즉, 정보시각화 모듈(160)은 사용자가 파일 및 이벤트 관련 정보, 악성코드 정보, 분석관련 정보를 한눈에 파악할 수 있도록, 다양한 GUI(Graphic User Interface)를 사용자에게 제공하도록 구성된다.
제어 모듈(170)은 악성코드 검증 자동화 시스템(100)의 전체적인 연산과 동작을 제어할 수 있고, 전술한 바와 같은 각각의 모듈 사이의 원할한 연계가 가능하도록 각각의 모듈들을 제어한다.
도 4는 본 발명에 따른 악성코드 검증 자동화 시스템(100)에서의 악성 코드를 검증하고 차단하는 방법을 도시한 흐름도이다.
악성코드 검증 자동화 시스템(100)의 파일 수집 모듈(110)은 단계 S110에서 컴퓨팅 장치에서 정의된 다양한 특성인자 이벤트가 발생할 때마다 해당 정보를 수집하게 된다. 여기서, 특성인자 이벤트는 사용자 컴퓨팅 장치의 프로세스와 관련된 정보, 파일 시스템과 관련된 정보, 레지스트리와 관련된 정보를 포함하고, 이 특성인자는 필요에 따라 추가될 수 있다.
단계 S110에 이어 단계 S120에서, 파일 검증 모듈(120)은 먼저 멀티 안티바이러스 검사 모듈(122)을 이용하여 수집된 파일에 대해 멀티 안티바이러스 백신 검사를 수행하게 된다. 멀티 안티바이러스 검사 모듈(122)은 현재 사용중인 30여개의 안티바이러스 엔진들을 물리적으로 통합하여 이루어져 있으며, 멀티 안티바이러스 검사에서는 수집된 파일에 대한 패턴과, 저장되어 있는 바이러스 패턴이 일치하는지를 검사하게 된다.
단계 S130에서 멀티 안티바이러스 백신 검사 결과 복수개의 안티 바이러스 엔진, 바람직하게는 3개 이상의 안티바이러스 엔진에서 악성바이러스 또는 악성코드인 것으로 판단되면 단계는 S185로 진행되고, 제어부(170)는 정보저장모듈(140)에 단계 S130에서의 판별결과를 저장하고, 단계 S195에서 정보시각화모듈(160)은 대쉬보드내 분석결과를 종합하여 사용자에게 표시하고, 그와 동시에 단계 S210에서는 파일차단모듈(150)에 의해 해당하는 파일에 대해 삭제 또는 파일 형식을 변경한다.
한편 단계 S130에서 3개 미만의 안티바이러스 엔진에서 악성바이러스 또는 악성코드인 것으로 판단된 경우에는 단계 S140으로 진행되고, 정보저장모듈(140)에 안티바이러스 백신에 의해 분석된 파일에 대한 제1차 검증 결과를 기록하고 해당하는 파일을 파일검증모듈(120)의 행위분석 검사모듈(124) 및 평판분석모듈(126)에 전달한다.
단계 S152에서는 행위분석 검사모듈(124)에 의해, 샌드박스를 이용한 파일에 대한 행위분석을 수행한다. 구체적으로 행위분석 검사모듈(124)는 프로그램 상의 보호된 영역인 샌드박스(Sandbox) 내에서 분석 대상 파일내의 코드를 동작시켰을 때, 코드에 의한 API의 일련의 호출 흐름에 따른 행위 데이터를 분석하여 해당하는 파일 코드의 악성 또는 야성 여부를 판단한다.
구체적으로 행위 분석 검사 모듈(124)은 샌드박스 또는 가상 시스템을 이용한 행위 분석을 수행한다. 구체적으로는 악성코드로 의심되는 프로그램을 가상 시스템에 자동으로 복사하고, 이렇게 복사 된 프로그램을 실행시켜 시스템에서의 동작을 분석하는 것으로 악성코드 여부를 판단하게 된다.
이 때, 분석 대상 프로그램을 가상 시스템에서 실행 시켰을 때 내부적으로 동작되는 API코드, 파일 생성, 레지스트리 변조, 네트워크 연결, 안티 디버깅 기술 등 다양한 행위 별로 위험도를 부여하여 의심 되는 행위가 많이 동작 될수록 위험도가 높아지게 되어, 이러한 위험도를 자체적인 점수화한다. 또한 단계 S152에서 분석된 행위 분석 결과값은 정보저장모듈(140)에 저장된다.
한편, 평판분석모듈(126)은 단계 S154에서 프로그램이 연결을 시도하는 도메인/IP 주소를 추출하고 해당 추출 된 도메인/IP 주소가 악성코드가 C&C 서버로 악용하고 있는지, 도박, 성인, 불법 매매 등 사이트로 악용되고 있는지 판별한다.
판별 기준으로는 악성 도메인을 호스팅 한 사용자의 이름, 이메일 주소가 다른 도메인을 호스팅 중일 때 해당 도메인에 위험도를 부여하거나 특정 IP 주소가 악성으로 판단된 도메인 주소를 호스팅 중일 때 위험(악성)으로 판별하게 된다.
평판 분석 모듈은 전 세계 다양한 URL/도메인/IP 주소에 대한 방대한 데이터베이스에 기반하여 각 요소별로 일치하는지 여부를 확인하고 이를 점수화한다, 단계 S154에서 분석된 결과는 평판 결과값 역시 정보저장모듈(140)에 저장된다.
악성코드판별보듈(130)은 단계 S160에서 행위분석 검사 모듈(124)과 평판분석모듈(126)로부터의 결과값을 취합하고 취합된 결과값에 따라 단계 S170에서 악성코드 여부를 판별한다.
단계 S170에서 악성코드판별모듈(130)은 점수화된 결과에 따라 악성코드 여부를 판단하도록 설정된다. 예를 들면 악성코드판별모듈(130)은 단계 S160에서 종합된 결과가 특정 점수 이상인 경우 악성인 것으로 판단할 수도 있다.
단계 S170에서 기준값 이상인 것으로 판단된 경우 단계는 S185로 진행되고, 제어부(170)는 정보저장모듈(140)에 단계 S160 및 단계 S170에서의 판별결과를 저장하고, 단계 S195에서 정보시각화모듈(160)은 대쉬보드내 분석결과를 종합하여 사용자에게 표시하고, 그와 동시에 단계 S210에서는 파일차단모듈(150)에 의해 해당하는 파일에 대해 삭제 또는 파일 형식을 변경한다.
단계 S180에서 기준값 이하인 것으로 판단된 경우 단계는 S180로 진행되고, 제어부(170)는 정보저장모듈(140)에 단계 S160 및 단계 S170에서의 판별결과를 저장하고, 단계 S195에서 정보시각화모듈(160)은 대쉬보드내 분석결과를 종합하여 사용자에게 표시하고, 그와 동시에 단계 S200에서는 파일차단모듈(150)은 해당하는 파일에 대한 실행을 허용한다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로, 본 발명이 속하는 기술분야에서 통상의 지식을 갖는 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 게시된 실시예는 본 발명의 기술 사상을 한정하기 위한 것이 아닌 설명을 위한 것이고, 이런 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다.
따라서 본 발명의 보호 범위는 전술한 실시예에 의해 제한되기 보다는 아래의 청구범위에 의하여 해석되어야하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 악성코드 검증 자동화 시스템 110: 파일수집모듈
120: 파일검증모듈
122: 멀티 안티바이러스 124: 행위분석 검사 모듈
126: 평판분석모듈 130: 악성코드판별모듈
140: 정보저장모듈 150: 파일차단모듈
160: 정보시각화모듈 170: 제어모듈

Claims (11)

  1. 악성코드 검증을 위한 악성코드 검증 자동화 시스템에 있어서,
    외부로부터 전송되는 파일로부터 파일 특성 정보를 수집하는 파일수집모듈,
    외부로부터 전송되어온 파일을 분석하기 위한 파일검증모듈,
    파일검증모듈로부터 분석된 결과에 기반하여 파일의 악성 여부를 판단하는 악성코드 판별모듈,
    상기 파일검증모듈로부터 분석된 결과가 저장되는 정보저장모듈,
    악성코드 판별모듈로부터의 판별 결과에 기반하여 파일 실행을 허용하고 파일 실행을 차단하는 파일차단모듈,
    정보저장모듈에 저장된 분석된 결과를 사용자에게 제공하는 정보시각화모듈 및
    상기 모듈들의 동작을 제어하기 위한 제어모듈을 포함하고,
    상기 파일검증모듈은,
    복수의 안티바이러스 엔진을 포함하는 멀티 안티바이러스 검사 모듈,
    샌드박스 또는 가상 시스템내에서 해당하는 파일을 실행하고 파일의 동작을 분석하는 행위분석 검사모듈, 및
    해당하는 파일이 연결을 시도하고자 하는 도메인, IP, URL에 대한 평판을 분석하기 위한 평판분석모듈를 포함하는 것을 특징으로 하는
    악성코드 검증 자동화 시스템.
  2. 제1항에 있어서,
    상기 해당하는 파일에 대한 상기 멀티 안티바이러스 검사 모듈로부터의 검사 결과가 미리 정해진 수 이상의 안티바이러스 엔진에서 악성바이러스 또는 악성코드인 것으로 판단되면, 상기 파일차단모듈은 해당하는 파일에 대해 삭제 또는 파일 형식을 변경하도록 동작하는
    악성코드 검증 자동화 시스템.
  3. 제2항에 있어서,
    상기 해당하는 파일에 대한 상기 멀티 안티바이러스 검사 모듈로부터의 검사 결과가 미리 정해진 수 미만의 안티바이러스 엔진에서 악성바이러스 또는 악성코드인 것으로 판단되면, 상기 제어모듈은 상기 행위분석 검사모듈 및 평판분석모듈로 하여금 상기 해당하는 파일에 대해 추가의 검사를 더 실행하도록 동작하는
    악성코드 검증 자동화 시스템.
  4. 제3항에 있어서,
    상기 행위분석 검사모듈은 해당하는 파일을 샌드박스 또는 가상 시스템내에서 실행시켰을 때 내부적으로 동작되는 API코드, 파일 생성, 레지스트리 변조, 네트워크 연결, 안티 디버깅 기술을 포함하는 다양한 행위별로 위험도를 부여하고, 의심되는 행위에 대해 점수를 부가하는
    악성코드 검증 자동화 시스템.
  5. 제4항에 있어서,
    상기 평판분석모듈은,
    해당 파일이 연결을 시도하는 도메인, IP, URL 주소를 추출하고 추출된 도메인,IP, URL 주소가 C&C 서버로 악용되고 있는지 여부, 도박, 성인, 불법 매매를 포함하는 불법 사이트로 악용되고 있는지 여부를, 도메인, IP, URL 주소에 대한 정보를 포함하는 데이터베이스에 기반하여 각 요소별로 일치에 대해 점수를 부가하도록 구성된
    악성코드 검증 자동화 시스템.
  6. 제5항에 있어서,
    악성코드 판별모듈은 행위분석 검사모듈 및 평판분석모듈에서 종합하여 분석된 결과에 기반하여 해당하는 파일에 대해 악성 파일인지의 여부를 판단하는
    악성코드 검증 자동화 시스템.
  7. 악성코드 검증을 위한 악성코드 검증 방법에 있어서,
    파일수집모듈로부터 파일을 수집하고 수집된 파일로부터 특성 정보를 추출하는 단계;
    수집된 파일에 대해 복수의 안티바이러스 엔진을 포함하는 멀티 안티바이러스 검사를 수행하는 단계;
    멀티 안티바이러스 검사에서 미리정해진 수 이상의 엔진에서 악성 파일 여부를 판단하는 단계;
    멀티 안티바이러스 검사에서 미리정해진 수 이상의 엔진에서 악성 파일로 판단된 경우 해당하는 파일을 차단하거나 해당하는 파일에 포함된 악성 코드를 삭제하는 단계를 포함하고,
    멀티 안티바이러스 검사에서 미리정해진 수 이하의 엔진에서만 악성 파일로 판단된 경우,
    샌드박스 또는 가상 시스템내에서 해당하는 파일을 실행하고 파일의 행위를 분석하는 행위분석단계; 및
    해당하는 파일이 연결을 시도하고자 하는 도메인, IP, URL에 대한 평판을 분석하는 단계;
    상기 행위분석 단계 및 상기 평판분석 단계의 결과에 기반하여 악성 파일 여부를 더 판단하는 단계를 포함하는
    악성코드 검증을 위한 악성코드 검증 방법.
  8. 제7항에 있어서,
    멀티 안티바이러스 검사에서 미리정해진 수 이상의 엔진에서 악성 파일 여부를 판단하는 단계는 멀티 안티바이러스 검사에서 판단된 결과를 정보 저장 모듈에 저장하는 단계를 더 포함하고,
    상기 행위분석 단계 및 상기 평판분석 단계의 결과에 기반하여 악성 파일 여부를 더 판단하는 단계는 판단된 결과를 정보 저장 모듈에 저장하는 단계를 더 포함하는
    악성코드 검증을 위한 악성코드 검증 방법.
  9. 제8항에 있어서,
    정보 저장 모듈에 저장된 판단 결과를 사용자에게 시각화하여 제공하는 단계를 더 포함하는
    악성코드 검증을 위한 악성코드 검증 방법.
  10. 제9항에 있어서,
    상기 행위분석단계는 해당하는 파일을 샌드박스 또는 가상 시스템내에서 실행시켰을 때 내부적으로 동작되는 API코드, 파일 생성, 레지스트리 변조, 네트워크 연결, 안티 디버깅 기술을 포함하는 다양한 행위별로 위험도를 부여하고, 의심되는 행위에 대해 점수를 부가하는 점수화 단계를 더 포함하는
    악성코드 검증을 위한 악성코드 검증 방법.
  11. 제10항에 있어서,
    상기 평판분석단계는, 해당 파일이 연결을 시도하는 도메인, IP, URL 주소를 추출하고 추출된 도메인,IP, URL 주소가 C&C 서버로 악용되고 있는지 여부, 도박, 성인, 불법 매매를 포함하는 불법 사이트로 악용되고 있는지 여부를, 도메인, IP, URL 주소에 대한 정보를 포함하는 데이터베이스에 기반하여 각 요소별로 일치에 대해 점수를 부가하도록 구성된 점수화 단계를 더 포함하는
    악성코드 검증을 위한 악성코드 검증 방법.
KR1020170103010A 2017-08-14 2017-08-14 악성코드 검증을 위한 자동화 시스템 및 방법 KR101942442B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170103010A KR101942442B1 (ko) 2017-08-14 2017-08-14 악성코드 검증을 위한 자동화 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170103010A KR101942442B1 (ko) 2017-08-14 2017-08-14 악성코드 검증을 위한 자동화 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR101942442B1 true KR101942442B1 (ko) 2019-01-25

Family

ID=65280322

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170103010A KR101942442B1 (ko) 2017-08-14 2017-08-14 악성코드 검증을 위한 자동화 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101942442B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060055147A (ko) * 2004-11-18 2006-05-23 한제헌 네트워크 악성실행코드 차단장치 및 방법
KR20120137326A (ko) * 2012-11-05 2012-12-20 시큐아이닷컴 주식회사 악성도메인을 검출하기 위한 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060055147A (ko) * 2004-11-18 2006-05-23 한제헌 네트워크 악성실행코드 차단장치 및 방법
KR20120137326A (ko) * 2012-11-05 2012-12-20 시큐아이닷컴 주식회사 악성도메인을 검출하기 위한 방법 및 장치

Similar Documents

Publication Publication Date Title
US10984097B2 (en) Methods and apparatus for control and detection of malicious content using a sandbox environment
US7870612B2 (en) Antivirus protection system and method for computers
RU2530210C2 (ru) Система и способ выявления вредоносных программ, препятствующих штатному взаимодействию пользователя с интерфейсом операционной системы
RU2698776C2 (ru) Способ ведения базы данных и соответствующий сервер
US8621624B2 (en) Apparatus and method for preventing anomaly of application program
RU2571723C2 (ru) Система и способ для снижения нагрузки на операционную систему при работе антивирусного приложения
US9251343B1 (en) Detecting bootkits resident on compromised computers
KR101043299B1 (ko) 악성 코드 탐지 방법, 시스템 및 컴퓨터 판독 가능한 저장매체
CN109586282B (zh) 一种电网未知威胁检测系统及方法
US20130232576A1 (en) Systems and methods for cyber-threat detection
KR101132197B1 (ko) 악성 코드 자동 판별 장치 및 방법
CN103065092A (zh) 一种拦截可疑程序运行的方法
JP2011501278A (ja) コンピュータにおける悪意プログラム自動保護方法及び装置
JP6717206B2 (ja) マルウェア対策装置、マルウェア対策システム、マルウェア対策方法、及び、マルウェア対策プログラム
JP2017142744A (ja) 情報処理装置、ウィルス検出方法及びプログラム
CN107566401B (zh) 虚拟化环境的防护方法及装置
CN108989294A (zh) 一种准确识别网站访问的恶意用户的方法及系统
KR101327740B1 (ko) 악성코드의 행동 패턴 수집장치 및 방법
KR100959276B1 (ko) 커널계층에서 통제리스트를 이용한 악성프로세스 설치차단 시스템 및 그 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
KR101942442B1 (ko) 악성코드 검증을 위한 자동화 시스템 및 방법
CN111104670A (zh) 一种apt攻击的识别和防护方法
KR101880689B1 (ko) 악성코드 진단장치 및 방법
CN102110204A (zh) 用以检验一计算装置的一可执行文件的可移除装置及方法
CN115134106A (zh) 检测黑客攻击的方法及计算机程序产品
Kono et al. An unknown malware detection using execution registry access

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant