KR101815968B1 - 그룹 분리 기능을 제공하기 위한 악성코드 분류 시스템 및 그 방법 - Google Patents

그룹 분리 기능을 제공하기 위한 악성코드 분류 시스템 및 그 방법 Download PDF

Info

Publication number
KR101815968B1
KR101815968B1 KR1020160164147A KR20160164147A KR101815968B1 KR 101815968 B1 KR101815968 B1 KR 101815968B1 KR 1020160164147 A KR1020160164147 A KR 1020160164147A KR 20160164147 A KR20160164147 A KR 20160164147A KR 101815968 B1 KR101815968 B1 KR 101815968B1
Authority
KR
South Korea
Prior art keywords
group
malicious code
small
malicious
variant
Prior art date
Application number
KR1020160164147A
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 KR1020160164147A priority Critical patent/KR101815968B1/ko
Application granted granted Critical
Publication of KR101815968B1 publication Critical patent/KR101815968B1/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
    • G06F21/561Virus type 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/56Computer malware detection or handling, e.g. anti-virus arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명에 의한 그룹 분리 기능을 제공하기 위한 악성코드 분류 시스템 및 그 방법이 개시된다. 본 발명에 따른 악성코드 분류 시스템은 그룹 분리를 위한 제어 명령을 받으면, 악성코드 그룹을 검색하는 그룹 검색부; 상기 검색된 악성 코드 그룹 중 순차적으로 악성 코드 그룹 내 악성 코드를 모두 비교하여 그 비교한 결과로 악성 코드 각각의 변종 비율을 산출하는 제1 산출부; 상기 산출된 악성코드 각각의 변종 비율을 기반으로 변종비율이 높은 순서대로 악성 코드 각각의 군집화 계수를 산출하는 제2 산출부; 및 상기 산출된 군집화 계수를 기반으로 악성 코드 그룹으로부터 악성 코드를 소 그룹으로 분리하고, 상기 분리된 모드 소 그룹을 이용하여 서로 다른 두 개의 소 그룹으로 이루어진 N개의 소 그룹 쌍을 생성하여 상기 생성된 소 그룹 쌍에 대한 변종 비율을 이용하여 소 그룹 쌍에 포함된 소 그룹들을 병합하는 그룹분리 결정부를 포함할 수 있다.

Description

