KR20220032730A - 그래프 임베딩과 인간참여 방식을 통한 악성코드 제작그룹 식별 방법 - Google Patents

그래프 임베딩과 인간참여 방식을 통한 악성코드 제작그룹 식별 방법 Download PDF

Info

Publication number
KR20220032730A
KR20220032730A KR1020200114426A KR20200114426A KR20220032730A KR 20220032730 A KR20220032730 A KR 20220032730A KR 1020200114426 A KR1020200114426 A KR 1020200114426A KR 20200114426 A KR20200114426 A KR 20200114426A KR 20220032730 A KR20220032730 A KR 20220032730A
Authority
KR
South Korea
Prior art keywords
malicious code
production group
malicious
target
identifying
Prior art date
Application number
KR1020200114426A
Other languages
English (en)
Other versions
KR102490369B1 (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 KR1020200114426A priority Critical patent/KR102490369B1/ko
Publication of KR20220032730A publication Critical patent/KR20220032730A/ko
Application granted granted Critical
Publication of KR102490369B1 publication Critical patent/KR102490369B1/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/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

그래프 임베딩과 인간참여 방식을 통한 악성코드 제작그룹 식별 방법이 개시된다. 일 실시예에 따른 악성코드 제작그룹 식별 시스템에 의해 수행되는 악성코드 제작그룹 식별 방법은, 그래프 임베딩 기술을 이용하여 악성코드들을 다차원 공간 상의 벡터들로 표현하는 단계; 상기 표현된 벡터들의 데이터 분석을 통하여 분류 진행 여부 기준을 설정하는 단계; 및 상기 설정된 분류 진행 여부 기준에 기초하여 타겟 악성코드에 대한 악성코드 제작그룹을 식별하는 단계를 포함할 수 있다.

Description

그래프 임베딩과 인간참여 방식을 통한 악성코드 제작그룹 식별 방법{ON IDENTIFYING THE AUTHOR GROUP OF MALWARES VIA GRAPH EMBEDDING AND HUMAN-IN-LOOP APPROACHES}
아래의 설명은 악성코드 제작그룹을 식별하는 기술에 관한 것이다.
딥 러닝을 사용한 악성코드 제작그룹 분류 모델의 경우 분류하고자 하는 악성코드의 특징이 제작그룹을 판별할 수 있을 정도로 잘 드러나지 않아 정확한 분류가 어려움에도 불구하고 분류를 진행하여 잘못된 분류를 할 확률이 높고, 이에 따라 잘못된 대처를 할 가능성 또한 높아진다.
참고로, 한국공개특허 제10-2018-0107932호는 소프트웨어 정의 네트워크에서의 악성 프로그램 탐지 기술에 관한 것으로, 소프트웨어 정의 네트워크에서 발생하는 대상 네트워크 프로그램의 소스 코드를 분석하여 보안성 연관 API(Application Programming Interface)를 도출하고, 도출된 보안성 연관 API로부터 대상 네트워크 프로그램의 행위 그래프를 도출하고, 도출된 행위 그래프로부터 대상 네트워크 프로그램을 특징화하고, 기계 학습(machine learning)이 적용된 대상 네트워크 프로그램을 클러스터링(Clustering)하여 악성 여부를 판단하는 구성을 개시하고 있다.
기계학습 기반 악성코드 제작그룹 분류 모델의 무조건적인 분류 진행 문제를 해결하는 방법 및 시스템을 제공할 수 있다.
구체적으로, 그래프 임베딩 기술로 악성코드를 다차원 공간상의 벡터로 표현하여 악성코드들 사이의 유사도를 손쉽게 계산할 수 있게 전처리를 진행하고, 데이터 분석 기반 분류 진행 여부 기준을 설정하여 기준에 미달한 분류 샘플에 대해서 시각화 자료를 제공하여 분류함으로써 악성코드에 대한 제작그룹 분류의 실패 확률을 최소화하는 방법 및 시스템을 제공할 수 있다.
악성코드 제작그룹 식별 시스템에 의해 수행되는 악성코드 제작그룹 식별 방법은, 그래프 임베딩 기술을 이용하여 악성코드들을 다차원 공간 상의 벡터들로 표현하는 단계; 상기 표현된 벡터들의 데이터 분석을 통하여 분류 진행 여부 기준을 설정하는 단계; 및 상기 설정된 분류 진행 여부 기준에 기초하여 타겟 악성코드에 대한 악성코드 제작그룹을 식별하는 단계를 포함할 수 있다.
상기 벡터로 표현하는 단계는, 악성코드의 제작그룹을 예측하기 위한 악성코드 데이터 셋을 구성하는 데이터들을 각각 정점, 데이터 사이의 상관관계를 간선으로 연결하여 그래프를 구축하는 단계를 포함하고, 상기 악성코드 데이터 셋은, 복수 개의 악성코드 제작그룹, 각 제작그룹별 악성코드의 식별코드, 각 악성코드에서 발견된 정적 특징과 동적 특징을 포함할 수 있다.
상기 분류 진행 여부 기준을 설정하는 단계는, 악성코드의 제작그룹을 예측하기 위한 악성코드 데이터 셋에 포함된 제작그룹 별로 악성코드들을 분류함에 따라 동일한 제작그룹에 포함된 악성코드들의 거리 데이터를 제작그룹 별로 수집하고, 상기 제작그룹 별로 수집된 거리 데이터에 기초하여 상자 그림(box plot)을 생성하고, 상기 생성된 상자 그림을 통해 사분 범위(IQR)을 계산하여 거리 분포에 따른 제작그룹 별 극단값(outliers)을 표시하는 단계를 포함할 수 있다.
상기 타겟 악성코드에 대한 악성코드 제작그룹을 식별하는 단계는, 상기 설정된 분류 진행 여부 기준에 포함된 제작그룹 별 극단값을 기준으로 상기 타겟 악성코드를 상기 타겟 악성코드와 가장 가까운 악성코드의 제작그룹으로 분류할 것인지 여부를 결정하는 단계를 포함할 수 있다.
상기 타겟 악성코드에 대한 악성코드 제작그룹을 식별하는 단계는, 상기 타겟 악성코드가 상기 제작그룹 별 극단값을 만족하지 못할 경우, 상기 타겟 악성코드와 가장 가까운 제작그룹의 악성코드와의 거리 데이터와 두 번째로 가까운 제작그룹 악성코드와의 거리 데이터의 비율이 기 지정된 값보다 큰 지 여부를 판단하는 단계를 포함할 수 있다.
상기 타겟 악성코드에 대한 악성코드 제작그룹을 식별하는 단계는, 상기 타겟 악성코드와 가장 가까운 제작그룹의 악성코드와의 거리 데이터와 두 번째로 가까운 제작그룹 악성코드와의 거리 데이터의 비율이 기 지정된 값보다 클 경우, 상기 타겟 악성코드에 대한 악성코드 제작그룹 분류를 진행하는 단계를 포함할 수 있다.
악성코드 제작그룹 식별 시스템은, 그래프 임베딩 기술을 이용하여 악성코드들을 다차원 공간 상의 벡터들로 표현하는 악성코드 임베딩부; 상기 표현된 벡터들의 데이터 분석을 통하여 분류 진행 여부 기준을 설정하는 기준 설정부; 및 상기 설정된 분류 진행 여부 여부에 기초하여 타겟 악성코드에 대한 악성코드 제작그룹을 식별하는 제작그룹 식별부를 포함할 수 있다.
데이터 분석에 기반하여 마련한 기준을 통해 악성코드들에 대한 무조건적인 제작그룹 분류 진행을 방지하고 정확한 분류가 어려운 악성코드들에 대해서는 시각화 자료를 참고하여 분류하도록 함으로써 악성코드에 대한 악성코드 제작그룹 분류의 정확도를 향상시킬 수 있다.
도 1은 일 실시예에 따른 악성코드 제작그룹 식별 시스템에서 악성코드 특징에 기반하여 그래프를 구성하는 동작을 설명하기 위한 예이다.
도 2는 일 실시예에 따른 악성코드 제작그룹 식별 시스템에서 제작그룹을 분류하기 위한 기준 정보를 설정하는 동작을 설명하기 위한 예이다.
도 3은 일 실시예에 따른 악성코드 제작그룹 식별 시스템에서 악성코드의 제작그룹을 상자 그림으로 나타낸 예이다.
도 4는 일 실시예에 따른 악성코드 제작그룹 식별 시스템의 구성을 설명하기 위한 블록도이다.
도 5는 일 실시예에 따른 악성코드 제작그룹 식별 시스템에서 악성코드 제작그룹을 식별하는 방법을 설명하기 위한 흐름도이다.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
도 1은 일 실시예에 따른 악성코드 제작그룹 식별 시스템에서 악성코드 특징에 기반하여 그래프를 구성하는 동작을 설명하기 위한 예이다.
악성코드 제작그룹 식별 시스템은 악성코드 임베딩을 수행할 수 있다. 악성코드 제작그룹 식별 시스템은 악성코드들을 다차원 공간상의 벡터로 표현하여 벡터 연산으로 악성코드들 사이의 유사도를 도출할 수 있다. 일례로, 악성코드 제작그룹 식별 시스템은 미분류된 악성코드의 제작그룹을 예측하기 위해 먼저 데이터 셋(악성코드 데이터 셋)을 훈련 데이터로 사용하여 악성코드 임베딩 모델을 구축할 수 있고, 구축된 악성코드 임베딩 모델을 통해 공유된 잠재공간에서 서로 가까운 동일한 제작그룹의 악성코드를 찾아낼 수 있다. 악성코드 제작그룹 식별 시스템은 악성코드 부분과 악성코드 노드가 추출된 특징 노드에 연결되는 특징 부분으로 구성된 이분 그래프를 구축할 수 있다. 악성코드 노드는 서로 연결되어 있지 않고 공유 특징 노드를 통해 간접적으로 연결될 수 있다. 도 1을 참고하면, 악성코드 특징인 이분 그래프의 예를 나타낸 것이다. 이를 통해 그래프 토폴로지는 다음과 같은 풍부한 정보를 제공할 수 있다. 유사한 악성코드 쌍은 공통 특징을 공유하므로, 서로 다른 여러 개의 짧은 경로를 통해 그래프 토폴로지에서 가까워진다. 반면에 서로 다른 악성코드 쌍은 상대적으로 긴 경로만 가지고 있거나 심지어 경로가 전혀 없다. 악성코드 제작그룹 식별 시스템은 각 악성코드(노드)를 이분 그래프를 기반으로 하는 잠재적 공간에 임베딩할 수 있다. 실시예에서는 그래프의 풍부한 연결 정보를 활용하기 위하여 그래프 임베딩 기술인 DeepWalk를 활용하는 것을 예를 들어 설명하기로 한다. 이때, 그래프 임베딩 기술은 DeepWalk 이외에도 다양한 방법이 적용될 수 있다.
DeepWalk는 그래프에서 악성코드에 대한 표현을 학습하기 위해 사용될 수 있다. DeepWalk는 먼저 각 노드(악성코드)에서 무작위 보행(라 함)을 여러 번 수행하여 경로 집합을 구축하는데, 여기서 각 경로는 미리 정의된 길이(이라 함)의 노드 시퀀스에 해당한다. 그런 다음, 경로의 인접 노드가 비슷하고 유사한 임베딩이 있어야 한다는 가정에 따라 임베딩을 학습한다. 공식적으로, 목적함수는 다음과 같이 작성될 수 있다.
수학식 1:
Figure pat00001
여기서,
Figure pat00002
은 어떤 경로에서 윈도우 크기 내에 나타나는 특정 악성코드 vi 주변의 악성코드 사이의 공존 발생 확률을 나타낸다.
Figure pat00003
은 주어진 악성코드를 z차원 잠재공간에 투영하는 매핑 함수이다. 목적함수를 최적화함으로써,
Figure pat00004
는 주어진 악성코드를 토폴로지적으로 유사한 악성코드가 공유 잠재공간에서 서로 가까이 위치하도록 임베딩하는 방법을 학습한다.
다시 말해서, 악성코드 제작그룹 식별 시스템은 그래프 임베딩 기술을 적용하기 위한 전처리 데이터셋을 구성하는 데이터를 각각 정점, 데이터 사이의 상관관계를 간선으로 이은 그래프를 구축할 수 있다. 예를 들면, 데이터 셋은 복수 개(예를 들면, 5개)의 악성코드 제작그룹과 각 제작그룹별 악성코드의 식별코드, 그리고 각 악성코드에서 발견한 정적 특징 및 동적 특징들이 기록되어 있을 수 있다. 악성코드 제작그룹 식별 시스템은 구축한 그래프에 그래프 임베딩 기술을 적용하여 각 악성코드들을 다차원 공간의 벡터로 표현할 수 있다. 서로 비슷한 특징을 공유하는 악성코드들을 다차원 공간에서도 가까운 거리에 위치하게 된다. 그래프 임베딩의 특성에 따른 결과로 다차원 공간상에서 가까운 거리에 있는 악성코드들은 서로 동일한 악성코드 제작그룹에 포함될 확률이 높다. 벡터로 표현된 악성코드들의 유사도에 기반하여 제작그룹을 모르는 타겟 악성코드에 대하여 타겟 악성코드 주변에서 가장 가까운 악성코드의 제작그룹으로 분류가 진행될 수 있다.
예를 들면, 악성코드 제작그룹 식별 시스템은 미분류된 악성코드뿐만 아니라 학습 데이터에 악성 프로그램을 임베딩한 후, k-Nearest Neighbors(kNN) 분류기를 기반으로 타겟 악성코드의 제작그룹을 예측할 수 있다. 이때, 대상 악성코드에 가장 가까운 상위 1개 이웃을 찾아 선택한 이웃의 제작그룹을 타겟 악성코드의 제작그룹으로 간주할 수 있다. 여기서 k를 1로 설정한 것은 복수의 악성코드가 아닌 '단일' 기존 악성코드를 참고하여 새로운 악성코드를 생성할 수 있다고 가정하기 때문이다.
실시예에서 타겟 악성코드와 타겟 악성코드에서 선택된 가장 가까운 이웃을 각각 vt와 v1로 표시하기로 한다. 또한 vt와 v1 사이의 거리를 dt,1로 나타내기로 한다.
도 2는 일 실시예에 따른 악성코드 제작그룹 식별 시스템에서 제작그룹을 분류하기 위한 기준 정보를 설정하는 동작을 설명하기 위한 예이다.
악성코드 제작그룹 식별 시스템은 데이터 분석을 통한 분류 진행 여부 기준을 설정할 수 있다. 악성코드 제작그룹 식별 시스템은 그래프 임베딩의 결과로 획득된 악성코드들의 벡터들을 활용하여 분류 진행 여부 기준을 설정할 수 있다. 일례로, 데이터 분석을 통해 제작그룹을 모르는 타겟 악성코드의 제작그룹을 타겟 악성코드 주변에서 가장 가까운 악성코드의 제작그룹으로 분류하는 것은 효과가 있지만, 모든 악성코드에 대하여 적용이 불가능할 수 있다. 이에, 주변에서 가장 가까운 악성코드의 제작그룹으로 분류를 진행할 경우, 타겟 악성코드와 가장 가깝더라도 거리가 멀다면 잘못된 악성코드 제작그룹으로 분류하게 되는 경우가 발생될 수 있다. 이에 따라, 일정한 기준을 설정하여 가장 가까운 악성코드 제작그룹과의 거리가 기준을 충족할 때에만 분류가 진행될 수 있다.
악성코드 제작그룹 식별 시스템은 제작그룹을 알고 있는 학습 데이터들을 제작그룹 별로 구분할 수 있다. 악성코드 제작그룹 식별 시스템은 동일한 제작그룹에 포함된 악성코드들이 가장 가까운 악성코드와의 거리가 얼마나 되는지 알아보기 위해 동일한 제작그룹으로 구분한 각 악성코드 별로 가장 가까운 악성코드를 탐색하고, 탐색을 통하여 획득된 거리 데이터를 제작그룹 별로 수집할 수 있다.
도 2(a)는 타겟 악성코드와 가장 가까운 하나의 악성코드가 아니라 타겟 악성코드와 거의 동일한 거리에 있는 서로 다른 제작그룹의 악성코드를 나타낸 것이고, 도 2(b)는 타겟 악성코드의 인접 항목으로 간주될 만큼 가까운 악성코드가 존재하지 않는 상황을 나타낸 것이다. 이러한 타겟 악성코드를 분류하기 위한 분류 진행 여부 기준으로 두 가지 지표(절대적 가까움 기준 (absolute closeness) 및 상대적 가까움 기준(relative closeness))을 고려하기로 한다.
악성코드 제작그룹 식별 시스템은 제작그룹 별로 수집한 거리 데이터들을 이용하여 상자 그림(box plot)을 그릴 수 있다. 악성코드 제작그룹 식별 시스템은 상자 그림을 통해 악성코드 제작그룹에서 보일 수 있는 거리의 극단값(outliers) 기준을 확인할 수 있다. 악성코드 제작그룹 식별 시스템은 상자 그림을 통해 알 수 있는 극단값을 기준으로, 제작그룹을 모르는 타겟 악성코드를 가장 가까운 악성코드 제작그룹으로 분류할 것인지 여부를 결정할 수 있다. 이때, 극단값은 악성코드 제작그룹 별로 정해져 있고, 변하지 않으므로 거리의 절대적 가까움 기준(absolute closeness)으로 사용할 수 있다. 또한, 극단값을 만족하지 못하더라도, 악성코드 제작그룹을 모르는 악성코드와 각 악성코드 제작그룹 별로 가장 가까운 악성코드들과의 거리를 고려할 때, 가장 가까운 제작그룹 악성코드와 두 번째로 가까운 제작그룹 악성코드와의 거리 비율이 사전에 설정한 값보다 크다면, 다른 제작그룹의 악성코드들과 비교했을 때 의미있게 가까운 것으로 판단하여 분류를 진행할 수 있다. 이때, 두 거리 비율에 대한 기준을 상대적 가까움 기준(relative closeness)으로 사용할 수 있다.
악성코드 제작그룹 식별 시스템은 절대적 가까움 기준을 만족하는 타겟 악성코드를 제일 가까운 악성코드의 제작그룹으로 분류하고, 절대적 가까움 기준으로 만족하지 못하더라도 상대적 가까움 기준을 만족할 경우, 제일 가까운 악성코드의 제작그룹으로 분류할 수 있다. 다시 말해서, 악성코드 제작그룹 식별 시스템은 절대적 가까움 기준과 상대적 가까움 기준을 모두 만족하지 못하는 타겟 악성코드를 제일 가까운 악성코드의 제작그룹으로의 분류를 보류할 수 있다. 악성코드 제작그룹 식별 시스템은 절대적 가까움 기준 및 상대적 가까움 기준을 통해 악성코드 제작그룹 분류 모델의 무조건적인 분류 진행을 방지할 수 있다.
일례로, 절대적 가까움 기준은 타겟 악성코드 vt와 타겟 악성코드에서 선택된 가장 가까운 이웃 v1이 이웃으로 간주될 수 있을 정도로 가까운 거리인 지 거리 데이터 dt,1가 판단될 수 있다. 우선, 타겟 악성코드에서 선택된 가장 가까운 이웃 v1의 제작그룹에 속하는 악성코드 간의 거리 분포가 계산될 수 있다. 여기서는 제작그룹의 악성코드와 가장 가까운 이웃 간의 거리 데이터만 고려하기로 한다. 그런 다음 박스 플롯 분석에서 잘 알려진 사분 범위(IQR)를 계산하여 거리 분포에 따른 극단값(outlier)인지 여부가 평가될 수 있다. 둘째, 상대적 가까움 기준은 대상 악성코드와 두 번째로 가까운 이웃 v2 사이의 거리 데이터 dt,2 차이가 측정될 수 있다. 가장 가까운 이웃 v1과 두 번째로 가까운 이웃 v2는 서로 다른 제작그룹에서 선택되어야 한다. 이때, 형식적으로 하이퍼파라미터
Figure pat00005
를 채택하여 상대적 가까움이 평가될 수 있다. 만약,
Figure pat00006
이면 dt,1은 상대적 가까움 기준을 만족시키는 것으로 판단될 수 있다. 악성코드 제작그룹 식별 시스템은 타겟 악성코드 vt가 절대적 가까움 기준을 만족하는지 먼저 검증한 후, 타겟 악성코드 vt 가 절대적 가까움 기준을 만족하지 않는다면, 타겟 악성코드 vt가 상대적 가까움 기준을 만족하는지 판단할 수 있다.
도 3은 일 실시예에 따른 악성코드 제작그룹 식별 시스템에서 악성코드의 제작그룹을 상자 그림으로 나타낸 예이다.
악성코드 제작그룹 식별 시스템은 분류 진행 여부 기준을 만족하지 못한 악성코드들과 제작그룹 별로 가장 가까운 악성코드와의 거리가 표시된 상자그림을 함께 표시할 수 있다. 도 3을 참고하면, 시각화 자료로 제공된 상자 그림을 나타낸 예이다. 상자 그림을 포함하는 시각화 자료에서 x축은 각 제작그룹, y축은 동일한 제작그룹에서 모든 악성코드와 가장 가까운 이웃 사이의 거리 분포를 나타내는 시각화 결과의 예를 나타낸다. 제작그룹 별로 그린 상자 그림에 최대값, 최소값, 중앙값, 사분편차 등과 같은 주요 통계값들이 표현될 수 있다. 상자 그림은 극단값이 각각 검은색 점으로 표시되는 거리 분포를 나타내고, 빨간색 점은 각 제작그룹에서 선택한 타겟 악성코드의 가장 가까운 상위 3개의 이웃을 나타낸 것이다. 예를 들면, 상자 그림으로 분류한 시각화 결과를 통해 타겟 악성코드가 다른 그룹보다 그룹 A의 3NN과 거리가 훨씬 작다는 것을 확인할 수 있어, 타겟 악성코드를 그룹 A로 쉽고 빠르게 분류할 수 있다.
더 나아가, 추가적으로, 사용자의 참여 방식을 통한 악성코드 제작그룹이 분류될 수도 있다. 이에, 사용자로부터 제작그룹 간의 상자 그림 비교 및 통계값이 참고되어 악성코드에 대한 제작그룹이 분류될 수 있다. 또한, 사용자에 의하여 분류가 포기된 소수의 악성코드들이 보안전문가에게 맡겨질 수 있고, 보안전문가에 의하여 심층 분석이 수행됨으로써 잘못 분류되어 잘못된 대응을 하게 되는 경우를 방지할 수 있다. 또는, 악성코드 제작그룹 식별 시스템은 시스템에서 분류가 보류된 악성코드들과 관련된 시각화 자료를 사용자 또는 보안전문가에게 전달하여, 사용자 또는 보안전문가에 의하여 수동적으로 악성코드들의 제작그룹이 분류됨을 수신할 수 있다. 악성코드 제작그룹 식별 시스템은 사용자 또는 보안 전문가에 의하여 수동적으로 분류된 악성코드들의 제작그룹 정보를 수신할 수 있고, 수신된 제작그룹 정보를 보류된 악성코드들의 제작그룹 분류에 반영할 수 있다.
도 4는 일 실시예에 따른 악성코드 제작그룹 식별 시스템의 구성을 설명하기 위한 블록도이고, 도 5는 일 실시예에 따른 악성코드 제작그룹 식별 시스템에서 악성코드 제작그룹을 식별하는 방법을 설명하기 위한 흐름도이다.
악성코드 제작그룹 식별 시스템(100)의 프로세서는 악성코드 임베딩부(410), 기준 설정부(420) 및 제작그룹 식별부(430)를 포함할 수 있다. 이러한 프로세서의 구성요소들은 악성코드 제작그룹 식별 시스템에 저장된 프로그램 코드가 제공하는 제어 명령에 따라 프로세서에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. 프로세서 및 프로세서의 구성요소들은 도 5의 악성코드 제작그룹 식별 방법이 포함하는 단계들(510 내지 530)을 수행하도록 악성코드 제작그룹 식별 시스템을 제어할 수 있다. 이때, 프로세서 및 프로세서의 구성요소들은 메모리가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다.
프로세서는 악성코드 제작그룹 식별 방법을 위한 프로그램의 파일에 저장된 프로그램 코드를 메모리에 로딩할 수 있다. 예를 들면, 악성코드 제작그룹 식별 시스템에서 프로그램이 실행되면, 프로세서는 운영체제의 제어에 따라 프로그램의 파일로부터 프로그램 코드를 메모리에 로딩하도록 악성코드 제작그룹 식별 시스템을 제어할 수 있다. 이때, 프로세서 및 프로세서가 포함하는 악성코드 임베딩부(410), 기준 설정부(420) 및 제작그룹 식별부(430) 각각은 메모리에 로딩된 프로그램 코드 중 대응하는 부분의 명령을 실행하여 이후 단계들(510 내지 530)을 실행하기 위한 프로세서의 서로 다른 기능적 표현들일 수 있다.
단계(510)에서 악성코드 임베딩부(410)는 그래프 임베딩 기술을 이용하여 악성코드들을 다차원 공간 상의 벡터들로 표현할 수 있다. 악성코드 임베딩부(410)는 악성코드의 제작그룹을 예측하기 위한 악성코드 데이터 셋을 구성하는 데이터들을 각각 정점, 데이터 사이의 상관관계를 간선으로 연결하여 그래프를 구축할 수 있다. 이때, 악성코드 데이터 셋은, 복수 개의 악성코드 제작그룹, 각 제작그룹별 악성코드의 식별코드, 각 악성코드에서 발견된 정적 특징과 동적 특징을 포함할 수 있다.
단계(520)에서 기준 설정부(420)는 표현된 벡터들의 데이터 분석을 통하여 분류 진행 여부 기준을 설정할 수 있다. 기준 설정부(420)는 악성코드의 제작그룹을 예측하기 위한 악성코드 데이터 셋에 포함된 제작그룹 별로 악성코드들을 분류함에 따라 동일한 제작그룹에 포함된 악성코드들의 거리 데이터를 제작그룹 별로 수집하고, 제작그룹 별로 수집된 거리 데이터에 기초하여 상자 그림(box plot)을 생성하고, 생성된 상자 그림을 통해 사분 범위(IQR)을 계산하여 거리 분포에 따른 제작그룹 별 극단값(outliers)을 표시할 수 있다.
단계(430)에서 제작그룹 식별부(430)는 설정된 분류 진행 여부 기준에 기초하여 타겟 악성코드에 대한 악성코드 제작그룹을 식별할 수 있다. 제작그룹 식별부(430)는 설정된 분류 진행 여부 기준에 포함된 제작그룹 별 극단값을 기준으로 타겟 악성코드를 타겟 악성코드와 가장 가까운 악성코드의 제작그룹으로 분류할 것인지 여부를 결정할 수 있다. 제작그룹 식별부(430)는 타겟 악성코드가 제작그룹 별 극단값을 만족하지 못할 경우, 타겟 악성코드와 가장 가까운 제작그룹의 악성코드와의 거리 데이터와 두 번째로 가까운 제작그룹 악성코드와의 거리 데이터의 비율이 기 지정된 값보다 큰 지 여부를 판단할 수 있다. 제작그룹 식별부(430)는 타겟 악성코드와 가장 가까운 제작그룹의 악성코드와의 거리 데이터와 두 번째로 가까운 제작그룹 악성코드와의 거리 데이터의 비율이 기 지정된 값보다 클 경우, 타겟 악성코드에 대한 악성코드 제작그룹 분류를 진행할 수 있다.
일 실시예에 따르면, 악성코드 제작그룹 식별 시스템은 악성코드가 탐지 되었을 때 악성코드의 제작그룹에 맞는 대응을 위해 신속한 제작그룹 분류가 필요한 보안 서비스에 적용할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (7)

  1. 악성코드 제작그룹 식별 시스템에 의해 수행되는 악성코드 제작그룹 식별 방법에 있어서,
    그래프 임베딩 기술을 이용하여 악성코드들을 다차원 공간 상의 벡터들로 표현하는 단계;
    상기 표현된 벡터들의 데이터 분석을 통하여 분류 진행 여부 기준을 설정하는 단계; 및
    상기 설정된 분류 진행 여부 여부에 기초하여 타겟 악성코드에 대한 악성코드 제작그룹을 식별하는 단계
    를 포함하는 악성코드 제작 그룹식별 방법.
  2. 제1항에 있어서,
    상기 벡터로 표현하는 단계는,
    악성코드의 제작그룹을 예측하기 위한 악성코드 데이터 셋을 구성하는 데이터들을 각각 정점, 데이터 사이의 상관관계를 간선으로 연결하여 그래프를 구축하는 단계
    를 포함하고,
    상기 악성코드 데이터 셋은, 복수 개의 악성코드 제작그룹, 각 제작그룹별 악성코드의 식별코드, 각 악성코드에서 발견된 정적 특징과 동적 특징을 포함하는
    것을 특징으로 하는 악성코드 제작그룹 식별 방법.
  3. 제1항에 있어서,
    상기 분류 진행 여부 기준을 설정하는 단계는,
    악성코드의 제작그룹을 예측하기 위한 악성코드 데이터 셋에 포함된 제작그룹 별로 악성코드들을 분류함에 따라 동일한 제작그룹에 포함된 악성코드들의 거리 데이터를 제작그룹 별로 수집하고, 상기 제작그룹 별로 수집된 거리 데이터에 기초하여 상자 그림(box plot)을 생성하고, 상기 생성된 상자 그림을 통해 사분 범위(IQR)을 계산하여 거리 분포에 따른 제작그룹 별 극단값(outliers)을 표시하는 단계
    를 포함하는 악성코드 제작그룹 식별 방법.
  4. 제1항에 있어서,
    상기 타겟 악성코드에 대한 악성코드 제작그룹을 식별하는 단계는,
    상기 설정된 분류 진행 여부 기준에 포함된 제작그룹 별 극단값을 기준으로 상기 타겟 악성코드를 상기 타겟 악성코드와 가장 가까운 악성코드의 제작그룹으로 분류할 것인지 여부를 결정하는 단계
    를 포함하는 악성코드 제작그룹 식별 방법.
  5. 제4항에 있어서,
    상기 타겟 악성코드에 대한 악성코드 제작그룹을 식별하는 단계는,
    상기 타겟 악성코드가 상기 제작그룹 별 극단값을 만족하지 못할 경우, 상기 타겟 악성코드와 가장 가까운 제작그룹의 악성코드와의 거리 데이터와 두 번째로 가까운 제작그룹 악성코드와의 거리 데이터의 비율이 기 지정된 값보다 큰 지 여부를 판단하는 단계
    를 포함하는 악성코드 제작그룹 식별 방법.
  6. 제5항에 있어서,
    상기 타겟 악성코드에 대한 악성코드 제작그룹을 식별하는 단계는,
    상기 타겟 악성코드와 가장 가까운 제작그룹의 악성코드와의 거리 데이터와 두 번째로 가까운 제작그룹 악성코드와의 거리 데이터의 비율이 기 지정된 값보다 클 경우, 상기 타겟 악성코드에 대한 악성코드 제작그룹 분류를 진행하는 단계
    를 포함하는 악성코드 제작그룹 식별 방법.
  7. 악성코드 제작그룹 식별 시스템에 있어서,
    그래프 임베딩 기술을 이용하여 악성코드들을 다차원 공간 상의 벡터들로 표현하는 악성코드 임베딩부;
    상기 표현된 벡터들의 데이터 분석을 통하여 분류 진행 여부 기준을 설정하는 기준 설정부; 및
    상기 설정된 분류 진행 여부 여부에 기초하여 타겟 악성코드에 대한 악성코드 제작그룹을 식별하는 제작그룹 식별부
    를 포함하는 악성코드 제작그룹 식별 시스템.
KR1020200114426A 2020-09-08 2020-09-08 그래프 임베딩과 인간참여 방식을 통한 악성코드 제작그룹 식별 방법 KR102490369B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200114426A KR102490369B1 (ko) 2020-09-08 2020-09-08 그래프 임베딩과 인간참여 방식을 통한 악성코드 제작그룹 식별 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200114426A KR102490369B1 (ko) 2020-09-08 2020-09-08 그래프 임베딩과 인간참여 방식을 통한 악성코드 제작그룹 식별 방법

Publications (2)

Publication Number Publication Date
KR20220032730A true KR20220032730A (ko) 2022-03-15
KR102490369B1 KR102490369B1 (ko) 2023-01-19

Family

ID=80816953

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200114426A KR102490369B1 (ko) 2020-09-08 2020-09-08 그래프 임베딩과 인간참여 방식을 통한 악성코드 제작그룹 식별 방법

Country Status (1)

Country Link
KR (1) KR102490369B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116781418A (zh) * 2023-08-16 2023-09-19 南京邮电大学 一种基于神经网络和svm的sdn恶意控制器检测方法
KR20230155943A (ko) 2022-05-04 2023-11-13 삼성에스디에스 주식회사 그래프 임베딩 방법 및 그 시스템
KR20240016085A (ko) 2022-07-28 2024-02-06 주식회사 에프원시큐리티 Ai 기반 악성코드 탐지, 분석 및 검증 방법
KR20240071700A (ko) 2022-11-16 2024-05-23 삼성에스디에스 주식회사 그래프 처리 방법 및 그 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160028724A (ko) * 2014-09-04 2016-03-14 한국전자통신연구원 악성코드 특징 정보 기반의 유사 악성코드 검색 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160028724A (ko) * 2014-09-04 2016-03-14 한국전자통신연구원 악성코드 특징 정보 기반의 유사 악성코드 검색 장치 및 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Haodi Jiang et al., "DLGraph: Malware Detection Using Deep Learning and Graph Embedding", 2018 17th IEEE International Conference on Machine Learning and Applications(2019.01.)* *
Wei Long Song, "A Framework for Automated Similarity Analysis of Malware"(2014.09.)* *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230155943A (ko) 2022-05-04 2023-11-13 삼성에스디에스 주식회사 그래프 임베딩 방법 및 그 시스템
KR20240016085A (ko) 2022-07-28 2024-02-06 주식회사 에프원시큐리티 Ai 기반 악성코드 탐지, 분석 및 검증 방법
KR20240071700A (ko) 2022-11-16 2024-05-23 삼성에스디에스 주식회사 그래프 처리 방법 및 그 시스템
CN116781418A (zh) * 2023-08-16 2023-09-19 南京邮电大学 一种基于神经网络和svm的sdn恶意控制器检测方法
CN116781418B (zh) * 2023-08-16 2023-10-31 南京邮电大学 一种基于神经网络和svm的sdn恶意控制器检测方法

Also Published As

Publication number Publication date
KR102490369B1 (ko) 2023-01-19

Similar Documents

Publication Publication Date Title
KR102490369B1 (ko) 그래프 임베딩과 인간참여 방식을 통한 악성코드 제작그룹 식별 방법
Jordaney et al. Transcend: Detecting concept drift in malware classification models
US11361197B2 (en) Anomaly detection in time-series data using state inference and machine learning
EP3786855A1 (en) Automated data processing and machine learning model generation
US10586044B2 (en) Abnormal behavior detection model building apparatus and abnormal behavior detection model building method thereof
US20180278635A1 (en) Apparatus, method, and computer program for detecting malware in software defined network
US20180314617A1 (en) Methods to Associate Workloads to Optimal System Settings
US20130120280A1 (en) System and Method for Evaluating Interoperability of Gesture Recognizers
EP3489957A1 (en) Accelerated clinical biomarker prediction (acbp) platform
US20210166080A1 (en) Utilizing object oriented programming to validate machine learning classifiers and word embeddings
US20240220808A1 (en) Anomaly detection method and device therefor
JP2017004123A (ja) 判定装置、判定方法および判定プログラム
Heinemann Machine learning in untargeted metabolomics experiments
CN113986674A (zh) 时序数据的异常检测方法、装置和电子设备
KR102100204B1 (ko) 기계 학습 기반의 분류 방법 및 그 장치
JP7453767B2 (ja) 情報処理装置、情報処理方法
KR101628602B1 (ko) 프로그램의 유사도를 판단하기 위한 유사도 판단 방법 및 유사도 판단 장치
CN118382858A (zh) 软件中的间接函数调用目标识别
AU2021251463B2 (en) Generating performance predictions with uncertainty intervals
KR102121274B1 (ko) 강인(Robust) 필터, 비지도 군집(Unsupervised clustering)에 기반한 해석적 가중치 최소자승 위치 추정 방법
KR20180131830A (ko) 어휘 트리에 기반하여 객체를 인식하는 방법 및 장치
Gladence et al. An enhanced method for disease prediction using ordinal classification-APUOC
KR20220138620A (ko) 모델 앙상블을 이용한 객체 탐지 방법 및 장치
TWI658372B (zh) 異常行為偵測模型生成裝置及其異常行為偵測模型生成方法
TWI647586B (zh) 行為推論模型生成裝置及其行為推論模型生成方法

Legal Events

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