KR102367859B1 - 특징 벡터를 이용하여 데이터를 분류하는 장치 및 방법 - Google Patents

특징 벡터를 이용하여 데이터를 분류하는 장치 및 방법 Download PDF

Info

Publication number
KR102367859B1
KR102367859B1 KR1020170070948A KR20170070948A KR102367859B1 KR 102367859 B1 KR102367859 B1 KR 102367859B1 KR 1020170070948 A KR1020170070948 A KR 1020170070948A KR 20170070948 A KR20170070948 A KR 20170070948A KR 102367859 B1 KR102367859 B1 KR 102367859B1
Authority
KR
South Korea
Prior art keywords
data
feature vector
signatures
section
sections
Prior art date
Application number
KR1020170070948A
Other languages
English (en)
Other versions
KR20180133726A (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 KR1020170070948A priority Critical patent/KR102367859B1/ko
Publication of KR20180133726A publication Critical patent/KR20180133726A/ko
Application granted granted Critical
Publication of KR102367859B1 publication Critical patent/KR102367859B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

기계 학습을 수행하기 위한 학습 데이터의 특징 벡터를 이용하여 데이터를 분류하는 장치는 복수의 시그니처 별로 복수의 구간을 설정하는 구간 설정부, 복수의 학습 데이터로부터 복수의 시그니처에 대한 각각의 빈도수를 추출하는 빈도 추출부, 상기 추출된 각각의 빈도수를 상기 복수의 구간 중 해당하는 구간과 매핑하는 구간 매핑부, 상기 복수의 시그니처 각각이 매핑된 구간에 해당하는 엘리먼트를 추출하여 특징 벡터를 생성하는 특징 벡터 생성부 및 상기 생성된 특징 벡터를 입력 데이터로 하여 상기 입력 데이터를 복수의 클래스 중 어느 하나로 분류하도록 기계 학습을 수행하는 분류부를 포함한다.

Description

특징 벡터를 이용하여 데이터를 분류하는 장치 및 방법{APPRATUS AND METHOD FOR CLASSIFYING DATA USING FEATURE VECTOR}
본 발명은 특징 벡터를 이용하여 데이터를 분류하는 장치 및 방법에 관한 것이다.
악성코드란 악의적인 목적을 위해 작성된 실행 가능한 코드를 말하는 것으로, 주로 웹페이지 검색, P2P 서비스 이용, 셰어웨어 이용, 불법복제 프로그램 이용, 이메일 또는 메신저 첨부파일의 이용 시 침투된다. 악성 코드는 자기 복제 능력과 감염 대상 유무에 따라 바이러스, 웜, 트로이 목마 등으로 분류된다.
악성 코드의 증상 및 유포 방법은 더욱더 복잡해지고 지능화되고 있어, 악성 코드를 빨리 정확히 탐지하는 방법이 매우 중요하다. 악성 코드를 탐지하는 기법으로는 대표적으로 시그니처(signature) 기반 탐지 기법과 휴리스틱(Heuristic) 기반 탐지 기법이 있다. 이러한 악성 코드를 탐지하는 기법과 관련하여, 선행기술인 한국등록특허 제 10-1480244호는 클래스 단위의 시그니처를 이용한 악성 어플리케이션 탐지 방법 및 장치를 개시하고 있다.
그러나 종래의 기계학습 기반의 악성 코드 탐지 기법은 악성 코드의 시그니처의 종류만큼 벡터의 차원이 높아짐에 따라 많은 매개변수를 구해야 하며, 메모리 부하 및 계산량이 증가되어 데이터 분류 장치의 성능이 낮아진다는 단점을 갖는다.
특징 벡터의 차원을 축소시킴으로써, 메모리 부하 및 계산량을 감소시킬 수 있는 데이터 분류 장치를 제공하고자 한다. 각 시그니처에 대한 빈도수에 기초하여 분별력이 높은 특징을 추출함으로써, 특징 벡터의 차원을 축소시켜 데이터 분류 성능을 향상시키는 데이터 분류 장치를 제공하고자 한다. 악성 파일을 탐지하여 데이터를 악성 파일 및 정상 파일로 분류하고, 악성 파일을 특징 별로 복수개의 클래스 중 어느 하나로 분류하도록 기계 학습을 시키는 데이터 분류 장치를 제공하고자 한다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 수단으로서, 본 발명의 일 실시예는, 복수의 시그니처 별로 복수의 구간을 설정하는 구간 설정부, 복수의 학습 데이터로부터 복수의 시그니처에 대한 각각의 빈도수를 추출하는 빈도 추출부, 상기 추출된 각각의 빈도수를 상기 복수의 구간 중 해당하는 구간과 매핑하는 구간 매핑부, 상기 복수의 시그니처 각각이 매핑된 구간에 해당하는 엘리먼트를 추출하여 특징 벡터를 생성하는 특징 벡터 생성부 및 상기 생성된 특징 벡터를 입력 데이터로 하여 상기 입력 데이터를 복수의 클래스 중 어느 하나로 분류하도록 기계 학습을 수행하는 분류부를 포함할 수 있다.
본 발명의 다른 실시예는, 복수의 시그니처 별로 복수의 구간을 설정하는 구간 설정부, 미확인 데이터로부터 복수의 시그니처에 대한 각각의 빈도수를 추출하는 추출부, 상기 추출된 각각의 빈도수를 상기 복수의 구간 중 해당하는 구간과 매핑하는 구간 매핑부, 상기 복수의 시그니처 각각이 매핑된 구간에 해당하는 엘리먼트를 추출하여 특징 벡터를 생성하는 특징 벡터 생성부 및 상기 생성된 특징 벡터를 입력 데이터로 하여 상기 입력 데이터를 복수의 클래스 중 어느 하나로 분류하는 분류부를 포함할 수 있다.
본 발명의 또 다른 실시예는, 복수의 시그니처 별로 복수의 구간을 설정하는 단계, 복수의 학습 데이터로부터 복수의 시그니처에 대한 각각의 빈도수를 추출하는 단계, 상기 추출된 각각의 빈도수를 상기 복수의 구간 중 해당하는 구간과 매핑하는 단계, 상기 복수의 시그니처 각각이 매핑된 구간에 해당하는 엘리먼트를 추출하여 특징 벡터를 생성하는 단계 및 상기 생성된 특징 벡터를 입력 데이터로 하여 상기 입력 데이터를 복수의 클래스 중 어느 하나로 분류하도록 기계 학습을 수행하는 단계를 포함할 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 전체 특징 벡터의 차원을 축소시킴으로써, 메모리 부하 및 계산량을 감소시킬 수 있는 데이터 분류 장치를 제공할 수 있다. 각 시그니처에 대한 빈도수에 기초하여 분별력이 높은 특징을 추출함으로써, 전체 특징 벡터의 차원을 축소시켜 데이터 분류 성능을 향상시키는 데이터 분류 장치를 제공할 수 있다. 악성 파일을 탐지하여 데이터를 악성 파일 및 정상 파일로 분류하고, 악성 파일을 특징 별로 복수개의 클래스 중 어느 하나로 분류하도록 기계 학습을 시키는 데이터 분류 장치를 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 데이터 분류 장치의 구성도이다.
도 2a 및 도 2b는 본 발명의 일 실시예에 따른 학습 데이터로부터 복수의 시그니처를 추출하는 과정을 설명하기 위한 예시적인 도면이다.
도 3은 본 발명의 일 실시예에 따른 복수의 시그니처 별로 복수의 구간을 설정하는 과정을 설명하기 위한 예시적인 도면이다.
도 4는 본 발명의 일 실시예에 따른 복수의 학습 데이터로부터 복수의 시그니처에 대한 각각의 빈도수를 추출하는 과정을 설명하기 위한 예시적인 도면이다.
도 5는 본 발명의 일 실시예에 따른 추출된 각각의 빈도수와 복수의 구간 중 해당하는 구간과 매핑하는 과정을 설명하기 위한 예시적인 도면이다.
도 6a 내지 도 6c는 본 발명의 일 실시예에 따른 복수의 학습 데이터로부터 생성된 특징 벡터에 기초하여 복수의 학습 데이터 간의 거리를 도출하여 복수의 클래스 중 어느 하나의 클래스로 분류하는 과정을 설명하기 위한 예시적인 도면이다.
도 7a 및 도 7b는 본 발명의 일 실시예에 따른 복수의 학습 데이터로부터 생성된 특징 벡터를 비교한 예시적인 도면이다.
도 8은 본 발명의 일 실시예에 따른 데이터 분류 장치에서 학습 데이터의 특징 벡터를 이용하여 기계 학습을 수행하는 방법의 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.
이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 데이터 분류 장치의 구성도이다. 도 1을 참조하면, 데이터 분류 장치(100)는 구간 설정부(110), 빈도 추출부(120), 구간 매핑부(130), 특징 벡터 생성부(140), 거리 도출부(150) 및 분류부(160)를 포함할 수 있다.
일 실시예에 따르면, 데이터 분류 장치(100)는 기계 학습을 수행하기 위한 학습 데이터의 특징 벡터를 이용하여 데이터를 분류할 수 있다. 예를 들어, 데이터 분류 장치(100)는 기계 학습을 수행하기 위해 k-means 알고리즘을 이용하여 데이터를 분류할 수 있다.
구간 설정부(110)는 복수의 시그니처 별로 복수의 구간을 설정할 수 있다. 예를 들어, 복수의 시그니처는 복수의 학습 데이터의 클래스를 분류하기 위한 특징으로 선택되어 학습 데이터로부터 추출되는 것일 수 있다. 학습 데이터로부터 추출된 복수의 시그니처 별로 복수의 구간을 설정하는 과정과 관련하여 도 2a 내지 도 3을 참조하여 상세히 설명하도록 한다.
도 2a 및 도 2b는 본 발명의 일 실시예에 따른 학습 데이터로부터 복수의 시그니처를 추출하는 과정을 설명하기 위한 예시적인 도면이다.
도 2a는 본 발명의 일 실시예에 따른 학습 데이터를 도시한 예시적인 도면이다. 도 2a를 참조하면, 학습 데이터는 파일의 실행 후, 행위 관찰을 통해 악성 파일 및 정상 파일을 분류하기 위한 특징이 획득되는 것일 수 있다. 여기서, 학습 데이터는 가상에서 특정 프로그램의 실행에 대한 관찰 보고서를 제공하는 샌드박스 툴로부터 획득되는 것이며, 행위 관찰은 예를 들어, 다른 위치로의 파일 복제, 특정 값으로의 레지스트리 키 지정 등을 포함할 수 있다.
도 2b는 본 발명의 일 실시예에 따른 학습 데이터로부터 복수의 시그니처를 추출하는 과정을 설명하기 위한 예시적인 도면이다. 도 2b를 참조하면, 데이터 분류 장치(100)는 학습 데이터로부터 복수의 시그니처를 추출할 수 있다.
예를 들어, 데이터 분류 장치(100)는 'create_mutex_1 (name="GhostBOT0.58c")를 '시그니처 A'로, 'create_mutex_1 (name="GhostBOT0.58b")를 '시그니처 B'로, 'create_mutex_1 (name="GhostBOT0.58a")를 '시그니처 C'로, 'enum_processes_1 (apifunction="Process32First")를 '시그니처 D'로, 'query_value_2 (key="HKEY_LOCAL.. \run", subkey_or_value="GUARD")를 '시그니처 E'로, 'create_file_2 (srcpath="C: \windows\...")를 '시그니처 F'로, 'create_file_1 (srcpath="C\windows\...", srcfile="vcmgcd32.dl_")을 '시그니처 G'로, 'delete_file_2 (srcpath="C: \windows\...")를 '시그니처 H'로, 'create_mutex_1 (name="kuku_joker_v3.09")를 '시그니처 I'로, 'enum_processes_1 (apifunction="Process32First")를 '시그니처 J'로 추출할 수 있다.
도 3은 본 발명의 일 실시예에 따른 복수의 시그니처 별로 복수의 구간을 설정하는 과정을 설명하기 위한 예시적인 도면이다. 도 3을 참조하면, 구간 설정부(110)는 복수의 시그니처 별(320)로 각 시그니처의 빈도수(310)에 따라 균등하게 나눠진 복수의 구간을 설정할 수 있다. 예를 들어, 구간 설정부(110)는 '시그니처 A'(321)에 대해 'A1'(331), 'A2'(332), 'A3'(333)와 같이 복수의 구간이 균등하게 나누어지도록 설정할 수 있다.
구간 설정부(110)는 복수의 구간을 각 시그니처 별로 다르게 설정할 수 있다. 이 때, 구간 설정부(110)는 복수의 구간을 각 시그니처 간의 중요도에 따라 다르게 설정할 수도 있다. 예를 들어, 각 시그니처에 설정된 제 1 구간에 해당하는 '시그니처 A'(321), '시그니처 B'(322), '시그니처 C'(323)는 각 시그니처 간의 중요도에 따라 각 구간의 길이가 다르게 설정될 수도 있다. 중요도가 높은 시그니처일 경우 다른 시그니처에 비해 각 구간의 길이가 짧아져서 해당 시그니처의 특징이 타 시그니처에 비해 분별력 있게 추출될 수 있다.
다시 도 1로 돌아와서, 빈도 추출부(120)는 복수의 학습 데이터로부터 복수의 시그니처에 대한 각각의 빈도수를 추출할 수 있다.
구간 매핑부(130)는 추출된 각각의 빈도수를 복수의 구간 중 해당하는 구간과 매핑할 수 있다.
빈도 추출부(120)에서 학습 데이터로부터 복수의 시그니처에 대한 각각의 빈도수를 추출하고, 구간 매핑부(130)에서 각각의 빈도수와 복수의 구간 중 해당하는 구간과 매핑하는 과정에 대해서는 도 4 및 도 5를 참조하여 상세히 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따른 복수의 학습 데이터로부터 복수의 시그니처에 대한 각각의 빈도수를 추출하는 과정을 설명하기 위한 예시적인 도면이다. 도 4를 참조하면, 빈도 추출부(120)는 복수의 시그니처 별(420)로 각 시그니처의 빈도수(410)를 추출할 수 있다.
예를 들어, 빈도 추출부(120)는 '시그니처 A'(421)에 대해 빈도수를 'nA'(431)로 추출하고, '시그니처 B'(422)에 대해 빈도수를 'nB'(432)로 추출하고, '시그니처 C'(423)에 대해 빈도수를 'nC'(433)로 추출할 수 있다.
도 5는 본 발명의 일 실시예에 따른 추출된 각각의 빈도수와 복수의 구간 중 해당하는 구간과 매핑하는 과정을 설명하기 위한 예시적인 도면이다.
도 4 및 도 5를 참조하면, 구간 매핑부(130)는 시그니처 별(520)로 각각의 시그니처에 대해 추출된 빈도수(510)에 기초하여 복수의 구간 중 해당하는 구간과 매핑할 수 있다. 이 때, 구간 매핑부(130)는 추출된 복수의 시그니처의 빈도수에 따라 각 시그니처를 복수의 구간 중 어느 하나에 매핑할 수 있다. 예를 들어, 구간 매핑부(130)는 '시그니처 A'(521)에 대해 추출된 빈도수인 'nA'(431)를 기설정된 균등 분할 구간 A3(531)과 매핑하고, '시그니처 B'(522)에 대해 추출된 빈도수인 'nB'(432)를 구간 B2(532)와 매핑하고, '시그니처 C'(523)에 대해 추출된 빈도수인 'nC'(433)를 구간 C3(533)와 매핑할 수 있다.
다시 도 1로 돌아와서, 특징 벡터 생성부(140)는 복수의 시그니처 각각이 매핑된 구간에 해당하는 엘리먼트를 추출하여 특징 벡터를 생성할 수 있다. 이 때, 특징 벡터 생성부(140)는 복수의 시그니처의 종류보다 적은 차원의 특징 벡터를 생성할 수 있다. 또한, 특징 벡터 생성부(140)는 복수의 시그니처의 종류에 해당하는 사이즈를 가지는 집합으로 이루어진 특징 벡터를 생성할 수 있다. 예를 들어, 특징 벡터 생성부(140)는 도 5의 복수의 시그니처 각각이 매핑된 구간에 해당하는 엘리먼트를 추출하여 {A3, B2, C3, ...}와 같은 집합을 생성할 수 있다. 이 때, 생성된 특징 벡터는 집합으로 구성된 1차원의 벡터일 수 있다.
거리 도출부(150)는 학습 데이터의 경우, 복수의 학습 데이터로부터 생성된 각각의 특징 벡터에 기초하여 복수의 학습 데이터 간의 거리를 도출할 수 있다.
분류부(160)는 학습 데이터의 경우, 생성된 특징 벡터를 입력 데이터로 하여 입력 데이터를 복수의 클래스 중 어느 하나로 분류하도록 기계 학습을 수행할 수 있다. 분류부(160)는 도출된 복수의 학습 데이터 간의 거리에 기초하여 입력 데이터를 복수의 클래스 중 어느 하나로 분류할 수 있다. 예를 들어, 복수의 학습 데이터 간의 거리는 두 개의 학습 데이터의 특정 벡터에 대한 합집합의 원소 수로부터 적어도 두 개의 학습 데이터의 특징 벡터에 대한 교집합의 원소 수를 뺀 값일 수 있다. 예를 들어, 분류부(160)는 복수의 학습 데이터 간의 거리에 기초하여 복수의 클래스에 해당하는 복수의 군집을 생성하도록 기계 학습을 수행할 수 있고, 이후에 입력된 입력 데이터와 복수의 군집 간의 거리를 도출하여 입력 데이터를 복수의 클래스 중 입력 데이터와 가장 근접한 군집(예를 들어, 해당 군집의 평균값이 입력 데이터와 가장 근접한 경우)에 해당하는 클래스로 분류할 수 있다. 한편, 복수의 학습 데이터에 대한 평균값은 복수의 학습 데이터에 대한 교집합으로 정의될 수 있다. 다시 말해, k-means 알고리즘을 이용하는 본원 발명의 경우, 1차적으로 학습 데이터에 의한 군집화 과정을 기계 학습을 통해 수행하고, 이 후에 입력된 데이터의 특징 벡터와 각 군집 간의 거리에 기초하여 군집화를 통해 생성된 복수의 클래스 중 하나로 분류할 수 있다.
이하에서, 데이터 간의 거리를 도출하여 복수의 클래스 중 어느 하나의 클래스로 분류하는 과정에 대해 도 6a 내지 도 6c를 통해 상세히 설명하도록 한다.
도 6a 내지 도 6c는 본 발명의 일 실시예에 따른 복수의 학습 데이터로부터 생성된 특징 벡터에 기초하여 복수의 학습 데이터 간의 거리를 도출하여 복수의 클래스 중 어느 하나의 클래스로 분류하는 과정을 설명하기 위한 예시적인 도면이다.
도 6a는 본 발명의 일 실시예에 따른 복수의 학습 데이터 간의 거리를 도출하는 방식을 도시한 예시적인 도면이다. 도 6a를 참조하면, 특징 벡터는 집합으로 생성되어 여러 분류 장치를 대상으로 학습시키기에 한계를 가졌다. 따라서, 본 발명에서는 k-NN, 군집화 등의 분류기는 특징 벡터 사이의 유클리디안 거리를 이용하여 생성하고, string 간의 해밍 거리(Hamming distance) 또는 편집 거리(Edit distance) 등은 데이터를 학습시키기 위해 주로 이용되는 점에 착안하여, 집합인 특징 벡터 간에 새로운 거리를 정의하고자 한다.
복수의 학습 데이터 간의 거리는 다음과 같이 도출될 수 있다.
Dist(A, B) = (A ∪ B)의 원소 수 - (A n B)의 원소 수
거리 도출부(150)는 학습 데이터 간의 교집합의 유무 또는 크고 작음에 따라 거리를 도출할 수 있다. 이 때, 도출된 거리는 해당 학습 데이터가 얼마나 다른지, 얼마나 가깝고 먼지에 대한 합리적 지표로 이용될 수 있다.
예를 들어, 거리 도출부(150)는 교집합이 없는 경우(600)의 집합 A(601)와 집합 B(602) 간의 거리를 도출할 수 있다. 이 때, 집합 A(601)와 집합 B(602) 간의 교집합이 없으므로, 집합 A(601)와 집합 B(602) 간의 거리는 매우 커질 수 있다.
다른 예를 들어, 거리 도출부(150)는 작은 교집합을 포함하는 경우(610)의 집합 A(601)와 집합 B(602) 간의 거리를 도출할 수 있다. 이 때, 집합 A(601)와 집합 B(602) 간에 작은 교집합(611)을 포함하고 있으므로, 집합 A(601)와 집합 B(602) 간의 거리는 교집합이 없는 경우(600) 보다 짧아질 수 있다.
또 다른 예를 들어, 거리 도출부(150)는 큰 교집합을 포함하는 경우(620)의 집합 A(601)와 집합 B(602) 간의 거리를 도출할 수 있다. 이 때, 집합 A(601)와 집합 B(602) 간에 큰 교집합(621)을 포함하고 있으므로, 집합 A(601)와 집합 B(602) 간의 거리는 작은 교집합을 포함하는 경우(610) 보다 짧아질 수 있다.
도 6b 및 도 6c는 본 발명의 일 실시예에 따른 특징 벡터를 입력 데이터로 하여 복수의 클래스 중 어느 하나로 분류하는 과정을 설명하기 위한 예시적인 도면이다.
예를 들어, 파일 1(630)에 해당하는 특징 벡터가 [{A4, B5, C3, D2, E3, F4, G1, H3, I3, J5}]로 구성되고, 파일 2(631)에 해당하는 특징 벡터가 [{A4, B3, C1, D2, E2, F5, G1, H1, I2, J4}]로 구성되고, 파일 3(632)에 해당하는 특징 벡터가 [{A4, B3, C3, D5, E3, F2, G1, H3, I1, J4}]로 구성되었다고 가정하자.
파일 1(630) 및 파일 2(631) 간의 거리 = (파일 1 ∪ 파일 2)의 원소 수 - (파일 1 n 파일 2)의 원소 수={A4, B3, B5, C3, C1, D2, E3, E2, F4, F5, G1, H3, H1, I3, I2, J5, J4}의 원소 수 - {A4, D2, G1}의 원소 수 = 14로 도출될 수 있다.
파일 2(631) 및 파일 3(632) 간의 거리 = (파일 2 ∪ 파일 3)의 원소 수 - (파일 2 n 파일 3)의 원소 수={A4, B3, C1, C3, D2, D5, E2, E3, F5, F2, G1, H1, H3, I2, I1, J4}의 원소 수 - {A4, B3, G1, J4}의 원소 수 = 12로 도출될 수 있다.
파일 1(630) 및 파일 3(632) 간의 거리 = (파일 1 ∪ 파일 3)의 원소 수 - (파일 1 n 파일 3)의 원소 수= {A4, B5, B3, C3, D2, D5, E3, F4, F2, G1, H3, I3, I1, J5, J4}의 원소 수 - {A4, C3, E3, G1, H3}의 원소 수 = 10으로 도출될 수 있다.
파일 1(630) 내지 파일 3(632)은 도출된 파일 간의 거리에 기초하여 도 6b에같이 도시된 바와 같이 나타내어 질 수 있다. 예를 들어, 파일 1(630) 내지 파일 3(632)은 파일 2(631), 파일 3(632), 파일 1(630)의 위치 관계로 나타내어 질 수 있다. 이 때, 각 파일은 도출된 거리에 따라 클래스 1(640) 또는 클래스 2(650)로 분류될 수 있으며, 파일 1(630) 내지 파일 3(632)의 경우 클래스 1(640)에 해당할 수 있다.
다시 도 1로 돌아와서, 다른 실시예에 따르면, 데이터 분류 장치(100)는 미확인 데이터의 특징 벡터를 이용하여 데이터를 분류할 수 있다. 다른 실시예에서, 데이터 분류 장치(100)에 포함된 구간 설정부(110), 구간 매핑부(130), 특징 벡터 생성부(140)는 일 실시예에서 상술한 바와 같이 동일한 기능을 수행하므로 생략하도록 한다. 예를 들어, 데이터 분류 장치(100)는 미확인 데이터를 k-NN(k-nearest neighbor) 알고리즘을 이용하여 데이터를 분류할 수 있다.
빈도 추출부(120)는 미확인 데이터로부터 복수의 시그니처에 대한 각각의 빈도수를 추출할 수 있다.
거리 도출부(150)는 생성된 특징 벡터 및 기입력된 복수의 데이터로부터 생성된 특징 벡터에 기초하여 미확인 데이터와 기입력된 복수의 데이터 간의 거리를 도출할 수 있다.
분류부(160)는 미확인 데이터로부터 생성된 특징 벡터를 입력 데이터로 하여 입력 데이터를 복수의 클래스 중 어느 하나로 분류할 수 있다. 이 때, 분류부(160)는 미확인 데이터와 기입력된 복수의 데이터 간의 거리에 기초하여 입력 데이터를 복수의 클래스 중 어느 하나로 분류할 수 있다. 예를 들어, 분류부(160)는 입력 데이터를 기입력된 복수의 데이터 중 미확인 데이터로부터 기설정된 거리 안에서 가장 빈도수가 높은 데이터의 클래스로 분류할 수 있다. 다시 말해, k-NN 알고리즘을 이용하는 본원 발명의 경우, 학습 데이터에 의한 군집화 과정을 기계 학습을 통해 수행하지 않고도, 미확인 데이터와 기입력된 복수의 데이터 간의 거리에 기초하여 기설정된 복수의 클래스 중 하나로 분류할 수 있다.
도 7a 및 도 7b는 본 발명의 일 실시예에 따른 복수의 학습 데이터로부터 생성된 특징 벡터를 비교한 예시적인 도면이다.
도 7a는 종래의 복수의 학습 데이터로부터 생성된 특징 벡터를 도시한 예시적인 도면이다. 도 7a를 참조하면, 종래의 데이터 분류 장치는 학습 데이터로부터 복수의 시그니처를 추출하고, 복수의 시그니처에 대한 빈도수를 추출하여, 시그니처에 대한 특징 벡터를 생성할 수 있다. 이 때, 종래의 데이터 분류 장치는 파일을 가상 환경에서 실행시키거나, 파일 자체를 디스어셈블 한 후, [기능단위, 기능을 실행시키는 명령어 구조]들에 대한 파악이 전제되어야 한다.
예를 들어, 종래의 데이터 분류 장치는 시그니처 A 부터 J에 대해, 각 시그니처에 대한 빈도수를 추출하여 [11, 15, 10, 6, 11, 15, 3, 11, 10, 14]와 같이 10차원의 특징 벡터(700)를 생성할 수 있다.
그러나 종래의 기계학습 기반의 데이터 분류 장치는 벡터의 차원이 악성코드의 시그니처 종류만큼 높아, 많은 매개변수를 구해야 하며, 이로 인해 데이터 분류 장치의 성능이 낮아지고, 메모리 부하 및 계산량이 증가된다는 단점을 가졌다.
도 7b는 본 발명의 일 실시예에 따른 복수의 학습 데이터로부터 생성된 특징 벡터를 도시한 예시적인 도면이다. 도 7b를 참조하면, 본 발명에서 제안하는 데이터 분류 장치는 학습 데이터로부터 복수의 시그니처를 추출하고, 복수의 시그니처에 대한 각각의 빈도수를 추출하여, 각각의 빈도수를 복수의 구간 중 해당하는 구간과 매핑하여, 매핑된 구간에 해당하는 엘리먼트를 추출하여 특징 벡터를 생성할 수 있다. 이 때, 각 구간은 시그니처에 따라 다르게 설정 가능한 것일 수 있다.
예를 들어, 본 발명에서 제안하는 데이터 분류 장치(100)는 시그니처 A 부터 J에 대해, 각 시그니처에 대한 빈도수를 각각 {11, 15, 10, 6, 11, 15, 3, 11, 10, 14}로 추출하고, 추출된 빈도수가 해당하는 구간과 매핑하고, 매핑된 구간에 엘리먼트를 추출하여 [{A4, B5, C3, D2, E3, F4, G1, H3, I3, J5}]와 같이 1차원의 특징 벡터(710)를 생성할 수 있다. 즉, 1차원의 특징 벡터(710)는 추출된 빈도수가 해당하는 구간에 대한 집합으로 구성되는 것일 수 있다. 다른 예를 들어, 데이터 분류 장치(100)는 복수의 시그니처의 종류보다 적은 차원의 특징 벡터를 생성할 수 있으므로, [{A4, B5, C3, D2, E3}, {F4, G1, H3, I3, J5}]와 같이 2차원의 특징 벡터를 생성할 수도 있다.
본 발명에서 제안하는 데이터 분류 장치(100)는 종래의 데이터 분류 장치와 비교하여 전체 특징 벡터의 차원을 축소시킴으로써, 메모리 부하 및 계산량을 감소시켜 데이터 분류 장치(100)의 성능을 향상시키고, 특징 벡터가 집합임에도 특징 벡터 간의 거리를 정의하여 여러 데이터 분류 장치를 대상으로 학습시킬 수 있다는 장점을 갖는다.
도 8은 본 발명의 일 실시예에 따른 데이터 분류 장치에서 학습 데이터의 특징 벡터를 이용하여 기계 학습을 수행하는 방법의 순서도이다. 도 8에 도시된 데이터 분류 장치(100)에 의해 수행되는 학습 데이터의 특징 벡터를 이용하여 기계 학습을 수행하는 방법은 도 1 내지 도 7b에 도시된 실시예에 따라 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 7b에 도시된 실시예에 따른 데이터 분류 장치(100)에 의해 수행되는 학습 데이터의 특징 벡터를 이용하여 기계 학습을 수행하는 방법에도 적용된다.
단계 S810에서 데이터 분류 장치(100)는 복수의 시그니처 별로 복수의 구간을 설정할 수 있다.
단계 S820에서 데이터 분류 장치(100)는 복수의 학습 데이터로부터 복수의 시그니처에 대한 각각의 빈도수를 추출할 수 있다.
단계 S830에서 데이터 분류 장치(100)는 추출된 각각의 빈도수를 복수의 구간 중 해당하는 구간과 매핑할 수 있다.
단계 S840에서 데이터 분류 장치(100)는 복수의 시그니처 각각이 매핑된 구간에 해당하는 엘리먼트를 추출하여 특징 벡터를 생성할 수 있다.
단계 S850에서 데이터 분류 장치(100)는 생성된 특징 벡터를 입력 데이터로 하여 입력 데이터를 복수의 클래스 중 어느 하나로 분류하도록 기계 학습을 수행할 수 있다.
상술한 설명에서, 단계 S810 내지 S850은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.
도 1 내지 도 8을 통해 설명된 데이터 분류 장치에서 학습 데이터의 특징 벡터를 이용하여 기계 학습을 수행하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 또한, 도 1 내지 도 8을 통해 설명된 데이터 분류 장치에서 학습 데이터의 특징 벡터를 이용하여 기계 학습을 수행하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램의 형태로도 구현될 수 있다.
컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 데이터 분류 장치
110: 구간 설정부
120: 빈도 추출부
130: 구간 매핑부
140: 특징 벡터 생성부
150: 거리 도출부
160: 분류부

Claims (16)

  1. 기계 학습을 수행하기 위한 학습 데이터의 특징 벡터를 이용하여 데이터를 분류하는 장치에 있어서,
    복수의 시그니처 별로 복수의 구간을 설정하는 구간 설정부;
    복수의 학습 데이터로부터 복수의 시그니처에 대한 각각의 빈도수를 추출하는 빈도 추출부;
    상기 추출된 각각의 빈도수를 상기 복수의 구간 중 해당하는 구간과 매핑하는 구간 매핑부;
    상기 복수의 시그니처 각각이 매핑된 구간에 해당하는 엘리먼트를 추출하여 특징 벡터를 생성하는 특징 벡터 생성부; 및
    상기 생성된 특징 벡터를 입력 데이터로 하여 상기 입력 데이터를 복수의 클래스 중 어느 하나로 분류하도록 기계 학습을 수행하는 분류부
    를 포함하는 것인, 데이터 분류 장치.
  2. 제 1 항에 있어서,
    상기 복수의 시그니처는 상기 복수의 학습 데이터의 클래스를 분류하기 위한 특징으로 선택되어 상기 학습 데이터로부터 추출되는 것인, 데이터 분류 장치.
  3. 제 1 항에 있어서,
    상기 구간 설정부는 상기 복수의 시그니처 별로 각 시그니처의 빈도수에 따라 균등하게 나눠진 복수의 구간을 설정하는 것인, 데이터 분류 장치.
  4. 제 3 항에 있어서,
    상기 구간 설정부는 상기 복수의 구간을 각 시그니처 별로 다르게 설정하는 것인, 데이터 분류 장치.
  5. 제 4 항에 있어서,
    상기 구간 설정부는 상기 복수의 구간을 상기 각 시그니처 간의 중요도에 따라 다르게 설정하는 것인, 데이터 분류 장치.
  6. 제 3 항에 있어서,
    상기 구간 매핑부는 상기 추출된 복수의 시그니처의 빈도수에 따라 상기 각 시그니처를 상기 복수의 구간 중 어느 하나에 매핑하는 것인, 데이터 분류 장치.
  7. 제 6 항에 있어서,
    상기 특징 벡터 생성부는 상기 복수의 시그니처의 종류보다 적은 차원의 특징 벡터를 생성하는 것인, 데이터 분류 장치.
  8. 제 6 항에 있어서,
    상기 특징 벡터 생성부는 상기 복수의 시그니처의 종류에 해당하는 사이즈를 가지는 집합으로 이루어진 특징 벡터를 생성하는 것인, 데이터 분류 장치.
  9. 제 1 항에 있어서,
    상기 복수의 학습 데이터로부터 생성된 각각의 특징 벡터에 기초하여 상기 복수의 학습 데이터 간의 거리를 도출하는 거리 도출부
    를 더 포함하는 것인, 데이터 분류 장치.
  10. 제 9 항에 있어서,
    상기 분류부는 상기 도출된 복수의 학습 데이터 간의 거리에 기초하여 상기 입력 데이터를 상기 복수의 클래스 중 어느 하나로 분류하는 것인, 데이터 분류 장치.
  11. 제 10 항에 있어서,
    상기 복수의 학습 데이터 간의 거리는 적어도 두 개의 학습 데이터의 특징 벡터에 대한 합집합의 원소 수로부터 상기 적어도 두 개의 학습 데이터의 특징 벡터에 대한 교집합의 원소 수를 뺀 값인 것인, 데이터 분류 장치.
  12. 미확인 데이터의 특징 벡터를 이용하여 데이터를 분류하는 장치에 있어서,
    복수의 시그니처 별로 복수의 구간을 설정하는 구간 설정부;
    미확인 데이터로부터 복수의 시그니처에 대한 각각의 빈도수를 추출하는 추출부;
    상기 추출된 각각의 빈도수를 상기 복수의 구간 중 해당하는 구간과 매핑하는 구간 매핑부;
    상기 복수의 시그니처 각각이 매핑된 구간에 해당하는 엘리먼트를 추출하여 특징 벡터를 생성하는 특징 벡터 생성부; 및
    상기 생성된 특징 벡터를 입력 데이터로 하여 상기 입력 데이터를 복수의 클래스 중 어느 하나로 분류하는 분류부
    를 포함하는 것인, 데이터 분류 장치.
  13. 제 12 항에 있어서,
    상기 생성된 특징 벡터 및 기입력된 복수의 데이터로부터 생성된 특징 벡터에 기초하여 상기 미확인 데이터와 상기 기입력된 복수의 데이터 간의 거리를 도출하는 거리 도출부를 더 포함하는 것인, 데이터 분류 장치.
  14. 제 13 항에 있어서,
    상기 분류부는 상기 미확인 데이터와 상기 기입력된 복수의 데이터 간의 거리에 기초하여 상기 입력 데이터를 상기 복수의 클래스 중 어느 하나로 분류하는 것인, 데이터 분류 장치.
  15. 제 14 항에 있어서,
    상기 분류부는 상기 입력 데이터를 상기 기입력된 복수의 데이터 중 상기 미확인 데이터로부터 기설정된 거리 안에서 가장 빈도수가 높은 데이터의 클래스로 분류하는 것인, 데이터 분류 장치.
  16. 데이터 분류 장치에 의해 각 단계가 수행되는 학습 데이터의 특징 벡터를 이용하여 기계 학습을 수행하는 방법에 있어서,
    복수의 시그니처 별로 복수의 구간을 설정하는 단계;
    복수의 학습 데이터로부터 복수의 시그니처에 대한 각각의 빈도수를 추출하는 단계;
    상기 추출된 각각의 빈도수를 상기 복수의 구간 중 해당하는 구간과 매핑하는 단계;
    상기 복수의 시그니처 각각이 매핑된 구간에 해당하는 엘리먼트를 추출하여 특징 벡터를 생성하는 단계; 및
    상기 생성된 특징 벡터를 입력 데이터로 하여 상기 입력 데이터를 복수의 클래스 중 어느 하나로 분류하도록 기계 학습을 수행하는 단계
    를 포함하는 것인, 데이터 분류 방법.
KR1020170070948A 2017-06-07 2017-06-07 특징 벡터를 이용하여 데이터를 분류하는 장치 및 방법 KR102367859B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170070948A KR102367859B1 (ko) 2017-06-07 2017-06-07 특징 벡터를 이용하여 데이터를 분류하는 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170070948A KR102367859B1 (ko) 2017-06-07 2017-06-07 특징 벡터를 이용하여 데이터를 분류하는 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20180133726A KR20180133726A (ko) 2018-12-17
KR102367859B1 true KR102367859B1 (ko) 2022-02-25

Family

ID=65007726

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170070948A KR102367859B1 (ko) 2017-06-07 2017-06-07 특징 벡터를 이용하여 데이터를 분류하는 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102367859B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102590575B1 (ko) 2023-04-19 2023-10-17 주식회사 에이오디컨설팅 컬럼 의미 분류 기반의 데이터 구조 분석을 통한 동적 데이터 분류 방법
KR102590576B1 (ko) 2023-04-19 2023-10-24 주식회사 에이오디컨설팅 데이터 의미론적 분류를 이용한 동적 데이터 구조 검색 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111338974A (zh) * 2018-12-19 2020-06-26 超威半导体公司 用于矩阵数学指令集的图块化算法
KR102289401B1 (ko) * 2019-10-14 2021-08-12 국민대학교산학협력단 라벨 정보가 포함된 특징 벡터 생성 장치 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101480244B1 (ko) 2013-08-23 2015-01-12 한양대학교 산학협력단 클래스 단위의 시그니처를 이용한 악성 어플리케이션 탐지 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101480244B1 (ko) 2013-08-23 2015-01-12 한양대학교 산학협력단 클래스 단위의 시그니처를 이용한 악성 어플리케이션 탐지 방법 및 장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Native API 의 효과적인 전처리 방법을 이용한 악성 코드 탐지 방법에 관한 연구", 정보보호학회논문지 22(4)(pp. 785-796), 2012년.
"안드로이드 모바일 악성 앱 탐지를 위한 확률적 K-인접 이웃 분류기", Journal of The Korea Institute of Information Security & Cryptology VOL.25 NO.4.(pp. 817-827), 2015년.

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102590575B1 (ko) 2023-04-19 2023-10-17 주식회사 에이오디컨설팅 컬럼 의미 분류 기반의 데이터 구조 분석을 통한 동적 데이터 분류 방법
KR102590576B1 (ko) 2023-04-19 2023-10-24 주식회사 에이오디컨설팅 데이터 의미론적 분류를 이용한 동적 데이터 구조 검색 방법

Also Published As

Publication number Publication date
KR20180133726A (ko) 2018-12-17

Similar Documents

Publication Publication Date Title
US10581888B1 (en) Classifying software scripts utilizing deep learning networks
KR102367859B1 (ko) 특징 벡터를 이용하여 데이터를 분류하는 장치 및 방법
US8955120B2 (en) Flexible fingerprint for detection of malware
Kong et al. Discriminant malware distance learning on structural information for automated malware classification
RU2654146C1 (ru) Система и способ обнаружения вредоносных файлов с использованием элементов статического анализа
Liu et al. A new learning approach to malware classification using discriminative feature extraction
Narra et al. Clustering versus SVM for malware detection
US11080398B2 (en) Identifying signatures for data sets
RU2587429C2 (ru) Система и способ оценки надежности правила категоризации
Chavan et al. A comparative analysis of android malware
Yan et al. Automatic malware classification via PRICoLBP
More et al. Trust-based voting method for efficient malware detection
Zhang et al. Smartdetect: a smart detection scheme for malicious web shell codes via ensemble learning
KR102437278B1 (ko) 머신러닝과 시그니처 매칭을 결합한 문서형 악성코드 탐지 장치 및 방법
De Paola et al. Malware Detection through Low-level Features and Stacked Denoising Autoencoders.
CN104008334B (zh) 一种文件的聚类方法和设备
Pranav et al. Detection of botnets in IoT networks using graph theory and machine learning
CN105138918B (zh) 一种安全文件的识别方法及装置
Choi et al. Detection of cross site scripting attack in wireless networks using n-Gram and SVM
KR101628602B1 (ko) 프로그램의 유사도를 판단하기 위한 유사도 판단 방법 및 유사도 판단 장치
CN113111346A (zh) 一种多引擎WebShell脚本文件检测方法及系统
EP2819054B1 (en) Flexible fingerprint for detection of malware
Bouchaib et al. Transfer learning and smote algorithm for image-based malware classification
Cybersecurity Machine learning for malware detection
Liu et al. FENOC: an ensemble one-class learning framework for malware detection

Legal Events

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