KR102255600B1 - Gan을 이용한 문서형 악성코드 탐지 장치 및 방법 - Google Patents

Gan을 이용한 문서형 악성코드 탐지 장치 및 방법 Download PDF

Info

Publication number
KR102255600B1
KR102255600B1 KR1020190104269A KR20190104269A KR102255600B1 KR 102255600 B1 KR102255600 B1 KR 102255600B1 KR 1020190104269 A KR1020190104269 A KR 1020190104269A KR 20190104269 A KR20190104269 A KR 20190104269A KR 102255600 B1 KR102255600 B1 KR 102255600B1
Authority
KR
South Korea
Prior art keywords
feature vector
malicious code
learning
real
real feature
Prior art date
Application number
KR1020190104269A
Other languages
English (en)
Other versions
KR20210024748A (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 KR1020190104269A priority Critical patent/KR102255600B1/ko
Publication of KR20210024748A publication Critical patent/KR20210024748A/ko
Application granted granted Critical
Publication of KR102255600B1 publication Critical patent/KR102255600B1/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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 GAN을 이용한 문서형 악성코드 탐지 장치 장치 및 방법에 관한 것으로, 상기 악성코드 탐지 장치는 학습 모집단에 있는 학습 문서에 대한 키워드를 추출하는 키워드 추출부, 상기 키워드를 기초로 실제 특징 벡터를 생성하는 실제 특징 벡터 생성부, 비실제 특징 벡터를 제공하는 비실제 특징 벡터 생성부, 상기 실제 특징 벡터와 상기 비실제 특징 벡터 생성부에 의해 제공되는 비실제 특징 벡터를 학습데이터로 사용하여 악성코드 탐지 모델을 생성하는 악성코드 탐지 학습부 및 상기 악성코드 탐지 모델을 이용하여 문서형 악성코드를 탐지하는 악성코드 탐지부를 포함한다.

Description

GAN을 이용한 문서형 악성코드 탐지 장치 및 방법{MALWARE DOCUMENTS DETECTION DEVICE AND METHOD USING GENERATIVE ADVERSARIAL NETWORKS}
본 발명은 문서형 악성코드 탐지 기술에 관한 것으로, 더욱 상세하게는 악성코드 탐지를 위한 학습 과정에서 부족한 학습데이터를 보완할 수 있는 GAN을 이용한 문서형 악성코드 탐지 장치 및 방법에 관한 것이다.
인터넷 및 컴퓨터 기술이 지속적으로 개발되고, 이와 함께 이러한 기술을 악용하여 부당한 이익을 취하려는 시도도 증가하고 있다. 예를 들어, 악성코드를 사용자들의 컴퓨터에 설치 및 배포하여 사용자들로부터 부당한 이익을 취하는 방법이 증가하고 있다.
여기에서, 악성코드는 컴퓨터 사용자의 승인없이 컴퓨터에 침투하거나 설치되어 악의적인 행동을 하는 프로그램을 의미한다. 이에 따라, 보안 전문가들은 다양한 해결 방안을 모색하고 있다.
한국공개특허 제10-2009-0055669(2009.06.03)호
본 발명의 일 실시예는 악성코드 탐지를 위한 학습 과정에서 부족한 학습데이터를 보완할 수 있는 GAN을 이용한 문서형 악성코드 탐지 장치 및 방법을 제공하고자 한다.
본 발명의 일 실시예는 학습 문서의 분석 결과에 따라 고정 크기를 갖는 특징 벡터를 학습하여 악성코드를 탐지할 수 있는 GAN을 이용한 문서형 악성코드 탐지 장치 및 방법을 제공하고자 한다.
본 발명의 일 실시예는 GAN을 통해 특정 조건을 충족하도록 학습된 생성자를 통해 학습데이터를 확보하여 악성코드 탐지 성능을 향상시킬 수 있는 GAN을 이용한 문서형 악성코드 탐지 장치 및 방법을 제공하고자 한다.
실시예들 중에서, GAN을 이용한 문서형 악성코드 탐지 장치는 학습 모집단에 있는 학습 문서에 대한 키워드를 추출하는 키워드 추출부, 상기 키워드를 기초로 실제 특징 벡터를 생성하는 실제 특징 벡터 생성부, 노이즈를 수신하여 비실제 특징 벡터를 생성하는 비실제 특징 벡터 생성모듈을 포함하고, 상기 비실제 특징 벡터를 수신하고 상기 실제 특징 벡터를 기초로 학습된 판별기(discriminator)에 의해 피드백되어 상기 비실제 특징 벡터의 실제성이 특정 기준을 초과하도록 상기 비실제 특징 벡터 생성모듈을 학습시키는 비실제 특징 벡터 생성부, 상기 실제 특징 벡터와 상기 비실제 특징 벡터 생성부에 의해 제공되는 비실제 특징 벡터를 학습데이터로 사용하여 악성코드 탐지 모델을 생성하는 악성코드 탐지 학습부 및 상기 악성코드 탐지 모델을 이용하여 문서형 악성코드를 탐지하는 악성코드 탐지부를 포함한다.
상기 실제 특징 벡터 생성부는 상기 키워드에 대한 단어 임베딩을 통해 단어 벡터를 생성하고 상기 단어 벡터를 기초로 상기 실제 특징 벡터를 생성할 수 있다.
상기 실제 특징 벡터 생성부는 상기 학습 문서의 용량, 상기 키워드의 평균 길이 및 총 개수에 따라 상기 실제 특징 벡터의 크기를 가변적으로 결정할 수 있다.
상기 비실제 특징 벡터 생성부는 상기 판별기의 판별 에러(error)를 기초로 상기 비실제 특징 벡터의 실제성을 산출할 수 있다.
상기 비실제 특징 벡터 생성부는 상기 실제 특징 벡터에 대한 판별 확률이 학습 기준을 초과할 때까지 상기 판별기를 기초 학습시킬 수 있다.
상기 비실제 특징 벡터 생성부는 상기 비실제 특징 벡터 생성모듈 및 상기 판별기 각각의 학습 과정에 악성코드에 관한 조건(condition)을 입력으로서 추가 제공할 수 있다.
상기 악성코드 탐지 학습부는 탐지 환경에 따라 상기 학습데이터에 포함된 실제 특징 벡터와 비실제 특징 벡터의 상대 비율을 조정할 수 있다.
실시예들 중에서, GAN을 이용한 문서형 악성코드 탐지 방법은 학습 모집단에 있는 학습 문서에 대한 키워드를 추출하는 단계, 상기 키워드를 기초로 실제 특징 벡터를 생성하는 단계, 노이즈를 수신하여 비실제 특징 벡터를 생성하는 비실제 특징 벡터 생성모듈에 대해 상기 비실제 특징 벡터를 수신하고 상기 실제 특징 벡터를 기초로 학습된 판별기(discriminator)에 의해 피드백되어 상기 비실제 특징 벡터의 실제성이 특정 기준을 초과하도록 상기 비실제 특징 벡터 생성모듈을 학습시키는 단계, 상기 실제 특징 벡터와 상기 비실제 특징 벡터 생성부에 의해 제공되는 비실제 특징 벡터를 학습데이터로 사용하여 악성코드 탐지 모델을 생성하는 단계 및 상기 악성코드 탐지 모델을 이용하여 문서형 악성코드를 탐지하는 단계를 포함한다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 일 실시예에 따른 GAN을 이용한 문서형 악성코드 탐지 장치 및 방법은 학습 문서의 분석 결과에 따라 고정 크기를 갖는 특징 벡터를 학습하여 악성코드를 탐지할 수 있다.
본 발명의 일 실시예에 따른 GAN을 이용한 문서형 악성코드 탐지 장치 및 방법은 GAN을 통해 특정 조건을 충족하도록 학습된 생성자를 통해 학습데이터를 확보하여 악성코드 탐지 성능을 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 악성코드 탐지 시스템을 설명하는 도면이다.
도 2는 도 1에 있는 악성코드 탐지 장치의 물리적 구성을 설명하는 도면이다.
도 3은 도 1에 있는 악성코드 탐지 장치의 기능적 구성을 설명하는 블록도이다.
도 4는 도 1에 있는 악성코드 탐지 장치에서 수행되는 GAN을 이용한 문서형 악성코드 탐지 과정을 설명하는 순서도이다.
도 5는 비실제 특징 벡터 생성모듈에 관한 학습 과정을 설명하는 예시도이다.
도 6은 악성코드 탐지 과정을 설명하는 예시도이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 본 발명의 일 실시예에 따른 악성코드 탐지 시스템을 설명하는 도면이다.
도 1을 참조하면, 악성코드 탐지 시스템(100)은 사용자 단말(110), 악성코드 탐지 장치(130) 및 데이터베이스(150)를 포함할 수 있다.
사용자 단말(110)은 악성코드 탐지 장치(130)에게 학습데이터를 제공하거나 또는 악성코드 탐지 결과를 확인할 수 있는 컴퓨팅 장치에 해당할 수 있고, 스마트폰, 노트북 또는 컴퓨터로 구현될 수 있으며, 반드시 이에 한정되지 않고, 태블릿 PC 등 다양한 디바이스로도 구현될 수 있다. 사용자 단말(110)은 악성코드 탐지 장치(130)와 네트워크를 통해 연결될 수 있고, 복수의 사용자 단말(110)들은 악성코드 탐지 장치(130)와 동시에 연결될 수 있다.
악성코드 탐지 장치(130)는 악성코드 탐지를 위한 학습 모델을 생성하고 악성코드를 탐지를 수행하여 그 결과를 제공할 수 있는 컴퓨터 또는 프로그램에 해당하는 서버로 구현될 수 있다. 악성코드 탐지 장치(130)는 사용자 단말(110)과 블루투스, WiFi, 통신망 등을 통해 무선으로 연결될 수 있고, 네트워크를 통해 사용자 단말(110)과 데이터를 주고받을 수 있다.
일 실시예에서, 악성코드 탐지 장치(130)는 데이터베이스(150)와 연동하여 악성코드 탐지 과정에서 필요한 정보를 저장할 수 있다. 한편, 악성코드 탐지 장치(130)는 도 1과 달리, 데이터베이스(150)를 내부에 포함하여 구현될 수 있다. 또한, 악성코드 탐지 장치(130)는 프로세서, 메모리, 사용자 입출력부 및 네트워크 입출력부를 포함하여 구현될 수 있으며, 이에 대해서는 도 2에서 보다 자세히 설명한다.
데이터베이스(150)는 악성코드 탐지 과정에서 필요한 다양한 정보들을 저장하는 저장장치에 해당할 수 있다. 데이터베이스(150)는 악성코드 탐지에 사용되는 학습데이터에 관한 정보를 저장할 수 있고, 학습에 의해 생성된 학습 정보를 저장할 수 있으며, 반드시 이에 한정되지 않고, 악성코드 탐지 장치(130)가 GAN을 이용하여 문서형 악성코드를 탐지하는 과정에서 다양한 형태로 수집 또는 가공된 정보들을 저장할 수 있다.
도 2는 도 1에 있는 악성코드 탐지 장치의 물리적 구성을 설명하는 도면이다.
도 2를 참조하면, 악성코드 탐지 장치(130)는 프로세서(210), 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)를 포함하여 구현될 수 있다.
프로세서(210)는 학습데이터를 생성하고 학습한 후 이를 활용하여 문서형 악성코드를 탐지하는 과정에서의 각 동작들을 처리하는 프로시저를 실행할 수 있고, 그 과정 전반에서 읽혀지거나 작성되는 메모리(230)를 관리할 수 있으며, 메모리(230)에 있는 휘발성 메모리와 비휘발성 메모리 간의 동기화 시간을 스케줄할 수 있다. 프로세서(210)는 악성코드 탐지 장치(130)의 동작 전반을 제어할 수 있고, 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)와 전기적으로 연결되어 이들 간의 데이터 흐름을 제어할 수 있다. 프로세서(210)는 악성코드 탐지 장치(130)의 CPU(Central Processing Unit)로 구현될 수 있다.
메모리(230)는 SSD(Solid State Drive) 또는 HDD(Hard Disk Drive)와 같은 비휘발성 메모리로 구현되어 악성코드 탐지 장치(130)에 필요한 데이터 전반을 저장하는데 사용되는 보조기억장치를 포함할 수 있고, RAM(Random Access Memory)과 같은 휘발성 메모리로 구현된 주기억장치를 포함할 수 있다.
사용자 입출력부(250)는 사용자 입력을 수신하기 위한 환경 및 사용자에게 특정 정보를 출력하기 위한 환경을 포함할 수 있다. 예를 들어, 사용자 입출력부(250)는 터치 패드, 터치 스크린, 화상 키보드 또는 포인팅 장치와 같은 어댑터를 포함하는 입력장치 및 모니터 또는 터치스크린과 같은 어댑터를 포함하는 출력장치를 포함할 수 있다. 일 실시예에서, 사용자 입출력부(250)는 원격 접속을 통해 접속되는 컴퓨팅 장치에 해당할 수 있고, 그러한 경우, 악성코드 탐지 장치(130)는 서버로서 수행될 수 있다.
네트워크 입출력부(270)은 네트워크를 통해 외부 장치 또는 시스템과 연결하기 위한 환경을 포함하고, 예를 들어, LAN(Local Area Network), MAN(Metropolitan Area Network), WAN(Wide Area Network) 및 VAN(Value Added Network) 등의 통신을 위한 어댑터를 포함할 수 있다.
도 3은 도 1에 있는 악성코드 탐지 장치의 기능적 구성을 설명하는 블록도이다.
도 3을 참조하면, 악성코드 탐지 장치(130)는 키워드 추출부(310), 실제 특징 벡터 생성부(320), 비실제 특징 벡터 생성부(330), 악성코드 탐지 학습부(340), 악성코드 탐지부(350) 및 제어부(360)를 포함할 수 있다.
키워드 추출부(310)는 학습 모집단에 있는 학습 문서에 대한 키워드를 추출할 수 있다. 학습 모집단은 학습 문서에 대한 집합에 해당할 수 있고, 학습 문서는 학습에 사용되는 문서로서 다양한 형태의 문서 파일을 포함할 수 있다. 예를 들어, 학습 문서는 pdf 파일, doc 파일 등을 포함할 수 있다. 특히, 학습 모집단은 필요에 따라 학습을 위한 용도뿐만 아니라 테스트를 위한 용도로 사용될 수 있다. 악성코드 탐지 장치(130)는 문서형 악성코드를 탐지하기 위한 학습을 수행할 수 있고, 키워드 추출부(310)는 학습에 사용되는 특징 벡터 생성을 위하여 문서 형태의 학습데이터로부터 키워드를 추출하는 동작을 수행할 수 있으며, 키워드 추출 과정에 다양한 알고리즘을 적용할 수 있다.
일 실시예에서, 키워드 추출부(310)는 학습 문서에 대한 파싱(parsing)을 통해 토큰(token)으로 분리한 후 키워드를 결정할 수 있다. 키워드 추출부(310)는 문서에 대한 형태소 분석을 통해 문서의 특징과 관련된 의미 있는 단어들을 키워드로서 추출할 수 있다. 이를 위하여, 키워드 추출부(310)는 문서에 포함된 문자열에 대해 파싱을 수행할 수 있고, 파싱 결과로서 복수의 토큰들을 분리할 수 있다. 키워드 추출부(310)는 복수의 토큰들 중에서 중요도 높은 토큰 만을 선별하여 키워드로서 결정할 수 있다.
실제 특징 벡터 생성부(320)는 키워드를 기초로 실제 특징 벡터를 생성할 수 있다. 실제 특징 벡터 생성부(320)는 학습 문서로부터 추출된 키워드만을 이용하여 특징 벡터를 생성함으로써 특징 벡터가 해당 문서의 특징을 잘 표현하도록 할 수 있으며, 실제 특징 벡터는 학습 문서에 대한 직접 분석을 통해 도출되는 특징 벡터를 의미할 수 있다. 또한, 실제 특징 벡터는 기본적으로 1차원 배열 형태로 표현되지만, 반드시 이에 한정되지 않고, 필요에 따라 다양한 형태로 변환되어 표현될 수 있다. 예를 들어, 1차원 배열을 동일 크기로 분할한 후 다차원 배열 형태로 변환할 수 있다.
일 실시예에서, 실제 특징 벡터 생성부(320)는 키워드에 대한 단어 임베딩(embedding)을 통해 단어 벡터를 생성하고 단어 벡터를 기초로 실제 특징 벡터를 생성할 수 있다. 단어 임베딩(embedding)은 하나의 단어를 수치화하는 방법에 해당할 수 있고, 예를 들어, 원 핫 인코딩(one hot encoding), 피처 해싱(feature hashing) 등을 포함할 수 있다. 즉, 실제 특징 벡터 생성부(320)는 단어 임베딩을 통해 키워드에 대한 단어 벡터를 생성할 수 있고, 키워드들의 단어 벡터를 이용하여 해당 키워드들과 연관된 학습 문서의 특징 벡터를 생성할 수 있다. 실제 특징 벡터 생성부(320)는 복수의 단어 벡터들을 하나의 특징 벡터로 통합하는 다양한 방법을 사용할 수 있다.
일 실시예에서, 실제 특징 벡터 생성부(320)는 학습 문서의 용량, 키워드의 평균 길이 및 총 개수에 따라 실제 특징 벡터의 크기를 가변적으로 결정할 수 있다. 특징 벡터는 학습 문서의 특징을 잘 표현할 수 있도록 적절한 크기로 생성될 필요가 있으며, 실제 특징 벡터 생성부(320)는 고려 가능한 요소로서 학습 문서의 용량, 해당 학습 문서에 포함된 키워드들의 평균 길이와 키워드들의 총 개수를 기초로 실제 특징 벡터의 크기를 결정할 수 있다. 실제 특징 벡터 생성부(320)는 사전에 설정되거나 또는 결정된 크기에 맞춰 각 학습 문서에 대한 특징 벡터를 생성할 수 있다.
비실제 특징 벡터 생성부(330)는 노이즈를 수신하여 비실제 특징 벡터를 생성하는 비실제 특징 벡터 생성모듈을 포함하고, 비실제 특징 벡터를 수신하고 실제 특징 벡터를 기초로 학습된 판별기(discriminator)에 의해 피드백되어 비실제 특징 벡터의 실제성이 특정 기준을 초과하도록 비실제 특징 벡터 생성모듈을 학습시킬 수 있다. 비실제 특징 벡터 생성부(330)는 GAN(Generative Adversarial Network)을 이용하여 비실제 특징 벡터를 생성하는 비실제 특징 벡터 생성모듈을 구축할 수 있고, 비실제 특징 벡터 생성모듈을 통해 비실제 특징 벡터를 생성하여 학습데이터로서 제공할 수 있다.
GAN(Generative Adversarial Network)은 두 개의 신경망으로 구성될 수 있고, 생성자(generator)와 판별자(discriminator)로 구분될 수 있다. 생성자(generator)는 새로운 데이터 인스턴스를 생성하고, 판별자(discriminator)는 데이터의 진위 여부를 평가하는 동작을 수행할 수 있다. 생성자는 생성된 데이터가 진짜로 판별될 수 있도록 학습될 수 있고 판별자는 진위 여부를 정확하게 판별할 수 있도록 학습될 수 있다. 여기에서, 비실제 특징 벡터 생성모듈은 생성자에 해당할 수 있고, 판별기는 판별자에 해당할 수 있다.
또한, GAN에서 생성자 G와 판별자 D의 관계는 two-play minmax game으로 정의될 수 있으며, 다음의 수학식과 같이 표현될 수 있다.
[수학식]
Figure 112019087291056-pat00001
즉, 생성자 G는
Figure 112019087291056-pat00002
를 최소화하는 방향으로 학습되고, 판별자 G는
Figure 112019087291056-pat00003
를 최대화하는 방향으로 학습될 수 있다.
비실제 특징 벡터 생성모듈은 노이즈를 수신하여 비실제 특징 벡터를 생성할 수 있고, 판별기는 비실제 특징 벡터 생성모듈에 의해 생성된 비실제 특징 벡터를 수신하고 실제 특징 벡터를 기초로 학습될 수 있다. 즉, 비실제 특징 벡터 생성모듈은 판별기로부터 피드백되는 정보를 기초로 학습될 수 있고, 판별기는 역시 비실제 특징 벡터 생성모듈로부터 제공되는 정보를 기초로 학습될 수 있다.
일 실시예에서, 비실제 특징 벡터 생성부(330)는 판별기의 판별 에러(error)를 기초로 비실제 특징 벡터의 실제성을 산출할 수 있다. 여기에서 비실제 특징 벡터의 실제성은 판별기에 의해 진짜인 것으로 판별될 가능성을 수치화한 것에 해당할 수 있고, 판별 에러(error)는 판별기가 판별에 실패한 정도를 수치화한 것에 해당할 수 있다. 예를 들어, 판별 에러는 실제 특성 벡터를 가짜인 것으로 판별하거나 또는 비실제 특성 벡터를 진짜인 것으로 판별한 경우에 해당할 수 있다.
따라서, 판별 에러는 전체 판별 횟수에 대한 판별 실패 횟수의 비율에 해당할 수 있다. 비실제 특정 벡터 생성부(330)는 실제 특징 벡터를 가짜로 판별한 비율과 비실제 특징 벡터를 진짜로 판별한 비율의 합을 통해 판별 에러를 산출할 수 있고, 이를 비실제 특징 벡터의 실제성으로 결정할 수 있다.
즉, 비실제 특징 벡터 생성부(330)는 비실제 특징 벡터 생성모듈에 의해 생성된 비실제 특징 벡터가 일정 수준이상 판별기로부터 진짜로 판별될 수 있을 때까지 학습을 수행할 수 있고, 해당 조건을 충족한 경우에만 비실제 특징 벡터로서 외부에 제공할 수 있다.
일 실시예에서, 비실제 특징 벡터 생성부(330)는 실제 특징 벡터에 대한 판별 확률이 학습 기준을 초과할 때까지 판별기를 기초 학습시킬 수 있다. 여기에서, 학습 기준은 사전에 설정되는 기준으로서 최소 판별 확률에 해당할 수 있다. 기초 학습은 실제 특징 벡터를 이용하여 수행될 수 있으며, 필요에 따라 비실제 특징 벡터가 함께 사용될 수 있다. 이 경우, 비실제 특징 벡터는 임의로 생성된 특징 벡터에 해당할 수 있다. 비실제 특징 벡터 생성부(330)는 판별기가 일정 수준 이상의 판별율을 제공하는 상태에서 비실제 특징 벡터 생성모듈에 대한 학습을 수행함으로써 학습이 어려운 GAN의 단점을 보완할 수 있다.
일 실시예에서, 비실제 특징 벡터 생성부(330)는 비실제 특징 벡터 생성모듈 및 판별기 각각의 학습 과정에 악성코드에 관한 조건(condition)을 입력으로서 추가 제공할 수 있다. 비실제 특징 벡터 생성부(330)는 Conditional GAN(cGAN)을 통해 비실제 특징 벡터 생성모듈을 구축할 수 있고, 이를 위하여 기존의 입력에 추가적인 조건(condition)을 부여할 수 있다. 추가적인 조건은 다양한 형태를 가질 수 있으며, 예를 들어, 추가적인 조건이 악성코드에 관한 조건인 경우 비실제 특징 벡터 생성부(330)는 기존의 학습 과정에 악성코드를 대표하는 특징 벡터를 함께 입력할 수 있다.
일 실시예에서, 비실제 특징 벡터 생성부(330)는 비실제 특징 벡터 생성모듈 및 판별기 각각의 학습 과정에 학습 모집단에서 랜덤으로 선택된 적어도 하나의 학습 문서에 대한 대표 특징 벡터를 조건(condition)으로서 추가 입력할 수 있다. 여기에서, 대표 특징 벡터는 적어도 하나의 학습 문서에 대한 특징 벡터를 하나로 통합한 것에 해당할 수 있고, 다양한 방법을 통해 통합 동작을 수행할 수 있다. 예를 들어, 대표 특징 벡터는 적어도 하나의 학습 문서에 대한 특징 벡터의 평균에 해당할 수 있고, 적어도 하나의 학습 문서에 대한 특징 벡터 중 최소 또는 최대인 특징 벡터에 해당할 수 있다.
일 실시예에서, 비실제 특징 벡터 생성부(330)는 탐지 환경에 따라 특징 벡터의 실제성에 관한 특정 기준을 증가시켜 비실제 특징 벡터 생성모듈에 대한 학습 조건을 강화시킬 수 있다. 즉, 비실제 특징 벡터 생성부(330)는 악성코드 탐지의 정확성이 높게 요구되는 환경일수록 비실제 특징 벡터 생성모듈이 보다 실제와 유사한 특징 벡터를 생성하도록 학습 종료를 위한 조건을 설정할 수 있다.
악성코드 탐지 학습부(340)는 실제 특징 벡터와 비실제 특징 벡터 생성부(330)에 의해 제공되는 비실제 특징 벡터를 학습데이터로 사용하여 악성코드 탐지 모델을 생성할 수 있다. 악성코드 탐지 모델은 학습을 통해 생성되는 머신러닝 기반의 분류 모델에 해당할 수 있고, 입력된 특징 벡터가 악성코드인지 아닌지에 관한 확률을 결과로서 출력할 수 있다. 이 경우, 학습데이터는 특징 벡터와 레이블(정상 또는 악성코드)로 구성될 수 있다. 악성코드 탐지 학습부(340)는 문서형 악성코드에 관한 학습데이터 확보가 어려운 점을 고려하여 비실제 특징 벡터 생성부(330)에 의해 생성된 비실제 특성 벡터를 학습데이터로 활용함으로써 악성코드 탐지 모델을 효과적으로 구축할 수 있다.
일 실시예에서, 악성코드 탐지 학습부(340)는 탐지 환경에 따라 학습데이터에 포함된 실제 특징 벡터와 비실제 특징 벡터의 상대 비율을 조정할 수 있다. 예를 들어, 악성코드 탐지 학습부(340)는 보다 정확도 높은 악성코드 탐지가 필요한 경우 학습데이터의 양을 증가시킬 수 있고, 이를 위하여 비실제 특징 벡터의 개수를 증가시킬 수 있다.
악성코드 탐지부(350)는 악성코드 탐지 모델을 이용하여 문서형 악성코드를 탐지할 수 있다. 악성코드 탐지 모델은 입력된 특징 벡터를 기초로 연관된 문서가 악성코드인지 정상인지를 출력으로 제공할 수 있고, 악성코드 탐지부(350)는 이를 기초로 악성코드 탐지 결과를 제공할 수 있다. 악성코드 탐지 결과는 시각적으로 그래픽 처리되어 디스플레이 패널을 통해 제공될 수 있고, 별도의 메시지를 통해 관련 정보와 함께 제공될 수 있다.
제어부(360)는 악성코드 탐지 장치(130)의 전체적인 동작을 제어하고, 키워드 추출부(310), 실제 특징 벡터 생성부(320), 비실제 특징 벡터 생성부(330), 악성코드 탐지 학습부(340) 및 악성코드 탐지부(350) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.
도 4는 도 1에 있는 악성코드 탐지 장치에서 수행되는 GAN을 이용한 문서형 악성코드 탐지 과정을 설명하는 순서도이다.
도 4를 참조하면, 악성코드 탐지 장치(130)는 키워드 추출부(310)를 통해 학습 모집단에 있는 학습 문서에 대한 키워드를 추출할 수 있다(단계 S410). 악성코드 탐지 장치(130)는 실제 특징 벡터 생성부(320)를 통해 키워드 추출부(310)에 의해 추출된 키워드를 기초로 실제 특징 벡터를 생성할 수 있다(단계 S430).
또한, 악성코드 탐지 장치(130)는 비실제 특징 벡터 생성부(330)를 통해 노이즈를 수신하여 비실제 특징 벡터를 생성하는 비실제 특징 벡터 생성모듈에 대해 비실제 특징 벡터를 수신하고 실제 특징 벡터를 기초로 학습된 판별기에 의해 피드백되어 비실제 특징 벡터의 실제성이 특정 기준을 초과하도록 비실제 특징 벡터 생성모듈을 학습시킬 수 있다(단계 S450).
일 실시예에서, 비실제 특징 벡터 생성부(330)는 비실제 특징 벡터 생성모듈을 통해 생성된 비실제 특징 벡터의 개수가 특정 개수와 동일한 경우 비실제 특징 벡터 생성모듈을 재학습을 수행할 수 있다. 즉, 비실제 특징 벡터 생성부(330)는 비실제 특징 벡터 생성모듈을 주기적으로 재학습시킨 후 비실제 특징 벡터를 생성하여 학습데이터로 제공할 수 있다.
또한, 악성코드 탐지 장치(130)는 악성코드 탐지 학습부(340)를 통해 실제 특징 벡터와 비실제 특징 벡터 생성부(330)에 의해 제공되는 비실제 특징 벡터를 학습데이터로 사용하여 악성코드 탐지 모델을 생성할 수 있다(단계 S470). 악성코드 탐지 장치(130)는 악성코드 탐지부(350)를 통해 악성코드 탐지 모델을 이용하여 문서형 악성코드를 탐지할 수 있다(단계 S490).
도 5는 비실제 특징 벡터 생성모듈에 관한 학습 과정을 설명하는 예시도이다.
도 5를 참조하면, 악성코드 탐지 장치(130)는 비실제 특징 벡터 생성부(330)를 통해 비실제 특징 벡터를 생성할 수 있다. 일 실시예에서, 비실제 특징 벡터 생성부(330)는 GAN(Generative Adversarial Network)을 이용하여 비실제 특징 벡터 생성모듈을 구축할 수 있다.
특히, 비실제 특징 벡터 생성모듈은 판별기에 의해 피드백되는 정보를 기초로 학습이 수행될 수 있다. 판별기는 실제 특징 벡터와 비실제 특징 벡터를 입력으로 수신하여 비실제 특징 벡터의 진위 여부를 판별할 수 있다. 결과적으로, 비실제 특징 벡터 생성모듈은 랜덤 노이즈 z를 기초로 비실제 특징 벡터를 생성하되, 판별기가 실제 특징 벡터로 판별하도록 학습될 수 있다. 이와 동시에, 판별기는 비실제 특징 벡터 생성모듈에 의해 생성된 특징 벡터를 비실제 특징 벡터로 판별하도록 학습될 수 있다.
도 6은 악성코드 탐지 과정을 설명하는 예시도이다.
도 6을 참조하면, 악성코드 탐지 장치(130)는 문서형 악성코드를 탐지하는 동작을 수행할 수 있고, 이를 위하여 머신 러닝 학습을 통해 악성코드 탐지 모델을 구축할 수 있다. 악성코드 탐지 모델은 학습 벡터(또는 학습데이터)를 학습하여 생성될 수 있고, 입력된 특징 벡터가 악성코드인지 여부를 출력으로 제공할 수 있다.
악성코드 탐지 모델의 정확도를 높이기 위해서는 많은 학습 벡터를 학습할 필요가 있으나, 악성코드에 관한 학습데이터를 확보하는 것은 쉽지 않을 수 있다. 따라서, 악성코드 탐지 장치(130)는 학습 벡터를 확보하기 위하여 GAN을 통해 구축된 생성자(G), 즉 비실제 특징 벡터 생성모듈을 활용할 수 있다. 비실제 특징 벡터 생성모듈은 특정 조건을 충족할 때까지 학습될 수 있고, 해당 특정 조건이 충족된 경우에만 생성된 비실제 특징 벡터가 실제 악성코드 탐지 모델 구축을 위한 학습데이터로서 사용될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 악성코드 탐지 시스템
110: 사용자 단말 130: 악성코드 탐지 장치
150: 데이터베이스
210: 프로세서 230: 메모리
250: 사용자 입출력부 270: 네트워크 입출력부
310: 키워드 추출부 320: 실제 특징 벡터 생성부
330: 비실제 특징 벡터 생성부 340: 악성코드 탐지 학습부
350: 악성코드 탐지부 360: 제어부

