KR102499372B1 - 악성코드 학습 데이터 증강 장치, 방법 및 프로그램 - Google Patents

악성코드 학습 데이터 증강 장치, 방법 및 프로그램 Download PDF

Info

Publication number
KR102499372B1
KR102499372B1 KR1020210016292A KR20210016292A KR102499372B1 KR 102499372 B1 KR102499372 B1 KR 102499372B1 KR 1020210016292 A KR1020210016292 A KR 1020210016292A KR 20210016292 A KR20210016292 A KR 20210016292A KR 102499372 B1 KR102499372 B1 KR 102499372B1
Authority
KR
South Korea
Prior art keywords
command
malicious code
learning data
commands
augmented
Prior art date
Application number
KR1020210016292A
Other languages
English (en)
Other versions
KR20220112577A (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 KR1020210016292A priority Critical patent/KR102499372B1/ko
Publication of KR20220112577A publication Critical patent/KR20220112577A/ko
Application granted granted Critical
Publication of KR102499372B1 publication Critical patent/KR102499372B1/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)
  • Stored Programmes (AREA)

Abstract

본 발명에 따른 악성코드 학습 데이터 증강 장치는 악성코드 데이터를 획득하는 획득부; 상기 악성코드 데이터로부터 레이블 정보 및 명령어 시퀀스 정보를 추출하여 원본 악성코드 학습 데이터를 생성하고, 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 일부 명령어를 유의 명령어로 교체하는 명령어 교체 기능, 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 유의 명령어를 삽입하는 명령어 삽입 기능, 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 일부 명령어 간의 순서를 교환하는 명령어 순서교환 기능 및 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 일부 명령어를 삭제하는 명령어 삭제 기능 중 하나 이상을 수행하여 상기 원본 악성코드 학습 데이터로부터 증강 악성코드 학습 데이터를 생성하는 프로세서;를 포함할 수 있다.

Description

