KR20210089849A - Api 함수 추출 기반 멀웨어 탐지 시스템 및 방법 - Google Patents

Api 함수 추출 기반 멀웨어 탐지 시스템 및 방법 Download PDF

Info

Publication number
KR20210089849A
KR20210089849A KR1020200002894A KR20200002894A KR20210089849A KR 20210089849 A KR20210089849 A KR 20210089849A KR 1020200002894 A KR1020200002894 A KR 1020200002894A KR 20200002894 A KR20200002894 A KR 20200002894A KR 20210089849 A KR20210089849 A KR 20210089849A
Authority
KR
South Korea
Prior art keywords
api
malware
call list
api call
file
Prior art date
Application number
KR1020200002894A
Other languages
English (en)
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 KR1020200002894A priority Critical patent/KR20210089849A/ko
Publication of KR20210089849A publication Critical patent/KR20210089849A/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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Virology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 API 함수 추출 기반 멀웨어 탐지 시스템 및 방법에 관한 것으로, 보다 자세하게는 데이터 셋에 포함된 복수의 멀웨어 및 복수의 정상 파일을 정적 분석하여 생성한 API 호출 리스트들을 포함하는 제1 API 호출 리스트 데이터베이스(DB)를 생성하는 단계, 데이터 셋에 포함된 복수의 멀웨어 및 복수의 정상 파일을 동적 분석하여 생성한 API 호출 리스트들을 포함하는 제2 API 호출 리스트 DB를 생성하는 단계, 제1 API 호출 리스트 DB와 제2 API 호출 리스트 DB를 기초로 복수의 멀웨어 및 상기 복수의 정상 파일 각각에 대응하는 복수의 API 특징 벡터 - API 특징 벡터는 대응하는 멀웨어 또는 정상 파일의 API 호출 리스트에 포함된 API 함수별 빈도수를 성분으로 가짐 - 를 학습 데이터로 생성하는 단계, 그리고 생성된 학습 데이터를 이용하여 멀웨어와 정상 파일을 분류하는 기계학습 알고리즘을 훈련시키는 단계를 포함한다.

Description