Claims (8)

  1. 학습 모집단에 있는 학습 문서에 대한 키워드를 추출하는 키워드 추출부;
    상기 키워드를 기초로 실제 특징 벡터를 생성하는 실제 특징 벡터 생성부;
    노이즈를 수신하여 비실제 특징 벡터를 생성하는 비실제 특징 벡터 생성모듈을 포함하고, 상기 비실제 특징 벡터를 수신하고 상기 실제 특징 벡터를 기초로 학습된 판별기(discriminator)에 의해 피드백되어 상기 비실제 특징 벡터의 실제성이 특정 기준을 초과하도록 상기 비실제 특징 벡터 생성모듈을 학습시키는 비실제 특징 벡터 생성부;
    상기 실제 특징 벡터와 상기 비실제 특징 벡터 생성부에 의해 제공되는 비실제 특징 벡터를 학습데이터로 사용하여 악성코드 탐지 모델을 생성하는 악성코드 탐지 학습부; 및
    상기 악성코드 탐지 모델을 이용하여 문서형 악성코드를 탐지하는 악성코드 탐지부를 포함하되,
    상기 비실제 특징 벡터 생성부는 상기 비실제 특징 벡터 생성모듈을 통해 생성된 상기 비실제 특징 벡터의 개수가 특정 개수와 동일한 경우 상기 비실제 특징 벡터 생성모듈에 관한 재학습을 수행하고, 상기 재학습의 과정에서 탐지 환경에 따라 상기 특징 벡터의 실제성에 관한 특정 기준을 조정하여 비실제 특징 벡터 생성모듈에 대한 학습 조건을 결정하는 것을 특징으로 하는 GAN(Generative Adversarial Network)을 이용한 문서형 악성코드 탐지 장치.
  2. 제1항에 있어서, 상기 실제 특징 벡터 생성부는
    상기 키워드에 대한 단어 임베딩(embedding)을 통해 단어 벡터를 생성하고 상기 단어 벡터를 기초로 상기 실제 특징 벡터를 생성하는 것을 특징으로 하는 GAN을 이용한 문서형 악성코드 탐지 장치.
  3. 제2항에 있어서, 상기 실제 특징 벡터 생성부는
    상기 학습 문서의 용량, 상기 키워드의 평균 길이 및 총 개수에 따라 상기 실제 특징 벡터의 크기를 가변적으로 결정하는 것을 특징으로 하는 GAN을 이용한 문서형 악성코드 탐지 장치.
  4. 제1항에 있어서, 상기 비실제 특징 벡터 생성부는
    상기 판별기의 판별 에러(error)를 기초로 상기 비실제 특징 벡터의 실제성을 산출하는 것을 특징으로 하는 GAN을 이용한 문서형 악성코드 탐지 장치.
  5. 제1항에 있어서, 상기 비실제 특징 벡터 생성부는
    상기 실제 특징 벡터에 대한 판별 확률이 학습 기준을 초과할 때까지 상기 판별기를 기초 학습시키는 것을 특징으로 하는 GAN을 이용한 문서형 악성코드 탐지 장치.
  6. 제1항에 있어서, 상기 비실제 특징 벡터 생성부는
    상기 비실제 특징 벡터 생성모듈 및 상기 판별기 각각의 학습 과정에 악성코드에 관한 조건(condition)을 입력으로서 추가 제공하는 것을 특징으로 하는 GAN을 이용한 문서형 악성코드 탐지 장치.
  7. 제1항에 있어서, 상기 악성코드 탐지 학습부는
    탐지 환경에 따라 상기 학습데이터에 포함된 실제 특징 벡터와 비실제 특징 벡터의 상대 비율을 조정하는 것을 특징으로 하는 GAN을 이용한 문서형 악성코드 탐지 장치.
  8. 문서형 악성코드 탐지 장치에서 수행되는 GAN(Generative Adversarial Network)을 이용한 문서형 악성코드 탐지 방법에 있어서,
    학습 모집단에 있는 학습 문서에 대한 키워드를 추출하는 단계;
    상기 키워드를 기초로 실제 특징 벡터를 생성하는 단계;
    노이즈를 수신하여 비실제 특징 벡터를 생성하는 비실제 특징 벡터 생성모듈에 대해 상기 비실제 특징 벡터를 수신하고 상기 실제 특징 벡터를 기초로 학습된 판별기(discriminator)에 의해 피드백되어 상기 비실제 특징 벡터의 실제성이 특정 기준을 초과하도록 상기 비실제 특징 벡터 생성모듈을 학습시키는 단계;
    상기 실제 특징 벡터와 상기 비실제 특징 벡터 생성부에 의해 제공되는 비실제 특징 벡터를 학습데이터로 사용하여 악성코드 탐지 모델을 생성하는 단계; 및
    상기 악성코드 탐지 모델을 이용하여 문서형 악성코드를 탐지하는 단계를 포함하되,
    상기 비실제 특징 벡터 생성모듈을 학습시키는 단계는 상기 비실제 특징 벡터 생성모듈을 통해 생성된 상기 비실제 특징 벡터의 개수가 특정 개수와 동일한 경우 상기 비실제 특징 벡터 생성모듈에 관한 재학습을 수행하고, 상기 재학습의 과정에서 탐지 환경에 따라 상기 특징 벡터의 실제성에 관한 특정 기준을 조정하여 비실제 특징 벡터 생성모듈에 대한 학습 조건을 결정하는 단계를 포함하는 것을 특징으로 하는 GAN(Generative Adversarial Network)을 이용한 문서형 악성코드 탐지 방법.
KR1020190104269A 2019-08-26 2019-08-26 Gan을 이용한 문서형 악성코드 탐지 장치 및 방법 KR102255600B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190104269A KR102255600B1 (ko) 2019-08-26 2019-08-26 Gan을 이용한 문서형 악성코드 탐지 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190104269A KR102255600B1 (ko) 2019-08-26 2019-08-26 Gan을 이용한 문서형 악성코드 탐지 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20210024748A KR20210024748A (ko) 2021-03-08
KR102255600B1 true KR102255600B1 (ko) 2021-05-25

Family

ID=75184889

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190104269A KR102255600B1 (ko) 2019-08-26 2019-08-26 Gan을 이용한 문서형 악성코드 탐지 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102255600B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102617950B1 (ko) 2022-01-25 2023-12-28 한국전자통신연구원 악성코드 송수신 트래픽 자가 생성 방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140090061A1 (en) * 2012-09-26 2014-03-27 Northrop Grumman Systems Corporation System and method for automated machine-learning, zero-day malware detection
US20180096144A1 (en) * 2015-11-17 2018-04-05 Wuhan Antiy Information Technology Co., Ltd. Method, system, and device for inferring malicious code rule based on deep learning method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100942798B1 (ko) 2007-11-29 2010-02-18 한국전자통신연구원 악성코드 탐지장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140090061A1 (en) * 2012-09-26 2014-03-27 Northrop Grumman Systems Corporation System and method for automated machine-learning, zero-day malware detection
US20180096144A1 (en) * 2015-11-17 2018-04-05 Wuhan Antiy Information Technology Co., Ltd. Method, system, and device for inferring malicious code rule based on deep learning method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
김진영 외, "심층 전이-GAN을 이용한 악성 소프트웨어 탐지", 2017년 한국컴퓨터종합학술대회 논문집, pp.1893-1895(2017.)

