KR102114238B1 - 패치 환경을 이용한 멀웨어 판단 방법 및 시스템 - Google Patents

패치 환경을 이용한 멀웨어 판단 방법 및 시스템 Download PDF

Info

Publication number
KR102114238B1
KR102114238B1 KR1020180120925A KR20180120925A KR102114238B1 KR 102114238 B1 KR102114238 B1 KR 102114238B1 KR 1020180120925 A KR1020180120925 A KR 1020180120925A KR 20180120925 A KR20180120925 A KR 20180120925A KR 102114238 B1 KR102114238 B1 KR 102114238B1
Authority
KR
South Korea
Prior art keywords
virtual machine
analysis result
file
patch
malware
Prior art date
Application number
KR1020180120925A
Other languages
English (en)
Other versions
KR20200041028A (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 KR1020180120925A priority Critical patent/KR102114238B1/ko
Publication of KR20200041028A publication Critical patent/KR20200041028A/ko
Application granted granted Critical
Publication of KR102114238B1 publication Critical patent/KR102114238B1/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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Landscapes

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

Abstract

패치 환경을 이용한 멀웨어 판단 방법 및 시스템이 제공된다. 본 발명의 일 실시예에 따른 패치 환경을 이용한 멀웨어 판단 방법은, 보안 패치를 적용하는 경우, 보안 패치별로 별개의 가상머신에 적용하는 단계; 가상머신 스냅샷을 생성하여 각 가상머신의 최신값을 저장하는 단계; 각 가상머신에서 실행되는 실행파일에 의해 외부망에 접속하여 통신하는 경우, 덤프파일을 생성하는 단계; 각 가상머신의 덤프파일을 비교하여 덤프파일을 분석하는 단계; 샌드박스 환경에서 각 가상머신에서 실행되는 실행파일을 분석하는 단계; 및 상기 덤프파일의 분석 결과와 상기 실행파일의 분석 결과를 기초로 상기 실행파일의 멀웨어를 판단하는 단계를 포함 한다.

Description

패치 환경을 이용한 멀웨어 판단 방법 및 시스템{METHOD AND SYSTEM FOR DETECTING MALWARE USING PATCH ENVIRONMENT}
본 발명은 패치 환경을 이용한 멀웨어 판단 방법 및 시스템에 관한 것이다.
현재 샌드박스(SandBox)를 통한 멀웨어(Malware) 분석은 보안에 가장 취약한 가상머신(VM)을 생성하여 의심되는 파일을 실행하고 분석하는 방법으로 수행하고 있다.
하나의 가상머신(VM)에서 분석된 결과는 다양한 데이터를 제시하나, 그 데이터를 분석하여 멀웨어인지 정확한 판단을 하려면 전문화된 인력과 많은 분석 시간이 필요하다.
이에, 전문화된 인력없이 빠르게 멀웨어를 분석할 수 있는 방법이 필요하다.
대한민국 등록특허 1286015호 (2013.07.09. 등록) 대한민국 등록특허 1454837호 (2014.10.20. 등록)
본 발명은 상기 문제점을 해결하기 위한 것으로, 멀웨어(Malware)의 패치 환경에 따른 동작 패턴을 분석하여 멀웨어(Malware)를 판단할 수 있는 패치 환경을 이용한 멀웨어 판단 방법 및 시스템을 제공한다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 달성하기 위한 본 발명의 일 실시예에 따른 패치 환경을 이용한 멀웨어 판단 방법은, 보안 패치를 적용하는 경우, 보안 패치별로 별개의 가상머신에 적용하는 단계; 가상머신 스냅샷을 생성하여 각 가상머신의 최신값을 저장하는 단계; 각 가상머신에서 실행되는 실행파일에 의해 외부망에 접속하여 통신하는 경우, 덤프파일을 생성하는 단계; 각 가상머신의 덤프파일을 비교하여 덤프파일을 분석하는 단계; 샌드박스 환경에서 각 가상머신에서 실행되는 실행파일을 분석하는 단계; 및 상기 덤프파일의 분석 결과와 상기 실행파일의 분석 결과를 기초로 상기 실행파일의 멀웨어를 판단하는 단계를 포함한다.
또한, 상기 덤프파일을 분석하는 단계는, 덤프파일의 중복을 제거하는 단계를 포함할 수 있다.
또한, 상기 덤프파일을 분석하는 단계는, 퍼지 해시(Fuzzy Hash) 알고리즘을 이용하여 보안 패치가 적용되지 않은 기준 가상머신의 덤프파일 해시값을 기준으로 보안 패치가 적용된 별개의 각 가상머신의 덤프파일 해시값을 비교 분석하는 단계를 포함할 수 있다.
또한, 상기 멀웨어를 판단하는 단계는, 상기 보안 패치가 적용된 별개의 각 가상머신의 덤프파일 중에서 상기 기준 가상머신의 덤프파일보다 작아지고, 상기 기준 가상머신의 덤프파일 해시값을 기준으로 가상머신의 덤프파일 해시값의 변화율이 임계값보다 높은 경우, 가상머신에 적용된 보안패치의 취약점이 사라진 것으로 판단하는 단계를 포함할 수 있다.
또한, 상기 멀웨어를 판단하는 단계는, 상기 보안 패치가 적용된 별개의 각 가상머신의 덤프파일 중에서 상기 기준 가상머신의 덤프파일보다 커지고, 상기 기준 가상머신의 덤프파일 해시값을 기준으로 가상머신의 덤프파일 해시값의 변화율이 임계값보다 높은 경우, 가상머신에 적용된 보안패치의 취약점이 생성된 것으로 판단하는 단계를 포함할 수 있다.
또한, 상기 실행파일을 분석하는 단계는, 쿠쿠 샌드박스를 사용하여 상기 실행파일의 분석 결과를 도출하는 단계를 포함할 수 있다.
또한, 상기 멀웨어를 판단하는 단계는, 상기 실행파일의 분석 결과에 따른 스코어 분포도를 기초로 멀웨어를 판단하는 단계를 포함할 수 있다.
또한, 상기 덤프파일을 분석하는 단계는, 상기 외부망과의 통신에 따른 네트워크 분석 결과를 도출하는 단계를 포함할 수 있다.
또한, 상기 실행파일을 분석하는 단계는, 상기 실행파일의 스코어 분석 결과, signature 분석 결과, severity 분석 결과를 도출하는 단계를 포함할 수 있다.
그리고, 상기 멀웨어를 판단하는 단계는, 상기 네크워크 분석 결과, 상기 스코어 분석 결과, 상기 signature 분석 결과, 상기 severity 분석 결과를 인공 신경망의 입력층에 입력하는 단계를 포함할 수 있다.
상기 과제를 달성하기 위한 본 발명의 일 실시예에 따른 패치 환경을 이용한 멀웨어 판단 시스템은, 복수의 가상머신을 구비한 가상 박스부; 보안 패치를 적용하는 경우, 보안 패치별로 별개의 각 가상머신에 적용하는 패치 관리부; 각 가상머신의 가상머신 스냅샷을 생성하여 각 가상머신의 최신값을 저장하는 스냅샷 생성부; 각 가상머신에서 실행되는 실행파일에 의해 외부망에 접속하여 통신하는 경우, 덤프파일을 생성하며, 각 가상머신의 덤프파일을 비교하여 덤프파일을 분석하는 덤프파일 분석부; 샌드박스 환경에서 각 가상머신에서 실행되는 실행파일을 분석하는 실행파일 분석부; 및 상기 덤프파일의 분석 결과와 상기 실행파일의 분석 결과를 기초로 상기 실행파일의 멀웨어를 판단하는 멀웨어 판단부를 포함한다.
또한, 상기 덤프파일 분석부는, 상기 외부망과의 통신에 따른 네트워크 분석 결과를 도출할 수 있다.
또한, 상기 실행파일 분석부는, 상기 실행파일의 스코어 분석 결과, signature 분석 결과, severity 분석 결과를 도출할 수 있다.
그리고, 상기 멀웨어 판단부는, 상기 네크워크 분석 결과, 상기 스코어 분석 결과, 상기 signature 분석 결과, 상기 severity 분석 결과를 입력값으로 입력하는 인공 신경망 모듈을 포함할 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명에 따르면, 운영체제(O/S) 및 어플리케이션(Application)의 취약점을 이용하여 침투하여 악의적인 행동을 하는 멀웨어(Malware)가 보안 패치가 되지 않은 가상머신(VM)과 보안 패치가 완벽하게 이루어진 가상머신(VM)에서의 프로세스 활동은 다르다는 점을 발견하고, 패치 환경에 따라 다르게 행동하는 멀웨어(Malware)의 다양한 패턴을 분석하여 멀웨어(Malware)를 판별할 수 있다.
도 1은 본 발명의 일 실시예에 따른 패치 환경을 이용한 멀웨어 판단 방법의 순서를 도시한 도면이다.
도 2는 패치관리시스템에 의해 각 가상머신(VM)에 보안 패치를 적용하는 개념을 도시한 도면이다.
도 3은 각 가상머신(VM)에 스냅샷(SnapShot) 기능을 적용하는 개념을 도시한 도면이다.
도 4는 각 가상머신(VM)에서 파일이 실행되어 외부와의 통신 내용을 덤프(Dump)하는 개념을 도시한 도면이다.
도 5는 샌드박스 환경에서 각 가상머신(VM)에서 실행되는 파일을 분석하는 개념을 도시한 도면이다.
도 6a는 실행파일에 따른 HASH(MD5) 및 Virustotal 탐지명을 정리한 테이블의 일례를 도시한 도면이며, 도 6b는 상기 실행파일에 따른 스코어 분석 결과의 일례를 도시한 도면이다.
도 7a는 Build.exe 패치 전후의 signature 분석 결과의 일례를 도시한 도면이며, 도 7b는 Quotation.exe 패치 전후의 signature 분석 결과의 일례를 도시한 도면이다.
도 8은 실행파일에 따른 severity 분석 결과의 일례를 도시한 도면이다.
도 9는 KYC-INQUIRY0718.exe 패치 전후의 네트워크 분석 결과의 일례를 도시한 도면이다.
도 10은 인공 신경망을 설명하기 위한 도면이다.
도 11은 본 발명의 일 실시예에 따른 패치 환경을 이용한 멀웨어 판단 시스템의 구성을 도시한 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
비록 제1, 제2 등이 다양한 소자, 구성요소 및/또는 섹션들을 서술하기 위해서 사용되나, 이들 소자, 구성요소 및/또는 섹션들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 소자, 구성요소 또는 섹션들을 다른 소자, 구성요소 또는 섹션들과 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 소자, 제1 구성요소 또는 제1 섹션은 본 발명의 기술적 사상 내에서 제2 소자, 제2 구성요소 또는 제2 섹션일 수도 있음은 물론이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "이루어지다(made of)"는 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 본 발명에 대하여 첨부된 도면에 따라 보다 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 패치 환경을 이용한 멀웨어 판단 방법의 순서를 도시한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 패치 환경을 이용한 멀웨어 판단 방법은, 보안 패치를 적용하는 경우, 보안 패치별로 별개의 가상머신에 적용하며(S10), 가상머신 스냅샷을 생성하여 각 가상머신의 최신값을 저장하고(S20), 각 가상머신에서 실행되는 실행파일에 의해 외부망에 접속하여 통신하는 경우, 덤프파일을 생성하며(S30), 각 가상머신의 덤프파일을 비교하여 덤프파일을 분석하고(S40), 샌드박스 환경에서 각 가상머신에서 실행되는 실행파일을 분석하고(S50), 상기 덤프파일의 분석 결과와 상기 실행파일의 분석 결과를 기초로 상기 실행파일의 멀웨어를 판단한다(S60).
여기에서, "패치"란 이미 정식 릴리즈를 거친 소프트웨어 및 운영체제의 문제점을 보완하고, 이들의 결점을 해결해 주는 공급자의 추가 패키지라고 할 수 있다. 이러한 패치는 비단 보안뿐만 아니라, 응용 프로그램의 실행속도 개선, 메모리 누설 등과 같이 소프트웨어의 여러 측면에서의 성능을 향상 시켜주기 위한 것이다. 패치는 대상 시스템에서 있어 취약성을 보완해주는 일종의 보조 프로그램이라고 말 할 수 있으며, 이러한 패치는 시스템에 주기적으로 계속적인 업데이트가 수반되어야 하는 필수적인 요소이다.
일반적으로, 모든 운영체제 시스템 및 관련 응용 프로그램들은 프로그램 개발 과정의 특성상 보안 취약성을 가지고 있기 마련이다. 또한 현재 인터넷을 기반으로 한 네트워크가 폭 넓게 보급되어 네트워크를 통한 시스템 침해 사례가 증가되고 있다. 이러한 추세에서 패치에 대한 안전하고 신속한 분배는 해당 시스템의 보안을 위한 가장 기본적이고 필수적인 요소가 되고 있다.
최근의 다양한 멀웨어(Malware)들은 O/S 및 Application의 취약점을 이용하여 침투하고 있으나, 이러한 멀웨어(Malware)들은 최신의 보안 패치만으로도 차단할 수 있다. 그러므로, 운영체제 및 어플리케이션의 취약점을 이용하는 멀웨어들은 보안 패치가 안 된 가상머신(Virtual Machine)과 보안 패치가 완벽하게 된 가상머신에서의 프로세스 활동이 다르다. 이에, 패치 환경에 따라 멀웨어의 동작 패턴이 달라지게 되므로, 멀웨어(Malware)의 패치 환경에 따른 동작 패턴을 분석하여 멀웨어(Malware)를 판단할 수 있다.
도 2는 패치관리시스템에 의해 각 가상머신(VM)에 보안 패치를 적용하는 개념을 도시한 도면이다. 또한, 도 3은 각 가상머신(VM)에 스냅샷(SnapShot) 기능을 적용하는 개념을 도시한 도면이다. 또한, 도 4는 각 가상머신(VM)에서 파일이 실행되어 외부와의 통신 내용을 덤프(Dump)하는 개념을 도시한 도면이다. 그리고, 도 5는 샌드박스 환경에서 각 가상머신(VM)에서 실행되는 파일을 분석하는 개념을 도시한 도면이다.
도 2를 참조하면, 패치 관리 시스템이 보안 패치를 적용하는 경우, 보안 패치별로 별개의 가상머신(VM)에 각각 적용할 수 있다. 즉, 최신의 패치가 발표될 때마다, 각 가상머신에 단계별로 패치를 적용할 수 있다. 여기에서, 패치 관리 시스템(PMS)은 패치 상태를 직접 확인하고, 사용자의 필요에 따라 패치를 간편하게 설치, 관리할 수 있게 하는 시스템이다. 또한, 운영체제는 리눅스, macOS, 솔라리스, 윈도우 등이 적용될 수 있다.
가상머신은 별도의 시스템으로 가상화 환경을 구성하는 Virtual box에 의해 복수개가 생성될 수 있다. 예를 들어, Virtual box를 통해 리눅스, macOS, 솔라리스, 윈도우 등의 운영체제를 게스트 운영 체제로 가상화할 수 있다. 이때, 도 2에서 4개의 가상머신이 도시되어 있으나, 이에만 제한되지 않음은 당업자에게 자명하다 할 것이다.
복수개의 가상머신 중 하나는 보안 패치가 적용되지 않은 오리지널 운영체제 또는 오닐지널 응용 프로그램이며, 다른 가상머신들은 단계별 패치가 적용된다. 도 2에 도시한 바와 같이, 예를 들어, 보안 패치가 적용되지 않은 가상머신(VM1), 패치 관리 시스템에 의해 1차 패치가 적용된 가상머신(VM2), 2차 패치가 적용된 가상머신(VM3), 최신 패치가 적용된 가상머신(VM4)으로 분류할 수 있다.
도 3을 참조하면, 최신 보안 패치가 발표되어 각 가상머신에 패치를 분배하여 적용 후, 스냅샷(SnapShot) 기능을 이용하여 가상머신 스냅샷을 생성하여 각 가상머신의 최신값을 저장할 수 있다. 예를 들어, 최신 패치가 마이크로소프트(MS)에서 발표된 경우, 패치관리시스템이 각 가상머신에 패치를 적용 후, 리눅스 Cron을 이용하여 스냅샷을 생성하여 각 가상머신의 최신값을 저장할 수 있다.
도 3에 도시한 바와 같이, 보안 패치가 적혀 없는 이미지(VM1의 스냅샷), 패치 관리 시스템에 의해 1차 패치가 적용된 이미지(VM2의 스냅샷), 2차 패치가 적용된 이미지(VM3의 스냅샷), 최신 패치가 적용된 이미지(VM4의 스냅샷)으로 분류할 수 있다. 이때, 도 3에서 4개의 가상머신 스냅샷이 도시되어 있으나, 이에만 제한되지 않음은 당업자에게 자명하다 할 것이다.
도 4를 참조하면, 각 가상머신에서 실행되는 실행파일에 의해 외부망에 접속하여 통신하는 경우, 덤프파일을 생성할 수 있고, 각 가상머신의 덤프파일을 비교하여 덤프파일을 분석할 수 있다.
각 가상머신(VM)에서 파일이 실행되면 외부망(50)과 통신을 시작하며, 외부와의 통신 내용을 덤프(Dump)한다. 이를 통해, 정해진 덤프 포맷에 따라 덤프 파일로 저장하게 된다.
각 가상머신(VM)에서 덤프파일이 생성되면, 각 가상머신의 덤프파일을 비교하여 덤프파일을 분석한다. 이때, 덤프파일의 중복을 제거할 수 있다. 그리고, 덤프파일의 중복을 제거한 후, 통신 내용을 비교하여 분석할 수 있다.
특히, 덤프파일을 분석하는 경우, 퍼지 해시(Fuzzy Hash) 알고리즘을 이용하여 보안 패치가 적용되지 않은 기준 가상머신의 덤프파일 해시값을 기준으로 보안 패치가 적용된 별개의 각 가상머신의 덤프파일 해시값을 비교 분석할 수 있다.
퍼지 해시(Fuzzy Hash) 알고리즘을 통해 파일 전체에 대한 해시값을 계산하지 않고, 일정 크기 단위로 구분하여 각 단위 블록에 대한 해시값을 만들어 낼 수 있고, 파일 간 유사도를 파악할 수 있다.
여기에서, 보안 패치가 적용되지 않은 가상머신(VM1)에서의 덤프파일을 분석한 값은 기준값이 된다.
특히, 멀웨어인지 판단하는 경우, 보안 패치가 적용되지 않은 가상머신(VM1)에서의 덤프파일보다 임계값 이상의 변화율을 가지고 있다면, 멀웨어(Malware) 판단 기준을 설정할 수 있다.
구체적으로, 보안 패치가 적용된 별개의 각 가상머신의 덤프파일 중에서 상기 기준 가상머신의 덤프파일보다 작아지고, 상기 기준 가상머신의 덤프파일 해시값을 기준으로 가상머신의 덤프파일 해시값의 변화율이 임계값보다 높은 경우, 가상머신에 적용된 보안패치의 취약점이 사라진 것으로 판단할 수 있다. 즉, 덤프파일의 크기가 VM1 이미지보다 작아지며 해시값의 변화율이 높은 경우, VM2 이상의 이미지의 보안 패치 중에서 취약점이 사라졌다고 판단할 수 있다(편의상, “선행 취약”으로 명명).
또한, 보안 패치가 적용된 별개의 각 가상머신의 덤프파일 중에서 상기 기준 가상머신의 덤프파일보다 커지고, 상기 기준 가상머신의 덤프파일 해시값을 기준으로 가상머신의 덤프파일 해시값의 변화율이 임계값보다 높은 경우, 가상머신에 적용된 보안패치의 취약점이 생성된 것으로 판단할 수 있다. 즉, 덤프파일의 크기가 VM1 이미지보다 커지며 해시값의 변화율이 높은 경우, VM2 이상의 이미지의 보안 패치 중에서 취약점이 생성되었다고 판단할 수 있다(편의상, “후행 취약”으로 명명).
또한, 덤프파일을 분석하는 경우, 외부망(50)과의 통신에 따른 네트워크 분석 결과를 도출할 수 있다. 네트워크 분석 결과는 정량적인 네트워크 결과 스코어(score)로 제공할 수 있다. 일례로, 도 4에 도시한 바와 같이, 1차 패치가 적용된 VM2, 2차 패치가 적용된 VM3, 최신 패치가 적용된 VM4의 각각의 스코어가 5점, 0점, 0점과 같이 될 수 있다. 1차 패치가 적용된 VM2에서는 보안 패치의 취약점에 의해 외부 통신이 발생하는 것으로 해석할 수 있다. 그리고, 2차 패치가 적용된 VM3 및 최신 패치가 적용된 VM4에서는 각 보안 패치에 의해 취약점이 사라져 외부 통신이 발생하지 않는 것으로 해석할 수 있다.
도 5를 참조하면, 샌드박스 환경에서 각 가상머신에서 실행되는 실행파일을 분석할 수 있다. 이에, 메인 환경인 Virtual box의 각 가상머신에서 신뢰할 수 없는 파일을 실행하기 위해 제한된 실행 환경인 샌드박스 환경을 제공해 멀웨어를 차단할 수 있다. 즉, 가상머신의 가상머신인 샌드박스 환경을 구성하여 멀웨어의 프로세스를 실행하고, 행위를 살펴보는 과정에서 일어날 수 있는 변화로부터 안전하게 보호할 수 있다.
예를 들어, 쿠쿠 샌드박스를 사용하여 상기 실행파일의 분석 결과를 도출할 수 있다. 쿠쿠 샌드박스는 격리된 운영체제 안에서 자동으로 악성코드를 실행시켜 파일을 분석하며, 분석된 동작 결과를 포괄적으로 수집할 수 있다.
도 5에 도시한 바와 같이, 샌드박스 환경에서 각 가상머신에서 실행되는 실행파일을 분석하여 실행파일의 스코어 분석 결과, signature 분석 결과, severity 분석 결과를 도출할 수 있다.
특히, 샌드박스 환경에서 분석되는 파일들은 화이트 리스트 프로세스 외 읽기, 쓰기 파일들을 추출한 것일 수 있다. 구체적으로, 에이전트(Agent) 기반 프로세스 현황 데이터를 분석하여 화이트 리스트를 작성하고, 정상적인 패치에 의한 화이트 리스트의 PE File 해시값을 갱신하여, 파일 시스템 필터 드라이브(file system filter drive)를 통한 디스크 I/O를 추적하여 화이트 리스트 프로세스 외 읽기, 쓰기 파일을 추출할 수 있다. 이러한 화이트 리스트 외 프로세스 리스트를 샌드박스 환경에서 분석하여 멀웨어를 판단하게 된다.
이에, 사용자 PC위에서 동작하는 에이전트를 기반으로 하는 프로세스 화이트리스트(WhiteList) / 화이트 리스트 외 프로세스리스트를 통해 보안 위협을 사전에 탐지하고 새롭게 발견된 멀웨어의 동적분석을 위해 쿠쿠 샌드박스(Cuckoo Sandbox)를 사용하게 된다.
여기에서, 에이전트들에게서 수집된 프로세스를 기간별(일간, 주간, 월간)로 분석하여 화이트 리스트를 작성할 수 있고, 화이트 리스트는 PE File(EXE, DLL, Drive, Object)를 기준으로 해시값을 생성하여 데이터베이스화할 수 있다. 또한, 정상적인 패치에 의한 화이트 리스트의 PE File의 교체 및 신규 파일의 생성을 파일 시스템 필터 드라이브(file system filter drive)를 통해 추적하고 화이트 리스트의 해시값을 갱신할 수 있다.
다시 도 5를 참조하면, 샌드박스 환경에서 실행파일을 분석하여, 실행파일의 분석 결과에 따른 스코어 분포도를 기초로 멀웨어를 판단할 수 있다. 예를 들어, 도 5에 도시하 바와 같이, 샌드박스에서 각 가상머신에서 실행되는 실행파일의 스코어가 각각 VM1 10점, VM2 10점, VM3 8점, VM4 1점인 경우, VM4에 적용된 보안 패치에 의해 취약점이 없어졌다고 판단할 수 있다.
실행파일의 멀웨어를 판단하는 경우, 덤프파일의 분석 결과와 실행파일의 분석 결과를 기초로 판단할 수 있다. 여기에서, 덤프파일의 분석 결과로써 네크워크 분석 결과를 사용하고, 실행파일의 분석 결과로써 실행파일의 스코어 분석 결과를 사용한다. 추가적으로, 실행파일의 분석 결과로써 실행파일의 스코어 분석 결과 외에 signature 분석 결과, severity 분석 결과를 사용할 수 있다.
즉, 실행파일의 멀웨어를 판단하는 경우, 최소한 네크워크 분석 결과 및 실행파일의 스코어 분석 결과를 사용하게 된다. 다시 도 4 및 도 5를 참조하면, 최종 결과값은 VM1에서 10점, VM2에서 15점(=10+5), VM3에서 8점(=8+0), VM4에서 1점(=1+0)이 된다. 이때, VM1에서 덤프파일의 기준값이므로 네크워크 분석 결과는 제외된다. 이에, 각 가상머신에서의 파일의 분석 결과를 통해 프로세스 결과값의 분포 패턴을 파악할 수 있고, 많은 파일을 분석하면 다양한 분포 패턴을 파악할 수 있어 더 정확한 멀웨어 판단이 가능하다.
상기 네크워크 분석 결과 및 실행파일의 스코어 분석 결과만으로 실행파일의 멀웨어를 판단하기 어려울 수 있으므로, signature 분석 결과, severity 분석 결과를 추가할 수 있다. 즉, 네크워크 분석 결과 및 실행파일의 스코어 분석 결과에 signature 분석 결과, severity 분석 결과를 추가하여 더 정확한 멀웨어 판단이 가능하다.
상기 네크워크 분석 결과, 상기 스코어 분석 결과, 상기 signature 분석 결과, 상기 severity 분석 결과를 인공 신경망의 입력층에 입력하여 보다 정확하게 멀웨어(Malware)를 판단할 수 있는 시스템을 구축할 수 있으며, 이에 대해서는 후술하여 살펴 보도록 한다.
도 6a는 실행파일에 따른 HASH(MD5) 및 Virustotal 탐지명을 정리한 테이블의 일례를 도시한 도면이며, 도 6b는 상기 실행파일에 따른 스코어 분석 결과의 일례를 도시한 도면이다.
도 6a를 참조하면, 실행파일을 분석하여 MD5 해시와 바이러스토탈에서 탐지한 바이러스를 정리한 테이블의 일례가 도시되어 있다.
MD5는 임의의 길이의 값을 입력받아서 128비트 길이의 해시값을 출력하는 알고리즘이며, 해시(Hash)를 비교할 수 있다.
바이러스토탈(Virustotal)은 무료로 파일 검사를 제공하는 웹사이트이며, 다양한 제품을 통해 사용자가 소유하고 있는 바이러스 검사 소프트웨어가 잡아내지 못하였거나 오진을 하는 바이러스를 진단할 수 있다.
도 6b를 참조하면, 패치 전후에 따른 실행파일의 스코어 분석 결과가 도시되어 있다. Quotation.exe 파일, Sort.exe 파일, KYC-INQUIRY0718.exe 파일은 패치 전에 비해 패치 후가 스코어 분석 결과값의 변화율이 다른 파일들과 비교하여 큰 것을 알 수 있다. 이로부터 Quotation.exe 파일, Sort.exe 파일, KYC-INQUIRY0718.exe 파일에 대해 패치의 취약점이 생성되었다고 판단할 수 있다. 특히, Quotation.exe 파일, KYC-INQUIRY0718.exe 파일은 패치 후에 스코어 분석 결과가 6점을 초과하여 멀웨어로 판단할 수 있다.
또한, t.exe 파일은 패치 전후에 스코어 분석 결과값의 변화율이 작으나, 6점을 기준으로 할 경우에 스코어 분석 결과가 패치 전후에 6점을 초과하여 t.exe 파일에 대해 패치의 취약점이 유지되어 있다고 판단할 수 있다.
또한, Build.exe 파일, I.Exe 파일은 패치 전후에 스코어 분석 결과값의 변화율이 작고, 6점을 기준으로 할 경우에 스코어 분석 결과가 패치 전후에 6점을 하회하여 Build.exe 파일, I.Exe 파일에 대해 패치의 취약점이 없다고 판단할 수 있다.
도 7a는 Build.exe 패치 전후의 signature 분석 결과의 일례를 도시한 도면이며, 도 7b는 Quotation.exe 패치 전후의 signature 분석 결과의 일례를 도시한 도면이다.
도 7a를 참조하면, Build.exe 파일은 패치 전에 7개의 의심스러운 프로세스가 있었으나, 패치 후에 5개의 의심스러운 프로세스가 유지되고 다른 2개의 프로세스는 이루어지지 않았다. 그리고, 패치 후에 각 프로세스의 이벤트도 적게 검출되어 멀웨어의 의심스러운 행동이 적은 것으로 판단할 수 있다. 이러한 패치 전후의 signature 분석 결과를 추가하여 더 정확한 멀웨어 판단이 가능하다.
도 8은 실행파일에 따른 severity 분석 결과의 일례를 도시한 도면이다.
도 8을 참조하면, 패치 전후에 따른 실행파일의 severity 분석 결과가 도시되어 있다. 각 파일의 severity 분석 결과를 추가하여 더 정확한 멀웨어 판단이 가능하다.
도 9는 KYC-INQUIRY0718.exe 패치 전후의 네트워크 분석 결과의 일례를 도시한 도면이다.
도 9를 참조하면, KYC-INQUIRY0718.exe 파일의 패치 전후 네크워크 분석 결과가 도시되어 있다. 패치 전후 네크워크 통신 내용을 비교 분석하여 KYC-INQUIRY0718.exe 파일의 의심스러운 행동을 판단할 수 있다.
도 10은 인공 신경망을 설명하기 위한 도면이다.
도 10을 참조하면, 각 가상머신(VM)에서 분석된 프로세스 결과값들(Fn, n은 자연수)을 입력값으로 사용하는 인공 신경망이 도시되어 있다. 구체적으로, 멀웨어인지 판단하는 경우, 각 가상머신(VM)의 패치 전후에 따른 네크워크 분석 결과, 스코어 분석 결과, signature 분석 결과, severity 분석 결과를 인공 신경망의 입력층에 입력(input)할 수 있다. 즉, 네크워크 분석 결과, 스코어 분석 결과, signature 분석 결과, severity 분석 결과가 인공 신경망의 입력값이 된다.
입력된 네크워크 분석 결과, 스코어 분석 결과, signature 분석 결과, severity 분석 결과가 인공 신경망을 통해 처리 및 분석되어 정상적인 프로세스는 출력층의 1로 출력되고, 멀웨어 의심 프로세스는 출력층의 2로 출력될 수 있다.
보다 상세하게는, 인공 신경망은 입력층, 은닉층, 출력층으로 이루어지며, 전처리 획득된 네크워크 분석 결과, 스코어 분석 결과, signature 분석 결과, severity 분석 결과가 신경망의 입력값으로 입력층에 입력되며, 입력 데이터가 학습 데이터가 되고, 학습 데이터에 가중치를 부여하여 인공 신경망은 은닉층에서 학습을 수행할 수 있고, 출력층에서 출력값을 출력한다.
입력층은 받은 값을 그대로 은닉층에 전달할 수 있다. 은닉층은 다수의 노드들을 포함할 수 있으며, 각 노드는 다수의 입력신호들을 각각 가중치들과 곱한 후, 이를 가산한 가산 신호를 출력할 수 있다. 그리고, 은닉층 및 출력층은 가중치 합 계산 및 활성함수 계산을 수행할 수 있다. 가중치 합 계산은 입력층 또는 은닉층의 마디들을 결합하는 형태가 될 수 있다. 활성함수는 다음의 수학식 1과 같은 시그모이드 함수로써, 입력 변수 또는 은닉 마디의 결합을 변환하는 함수가 될 수 있다.
Figure 112018099985306-pat00001
특히, 인공 신경망은 은닉층이 2개 이상인 심층 신경망일 수 있으며, 딥러닝 기법이 적용되는 딥러닝 신경망일 수 있다. 딥러닝 신경망은 RNN(Recurrent Neural Network)에 의해 생성될 수 있다. RNN은 시간에 따라 순차적인 데이터를 학습하기 위한 심층 신경망(deep neural network)의 구현 방식 중의 하나로써, 시간 t에서 심층 신경망 내 특정 뉴런의 출력이 시간 t+1에서 다른 뉴런의 입력으로 하는 과정의 반복을 통해 신경망을 형성할 수 있다. RNN을 통해 시계열적으로 입력되는 각 가상머신(VM)의 네크워크 분석 결과, 스코어 분석 결과, signature 분석 결과, severity 분석 결과에 따른 멀웨어 진위 여부를 보다 정확히 알 수 있고, 이에 따라 보다 정확한 멀웨어(Malware)를 판단하는 시스템을 구축할 수 있다.
딥러닝 신경망은 순차적으로 학습 데이터를 획득할 때마다 가중치를 갱신할 수 있으며, 비용 함수를 이용하여 계산된 딥러닝 신경망의 출력 에러에 기초하여 가중치를 갱신할 수 있다. 딥러닝 신경망의 출력 에러를 계산하고 가중치를 갱신하는 것은 피드백 과정에 해당한다. 피드 포워드 과정에서는 샘플 데이터를 사용하여 가중치 및 하이퍼볼릭 함수 등 여러 함수를 적용하여 딥러닝 신경망의 출력을 계산할 수 있다.
도 11은 본 발명의 일 실시예에 따른 패치 환경을 이용한 멀웨어 판단 시스템의 구성을 도시한 도면이다.
도 11을 참조하면, 본 발명의 일 실시예에 따른 패치 환경을 이용한 멀웨어 판단 시스템(100)은, 복수의 가상머신을 구비한 가상 박스부(110),
보안 패치를 적용하는 경우, 보안 패치별로 별개의 각 가상머신(VM)에 적용하는 패치 관리부(120), 각 가상머신(VM)의 가상머신 스냅샷을 생성하여 각 가상머신(VM)의 최신값을 저장하는 스냅샷 생성부(130), 각 가상머신(VM)에서 실행되는 실행파일에 의해 외부망(50)에 접속하여 통신하는 경우, 덤프파일을 생성하며, 각 가상머신(VM)의 덤프파일을 비교하여 덤프파일을 분석하는 덤프파일 분석부(140), 샌드박스 환경에서 각 가상머신(VM)에서 실행되는 실행파일을 분석하는 실행파일 분석부(150), 상기 덤프파일의 분석 결과와 상기 실행파일의 분석 결과를 기초로 상기 실행파일의 멀웨어를 판단하는 멀웨어 판단부(160)를 포함한다.
가상 박스부(110)는 복수의 가상머신(VM)을 구비한다. 즉, 가상 박스부(110)에 복수의 가상머신(VM)이 생성되어 물리적 및/또는 논리적으로 구분된다. 예를 들어, 가상 박스부(110)를 통해 운영체제를 게스트 운영 체제로 가상화할 수 있다.
패치 관리부(120)는 발표된 보안 패치를 운영체제 및/또는 어플리케이션에 적용한다. 이러한 패치 관리부(120)는 보안 패치를 적용하는 경우, 보안 패치별로 별개의 각 가상머신에 적용한다. 복수개의 가상머신 중 하나는 보안 패치가 적용되지 않은 오리지널 운영체제 또는 오닐지널 응용 프로그램이며, 다른 가상머신들은 패치 관리부(120)에 의해 단계별 패치가 적용된다.
스냅샷 생성부(130)는 각 가상머신(VM)의 가상머신 스냅샷(snapshot)을 생성한다. 가상머신 스냅샷은 가상머신(VM)에 대한 특정 시점 이미지를 의미하며, 패치가 적용된 각 가상머신의 최신값을 저장하는 역할을 한다.
덤프파일 분석부(140)는 각 가상머신(VM)에서 실행되는 실행파일에 의해 외부망(50)에 접속하여 통신하는 경우, 덤프파일을 생성한다. 각 가상머신(VM)에서 파일이 실행되면 외부망(50)과 통신을 시작하며, 외부와의 통신 내용을 덤프(Dump)한다. 이를 통해, 정해진 덤프 포맷에 따라 덤프 파일로 저장하게 된다
또한, 덤프파일 분석부(140)는 각 가상머신(VM)의 덤프파일의 중복을 제거하는 등 각 가상머신(VM)의 덤프파일을 비교하여 덤프파일을 분석한다. 덤프파일 분석부(140)가 덤프파일을 분석하여 외부망(50)과의 통신에 따른 네트워크 분석 결과를 도출한다.
실행파일 분석부(150)는 샌드박스 환경에서 각 가상머신(VM)에서 실행되는 실행파일을 분석한다. 샌드박스 환경에서 격리된 운영체제 안에서 자동으로 실행파일을 동적으로 분석하며, 분석된 동작 결과를 포괄적으로 수집할 수 있다.
구체적으로, 실행파일 분석부(150)는 실행파일의 스코어 분석 결과, signature 분석 결과, severity 분석 결과를 도출할 수 있다. 특히, 샌드박스 환경에서 분석되는 파일들은 화이트 리스트 프로세스 외 읽기, 쓰기 파일들을 추출한 것일 수 있다. 구체적으로, 에이전트(Agent) 기반 프로세스 현황 데이터를 분석하여 화이트 리스트를 작성하고, 정상적인 패치에 의한 화이트 리스트의 PE File 해시값을 갱신하고, 디스크 I/O를 추적하여 화이트 리스트 프로세스 외 읽기, 쓰기 파일을 추출할 수 있다. 이러한 화이트 리스트 외 프로세스 리스트를 샌드박스 환경에서 분석하여 실행파일의 멀웨어를 판단하게 된다.
이로부터 사용자 PC위에서 동작하는 에이전트를 기반으로 하는 프로세스 화이트리스트(WhiteList) / 화이트 리스트 외 프로세스리스트를 통해 보안 위협을 사전에 탐지하고 새롭게 발견된 멀웨어의 동적분석이 가능하다. 여기에서, 에이전트들에게서 수집된 프로세스를 기간별로 분석하여 화이트 리스트를 작성할 수 있고, 화이트 리스트는 PE File(EXE, DLL, Drive, Object)를 기준으로 해시값을 생성하여 데이터베이스화할 수 있다. 또한, 정상적인 패치에 의한 화이트 리스트의 PE File의 교체 및 신규 파일의 생성을 파일 시스템 필터 드라이브(file system filter drive)를 통해 추적하고 화이트 리스트의 해시값을 갱신할 수 있다.
멀웨어 판단부(160)는 덤프파일의 분석 결과와 실행파일의 분석 결과를 기초로 상기 실행파일의 멀웨어를 판단한다.
예를 들어, 멀웨어 판단부(160)는 실행파일의 멀웨어를 판단하는 경우, 최소한 네크워크 분석 결과 및 실행파일의 스코어 분석 결과를 사용하게 된다. 또한, 멀웨어 판단부(160)는 네크워크 분석 결과 및 실행파일의 스코어 분석 결과에 signature 분석 결과, severity 분석 결과를 추가하여 실행파일의 멀웨어를 판단할 수 있다.
또한, 멀웨어 판단부(160)는 네크워크 분석 결과, 스코어 분석 결과, signature 분석 결과, severity 분석 결과를 입력값으로 입력하는 인공 신경망 모듈(미도시)을 포함할 수 있다. 인공 신경망 모듈의 구체적인 구성 및 동작은 상술하여 설명한 바 있으므로 생략하도록 한다.
한편, 본 발명의 일 실시예에 따른 패치 환경을 이용한 멀웨어 판단 방법 및 시스템은 소프트웨어 및 하드웨어에 의해 하나의 모듈로 구현 가능하며, 전술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 롬(ROM), 플로피 디스크, 하드 디스크 등의 자기적 매체, CD, DVD 등의 광학적 매체 및 인터넷을 통한 전송과 같은 캐리어 웨이브와 같은 형태로 구현된다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네크워크로 연결된 컴퓨터 시스템에 분산되어 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
그리고, 본 발명의 실시예에서 사용되는 구성요소 또는 '~부'는 메모리 상의 소정 영역에서 수행되는 태스크, 클래스, 서브 루틴, 프로세스, 오브젝트, 실행 쓰레드, 프로그램과 같은 소프트웨어(software)나, FPGA(field-programmable gate array)나 ASIC(application-specific integrated circuit)과 같은 하드웨어(hardware)로 구현될 수 있으며, 또한 상기 소프트웨어 및 하드웨어의 조합으로 이루어질 수도 있다. 상기 구성요소 또는 '~부'는 컴퓨터로 판독 가능한 저장 매체에 포함되어 있을 수도 있고, 복수의 컴퓨터에 그 일부가 분산되어 분포될 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
100: 패치 환경을 이용한 멀웨어 판단 시스템
110: 가상 박스부 120: 패치 관리부
130: 스냅샷 생성부 140: 덤프파일 분석부
150: 실행파일 분석부 160: 멀웨어 판단부

Claims (14)

  1. 보안 패치를 적용하는 경우, 보안 패치별로 별개의 가상머신에 적용하는 단계;
    가상머신 스냅샷을 생성하여 각 가상머신의 최신값을 저장하는 단계;
    각 가상머신에서 실행되는 실행파일에 의해 외부망에 접속하여 통신하는 경우, 덤프파일을 생성하는 단계;
    각 가상머신의 덤프파일을 비교하여 덤프파일을 분석하되, 퍼지 해시(Fuzzy Hash) 알고리즘을 이용하여 보안 패치가 적용되지 않은 기준 가상머신의 덤프파일 해시값을 기준으로 보안 패치가 적용된 별개의 각 가상머신의 덤프파일 해시값을 비교 분석하는 단계;
    샌드박스 환경에서 각 가상머신에서 실행되는 실행파일을 분석하는 단계; 및
    상기 덤프파일의 분석 결과와 상기 실행파일의 분석 결과를 기초로 상기 실행파일의 멀웨어를 판단하는 단계를 포함하며,
    상기 멀웨어를 판단하는 단계는, 상기 보안 패치가 적용된 별개의 각 가상머신의 덤프파일 중에서 상기 기준 가상머신의 덤프파일보다 작아지고, 상기 기준 가상머신의 덤프파일 해시값을 기준으로 가상머신의 덤프파일 해시값의 변화율이 임계값보다 높은 경우, 가상머신에 적용된 보안패치의 취약점이 사라진 것으로 판단하는 단계를 포함하는, 패치 환경을 이용한 멀웨어 판단 방법.
  2. 제 1항에 있어서,
    상기 덤프파일을 분석하는 단계는,
    덤프파일의 중복을 제거하는 단계를 포함하는, 패치 환경을 이용한 멀웨어 판단 방법.
  3. 삭제
  4. 삭제
  5. 제 1항에 있어서,
    상기 멀웨어를 판단하는 단계는,
    상기 보안 패치가 적용된 별개의 각 가상머신의 덤프파일 중에서 상기 기준 가상머신의 덤프파일보다 커지고, 상기 기준 가상머신의 덤프파일 해시값을 기준으로 가상머신의 덤프파일 해시값의 변화율이 임계값보다 높은 경우, 가상머신에 적용된 보안패치의 취약점이 생성된 것으로 판단하는 단계를 포함하는, 패치 환경을 이용한 멀웨어 판단 방법.
  6. 제 1항에 있어서,
    상기 실행파일을 분석하는 단계는,
    쿠쿠 샌드박스를 사용하여 상기 실행파일의 분석 결과를 도출하는 단계를 포함하는, 패치 환경을 이용한 멀웨어 판단 방법.
  7. 제 6항에 있어서,
    상기 멀웨어를 판단하는 단계는,
    상기 실행파일의 분석 결과에 따른 스코어 분포도를 기초로 멀웨어를 판단하는 단계를 포함하는, 패치 환경을 이용한 멀웨어 판단 방법.
  8. 제 1항에 있어서,
    상기 덤프파일을 분석하는 단계는,
    상기 외부망과의 통신에 따른 네트워크 분석 결과를 도출하는 단계를 포함하는, 패치 환경을 이용한 멀웨어 판단 방법.
  9. 제 8항에 있어서,
    상기 실행파일을 분석하는 단계는,
    상기 실행파일의 스코어 분석 결과, signature 분석 결과, severity 분석 결과를 도출하는 단계를 포함하는, 패치 환경을 이용한 멀웨어 판단 방법.
  10. 제 9항에 있어서,
    상기 멀웨어를 판단하는 단계는,
    상기 네트워크 분석 결과, 상기 스코어 분석 결과, 상기 signature 분석 결과, 상기 severity 분석 결과를 인공 신경망의 입력층에 입력하는 단계를 포함하는, 패치 환경을 이용한 멀웨어 판단 방법.
  11. 복수의 가상머신을 구비한 가상 박스부;
    보안 패치를 적용하는 경우, 보안 패치별로 별개의 각 가상머신에 적용하는 패치 관리부;
    각 가상머신의 가상머신 스냅샷을 생성하여 각 가상머신의 최신값을 저장하는 스냅샷 생성부;
    각 가상머신에서 실행되는 실행파일에 의해 외부망에 접속하여 통신하는 경우, 덤프파일을 생성하며, 각 가상머신의 덤프파일을 비교하여 덤프파일을 분석하되, 퍼지 해시(Fuzzy Hash) 알고리즘을 이용하여 보안 패치가 적용되지 않은 기준 가상머신의 덤프파일 해시값을 기준으로 보안 패치가 적용된 별개의 각 가상머신의 덤프파일 해시값을 비교 분석하는 덤프파일 분석부;
    샌드박스 환경에서 각 가상머신에서 실행되는 실행파일을 분석하는 실행파일 분석부; 및
    상기 덤프파일의 분석 결과와 상기 실행파일의 분석 결과를 기초로 상기 실행파일의 멀웨어를 판단하는 멀웨어 판단부를 포함하며,
    상기 멀웨어 판단부는, 상기 보안 패치가 적용된 별개의 각 가상머신의 덤프파일 중에서 상기 기준 가상머신의 덤프파일보다 작아지고, 상기 기준 가상머신의 덤프파일 해시값을 기준으로 가상머신의 덤프파일 해시값의 변화율이 임계값보다 높은 경우, 가상머신에 적용된 보안패치의 취약점이 사라진 것으로 판단하는, 패치 환경을 이용한 멀웨어 판단 시스템.
  12. 제 11항에 있어서,
    상기 덤프파일 분석부는,
    상기 외부망과의 통신에 따른 네트워크 분석 결과를 도출하는, 패치 환경을 이용한 멀웨어 판단 시스템.
  13. 제 12항에 있어서,
    상기 실행파일 분석부는,
    상기 실행파일의 스코어 분석 결과, signature 분석 결과, severity 분석 결과를 도출하는, 패치 환경을 이용한 멀웨어 판단 시스템.
  14. 제 13항에 있어서,
    상기 멀웨어 판단부는,
    상기 네트워크 분석 결과, 상기 스코어 분석 결과, 상기 signature 분석 결과, 상기 severity 분석 결과를 입력값으로 입력하는 인공 신경망 모듈을 포함하는, 패치 환경을 이용한 멀웨어 판단 시스템.
KR1020180120925A 2018-10-11 2018-10-11 패치 환경을 이용한 멀웨어 판단 방법 및 시스템 KR102114238B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180120925A KR102114238B1 (ko) 2018-10-11 2018-10-11 패치 환경을 이용한 멀웨어 판단 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180120925A KR102114238B1 (ko) 2018-10-11 2018-10-11 패치 환경을 이용한 멀웨어 판단 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20200041028A KR20200041028A (ko) 2020-04-21
KR102114238B1 true KR102114238B1 (ko) 2020-05-22

Family

ID=70456484

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180120925A KR102114238B1 (ko) 2018-10-11 2018-10-11 패치 환경을 이용한 멀웨어 판단 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR102114238B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102605212B1 (ko) * 2021-10-22 2023-11-24 슈어소프트테크주식회사 동일 위치에 대한 다수의 패치들 중 최종 패치를 선택하는 방법 및 최종 패치 선택 모듈

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101286015B1 (ko) 2011-03-30 2013-08-23 주식회사 윈스테크넷 가상화 시스템 환경의 다수 가상머신들 사이의 보안감사서비스시스템 및 보안감사서비스 제어방법
US8645950B2 (en) * 2011-06-28 2014-02-04 Microsoft Corporation Virtual machine image analysis
KR101454837B1 (ko) 2013-04-22 2014-10-28 한국인터넷진흥원 하이퍼바이저 보안 api 모듈 및 하이퍼바이저 기반 가상화 네트워크 침입 방지 시스템

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Fabio Pagani et al, "Beyond Precision and Recall: Understanding Uses (and Misuses) of Similarity Hashes in Binary Analysis"(2018.03.)
K.M. Beunder, "Correlating Features of Malicious Software to Increase Insight in Attribution"(2018.08.)
Puttaroo, Mohammad Ally Rehaz, "A Behavioural Study in Runtime Analysis Environments and Drive-by Download Attacks"(2017.12.)

Also Published As

Publication number Publication date
KR20200041028A (ko) 2020-04-21

Similar Documents

Publication Publication Date Title
Galal et al. Behavior-based features model for malware detection
Salehi et al. MAAR: Robust features to detect malicious activity based on API calls, their arguments and return values
US10235520B2 (en) System and method for analyzing patch file
Lindorfer et al. Lines of malicious code: Insights into the malicious software industry
Salehi et al. Using feature generation from API calls for malware detection
US7895448B1 (en) Risk profiling
Ghiasi et al. Dynamic VSA: a framework for malware detection based on register contents
US20190188381A9 (en) Machine learning model for malware dynamic analysis
US20130174257A1 (en) Active Defense Method on The Basis of Cloud Security
KR100942798B1 (ko) 악성코드 탐지장치 및 방법
US9906537B2 (en) System, method, and computer program product for conditionally performing an action based on an attribute
Savenko et al. Dynamic Signature-based Malware Detection Technique Based on API Call Tracing.
Ahmadi et al. Mimosa: Reducing malware analysis overhead with coverings
Kozachok et al. Construction and evaluation of the new heuristic malware detection mechanism based on executable files static analysis
Carlin et al. Dynamic analysis of malware using run-time opcodes
KR100959276B1 (ko) 커널계층에서 통제리스트를 이용한 악성프로세스 설치차단 시스템 및 그 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
KR102114238B1 (ko) 패치 환경을 이용한 멀웨어 판단 방법 및 시스템
Mail et al. Malware detection system using cloud sandbox, machine learning
Mehra et al. DaCoMM: detection and classification of metamorphic malware
Rana et al. Automated windows behavioral tracing for malware analysis
Van Duong et al. Detecting Malware based on Analyzing Abnormal behaviors of PE File
Pendergrass et al. Lkim: The linux kernel integrity measurer
Melvin et al. The practicality of using virtual machine introspection technique with machine learning algorithms for the detection of intrusions in cloud
KR20210056807A (ko) 스마트 산업제어시스템용 중앙제어용 능동형 복구 시스템
Gopalakrishnan et al. Analyzing Diverse Data Mining Techniques to Detect the Malware based on Signature

Legal Events

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