악성코드 학습 데이터 증강 장치, 방법 및 프로그램{Apparatus, method and program for augmenting learning data of malware}
본 발명은 악성코드 학습 데이터 증강 장치, 방법 및 프로그램에 관한 것으로, 더욱 상세하게는, 악성코드 데이터로부터 악성코드 학습에 이용되는 원본 악성코드 학습 데이터를 생성하고, 원본 악성코드 학습 데이터를 증강시켜 증강 악성코드 학습 데이터를 생성하는 악성코드 학습 데이터 증강 장치, 방법 및 프로그램에 관한 것이다.
최근 정보보호의 위협은 악성코드(malware)에 집중되고 있으며, 이러한 악성코드는 비밀성, 무결성, 가용성 등으로 집약되는 정보보호의 목적에 반하여 전반적인 문제를 일으키고 있다. 악성코드의 실질적 정의는 다른 사람에게 심리적, 실질적으로 피해를 주기 위하여 제작된 모든 프로그램과 실행가능한 부분을 말한다. 크래커들의 악성코드 제작 기술력이 증가함에 따라 보안 위협도 증가하고 있다.
이러한 악성코드를 분석하기 위한 방법에는 시그니쳐(signature) 검사법, CRC(Cyclic Redundancy Check) 검사법 및 경험적(heuristic) 검사법이 있다.
시그니쳐 검사법은 사람을 구별할 때 지문을 보듯이 보안프로그램이 악성코드를 진단하는 방법 중의 한 가지이다. 즉, 악성코드가 가지고 있는 독특한 문자열(패턴)을 수집하여 이를 데이터베이스에 저장하고, 보안프로그램이 패턴을 매칭하는 방법을 이용하여 악성코드를 분석한다. 이러한 지문 검사법에는 순차적 문자열 검사법과 특정 문자열 검사법이 있는데, 순차적 문자열 검사법은 속도는 빠르지만 악성코드 탐지율이 떨어지는 단점이 있고, 특정 문자열 검사법은 악성코드 탐지율은 높으나 속도가 느리다는 단점이 있다.
이러한 시그니쳐 검사법은 동일한 문자열 패턴 비교를 통해 악성코드를 탐지하기 때문에, 악성코드의 패턴 중 일부가 수정될 경우에는 해당 악성코드를 탐지할 수 없는 문제점이 있다. 이 때문에, 악성코드 탐지율을 높이려면, 보안업체는 악성코드의 패턴이 수정될 때마다 매번 다시 분석하여 수정된 악성코드의 패턴을 데이터베이스에 저장해야 하는 작업을 반복해야 하는 문제점이 있다.
따라서, 최근에는 악성코드 분석방법으로서 시그니쳐 검사법의 기능을 향상시킨 경험적(heuristic) 기법이 주로 사용되는데, 이는 악성코드의 행동을 분석하거나 방식을 분석하여 자체적으로 학습하는 학습기반 분석법 중 하나이다. 즉, 악성 바이러스프로그램의 경우 독특한 조합의 API 명령을 사용하는 경우가 많은데, 경험적 기법은 이와 같이 독특한 API 명령의 조합을 학습하여 API 명령을 기반으로 악성코드 여부를 판단한다.
더 나아가, 기계학습 기반의 악성코드 분석방법은 정상파일 및 악성코드가 포함된 파일로 학습 모델을 학습시킨 후, 학습된 모델로 의심스러운 파일의 악성 여부를 분석하는 것이다.
이러한, 악성코드 탐지에 딥러닝을 이용하기 위해서는 많은 양의 악성코드 데이터가 필요하다. 그러나, 악성코드에 직접 감염이 되어야 해당 코드가 악성코드인지 확인이 가능하며, 이러한 방식으로 수집된 악성코드 데이터는 지식자산으로 취급되어 공개되지 않아 대량의 악성코드 데이터를 확보하기 어려운 문제점이 있다.
관련연구 과제고유번호 : R18XA05
부처명 : 한국전력공사
연구관리전문기관 : 한국전력연구원
연구사업명 : 2018년 착수 에너지 거점대학 클러스터 사업
연구과제명 : XAI(eXplainable AI) 기반 스마트 에너지 플랫폼 기술 개발
기여율: 100/100
주관기관 : 한국과학기술원
연구기간 : 2018.3.1 ~ 2021.2.28
본 발명은 악성코드 데이터로부터 악성코드 학습에 이용되는 원본 악성코드 학습 데이터를 생성하고, 원본 악성코드 학습 데이터를 증강시켜 증강 악성코드 학습 데이터를 생성하는 악성코드 학습 데이터 증강 장치, 방법 및 프로그램을 제공하고자 한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 발명에 따른 악성코드 학습 데이터 증강 장치는 악성코드 데이터를 획득하는 획득부; 상기 악성코드 데이터로부터 레이블 정보 및 명령어 시퀀스 정보를 추출하여 원본 악성코드 학습 데이터를 생성하고, 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 일부 명령어를 유의 명령어로 교체하는 명령어 교체 기능, 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 유의 명령어를 삽입하는 명령어 삽입 기능, 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 일부 명령어 간의 순서를 교환하는 명령어 순서교환 기능 및 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 일부 명령어를 삭제하는 명령어 삭제 기능 중 하나 이상을 수행하여 상기 원본 악성코드 학습 데이터로부터 증강 악성코드 학습 데이터를 생성하는 프로세서;를 포함할 수 있다.
바람직하게, 상기 프로세서는 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 증강 정수만큼의 명령어를 선택하고, 상기 선택된 명령어에 대응하는 유의 명령어를 확인하고, 상기 선택된 명령어를 상기 확인된 유의 명령어로 교체하는 상기 명령어 교체 기능을 수행하여 상기 증강 악성코드 학습 데이터를 생성할 수 있다.
바람직하게, 상기 프로세서는 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 임의의 명령어를 선택하고, 상기 선택된 명령어에 대응하는 유의 명령어를 확인하고, 상기 확인된 유의 명령어를 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 삽입하는 상기 명령어 삽입 기능을 수행하여 상기 증강 악성코드 학습 데이터를 생성할 수 있다.
바람직하게, 상기 프로세서는 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 임의의 명령어 2개를 선택하고, 상기 선택된 2개의 명령어 간에 순서를 교환하는 상기 명령어 순서교환 기능을 증강 정수만큼 수행하여 상기 증강 악성코드 학습 데이터를 생성할 수 있다.
바람직하게, 상기 프로세서는 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 증강 확률에 대응되는 선택 비율만큼 명령어를 선택하고, 상기 선택된 명령어를 삭제하는 상기 명령어 삭제 기능을 수행하여 상기 증강 악성코드 학습 데이터를 생성할 수 있다.
본 발명에 따른 악성코드 학습 데이터 증강 방법은 획득부가 악성코드 데이터를 획득하는 단계; 및 프로세서가 상기 악성코드 데이터로부터 레이블 정보 및 명령어 시퀀스 정보를 추출하여 원본 악성코드 학습 데이터를 생성하는 단계; 상기 프로세서가 상기 원본 악성코드 학습 데이터에 대해 명령어 교체 기능, 명령어 삽입 기능, 명령어 순서교환 기능 및 명령어 삭제 기능 중 하나 이상을 수행하여 증강 악성코드 학습 데이터를 생성하는 단계;를 포함할 수 있다.
바람직하게, 상기 증강 악성코드 학습 데이터를 생성하는 단계는 상기 프로세서가 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 일부 명령어를 유의 명령어로 교체하는 명령어 교체 기능을 수행하는 단계;를 포함할 수 있다.
상기 명령어 교체 기능을 수행하는 단계는 상기 프로세서가 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 증강 정수만큼의 명령어를 선택하고, 상기 선택된 명령어에 대응하는 유의 명령어를 확인하고, 상기 선택된 명령어를 상기 확인된 유의 명령어로 교체하는 상기 명령어 교체 기능을 수행하여 상기 증강 악성코드 학습 데이터를 생성하는 단계;를 포함할 수 있다.
바람직하게, 상기 증강 악성코드 학습 데이터를 생성하는 단계는 상기 프로세서가 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 유의 명령어를 삽입하는 명령어 삽입 기능을 수행하는 단계;를 포함할 수 있다.
바람직하게, 상기 명령어 삽입 기능을 수행하는 단계는 상기 프로세서가 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 임의의 명령어를 선택하고, 상기 선택된 명령어에 대응하는 유의 명령어를 확인하고, 상기 확인된 유의 명령어를 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 삽입하는 상기 명령어 삽입 기능을 수행하여 상기 증강 악성코드 학습 데이터를 생성하는 단계;를 포함할 수 있다.
바람직하게, 상기 증강 악성코드 학습 데이터를 생성하는 단계는 상기 프로세서가 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 일부 명령어 간의 순서를 교환하는 명령어 순서교환 기능을 수행하는 단계;를 포함할 수 있다.
바람직하게, 상기 명령어 순서교환 기능을 수행하는 단계는 상기 프로세서가 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 임의의 명령어 2개를 선택하고, 상기 선택된 2개의 명령어 간에 순서를 교환하는 상기 명령어 순서교환 기능을 증강 정수만큼 수행하여 상기 증강 악성코드 학습 데이터를 생성하는 단계;를 포함할 수 있다.
바람직하게, 상기 증강 악성코드 학습 데이터를 생성하는 단계는 상기 프로세서가 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 일부 명령어를 삭제하는 명령어 삭제 기능을 수행하는 단계;를 포함할 수 있다.
바람직하게, 상기 명령어 삭제 기능을 수행하는 단계는 상기 프로세서가 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 증강 확률에 대응되는 선택 비율만큼 명령어를 선택하고, 상기 선택된 명령어를 삭제하는 상기 명령어 삭제 기능을 수행하여 상기 증강 악성코드 학습 데이터를 생성하는 단계;를 포함할 수 있다.
본 발명에 따른 컴퓨터 프로그램은 하드웨어인 컴퓨터와 결합되어, 상기 악성코드 학습 데이터 증강 방법을 수행할 수 있도록 컴퓨터에서 독출가능할 수 있다.
본 발명에 따르면, 악성코드 데이터로부터 악성코드 학습에 이용되는 원본 악성코드 학습 데이터를 생성하고, 원본 악성코드 학습 데이터를 증강시켜 증강 악성코드 학습 데이터를 생성함으로써, 딥러닝에 기반한 악성코드 탐지에 다량의 악성코드 학습 데이터를 제공할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 악성코드 학습 데이터 증강 장치에 입출력고 생성되는 데이터를 도시한 도면이다.
도 2는 본 발명의 일 실시 예에 따른 악성코드 학습 데이터 증강 장치의 구성요소가 도시된 블록도이다.
도 3은 본 발명의 일 실시 예에 따른 악성코드 학습 데이터 증강 장치에 의해 이용되는 악성코드 데이터의 구성을 도시한 도면이다.
도 4는 본 발명의 일 실시 예에 따른 악성코드 학습 데이터 증강 장치에 의해 생성되는 원본 악성코드 학습 데이터의 구성을 도시한 도면이다.
도 5는 본 발명의 일 실시 예에 따른 악성코드 학습 데이터 증강 장치에 의해 명령어 교체 기능으로 생성되는 증강 악성코드 학습 데이터의 구성을 도시한 도면이다.
도 6은 본 발명의 일 실시 예에 따른 악성코드 학습 데이터 증강 장치에 의해 이용되는 유의 명령어 사전의 구성을 도시한 도면이다.
도 7은 본 발명의 일 실시 예에 따른 악성코드 학습 데이터 증강 장치에 의해 명령어 삽입 기능으로 생성되는 증강 악성코드 학습 데이터의 구성을 도시한 도면이다.
도 8는 본 발명의 일 실시 예에 따른 악성코드 학습 데이터 증강 장치에 의해 명령어 순서교환 기능으로 생성되는 증강 악성코드 학습 데이터의 구성을 도시한 도면이다.
도 9는 본 발명의 일 실시 예에 따른 악성코드 학습 데이터 증강 장치에 의해 명령어 삭제 기능으로 생성되는 증강 악성코드 학습 데이터의 구성을 도시한 도면이다.
도 10은 본 발명의 일 실시 예에 따른 악성코드 학습 데이터 증강 방법을 설명하기 위한 순서도이다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형 태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/ 또는 교체물(alternative)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대 해서는 유사한 참조 부호가 사용될 수 있다.
본 문서에서, "가진다", "가질 수 있다", "포함한다", 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B", "A 또는/및 B 중 적어도 하나", 또는 "A 또는/및 B 중 하나 또는 그 이상" 등의 표현 은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B", "A 및 B 중 적어도 하나", 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는(3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 문서에서 사용된 "제1", "제2", "첫째", 또는 "둘째" 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중 요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제1 사용자 기기와 제2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 문서에 기재된 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 바꾸어 명명될 수 있다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성 요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합 한(suitable for)", "~하는 능력을 가지는(having the capacity to)", "~하도록 설계된(designed to)", "~하도록 변경된(adapted to)", "~하도록 만들어진(made to)", 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성(또는 설정)된"은 하드웨어적으로 "특별히 설계된(specifically designed to)"것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성 (또는 설정)된 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서 (generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한 정하려는 의도가 아닐 수 있다. 단수의 표현은 컨텍스트 상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 문서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 문서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은 관련 기술의 컨텍스트 상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 실시 예들을 배제하도록 해석될 수 없다.
도 1은 본 발명의 일 실시 예에 따른 악성코드 학습 데이터 증강 장치에 입출력고 생성되는 데이터를 도시한 도면이고, 도 2는 본 발명의 일 실시 예에 따른 악성코드 학습 데이터 증강 장치의 구성요소가 도시된 블록도이다.
도 1 및 도 2를 참조하면, 본 발명의 일 실시 예에 따른 악성코드 학습 데이터 증강 장치(100)는 악성코드 데이터(D)를 획득 후 명령어 시퀀스 정보를 추출하여 원본 악성코드 학습 데이터(OLD)를 생성할 수 있다. 이어서, 악성코드 학습 데이터 증강 장치(100)는 생성된 원본 악성코드 학습 데이터(OLD)에 대해 명령어 교체 기능, 명령어 삽입 기능, 명령어 순서교환 기능 및 명령어 삭제 기능 중 하나 이상을 수행하여 증강 악성코드 학습 데이터(ALD)를 생성할 수 있다.
이를 통해, 본 발명에 따른 악성코드 학습 데이터 증강 장치(100)는 딥러닝 기반 악성코드 탐지 모델로부터 이용되는 악성코드 학습 데이터를 대량으로 생성할 수 있다.
이러한, 악성코드 학습 데이터 증강 장치(100)는 획득부(110), 프로세서(120) 및 저장부(130)를 포함할 수 있다.
획득부(110) 악성코드 데이터를 획득할 수 있다.
구체적으로, 획득부(110)는 유무선 통신을 수행하여 악성코드 데이터를 획득할 수 있다.
여기서, 유무선 통신은 악성코드 데이터를 획득하는한 그 종류가 제한되지 않음을 유의한다. 예를 들어, 유무선 통신은 LTE, 4G, Wi-Fi, BLE 및 USB serial 중 하나 이상의 방식을 이용하는 통신일 수 있다.
도 3은 본 발명의 일 실시 예에 따른 악성코드 학습 데이터 증강 장치에 의해 이용되는 악성코드 데이터의 구성을 도시한 도면이다.
도 3을 더 참조하면, 악성코드 데이터는 파일 이름 정보, 명령어 길이 정보, 레이블 정보 및 명령어 시퀀스 정보를 포함할 수 있다.
파일 이름 정보는 악성코드 데이터의 파일 이름을 나타내는 정보이고, 명령어 길이 정보는 명령어 시퀀스 정보에 포함된 명령어의 길이를 나타내는 정보이고, 레이블 정보는 악성코드 데이터가 악성코드 인지 여부를 나타내는 정보이고, 명령어 시퀀스 정보는 복수의 명령어를 포함하는 즉, 복수의 명령어가 나열된 정보일 수 있다.
도 4는 본 발명의 일 실시 예에 따른 악성코드 학습 데이터 증강 장치에 의해 생성되는 원본 악성코드 학습 데이터의 구성을 도시한 도면이다.
도 4를 더 참조하면, 프로세서(120)는 획득된 악성코드 데이터에서 레이블 정보 및 명령어 시퀀스 정보만을 추출하여 원본 악성코드 학습 데이터를 생성할 수 있다.
즉, 프로세서(120)는 악성코드 학습 데이터를 생성하는데 필요한 레이블 정보 및 명령어 시퀀스 정보만을 악성코드 데이터로부터 추출하여 원본 악성코드 학습 데이터를 생성할 수 있다.
이후, 프로세서(120)는 생성된 원본 악성코드 학습 데이터에 대해 명령어 교체 기능, 명령어 삽입 기능, 명령어 순서교환 기능 및 명령어 삭제 기능 중 하나 이상을 수행하여 증강 악성코드 학습 데이터를 생성할 수 있다.
도 5는 본 발명의 일 실시 예에 따른 악성코드 학습 데이터 증강 장치에 의해 명령어 교체 기능으로 생성되는 증강 악성코드 학습 데이터의 구성을 도시한 도면이고, 도 6은 본 발명의 일 실시 예에 따른 악성코드 학습 데이터 증강 장치에 의해 이용되는 유의 명령어 사전의 구성을 도시한 도면이다.
도 5 및 도 6을 참조하면 프로세서(120)는 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 일부 명령어를 유의 명령어로 교체하는 명령어 교체 기능을 수행할 수 있다.
구체적으로, 프로세서(120)는 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 증강 정수만큼의 명령어를 선택할 수 있다.
이를 위해, 프로세서(120)는 미리 설정된 증강 확률과 명령어 길이 정보에 기초하여 증강 정수를 산출할 수 있다.
이때, 프로세서(120)는 하기의 수학식 1을 이용하여 증강 정수를 산출할 수 있다.
<수학식 1>
Figure 112021014756358-pat00001
여기서, n은 증강 정수이고, p는 미리 설정된 증강 확률이고, l은 명령어 길이 정보일 수 있다.
프로세서(120)는 미리 설정된 증강 확률과 명령어 길이 정보를 곱한값이 정수가 아니면 곱한값을 정수화시켜 증강 정수로 산출할 수 있다.
예를 들어, 프로세서(120)는 미리 설정된 증강 확률이 2%이고 명령어 길이 정보가 200인 경우, 증강 정수를 4로 산출하고, 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 증강 정수인 4개만큼의 명령어를 선택할 수 있다.
이후, 프로세서(120)는 선택된 명령어에 대응하는 유의 명령어를 확인할 수 있다.
이를 위해, 프로세서(120)는 선택된 명령어를 유의 명령어 사전에서 검색하고, 검색된 명령어와 같은 그룹에 포함된 유의 명령어를 확인할 수 있다.
여기서, 유의 명령어 사전은 유사한 기능을 수행하는 명령어를 동일한 그룹에 포함시킨 명령어 사전일 수 있다.
이후, 프로세서(120)는 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서, 선택된 명령어를 유의 명령어 사전을 통해 확인된 유의 명령어로 교체하는 명령어 교체 기능을 수행하여 증강 악성코드 학습 데이터를 생성할 수 있다.
예를 들어, 프로세서(120)는 도 5에 도시된 바와 같이, 원본 악성코드 학습 데이터의 명령어 “JP”를 선택하고, 선택된 명령어 “JP”를 유의 명령어 “JPE”로 교체하여 증강 악성코드 학습 데이터를 생성할 수 있다.
도 7은 본 발명의 일 실시 예에 따른 악성코드 학습 데이터 증강 장치에 의해 명령어 삽입 기능으로 생성되는 증강 악성코드 학습 데이터의 구성을 도시한 도면이다.
도 7을 더 참조하면, 프로세서(120)는 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 유의 명령어를 삽입하는 명령어 삽입 기능을 수행할 수 있다.
구체적으로, 프로세서(120)는 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 임의의 명령어를 선택하고, 선택된 명령어에 대응하는 유의 명령어를 확인할 수 있다.
이후, 프로세서(120)는 확인된 유의 명령어를 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 삽입하는 명령어 삽입 기능을 수행하여 증강 악성코드 학습 데이터를 생성할 수 있다.
이때, 프로세서(120)는 선택된 명령어의 양측 중 어느 일측에 확인된 유의 명령어를 삽입하여 증강 악성코드 학습 데이터를 생성할 수 있다.
예를 들어, 프로세서(120)는 도 7에 도시된 바와 같이, 원본 악성코드 학습 데이터의 명령어 “JP”를 선택하고, 선택된 명령어 “JP”의 양측 중 앞측에 유의 명령어 “JPE”를 삽입하여 증강 악성코드 학습 데이터를 생성할 수 있다.
도 8는 본 발명의 일 실시 예에 따른 악성코드 학습 데이터 증강 장치에 의해 명령어 순서교환 기능으로 생성되는 증강 악성코드 학습 데이터의 구성을 도시한 도면이다.
도 8을 더 참조하면, 프로세서(120)는 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 일부 명령어 간의 순서를 교환하는 명령어 순서교환 기능을 수행할 수 있다.
구체적으로, 프로세서(120)는 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 임의의 명령어 2개를 선택하고, 선택된 2개의 명령어 간에 순서를 교환하는 명령어 순서교환 기능을 수행할 수 있다.
이때, 프로세서(120)는 원본 악성코드 학습 데이터에 대해 명령어 순서교환 기능을 증강 정수만큼 수행하여 증강 악성코드 학습 데이터를 생성할 수 있다.
예를 들어, 프로세서(120)는 도 8에 도시된 바와 같이, 원본 악성코드 학습 데이터의 명령어 “ADD” 및 “OR”을 선택하고, 선택된 명령어 “ADD” 및 “OR”의 순서를 교환하여 증강 악성코드 학습 데이터를 생성할 수 있다.
도 9는 본 발명의 일 실시 예에 따른 악성코드 학습 데이터 증강 장치에 의해 명령어 삭제 기능으로 생성되는 증강 악성코드 학습 데이터의 구성을 도시한 도면이다.
도 9를 더 참조하면, 프로세서(120)는 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 일부 명령어를 삭제하는 명령어 삭제 기능을 수행할 수 있다.
구체적으로, 프로세서(120)는 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 증강 확률에 대응되는 선택 비율만큼 명령어를 선택할 수 있다.
이때, 프로세서(120)는 증강 확률과 동일한 수치로 선택 비율을 산출하고, 산출된 선택 비율만큼 명령어를 선택할 수 있다.
예를 들어, 프로세서(120)는 증강 확률이 “2%”이고, 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어가 “100개”인 경우, 선택 비율을 “2%”로 산출하여 복수의 명령어 “100개” 중에서 선택 비율 “2%”만큼인 “2개”를 선택할 수 있다.
이후, 프로세서(120)는 선택된 명령어를 삭제하는 명령어 삭제 기능을 수행하여 증강 악성코드 학습 데이터를 생성할 수 있다.
예를 들어, 프로세서(120)는 도 9에 도시된 바와 같이, 원본 악성코드 학습 데이터의 명령어 “ADD”를 선택하고, 선택된 명령어 “ADD”를 삭제하여 증강 악성코드 학습 데이터를 생성할 수 있다.
이러한, 프로세서(120)는 생성된 증강 악성코드 학습 데이터와 원본 악성코드 학습 데이터를 딥러닝 기반 악성코드 탐지 모델로 송신하도록 통신부(미도시)를 제어할 수 있다.
이를 통해, 딥러닝 기반 악성코드 탐지 모델이 악성코드 탐지 성능을 향상시키기 위해 요구되는 다량의 악성코드 학습 데이터를 확보할 수 있다.
한편, 프로세서(120)는 획득부(110) 및 저장부(130)의 작동을 제어할 수 있다.
이러한, 프로세서(120)는 하나 이상의 코어(core, 미도시) 및 그래픽 처리부(미도시) 및/또는 다른 구성 요소와 신호를 송수신하는 연결 통로(예를 들어, 버스(bus) 등)를 포함할 수 있다.
일 실시 예에 따른 프로세서(120)는 저장부(130)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 상술된 작동을 수행하도록 구성될 수 있다.
저장부(130)는 프로세서(120)의 처리 및 제어를 위한 프로그램들(하나 이상의 인스트럭션들)을 저장할 수 있다. 저장부(130)에 저장된 프로그램들은 기능에 따라 복수 개의 모듈들로 구분될 수 있다.
저장부(130)는 하드디스크드라이브(Hard Disk Drive, HDD), ROM(Read Only Memory), RAM(Random Access Memory), 플래쉬메모리(Flash Memory) 및 메모리카드(Memory Card)를 모두 포함할 수 있다.
도 10을 더 참조하면, S1 단계에서, 획득부가 악성코드 데이터를 획득할 수 있다.
이후, S2 단계에서, 프로세서가 악성코드 데이터로부터 레이블 정보 및 명령어 시퀀스 정보를 추출하여 원본 악성코드 학습 데이터를 생성할 수 있다.
이후, S3 단계에서, 프로세서가 원본 악성코드 학습 데이터에 대해 명령어 교체 기능, 명령어 삽입 기능, 명령어 순서교환 기능 및 명령어 삭제 기능 중 하나 이상을 수행하여 증강 악성코드 학습 데이터를 생성할 수 있다.
이때, S3 단계는 프로세서가 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 일부 명령어를 유의 명령어로 교체하는 명령어 교체 기능을 수행하는 단계를 포함할 수 있다.
또한, S3 단계에 포함된 명령어 교체 기능을 수행하는 단계는 프로세서가 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 증강 정수만큼의 명령어를 선택하고, 선택된 명령어에 대응하는 유의 명령어를 확인하고, 선택된 명령어를 확인된 유의 명령어로 교체하는 명령어 교체 기능을 수행하여 증강 악성코드 학습 데이터를 생성하는 단계를 포함할 수 있다.
한편, S3 단계는 프로세서가 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 유의 명령어를 삽입하는 명령어 삽입 기능을 수행하는 단계를 포함할 수 있다.
또한, S3 단계에 포함된 명령어 삽입 기능을 수행하는 단계는 프로세서가 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 임의의 명령어를 선택하고, 선택된 명령어에 대응하는 유의 명령어를 확인하고, 확인된 유의 명령어를 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 삽입하는 명령어 삽입 기능을 수행하여 증강 악성코드 학습 데이터를 생성하는 단계를 포함할 수 있다.
S3 단계는 프로세서가 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 일부 명령어 간의 순서를 교환하는 명령어 순서교환 기능을 수행하는 단계를 포함할 수 있다.
S3 단계에 포함된 명령어 순서교환 기능을 수행하는 단계는 프로세서가 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 임의의 명령어 2개를 선택하고, 선택된 2개의 명령어 간에 순서를 교환하는 명령어 순서교환 기능을 증강 정수만큼 수행하여 증강 악성코드 학습 데이터를 생성하는 단계를 포함할 수 있다.
한편, S3 단계는 증강 악성코드 학습 데이터를 생성하는 단계는 프로세서가 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 일부 명령어를 삭제하는 명령어 삭제 기능을 수행하는 단계를 포함할 수 있다.
S3 단계에 포함된 명령어 삭제 기능을 수행하는 단계는 프로세서가 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 증강 확률에 대응되는 선택 비율만큼 명령어를 선택하고, 선택된 명령어를 삭제하는 명령어 삭제 기능을 수행하여 증강 악성코드 학습 데이터를 생성하는 단계를 포함할 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
이제까지 본 발명에 대하여 바람직한 실시 예를 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 본 발명을 구현할 수 있음을 이해할 것이다. 그러므로 상기 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 한다.
이상과 같이, 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술사상과 아래에 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.
100: 악성코드 학습 데이터 증강 장치
110: 취득부
120: 프로세서
130: 저장부

Claims (11)

  1. 악성코드 데이터를 획득하는 획득부;
    상기 악성코드 데이터로부터 레이블 정보 및 명령어 시퀀스 정보를 추출하여 원본 악성코드 학습 데이터를 생성하고,
    상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 일부 명령어를 유의 명령어로 교체하는 명령어 교체 기능,
    상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 유의 명령어를 삽입하는 명령어 삽입 기능,
    상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 일부 명령어 간의 순서를 교환하는 명령어 순서교환 기능 및
    상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 일부 명령어를 삭제하는 명령어 삭제 기능 중 하나 이상을 수행하여 상기 원본 악성코드 학습 데이터로부터 증강 악성코드 학습 데이터를 생성하는 프로세서;를 포함하고,
    상기 프로세서는
    상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 증강 정수만큼의 명령어를 선택하고, 상기 증강 정수만큼 선택된 명령어에 대응하는 유의 명령어를 확인하고, 상기 증강 정수만큼 선택된 명령어를 상기 확인된 유의 명령어로 교체하는 상기 명령어 교체 기능을 수행하여 상기 증강 악성코드 학습 데이터를 생성하는 기능, 및
    상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 증강 확률에 대응되는 선택 비율만큼 명령어를 선택하고, 상기 선택 비율만큼 선택된 명령어를 삭제하는 상기 명령어 삭제 기능을 수행하여 상기 증강 악성코드 학습 데이터를 생성하는 기능 중 하나 이상을 수행하고,
    상기 증강 정수만큼 선택된 명령어에 대응하는 유의 명령어를 확인함에 있어, 상기 증강 정수만큼 선택된 명령어를 유의 명령어 사전에 검색하여, 검색된 명령어와 같은 그룹에 포함된 유의 명령어를 확인하고,
    상기 유의 명령어 사전은,
    유사한 기능을 수행하는 명령어를 동일한 그룹에 포함시킨 명령어 사전이고,
    상기 증강 정수는,
    기 설정된 증강 확률 및 명령어 길이 정보를 바탕으로 산출되는 것을 특징으로 하는
    악성코드 학습 데이터 증강 장치.
  2. 삭제
  3. 제1항에 있어서,
    상기 프로세서는
    상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 임의의 명령어를 선택하고, 상기 선택된 명령어에 대응하는 유의 명령어를 확인하고, 상기 확인된 유의 명령어를 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 삽입하는 상기 명령어 삽입 기능을 수행하여 상기 증강 악성코드 학습 데이터를 생성하는 것을 특징으로 하는
    악성코드 학습 데이터 증강 장치.
  4. 제1항에 있어서,
    상기 프로세서는
    상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 임의의 명령어 2개를 선택하고, 상기 선택된 2개의 명령어 간에 순서를 교환하는 상기 명령어 순서교환 기능을 증강 정수만큼 수행하여 상기 증강 악성코드 학습 데이터를 생성하는 것을 특징으로 하는
    악성코드 학습 데이터 증강 장치.
  5. 삭제
  6. 획득부가 악성코드 데이터를 획득하는 단계; 및
    프로세서가 상기 악성코드 데이터로부터 레이블 정보 및 명령어 시퀀스 정보를 추출하여 원본 악성코드 학습 데이터를 생성하는 단계;
    상기 프로세서가 상기 원본 악성코드 학습 데이터에 대해 명령어 교체 기능, 명령어 삽입 기능, 명령어 순서교환 기능 및 명령어 삭제 기능 중 하나 이상을 수행하여 증강 악성코드 학습 데이터를 생성하는 단계;를 포함하고,
    상기 증강 악성코드 학습 데이터를 생성하는 단계는
    상기 프로세서가 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 일부 명령어를 유의 명령어로 교체하는 명령어 교체 기능을 수행하는 단계; 및
    상기 프로세서가 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 일부 명령어를 삭제하는 명령어 삭제 기능을 수행하는 단계; 중 적어도 하나를 포함하고,
    상기 명령어 교체 기능을 수행하는 단계는
    상기 프로세서가 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 증강 정수만큼의 명령어를 선택하고, 상기 증강 정수만큼 선택된 명령어에 대응하는 유의 명령어를 확인하고, 상기 증강 정수만큼 선택된 명령어를 상기 확인된 유의 명령어로 교체하는 상기 명령어 교체 기능을 수행하여 상기 증강 악성코드 학습 데이터를 생성하는 단계;를 포함하고,
    상기 명령어 삭제 기능을 수행하는 단계는
    상기 프로세서가 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 증강 확률에 대응되는 선택 비율만큼 명령어를 선택하고, 상기 선택 비율만큼 선택된 명령어를 삭제하는 상기 명령어 삭제 기능을 수행하여 상기 증강 악성코드 학습 데이터를 생성하는 단계;를 포함하고,
    상기 증강 정수만큼 선택된 명령어를 상기 확인된 유의 명령어로 교체하는 상기 명령어 교체 기능을 수행하여 상기 증강 악성코드 학습 데이터를 생성하는 단계는,
    상기 증강 정수만큼 선택된 명령어에 대응하는 유의 명령어를 확인함에 있어, 상기 증강 정수만큼 선택된 명령어를 유의 명령어 사전에 검색하여, 검색된 명령어와 같은 그룹에 포함된 유의 명령어를 확인하고,
    상기 유의 명령어 사전은,
    유사한 기능을 수행하는 명령어를 동일한 그룹에 포함시킨 명령어 사전이고,
    상기 증강 정수는,
    기 설정된 증강 확률 및 명령어 길이 정보를 바탕으로 산출되는 것을 특징으로 하는
    악성코드 학습 데이터 증강 방법.
  7. 삭제
  8. 제6항에 있어서,
    상기 증강 악성코드 학습 데이터를 생성하는 단계는
    상기 프로세서가 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 유의 명령어를 삽입하는 명령어 삽입 기능을 수행하는 단계;를 포함하고,
    상기 명령어 삽입 기능을 수행하는 단계는
    상기 프로세서가 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 임의의 명령어를 선택하고, 상기 선택된 명령어에 대응하는 유의 명령어를 확인하고, 상기 확인된 유의 명령어를 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 삽입하는 상기 명령어 삽입 기능을 수행하여 상기 증강 악성코드 학습 데이터를 생성하는 단계;를 포함하는 것을 특징으로 하는
    악성코드 학습 데이터 증강 방법.
  9. 제6항에 있어서,
    상기 증강 악성코드 학습 데이터를 생성하는 단계는
    상기 프로세서가 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 일부 명령어 간의 순서를 교환하는 명령어 순서교환 기능을 수행하는 단계;를 포함하고,
    상기 명령어 순서교환 기능을 수행하는 단계는
    상기 프로세서가 상기 원본 악성코드 학습 데이터의 명령어 시퀀스 정보에 포함된 복수의 명령어 중에서 임의의 명령어 2개를 선택하고, 상기 선택된 2개의 명령어 간에 순서를 교환하는 상기 명령어 순서교환 기능을 증강 정수만큼 수행하여 상기 증강 악성코드 학습 데이터를 생성하는 단계;를 포함하는 것을 특징으로 하는
    악성코드 학습 데이터 증강 방법.
  10. 삭제
  11. 하드웨어인 컴퓨터와 결합되어, 제6항의 방법을 수행할 수 있도록 컴퓨터에서 독출가능한 기록매체에 저장된 컴퓨터 프로그램.
KR1020210016292A 2021-02-04 2021-02-04 악성코드 학습 데이터 증강 장치, 방법 및 프로그램 KR102499372B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210016292A KR102499372B1 (ko) 2021-02-04 2021-02-04 악성코드 학습 데이터 증강 장치, 방법 및 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210016292A KR102499372B1 (ko) 2021-02-04 2021-02-04 악성코드 학습 데이터 증강 장치, 방법 및 프로그램

Publications (2)

Publication Number Publication Date
KR20220112577A KR20220112577A (ko) 2022-08-11
KR102499372B1 true KR102499372B1 (ko) 2023-02-10

Family

ID=82803116

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210016292A KR102499372B1 (ko) 2021-02-04 2021-02-04 악성코드 학습 데이터 증강 장치, 방법 및 프로그램

Country Status (1)

Country Link
KR (1) KR102499372B1 (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101880796B1 (ko) * 2013-02-10 2018-08-17 페이팔, 인코포레이티드 예측보안 제품을 제공하고 기존의 보안제품을 평가하는 방법과 장치
KR20200129353A (ko) * 2019-05-08 2020-11-18 한국전력공사 유사 악성코드 생성 방법 및 이를 이용한 악성코드 탐지 성능 향상 방법

Also Published As

Publication number Publication date
KR20220112577A (ko) 2022-08-11

Similar Documents

Publication Publication Date Title
Pal et al. The evolution of file carving
US10620945B2 (en) API specification generation
CN108920954B (zh) 一种恶意代码自动化检测平台及方法
Walls et al. Forensic Triage for Mobile Phones with {DEC0DE}
CN105718795B (zh) Linux下基于特征码的恶意代码取证方法及系统
RU2728498C1 (ru) Способ и система определения принадлежности программного обеспечения по его исходному коду
RU2728497C1 (ru) Способ и система определения принадлежности программного обеспечения по его машинному коду
CN107315956A (zh) 一种用于快速准确检测零日恶意软件的图论方法
CN116366377B (zh) 恶意文件检测方法、装置、设备及存储介质
KR102302484B1 (ko) 특성 선택에 기반한 모바일 악성 코드 분류 방법, 이를 수행하기 위한 기록 매체 및 장치
CN113297580A (zh) 基于代码语义分析的电力信息系统安全防护方法及装置
NL2029433B1 (en) Method and system for clustering executable files
CN112287645B (zh) 一种基于生成式对抗网络的恶意pdf文档生成方法
KR101749210B1 (ko) 다중 서열 정렬 기법을 이용한 악성코드 패밀리 시그니쳐 생성 장치 및 방법
KR20180133726A (ko) 특징 벡터를 이용하여 데이터를 분류하는 장치 및 방법
KR102499372B1 (ko) 악성코드 학습 데이터 증강 장치, 방법 및 프로그램
CN117940894A (zh) 用于检测代码克隆的系统和方法
CN116055067B (zh) 一种弱口令检测的方法、装置、电子设备及介质
KR102246405B1 (ko) Tf-idf 기반 벡터 변환 및 데이터 분석 장치 및 방법
CN111104674A (zh) 一种电力固件同源二进制文件关联方法及系统
CN110399729A (zh) 一种基于组件特征权重的二进制软件分析方法
Zhang et al. A program plagiarism detection model based on information distance and clustering
KR102434899B1 (ko) 악성코드 탐지모델 학습방법 및 악성코드 탐지방법
RU2498401C2 (ru) Способ обнаружения текстовых объектов
KR101645412B1 (ko) 악성파일진단장치 및 악성파일진단장치의 진단 방법

Legal Events

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