Also Published As

Publication number Publication date
KR20210024748A (ko) 2021-03-08

Similar Documents

Publication Publication Date Title
Song et al. Machine learning models that remember too much
Iqbal et al. E-mail authorship verification for forensic investigation
Ju et al. Transformer-based label set generation for multi-modal multi-label emotion detection
CN111600919B (zh) 智能网络应用防护系统模型的构建方法和装置
KR102221492B1 (ko) 텍스트 마이닝 기반 보안 이벤트 자동 검증 시스템 및 방법
TW201516732A (zh) 用於電腦的持續性身分驗證方法
CN110855648B (zh) 一种网络攻击的预警控制方法及装置
Xiang et al. A word-embedding-based steganalysis method for linguistic steganography via synonym substitution
Hansrajh et al. Detection of online fake news using blending ensemble learning
CN103164698A (zh) 指纹库生成方法及装置、待测文本指纹匹配方法及装置
Zhang et al. An ensemble method for detecting shilling attacks based on ordered item sequences
CN112883990A (zh) 数据分类方法及装置、计算机存储介质、电子设备
CN110929525A (zh) 一种网贷风险行为分析检测方法、装置、设备和存储介质
JP6777612B2 (ja) コンピュータシステムにおけるデータ損失を防止するためのシステム及び方法
Assefa et al. Intelligent phishing website detection using deep learning
Maneriker et al. SYSML: StYlometry with Structure and Multitask Learning: Implications for Darknet forum migrant analysis
KR102437278B1 (ko) 머신러닝과 시그니처 매칭을 결합한 문서형 악성코드 탐지 장치 및 방법
KR102255600B1 (ko) Gan을 이용한 문서형 악성코드 탐지 장치 및 방법
KR102289395B1 (ko) 자카드 모델 기반의 문서 검색 장치 및 방법
Wang et al. UFKLDA: An unsupervised feature extraction algorithm for anomaly detection under cloud environment
CN115567224A (zh) 一种用于检测区块链交易异常的方法及相关产品
KR102269652B1 (ko) 보안관제 데이터 분석을 위한 머신러닝 기반의 학습 벡터 생성 장치 및 방법
KR102330190B1 (ko) 복합 문서의 의미적 분해를 통한 다중 벡터 문서 임베딩 장치 및 방법
KR102289408B1 (ko) 해시 코드 기반의 검색 장치 및 검색 방법
KR102115973B1 (ko) 이질성 학습 기반의 정보 분류 장치

Legal Events

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