API 함수 추출 기반 멀웨어 탐지 시스템 및 방법{Malware Detection System and Method based on API Function Extraction}
본 발명은 API 함수 추출 기반 멀웨어 탐지 시스템 및 방법에 관한 것으로, 보다 자세하게는 정적 분석 및 동적 분석을 통해 추출된 API 함수의 빈도수를 이용하여 멀웨어를 탐지할 수 있는 멀웨어 탐지 시스템 및 방법에 관한 것이다.
최근 들어 사이버 보안 위협이 커지고 있으며 사이버 공간의 새로운 기회에 빠르게 적응하고 있다. 빠른 인터넷 속도를 통한 장치 및 서비스의 상호 연결성을 통해 사이버 범죄자가 원격에서 원격으로 작동하고 온라인 상태를 식별할 수 없다. 따라서 이러한 범죄의 악성 코드를 식별하고 추적하는 것은 어려운 일이다. 또한 소셜 네트워크의 빠른 발전으로 인해 해커가 다양한 종류의 소셜 네트워크를 광범위하게 사용함에 따라 해커의 멀웨어(malware) 확산이 이전보다 더 자주 출현하고 있다. 그리고 멀웨어의 양과 유형이 증가했으며, 멀웨어를 이용한 공격을 시작하고 확산시키기 위해 일부 기술은 공격을 촉진하고 보안 시스템을 피할 수 있다.
오니언 라우터(Onion Router)(추적 기능을 방해하는 다중 프록시 라우팅 적용 기능), 난독화(그 목적을 위장하기 위해 프로그램 수정을 설명하는 데 사용되는 용어)(obfuscation), 동적 도메인 이름 시스템(DDNS 또는 DynDNS) 및 VPN(가상 사설망) 서비스는 모두 사이버 범죄를 촉진할 수 있다.
사이버 범죄자들이 사용하는 이러한 방법들은 네트워크 보안 및 트래픽 분석에 쉽게 방해받지 않고 범죄 활동을 심화시킬 수 있다. 또한 사이버 범죄자들은 고급 기술을 활용하여 멀웨어의 전파를 효과적으로 달성하고 가능한 한 오랫동안 온라인에서 익명을 유지하는 데 도움이 되는 새로운 멀웨어 또는 변형을 개발하고 있다.
안티 바이러스(예 : Avast, Symantec 등)와 같은 시그니처 기반 탐지 및 이상 기반 탐지는 멀웨어 탐지 시스템에 사용되는 두 가지 주요 기술이다. 첫 번째 방법으로 InfoSec의 전문가는 안티 바이러스 엔진이 알려진 맬웨어를 탐지하는 데 사용할 시그니처(signature)를 매일 생성해야 한다. 그럼에도 불구하고 시그니처 기반 탐지는 알려지지 않은 위협을 탐지할 수 없으므로 "제로 데이 공격"에는 효과적이지 않다. 또한 압축 또는 난독처리된 멀웨어로 인해 또 다른 보안 문제가 출현하고 탐지 정확도에 영향을 준다. 이러한 이유로 안티 바이러스 방법에는 두 가지 장애가 있습니다. 첫째 높은 위양성 및 둘째 높은 위음성이다. 기술적으로 전자의 경우 양성 파일을 멀웨어로 식별하고 후자의 경우 멀웨어를 탐지하지 못한다.
따라서 본 발명이 해결하려는 과제는 정적 분석 및 동적 분석을 통해 추출된 API 함수의 빈도수를 이용하여 멀웨어를 탐지할 수 있는 멀웨어 탐지 시스템 및 방법을 제공하는 것이다.
상기한 기술적 과제를 해결하기 위한 본 발명에 따른 API 함수 추출 기반 멀웨어 탐지 방법은 데이터 셋에 포함된 복수의 멀웨어 및 복수의 정상 파일을 정적 분석하여 생성한 API 호출 리스트들을 포함하는 제1 API 호출 리스트 데이터베이스(DB)를 생성하는 단계, 상기 데이터 셋에 포함된 복수의 멀웨어 및 복수의 정상 파일을 동적 분석하여 생성한 API 호출 리스트들을 포함하는 제2 API 호출 리스트 DB를 생성하는 단계, 상기 제1 API 호출 리스트 DB와 상기 제2 API 호출 리스트 DB를 기초로 상기 복수의 멀웨어 및 상기 복수의 정상 파일 각각에 대응하는 복수의 API 특징 벡터 - 상기 API 특징 벡터는 대응하는 멀웨어 또는 정상 파일의 API 호출 리스트에 포함된 API 함수별 빈도수를 성분으로 가짐 - 를 학습 데이터로 생성하는 단계, 그리고 상기 생성된 학습 데이터를 이용하여 멀웨어와 정상 파일을 분류하는 기계학습 알고리즘을 훈련시키는 단계를 포함한다.
상기 API 특징 벡터는 미리 준비된 API 함수 참조 DB에 등록된 전체 API 함수 각각을 기저 벡터로 가지는 벡터 공간에서 정의될 수 있다.
상기 기계학습 알고리즘은, 상기 제1 API 호출 리스트 DB를 기초로 생성된 학습 데이터를 이용하여 학습되는 제1 기계학습 알고리즘과, 상기 제2 API 호출 리스트 DB를 기초로 생성된 학습 데이터를 이용하여 학습되는 제2 기계학습 알고리즘을 포함할 수 있다.
상기 방법은, 분류 대상 파일의 정적 분석 또는 동적 분석을 통해 API 호출 리스트를 생성하는 단계, 상기 분류 대상 파일의 API 호출 리스트에 포함된 API 함수별 빈도수를 성분으로 가지는 상기 분류 대상 파일의 API 특징 벡터를 구하는 단계, 그리고 상기 구해진 API 특징 벡터를 상기 기계학습 알고리즘에 입력하여 상기 분류 대상 파일을 멀웨어 또는 정상 파일로 분류하는 단계를 더 포함할 수 있다.
상기한 기술적 과제를 해결하기 위한 본 발명에 따른 기록매체는 컴퓨터에 상기한 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 포함한다.
상기한 기술적 과제를 해결하기 위한 본 발명에 따른 API 함수 추출 기반 멀웨어 탐지 시스템은, 데이터 셋에 포함된 복수의 멀웨어 및 복수의 정상 파일을 정적 분석하여 생성한 API 호출 리스트들을 포함하는 제1 API 호출 리스트 데이터베이스(DB)를 생성하는 정적 분석 모듈, 상기 데이터 셋에 포함된 복수의 멀웨어 및 복수의 정상 파일을 동적 분석하여 생성한 API 호출 리스트들을 포함하는 제2 API 호출 리스트 DB를 생성하는 동적 분석 모듈, 상기 제1 API 호출 리스트 DB와 상기 제2 API 호출 리스트 DB를 이용하여 생성된 상기 복수의 멀웨어 및 상기 복수의 정상 파일 각각에 대응하는 복수의 API 특징 벡터 - 상기 API 특징 벡터는 대응하는 멀웨어 또는 정상 파일의 API 호출 리스트에 포함된 API 함수별 빈도수를 성분으로 가짐 - 를 학습 데이터를 이용하여 멀웨어와 정상 파일을 분류하는 기계학습 알고리즘을 훈련시키는 분류 모듈을 포함한다.
상기 정적 분석 모듈은 분류 대상 파일의 정적 분석을 통해 API 호출 리스트를 생성할 수 있다.
상기 동적 분석 모듈은 상기 분류 대상 파일의 동적 분석을 통해 API 호출 리스트를 생성할 수 있다.
상기 분류 모델은, 상기 정적 분석 또는 상기 동적 분석을 통해 생성된 API 호출 리스트에 포함된 API 함수별 빈도수를 성분으로 가지는 API 특징 벡터를 구하고, 상기 구해진 API 특징 벡터를 상기 기계학습 알고리즘에 입력하여 상기 분류 대상 파일을 멀웨어 또는 정상 파일로 분류할 수 있다.
본 발명에 의하면 정적 분석 및 동적 분석을 통해 추출된 API 함수의 빈도수를 이용하여 멀웨어를 탐지할 수 있는 멀웨어 탐지 시스템 및 방법을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 API 함수 추출 기반 멀웨어 탐지 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 API 함수 추출 기반 멀웨어 탐지 시스템의 동작 방법을 나타낸 흐름도이다.
그러면 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 API 함수 추출 기반 멀웨어 탐지 시스템의 구성도이다.
도 1을 참고하면, 본 발명에 따른 API 함수 추출 기반 멀웨어 탐지 시스템은 정적 분석 모듈(100), 동적 분석 모듈(200) 및 분류 모듈(300)을 포함할 수 있다.
정적 분석 모듈(100)은 입력되는 정상 파일(Benign File)이나 멀웨어(malware)에 대해서 정적 분석(static analysis)을 수행하여 API(Application Programming Interface) 호출 리스트를 생성할 수 있다.
정적 분석(Static Analysis)은 컴퓨터 소프트웨어를 분석하는 방법 중 하나로, 작성된 프로그램을 실제로 실행하지 않고, 작성된 프로그램 코드를 기반으로 분석하는 방법이다.
정적 분석 모듈(100)은 실행 없이 프로그램 코드 분석을 위한 소프트웨어로 구성될 수 있다. 정적 분석 프로세스는 바이트 시퀀스 n-그램, 구문 라이브러리 호출(syntactic library call), 제어 흐름 그래프 및 모든 유형의 비실행 파일 및 실행 파일을 식별하는데 도움이 될 수 있다.
일반적으로 정적 분석에는 패킹되거나(packed) 난독화된(obfuscated) 멀웨어로 인한 제한이 있다. 정적 분석 모듈(100)은 패킹되거나 난독화된 멀웨어의 문제를 극복하기 위해 'IDA Pro', 'PeStudio', 'OllyDbg', 'Immunity Debugger' 등과 같은 디스어셈블러(dissebler)를 사용할 수 있다. 물론 여기서 예시한 것 외에 다른 디스어셈블러를 사용할 수도 있다.
정적 분석 모듈(100)은 입력된 멀웨어나 정상 파일을 디스어셈블한 후, SQLite(SQLite는 작고 빠르며 독립적이며 안정성이 높고 완전한 기능을 갖춘 SQL 데이터베이스 엔진을 구현하는 C 언어 라이브러리)을 이용하여 API 호출 리스트를 구성할 수 있다.
예컨대 정적 분석 모듈(100)은 API 함수가 저장되어 있는 PE(Portable Executable) 파일의 IAT(Import Address Table)을 추출하고, 이로부터 API 호출 리스트를 구성할 수 있다.
여기서 설명한 것 외에 다른 방법으로 정적 분석 모듈(100)이 정적 분석을 통해 입력되는 정상 파일이나 멀웨어로부터 API 함수를 추출하여 API 호출 리스트를 생성할 수 있다.
정적 분석 모듈(100)은 미리 준비된 데이터 셋에 포함된 복수의 정상 파일과 복수의 멀웨어에 대해서 정적 분석을 통해 각각 구해진 API 호출 리스트를 포함하는 제1 API 호출 리스트 데이터베이스(DB)(110)를 생성할 수 있다.
동적 분석 모듈(200)은 정상 파일이나 멀웨어를 가상 환경에서 실행시키면서 정상 파일이나 멀웨어가 실제로 호출하는 API 함수를 추출하는 방식으로 API 호출 리스트를 구성할 수 있다.
가령 동적 분석 모듈(200)은 Cuckoo sandbox와 같은 멀웨어 분석 시스템을 이용하여 구현할 수 있다. Cuckoo sandbox에 의심스러운 파일을 입력하면, 독립된 환경 내에서 해당 파일을 실행하며, 해당 파일이 실행되는 동안 무슨 행위를 했는지 분석하고, 그 결과를 사용자에게 제공한다. Cuckoo sandbox 분석 결과에는 해당 파일이 실행되는 동안에 생성되는 프로세스 및 해당 프로세스가 호출하는 API, 파라미터 정보를 추출하여 기록한 로그를 포함할 수 있다.
동적 분석 모듈(200)은 미리 준비된 데이터 셋에 포함된 복수의 정상 파일과 복수의 멀웨어에 대해서 동적 분석을 통해 각각 구해진 API 호출 리스트를 포함하는 제2 API 호출 리스트 DB(210)를 생성할 수 있다.
실시예에 따라 정적 분석 모듈(100)과 동적 분석 모듈(200)은, API 호출 리스트를 생성할 때, MSDN(Microsoft Developer Network) 라이브러리 DB 등과 같은 미리 준비된 API 함수 참조 DB를 이용할 수도 있다.
분류 모듈(300)은 API 특징 벡터 DB(310)를 이용하여 멀웨어와 정상 파일을 분류하는 기계학습 알고리즘(320)을 훈련시킬 수 있다.
API 특징 벡터 DB(310)는 제1 API 호출 리스트 DB(110)와 제2 API 호출 리스트 DB(210)를 이용하여 생성되며, 학습 대상 데이터셋에 포함된 다수의 멀웨어와 다수의 정상 파일 각각에 대응하는 API 특징 벡터들을 저장할 수 있다.
예컨대 멀웨어 A에 대해서 정적 분석을 통해 생성된 API 호출 리스트에 API 함수 a, b, c의 빈도수가 각각 1, 2, 1이라고 가정하면, [(a:1), (b:2), (c:1)]이라는 벡터로, 멀웨어 A에 대한 API 특징 벡터를 생성할 수 있다. 즉 멀웨어 또는 정상 파일의 API 호출 리스트에 포함된 API 함수별 빈도수를 성분으로 가지는 API 특징 벡터를 대응하는 멀웨어 또는 정상 파일의 API 특징 벡터로 생성할 수 있다.
실시예에 따라서 API 특징 벡터를 다음과 같이 벡터 공간에서 정의되게 생성할 수도 있다. 설명의 편의를 위해 MSDN 라이브러리 DB에 등록된 전체 API 함수가 a, b, c, d, e, f, g로 7개라고 가정하면, 전체 API 함수 a, b, c, d, e, f, g 각각을 기저 벡터로 가지는 벡터 공간을 정의할 수 있다. 그러면 앞서 예시한 멀웨어 A에 대한 API 특징 벡터를 [(a:1), (b:2), (c:1), (d:0), (e:0), (f:0), (g:0)]으로 생성할 수 있다.
분류 모듈(300)은 학습 대상으로 입력된 데이터셋에 대해서 정적 분석 모듈(100)과 동적 분석 모듈(200)에서 생성된 API 호출 리스트를 이용하여, 각각의 멀웨어와 정상 파일에 대응하는 API 특징 벡터를 생성하여 API 특징 벡터 DB(310)에 저장할 수 있다.
그리고 분류 모듈(300)은 API 특징 벡터 DB(310)를 이용하여 멀웨어와 정상 파일을 분류하는 기계학습 알고리즘을 훈련시킬 수 있다.
분류 모듈(300)은 분류 대상 파일에서 정적 분석 및/또는 동적 분석으로 생성된 API 호출 리스트를 이용하여 API 특징 벡터를 생성하고, 미리 훈련된 기계학습 알고리즘에 입력하여 멀웨어 또는 정상 파일로 분류한 결과를 출력할 수 있다.
도 2는 본 발명의 일 실시예에 따른 API 함수 추출 기반 멀웨어 탐지 시스템의 동작 방법을 나타낸 흐름도이다.
도 1 및 도 2를 참고하면, 먼저 본 발명에 따른 API 함수 추출 기반 멀웨어 탐지 시스템은 복수의 멀웨어와 복수의 정상 파일로 이루어진 데이터셋을 이용하여 생성된 학습 데이터를 이용하여 멀웨어와 정상 파일을 분류하는 기계학습 알고리즘을 훈련시킬 수 있다(S100).
구체적으로 정적 분석 모듈(100)은 데이터셋에 포함된 복수의 정상 파일과 복수의 멀웨어 각각에 대해서 정적 분석을 수행하여 생성한 API 호출 리스트를 포함하는 API 호출 리스트 DB(110)를 생성할 수 있다(S110).
한편 동적 분석 모듈(200)은 데이터셋에 포함된 복수의 정상 파일과 복수의 멀웨어 각각에 대해서 동적 분석을 수행하여 생성한 API 호출 리스트를 포함하는 API 호출 리스트 DB(210)를 생성할 수 있다(S120).
이후 분류 모듈(300)은 API 호출 리스트 DB(110, 210)를 기초로 멀웨어 또는 정상 파일의 API 호출 리스트에 포함된 API 함수별 빈도수를 성분으로 가지는 API 특징 벡터들을 학습 데이터로 생성할 수 있다(S130).
그리고 분류 모듈(300)은 단계(S130)에서 생성된 API 특징 벡터들을 이용하여 멀웨어와 정상 파일을 분류하는 기계학습 알고리즘(320)을 훈련시킬 수 있다(S140).
이후 API 함수 추출 기반 멀웨어 탐지 시스템은 훈련된 기계학습 알고리즘(320)을 이용하여 분류 대상 파일이 입력되면 멀웨어 또는 정상 파일로 분류할 수 있다(S200).
구체적으로 정적 분석 모듈(100)은 분류 대상 파일의 정적 분석을 통해 API 호출 리스트를 생성할 수 있다(S210).
동적 분석 모듈(200)은 분류 대상 파일의 동적 분석을 통해 API 호출 리스트를 생성할 수 있다(S220).
분류 모듈(300)은 단계(S210) 및/또는 단계(S220)에서 생성되는 API 호출 리스트에 API 함수별 빈도수를 성분으로 가지는 분류 대상 파일의 API 특징 벡터를 구할 수 있다(S230).
그리고 분류 모듈(300)은 단계(S230)에서 구해진 API 특징 벡터를 기계학습 알고리즘(320)에 입력하여 상기 분류 대상 파일을 멀웨어 또는 정상 파일로 분류한 결과를 출력할 수 있다(S240).
실시예에 따라서 정적 분석을 통해 도출된 API 특징 벡터나 동적 분석을 통해 도출된 API 특징 벡터 중 하나라도 멀웨어로 분류되면, 해당 분류 대상 파일을 멀웨어로 분류하도록 구현할 수 있다. 물론 보다 보수적으로 멀웨어를 탐지하는 것이 필요한 시스템의 경우는 정적 분석을 통해 도출된 API 특징 벡터와 동적 분석을 통해 도출된 API 특징 벡터 모두에 대해서 멀웨어로 분류되면, 해당 분류 대상 파일을 멀웨어로 분류하도록 구현할 수도 있다.
본 발명의 실시예는 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터로 읽을 수 있는 매체를 포함한다. 이 매체는 앞서 설명한 방법을 실행시키기 위한 프로그램을 기록한다. 이 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 이러한 매체의 예에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 자기 매체, CD 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 자기-광 매체, 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 구성된 하드웨어 장치 등이 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상에서 본 발명의 바람직한 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (9)

  1. 데이터 셋에 포함된 복수의 멀웨어 및 복수의 정상 파일을 정적 분석하여 생성한 API 호출 리스트들을 포함하는 제1 API 호출 리스트 데이터베이스(DB)를 생성하는 단계,
    상기 데이터 셋에 포함된 복수의 멀웨어 및 복수의 정상 파일을 동적 분석하여 생성한 API 호출 리스트들을 포함하는 제2 API 호출 리스트 DB를 생성하는 단계,
    상기 제1 API 호출 리스트 DB와 상기 제2 API 호출 리스트 DB를 기초로 상기 복수의 멀웨어 및 상기 복수의 정상 파일 각각에 대응하는 복수의 API 특징 벡터 - 상기 API 특징 벡터는 대응하는 멀웨어 또는 정상 파일의 API 호출 리스트에 포함된 API 함수별 빈도수를 성분으로 가짐 - 를 학습 데이터로 생성하는 단계, 그리고
    상기 생성된 학습 데이터를 이용하여 멀웨어와 정상 파일을 분류하는 기계학습 알고리즘을 훈련시키는 단계
    를 포함하는 API 함수 추출 기반 멀웨어 탐지 방법.
  2. 제 1 항에서,
    상기 API 특징 벡터는 미리 준비된 API 함수 참조 DB에 등록된 전체 API 함수 각각을 기저 벡터로 가지는 벡터 공간에서 정의되는 API 함수 추출 기반 멀웨어 탐지 방법.
  3. 제 1 항에서,
    상기 기계학습 알고리즘은,
    상기 제1 API 호출 리스트 DB를 기초로 생성된 학습 데이터를 이용하여 학습되는 제1 기계학습 알고리즘과, 상기 제2 API 호출 리스트 DB를 기초로 생성된 학습 데이터를 이용하여 학습되는 제2 기계학습 알고리즘을 포함하는 API 함수 추출 기반 멀웨어 탐지 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에서,
    분류 대상 파일의 정적 분석 또는 동적 분석을 통해 API 호출 리스트를 생성하는 단계,
    상기 분류 대상 파일의 API 호출 리스트에 포함된 API 함수별 빈도수를 성분으로 가지는 상기 분류 대상 파일의 API 특징 벡터를 구하는 단계, 그리고
    상기 구해진 API 특징 벡터를 상기 기계학습 알고리즘에 입력하여 상기 분류 대상 파일을 멀웨어 또는 정상 파일로 분류하는 단계
    를 더 포함하는 API 함수 추출 기반 멀웨어 탐지 방법.
  5. 컴퓨터에 상기한 제1항 내지 제3항 중 어느 한 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  6. 데이터 셋에 포함된 복수의 멀웨어 및 복수의 정상 파일을 정적 분석하여 생성한 API 호출 리스트들을 포함하는 제1 API 호출 리스트 데이터베이스(DB)를 생성하는 정적 분석 모듈,
    상기 데이터 셋에 포함된 복수의 멀웨어 및 복수의 정상 파일을 동적 분석하여 생성한 API 호출 리스트들을 포함하는 제2 API 호출 리스트 DB를 생성하는 동적 분석 모듈,
    상기 제1 API 호출 리스트 DB와 상기 제2 API 호출 리스트 DB를 이용하여 생성된 상기 복수의 멀웨어 및 상기 복수의 정상 파일 각각에 대응하는 복수의 API 특징 벡터 - 상기 API 특징 벡터는 대응하는 멀웨어 또는 정상 파일의 API 호출 리스트에 포함된 API 함수별 빈도수를 성분으로 가짐 - 를 학습 데이터를 이용하여 멀웨어와 정상 파일을 분류하는 기계학습 알고리즘을 훈련시키는 분류 모듈
    을 포함하는 API 함수 추출 기반 멀웨어 탐지 시스템.
  7. 제 6 항에서,
    상기 API 특징 벡터는 미리 준비된 API 함수 참조 DB에 등록된 전체 API 함수 각각을 기저 벡터로 가지는 벡터 공간에서 정의되는 API 함수 추출 기반 멀웨어 탐지 시스템.
  8. 제 6 항에서,
    상기 기계학습 알고리즘은,
    상기 제1 API 호출 리스트 DB를 기초로 생성된 학습 데이터를 이용하여 학습되는 제1 기계학습 알고리즘과, 상기 제2 API 호출 리스트 DB를 기초로 생성된 학습 데이터를 이용하여 학습되는 제2 기계학습 알고리즘을 포함하는 API 함수 추출 기반 멀웨어 탐지 시스템.
  9. 제 6 항 내지 제 8 항 중 어느 한 항에서,
    상기 정적 분석 모듈은 분류 대상 파일의 정적 분석을 통해 API 호출 리스트를 생성하고,
    상기 동적 분석 모듈은 상기 분류 대상 파일의 동적 분석을 통해 API 호출 리스트를 생성하며,
    상기 분류 모델은, 상기 정적 분석 또는 상기 동적 분석을 통해 생성된 API 호출 리스트에 포함된 API 함수별 빈도수를 성분으로 가지는 API 특징 벡터를 구하고, 상기 구해진 API 특징 벡터를 상기 기계학습 알고리즘에 입력하여 상기 분류 대상 파일을 멀웨어 또는 정상 파일로 분류하는 API 함수 추출 기반 멀웨어 탐지 시스템.