그룹 분리 기능을 제공하기 위한 악성코드 분류 시스템 및 그 방법{MALICIOUS CODE CLASSIFICATION SYSTEM FOR PROVIDING GROUP DIVIDING FUNCTION AND METHOD THEREOF}
본 발명은 악성코드 분류 기법에 관한 것으로서, 보다 상세하게는 대표 악성 코드를 이용하여 그룹 분리 기능을 제공하기 위한 악성코드 분류 시스템 및 그 방법에 관한 것이다.
정보자산의 중요성이 커짐에 따라 이를 노리는 공격자들에 의한 사이버 침해사고가 증가하였고, 침해사고에 가장 널리 사용되는 악성코드 역시 최근 몇 년간 급증하였다.
제한된 수의 전문가가 모든 악성코드를 수동으로 분석할 수 없기에 자동화된 대책들이 고려되었으며 이 중 가장 대표적인 것이 정적분석 기법의 일종인 시그니처 기반 악성코드 탐지기법을 주로 사용하는 백신 프로그램이다.
시그니처 기반의 악성코드 탐지기법은 대량의 검사 대상을 빠르게 처리할 수 있는 장점이 있으나, 공격자가 기존 악성코드의 일부를 수정한 변종 악성코드를 이용하여 탐지를 회피할 수 있다는 단점이 있다.
이에 대응하기 위한 것이 악성코드 프로파일링 기법으로 악성코드 프로파일링 기법은 실시간으로 유입되는 악성코드와 기존 악성코드의 유사도를 비교하여 변종을 식별한다. 이를 통해 악성코드 분석전문자가 자세히 분석해야 할 대상을 대폭 줄여주고 악성코드 트렌드를 분석할 수 있게 한다.
그러나 악성코드의 수가 늘어나면서 악성코드를 전수 비교하여 그룹을 분류하는 것은 사실상 불가능하다. 10,000개의 악성 코드를 전수 비교하기 위해서는 49,995,000번의 비교가 필요하며, 한번의 유사도 비교에 0.01초가 소요된다고 가정할 때, 약 5일이 소요된다. 전수 비교해야 할 악성코드가 늘어날수록 전수비교에 소요되는 시간은 기하급수적으로 증가하여 100만개의 악성코드를 전수비교하기 위해서는 158.5년 이상이 소요된다.
따라서 악성코드를 전수 비교하지 않고 효율적으로 변종 그룹을 식별해야 할 필요가 있다.
따라서 이러한 종래 기술의 문제점을 해결하기 위한 것으로, 본 발명의 목적은 악성 코드 그룹 내 모든 악성 코드의 변종비율을 산출하고, 산출된 변종비율이 높은 악성 코드부터 군집화 계수를 산출하여 산출된 군집화 계수에 따라 악성 코드를 하나의 소 그룹으로 분리하며, 분리된 소 그룹 간에 악성 코드 그룹의 변종 비율을 기반으로 병합하도록 한 그룹 분리 기능을 제공하기 위한 악성코드 분류 시스템 및 그 방법을 제공하는데 있다.
그러나 본 발명의 목적은 상기에 언급된 사항으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 목적들을 달성하기 위하여, 본 발명의 한 관점에 따른 악성코드 분류 시스템은 그룹 분리를 위한 제어 명령을 받으면, 악성코드 그룹을 검색하는 그룹 검색부; 상기 검색된 악성 코드 그룹 중 순차적으로 악성 코드 그룹 내 악성 코드를 모두 비교하여 그 비교한 결과로 악성 코드 각각의 변종 비율을 산출하는 제1 산출부; 상기 산출된 악성코드 각각의 변종 비율을 기반으로 변종비율이 높은 순서대로 악성 코드 각각의 군집화 계수를 산출하는 제2 산출부; 및 상기 산출된 군집화 계수를 기반으로 악성 코드 그룹으로부터 악성 코드를 소 그룹으로 분리하고, 상기 분리된 모드 소 그룹을 이용하여 서로 다른 두 개의 소 그룹으로 이루어진 N개의 소 그룹 쌍을 생성하여 상기 생성된 소 그룹 쌍에 대한 변종 비율을 이용하여 소 그룹 쌍에 포함된 소 그룹들을 병합하는 그룹분리 결정부를 포함할 수 있다.
또한, 상기 그룹분리 결정부는 상기 분리된 소 그룹의 개수가 1개인 경우 해당 악성 코드 그룹 내 연관성이 적은 악성 코드가 없다고 판단하여 그룹 분리 과정을 종료할 수 있다.
또한, 상기 그룹분리 결정부는 상기 산출된 변종 비율을 기반으로 가장 높은 변종 비율을 갖는 소 그룹 쌍이 하나인 경우, 소 그룹 쌍에 포함된 소 그룹들을 병합할 수 있다.
또한, 상기 그룹분리 결정부는 상기 산출된 변종 비율을 기반으로 가장 높은 변종 비율을 갖는 소 그룹 쌍이 2개 이상인 경우, 미리 설정된 병합 조건을 만족하는 하나의 소 그룹 쌍을 선정하고 선정된 소 그룹 쌍에 포함된 소 그룹들을 병합할 수 있다.
또한, 상기 그룹분리 결정부는 상기 가장 높은 변종 비율을 갖는 소 그룹 쌍이 2개 이상인 경우, 변종 개수가 가장 많은 소 그룹 쌍을 선정하고 선정된 소 그룹 쌍에 포함된 소 그룹들을 병합할 수 있다.
또한, 상기 그룹분리 결정부는 상기 가장 높은 변종 비율을 갖는 소 그룹 쌍이 2개 이상인 경우, 해당 소 그룹 쌍에 포함된 소 그룹의 변종 비율의 평균값이 가장 높은 소 그룹 쌍을 선정하고 상기 선정된 소 그룹 쌍에 포함된 소 그룹들을 병합할 수 있다.
또한, 상기 그룹분리 결정부는 상기 가장 높은 변종 비율을 갖는 소 그룹 쌍이 2개 이상인 경우, 랜덤하게 소 그룹 쌍을 선정하고 상기 선정된 소 그룹 쌍에 포함된 소 그룹들을 병합할 수 있다.
또한, 상기 제1 산출부는 각 악성 코드의 변종 비율 DC를 다음의 수학식 {악성 코드의 DC = (그룹 내 변종의 개수) / (전체 악성 코드의 수 - 1)}에 의해 구할 수 있다.
또한, 상기 제2 산출부는 상기 군집화 계수 CC를 다음의 수학식 {악성 코드의 CC = (변종끼리 가지는 관계의 수) / (변종끼리 가질 수 있는 관계의 수)}에 의해 구할 수 있다.
본 발명의 다른 한 관점에 따른 악성코드 분류 시스템은 다수의 악성 코드가 유입되면, 유입된 다수의 악성 코드를 악성 코드 그룹으로 분류하는 코드 그룹화부; 상기 악성 코드 그룹 내 모든 악성 코드의 변종비율을 산출하고, 상기 산출된 변종비율이 높은 악성 코드부터 군집화 계수를 산출하여 산출된 군집화 계수에 따라 악성 코드를 소 그룹으로 분리하며, 분리된 소 그룹 간에 악성 코드 그룹의 변종 비율을 산출하여 산출된 변종 비율에 따라 소 그룹을 병합하는 그룹분리 결정부; 및 상기 악성코드 그룹이 저장되고 그룹 분리 과정에 따라 갱신되는 데이터베이스를 포함할 수 있다.
본 발명의 또 다른 한 관점에 따른 악성코드 분류 시스템에서 수행되는 그룹 분리 기능을 제공하기 위한 방법은 그룹 검색부가 그룹 분리를 위한 제어 명령을 받으면, 악성코드 그룹을 검색하는 단계; 제1 산출부가 상기 검색된 악성 코드 그룹 중 순차적으로 악성 코드 그룹 내 악성 코드를 모두 비교하여 그 비교한 결과로 악성 코드 각각의 변종 비율을 산출하는 단계; 제2 산출부가 상기 산출된 악성코드 각각의 변종 비율을 기반으로 변종비율이 높은 순서대로 악성 코드 각각의 군집화 계수를 산출하는 단계; 및 그룹분리 결정부가 상기 산출된 군집화 계수를 기반으로 악성 코드 그룹으로부터 악성 코드를 소 그룹으로 분리하고, 상기 분리된 모드 소 그룹을 이용하여 서로 다른 두 개의 소 그룹으로 이루어진 N개의 소 그룹 쌍을 생성하여 상기 생성된 소 그룹 쌍에 대한 변종 비율을 이용하여 소 그룹 쌍에 포함된 소 그룹들을 병합하는 단계를 포함할 수 있다.
또한, 상기 병합하는 단계는 상기 분리된 소 그룹의 개수가 1개인 경우 해당 악성 코드 그룹 내 연관성이 적은 악성 코드가 없다고 판단하여 그룹 분리 과정을 종료할 수 있다.
또한, 상기 병합하는 단계는 상기 산출된 변종 비율을 기반으로 가장 높은 변종 비율을 갖는 소 그룹 쌍이 하나인 경우, 소 그룹 쌍에 포함된 소 그룹들을 병합할 수 있다.
또한, 상기 병합하는 단계는 상기 산출된 변종 비율을 기반으로 가장 높은 변종 비율을 갖는 소 그룹 쌍이 2개 이상인 경우, 미리 설정된 병합 조건을 만족하는 하나의 소 그룹 쌍을 선정하고 선정된 소 그룹 쌍에 포함된 소 그룹들을 병합할 수 있다.
또한, 상기 병합하는 단계는 상기 가장 높은 변종 비율을 갖는 소 그룹 쌍이 2개 이상인 경우, 변종 개수가 가장 많은 소 그룹 쌍을 선정하고 선정된 소 그룹 쌍에 포함된 소 그룹들을 병합할 수 있다.
또한, 상기 병합하는 단계는 상기 가장 높은 변종 비율을 갖는 소 그룹 쌍이 2개 이상인 경우, 해당 소 그룹 쌍에 포함된 소 그룹의 변종 비율의 평균값이 가장 높은 소 그룹 쌍을 선정하고 상기 선정된 소 그룹 쌍에 포함된 소 그룹들을 병합할 수 있다.
또한, 상기 병합하는 단계는 상기 가장 높은 변종 비율을 갖는 소 그룹 쌍이 2개 이상인 경우, 랜덤하게 소 그룹 쌍을 선정하고 상기 선정된 소 그룹 쌍에 포함된 소 그룹들을 병합할 수 있다.
또한, 상기 변종 비율을 산출하는 단계는 각 악성 코드의 변종 비율 DC를 다음의 수학식 {악성 코드의 DC = (그룹 내 변종의 개수) / (전체 악성 코드의 수 - 1)}에 의해 구할 수 있다.
또한, 상기 군집화 계수를 산출하는 단계는 상기 군집화 계수 CC를 다음의 수학식 {악성 코드의 CC = (변종끼리 가지는 관계의 수) / (변종끼리 가질 수 있는 관계의 수)}에 의해 구할 수 있다.
본 발명의 또 다른 한 관점에 따른 악성코드 분류 시스템에서 수행되는 그룹 분리 기능을 제공하기 위한 방법은 코드 그룹화부가 다수의 악성 코드가 유입되면, 유입된 다수의 악성 코드를 악성 코드 그룹으로 분류하는 단계; 그룹분리 결정부가 상기 악성 코드 그룹 내 모든 악성 코드의 변종비율을 산출하고, 상기 산출된 변종비율이 높은 악성 코드부터 군집화 계수를 산출하여 산출된 군집화 계수에 따라 악성 코드를 소 그룹으로 분리하며, 분리된 소 그룹 간에 악성 코드 그룹의 변종 비율을 산출하여 산출된 변종 비율에 따라 소 그룹을 병합하는 단계; 및 데이터베이스에 저장된 상기 악성코드 그룹이 그룹 분리 과정에 따라 갱신되는 단계를 포함할 수 있다.
이처럼, 본 발명은 악성 코드 그룹 내 모든 악성 코드의 변종비율을 산출하고, 산출된 변종비율이 높은 악성 코드부터 군집화 계수를 산출하여 산출된 군집화 계수에 따라 악성 코드를 하나의 소 그룹으로 분리하며, 분리된 소 그룹 간에 악성 코드 그룹의 변종 비율을 기반으로 병합하도록 함으로써, 연관성이 적은 악성 코드를 분리할 수 있다.
또한, 본 발명은 악성 코드의 분리를 통해 악성코드 변종 오탐을 방지할 수 있다.
도 1은 본 발명의 일 실시예에 따른 악성 코드 분류 방법을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 악성 코드 그룹 분류 원리를 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 악성코드 그룹을 분리하기 위한 방법을 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 로컬 DC 산출 원리를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 로컬 CC 산출 원리를 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 악성 코드 분류 시스템을 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 따른 코드 그룹화부의 상세한 구성을 나타내는 도면이다.
도 8은 본 발명의 일 실시예에 따른 그룹 분리부의 상세한 구성을 나타내는 도면이다.
이하에서는, 본 발명의 실시예에 따른 그룹 분리 기능을 제공하기 위한 악성코드 분류 시스템 및 그 방법을 첨부한 도면을 참조하여 설명한다. 본 발명에 따른 동작 및 작용을 이해하는 데 필요한 부분을 중심으로 상세히 설명한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 동일한 명칭의 구성 요소에 대하여 도면에 따라 다른 참조부호를 부여할 수도 있으며, 서로 다른 도면임에도 불구하고 동일한 참조부호를 부여할 수도 있다. 그러나, 이와 같은 경우라 하더라도 해당 구성 요소가 실시예에 따라 서로 다른 기능을 갖는다는 것을 의미하거나, 서로 다른 실시예에서 동일한 기능을 갖는다는 것을 의미하는 것은 아니며, 각각의 구성 요소의 기능은 해당 실시예에서의 각각의 구성 요소에 대한 설명에 기초하여 판단하여야 할 것이다.
이때, 본 발명에서는 악성 코드 그룹 내 모든 악성 코드의 변종비율을 산출하고, 산출된 변종비율이 높은 악성 코드부터 군집화 계수를 산출하여 산출된 군집화 계수에 따라 악성 코드를 하나의 소 그룹으로 분리하며, 분리된 소 그룹 간에 악성 코드 그룹의 변종 비율을 기반으로 병합하도록 한 새로운 방안을 제안한다.
도 1은 본 발명의 일 실시예에 따른 악성 코드 분류 방법을 설명하기 위한 도면이다.
도 1에 도시한 바와 같이, 본 발명의 일 실시예에 따른 악성 코드 분류 시스템은 적어도 하나의 악성 코드를 포함하는 다수의 악성코드 그룹을 저장하여 관리할 수 있다(S110). 여기서, 다수의 악성코드 그룹 각각에서 가장 변종이 많은 악성 코드가 해당 그룹의 대표 악성 코드로 선정될 수 있다.
다음으로, 악성 코드 분류 시스템은 새로운 악성 코드가 유입되는지를 확인할 수 있다(S120).
다음으로, 악성 코드 분류 시스템은 그 확인한 결과로 새로운 악성 코드가 유입되면, 유입된 악성 코드와 다수의 악성코드 그룹들 내 각 대표 악성 코드 간의 유사도를 비교하여 그 비교한 결과로 유사한 대표 악성 코드가 있는지를 확인할 수 있다(S130).
예컨대, 악성 코드 분류 시스템은 유입된 악성 코드와 다수의 악성코드 그룹들 내 각 대표 악성 코드와의 유사도를 산출하여 이를 기반으로 유사한 대표 악성 코드를 판단한다.
이때, 본원발명의 악성 코드 간 유사도를 산출하는 원리를 설명하면 다음과 같다.
먼저, 악성 코드 분류 시스템은 악성코드를 입력 받으면 입력받은 악성코드가 가상 머신 상에서 실행되는 과정에서 호출되는 API(Application Program Interface) 호출 정보를 수집할 수 있다. 여기서, API 호출 정보는 동적 분석 기반 행위 정보로서, API 시퀀스 정보와 API 이름으로 구성될 수 있다.
이러한 API 호출 정보가 수집되면, 악성 코드에 대한 악성 행위를 알 수 있다.
악성 코드 분류 시스템은 수집된 API 호출 정보를 API 코드 테이블을 참조하여 API 코드 시퀀스로 변환할 수 있다. 여기서 API 코드 시퀀스는 API 이름마다 할당되는 API 코드와 API 시퀀스 정보를 포함할 수 있다.
악성 코드 분류 시스템은 N-gram 알고리즘을 이용하여 변환된 API 코드 시퀀스로부터 악성 코드 간 유사도를 산출할 수 있다. 여기서, N-gram 알고리즘은 전체 문자열 내 인접한 N개의 음절을 서브스트링(gram)으로 분할하는 기법으로서, 예컨대, 자연어 처리, 오탈자 수정 및 검색 분야 등에서 문자열 비교 알고리즘으로 활용되고 있다.
이렇게 악성 코드 간 유사도(similarity)는 코사인 유사도(cosine similarity)를 사용할 수 있는데, 코사인 유사도는 다음의 [수학식 1]과 같이 정의된다.
[수학식 1]
Figure 112016118856460-pat00001
여기서, A, B는 API 코드 시퀀스의 벡터 요소이고, n은 벡터 요소간 분할 크기이다.
다음으로, 악성 코드 분류 시스템은 그 비교한 결과로 유사한 대표 악성 코드가 없으면, 유입된 악성 코드를 포함하는 새로운 악성코드 그룹을 생성하고(S150), 새롭게 생성된 악성코드 그룹의 대표 악성 코드로 해당 악성 코드를 지정할 수 있다(S152).
반면, 악성 코드 분류 시스템은 그 비교한 결과로 유사한 대표 악성 코드가 있으면, 유입된 악성 코드를 유사한 대표 악성 코드 중 가장 유사한 대표 악성 코드가 포함된 악성코드 그룹으로 분류할 수 있다(S140).
즉, 악성 코드 분류 시스템은 특정 임계치 이상의 유사도를 갖는 악성코드를 유사 또는 변종 악성코드라고 판단하여 이들 간 그룹을 형성하여 그룹 분류를 수행한다.
다음으로, 악성 코드 분류 시스템은 분류 결과로 악성코드 그룹을 갱신할 수 있다(S160).
도 2는 본 발명의 일 실시예에 따른 악성 코드 그룹 분류 원리를 설명하기 위한 도면이다.
도 2에 도시한 바와 같이, 본 발명에 따른 악성코드 분류장치는 유입된 악성 코드 간 유사도를 산출하고, 산출된 유사도가 임계치 이상 유사성을 형성하는 악성 코드가 그룹 분류를 수행한다.
즉, 네트워크 그래프 속성을 적용하여 유사성을 형성하는 악성 코드 간 엣지를 형성하고 그 엣지를 통해 하나의 그래프로 산출되는 악성 코드들을 동일 그룹으로 분류한다.
예컨대, 대량의 악성 코드가 유입되는 경우 악성 코드 간 유사도 분석을 통해 엣지를 연결하고 엣지가 연결된 하나의 그래프를 하나의 악성 코드 그룹 예컨대, {A, B, C, D}, {E, F, G, H}, {I, J, K}, {L}의 총 4개의 그룹으로 분류될 수 있다.
이러한 원리로, 본 발명에서는 유입되는 악성 코드와 유사한 악성 코드가 존재하는 경우 유사한 악성 코드와 엣지가 연결되어 해당 악성 코드 그룹으로 분류되고 유사한 악성 코드가 존재하지 않는 경우 새로운 악성 코드 그룹으로 분류된다.
이렇게 대표 악성코드를 선정하여 각 대표 악성코드의 변종을 그룹화하는 방법은 미탐과 오탐을 수반하고 오탐을 줄이기 위해 연관성이 적은 악성 코드를 새로운 그룹으로 분리하고자 한다.
도 3은 본 발명의 일 실시예에 따른 악성코드 그룹을 분리하기 위한 방법을 나타내는 도면이다.
도 3에 도시한 바와 같이, 본 발명의 일 실시예에 따른 악성 코드 분류 시스템은 악성 코드 그룹 내 악성 코드 각각의 변종비율(Degree Centrality; DC)을 산출할 수 있다(S301).
이때, 변종비율(DC)은 그룹을 형성하는 그래프 내에서 얼마나 많은 노드와 연결되어 있는지를 나타내는 파라미터로서, 특정 악성 코드 그룹 내 변종 비율을 정의한다.
즉, 두 악성 코드의 유사도가 기준치 이상일 경우 그 두 악성 코드를 변종으로 판별하고 판별된 변종 악성 코드는 그래프 내에서 연결된 것으로 볼 수 있다. 따라서 특정 악성 코드의 DC는 해당 악성 코드가 포함된 그룹 내에서 얼마나 많은 변종 악성 코드가 있는지를 나타내고, 다음의 [수학식 2]와 같이 정의할 수 있다.
[수학식 2]
악성 코드의 로컬 DC = (그룹 내 변종의 개수) / (전체 악성 코드의 수 - 1)
도 4는 본 발명의 일 실시예에 따른 로컬 DC 산출 원리를 설명하기 위한 도면이다.
도 4에 도시한 바와 같이, 4개의 악성 코드를 포함하는 악성 코드 그룹을 보여주고 있는데, 그 일예로, 악성 코드 그룹 내 악성 코드 A의 로컬 DC는 1(=3/3)이 된다.
다른 예로, 악성 코드 그룹 내 악성 코드 B의 로컬 DC는 0.66(=2/3)이고, 악성 코드 C의 로컬 DC는 0.66(=2/3)이며, 악성 코드 D의 로컬 DC는 0.33(=1/3)된다.
다음으로, 악성코드 분류 시스템은 변종비율이 높은 순서대로 악성 코드 각각의 군집화 계수(Clustering Coefficient; CC)를 산출할 수 있다(S302).
이때, 변종계수(CC)는 자인과 연관된 노드들이 얼마나 뭉쳐있는지를 나타내는 파라미터로서, 특정 악성코드와 변종 관계인 악성 코드들이 서로 변종을 이루는 비율을 정의한다. 이러한 군집화 계수는 다음의 [수학식 3]과 같이 정의할 수 있다.
[수학식 3]
악성 코드의 로컬 CC = (변종끼리 가지는 관계의 수) / (변종끼리 가질 수 있는 관계의 수)
여기서, 변종끼리 가지는 관계의 수는 직접 연결되어 있는 노드의 수를 나타내고, 변종끼리 가질 수 있는 관계의 수는 연결되어 있는 모든 노드의 수를 나타낸다.
도 5는 본 발명의 일 실시예에 따른 로컬 CC 산출 원리를 설명하기 위한 도면이다.
도 5에 도시한 바와 같이, 4개의 악성 코드를 포함하는 악성 코드 그룹을 보여주고 있는데, 그 일예로, 악성 코드 그룹 내 악성 코드 A의 로컬 CC는 0.33(=1/3)이 된다.
다른 예로, 악성 코드 그룹 내 악성 코드 B의 로컬 CC는 0.66(=2/3)가 되고, 악성 코드 C의 로컬 CC는 대략 0.66(=2/3)가 되며, 악성 코드 D의 로컬 CC는 대략 1(=3/3)된다.
다음으로, 악성코드 분류 시스템은 산출된 군집화 계수를 기반으로 악성 코드 그룹으로부터 소 그룹을 분리할 수 있다(S303). 예컨대, 악성코드 분류 시스템은 산출된 군집화 계수가 1인 경우 해당 악성 코드와 변종 악성 코드를 하나의 소 그룹으로 분리한다.
다음으로, 악성코드 분류 시스템은 악성 코드 그룹으로부터의 소 그룹 분리 과정이 완료되면, 분리된 소 그룹의 개수가 1개인지를 확인할 수 있다(S304).
다음으로, 악성코드 분류 시스템은 소 그룹의 개수가 1개인 경우 해당 악성 코드 그룹 내 연관성이 적은 악성 코드가 없다고 판단하여 그룹 분리 과정을 종료할 수 있다.
반면, 악성코드 분류 시스템은 소 그룹의 개수가 2개 이상인 경우 모든 소 그룹을 이용하여 서로 다른 두 개의 소 그룹으로 이루어진 N개의 소 그룹 쌍을 생성할 수 있다(S305).
예컨대, 모드 소 그룹이 {A, B, C, D}으로 4개일 경우, 이로부터의 소 그룹 쌍으로는 {A, B}, {A, C}, {A, D}, {B, C}, {B, D}, {C, D}의 총 6개가 생성될 수 있다.
다음으로, 악성코드 분류 시스템은 생성된 모든 소 그룹 쌍에 대한 변종 비율을 산출할 수 있는데(S306), n번째 소 그룹 쌍에 대한 변종 비율 LG은 다음의 [수학식 4]와 같다.
[수학식 4]
LGn = K / (m + n)
여기서, K는 소 그룹 쌍에 포함된 소 그룹 모두의 변종 개수를 나타내고, m은 하나의 소 그룹 내 악성 코드의 수, n은 다른 하나의 소 그룹 내 악성 코스의 수를 나타낸다.
다음으로, 악성코드 분류 시스템은 모든 소 그룹 쌍에 대한 변종비율이 산출 완료되었는지를 확인할 수 있다(S307). 즉, 악성코드 분류 시스템은 n=N이면 모든 소 그룹 쌍에 대한 변종비율 산출이 완료되었다고 판단하고 그렇지 않으면 1만큼 증가시켜 상기 과정을 반복할 수 있다.
다음으로, 악성코드 분류 시스템은 그 확인한 결과로 모든 소 그룹쌍에 대한 변종비율 산출이 완료되면, 모든 소 그룹 쌍에 대한 변종 비율이 미리 설정된 임계치 미만인지를 확인할 수 있다(S308).
여기서, 미리 설정된 임계치는 0.8 이상으로 설정하되, 필요에 따라 변경될 수 있다.
다음으로, 악성코드 분류 시스템은 그 확인한 결과로 모든 소 그룹 쌍에 대한 변종 비율이 임계치 미만인 경우 병합할 그룹이 없다고 판단하여 그룹 분리 과정을 종료할 수 있다.
반면, 악성 코드 분류 시스템은 모든 소 그룹 쌍에 대한 변종 비율이 임계치 미만이 아니라면, 임계치 이상인 소 그룹 쌍을 후보 소 그룹 쌍으로 추출할 수 있다(S309).
다음으로, 악성 코드 분류 시스템은 추출된 후보 그룹 쌍 중 산출된 변종비율 중 가장 높은 변종 비율을 갖는 소 그룹 쌍이 2개 이상인지를 확인할 수 있다(S310).
다음으로, 악성 코드 분류 시스템은 그 확인한 결과로 가장 높은 변종 비율을 갖는 소 그룹 쌍이 하나인 경우, 소 그룹 쌍에 포함된 소 그룹들을 병합할 수 있다(S312).
반면, 악성 코드 분류 시스템은 그 확인한 결과로 가장 높은 변종 비율을 갖는 소 그룹 쌍이 2개 이상인 경우, 미리 설정된 병합 조건을 만족하는 하나의 소 그룹 쌍을 선정하고(S311) 선정된 하나의 소 그룹 쌍에 포함된 소 그룹들을 병합할 수 있다(S312).
이러한 병합 조건으로는 예컨대, 변종 개수, 변종 비율, 랜덤 선택 등일 수 있다.
그 일 예로, 악성 코드 분류 시스템은 가장 높은 변종 비율을 갖는 소 그룹 쌍이 2개 이상인 경우, 변종 개수가 가장 많은 소 그룹 쌍을 선정하고 선정된 소 그룹 쌍에 포함된 소 그룹들을 병합한다.
다른 예로, 악성 코드 분류 시스템은 가장 높은 변종 비율을 갖는 소 그룹 쌍이 2개 이상인 경우, 소 그룹 쌍에 포함된 소 그룹의 변종 비율의 평균값이 가장 높은 소 그룹 쌍을 선정하고 선정된 소 그룹 쌍에 포함된 소 그룹들을 병합한다.
또 다른 예로, 악성 코드 분류 시스템은 가장 높은 변종 비율을 갖는 소 그룹 쌍이 2개 이상인 경우, 랜덤(random)하게 소 그룹 쌍을 선정하고 선정된 소 그룹 쌍에 포함된 소 그룹들을 병합한다.
다음으로, 악성 코드 분류 시스템은 소 그룹의 병합에 따라 변경된 소 그룹들을 기준으로 상기 N개의 소 그룹 쌍을 생성하는 과정부터 반복 수행할 수 있다.
예컨대, 모드 소 그룹이 {A, B, C, D}으로 4개에서 소 그룹 A, B의 병합으로 {A', C, D}로 변경될 경우, 이로부터의 소 그룹 쌍으로는 {A', C}, {A', D}, {C, D}의 총 3개가 생성될 수 있다.
도 6은 본 발명의 일 실시예에 따른 악성 코드 분류 시스템을 나타내는 도면이다.
도 6에 도시한 바와 같이, 본 발명의 일 실시예에 따른 악성 코드 분류 시스템은 코드 그룹화부(100), 그룹 분리부(200), 데이터베이스(database)(300)를 포함할 수 있다.
코드 그룹화부(100)는 다수의 악성 코드가 유입되면, 유입된 다수의 악성 코드를 악성 코드 그룹으로 분류할 수 있다.
도 7은 본 발명의 일 실시예에 따른 코드 그룹화부의 상세한 구성을 나타내는 도면이다.
도 7에 도시한 바와 같이, 본 발명의 일 실시예에 따른 코드 그룹화부(100)은 API 변환부(110), 유사도 산출부(120), 그룹화 결정부(130)로 구성될 수 있다.
API 변환부(110)는 악성코드를 입력 받으면 입력받은 악성코드가 가상 머신(virtual machine) 상에서 실행되는 과정에서 호출되는 API 호출 정보를 수집하고, 수집된 API 호출 정보를 API 코드 테이블을 참조하여 API 코드 시퀀스로 변환할 수 있다.
이때, 본 발명에서는 악성 코드를 가상 머신 상에서 실행하고 있지만 반드시 이에 한정되지 않고 샌드 박스(sandbox)와 같이 보호된 영역 안에서 실행시킬 수 있는 하드웨어나 소프트웨어 모두 가능하다.
유사도 산출부(120)는 N-gram 알고리즘을 이용하여 변환된 API 코드 시퀀스로부터 악성 코드 간 유사도를 산출할 수 있다.
그룹화 결정부(130)는 산출된 유사도를 기반으로 유사한 대표 악성 코드가 있으면, 유입된 악성 코드를 유사한 대표 악성 코드 중 가장 유사한 대표 악성 코드가 포함된 악성코드 그룹으로 분류할 수 있다.
그룹화 결정부(130)는 산출된 유사도를 기반으로 유사한 대표 악성 코드가 없으면, 유입된 악성 코드를 포함하는 새로운 악성코드 그룹을 생성하고, 그 새롭게 생성된 악성코드 그룹의 대표 악성 코드로 해당 악성 코드를 지정할 수 있다.
또한, 그룹 병합부(200)는 악성 코드 그룹 내 모든 악성 코드의 변종비율을 산출하고, 산출된 변종비율이 높은 악성 코드부터 군집화 계수를 산출하여 산출된 군집화 계수에 따라 악성 코드를 소 그룹으로 분리하며, 분리된 소 그룹 간에 악성 코드 그룹의 변종 비율을 산출하여 산출된 변종 비율에 따라 소 그룹을 병합할 수 있다.
도 8은 본 발명의 일 실시예에 따른 그룹 분리부의 상세한 구성을 나타내는 도면이다.
도 8에 도시한 바와 같이, 본 발명의 일 실시예에 따른 그룹 분리부(200)는 그룹쌍 생성부(210), 제1 산출부(220), 제2 산출부(230), 그룹분리 결정부(240)로 구성될 수 있다.
그룹 검색부(210)는 그룹 분리를 위한 제어 명령을 받으면, 악성코드 그룹을 검색할 수 있다.
제1 산출부(220)는 검색된 악성 코드 그룹 중 임의의 악성 코드 그룹 내 악성 코드를 모두 비교하여 그 비교한 결과로 악성 코드 각각의 변종 비율을 산출할 수 있다.
제2 산출부(230)는 산출된 악성코드 각각의 변종 비율을 기반으로 변종비율이 높은 순서대로 악성 코드 각각의 군집화 계수를 산출할 수 있다.
그룹분리 결정부(240)는 산출된 군집화 계수를 기반으로 악성 코드 그룹으로부터 악성 코드를 소 그룹으로 분리하고, 분리된 모드 소 그룹을 이용하여 서로 다른 두 개의 악성코드로 이루어진 N개의 소 그룹 쌍을 생성하여 소 그룹 쌍에 대한 변종 비율을 이용하여 소 그룹 쌍에 포함된 소 그룹들을 병합할 수 있다.
이때, 그룹분리 결정부(240)는 분리된 소 그룹의 개수가 1개인 경우 해당 악성 코드 그룹 내 연관성이 적은 악성 코드가 없다고 판단하여 그룹 분리 과정을 종료할 수 있다.
그룹분리 결정부(240)는 생성된 모든 소 그룹 쌍에 대한 변종 비율을 산출하고, 산출된 변종 비율을 기반으로 가장 높은 변종 비율을 갖는 소 그룹 쌍이 하나인 경우, 소 그룹 쌍에 포함된 소 그룹들을 병합할 수 있다.
그룹분리 결정부(240)는 산출된 변종 비율을 기반으로 가장 높은 변종 비율을 갖는 소 그룹 쌍이 2개 이상인 경우, 미리 설정된 병합 조건을 만족하는 하나의 소 그룹 쌍을 선정하고 선정된 소 그룹 쌍에 포함된 소 그룹들을 병합할 수 있다.
본 발명에 따른 그룹 분리 과정은 모든 악성 코드 그룹에 대해서 이루어질 수 있다.
또한, 데이터베이스(300)는 적어도 하나의 악성 코드를 포함하는 다수의 악성코드 그룹을 저장하고, 그룹 분리 과정에 따라 악성 코드 그룹을 갱신할 수 있다.
한편, 이상에서 설명한 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 기재되어 있다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 또한, 이와 같은 컴퓨터 프로그램은 USB 메모리, CD 디스크, 플래쉬 메모리 등과 같은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체 등이 포함될 수 있다.
이상에서 설명한 실시예들은 그 일 예로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 코드 그룹화부
110: API 변환부
120: 유사도 산출부
130: 그룹화 결정부
200: 그룹 분리부
210: 그룹 검색부
220: 제1 산출부
230: 제2 산출부
240: 그룹분리 결정부
300: 데이터베이스

Claims (20)

  1. 그룹 분리를 위한 제어 명령을 받으면, 악성 코드 그룹을 검색하는 그룹 검색부;
    상기 검색된 악성 코드 그룹에 속한 악성 코드 각각의 제1 변종 비율을 산출하는 제1 산출부;
    상기 산출된 제1 변종 비율이 높은 순서대로 악성 코드 각각의 군집화 계수를 산출하는 제2 산출부; 및
    상기 산출된 군집화 계수를 기반으로 상기 검색된 악성 코드 그룹으로부터 적어도 2개의 소 그룹을 추출하고, 상기 추출된 모든 소 그룹을 이용하여 제1 소 그룹 및 제2 소 그룹으로 구성된 N개의 소 그룹 쌍을 생성하며, 상기 생성된 소 그룹 쌍에 대한 제2 변종 비율을 이용하여 상기 생성된 소 그룹 쌍에 포함된 소 그룹들을 병합하는 그룹분리 결정부;를 포함하되,
    상기 제1 변종 비율은 상기 검색된 악성 코드 그룹에 속한 전체 악성 코드의 개수와 상기 검색된 악성 코드 그룹에 속한 악성 코드 중 해당 악성 코드의 변종의 개수에 기초하여 산출되고,
    상기 추출된 소 그룹은 특정 악성 코드 및 상기 특정 악성 코드의 변종으로 구성되며,
    상기 제2 변종 비율은 상기 제1 소 그룹 및 상기 제2 소 그룹에 속한 전체 악성 코드의 개수와 상기 제1 소 그룹 및 상기 제2 소 그룹에 속한 변종의 개수에 기초하여 산출되는 것인, 악성코드 분류 시스템.
  2. 삭제
  3. 제1 항에 있어서,
    상기 그룹분리 결정부는,
    상기 제2 변종 비율을 기반으로 상기 생성된 소 그룹 쌍 중에서 가장 높은 변종 비율을 갖는 소 그룹 쌍에 포함된 소 그룹들을 병합하는, 악성코드 분류 시스템.
  4. 제1 항에 있어서,
    상기 그룹분리 결정부는,
    상기 제2 변종 비율을 기반으로 상기 생성된 소 그룹 쌍 중에서 가장 높은 변종 비율을 갖는 소 그룹 쌍이 2개 이상인지 여부를 판정하고, 2개 이상이라는 판정에 응답하여 미리 설정된 병합 조건을 만족하는 하나의 소 그룹 쌍을 선정하며, 상기 선정된 소 그룹 쌍에 포함된 소 그룹들을 병합하는, 악성코드 분류 시스템.
  5. 제4 항에 있어서,
    상기 미리 설정된 병합 조건은 변종 개수가 가장 많은 소 그룹 쌍에 포함된 소 그룹들을 병합하는 조건을 포함하는 것인, 악성코드 분류 시스템.
  6. 제4 항에 있어서,
    상기 미리 설정된 병합 조건은 해당 소 그룹 쌍에 포함된 소 그룹의 변종 비율의 평균값이 가장 높은 소 그룹 쌍에 포함된 소 그룹들을 병합하는 조건을 포함하는 것인, 악성코드 분류 시스템.
  7. 제4 항에 있어서,
    상기 미리 설정된 병합 조건은 랜덤하게 선정된 소 그룹 쌍에 포함된 소 그룹들을 병합하는 조건을 포함하는 것인, 악성코드 분류 시스템.
  8. 제1 항에 있어서,
    상기 제1 변종 비율은 다음의 수학식 {제1 변종 비율 = (그룹 내 변종의 개수) / (전체 악성 코드의 수 - 1)}에 의해 산출되는, 악성코드 분류 시스템.
  9. 제1 항에 있어서,
    상기 군집화 계수는 다음의 수학식 {군집화 계수 = (변종끼리 가지는 관계의 수) / (변종끼리 가질 수 있는 관계의 수)}에 의해 산출되는, 악성코드 분류 시스템.
  10. 삭제
  11. 악성코드 분류 시스템에서 수행되는 그룹 분리 기능을 제공하기 위한 방법에 있어서,
    그룹 검색부가 그룹 분리를 위한 제어 명령을 받으면, 악성 코드 그룹을 검색하는 단계;
    제1 산출부가 상기 검색된 악성 코드 그룹에 속한 악성 코드 각각의 제1 변종 비율을 산출하는 단계;
    제2 산출부가 상기 산출된 제1 변종 비율이 높은 순서대로 악성 코드 각각의 군집화 계수를 산출하는 단계;
    그룹분리 결정부가 상기 산출된 군집화 계수를 기반으로 상기 검색된 악성 코드 그룹으로부터 적어도 2개의 소 그룹을 추출하는 단계;
    상기 그룹분리 결정부가 상기 추출된 모든 소 그룹을 이용하여 제1 소 그룹 및 제2 소 그룹으로 구성된 N개의 소 그룹 쌍을 생성하는 단계; 및
    상기 그룹분리 결정부가 상기 생성된 소 그룹 쌍에 대한 제2 변종 비율을 이용하여 상기 생성된 소 그룹 쌍에 포함된 소 그룹들을 병합하는 단계;를 포함하되,
    상기 제1 변종 비율은 상기 검색된 악성 코드 그룹에 속한 전체 악성 코드의 개수와 상기 검색된 악성 코드 그룹에 속한 악성 코드 중 해당 악성 코드의 변종의 개수에 기초하여 산출되고,
    상기 추출된 소 그룹은 특정 악성 코드 및 상기 특정 악성 코드의 변종으로 구성되며,
    상기 제2 변종 비율은 상기 제1 소 그룹 및 상기 제2 소 그룹에 속한 전체 악성 코드의 개수와 상기 제1 소 그룹 및 상기 제2 소 그룹에 속한 변종의 개수에 기초하여 산출되는 것인, 그룹 분리 기능을 제공하기 위한 방법.
  12. 삭제
  13. 제11 항에 있어서,
    상기 병합하는 단계는,
    상기 제2 변종 비율을 기반으로 상기 생성된 소 그룹 쌍 중에서 가장 높은 변종 비율을 갖는 소 그룹 쌍에 포함된 소 그룹들을 병합하는 단계를 포함하는, 그룹 분리 기능을 제공하기 위한 방법.
  14. 제11 항에 있어서,
    상기 병합하는 단계는,
    상기 제2 변종 비율을 기반으로 가장 높은 변종 비율을 갖는 소 그룹 쌍이 2개 이상인지 여부를 판정하는 단계;
    2개 이상이라는 판정에 응답하여, 미리 설정된 병합 조건을 만족하는 하나의 소 그룹 쌍을 선정하는 단계; 및
    상기 선정된 소 그룹 쌍에 포함된 소 그룹들을 병합하는 단계를 포함하는, 그룹 분리 기능을 제공하기 위한 방법.
  15. 제14 항에 있어서,
    상기 미리 설정된 병합 조건은 변종 개수가 가장 많은 소 그룹 쌍에 포함된 소 그룹들을 병합하는 조건을 포함하는 것인, 그룹 분리 기능을 제공하기 위한 방법.
  16. 제14 항에 있어서,
    상기 미리 설정된 병합 조건은 해당 소 그룹 쌍에 포함된 소 그룹의 변종 비율의 평균값이 가장 높은 소 그룹 쌍에 포함된 소 그룹들을 병합하는 조건을 포함하는 것인, 그룹 분리 기능을 제공하기 위한 방법.
  17. 제14 항에 있어서,
    상기 미리 설정된 병합 조건은 랜덤하게 선정된 소 그룹 쌍에 포함된 소 그룹들을 병합하는 조건을 포함하는 것인, 그룹 분리 기능을 제공하기 위한 방법.
  18. 제11 항에 있어서,
    상기 제1 변종 비율은 다음의 수학식 {제1 변종 비율 = (그룹 내 변종의 개수) / (전체 악성 코드의 수 - 1)}에 의해 산출되는, 그룹 분리 기능을 제공하기 위한 방법.
  19. 제11 항에 있어서,
    상기 군집화 계수는 다음의 수학식 {군집화 계수 = (변종끼리 가지는 관계의 수) / (변종끼리 가질 수 있는 관계의 수)}에 의해 산출되는, 그룹 분리 기능을 제공하기 위한 방법.
  20. 삭제
KR1020160164147A 2016-12-05 2016-12-05 그룹 분리 기능을 제공하기 위한 악성코드 분류 시스템 및 그 방법 KR101815968B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160164147A KR101815968B1 (ko) 2016-12-05 2016-12-05 그룹 분리 기능을 제공하기 위한 악성코드 분류 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160164147A KR101815968B1 (ko) 2016-12-05 2016-12-05 그룹 분리 기능을 제공하기 위한 악성코드 분류 시스템 및 그 방법

Publications (1)

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

Family

ID=61003488

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160164147A KR101815968B1 (ko) 2016-12-05 2016-12-05 그룹 분리 기능을 제공하기 위한 악성코드 분류 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR101815968B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190091839A (ko) * 2018-01-29 2019-08-07 삼성전자주식회사 악성 코드를 분류하는 전자 장치 및 그 동작 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150244733A1 (en) 2014-02-21 2015-08-27 Verisign Inc. Systems and methods for behavior-based automated malware analysis and classification

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150244733A1 (en) 2014-02-21 2015-08-27 Verisign Inc. Systems and methods for behavior-based automated malware analysis and classification

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Taejin Lee 외 3인, "Automatic malware mutant detection and group classification based on the n-gram and clustering coefficient ", The Journal of Supercomputing pp.1-15, 2015.12.18
Taejin Lee외 1인, "Effective and Reliable Malware Group Classification for a Massive Malware Environment", International Journal of Distributed Sensor Networks, 2016.01
최보민외 2인, '동적 분석 기반 악성코드 자동 분석 기법에 관한 연구', 한국통신학회 동계 종합 학술발표회 논문집 pp970-971, 2016.01.

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190091839A (ko) * 2018-01-29 2019-08-07 삼성전자주식회사 악성 코드를 분류하는 전자 장치 및 그 동작 방법
KR102424672B1 (ko) * 2018-01-29 2022-07-25 삼성전자주식회사 악성 코드를 분류하는 전자 장치 및 그 동작 방법
US11645387B2 (en) 2018-01-29 2023-05-09 Samsung Electronics Co., Ltd. Electronic device for classifying malicious code and operation method thereof

Similar Documents

Publication Publication Date Title
US20190156492A1 (en) Video Analysis Methods and Apparatus
KR100816923B1 (ko) 문서 분류 시스템 및 그 방법
Meesuksabai et al. Hue-stream: Evolution-based clustering technique for heterogeneous data streams with uncertainty
Darshan et al. Performance evaluation of filter-based feature selection techniques in classifying portable executable files
WO2014118980A1 (ja) 情報変換方法、情報変換装置および情報変換プログラム
KR101930293B1 (ko) 정적 분석과 동적 분석을 이용하여 변종 악성코드를 식별하는 장치 및 방법
JP6708043B2 (ja) データ検索プログラム、データ検索方法およびデータ検索装置
JP6584861B2 (ja) プライバシ保護装置、方法及びプログラム
JP2017004123A (ja) 判定装置、判定方法および判定プログラム
US20190362187A1 (en) Training data creation method and training data creation apparatus
WO2016006276A1 (ja) インデックス生成装置及びインデックス生成方法
JP6589639B2 (ja) 検索システム、検索方法およびプログラム
KR102367859B1 (ko) 특징 벡터를 이용하여 데이터를 분류하는 장치 및 방법
CN109286622B (zh) 一种基于学习规则集的网络入侵检测方法
CN110717086A (zh) 一种海量数据聚类分析方法及装置
US20150058272A1 (en) Event correlation detection system
KR101815968B1 (ko) 그룹 분리 기능을 제공하기 위한 악성코드 분류 시스템 및 그 방법
KR102018443B1 (ko) 네트워크 침입 탐지 시스템 및 방법, 이를 수행하기 위한 기록매체
KR102246405B1 (ko) Tf-idf 기반 벡터 변환 및 데이터 분석 장치 및 방법
EP2947597B1 (en) Confidential data generation method and device
JP6356015B2 (ja) 遺伝子発現情報解析装置、遺伝子発現情報解析方法、及びプログラム
CN110990834A (zh) 一种android恶意软件的静态检测方法、系统及介质
JP2017107472A (ja) 文字列検索方法および装置
KR101849595B1 (ko) 그룹 병합 기능을 제공하기 위한 악성코드 분류 시스템 및 그 방법
KR20150124825A (ko) 화상분류 기반의 나이브 베이즈 분류기

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant