KR102246405B1 - Tf-idf 기반 벡터 변환 및 데이터 분석 장치 및 방법 - Google Patents

Tf-idf 기반 벡터 변환 및 데이터 분석 장치 및 방법 Download PDF

Info

Publication number
KR102246405B1
KR102246405B1 KR1020190090032A KR20190090032A KR102246405B1 KR 102246405 B1 KR102246405 B1 KR 102246405B1 KR 1020190090032 A KR1020190090032 A KR 1020190090032A KR 20190090032 A KR20190090032 A KR 20190090032A KR 102246405 B1 KR102246405 B1 KR 102246405B1
Authority
KR
South Korea
Prior art keywords
vector
character string
frequency
idf
generation module
Prior art date
Application number
KR1020190090032A
Other languages
English (en)
Other versions
KR20210013433A (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 KR1020190090032A priority Critical patent/KR102246405B1/ko
Publication of KR20210013433A publication Critical patent/KR20210013433A/ko
Application granted granted Critical
Publication of KR102246405B1 publication Critical patent/KR102246405B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/313Selection or weighting of terms for indexing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/353Clustering; Classification into predefined classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods

Abstract

본 발명은 TF-IDF 기반 벡터 변환 및 데이터 분석 장치 및 방법에 관한 것으로, 특히 추출된 문자열을 다른 데이터와의 관계를 고려한 TF-IDF 기법을 통해 가중치를 부여함으로써, 악의적인 행위 특징을 특성화 시키고 가공된 벡터를 통해 데이터를 분석하는 TF-IDF 기반 벡터 변환 및 데이터 분석 장치 및 방법에 관한 것 이다.
또한, 본 발명에 따르면, 훈련 데이터 세트에서 문자열을 추출한 뒤, 문자열의 빈도를 고려해 선별된 문자열 집합으로 단어장을 구성하고, 단어장 기반으로 참조 단어 빈도-역 문서 빈도 벡터를 산출하는 참조 벡터 생성 모듈; 분석대상 테스트 파일에서 문자열을 추출하고, 상기 참조 벡터 생성 모듈에서 사전에 생성된 단어장을 기준으로 테스트 단어 빈도-역 문서 빈도 벡터(TF-IDF Vector)를 산출하는 테스트 벡터 생성 모듈; 및 상기 테스트 단어 빈도-역 문서 빈도 벡터와 사전에 구성된 훈련 데이터 세트의 참조 단어 빈도-역 문서 빈도 벡터들을 비교하고 악성코드 탐지 및 변종 분석을 제공하는 악성 코드 탐지 모듈을 포함하는 TF-IDF 기반 벡터 변환 및 데이터 분석 장치 및 방법이 제공된다.

Description

TF-IDF 기반 벡터 변환 및 데이터 분석 장치 및 방법{TF-IDF-based Vector Conversion and Data Analysis Apparatus and Method}
본 발명은 TF-IDF 기반 벡터 변환 및 데이터 분석 장치 및 방법에 관한 것으로, 특히 추출된 문자열을 다른 데이터와의 관계를 고려한 TF-IDF 기법을 통해 가중치를 부여함으로써, 악의적인 행위 특징을 특성화 시키고 가공된 벡터를 통해 데이터를 분석하는 TF-IDF 기반 벡터 변환 및 데이터 분석 장치 및 방법에 관한 것 이다.
보안업체 카스퍼스키 랩(kaspersky lab)에 따르면 2018년 신종 악성파일은 일평균 34만 6,000여개 발생되며 탐지된 전체 신종 악성파일 중에서 전년도 대비 백도어는 44% 증가했으며, 랜섬웨어의 규모는 43% 증가했다고 발표했다.
이러한 결과를 보면 악성코드로 인한 보안 위협의 빈도와 조직화된 사건 발생이 증가하고 있으며, 점차 지능화된 공격으로 진화하고 있는 추세이다.
공격자가 악성코드 제작 시 기존 코드를 활용하거나 자동 제작 도구를 사용하여 손쉽게 생성이 가능하기 때문에 악성코드 신종/변종의 수가 빠르게 증가하고 있고, 이로 인해 악성코드 탐지 및 분류에 대한 중요도가 높아지고 있다.
바이너리 파일을 실행시키지 않고 코드영역과 구조적인 정보를 분석하는 정적분석을 통해 신속하게 문자열 특징 정보 추출이 가능하다.
그러나 기존의 가공법은 특정 문자열 정보의 존재 유무를 표현하거나 데이터의 차원을 축소시키기 위해 정형화된 개수로 표현하였는데 이는 여러 파일간의 관계해석을 고려하지 않은 가공법으로 Label 및 Family에 따른 데이터의 특성을 강조하지 않은 문제점이 있다.
공개번호 10-2019-0080445호 공개번호 10-2009-0129609호
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로, 추출된 문자열을 다른 데이터와의 관계를 고려한 TF-IDF 기법을 통해 가중치를 부여함으로써, 악의적인 행위 특징을 특성화 시키고 가공된 벡터를 통해 데이터를 분석하는 TF-IDF 기반 벡터 변환 및 데이터 분석 장치 및 방법을 제공하는데 있다.
본 발명의 장치는 훈련 데이터 세트에서 문자열을 추출한 뒤, 문자열의 빈도를 고려해 선별된 문자열 집합으로 단어장을 구성하고, 단어장 기반으로 참조 단어 빈도-역 문서 빈도 벡터를 산출하는 참조 벡터 생성 모듈; 분석대상 테스트 파일에서 문자열을 추출하고, 상기 참조 벡터 생성 모듈에서 사전에 생성된 단어장을 기준으로 테스트 단어 빈도-역 문서 빈도 벡터(TF-IDF Vector)를 산출하는 테스트 벡터 생성 모듈; 및 상기 테스트 단어 빈도-역 문서 빈도 벡터와 사전에 구성된 훈련 데이터 세트의 참조 단어 빈도-역 문서 빈도 벡터들을 비교하고 악성코드 탐지 및 변종 분석을 제공하는 악성 코드 탐지 모듈을 포함한다.
또한, 본 발명의 방법은 (A) 참조 벡터 생성 모듈이 훈련 데이터 세트에서 문자열을 추출한 뒤, 문자열의 빈도를 고려해 선별된 문자열 집합으로 단어장을 구성하고, 단어장 기반으로 참조 단어 빈도-역 문서 빈도 벡터를 산출하는 단계; (B) 테스트 벡터 생성 모듈이 분석대상 테스트 파일에서 문자열을 추출하고, 상기 참조 벡터 생성 모듈에서 사전에 생성된 단어장을 기준으로 테스트 단어 빈도-역 문서 빈도 벡터(TF-IDF Vector)를 산출하는 단계; 및 (C) 악성 코드 탐지 모듈이 상기 테스트 단어 빈도-역 문서 빈도 벡터와 사전에 구성된 훈련 데이터 세트의 참조 단어 빈도-역 문서 빈도 벡터들을 비교하고 악성코드 탐지 및 변종 분석을 제공하는 단계를 포함한다.
본 발명은 문자열 기반으로 모든 데이터에서 공통으로 발생하는 문자열의 경우 가중치를 낮게, 특정 라벨(Label)을 구분하기 위한 식별 키워드(keyword)인 문자열인 경우 가중치를 높게 부여하여 계량화된 데이터의 형태로 가공해 활용함으로써 기계학습 기반의 악성코드 탐지 및 변종 분석 시스템의 성능을 향상시킬 수 있는 효과가 있다.
도 1은 본 발명의 바람직한 일 실시예에 따른 TF-IDF 기반 벡터 변환 및 데이터 분석 장치의 구성도이다.
도 2는 바이너리 파일에서 추출된 문자열 예시를 나타낸다.
도 3은 단어 빈도값을 구하는 일예를 나타낸다.
도 4는 역 문서 빈도값을 구하는 일예를 나타낸다.
도 5는 바이너리 파일에서 생성된 TF-IDF Vector의 예시이다.
도 6은 본 발명의 바람직한 일 실시예에 따른 TF-IDF 기반 벡터 변환 및 데이터 분석 방법의 흐름도이다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 설명하기 위하여 이하에서는 본 발명의 바람직한 실시예를 예시하고 이를 참조하여 살펴본다.
먼저, 본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니며, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 또한 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명을 설명함에 있어서, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 1은 본 발명의 바람직한 일 실시예에 따른 TF-IDF 기반 벡터 변환 및 데이터 분석 장치의 구성도이다.
도 1을 참조하면, 본 발명의 바람직한 일 실시예에 따른 TF-IDF 기반 벡터 변환 및 데이터 분석 장치는 참조 벡터 생성 모듈(100), 테스트 벡터 생성 모듈(200) 및 악성 코드 탐지 모듈(300)을 포함한다.
상기 참조 벡터 생성 모듈(100)은 훈련(Train) 데이터 세트에서 문자열을 추출한 뒤, 전체에서 가장 자주 나오는 문자열의 빈도를 고려해 선별된 문자열 집합으로 단어장(Vocabulary)을 구성하고, 단어장(Vocabulary) 기반으로 각 파일의 단어 빈도(TF: Term Frequency)값과 역 문서 빈도(IDF: Inverse Document Frequency) 값을 통해 참조 단어 빈도-역 문서 빈도(TF-IDF) 벡터를 산출한다.
이와 같은 참조 벡터 생성 모듈(100)은 문자열 추출부(110), 단어장 구성부(120) 및 벡터 생성부(130)을 포함한다.
상기 문자열 추출부(110)는 훈련(Train) 데이터 세트에서 문자열을 추출한다.
일예로, 문서 1 : Tom plays soccer.
문서 2 : Tom loves soccer and baseball.
문서 3 : Baseball is his hobby and his job.
인 경우에, 문자열 추출부(110)는 Tom, plays, soccer, loves, and, baseball, is, his, hobby, job을 추출한다.
이와 유사하게, 문자열 추출부(110)는 악성파일의 정적 분석을 이용해 문자열 추출이 가능하고 추출된 데이터는 ASCII와 Unicode로 표현되어 있으며, 그 중 특정 길이 이상의 연속된 ASCII문자로 구성된 문자열을 취한다.
이때, 문자열 추출부(110)에 의해 추출된 문자열은 파일의 코드부분과 PE파일의 구조적인 특징을 나타내는 Header부분, 악성행위와 관련된 DLL명과 API명을 기본적으로 포함하고 있다. 도 2는 바이너리 파일에서 추출된 문자열 예시를 나타낸다.
변종 악성코드의 경우 같은 그룹에 속하는 다른 악성코드와 비슷한 행위 동작을 나타내며 유사한 시스템 호출을 수행하기 때문에 높은 유사도를 갖게 될 것이다. 그렇기 때문에 악의적 행위를 나타내는 문자열을 사용하여 악성코드 탐지 및 분류를 위한 특성인자로 활용한다.
다음으로, 단어장 구성부(120)는 상기 문자열 추출부(110)가 다수의 파일로 구성된 훈련 데이터 세트에서 문자열을 추출하면, 전체에서 가장 자주 나오는 문자열의 빈도를 고려해 문자열을 선별하고, 선별된 문자열 집합으로 단어장을 구성한다.
상기 벡터 생성부(130)는 단어장(Vocabulary) 기반으로 각 파일의 단어 빈도(TF: Term Frequency)값과 역 문서 빈도(IDF: Inverse Document Frequency) 값을 통해 참조 단어 빈도-역 문서 빈도(TF-IDF) 벡터를 산출한다.
여기에서, 단어 빈도-역 문서 빈도(TF-IDF : Term Frequency-Inverse Document Frequency)는 정보검색과 텍스트 마이닝에서 이용하는 가중치를 나타내는데, 여러 문서로 이루어진 문서군에서 어떤 단어가 특정 문서 내에서 얼마나 중요한 것인지를 나타내는 통계적인 수치로, 문서의 핵심어 추출, 검색엔진에서 검색결과의 순위 결정, 문서들 사이의 비슷한 정도를 구하는 등의 용도로 사용된다.
상기 단어 빈도(TF: Term Fequency)는 문서에서 해당 단어가 얼마나 나타났는가를 의미하며, 문서 빈도(DF : Document Frequency)는 전체 문서에서 몇 개의 문서에 해당 단어가 나타났는가를 의미하고, 아래 수학식 1로 구하며, 도 3에 일예를 나타낸다.
(수학식 1)
DF = 해당 단어가 나타난 문서수 / 전체 문서 수
상기 역 문서 빈도(IDF : Inverse Document Frequency)는 DF의 역수로 아래 수학식 2로 구하며, 도 4에 일예를 나타낸다.
(수학식 2)
IDF = 전체 문서 수 / 해당 단어가 나타난 문서 수
이때, 상기 역 문서 빈도는 스케일 조정을 위해 로그 값을 사용하는데 아래 수학식 3으로 구한다.
(수학식 3)
IDF = log(전체 문서 수 / 해당 단어가 나타난 문서수)
그리고, 단어 빈도-역 문서 빈도(TF-IDF) 벡터는 TF값과 IDF값 곱한 값을 의미하며, 도4에 일예를 나타내며, 이 값이 높을수록 특정 단어가 해당문서에서 자주 등장하며, 전체 문서들 중 그 단어를 포함한 문서가 적음을 나타낸다. 도 5는 바이너리 파일에서 생성된 TF-IDF Vector의 예시이다.
한편, 테스트 벡터 생성 모듈(200)은 분석대상 테스트(Test) 파일에서 문자열을 추출하고, 참조 벡터 생성 모듈(100)에서 사전에 생성된 단어장(Vocabulary)을 기준으로 테스트 단어 빈도-역 문서 빈도 벡터(TF-IDF Vector)를 산출한다.
다음으로, 악성 코드 탐지 모듈(300)은 변환된 벡터 데이터를 기반으로 라벨(Label)에 따른 핵심특징 파악과 데이터의 특성을 고려한 군집화에 따른 악성코드 그룹분류, 악성 변종식별을 위한 유사도 측정을 제공한다.
변종 악성코드로 구성된 데이터 셋이 존재할 때, 악성코드의 행위는 API의 연속된 호출을 기반으로 특정 지을 수 있으며, 특정 유형의 악성코드 여부와 제작자의 성향, 제작방법을 확인할 수 있는 특성인자로 활용 가능하다. 그러므로 비슷한 행위를 기반으로 동작하는 변종 악성코드의 경우 유사한 라이브러리 호출을 수행하게 될 것이고, 이를 활용해 특정 Family마다 빈번하게 나타나는 호출 정보는 PE파일에서 추출한 문자열을 통해 파악할 수 있다.
TF-IDF 기법으로 가공된 문자열 특징은 벡터간의 유사도 측정방법중 하나인 코사인 유사도(Cosine Similarity)를 통해 가장 유사한 k개의 파일을 찾을 수 있으며, 이를 통해 변종 악성코드 분석이 가능하다.
이밖에도 데이터들의 특성을 고려하여 비슷한 특징을 가진 그룹을 찾아내는 비지도 학습인 클러스터링(Clustering) 기법을 활용하여 악성코드 그룹 분류가 가능하고, 해당 그룹에서 상위 k개의 문자열을 추출해 변종 악성코드를 식별할 수 있는 키워드로 정의할 수 있다.
특징 값을 기반으로 유사도를 측정하는 다양한 방법이 존재하게 되는데 주로 특징 값을 벡터에 매핑한 뒤 벡터 간의 거리를 계산한다.
코사인 유사도(Cosine Similarity)는 코사인 각도를 이용하여 두 벡터의 방향이 일치하면 1, 180도로 반대 방향을 가지면 -1, 90도의 각을 이루면 0인 값을 가지게 된다. -1에서 1사이의 값을 가지게 되며 1에 가까울수록 유사도가 높다고 판단한다. 코사인 유사도(Cosine Similarity)를 수식으로 표현하면 다음 수학식 4와 같다.
(수학식 4)
Figure 112019076373684-pat00001
TF-IDF 기법으로 가공된 문자열 특징은 벡터간의 유사도 측정방법중 하나인 코사인 유사도(Cosine Similarity)를 통해 가장 유사한 k개의 파일을 찾을 수 있으며, 이를 통해 변종 악성코드 분석이 가능하고 근접한 k개의 라벨 값을 활용해 악성코드 탐지가 가능하다.
상기 악성 코드 탐지 모듈(300)은 테스트 단어 빈도-역 문서 빈도 벡터와 사전에 구성된 훈련 데이터 세트의 참조 단어 빈도-역 문서 빈도 벡터들을 코사인 유사도(Cosine-Similarity) 측정기법을 활용해 전수 비교하고 가장 유사한 k개 파일의 라벨 값을 활용해 분석 대상파일의 라벨 값을 예측해 악성코드 탐지 및 변종 분석을 제공한다.
도 6은 본 발명의 바람직한 일 실시예에 따른 TF-IDF 기반 벡터 변환 및 데이터 분석 방법의 흐름도이다.
도 6을 참조하면, 본 발명의 바람직한 일 실시예에 따른 TF-IDF 기반 벡터 변환 및 데이터 분석 방법은 먼저, 참조 벡터 생성 모듈이 훈련(Train) 데이터 세트에서 문자열을 추출한 뒤, 전체에서 가장 자주 나오는 문자열의 빈도를 고려해 선별된 문자열 집합으로 단어장(Vocabulary)을 구성하고, 단어장(Vocabulary) 기반으로 각 파일의 단어 빈도(TF: Term Frequency)값과 역 문서 빈도(IDF: Inverse Document Frequency) 값을 통해 참조 단어 빈도-역 문서 빈도(TF-IDF) 벡터를 산출한다(S110).
이와 같은 참조 벡터 생성 모듈은 문자열 추출부, 단어장 구성부 및 벡터 생성부을 포함한다.
상기 문자열 추출부는 훈련(Train) 데이터 세트에서 문자열을 추출한다.
이때, 문자열 추출부는 악성파일의 정적 분석을 이용해 문자열 추출이 가능하고 추출된 데이터는 ASCII와 Unicode로 표현되어 있으며, 그 중 특정 길이 이상의 연속된 ASCII문자로 구성된 문자열을 취한다.
이때, 문자열 추출부에 의해 추출된 문자열은 파일의 코드부분과 PE파일의 구조적인 특징을 나타내는 Header부분, 악성행위와 관련된 DLL명과 API명을 기본적으로 포함하고 있다.
변종 악성코드의 경우 같은 그룹에 속하는 다른 악성코드와 비슷한 행위 동작을 나타내며 유사한 시스템 호출을 수행하기 때문에 높은 유사도를 갖게 될 것이다. 그렇기 때문에 악의적 행위를 나타내는 문자열을 사용하여 악성코드 탐지 및 분류를 위한 특성인자로 활용한다.
다음으로, 단어장 구성부는 상기 문자열 추출부가 다수의 파일로 구성된 훈련 데이터 세트에서 문자열을 추출하면, 전체에서 가장 자주 나오는 문자열의 빈도를 고려해 문자열을 선별하고, 선별된 문자열 집합으로 단어장을 구성한다.
상기 벡터 생성부는 단어장(Vocabulary) 기반으로 각 파일의 단어 빈도(TF: Term Frequency)값과 역 문서 빈도(IDF: Inverse Document Frequency) 값을 통해 참조 단어 빈도-역 문서 빈도(TF-IDF) 벡터를 산출한다.
다음으로, 테스트 벡터 생성 모듈은 분석대상 테스트(Test) 파일에서 문자열을 추출하고, 참조 벡터 생성 모듈(100)에서 사전에 생성된 단어장(Vocabulary)을 기준으로 테스트 단어 빈도-역 문서 빈도 벡터(TF-IDF Vector)를 산출한다(S120).
다음으로, 악성 코드 탐지 모듈은 변환된 벡터 데이터를 기반으로 라벨(Label)에 따른 핵심특징 파악과 데이터의 특성을 고려한 군집화에 따른 악성코드 그룹분류, 악성 변종식별을 위한 유사도 측정을 제공한다.
변종 악성코드로 구성된 데이터 셋이 존재할 때, 악성코드의 행위는 API의 연속된 호출을 기반으로 특정 지을 수 있으며, 특정 유형의 악성코드 여부와 제작자의 성향, 제작방법을 확인할 수 있는 특성인자로 활용 가능하다. 그러므로 비슷한 행위를 기반으로 동작하는 변종 악성코드의 경우 유사한 라이브러리 호출을 수행하게 될 것이고, 이를 활용해 특정 Family마다 빈번하게 나타나는 호출 정보는 PE파일에서 추출한 문자열을 통해 파악할 수 있다.
TF-IDF 기법으로 가공된 문자열 특징은 벡터간의 유사도 측정방법중 하나인 코사인 유사도(Cosine Similarity)를 통해 가장 유사한 k개의 파일을 찾을 수 있으며, 이를 통해 변종 악성코드 분석이 가능하다.
이밖에도 데이터들의 특성을 고려하여 비슷한 특징을 가진 그룹을 찾아내는 비지도 학습인 클러스터링(Clustering) 기법을 활용하여 악성코드 그룹 분류가 가능하고, 해당 그룹에서 상위 k개의 문자열을 추출해 변종 악성코드를 식별할 수 있는 키워드로 정의할 수 있다.
특징 값을 기반으로 유사도를 측정하는 다양한 방법이 존재하게 되는데 주로 특징 값을 벡터에 매핑한 뒤 벡터 간의 거리를 계산한다.
코사인 유사도(Cosine Similarity)는 코사인 각도를 이용하여 두 벡터의 방향이 일치하면 1, 180도로 반대 방향을 가지면 -1, 90도의 각을 이루면 0인 값을 가지게 된다. -1에서 1사이의 값을 가지게 되며 1에 가까울수록 유사도가 높다고 판단한다.
TF-IDF 기법으로 가공된 문자열 특징은 벡터간의 유사도 측정방법중 하나인 코사인 유사도(Cosine Similarity)를 통해 가장 유사한 k개의 파일을 찾을 수 있으며, 이를 통해 변종 악성코드 분석이 가능하고 근접한 k개의 라벨 값을 활용해 악성코드 탐지가 가능하다.
이처럼 상기 악성 코드 탐지 모듈은 테스트 단어 빈도-역 문서 빈도 벡터와 사전에 구성된 훈련 데이터 세트의 참조 단어 빈도-역 문서 빈도 벡터들을 코사인 유사도(Cosine-Similarity) 측정기법을 활용해 전수 비교하고 가장 유사한 k개 파일의 라벨 값을 활용해 분석 대상파일의 라벨 값을 예측해 악성코드 탐지 및 변종 분석을 제공한다(S130).
본 발명의 권리범위는 상술한 실시예에 한정되는 것이 아니라 첨부된 특허청구범위 내에서 다양한 형태의 실시예로 구현될 수 있다. 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 변형 가능한 다양한 범위까지 본 발명의 청구범위 기재의 범위내에 있는 것으로 본다.
100 : 참조 벡터 생성 모듈
200 : 테스트 벡터 생성 모듈
300 : 악성 코드 탐지 모듈

Claims (10)

  1. 훈련 데이터 세트에서 문자열을 추출한 뒤, 문자열의 빈도를 고려해 선별된 문자열 집합으로 단어장을 구성하고, 단어장 기반으로 참조 단어 빈도-역 문서 빈도 벡터를 산출하는 참조 벡터 생성 모듈;
    분석대상 테스트 파일에서 문자열을 추출하고, 상기 참조 벡터 생성 모듈에서 사전에 생성된 단어장을 기준으로 테스트 단어 빈도-역 문서 빈도 벡터(TF-IDF Vector)를 산출하는 테스트 벡터 생성 모듈; 및
    상기 테스트 단어 빈도-역 문서 빈도 벡터와 사전에 구성된 훈련 데이터 세트의 참조 단어 빈도-역 문서 빈도 벡터들을 비교하고 악성코드 탐지 및 변종 분석을 제공하는 악성 코드 탐지 모듈을 포함하고,
    상기 참조 벡터 생성 모듈은,
    훈련(Train) 데이터 세트에서 문자열을 추출하는 문자열 추출부;
    상기 문자열 추출부가 다수의 파일로 구성된 훈련 데이터 세트에서 문자열을 추출하면, 문자열의 빈도를 고려해 문자열을 선별하고, 선별된 문자열 집합으로 단어장을 구성하는 단어장 구성부; 및
    단어장 기반으로 각 파일의 단어 빈도값과 역 문서 빈도값을 통해 참조 단어 빈도-역 문서 빈도 벡터를 산출하는 벡터 생성부를 포함하는 TF-IDF 기반 벡터 변환 및 데이터 분석 장치.
  2. 삭제
  3. 청구항 1항에 있어서,
    상기 문자열 추출부는 악성파일의 정적 분석을 이용해 문자열 추출이 가능하고 추출된 데이터는 ASCII와 Unicode로 표현되어 있으며, 그 중 특정 길이 이상의 연속된 ASCII문자로 구성된 문자열을 취하는 것을 특징으로 하는 TF-IDF 기반 벡터 변환 및 데이터 분석 장치.
  4. 청구항 1항에 있어서,
    상기 문자열 추출부에 의해 추출된 문자열은 파일의 코드부분과 PE파일의 구조적인 특징을 나타내는 Header부분, 악성행위와 관련된 DLL명과 API명을 포함하고 있는 TF-IDF 기반 벡터 변환 및 데이터 분석 장치.
  5. 청구항 1항에 있어서,
    상기 악성 코드 탐지 모듈은 코사인 유사도 측정 기법을 이용하여 유사도를 측정하여 악성코드 탐지 및 변종 분석을 제공하는 TF-IDF 기반 벡터 변환 및 데이터 분석 장치.
  6. (A) 참조 벡터 생성 모듈이 훈련 데이터 세트에서 문자열을 추출한 뒤, 문자열의 빈도를 고려해 선별된 문자열 집합으로 단어장을 구성하고, 단어장 기반으로 참조 단어 빈도-역 문서 빈도 벡터를 산출하는 단계;
    (B) 테스트 벡터 생성 모듈이 분석대상 테스트 파일에서 문자열을 추출하고, 상기 참조 벡터 생성 모듈에서 사전에 생성된 단어장을 기준으로 테스트 단어 빈도-역 문서 빈도 벡터(TF-IDF Vector)를 산출하는 단계; 및
    (C) 악성 코드 탐지 모듈이 상기 테스트 단어 빈도-역 문서 빈도 벡터와 사전에 구성된 훈련 데이터 세트의 참조 단어 빈도-역 문서 빈도 벡터들을 비교하고 악성코드 탐지 및 변종 분석을 제공하는 단계를 포함하고,
    상기 (A) 단계는
    (A-1) 상기 참조 벡터 생성 모듈이 훈련(Train) 데이터 세트에서 문자열을 추출하는 단계;
    (A-2) 상기 참조 벡터 생성 모듈이 다수의 파일로 구성된 훈련 데이터 세트에서 문자열을 추출하면, 문자열의 빈도를 고려해 문자열을 선별하고, 선별된 문자열 집합으로 단어장을 구성하는 단계; 및
    (A-3) 상기 참조 벡터 생성 모듈이 단어장 기반으로 각 파일의 단어 빈도값과 역 문서 빈도값을 통해 참조 단어 빈도-역 문서 빈도 벡터를 산출하는 단계를 포함하는 TF-IDF 기반 벡터 변환 및 데이터 분석 방법.
  7. 삭제
  8. 청구항 6항에 있어서,
    상기 (A-1) 단계에서 상기 참조 벡터 생성 모듈은 악성파일의 정적 분석을 이용해 문자열 추출이 가능하고 추출된 데이터는 ASCII와 Unicode로 표현되어 있으며, 그 중 특정 길이 이상의 연속된 ASCII문자로 구성된 문자열을 취하는 것을 특징으로 하는 TF-IDF 기반 벡터 변환 및 데이터 분석 방법.
  9. 청구항 6항에 있어서,
    상기 (A-1) 단계에서 상기 참조 벡터 생성 모듈에 의해 추출된 문자열은 파일의 코드부분과 PE파일의 구조적인 특징을 나타내는 Header부분, 악성행위와 관련된 DLL명과 API명을 포함하고 있는 TF-IDF 기반 벡터 변환 및 데이터 분석 방법.
  10. 청구항 6항에 있어서,
    상기 (C) 단계에서 상기 악성 코드 탐지 모듈은 코사인 유사도 측정 기법을 이용하여 유사도를 측정하여 악성코드 탐지 및 변종 분석을 제공하는 TF-IDF 기반 벡터 변환 및 데이터 분석 방법.
KR1020190090032A 2019-07-25 2019-07-25 Tf-idf 기반 벡터 변환 및 데이터 분석 장치 및 방법 KR102246405B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190090032A KR102246405B1 (ko) 2019-07-25 2019-07-25 Tf-idf 기반 벡터 변환 및 데이터 분석 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190090032A KR102246405B1 (ko) 2019-07-25 2019-07-25 Tf-idf 기반 벡터 변환 및 데이터 분석 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20210013433A KR20210013433A (ko) 2021-02-04
KR102246405B1 true KR102246405B1 (ko) 2021-04-30

Family

ID=74558734

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190090032A KR102246405B1 (ko) 2019-07-25 2019-07-25 Tf-idf 기반 벡터 변환 및 데이터 분석 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102246405B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113094703A (zh) * 2021-03-11 2021-07-09 北京六方云信息技术有限公司 针对web入侵检测的输出内容过滤方法及系统
CN116989838B (zh) * 2023-09-27 2023-12-26 苏州中电科启计量检测技术有限公司 一种基于语法树的仪表计量检测校准方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100968267B1 (ko) 2008-06-13 2010-07-06 주식회사 안철수연구소 컴파일러 구분에 의한 악성코드 진단장치 및 방법
KR101162051B1 (ko) * 2010-12-21 2012-07-03 한국인터넷진흥원 문자열 비교 기법을 이용한 악성코드 탐지 및 분류 시스템 및 그 방법
KR101869026B1 (ko) * 2016-08-16 2018-06-20 단국대학교 산학협력단 소프트웨어 클러스터링 방법 및 장치
KR102086749B1 (ko) * 2017-02-02 2020-03-09 단국대학교 산학협력단 텍스트 마이닝을 이용한 안드로이드 실행 파일의 유사도 측정 시스템 및 방법
KR102011725B1 (ko) 2017-12-28 2019-08-19 숭실대학교산학협력단 악성코드 검출을 위한 화이트리스트 구축 방법 및 이를 수행하기 위한 기록매체 및 장치

Also Published As

Publication number Publication date
KR20210013433A (ko) 2021-02-04

Similar Documents

Publication Publication Date Title
US9665713B2 (en) System and method for automated machine-learning, zero-day malware detection
CN105224600B (zh) 一种样本相似度的检测方法及装置
CN110191096B (zh) 一种基于语义分析的词向量网页入侵检测方法
CN105718795B (zh) Linux下基于特征码的恶意代码取证方法及系统
CN110362996B (zh) 一种离线检测PowerShell恶意软件的方法与系统
CN110572359A (zh) 基于机器学习的钓鱼网页检测方法
KR102246405B1 (ko) Tf-idf 기반 벡터 변환 및 데이터 분석 장치 및 방법
CN112651025A (zh) 一种基于字符级嵌入编码的webshell检测方法
CN110362995A (zh) 一种基于逆向与机器学习的恶意软件检测及分析系统
CN112948725A (zh) 基于机器学习的钓鱼网站url检测方法及系统
CN112487422B (zh) 一种恶意文档检测方法、装置、电子设备及存储介质
CN105243327B (zh) 一种文件安全处理方法
Li et al. MDBA: Detecting malware based on bytes n-gram with association mining
Rasheed et al. Adversarial attacks on featureless deep learning malicious URLs detection
CN112464297A (zh) 硬件木马检测方法、装置及存储介质
Pradeepa et al. Malicious domain detection using nlp methods—a review
KR20180070247A (ko) 네트워크 침입 탐지 규칙을 생성하는 방법 및 장치
CN112163217B (zh) 恶意软件变种识别方法、装置、设备及计算机存储介质
Bakhshinejad et al. A new compression based method for android malware detection using opcodes
CN116015703A (zh) 模型训练方法、攻击检测方法及相关装置
CN113688240B (zh) 威胁要素提取方法、装置、设备及存储介质
EP2688007A1 (en) Method of automatically extracting features from a computer readable file
Al-Alwani et al. Arabic spam filtering using bayesian model
CN114338058A (zh) 一种信息处理方法、装置和存储介质
KR101815968B1 (ko) 그룹 분리 기능을 제공하기 위한 악성코드 분류 시스템 및 그 방법

Legal Events

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