KR102289401B1 - 라벨 정보가 포함된 특징 벡터 생성 장치 및 방법 - Google Patents

라벨 정보가 포함된 특징 벡터 생성 장치 및 방법 Download PDF

Info

Publication number
KR102289401B1
KR102289401B1 KR1020190126882A KR20190126882A KR102289401B1 KR 102289401 B1 KR102289401 B1 KR 102289401B1 KR 1020190126882 A KR1020190126882 A KR 1020190126882A KR 20190126882 A KR20190126882 A KR 20190126882A KR 102289401 B1 KR102289401 B1 KR 102289401B1
Authority
KR
South Korea
Prior art keywords
feature vector
feature
learning
generating
malicious code
Prior art date
Application number
KR1020190126882A
Other languages
English (en)
Other versions
KR20210043932A (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 KR1020190126882A priority Critical patent/KR102289401B1/ko
Publication of KR20210043932A publication Critical patent/KR20210043932A/ko
Application granted granted Critical
Publication of KR102289401B1 publication Critical patent/KR102289401B1/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

본 발명은 라벨 정보가 포함된 특징 벡터 생성 장치 및 방법에 관한 것으로, 학습 모집단에 포함된 학습 데이터를 기초로 특징 벡터를 생성하는 특징 벡터 생성부 및 상기 특징 벡터를 기초로 상기 학습 모집단에 대한 분류 결과로서 사전에 설정된 복수의 라벨(label)들이 각 열(column)에 대응되는 특징 행렬을 생성하는 특징 행렬 생성부를 포함한다. 따라서, 본 발명은 데이터 집합에 대한 분류 결과로서 사전에 설정된 복수의 라벨들이 각 열에 대응되는 특징 행렬을 생성함으로써 라벨 정보를 특징 벡터 생성 과정에 반영할 수 있다.

Description

라벨 정보가 포함된 특징 벡터 생성 장치 및 방법{APPARATUS AND METHOD FOR GENERATING FEATURE VECTOR WITH LABEL INFORMATION}
본 발명은 특징 벡터 생성 기술에 관한 것으로, 보다 상세하게는 컨텐츠에 관한 특징 벡터를 생성하는 과정에서 해당 컨텐츠의 라벨 정보가 효과적으로 반영될 수 있는 라벨 정보가 포함된 특징 벡터 생성 장치 및 방법에 관한 것이다.
인터넷 및 컴퓨터 기술이 지속적으로 개발되고, 이와 함께 이러한 기술을 악용하여 부당한 이익을 취하려는 시도도 증가하고 있다. 예를 들어, 악성코드를 사용자들의 컴퓨터에 설치 및 배포하여 사용자들로부터 부당한 이익을 취하는 방법이 증가하고 있다. 여기에서, 악성코드는 컴퓨터 사용자의 승인없이 컴퓨터에 침투하거나 설치되어 악의적인 행동을 하는 프로그램을 의미한다. 이에 따라, 보안 전문가들은 다양한 해결 방안을 모색하고 있다.
특징 벡터(feature vector)는 분석 대상이 되는 컨텐츠의 특징 정보를 포함하는 차원을 가진 벡터에 해당할 수 있다. 컨텐츠에 따라 특징 벡터를 정의할 수 있고, 특징 벡터를 생성하는 알고리즘이 달라질 수 있다. 일반적으로, 악성코드 탐지를 위한 데이터베이스 구축 과정에서 악성코드와 정상파일이 혼재되어 있는 데이터 집합에 대한 분석이 이루어질 수 있다. 따라서, 이러한 과정에서 생성되는 특징 벡터는 악성과 정상에 대한 정보가 효과적으로 반영되기 어려운 문제점이 존재할 수 있다.
한국등록특허 제10-0729107(2007.06.08)호
본 발명의 일 실시예는 컨텐츠에 관한 특징 벡터를 생성하는 과정에서 해당 컨텐츠의 라벨 정보가 효과적으로 반영될 수 있는 라벨 정보가 포함된 특징 벡터 생성 장치 및 방법을 제공하고자 한다.
본 발명의 일 실시예는 데이터 집합에 대한 분류 결과로서 사전에 설정된 복수의 라벨들이 각 열에 대응되는 특징 행렬을 생성함으로써 라벨 정보를 특징 벡터 생성 과정에 반영할 수 있는 라벨 정보가 포함된 특징 벡터 생성 장치 및 방법을 제공하고자 한다.
본 발명의 일 실시예는 라벨 정보가 포함된 특징 행렬을 특징 정보로서 학습하여 악성코드 탐지에 적용함으로써 탐지의 정확성을 향상시킬 수 있는 라벨 정보가 포함된 특징 벡터 생성 장치 및 방법을 제공하고자 한다.
실시예들 중에서, 라벨 정보가 포함된 특징 벡터 생성 장치는 학습 모집단에 포함된 학습 데이터를 기초로 특징 벡터를 생성하는 특징 벡터 생성부 및 상기 특징 벡터를 기초로 상기 학습 모집단에 대한 분류 결과로서 사전에 설정된 복수의 라벨(label)들이 각 열(column)에 대응되는 특징 행렬을 생성하는 특징 행렬 생성부를 포함한다.
상기 특징 벡터 생성부는 길이가 m (상기 m은 자연수)인 벡터를 상기 특징 벡터로서 생성하고, 상기 특징 행렬 생성부는 라벨의 카테고리 수가 n (상기 n은 자연수)으로 설정된 경우 m * n 크기를 갖는 행렬을 상기 특징 행렬로서 생성할 수 있다.
상기 특징 행렬 생성부는 상기 특징 행렬의 모든 성분값을 기준값으로 초기화할 수 있다.
상기 특징 행렬 생성부는 상기 학습 데이터의 라벨이 특정된 경우 상기 특징 행렬에서 해당 라벨에 대응되는 열(column)에 대해 상기 특징 벡터의 값을 할당할 수 있다.
상기 특징 행렬 생성부는 상기 학습 데이터의 라벨이 불특정된 경우 상기 특징 행렬의 모든 열(column)에 대해 상기 특징 벡터의 값을 각각 할당할 수 있다.
상기 특징 벡터 생성 장치는 상기 학습 데이터에 대한 특징 정보로서 상기 특징 행렬을 학습하여 악성코드 탐지 모델을 생성하는 악성코드 탐지 학습부 및 상기 악성코드 탐지 모델을 이용하여 악성코드를 탐지하는 악성코드 탐지부를 더 포함할 수 있다.
상기 악성코드 탐지 학습부는 상기 특징 행렬을 1차원 벡터로 변환하여 상기 학습을 수행할 수 있다.
실시예들 중에서, 라벨 정보가 포함된 특징 벡터 생성 방법은 학습 모집단에 포함된 학습 데이터를 기초로 특징 벡터를 생성하는 단계, 상기 특징 벡터를 기초로 상기 학습 모집단에 대한 분류 결과로서 사전에 설정된 복수의 라벨(label)들이 각 열(column)에 대응되는 특징 행렬을 생성하는 단계, 상기 학습 데이터에 대한 특징 정보로서 상기 특징 행렬을 학습하여 악성코드 탐지 모델을 생성하는 단계 및 상기 악성코드 탐지 모델을 이용하여 악성코드를 탐지하는 단계를 포함한다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 일 실시예에 따른 라벨 정보가 포함된 특징 벡터 생성 장치 및 방법은 데이터 집합에 대한 분류 결과로서 사전에 설정된 복수의 라벨들이 각 열에 대응되는 특징 행렬을 생성함으로써 라벨 정보를 특징 벡터 생성 과정에 반영할 수 있다.
본 발명의 일 실시예에 따른 라벨 정보가 포함된 특징 벡터 생성 장치 및 방법은 라벨 정보가 포함된 특징 행렬을 특징 정보로서 학습하여 악성코드 탐지에 적용함으로써 탐지의 정확성을 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 특징 벡터 생성 시스템을 설명하는 도면이다.
도 2는 도 1에 있는 특징 벡터 생성 장치의 물리적 구성을 설명하는 도면이다.
도 3은 도 1에 있는 특징 벡터 생성 장치의 기능적 구성을 설명하는 도면이다.
도 4는 도 1에 있는 특징 벡터 생성 장치에서 수행되는 라벨 정보가 포함된 특징 벡터 생성 과정을 설명하는 순서도이다.
도 5는 라벨이 부여된 데이터에 관한 특징 행렬 생성 과정을 설명하는 예시도이다.
도 6은 라벨이 부여되지 않은 데이터에 관한 특징 행렬 생성 과정을 설명하는 예시도이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 본 발명의 일 실시예에 따른 특징 벡터 생성 시스템을 설명하는 도면이다.
도 1을 참조하면, 특징 벡터 생성 시스템(100)은 사용자 단말(110), 특징 벡터 생성 장치(130) 및 데이터베이스(150)를 포함할 수 있다.
사용자 단말(110)은 특정 컨텐츠에 대한 특징 벡터 생성을 요청하고 그 결과를 확인할 수 있는 컴퓨팅 장치에 해당할 수 있고, 스마트폰, 노트북 또는 컴퓨터로 구현될 수 있으며, 반드시 이에 한정되지 않고, 태블릿 PC 등 다양한 디바이스로도 구현될 수 있다. 사용자 단말(110)은 특징 벡터 생성 장치(130)와 네트워크를 통해 연결될 수 있고, 복수의 사용자 단말(110)들은 특징 벡터 생성 장치(130)와 동시에 연결될 수 있다.
특징 벡터 생성 장치(130)는 특정 컨텐츠를 분석하여 특징 벡터를 생성할 수 있는 컴퓨터 또는 프로그램에 해당하는 서버로 구현될 수 있다. 또한, 특징 벡터 생성 장치(130)는 생성된 특징 벡터를 학습할 수 있고 학습의 결과로 생성된 탐지 모델을 이용하여 악성코드를 탐지할 수 있다. 특징 벡터 생성 장치(130)는 사용자 단말(110)과 블루투스, WiFi, 통신망 등을 통해 무선으로 연결될 수 있고, 네트워크를 통해 사용자 단말(110)과 데이터를 주고받을 수 있다.
일 실시예에서, 특징 벡터 생성 장치(130)는 데이터베이스(150)와 연동하여 라벨 정보가 포함된 특징 벡터를 생성하는 과정에서 필요한 정보를 저장할 수 있다. 한편, 특징 벡터 생성 장치(130)는 도 1과 달리, 데이터베이스(150)를 내부에 포함하여 구현될 수 있다. 특징 벡터 생성 장치(130)는 프로세서, 메모리, 사용자 입출력부 및 네트워크 입출력부를 포함하여 구현될 수 있으며, 이에 대해서는 도 2에서 보다 자세히 설명한다.
데이터베이스(150)는 특징 벡터 생성 과정에서 필요한 다양한 정보들을 저장하는 저장장치에 해당할 수 있다. 데이터베이스(150)는 특징 벡터 생성에 사용되는 라벨 정보를 저장할 수 있고, 특징 벡터 생성의 대상이 되는 컨텐츠에 관한 정보를 저장할 수 있으며, 반드시 이에 한정되지 않고, 특징 벡터 생성 장치(130)가 라벨 정보가 포함된 특징 벡터를 생성하는 과정에서 다양한 형태로 수집 또는 가공된 정보들을 저장할 수 있다.
도 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), 특징 행렬 생성부(330), 악성코드 탐지 학습부(350), 악성코드 탐지부(370) 및 제어부(390)를 포함할 수 있다.
특징 벡터 생성부(310)는 학습 모집단에 포함된 학습 데이터를 기초로 특징 벡터를 생성할 수 있다. 예를 들어, 학습 데이터가 문서인 경우 특징 벡터 생성부(310)는 학습 데이터로부터 키워드를 추출할 수 있고, 추출된 키워드만을 이용하여 특징 벡터를 생성할 수 있다. 특징 벡터는 기본적으로 1차원 배열 형태로 표현될 수 있으나, 반드시 이에 한정되지 않고, 필요에 따라 다양한 형태로 변환되어 표현될 수 있다. 예를 들어, 1차원 배열로 표현된 특징 벡터는 동일 크기로 분할될 수 있고, 다차원 배열 형태로 변환되어 표현될 수 있다.
일 실시예에서, 특징 벡터 생성부(310)는 특징 추출 알고리즘을 이용하여 특징 벡터를 생성할 수 있다. 특징 추출 알고리즘은 원 핫 인코딩(one hot encoding), 피처 해싱(feature hashing) 등을 포함할 수 있으며, 반드시 이에 한정되지 않고 잘 알려진 특징 벡터 생성 기법 중 어느 하나에 해당할 수 있다.
일 실시예에서, 특징 벡터 생성부(310)는 길이가 m (상기 m은 자연수)인 벡터를 특징 벡터로서 생성할 수 있다. 즉, 특징 벡터 생성부(310)에 의해 생성되는 특징 벡터는 고정된 길이 m을 갖는 벡터로 표현될 수 있다. 이 때, 특징 벡터의 길이 m은 학습 데이터의 특징, 사용되는 특징 추출 알고리즘의 종류, 악성코드 탐지를 위한 학습 과정에서 사용되는 학습 알고리즘의 종류 등에 따라 다양하게 결정될 수 있다. 길이가 m인 벡터는 m개의 성분값을 포함할 수 있다.
특징 행렬 생성부(330)는 특징 벡터를 기초로 학습 모집단에 대한 분류 결과로서 사전에 설정된 복수의 라벨(label)들이 각 열(column)에 대응되는 특징 행렬을 생성할 수 있다. 여기에서, 특징 행렬은 특정 컨텐츠에 관한 특징 정보로서 해당 컨텐츠로부터 추출된 특징 벡터를 적어도 하나의 열에 맵핑(mapping)시켜 생성된 행렬에 해당할 수 있다. 라벨(label)은 학습 데이터에 부여되는 분류 정보에 해당할 수 있고, 학습 데이터의 유형이나 학습의 목적에 따라 라벨의 카테고리 수가 결정될 수 있다. 예를 들어, 악성코드 탐지를 위한 경우 학습 데이터는 라벨 정보로서 악성 및 정상 중 어느 하나를 부여 받을 수 있다.
일 실시예에서, 특징 행렬 생성부(330)는 라벨의 카테고리 수가 n (상기 n은 자연수)으로 설정된 경우 m * n 크기를 갖는 행렬을 특징 행렬로서 생성할 수 있다. 여기에서, m은 특징 벡터 생성부(310)에 의해 생성된 특징 벡터의 길이에 해당할 수 있다. 즉, 특징 행렬 생성부(330)는 특징 벡터의 길이에 맞춰 행의 크기를 결정할 수 있고, 라벨의 카테고리 수에 맞춰 열의 크기를 결정할 수 있다. 결과적으로, 특징 행렬 생성부(330)는 분류의 결과로서 도출되는 라벨의 카테고리 수만큼 공간 복잡도를 증가시킨 특징 행렬을 생성함으로써 기존의 특징 벡터가 반영하지 못했던 라벨 정보를 특징 행렬에 포함시킬 수 있다.
일 실시예에서, 특징 행렬 생성부(330)는 특징 행렬의 모든 성분값을 기준값으로 초기화할 수 있다. 예를 들어, 특징 행렬 생성부(330)는 0을 기준값으로 설정하여 특징 벡터의 성분값이 할당된 열(column)을 제외한 나머지 열(column)에 대해 0을 성분값으로 할당할 수 있다. 한편, 특징 행렬 생성부(330)는 특징 벡터가 생성되기 전 단계에서 설정된 정보를 기초로 특정 행렬을 사전에 생성할 수 있고, 이 경우 모든 열에 대해 기준값을 성분값으로서 할당할 수 있다.
일 실시예에서, 특징 행렬 생성부(330)는 학습 데이터의 라벨이 특정된 경우 특징 행렬에서 해당 라벨에 대응되는 열(column)에 대해 특징 벡터의 값을 할당할 수 있다. 즉, 특징 행렬 생성부(330)는 학습 데이터에 이미 라벨이 부여된 경우라면 특징 행렬에서 해당 라벨에 대응되는 열(column)에 대해서만 특징 벡터의 성분값을 할당할 수 있다. 이를 통해 특징 행렬 생성부(330)는 특징 행렬에 대해 해당 라벨에 대한 정보를 반영시킬 수 있다. 한편, 특징 행렬의 각 열에 대응되는 라벨에 대한 정보는 특징 벡터 생성 장치(130)에 의해 사전에 설정될 수 있다.
일 실시예에서, 특징 행렬 생성부(330)는 학습 데이터의 라벨이 불특정된 경우 특징 행렬의 모든 열(column)에 대해 특징 벡터의 값을 각각 할당할 수 있다. 즉, 특징 행렬 생성부(330)는 학습 데이터에 대한 라벨이 부여되지 않은 경우라면 특징 행렬의 모든 열(column)에 대해 특징 벡터의 성분값을 할당할 수 있고, 결과적으로 특징 행렬의 각 열(column)은 모두 동일한 값을 가질 수 있다.
악성코드 탐지 학습부(350)는 학습 데이터에 대한 특징 정보로서 특징 행렬을 학습하여 악성코드 탐지 모델을 생성할 수 있다. 악성코드 탐지 모델은 학습을 통해 생성되는 머신러닝 기반의 분류 모델에 해당할 수 있고, 입력된 특징 정보와 연관된 컨텐츠가 악성코드인지 여부에 관한 확률을 결과로서 출력할 수 있다.
일 실시예에서, 악성코드 탐지 학습부(350)는 탐지 환경에 따라 라벨이 부여된 학습 데이터만을 사용하여 학습을 수행할 수 있다. 또한, 악성코드 탐지 학습부(350)는 라벨이 부여된 학습 데이터와 라벨이 부여되지 않은 학습 데이터를 혼합하여 학습을 수행할 수 있다. 이 경우, 악성코드 탐지 학습부(350)는 라벨이 부여되지 않은 학습 데이터에 대해 전처리 단계에서 다른 악성코드 탐지 방법을 적용하여 사전 분류를 수행함으로써 라벨이 부여된 학습 데이터로 변환한 후 학습을 수행할 수 있다.
일 실시예에서, 악성코드 탐지 학습부(350)는 특징 행렬을 1차원 벡터로 변환하여 학습을 수행할 수 있다. 보다 구체적으로, 악성코드 탐지 학습부(350)는 m * n 크기의 특징 행렬에 대해 열(column) 단위로 분할하여 길이가 m 인 1차원 열 벡터 n 개를 생성할 수 있다. 악성코드 탐지 학습부(350)는 n 개의 1차원 열 벡터들을 차례대로 연결하여 길이가 m * n 인 1차원 벡터를 생성할 수 있고, 해당 1차원 벡터를 기초로 학습 과정을 진행할 수 있다. 이 경우, 학습 결과를 기초로 악성코드를 탐지하는 악성코드 탐지부(370)는 테스트 데이터에 대한 특징 행렬을 1차원 벡터로 변환한 후 악성코드 탐지 동작을 수행할 수 있다.
악성코드 탐지부(370)는 악성코드 탐지 모델을 이용하여 악성코드를 탐지할 수 있다. 악성코드 탐지 모델은 입력된 특징 벡터를 기초로 연관된 파일(또는 컨텐츠)이 악성코드인지 정상파일(또는 정상컨텐츠)인지를 출력으로 제공할 수 있고, 악성코드 탐지부(370)는 이를 기초로 악성코드 탐지 결과를 제공할 수 있다. 악성코드 탐지 결과는 그래픽 처리되어 디스플레이 패널을 통해 제공될 수 있고, 별도의 메시지를 통해 관련 정보와 함께 제공될 수 있으며, 반드시 이에 한정되지 않고, 악성코드 탐지부(370)에 의해 다양한 방식으로 시각화되어 제공될 수 있다.
제어부(390)는 특징 벡터 생성 장치(130) 전체적인 동작을 제어하고, 특징 벡터 생성부(310), 특징 행렬 생성부(330), 악성코드 탐지 학습부(350) 및 악성코드 탐지부(370) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.
도 4는 도 1에 있는 특징 벡터 생성 장치에서 수행되는 라벨 정보가 포함된 특징 벡터 생성 과정을 설명하는 순서도이다.
도 4를 참조하면, 특징 벡터 생성 장치(130)는 특징 벡터 생성부(310)를 통해 학습 모집단에 포함된 학습 데이터를 기초로 특징 벡터를 생성할 수 있다(단계 S410). 특징 벡터 생성 장치(130)는 특징 행렬 생성부(330)를 통해 특징 벡터를 기초로 학습 모집단에 대한 분류 결과로서 사전에 설정된 복수의 라벨들이 각 열에 대응되는 특징 행렬을 생성할 수 있다(단계 S430).
또한, 특징 벡터 생성 장치(130)는 악성코드 탐지 학습부(350)를 통해 학습 데이터에 대한 특징 정보로서 특징 행렬을 학습하여 악성코드 탐지 모델을 생성할 수 있다(단계 S450). 특징 벡터 생성 장치(130)는 악성코드 탐지부(370)를 통해 악성코드 탐지 모델을 이용하여 악성코드를 탐지할 수 있다(단계 S470).
도 5는 라벨이 부여된 데이터에 관한 특징 행렬 생성 과정을 설명하는 예시도이다. 도 5a는 악성코드에 대한 특징 행렬 생성 과정에 해당하고, 도 5b는 정상파일에 대한 특징 행렬 생성 과정에 해당한다.
도 5를 참조하면, 특징 벡터 생성 장치(130)는 학습 데이터 집합(Train Dataset)에서 악성코드(malware) 라벨이 부여된 데이터에 대해 특징 추출 알고리즘을 적용하여 특징 벡터(Feature Vector)를 생성할 수 있고, 특징 벡터를 특징 행렬(Feature Matrix)에 맵핑(mapping)시켜 특징 행렬을 생성할 수 있다. 이 때, 특징 행렬의 각 열은 미리 정의된 라벨에 대응될 수 있다.
즉, 특징 행렬의 제1열은 악성코드(malware) 라벨에 대응되는 제1 라벨 벡터(510)에 해당할 수 있고, 특징 행렬의 제2열은 정상파일(benignware) 라벨에 대응되는 제2 라벨 벡터(530)에 해당할 수 있다. 도 5a에서, 특징 벡터 생성 장치(130)는 악성코드 라벨이 부여된 데이터로부터 추출된 특징 벡터의 값(0, 1, 0, 2, -1, ..., 5)을 대응되는 제1열에 할당하여 특징 행렬을 생성할 수 있다. 도 5b에서, 특징 벡터 생성 장치(130)는 정상파일 라벨이 부여된 데이터로"
Figure 112019104335336-pat00001
추출된 특징 벡터의 값(6, 2, -4, 0, 7, ..., 11)을 대응되는 제2열에 할당하여 특징 행렬을 생성할 수 있다. 이 경우, 특징 행렬의 나머지 열에 대해서는 기준값 0이 할당될 수 있다.
도 6은 라벨이 부여되지 않은 데이터에 관한 특징 행렬 생성 과정을 설명하는 예시도이다.
도 6을 참조하면, 특징 벡터 생성 장치(130)는 테스트 데이터 집합(Test Dataset)에서 라벨이 부여되지 않은 데이터에 대해 특징 추출 알고리즘을 적용하여 특징 벡터(Feature Vector)를 생성할 수 있고, 특징 벡터를 특징 행렬(Feature Matrix)에 맵핑(mapping)시켜 특징 행렬을 생성할 수 있다.
이 때, 특징 벡터 생성 장치(130)는 특징 행렬의 모든 열에 대해 생성된 특징 벡터를 각각 할당하여 특징 행렬을 생성할 수 있다. 도 6에서, 특징 행렬을 구성하는 모든 라벨 벡터(label vector)에 대해 특징 벡터의 값(-3, 0, -1, 8, 2, ..., 1)이 동일하게 반영될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 특징 벡터 생성 시스템
110: 사용자 단말 130: 특징 벡터 생성 장치
150: 데이터베이스
210: 프로세서 230: 메모리
250: 사용자 입출력부 270: 네트워크 입출력부
310: 특징 벡터 생성부 330: 특징 행렬 생성부
350: 악성코드 탐지 학습부 370: 악성코드 탐지부
390: 제어부
510: 제1 라벨 벡터 530: 제2 라벨 벡터

Claims (8)

  1. 학습 모집단에 포함된 학습 데이터를 기초로 특징 벡터를 생성하는 특징 벡터 생성부; 및
    상기 특징 벡터를 기초로 상기 학습 모집단에 대한 분류 결과로서 사전에 설정된 복수의 라벨(label)들이 각 열(column)에 대응되는 특징 행렬을 생성하고, 상기 학습 데이터의 라벨이 불특정된 경우 상기 특징 행렬의 모든 열(column)에 대해 상기 특징 벡터의 값을 각각 할당하는 특징 행렬 생성부를 포함하는 라벨 정보가 포함된 특징 벡터 생성 장치.
  2. 제1항에 있어서,
    상기 특징 벡터 생성부는 길이가 m (상기 m은 자연수)인 벡터를 상기 특징 벡터로서 생성하고,
    상기 특징 행렬 생성부는 라벨의 카테고리 수가 n (상기 n은 자연수)으로 설정된 경우 m * n 크기를 갖는 행렬을 상기 특징 행렬로서 생성하는 것을 특징으로 하는 라벨 정보가 포함된 특징 벡터 생성 장치.
  3. 제1항에 있어서, 상기 특징 행렬 생성부는
    상기 특징 행렬의 모든 성분값을 기준값으로 초기화하는 것을 특징으로 하는 라벨 정보가 포함된 특징 벡터 생성 장치.
  4. 제1항에 있어서, 상기 특징 행렬 생성부는
    상기 학습 데이터의 라벨이 특정된 경우 상기 특징 행렬에서 해당 라벨에 대응되는 열(column)에 대해 상기 특징 벡터의 값을 할당하는 것을 특징으로 하는 라벨 정보가 포함된 특징 벡터 생성 장치.
  5. 삭제
  6. 제1항에 있어서,
    상기 학습 데이터에 대한 특징 정보로서 상기 특징 행렬을 학습하여 악성코드 탐지 모델을 생성하는 악성코드 탐지 학습부; 및
    상기 악성코드 탐지 모델을 이용하여 악성코드를 탐지하는 악성코드 탐지부를 더 포함하는 것을 특징으로 하는 라벨 정보가 포함된 특징 벡터 생성 장치.
  7. 제6항에 있어서, 상기 악성코드 탐지 학습부는
    상기 특징 행렬을 1차원 벡터로 변환하여 상기 학습을 수행하는 것을 특징으로 하는 라벨 정보가 포함된 특징 벡터 생성 장치.
  8. 특징 벡터 생성 장치에서 수행되는 특징 벡터 생성 방법에 있어서,
    학습 모집단에 포함된 학습 데이터를 기초로 특징 벡터를 생성하는 단계;
    상기 특징 벡터를 기초로 상기 학습 모집단에 대한 분류 결과로서 사전에 설정된 복수의 라벨(label)들이 각 열(column)에 대응되는 특징 행렬을 생성하고, 상기 학습 데이터의 라벨이 불특정된 경우 상기 특징 행렬의 모든 열(column)에 대해 상기 특징 벡터의 값을 각각 할당하는 단계;
    상기 학습 데이터에 대한 특징 정보로서 상기 특징 행렬을 학습하여 악성코드 탐지 모델을 생성하는 단계; 및
    상기 악성코드 탐지 모델을 이용하여 악성코드를 탐지하는 단계를 포함하는 라벨 정보가 포함된 특징 벡터 생성 방법.
