KR20220099749A - 하이브리드 인공지능 기반의 악성코드 탐지 장치 및 방법 - Google Patents

하이브리드 인공지능 기반의 악성코드 탐지 장치 및 방법 Download PDF

Info

Publication number
KR20220099749A
KR20220099749A KR1020210002023A KR20210002023A KR20220099749A KR 20220099749 A KR20220099749 A KR 20220099749A KR 1020210002023 A KR1020210002023 A KR 1020210002023A KR 20210002023 A KR20210002023 A KR 20210002023A KR 20220099749 A KR20220099749 A KR 20220099749A
Authority
KR
South Korea
Prior art keywords
unit
malicious code
metadata
target object
detection
Prior art date
Application number
KR1020210002023A
Other languages
English (en)
Other versions
KR102472850B1 (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 KR1020210002023A priority Critical patent/KR102472850B1/ko
Publication of KR20220099749A publication Critical patent/KR20220099749A/ko
Application granted granted Critical
Publication of KR102472850B1 publication Critical patent/KR102472850B1/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
    • 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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Virology (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 하이브리드 인공지능 기반의 악성코드 탐지 장치 및 방법에 관한 것으로, 상기 장치는 탐지대상객체를 입력받고 상기 탐지대상객체의 전처리를 통해 메타데이터 및 페이로드 데이터로 분류하는 탐지대상객체 전처리부; 상기 메타데이터의 이상유무를 검출하고 상기 메타데이터의 이상이 존재하지 않는 경우에는 상기 페이로드 데이터에 관한 행위 시뮬레이션을 수행하여 상기 탐지대상객체의 이상을 탐지하는 이상탐지 처리부; 상기 페이로드 데이터를 단위요소로 분해하여 일련의 시퀀스 스트림을 생성하고 상기 분해의 과정에서 시퀀스 벡터를 생성하며 상기 시퀀스 벡터를 기초로 단위 벡터열을 생성하고 상기 단위 벡터열을 학습하여 구축된 악성코드 탐지 모델을 통해 상기 페이로드 데이터에서 악성코드의 유무를 결정하는 악성유무 결정부; 및 상기 탐지대상객체의 이상 유무 및 상기 악성코드의 유무를 이용하여 악성코드를 탐지하는 악성코드 탐지부를 포함한다.

Description

하이브리드 인공지능 기반의 악성코드 탐지 장치 및 방법{MALWARE DETECTION DEVICE AND METHOD BASED ON HYBRID ARTIFICIAL INTELLIGENCE}
본 발명은 악성코드 탐지 기술에 관한 것으로, 보다 상세하게는 기존의 분류 모델의 탐지 과정에 이상 탐지 모델을 결합하여 새로운 유형의 의심 파일을 탐지할 수 있는 하이브리드 인공지능 기반의 악성코드 탐지 장치 및 방법에 관한 것이다.
인터넷 및 컴퓨터 기술이 지속적으로 개발되고, 이와 함께 이러한 기술을 악용하여 부당한 이익을 취하려는 시도도 증가하고 있다. 예를 들어, 악성코드를 사용자들의 컴퓨터에 설치 및 배포하여 사용자들로부터 부당한 이익을 취하는 방법이 증가하고 있다.
여기에서, 악성코드는 컴퓨터 사용자의 승인없이 컴퓨터에 침투하거나 설치되어 악의적인 행동을 하는 프로그램을 의미한다. 이에 따라, 보안 전문가들은 다양한 해결 방안을 모색하고 있다.
한편, 문서형 악성코드는 사이버보안을 위협하는 주요 공격 수단이다. 최근에는 사회공학적 기법을 이용하여 이메일에 문서형 악성코드를 첨부시키는 형태의 공격이 국내 금융기관을 포함한 주요 시설을 대상으로 유행하고 있다. 바이러스토탈의 통계에 의하면 여전히 윈도우즈 실행 파일 형태의 악성코드가 가장 많이 발생하고 있으나, 주요 기관이나 기업을 대상으로 진행되는 APT(Advanced Persistent Threat) 공격 수단으로는 문서형 악성코드의 발생량이 꾸준히 증가하고 있다.
한국공개특허 제10-2009-0055669(2009.06.03)호
본 발명의 일 실시예는 기존의 분류 모델의 탐지 과정에 이상 탐지 모델을 결합하여 새로운 유형의 의심 파일을 탐지할 수 있는 하이브리드 인공지능 기반의 악성코드 탐지 장치 및 방법을 제공하고자 한다.
본 발명의 일 실시예는 탐지대상객체가 패킷인 경우 페이로드 데이터의 각 바이트를 표현하는 최적의 벡터를 학습함으로써 악성유무 결정을 효과적으로 수행할 수 있는 하이브리드 인공지능 기반의 악성코드 탐지 장치 및 방법을 제공하고자 한다.
실시예들 중에서, 하이브리드 인공지능 기반의 악성코드 탐지 장치는 탐지대상객체를 입력받고 상기 탐지대상객체의 전처리를 통해 메타데이터 및 페이로드 데이터로 분류하는 탐지대상객체 전처리부; 상기 메타데이터의 이상유무를 검출하고 상기 메타데이터의 이상이 존재하지 않는 경우에는 상기 페이로드 데이터에 관한 행위 시뮬레이션을 수행하여 상기 탐지대상객체의 이상을 탐지하는 이상탐지 처리부; 상기 페이로드 데이터를 단위요소로 분해하여 일련의 시퀀스 스트림을 생성하고 상기 분해의 과정에서 시퀀스 벡터를 생성하며 상기 시퀀스 벡터를 기초로 단위 벡터열을 생성하고 상기 단위 벡터열을 학습하여 구축된 악성코드 탐지 모델을 통해 상기 페이로드 데이터에서 악성코드의 유무를 결정하는 악성유무 결정부; 및 상기 탐지대상객체의 이상 유무 및 상기 악성코드의 유무를 이용하여 악성코드를 탐지하는 악성코드 탐지부를 포함한다.
상기 탐지대상객체 전처리부는 파일시스템에 있는 파일관리 데이터를 상기 메타데이터로 결정하고 상기 파일시스템에 있는 파일내용을 상기 페이로드 데이터로 결정할 수 있다.
상기 이상탐지 처리부는 악성코드 메타데이터 데이터베이스에서 상기 메타데이터와 가장 유사한 악성코드 메타데이터를 결정하고, 상기 메타데이터 및 상기 악성코드 메타데이터 간의 유클리디언 거리(Euclidean Distance)를 기초로 상기 메타데이터의 이상을 결정할 수 있다.
상기 이상탐지 처리부는 상기 페이로드 데이터를 독립적인 실행 공간을 가지는 행위 시뮬레이션 엔진을 통해 상기 행위 시뮬레이션을 수행하고, 상기 실행 공간 내에서 발생되는 행위를 분석하여 상기 탐지대상객체의 이상을 탐지할 수 있다.
상기 악성유무 결정부는 상기 패킷의 길이가 특정 기준을 초과하지 않는 경우에는 상기 단위요소를 바이트(byte)로 설정할 수 있다.
상기 악성유무 결정부는 상기 시퀀스 벡터의 크기를 상기 패킷의 최대 길이로 결정할 수 있다.
상기 악성유무 결정부는 상기 단위요소를 0 부터 255 사이의 바이트 값에 대응되는 단위요소 값으로 변환할 수 있다.
상기 악성유무 결정부는 상기 패킷의 길이에 비례하도록 상기 단위 벡터의 크기를 결정할 수 있다.
상기 악성유무 결정부는 상기 시퀀스 벡터의 단위요소 값들의 편차에 따라 상기 단위 벡터의 크기를 결정할 수 있다.
상기 악성유무 결정부는 상기 시퀀스 벡터의 각 단위요소 값에 대응되는 임베딩 벡터(embedding vector)를 생성하여 상기 복수의 단위 벡터들을 생성할 수 있다.
상기 악성유무 결정부는 게이트 CNN(Gated Convolutional Neural Network)을 통해 상기 악성코드 탐지 모델을 구축할 수 있다.
실시예들 중에서, 하이브리드 인공지능 기반의 악성코드 탐지 방법은 탐지대상객체를 입력받고 상기 탐지대상객체의 전처리를 통해 메타데이터 및 페이로드 데이터로 분류하는 단계; 상기 메타데이터의 이상유무를 검출하고 상기 메타데이터의 이상이 존재하지 않는 경우에는 상기 페이로드 데이터에 관한 행위 시뮬레이션을 수행하여 상기 탐지대상객체의 이상을 탐지하는 단계; 상기 페이로드 데이터를 단위요소로 분해하여 일련의 시퀀스 스트림을 생성하고 상기 분해의 과정에서 시퀀스 벡터를 생성하며 상기 시퀀스 벡터를 기초로 단위 벡터열을 생성하고 상기 단위 벡터열을 학습하여 구축된 악성코드 탐지 모델을 통해 상기 페이로드 데이터에서 악성코드의 유무를 결정하는 단계; 및 상기 탐지대상객체의 이상 유무 및 상기 악성코드의 유무를 이용하여 악성코드를 탐지하는 단계를 포함한다.
상기 메타데이터 및 페이로드 데이터로 분류하는 단계는 파일시스템에 있는 파일관리 데이터를 상기 메타데이터로 결정하고 상기 파일시스템에 있는 파일내용을 상기 페이로드 데이터로 결정하는 단계를 포함할 수 있다.
상기 탐지대상객체의 이상을 탐지하는 단계는 악성코드 메타데이터 데이터베이스에서 상기 메타데이터와 가장 유사한 악성코드 메타데이터를 결정하고, 상기 메타데이터 및 상기 악성코드 메타데이터 간의 유클리디언 거리(Euclidean Distance)를 기초로 상기 메타데이터의 이상을 결정하는 단계를 포함할 수 있다.
상기 탐지대상객체의 이상을 탐지하는 단계는 상기 페이로드 데이터를 독립적인 실행 공간을 가지는 행위 시뮬레이션 엔진을 통해 상기 행위 시뮬레이션을 수행하고, 상기 실행 공간 내에서 발생되는 행위를 분석하여 상기 탐지대상객체의 이상을 탐지하는 단계를 포함할 수 있다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 일 실시예에 따른 하이브리드 인공지능 기반의 악성코드 탐지 장치 및 방법은 기존의 분류 모델의 탐지 과정에 이상 탐지 모델을 결합하여 새로운 유형의 의심 파일을 탐지할 수 있다.
본 발명의 일 실시예에 따른 하이브리드 인공지능 기반의 악성코드 탐지 장치 및 방법은 탐지대상객체가 패킷인 경우 페이로드 데이터의 각 바이트를 표현하는 최적의 벡터를 학습함으로써 악성유무 결정을 효과적으로 수행할 수 있다.
도 1은 본 발명에 따른 악성코드 탐지 시스템을 설명하는 도면이다.
도 2는 도 1의 악성코드 탐지 장치의 시스템 구성을 설명하는 도면이다.
도 3은 도 1의 악성코드 탐지 장치의 기능적 구성을 설명하는 도면이다.
도 4는 도 3의 악성유무 결정부의 기능적 구성을 설명하는 도면이다.
도 5는 본 발명에 따른 하이브리드 인공지능 기반의 악성코드 탐지 과정을 설명하는 순서도이다.
도 6은 본 발명에 따른 페이로드 데이터에서 악성코드의 유무를 결정하는 과정을 설명하는 순서도이다.
도 7은 본 발명에 따른 악성코드 탐지 모델을 위한 학습 데이터를 생성하는 과정을 설명하는 도면이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제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)는 사용자 단말(110) 간의 데이터 통신이나 외부 시스템과의 네트워크 이용 과정에서 모니터링을 수행하고 악성코드를 탐지하여 보안 조치를 시행할 수 있는 컴퓨터 또는 프로그램에 해당하는 서버로 구현될 수 있다. 악성코드 탐지 장치(130)는 사용자 단말(110)과 네트워크를 통해 연결될 수 있고 정보를 주고받을 수 있다. 일 실시예에서, 악성코드 탐지 장치(130)는 데이터베이스(150)와 연동하여 네트워크 모니터링 및 보안관제를 위해 필요한 데이터를 저장할 수 있다.
데이터베이스(150)는 악성코드 탐지 장치(130)의 동작 과정에서 필요한 다양한 정보들을 저장하는 저장장치에 해당할 수 있다. 데이터베이스(150)는 네트워크 모니터링 과정에서 수집된 패킷 정보를 저장할 수 있고, 악성코드 탐지를 위한 다양한 학습 데이터 및 학습 정보를 저장할 수 있으며, 반드시 이에 한정되지 않고, 악성코드 탐지 장치(130)가 하이브리드 인공지능 기반의 악성코드를 탐지하는 과정에서 다양한 형태로 수집 또는 가공된 정보들을 저장할 수 있다.
도 2는 도 1의 악성코드 탐지 장치의 시스템 구성을 설명하는 도면이다.
도 2를 참조하면, 악성코드 탐지 장치(130)는 프로세서(210), 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)를 포함할 수 있다.
프로세서(210)는 악성코드 탐지 장치(130)가 동작하는 과정에서의 각 단계들을 처리하는 프로시저를 실행할 수 있고, 그 과정 전반에서 읽혀지거나 작성되는 메모리(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)는 입력된 탐지대상객체를 분석하여 악성코드 탐지에 필요한 정보들을 수집할 수 있다. 탐지대상객체 전처리부(310)는 탐지대상객체의 메타데이터와 페이로드 데이터를 각각 분리하여 수집할 수 있다. 여기에서, 메타데이터는 해당 탐지대상객체에 관한 프로파일 정보에 해당할 수 있으며, 파일 유형, 이름, 용량, 생성 및 수정 날짜 등의 정적 정보를 포함할 수 있다. 페이로드 데이터는 해당 탐지대상객체의 컨텐츠 정보에 해당할 수 있다. 예를 들어, 탐지대상객체가 네트워크 패킷에 해당하는 경우 페이로드 데이터는 패킷의 페이로드(payload)에 해당할 수 있다.
일 실시예에서, 탐지대상객체 전처리부(310)는 파일시스템에 있는 파일관리 데이터를 메타데이터로 결정하고 파일시스템에 있는 파일내용을 페이로드 데이터로 결정할 수 있다. 탐지대상객체 전처리부(310)는 탐지대상객체를 파일로 결정할 수 있고, 파일은 파일시스템을 통해 관리될 수 있다. 파일관리 데이터는 파일시스템이 특정 파일을 관리하는 과정에서 생성하는 파일 히스토리 정보를 포함할 수 있고, 파일내용은 각 파일의 주요 컨텐츠 내용을 포함할 수 있다.
이상탐지 처리부(330)는 메타데이터의 이상유무를 검출하고 메타데이터의 이상이 존재하지 않는 경우에는 페이로드 데이터에 관한 행위 시뮬레이션을 수행하여 탐지대상객체의 이상을 탐지할 수 있다. 이상탐지 처리부(330)는 메타데이터를 기초로 이상유무를 1차적으로 검출하고, 메타데이터 상의 이상이 검출되지 않는 경우 페이로드 데이터에 관한 이상유무를 2차적으로 검출할 수 있다. 이때, 페이로드 데이터에 대한 이상 검출은 행위 시뮬레이션을 통해 수행될 수 있다. 행위 시뮬레이션은 대응되는 파일을 실행시킨 후 페이로드 데이터에 대한 처리 과정을 모니터링하여 비정상 행위를 검출하는 과정으로 실행될 수 있다.
일 실시예에서, 이상탐지 처리부(330)는 악성코드 메타데이터 데이터베이스에서 메타데이터와 가장 유사한 악성코드 메타데이터를 결정하고, 메타데이터 및 악성코드 메타데이터 간의 유클리디언 거리(Euclidean Distance)를 기초로 메타데이터의 이상을 결정할 수 있다. 즉, 이상탐지 처리부(330)는 메타데이터의 이상 검출을 위해 기 구축된 악성코드 메타데이터와의 유사도를 기초로 비교 분석을 수행할 수 있다. 이때, 메타데이터 간의 유사도는 유클리디언 거리를 기초로 산출될 수 있으며, 기 구축된 악성코드 메타데이터들과의 거리가 설정된 임계값 이하인 경우 이상탐지 처리부(330)는 해당 메타데이터의 이상을 결정할 수 있다.
일 실시예에서, 이상탐지 처리부(330)는 페이로드 데이터를 독립적인 실행 공간을 가지는 행위 시뮬레이션 엔진을 통해 행위 시뮬레이션을 수행하고, 실행 공간 내에서 발생되는 행위를 분석하여 기 탐지대상객체의 이상을 탐지할 수 있다. 즉, 행위 시뮬레이션 엔진은 행위 시뮬레이션을 담당하는 고유 엔진에 해당할 수 있으며, 행위 시뮬레이션이 수행되고 외부와 차단된 가상의 실행 공간을 생성할 수 있다. 이상탐지 처리부(330)는 페이로드 데이터를 복제한 후 행위 시뮬레이션 엔진을 통해 가상의 공간에서 실행 과정을 모니터링 할 수 있다. 이상탐지 처리부(330)는 행위 시뮬레이션 과정에서 해당 페이로드 데이터와 연관된 행위들을 수집하고 정상 행위의 범위를 벗어난 이상 행위를 검출할 수 있다. 페이로드 데이터와 연관된 이상 행위는 시스템 파일의 실행, 수정 및 삭제 등을 포함할 수 있다.
악성유무 결정부(350)는 페이로드 데이터를 단위요소로 분해하여 일련의 시퀀스 스트림을 생성하고 분해의 과정에서 시퀀스 벡터를 생성하며 시퀀스 벡터를 기초로 단위 벡터열을 생성하고 단위 벡터열을 학습하여 구축된 악성코드 탐지 모델을 통해 페이로드 데이터에서 악성코드의 유무를 결정할 수 있다. 악성유무 결정부(350)의 구체적인 구성 및 동작은 도 4 및 6에서 보다 자세히 설명한다.
악성코드 탐지부(370)는 탐지대상객체의 이상 유무 및 악성코드의 유무를 이용하여 악성코드를 탐지할 수 있다. 탐지대상객체에 대한 이상 유무와 악성코드의 유무에 따른 검출 결과를 기초로 악성코드를 탐지할 수 있다. 즉, 악성코드 탐지부(370)는 기존의 분류 모델을 통한 탐지와 함께 별도의 이상탐지 모델을 결합하여 새로운 유형의 의심파일에 대해서는 효과적인 탐지를 수행할 수 있다.
제어부(390)는 악성코드 탐지 장치(130)의 전체적인 동작을 제어하고, 탐지대상객체 전처리부(310), 이상탐지 처리부(330), 악성유무 결정부(350) 및 악성코드 탐지부(370) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.
도 4는 도 3의 악성유무 결정부의 기능적 구성을 설명하는 도면이다.
도 4를 참조하면, 악성유무 결정부(350)는 시퀀스 스트림 생성모듈(410), 시퀀스 벡터 생성모듈(430), 단위 벡터열 생성모듈(450) 및 악성코드 탐지 모델 구축모듈(470)을 포함할 수 있다.
시퀀스 스트림 생성모듈(410)은 페이로드 데이터를 단위요소로 분해하여 일련의 시퀀스 스트림을 생성할 수 있다. 예를 들어, 탐지대상객체가 패킷인 경우 다양한 크기를 갖는 패킷의 페이로드 데이터를 특정 크기로 설정된 단위요소로 분해할 수 있으며, 페이로드 분할에 따라 일련의 스트림을 형성할 수 있다. 즉, 시퀀스 스트림은 네트워크를 통해 전송되는 패킷의 순서에 따라 페이로드 데이터가 동일한 크기의 단위요소들로 분할되어 형성되는 데이터 스트림에 해당할 수 있다.
한편, 시퀀스 스트림 생성모듈(410)에 의해 생성된 시퀀스 스트림은 다음 단계의 동작을 위해 임시 버퍼에 저장될 수 있으며, 필요에 따라 단위 기간마다 데이터베이스(150)에 독립적으로 저장될 수 있다.
일 실시예에서, 시퀀스 스트림 생성모듈(410)은 패킷의 길이가 특정 기준을 초과하지 않는 경우에는 단위요소를 바이트(byte)로 설정할 수 있다. 통상적으로 패킷의 길이는 제한될 수 있고, 패킷의 길이가 기 설정된 특정 기준을 초과하지 않는 경우라면 시퀀스 스트림 생성모듈(410)은 단위요소를 바이트로 설정할 수 있다. 예를 들어, 패킷의 페이로드 데이터는 16진수 바이트 시퀀스로 구성될 수 있고, 시퀀스 스트림 생성모듈(410)은 페이로드 데이터를 바이트 별로 분할하여 시퀀스 스트림을 생성할 수 있다.
시퀀스 벡터 생성모듈(430)은 분해의 과정에서 단위요소를 단위요소 값으로 변환하여 시퀀스 스트림에 대응되는 시퀀스 벡터를 생성할 수 있다. 여기에서, 시퀀스 벡터는 시퀀스 스트림에 대응되어 형성되는 특징 정보에 해당할 수 있으며, 페이로드 데이터 별로 생성될 수 있다. 예를 들어, 시퀀스 벡터 생성모듈(430)은 분해된 16진수의 단위요소에 대해 그에 대응되는 10진수의 정수값으로 변환함으로써 시퀀스 벡터의 각 성분값을 결정할 수 있다.
일 실시예에서, 시퀀스 벡터 생성모듈(430)은 시퀀스 벡터의 크기를 패킷의 최대 길이로 결정할 수 있다. 예를 들어, 페이로드 데이터에 대응되어 생성되는 시퀀스 벡터는 패킷의 최대 길이가 1600 바이트(byte)인 점이 반영되어 1600차원의 크기로 형성될 수 있다. 이때, 시퀀스 벡터 생성모듈(430)은 페이로드 데이터의 길이에 상관없이 고정된 크기의 시퀀스 벡터를 생성할 수 있다. 만약 페이로드 데이터의 길이가 상대적으로 짧아 시퀀스 벡터의 일부 성분값을 결정할 수 없는 경우 시퀀스 벡터 생성모듈(430)은 해당 페이로드 데이터를 다른 페이로드 데이터와 결합한 후 시퀀스 벡터를 생성할 수도 있다.
일 실시예에서, 시퀀스 벡터 생성모듈(430)은 단위요소를 0 부터 255 사이의 바이트 값에 대응되는 단위요소 값으로 변환할 수 있다. 예를 들어, 시퀀스 스트림이 16진수 바이트 시퀀스에 해당하는 경우 시퀀스 벡터 생성모듈(430)은 각 단위요소에 대해 0부터 255 사이의 바이트 값으로 변환하여 시퀀스 벡터를 생성할 수 있다. 만약 복수의 페이로드 데이터를 서로 연결하여 시퀀스 벡터를 생성하는 경우 시퀀스 벡터 생성모듈(430)은 단위요소의 크기를 확장하여 복수의 단위요소들을 기초로 0부터 255 사이의 바이트 값으로 변환하는 동작을 수행할 수 있다. 이때, 단위요소의 크기는 결합된 페이로드 데이터의 길이와 시퀀스 벡터의 크기를 기준으로 결정될 수 있다.
단위 벡터열 생성모듈(450)은 시퀀스 벡터를 기초로 복수의 단위 벡터들로 구성된 단위 벡터열을 생성할 수 있다. 여기에서, 단위 벡터는 단위요소값에 대응되는 특징 벡터에 해당할 수 있고, 단위 벡터열은 복수의 단위 벡터들의 집합에 해당할 수 있으며, 단위 벡터들을 순서대로 연결하여 생성되는 데이터열에 해당할 수 있다.
일 실시예에서, 단위 벡터열 생성모듈(450)은 패킷의 길이에 비례하도록 단위 벡터의 크기를 결정할 수 있다. 단위 벡터의 크기는 임베딩 알고리즘의 파라미터를 조정하여 다양한 값으로 설정될 수 있다. 단위 벡터열 생성모듈(450)은 패킷의 길이를 고려하여 단위 벡터의 크기를 결정할 수 있다. 예를 들어, 네트워크를 통해 전송되는 패킷의 평균 길이에 따라 단위 벡터의 크기를 조정함으로써 학습 과정에서 패킷의 주요 특징이 잘 반영되도록 할 수 있다. 또한, 단위 벡터열 생성모듈(450)은 네트워크를 통해 전송되는 패킷 길이의 최대값 또는 최소값을 기초로 단위 벡터의 크기를 동적으로 결정할 수도 있다.
일 실시예에서, 단위 벡터열 생성모듈(450)은 시퀀스 벡터의 단위요소 값들의 편차에 따라 단위 벡터의 크기를 결정할 수 있다. 단위 벡터열 생성모듈(450)은 시퀀스 벡터의 크기에 대응되는 개수들로 단위요소 값들을 구성할 수 있다. 단위 벡터열 생성모듈(450)은 단위요소 값들 간의 편차에 따라 단위 벡터의 크기를 결정할 수 있다. 이를 통해, 단위 벡터열 생성모듈(450)은 단위요소의 특징이 단위 벡터에 잘 반영되도록 할 수 있다. 예를 들어, 단위 벡터열 생성모듈(450)은 단위요소 값들의 최대 편차 또는 단위요소 값들 간의 표준편차에 따라 단위 벡터의 크기를 결정할 수 있다.
일 실시예에서, 단위 벡터열 생성모듈(450)은 시퀀스 벡터의 각 단위요소 값에 대응되는 임베딩 벡터(embedding vector)를 생성하여 복수의 단위 벡터들을 생성할 수 있다. 단위 벡터열 생성모듈(450)은 시퀀스 벡터를 사용하여 각 단위요소 값을 임베딩(embedding)하는 동작을 수행할 수 있다. 즉, 단위 벡터열 생성모듈(450)은 시퀀스 벡터의 각 단위요소 값을 단어(word)로 간주하여 소정의 임베딩 알고리즘을 적용한 결과로서 임베딩 벡터를 생성할 수 있다. 따라서, 단위 벡터는 각 단위요소 값에 대한 임베딩 벡터에 해당할 수 있고, 단위 벡터열은 단위 벡터들의 집합에 해당할 수 있다.
악성코드 탐지 모델 구축모듈(470)은 단위 벡터열을 학습하여 악성코드 탐지 모델을 구축할 수 있다. 단위 벡터열의 크기는 시퀀스 벡터와 단위 벡터 각각의 크기에 따라 결정될 수 있다. 예를 들어, 시퀀스 벡터의 크기가 x이고 단위 벡터의 크기가 y인 경우 단위 벡터열의 크기는 x * y로 결정될 수 있다. 악성코드 탐지 모델은 악성코드 탐지를 위한 학습 모델로서 특정 패킷에 대응되는 단위 벡터열을 입력으로 수신하여 악성 유무에 관한 판단 결과를 출력으로 제공할 수 있다. 이때, 악성 유무에 관한 판단 결과는 정상 또는 악성에 관한 확률 정보를 포함할 수 있다.
일 실시예에서, 악성코드 탐지 모델 구축모듈(470)은 게이트 CNN(Gated Convolutional Neural Network)을 통해 악성코드 탐지 모델을 구축할 수 있다. 여기에서, 게이트 CNN(Gated CNN)은 복수의 컨볼루션 레이어들(convolutional layers)을 통합하기 위한 게이트(Gate) 구조를 채택하나 CNN에 해당할 수 있다. 게이트는 다중 스케일 피처 레이어들(multi-scale feature layers)에 의해 구현될 수 있고, 여러 필터를 통해 유용한 정보를 추출하고 하나 이상의 컨벌루션 연산을 통해 노이즈를 차단할 수 있다. 따라서, 게이트 CNN을 통해 구축된 악성코드 탐지 모델은 보다 정확도 높게 악성코드를 탐지할 수 있다.
일 실시예에서, 악성코드 탐지 모델 구축모듈(470)은 단위 벡터열을 가중 1차원 컨볼루션 레이어 및 비-가중 1차원 컨볼루션 레이어에 각각 적용한 결과를 조합하여 학습을 수행할 수 있다. 악성코드 탐지 모델 구축모듈(470)은 동일한 1차원 CNN 모델(1D CNN)을 독립적으로 적용한 결과를 조합하여 악성코드 탐지를 위한 학습을 수행할 수 있다. 악성코드 탐지 모델 구축모듈(470)은 단위 벡터열을 각각의 1차원 컨볼루션 레이어에 입력할 수 있으며, 어느 하나의 1차원 컨볼루션 레이어를 통과한 결과에 대해 가중 연산을 적용할 수 있다.
예를 들어, 가중 1차원 컨볼루션 레이어는 1차원 컨볼루션 레이어와 활성 함수(activation function)의 결합으로 구성될 수 있다. 이때, 활성 함수는 시그모이드(sigmoid) 함수를 포함할 수 있다. 또한, 악성코드 탐지 모델 구축모듈(470)은 가중 1차원 컨볼루션 레이어 및 비-가중 1차원 컨볼루션 레이어에 적용한 결과를 조합하기 위하여 곱연산을 수행할 수 있다. 보다 구체적으로, 악성코드 탐지 모델 구축모듈(470)은 아다마르 곱(Hadamard product or element wise product) 연산을 수행하여 각각의 1D 컨볼루션 레이어의 결과들을 조합할 수 있다.
일 실시예에서, 악성코드 탐지 모델 구축모듈(470)은 조합의 결과에 관한 맥스 풀링(max pooling)을 수행한 다음 완전 연결 레이어(fully connected layer)를 적용하여 학습을 완성할 수 있다. 악성코드 탐지 모델 구축모듈(470)은 맥스 풀링 레이어를 통과시켜 데이터 크기를 줄일 수 있다. 또한, 악성코드 탐지 모델 구축모듈(470)은 완전 연결 레이어를 통과시켜 최종 결과를 학습시킬 수 있다. 한편, 악성코드 탐지 모델 구축모듈(470)은 필요에 따라 완전 연결 레이어에 활성 함수를 결합하여 출력값을 정규화 할 수 있다. 이때, 활성 함수는 소프트맥스(softmax) 함수를 포함할 수 있다.
도 5는 본 발명에 따른 하이브리드 인공지능 기반의 악성코드 탐지 과정을 설명하는 순서도이다.
도 5를 참조하면, 악성코드 탐지 장치(130)는 탐지대상객체 전처리부(310)를 통해 탐지대상객체를 입력받고 탐지대상객체의 전처리를 통해 메타데이터 및 페이로드 데이터로 분류할 수 있다(단계 S510). 악성코드 탐지 장치(130)는 이상탐지 처리부(330)를 통해 메타데이터의 이상유무를 검출하고 메타데이터의 이상이 존재하지 않는 경우에는 페이로드 데이터에 관한 행위 시뮬레이션을 수행하여 탐지대상객체의 이상을 탐지할 수 있다(단계 S530).
또한, 악성코드 탐지 장치(130)는 악성유무 결정부(350)를 통해 페이로드 데이터를 단위요소로 분해하여 일련의 시퀀스 스트림을 생성하고 분해의 과정에서 시퀀스 벡터를 생성하며 시퀀스 벡터를 기초로 단위 벡터열을 생성하고 단위 벡터열을 학습하여 구축된 악성코드 탐지 모델을 통해 페이로드 데이터에서 악성코드의 유무를 결정할 수 있다(단계 S550). 악성코드 탐지 장치(130)는 악성코드 탐지부(370)를 통해 탐지대상객체의 이상 유무 및 악성코드의 유무를 이용하여 악성코드를 탐지할 수 있다(단계 S570).
도 6은 본 발명에 따른 페이로드 데이터에서 악성코드의 유무를 결정하는 과정을 설명하는 순서도이다.
도 6을 참조하면, 악성코드 탐지 장치(130)는 악성코드를 탐지하는 악성유무 결정부(350)를 포함하여 구현될 수 있다. 또한, 악성유무 결정부(350)는 시퀀스 스트림 생성모듈(410)을 통해 페이로드 데이터를 단위요소로 분해하여 일련의 시퀀스 스트림을 생성할 수 있다(단계 S610).
또한, 악성유무 결정부(350)는 시퀀스 벡터 생성모듈(430)을 통해 분해의 과정에서 시퀀스 벡터를 생성할 수 있다(단계 S630). 악성유무 결정부(350)는 단위 벡터열 생성모듈(450)을 통해 시퀀스 벡터를 기초로 단위 벡터열을 생성할 수 있다(단계 S650). 악성유무 결정부(350)는 악성코드 탐지 모델 구축모듈(470)을 통해 단위 벡터열을 학습하여 구축된 악성코드 탐지 모델을 구축할 수 있다(단계 S670).
도 7은 본 발명에 따른 악성코드 탐지 모델을 위한 학습 데이터를 생성하는 과정을 설명하는 도면이다.
도 7을 참조하면, 악성코드 탐지 장치(130)는 악성유무 결정부(350)를 통해 페이로드 데이터의 분해 과정에서 단위요소를 단위요소 값으로 변환하여 시퀀스 스트림(710)에 대응되는 시퀀스 벡터(730)를 생성할 수 있다. 즉, 이 경우 탐지대상객체는 네트워크의 패킷에 해당할 수 있다.
악성코드 탐지 장치(130)는 별도의 특성 공학(feature engineering)을 적용하지 않고, 페이로드 데이터가 가진 원래의 데이터 시퀀스를 이용하여 각 패킷의 페이로드 데이터에 대응되는 시퀀스 벡터(730)를 생성할 수 있다. 이때, 시퀀스 벡터(730)의 크기는 패킷의 최대 길이가 1600 인 것을 고려하여 1600차원으로 설정될 수 있다. 즉, 악성코드 탐지 장치(130)는 네트워크를 통해 전송되는 패킷 별로 1600차원의 시퀀스 벡터(730)를 생성하여 학습을 위한 기초 자료로 사용할 수 있다.
또한, 악성코드 탐지 장치(130)는 악성유무 결정부(350)를 시퀀스 벡터(730)를 기초로 복수의 단위 벡터들로 구성된 단위 벡터열(750)을 생성할 수 있다. 악성코드 탐지 장치(130)는 시퀀스 벡터의 각 성분 값을 단어로 간주하여 임베딩 알고리즘을 통해 각 성분에 대응되는 임베딩 벡터를 단위 벡터로서 생성할 수 있다. 즉, 시퀀스 벡터(730)에 대응되어 생성되는 복수의 단위벡터들이 모여 단위 벡터열(750)을 구성할 수 있으며, 이후 단위 벡터열(750)은 악성코드 탐지 모델을 위한 학습 데이터로서 사용될 수 있다.
한편, 단위 벡터열(750)을 구성하는 단위 벡터의 크기는 패킷의 길이에 비례하여 설정될 수 있다. 또한, 단위 벡터의 크기는 시퀀스 벡터(730)의 단위요소 값들의 편차에 따라 결정될 수도 있다. 도 7에서, 단위 벡터열(750)은 1600 크기의 시퀀스 벡터(730)에 대응되어 4차원의 단위 벡터들로 구성된 1600 * 4 크기의 벡터로 변환될 수 있다.
악성코드 탐지 장치(130)는 악성유무 결정부(350)를 통해 단위 벡터열을 학습 데이터로 사용하여 악성코드 탐지 모델을 구축할 수 있다. 이때, 악성코드 탐지 장치(130)는 단위 벡터열을 게이트 CNN 구조를 통해 학습시킬 수 있다. 즉, 악성코드 탐지 장치(130)는 악성파일의 바이트 시퀀스를 학습시키는 Malconv 모델을 보안관제 데이터에 적용하여 보안관제를 위한 악성코드 탐지 모델을 구축할 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 악성코드 탐지 시스템
110: 사용자 단말 130: 악성코드 탐지 장치
150: 데이터베이스
210: 프로세서 230: 메모리
250: 사용자 입출력부 270: 네트워크 입출력부
310: 탐지대상객체 전처리부 330: 이상탐지 처리부
350: 악성유무 결정부 370: 악성코드 탐지부
390: 제어부
410: 시퀀스 스트림 생성모듈 430: 시퀀스 벡터 생성모듈
450: 단위 벡터열 생성모듈 470: 악성코드 탐지 모델 구축모듈
710: 시퀀스 스트림 730: 시퀀스 벡터
750: 단위 벡터열

Claims (15)

  1. 탐지대상객체를 입력받고 상기 탐지대상객체의 전처리를 통해 메타데이터 및 페이로드 데이터로 분류하는 탐지대상객체 전처리부;
    상기 메타데이터의 이상유무를 검출하고 상기 메타데이터의 이상이 존재하지 않는 경우에는 상기 페이로드 데이터에 관한 행위 시뮬레이션을 수행하여 상기 탐지대상객체의 이상을 탐지하는 이상탐지 처리부;
    상기 페이로드 데이터를 단위요소로 분해하여 일련의 시퀀스 스트림을 생성하고 상기 분해의 과정에서 시퀀스 벡터를 생성하며 상기 시퀀스 벡터를 기초로 단위 벡터열을 생성하고 상기 단위 벡터열을 학습하여 구축된 악성코드 탐지 모델을 통해 상기 페이로드 데이터에서 악성코드의 유무를 결정하는 악성유무 결정부; 및
    상기 탐지대상객체의 이상 유무 및 상기 악성코드의 유무를 이용하여 악성코드를 탐지하는 악성코드 탐지부를 포함하는 하이브리드 인공지능 기반의 악성코드 탐지 장치.
  2. 제1항에 있어서, 상기 탐지대상객체 전처리부는
    파일시스템에 있는 파일관리 데이터를 상기 메타데이터로 결정하고 상기 파일시스템에 있는 파일내용을 상기 페이로드 데이터로 결정하는 것을 특징으로 하는 하이브리드 인공지능 기반의 악성코드 탐지 장치.
  3. 제1항에 있어서, 상기 이상탐지 처리부는
    악성코드 메타데이터 데이터베이스에서 상기 메타데이터와 가장 유사한 악성코드 메타데이터를 결정하고, 상기 메타데이터 및 상기 악성코드 메타데이터 간의 유클리디언 거리(Euclidean Distance)를 기초로 상기 메타데이터의 이상을 결정하는 것을 특징으로 하는 하이브리드 인공지능 기반의 악성코드 탐지 장치.
  4. 제3항에 있어서, 상기 이상탐지 처리부는
    상기 페이로드 데이터를 독립적인 실행 공간을 가지는 행위 시뮬레이션 엔진을 통해 상기 행위 시뮬레이션을 수행하고, 상기 실행 공간 내에서 발생되는 행위를 분석하여 상기 탐지대상객체의 이상을 탐지하는 것을 특징으로 하는 하이브리드 인공지능 기반의 악성코드 탐지 장치.
  5. 제1항에 있어서, 상기 악성유무 결정부는
    상기 패킷의 길이가 특정 기준을 초과하지 않는 경우에는 상기 단위요소를 바이트(byte)로 설정하는 것을 특징으로 하는 하이브리드 인공지능 기반의 악성코드 탐지 장치.
  6. 제1항에 있어서, 상기 악성유무 결정부는
    상기 시퀀스 벡터의 크기를 상기 패킷의 최대 길이로 결정하는 것을 특징으로 하는 하이브리드 인공지능 기반의 악성코드 탐지 장치.
  7. 제1항에 있어서, 상기 악성유무 결정부는
    상기 단위요소를 0 부터 255 사이의 바이트 값에 대응되는 단위요소 값으로 변환하는 것을 특징으로 하는 하이브리드 인공지능 기반의 악성코드 탐지 장치.
  8. 제1항에 있어서, 상기 악성유무 결정부는
    상기 패킷의 길이에 비례하도록 상기 단위 벡터의 크기를 결정하는 것을 특징으로 하는 하이브리드 인공지능 기반의 악성코드 탐지 장치.
  9. 제7항에 있어서, 상기 악성유무 결정부는
    상기 시퀀스 벡터의 단위요소 값들의 편차에 따라 상기 단위 벡터의 크기를 결정하는 것을 특징으로 하는 하이브리드 인공지능 기반의 악성코드 탐지 장치.
  10. 제1항에 있어서, 상기 악성유무 결정부는
    상기 시퀀스 벡터의 각 단위요소 값에 대응되는 임베딩 벡터(embedding vector)를 생성하여 상기 복수의 단위 벡터들을 생성하는 것을 특징으로 하는 하이브리드 인공지능 기반의 악성코드 탐지 장치.
  11. 제1항에 있어서, 상기 악성유무 결정부는
    게이트 CNN(Gated Convolutional Neural Network)을 통해 상기 악성코드 탐지 모델을 구축하는 하이브리드 인공지능 기반의 악성코드 탐지 장치.
  12. 탐지대상객체를 입력받고 상기 탐지대상객체의 전처리를 통해 메타데이터 및 페이로드 데이터로 분류하는 단계;
    상기 메타데이터의 이상유무를 검출하고 상기 메타데이터의 이상이 존재하지 않는 경우에는 상기 페이로드 데이터에 관한 행위 시뮬레이션을 수행하여 상기 탐지대상객체의 이상을 탐지하는 단계;
    상기 페이로드 데이터를 단위요소로 분해하여 일련의 시퀀스 스트림을 생성하고 상기 분해의 과정에서 시퀀스 벡터를 생성하며 상기 시퀀스 벡터를 기초로 단위 벡터열을 생성하고 상기 단위 벡터열을 학습하여 구축된 악성코드 탐지 모델을 통해 상기 페이로드 데이터에서 악성코드의 유무를 결정하는 단계; 및
    상기 탐지대상객체의 이상 유무 및 상기 악성코드의 유무를 이용하여 악성코드를 탐지하는 단계를 포함하는 하이브리드 인공지능 기반의 악성코드 탐지 방법.
  13. 제12항에 있어서,
    상기 메타데이터 및 페이로드 데이터로 분류하는 단계는
    파일시스템에 있는 파일관리 데이터를 상기 메타데이터로 결정하고 상기 파일시스템에 있는 파일내용을 상기 페이로드 데이터로 결정하는 단계를 포함하는 것을 특징으로 하는 하이브리드 인공지능 기반의 악성코드 탐지 방법.
  14. 제12항에 있어서,
    상기 탐지대상객체의 이상을 탐지하는 단계는
    악성코드 메타데이터 데이터베이스에서 상기 메타데이터와 가장 유사한 악성코드 메타데이터를 결정하고, 상기 메타데이터 및 상기 악성코드 메타데이터 간의 유클리디언 거리(Euclidean Distance)를 기초로 상기 메타데이터의 이상을 결정하는 단계를 포함하는 것을 특징으로 하는 하이브리드 인공지능 기반의 악성코드 탐지 방법.
  15. 제14항에 있어서,
    상기 탐지대상객체의 이상을 탐지하는 단계는
    상기 페이로드 데이터를 독립적인 실행 공간을 가지는 행위 시뮬레이션 엔진을 통해 상기 행위 시뮬레이션을 수행하고, 상기 실행 공간 내에서 발생되는 행위를 분석하여 상기 탐지대상객체의 이상을 탐지하는 단계를 포함하는 것을 특징으로 하는 하이브리드 인공지능 기반의 악성코드 탐지 방법.
KR1020210002023A 2021-01-07 2021-01-07 하이브리드 인공지능 기반의 악성코드 탐지 장치 및 방법 KR102472850B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210002023A KR102472850B1 (ko) 2021-01-07 2021-01-07 하이브리드 인공지능 기반의 악성코드 탐지 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210002023A KR102472850B1 (ko) 2021-01-07 2021-01-07 하이브리드 인공지능 기반의 악성코드 탐지 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20220099749A true KR20220099749A (ko) 2022-07-14
KR102472850B1 KR102472850B1 (ko) 2022-12-01

Family

ID=82407035

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210002023A KR102472850B1 (ko) 2021-01-07 2021-01-07 하이브리드 인공지능 기반의 악성코드 탐지 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102472850B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117235727A (zh) * 2023-11-09 2023-12-15 中孚安全技术有限公司 基于大型语言模型的WebShell识别方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090005934A (ko) * 2007-07-10 2009-01-14 삼성전자주식회사 컴퓨터 프로그램의 행동을 이용하여 악성 프로그램인지여부를 진단하는 장치 및 방법
KR20090055669A (ko) 2007-11-29 2009-06-03 한국전자통신연구원 악성코드 탐지장치 및 방법
KR20180080450A (ko) * 2017-01-04 2018-07-12 한국전자통신연구원 클라우드 기반으로 악성코드를 탐지하는 장치 및 이를 이용한 방법
KR101880686B1 (ko) * 2018-02-28 2018-07-20 에스지에이솔루션즈 주식회사 Ai 딥러닝 기반의 악성코드 탐지 시스템
KR102010468B1 (ko) * 2018-09-06 2019-08-14 주식회사 윈스 악성코드 머신 러닝 분류 모델 검증 장치 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090005934A (ko) * 2007-07-10 2009-01-14 삼성전자주식회사 컴퓨터 프로그램의 행동을 이용하여 악성 프로그램인지여부를 진단하는 장치 및 방법
KR20090055669A (ko) 2007-11-29 2009-06-03 한국전자통신연구원 악성코드 탐지장치 및 방법
KR20180080450A (ko) * 2017-01-04 2018-07-12 한국전자통신연구원 클라우드 기반으로 악성코드를 탐지하는 장치 및 이를 이용한 방법
KR101880686B1 (ko) * 2018-02-28 2018-07-20 에스지에이솔루션즈 주식회사 Ai 딥러닝 기반의 악성코드 탐지 시스템
KR102010468B1 (ko) * 2018-09-06 2019-08-14 주식회사 윈스 악성코드 머신 러닝 분류 모델 검증 장치 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Edward Raff et al., "Malware Detection by Eating a Whole EXE"(2017.10.)* *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117235727A (zh) * 2023-11-09 2023-12-15 中孚安全技术有限公司 基于大型语言模型的WebShell识别方法和系统
CN117235727B (zh) * 2023-11-09 2024-02-23 中孚安全技术有限公司 基于大型语言模型的WebShell识别方法和系统