KR1020200002894A 2020-01-09 2020-01-09 Api 함수 추출 기반 멀웨어 탐지 시스템 및 방법 KR20210089849A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200002894A KR20210089849A (ko) 2020-01-09 2020-01-09 Api 함수 추출 기반 멀웨어 탐지 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200002894A KR20210089849A (ko) 2020-01-09 2020-01-09 Api 함수 추출 기반 멀웨어 탐지 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20210089849A true KR20210089849A (ko) 2021-07-19

Family

ID=77125854

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200002894A KR20210089849A (ko) 2020-01-09 2020-01-09 Api 함수 추출 기반 멀웨어 탐지 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR20210089849A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114338188A (zh) * 2021-12-30 2022-04-12 杭州电子科技大学 一种基于进程行为序列分片的恶意软件智能云检测系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114338188A (zh) * 2021-12-30 2022-04-12 杭州电子科技大学 一种基于进程行为序列分片的恶意软件智能云检测系统
CN114338188B (zh) * 2021-12-30 2024-01-30 杭州电子科技大学 一种基于进程行为序列分片的恶意软件智能云检测系统

Similar Documents

Publication Publication Date Title
McIntosh et al. Ransomware mitigation in the modern era: A comprehensive review, research challenges, and future directions
Catak et al. A benchmark API call dataset for windows PE malware classification
Damodaran et al. A comparison of static, dynamic, and hybrid analysis for malware detection
Alazab Profiling and classifying the behavior of malicious codes
Javaheri et al. Detection and elimination of spyware and ransomware by intercepting kernel-level system routines
Zhao et al. Malicious executables classification based on behavioral factor analysis
Moon et al. Host-based intrusion detection system for secure human-centric computing
US9239922B1 (en) Document exploit detection using baseline comparison
JP2017503222A (ja) ネットワークセキュリティシステム、方法、及び装置
Bahtiyar et al. A multi-dimensional machine learning approach to predict advanced malware
Roseline et al. A comprehensive survey of tools and techniques mitigating computer and mobile malware attacks
Aslan et al. Using a subtractive center behavioral model to detect malware
Alzarooni Malware variant detection
Dornhackl et al. Malicious behavior patterns
Luh et al. AIDIS: Detecting and classifying anomalous behavior in ubiquitous kernel processes
Pandiaraja et al. A graph-based model for discovering host-based hook attacks
Kandukuru et al. Android malicious application detection using permission vector and network traffic analysis
Osorio et al. Segmented sandboxing-a novel approach to malware polymorphism detection
Yin et al. Automatic malware analysis: an emulator based approach
Tian An integrated malware detection and classification system
Canzanese Jr Detection and classification of malicious processes using system call analysis
Ali et al. An efficient mining based approach using PSO selection technique for analysis and detection of obfuscated malware
KR20210089849A (ko) Api 함수 추출 기반 멀웨어 탐지 시스템 및 방법
US10546125B1 (en) Systems and methods for detecting malware using static analysis
Lemmou et al. Inside gandcrab ransomware

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application