KR1020190126882A 2019-10-14 2019-10-14 라벨 정보가 포함된 특징 벡터 생성 장치 및 방법 KR102289401B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190126882A KR102289401B1 (ko) 2019-10-14 2019-10-14 라벨 정보가 포함된 특징 벡터 생성 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190126882A KR102289401B1 (ko) 2019-10-14 2019-10-14 라벨 정보가 포함된 특징 벡터 생성 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20210043932A KR20210043932A (ko) 2021-04-22
KR102289401B1 true KR102289401B1 (ko) 2021-08-12

Family

ID=75731164

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190126882A KR102289401B1 (ko) 2019-10-14 2019-10-14 라벨 정보가 포함된 특징 벡터 생성 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102289401B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018077715A (ja) * 2016-11-10 2018-05-17 ヤフー株式会社 情報処理装置、情報処理方法、およびプログラム
WO2019123642A1 (ja) * 2017-12-22 2019-06-27 日本電気株式会社 画像認識システム、方法およびプログラム、並びにパラメータ学習システム、方法およびプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100729107B1 (ko) 2005-10-27 2007-06-14 한국전력공사 부분방전 원인 자동 추론용 신경망 회로의 입력벡터생성방법
KR102367859B1 (ko) * 2017-06-07 2022-02-25 주식회사 케이티 특징 벡터를 이용하여 데이터를 분류하는 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018077715A (ja) * 2016-11-10 2018-05-17 ヤフー株式会社 情報処理装置、情報処理方法、およびプログラム
WO2019123642A1 (ja) * 2017-12-22 2019-06-27 日本電気株式会社 画像認識システム、方法およびプログラム、並びにパラメータ学習システム、方法およびプログラム