Also Published As

Publication number Publication date
KR102472850B1 (ko) 2022-12-01

Similar Documents

Publication Publication Date Title
Ni et al. Malware identification using visualization images and deep learning
Vinayakumar et al. Robust intelligent malware detection using deep learning
Jian et al. A novel framework for image-based malware detection with a deep neural network
US11025649B1 (en) Systems and methods for malware classification
JP7023259B2 (ja) 悪意あるファイルを検出するためのシステムおよび方法
Rahman et al. Adaptive intrusion detection based on boosting and naïve Bayesian classifier
US10785243B1 (en) Identifying evidence of attacks by analyzing log text
Wang et al. Representation learning-based network intrusion detection system by capturing explicit and implicit feature interactions
Levshun et al. A survey on artificial intelligence techniques for security event correlation: models, challenges, and opportunities
Sewak et al. Deep reinforcement learning for cybersecurity threat detection and protection: A review
Kalaivani et al. A Hybrid Deep Learning Intrusion Detection Model for Fog Computing Environment.
Alatawi et al. Anomaly Detection Framework in Fog-to-Things Communication for Industrial Internet of Things.
Panagiotou et al. Host-based intrusion detection using signature-based and AI-driven anomaly detection methods
Gao et al. Malware detection by control-flow graph level representation learning with graph isomorphism network
Tang et al. Bhmdc: A byte and hex n-gram based malware detection and classification method
KR102472850B1 (ko) 하이브리드 인공지능 기반의 악성코드 탐지 장치 및 방법
KR20220060843A (ko) 머신러닝과 시그니처 매칭을 결합한 문서형 악성코드 탐지 장치 및 방법
CN115883213B (zh) 基于连续时间动态异质图神经网络的apt检测方法及系统
Sinha A Study on Supervised Machine Learning Technique to Detect Anomalies in Networks
KR102307632B1 (ko) 적대적 재귀 오토인코더 기반 기업정보시스템 사용자 이상행위 탐지 시스템 및 방법
Sarkar et al. A better and fast cloud intrusion detection system using improved squirrel search algorithm and modified deep belief network
Chen et al. ELAMD: An ensemble learning framework for adversarial malware defense
KR102513837B1 (ko) 패킷 페이로드의 인공지능 학습을 통한 보안관제 장치 및 방법
Vrejoiu Neural networks and deep learning in cyber security
Edosa Comparative Analysis of Performance and Influence of PCA On Machine Learning Models Leveraging The NSL-KDD Dataset

Legal Events

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