Also Published As

Publication number Publication date
KR20210043932A (ko) 2021-04-22

Similar Documents

Publication Publication Date Title
US9910847B2 (en) Language identification
TWI524206B (zh) 提供程式解析驗證服務系統及其控制方法、控制程式、使電腦發揮作用之控制程式、程式解析驗證裝置、程式解析驗證工具管理裝置
JP2019008778A (ja) 画像の領域のキャプション付加
WO2020164272A1 (zh) 上网设备的识别方法、装置及存储介质、计算机设备
EP3244347A1 (en) Object recognition in an adaptive resource management system
US11226832B2 (en) Dynamic generation of user interfaces based on dialogue
US11593700B1 (en) Network-accessible service for exploration of machine learning models and results
JP6191440B2 (ja) スクリプト管理プログラム、スクリプト管理装置及びスクリプト管理方法
KR102289401B1 (ko) 라벨 정보가 포함된 특징 벡터 생성 장치 및 방법
CN109684207B (zh) 操作序列封装的方法、装置、电子设备及存储介质
KR20210103506A (ko) 대규모 및 광폭 데이터를 프로세싱하기 위한 프로세서 제어 툴
KR102269652B1 (ko) 보안관제 데이터 분석을 위한 머신러닝 기반의 학습 벡터 생성 장치 및 방법
KR20210035987A (ko) 자카드 모델 기반의 문서 검색 장치 및 방법
CN110276183A (zh) 反向图灵验证方法及装置、存储介质、电子设备
KR102255600B1 (ko) Gan을 이용한 문서형 악성코드 탐지 장치 및 방법
CN115470190A (zh) 一种多存储池数据分类存储方法、系统与电子设备
CN114860535A (zh) 数据评估模型生成方法及装置、异常数据监控方法及装置
KR102193571B1 (ko) 전자 장치, 이미지 검색 시스템 및 제어 방법
JP6142878B2 (ja) 情報システムの性能評価装置、方法およびプログラム
US20200073891A1 (en) Systems and methods for classifying data in high volume data streams
KR102662965B1 (ko) 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치 및 방법
WO2020091893A1 (en) Automatic generation of images satisfying specified neural network classifier properties
KR102371028B1 (ko) 디바이스 독립적인 리그랩 기반의 통합 컨텐츠 처리 방법 및 장치
US20230062297A1 (en) Systems and methods for code repository embedding for tagging and summarization tasks using attention on multiple code domains
US20230282013A1 (en) Automated key-value pair extraction

Legal Events

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