KR20230111844A - 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치 및 방법 - Google Patents

구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치 및 방법 Download PDF

Info

Publication number
KR20230111844A
KR20230111844A KR1020220007804A KR20220007804A KR20230111844A KR 20230111844 A KR20230111844 A KR 20230111844A KR 1020220007804 A KR1020220007804 A KR 1020220007804A KR 20220007804 A KR20220007804 A KR 20220007804A KR 20230111844 A KR20230111844 A KR 20230111844A
Authority
KR
South Korea
Prior art keywords
document
malicious code
artificial intelligence
feature
stream
Prior art date
Application number
KR1020220007804A
Other languages
English (en)
Other versions
KR102662965B1 (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 KR1020220007804A priority Critical patent/KR102662965B1/ko
Publication of KR20230111844A publication Critical patent/KR20230111844A/ko
Application granted granted Critical
Publication of KR102662965B1 publication Critical patent/KR102662965B1/ko

Links

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
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Computer Hardware Design (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Virology (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

본 발명은 주변 환경 구조와 사용자 선호도를 반영한 인공지능 기반의 증강현실 아바타 포즈 제안 장치 및 방법에 관한 것으로, 상기 장치는 카메라를 통해 현실 이미지를 생성하는 이미지 생성부, 사용자 아바타를 생성하는 사용자 아바타 생성부, 상기 현실 이미지를 분석하여 상기 현실 이미지 상에 상기 사용자 아바타의 구도를 추천하는 사용자 아바타 구도 추천부, 및 사용자의 제어에 따라 상기 추천된 사용자 아바타의 구도를 조절하여 크기, 위치 또는 포즈를 결정하는 사용자 아바타 구도 조절부를 포함한다.

Description

구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치 및 방법{APPARATUS AND METHOD FOR DETECTING AI BASED MALIGNANT CODE IN STRUCTURED DOCUMENT}
본 발명은 인공지능 기반의 악성코드 탐지 기술에 관한 것으로, 보다 상세하게는 복수의 문서 구성요소들을 악성코드 탐지 모델에 입력하여 구조화 문서의 악성코드 포함 가능성을 결정할 수 있는 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치 및 방법에 관한 것이다.
악성코드란 사용자 컴퓨터를 침해하고 정상적인 기능을 수행하지 못하게 하는 프로그램으로, 트로이목마, 웜 바이러스, 키로거, 스파이웨어, 애드웨어, 랜섬웨어 등이 대표적이다. 이러한 악성코드 종류의 수는 많으며 새로운 형태의 악성코드로 발전하고 있다. 악성코드의 배포형식도 다양하여 이메일과 같은 미디어 컨텐츠에 악성 문서파일을 첨부해 중요 자료를 빼내는 해킹사고를 유발하는 방법도 있으며, 이러한 악성코드에 대핸 대응책으로 여러가지 방법들이 제시되고 있다.
일반적으로 악성코드 탐지 방법은 악성코드로 의심되는 파일에 대해 특정 코드섹션의 패턴정보를 이용하여 악성코드를 탐지한다. 그러나, 국내 기업의 PDF 악성코드 탐지율은 굉장히 낮으며, 특정 패턴(문자열)을 탐지하는 현재 탐지 방법은 새로운 악성 코드가 나올 때마다 새로 특정 패턴을 추가해야 하는 문제가 있다.
코드의 시그니처를 기반으로 블랙 리스트 혹은 화이트 리스트를 작성하고 이를 이용해 악성코드를 탐지하는 방법은 기존에 알려진 악성코드를 탐지하는 데는 적합하지만 새롭게 등장한 악성코드를 탐지하는 데는 한계가 있다.
또한, 과거의 서명 기반 악성코드 탐지 방법은 발현되었던 악성코드의 고유 해싱 값을 사용하거나 패턴화된 공격 규칙을 이용해 탐지하기 때문에 새로운 형태의 악성코드 탐지에는 취약하다.
역공학이 제시하는 다양한 분석 방법을 이용해 코드의 악성 여부를 전문가가 직접 밝혀내는 방법은 악성코드를 가장 정확하게 분석하는 방법이지만, 보안 전문가에 의해 정의된 악성코드 탐지 규칙만으로는 꾸준히 증가하고 있는 신종 악성코드를 효과적으로 탐지하는 것이 어려우며, 역공학 분야의 전문적인 지식을 가진 전문가를 필요로 할 뿐만 아니라 코드를 분석하는데 많은 시간이 요구되어 대량의 악성코드를 실시간에 분석하기는 어려운 문제가 있다.
최근, 기계학습을 비롯한 인공지능의 발전으로 인해 기계학습의 다양한 방법들을 악성 코드 탐지에 적용하려는 연구들이 시도되고 있다.
한국등록 특허 제10-2018-0024136호는 Ai 딥러닝 기반의 악성코드 탐지 시스템에 관한 것으로, 사용자 단말로부터 분석대상인 파일(이하 대상파일) 및, 상기 대상파일의 파일정보를 수집하는 파일수집모듈; 상기 대상파일의 바이너리 파일을 파일저장소로 저장하고, 수집된 대상파일의 파일정보를 관리모듈로 전송하는 분배모듈; 상기 대상파일의 파일정보를 이용하여 작업큐에 해당 대상파일에 대한 분석작업을 등록하는 관리모듈; 작업큐에 등록된 파일정보를 수신받아, 해당 파일정보의 대상파일을 파일저장소로부터 읽어오고, 대상파일을 랜더링하여 대상파일이 수행한 기록인 동적 정보를 수집하고, 대상파일의 파일 구조에 의한 속성값들로부터 정적 정보를 수집하는 정보수집모듈; 수집된 동적 정보 및 정적 정보로부터 사전에 정의한 특징을 선택적으로 추출하고, 추출된 특징을 저장하는 특징추출모듈; 기계학습 분류기를 이용하여, 대상파일의 특징을 통해 대상파일에 대한 악성코드 여부를 판단하고, 악성코드 여부의 결과를 관리모듈로 전송하는 분류모듈; 및, 악성파일을 삭제하거나 격리시키는 에이전트 모듈을 포함하고, 상기 관리모듈은 상기 분류모듈의 결과에 따른 해당 악성코드에 대하여 IOC(Indicator Of Compromise) 정보를 생성하고, 상기 에이전트 모듈은 상기 IOC 정보에 따라 악성파일을 삭제하거나 격리시키는 구성을 통해 대상파일의 정적 정보 및 동적 정보를 모두 활용하여, 악성의 특징이 강한 특징들의 연관성과 그들의 연속성에 대해 기계학습을 시키고 악성코드 여부를 판별하는 AI 딥러닝 기반의 악성코드 탐지 시스템을 개시하고 있다.
한국등록 특허 제10-2018-0024136 (2018.02.28)호
본 발명의 일 실시예는 복수의 문서 구성요소들을 악성코드 탐지 모델에 입력하여 구조화 문서의 악성코드 포함 가능성을 결정할 수 있는 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치 및 방법을 제공하고자 한다.
본 발명의 일 실시예는 PDF (Portable Document Format) 문서에 대한 메타, 스트림, 엔트로피 및 컨텐츠 분석을 통해 악성코드를 탐지할 수 있는 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치 및 방법을 제공하고자 한다.
본 발명의 일 실시예는 랜덤 포레스트 방식의 인공지능 모델로 악성코드 탐지모델을 구현하여 악성코드를 탐지할 수 있는 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치 및 방법을 제공하고자 한다.
실시예들 중에서, 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치는 구조화 문서에 관한 문서 포맷을 식별하여 복수의 문서 구성요소들을 검출하는 문서 구조 검출부, 상기 복수의 문서 구성요소들에 대한 피처 분석을 통해 문서 피처를 생성하는 문서 피처 생성부 및 상기 문서 피처를 악성코드 탐지 모델에 입력하여 상기 구조화 문서의 악성코드 포함 가능성을 결정하는 악성코드 결정부를 포함한다.
상기 문서 구조 검출부는 PDF (Portable Document Format) 문서를 분석하여 복수의 오브젝트들을 상기 복수의 문서 구성요소들로서 검출할 수 있다.
상기 문서 피처 생성부는 상기 복수의 문서 구성요소들에 대한 메타, 스트림, 엔트로피 및 컨텐츠 분석을 통해 상기 문서 피처를 구성하는 복수의 피처 요소들을 생성할 수 있다.
제1 실시예에서, 상기 문서 피처 생성부는 상기 복수의 문서 구성요소들에 대한 메타 분석을 통해 스트림 길이의 합 및 파일 크기와 스트림 길이의 합 간의 비율을 산출할 수 있다. 제2 실시예에서, 상기 문서 피처 생성부는 상기 복수의 문서 구성요소들에 대한 스트림 분석을 통해 스트림 길이의 최대값과 최소값, 평균값 및 표준편차를 산출할 수 있다. 제3 실시예에서, 상기 문서 피처 생성부는 상기 복수의 문서 구성요소들에 대한 엔트로피 분석을 통해 스트림 엔트로피의 최대값과 최소값, 평균값 및 표준편차를 산출할 수 있다. 제4 실시예에서, 상기 문서 피처 생성부는 상기 복수의 문서 구성요소들에 대한 컨텐츠 분석을 통해 스트림 태그 집합을 산출할 수 있다.
상기 악성코드 결정부는 상기 악성코드 탐지모델을 통해 상기 문서 피처를 구성하는 메타, 스트림, 엔트로피 및 컨텐츠 분석 각각에 대한 부분적인 악성코드 가능성을 기초로 상기 악성코드 포함 가능성을 결정할 수 있다. 상기 악성코드 결정부는 상기 부분적인 악성코드 가능성의 가중 평균값을 산출하여 상기 악성코드 포함 가능성을 결정할 수 있다. 상기 악성코드 결정부는 상기 악성코드 탐지모델을 랜덤 포레스트 방식의 인공지능 모델로 구현할 수 있다.
실시예들 중에서, 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 방법은 구조화 문서에 관한 문서 포맷을 식별하여 복수의 문서 구성요소들을 검출하는 문서 구조 검출단계, 상기 복수의 문서 구성요소들에 대한 피처 분석을 통해 문서 피처를 생성하는 문서 피처 생성단계 및 상기 문서 피처를 악성코드 탐지 모델에 입력하여 상기 구조화 문서의 악성코드 포함 가능성을 결정하는 악성코드 결정단계를 포함한다.
상기 문서 구조 검출단계는 PDF (Portable Document Format) 문서를 분석하여 복수의 오브젝트들을 상기 복수의 문서 구성요소들로서 검출하는 단계를 포함할 수 있다.
상기 문서 피처 생성단계는 상기 복수의 문서 구성요소들에 대한 메타, 스트림, 엔트로피 및 컨텐츠 분석을 통해 상기 문서 피처를 구성하는 복수의 피처 요소들을 생성하는 단계를 포함할 수 있다.
상기 악성코드 결정단계는 상기 악성코드 탐지모델을 통해 상기 문서 피처를 구성하는 메타, 스트림, 엔트로피 및 컨텐츠 분석 각각에 대한 부분적인 악성코드 가능성을 기초로 상기 악성코드 포함 가능성을 결정할 수 있다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다 거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 일 실시예에 따른 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치 및 방법은 복수의 문서 구성요소들을 악성코드 탐지 모델에 입력하여 구조화 문서의 악성코드 포함 가능성을 결정할 수 있다.
본 발명의 일 실시예에 따른 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치 및 방법은 PDF (Portable Document Format) 문서에 대한 메타, 스트림, 엔트로피 및 컨텐츠 분석을 통해 악성코드를 탐지할 수 있다.
본 발명의 일 실시예에 따른 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치 및 방법은 랜덤 포레스트 방식의 인공지능 모델로 악성코드 탐지모델을 구현하여 악성코드를 탐지할 수 있다.
도 1은 본 발명의 일 실시예에 따른 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 시스템을 설명하는 도면이다.
도 2는 도 1에 있는 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치를 설명하는 하드웨어 블록도이다.
도 3은 도 1에 있는 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치를 설명하는 기능 블록도이다.
도 4는 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 과정을 설명하는 흐름도이다.
도 5는 PDF 문서와 같은 구조화 문서를 설명하는 예시도이다.
도 6은 문서 구조에 대한 메타, 스트림, 엔트로피 및 컨텐츠 분석을 설명하는 예시도이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 본 발명의 일 실시예에 따른 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 시스템을 설명하는 도면이다.
도 1을 참조하면, 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 시스템(100)은 사용자 단말(110), 인공지능 기반의 악성코드 탐지 장치(130) 및 사용자 데이터베이스(150)을 포함하고, 이들은 네트워크를 통해 연결될 수 있다.
사용자 단말(110)은 구조화 문서에 대한 편집, 뷰어 또는 생성을 수행하는 컴퓨팅 장치에 해당할 수 있다. 일 실시예에서, 사용자 단말(110)은 스마트폰, 태블릿, 노트북, PC 등으로 구현될 수 있다. 또한, 사용자 단말(110)은 유선 또는 무선으로 인공지능 기반의 악성코드 탐지 장치(130)와 연결될 수 있다. 여기에서, 구조화 문서는 문서 구성을 위한 특정 포맷을 가지는 텍스트, 그림, 오디오, 비디오, 스크립트 중 적어도 하나를 포함할 수 있고, 예를 들어, PDF (Portable Document Format) 문서를 포함할 수 있다.
일 실시예에서, 사용자 단말(110)은 도 1과 달리 인공지능 기반의 악성코드 탐지 장치(130)의 일 구성으로 포함되어 구현되어 구조화 문서에 관한 편집, 뷰어 또는 생성의 역할을 수행할 수 있다.
인공지능 기반의 악성코드 탐지 장치(130)는 사용자 단말(110)과 네트워크를 통해 연동될 수 있는 별도의 컴퓨팅 장치(즉, 서버)에 해당할 수 있고, 또는 인공지능 기반의 악성코드 탐지 기능을 구현한 어플리케이션을 설치한 사용자 단말(110)에 해당할 수 있다.
인공지능 기반의 악성코드 탐지 장치(130)는 사용자 단말(110)로부터 구조화 문서를 수신하고 구조화 문서를 악성코드 탐지 모델에 입력하여 구조화 문서의 악성코드 포함 가능성을 결정할 수 있다.
보다 구체적으로, 인공지능 기반의 악성코드 탐지 장치(130)는 구조화 문서에 관한 문서 포맷을 식별하여 복수의 문서 구성요소들을 검출하고, 복수의 문서 구성요소들에 대한 문서 피처를 악성코드 탐지 모델에 입력하여 악성코드 포함 가능성을 결정한다.
사용자 데이터베이스(150)는 사용자 정보를 관리하고 특히, 악성코드 탐지 서비스를 위한 사용자 과금정보를 포함할 수 있다. 또한, 사용자 데이터베이스(150)는 사용자 피드백을 통해 악성코드를 명확하게 포함하는 구조화 문서에 관한 레코드를 구축할 수 있고 인공지능 기반의 악성코드 탐지 장치(130)가 인공지능 기반의 악성코드 분석 이전에 레코드를 통해 시그니처 방식으로 악성코드 가능성을 결정하도록 할 수 있다.
한편, 사용자 데이터베이스(150)는 반드시 이에 한정되지 않고, 악성코드 탐지를 수행하는 과정에서 구조화 문서에 대한 수집 또는 가공된 정보들을 저장할 수 있다. 또한, 사용자 데이터베이스(150)는 도 1에서 인공지능 기반의 악성코드 탐지 장치(130)와 별도의 물리적 장치로 구현된 것으로 가정하였으나, 반드시 이에 한정되지 않고, 인공지능 기반의 악성코드 탐지 장치(130)에 통합적으로 구현될 수 있다.
도 2는 도 1에 있는 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치를 설명하는 하드웨어 블록도이다.
도 2를 참조하면, 인공지능 기반의 악성코드 탐지 장치(130)는 프로세서(210), 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)를 포함할 수 있다.
프로세서(210)는 본 발명의 일 실시예에 따른 인공지능 기반의 악성코드 탐지 프로시저를 실행할 수 있고, 이러한 과정에서 읽혀지거나 작성되는 메모리(230)를 관리할 수 있으며, 메모리(230)에 있는 휘발성 메모리와 비휘발성 메모리 간의 동기화 시간을 스케줄 할 수 있다. 프로세서(210)는 인공지능 기반의 악성코드 탐지 장치(130)의 동작 전반을 제어할 수 있고, 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)와 전기적으로 연결되어 이들 간의 데이터 흐름을 제어할 수 있다. 프로세서(210)는 인공지능 기반의 악성코드 탐지 장치(130)의 CPU(Central Processing Unit)로 구현될 수 있다.
메모리(230)는 SSD(Solid State Disk) 또는 HDD(Hard Disk Drive)와 같은 비휘발성 메모리로 구현되어 사용자 맞춤형 심리상담 전문가 매칭 장치(130)에 필요한 데이터 전반을 저장하는데 사용되는 보조기억장치를 포함할 수 있고, RAM(Random Access Memory)과 같은 휘발성 메모리로 구현된 주기억장치를 포함할 수 있다. 또한, 메모리(230)는 전기적으로 연결된 프로세서(210)에 의해 실행됨으로써 본 발명에 따른 학습 데이터베이스 구축 방법을 실행하는 명령들의 집합을 저장할 수 있다.
사용자 입출력부(250)은 사용자 입력을 수신하기 위한 환경 및 사용자에게 특정 정보를 출력하기 위한 환경을 포함하고, 예를 들어, 터치 패드, 터치 스크린, 화상 키보드 또는 포인팅 장치와 같은 어댑터를 포함하는 입력장치 및 모니터 또는 터치 스크린과 같은 어댑터를 포함하는 출력장치를 포함할 수 있다. 일 실시예에서, 사용자 입출력부(250)은 원격 접속을 통해 접속되는 컴퓨팅 장치에 해당할 수 있고, 그러한 경우, 인공지능 기반의 악성코드 탐지 장치(130)는 독립적인 서버로서 수행될 수 있다.
네트워크 입출력부(270)은 네트워크를 통해 사용자 단말(110)과 연결되기 위한 통신 환경을 제공하고, 예를 들어, LAN(Local Area Network), MAN(Metropolitan Area Network), WAN(Wide Area Network) 및 VAN(Value Added Network) 등의 통신을 위한 어댑터를 포함할 수 있다. 또한, 네트워크 입출력부(270)는 학습 데이터의 무선 전송을 위해 WiFi, 블루투스 등의 근거리 통신 기능이나 4G 이상의 무선 통신 기능을 제공하도록 구현될 수 있다.
도 3은 도 1에 있는 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치를 설명하는 기능 블록도이다.
도 3을 참조하면, 인공지능 기반의 악성코드 탐지 장치(130)는 문서 구조 검출부(310), 문서 피처 생성부(320), 악성코드 결정부(330) 및 제어부(340)를 포함할 수 있다.
문서 구조 검출부(310)는 구조화 문서에 관한 문서 포맷을 식별하여 복수의 문서 구성요소들을 검출한다. 예를 들어, 구조화 문서는 PDF (Portable Document Format) 문서에 해당할 수 있다.
도 5는 PDF 문서와 같은 구조화 문서를 설명하는 예시도이다.
도 5에서, PDF 문서(파일)(500)은 헤더, 바디, 테이블 및 트레일러로 구성된다. 헤더는 PDF 버전을 포함할 수 있고, 바디는 오브젝트 집합을 포함할 수 있다. 여기에서, 오브젝트 집합은 복수의 오브젝트들(Objecti-1, Ojbecti, Objecti+1, ...)로 구성될 수 있다. 테이블은 간접 오브젝트 전역 참조 테이블에 해당하고, 트레일러는 전역 참조 오브젝트의 위치를 포함할 수 있다.
일 실시예에서, 문서 구조 검출부(310)는 PDF 문서를 분석하여 바디의 오브젝트 집합에 있는 복수의 오브젝트들(Objecti-1, Ojbecti, Objecti+1, ...)을 상기 복수의 문서 구성요소들로서 검출할 수 있다.
오브젝트(Objecti)는 PDF의 실질적인 내용을 포함할 수 있고, 보다 구체적으로, 오브젝트 헤드, 컨텐츠(Contenti) 및 컨텐츠 스트림(Content Streami)를 포함한다.
오브젝트 헤드는 오브젝트의 번호 및 버전을 포함할 수 있고, 컨텐츠(Contenti)는 실질적 내용에 해당하는 오브젝트 내부 데이터를 포함하고 컨텐츠 스트림(Content Streami)은 다른 오브젝트로 표현이 불가능한 상대적으로 크기가 큰 내용(예: 이미지) 또는 페이지 구성 오브젝트(파일 내용)을 포함할 수 있다.
다시 도 3에서, 문서 피처 생성부(320)는 복수의 문서 구성요소들에 대한 피처 분석을 통해 문서 피처를 생성한다. 여기에서, 피처 분석은 기존의 특정 패턴(문자열)을 탐지하는 것과 같이 특정 패턴을 이용하지 않고 새로운 악성코드를 탐지하기 위해 사용될 수 있다. 즉, 피처 분석은 복수의 문서 구성요소들에 대한 요약된 특징을 생성하는데 활용될 수 있다. 문서 피처 생성부(320)는 문서 피처를 피처벡터 또는 피처맵으로 구성할 수 있고, 피처맵으로 구성되는 경우, 풀링을 통해 피처맵의 크기를 줄일 수 있다.
문서 피처 생성부(320)는 복수의 문서 구성요소들에 대한 메타, 스트림, 엔트로피 및 컨텐츠 분석을 통해 상기 문서 피처를 구성하는 복수의 피처 요소들을 생성할 수 있다. 메타, 스트림, 엔트로피 및 컨텐츠 분석은 도 6을 참조하여 설명한다.
도 6은 문서 구조에 대한 메타, 스트림, 엔트로피 및 컨텐츠 분석을 설명하는 예시도이다.
도 6에서, 문서 구조의 분석 기법(600)은 메타, 스트림, 엔트로피 및 컨텐츠 분석을 포함한다.
여기에서, 아래에서 사용되는 용어의 정의는 다음과 같다.
len(file)은 파일 크기 (단위: 바이트)에 해당하고, Si: 오브젝트(Objecti)의 컨텐츠 스트림(Content Streami)으로, 바이트 스트림으로 표현될 수 있다. len(Si)는 Si의 크기 (단위: 바이트)를 나타내고, ent(Si)는 Si의 엔트로피를 나타내며, tags(Si)는 Si에 포함된 태그들의 집합을 나타낸다.
문서 피처 생성부(320)는 복수의 문서 구성요소들에 대한 메타 분석(Meta)을 통해 스트림 길이의 합 및 파일 크기와 스트림 길이의 합 간의 비율을 산출할 수 있다.
문서 피처 생성부(320)는 복수의 문서 구성요소들에 대한 스트림 분석을 통해 스트림 길이의 최대값 과 최소값 , 평균값 및 표준편차 를 산출할 수 있다.
문서 피처 생성부(320)는 복수의 문서 구성요소들에 대한 엔트로피 분석을 통해 스트림 엔트로피의 최대값 과 최소값 , 평균값 및 표준편차 를 산출할 수 있다.
문서 피처 생성부(320)는 복수의 문서 구성요소들에 대한 컨텐츠 분석을 통해 스트림 태그 집합 을 산출할 수 있다.
다시 도 3에서, 악성코드 결정부(330)는 문서 피처를 악성코드 탐지 모델에 입력하여 구조화 문서의 악성코드 포함 가능성을 결정한다. 여기에서, 악성코드 탐지 모델은 인공지능 기반의 학습을 통해 구축될 수 있고, 예를 들어, 랜덤 포레스트 방식의 인공지능 모델로 구현될 수 있다.
악성코드 결정부(330)는 악성코드 탐지모델을 통해 문서 피처를 구성하는 메타, 스트림, 엔트로피 및 컨텐츠 분석 각각에 대한 부분적인 악성코드 가능성을 기초로 악성코드 포함 가능성을 결정한다.
여기에서, 악성코드 탐지모델을 통한 메타 분석의 관점에서, 악성 행위를 시도하는 PDF은 오브젝트 스트림 및 오브젝트 컨텐츠에 악성 행위를 삽입해야 하는 특성상 정상 파일과의 스트림 길이 및 실제 파일 사이즈에 대한 그 비율을 상이하게 할 것으므로, 메타 분석은 이러한 상이점을 기초로 부분적인 악성코드 가능성을 결정할 수 있다.
악성코드 탐지모델을 통한 스트림 분석의 관점에서, 악성 행위를 시도하는 PDF은 오브젝트에 악성 행위가 포함되었을 경우, 순수하게 악성 행위만을 위하여 만들어진 PDF의 경우 스트림 길이의 표준편차는 클 것이고 그 평균은 작을 것이고, 오브젝트 내부 태그의 종류 또한 작을 것이다. 즉, 정상 파일에 악성 행위를 시도하는 오브젝트가 삽입된 경우에는 그 오브젝트는 다른 오브젝트와는 상이한 양상을 보일 것이고, 이는 PDF 파일의 통계적 수치를 정상과는 다르게 만들 가능성이 있다. 스트림 분석은 이러한 다른점을 기초로 부분적인 악성코드 가능성을 결정할 수 있다.
악성코드 탐지모델을 통한 엔트로피 분석의 관점에서, 악성 행위를 시도하는 오브젝트가 난독화 되어있을 경우, 엔트로피의 최대값은 굉장히 높아질 것이고, 이는 오브젝트들의 평균 엔트로피와 다른 양상일 가능성이 커 표준편차 또한 증가시킬 가능성이 있다. 특히, 악성 행위만을 위해 만들어진 PDF의 경우 평균과 최대값의 차이는 매우 클 것이다. 엔트로피 분석은 이러한 다른점을 기초로 부분적인 악성코드 가능성을 결정할 수 있다.
악성코드 탐지모델을 통한 컨텐츠 분석의 관점에서, 순수하게 악성 행위만을 위해 만들어진 경우, PDF의 내용은 의미를 담고 있지 않아 오브젝트 내부 태그의 개수가 다양하지 못할 가능성이 높다. 컨텐츠 분석은 이러한 다른점을 기초로 부분적인 악성코드 가능성을 결정할 수 있다.
악성코드 결정부(330)는 부분적인 악성코드 가능성을 종합하여 최종적인 악성코드 포함 가능성을 결정할 수 있다. 도 7은 랜덤 포레스트를 통한 악성코드 탐지모델로 악성코드 포함 가능성을 탐지한 결과를 나타내는 테이블이다.
도 7의 테이블(700)에서, 악성코드 탐지모델은 메타, 스트림, 엔트로피 및 컨텐츠 각각만을 활용할 때보다, 종합할 경우, 훨씬 더 나은 성능을 보여주고 있다.
일 실시예에서, 악성코드 결정부(330)는 부분적인 악성코드 가능성의 가중 평균값을 산출하여 악성코드 포함 가능성을 결정할 수 있다. 즉, 악성코드 결정부(330)는 메타, 스트림, 엔트로피 및 컨텐츠 분석 각각에 가중치를 부여하고 가중 평균값을 산출할 수 있다. 예를 들어, 가중치는 메타, 스트림, 엔트로피 및 컨텐츠 분석 과정에서 평균보다 큰 상이점에 비례하게 가중치를 부여할 수 있다.
제어부(290)는 인공지능 기반의 악성코드 탐지 장치(130)의 전체적인 동작을 제어하고, 문서 구조 검출부(310), 문서 피처 생성부(320) 및 악성코드 결정부(330) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.
도 4는 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 과정을 설명하는 흐름도이다.
도 4에서, 문서 구조 검출부(310)는 구조화 문서에 관한 문서 포맷을 식별하여 복수의 문서 구성요소들을 검출한다(단계 S410). 문서 피처 생성부(320)는 복수의 문서 구성요소들에 대한 피처 분석을 통해 문서 피처를 생성한다(단계 S420). 악성코드 결정부(330)는 문서 피처를 악성코드 탐지 모델에 입력하여 구조화 문서의 악성코드 포함 가능성을 결정한다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 시스템
110: 사용자 단말 150 : 사용자 데이터베이스
130 : 인공지능 기반의 악성코드 탐지 장치
310 : 문서 구조 검출부 320 : 문서 피처 생성부
330 : 악성코드 결정부 340 : 제어부

Claims (14)

  1. 구조화 문서에 관한 문서 포맷을 식별하여 복수의 문서 구성요소들을 검출하는 문서 구조 검출부;
    상기 복수의 문서 구성요소들에 대한 피처 분석을 통해 문서 피처를 생성하는 문서 피처 생성부; 및
    상기 문서 피처를 악성코드 탐지 모델에 입력하여 상기 구조화 문서의 악성코드 포함 가능성을 결정하는 악성코드 결정부를 포함하는 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치.
  2. 제1항에 있어서, 상기 문서 구조 검출부는
    PDF (Portable Document Format) 문서를 분석하여 복수의 오브젝트들을 상기 복수의 문서 구성요소들로서 검출하는 것을 특징으로 하는 인공지능 기반의 악성코드 탐지 장치.
  3. 제1항에 있어서, 상기 문서 피처 생성부는
    상기 복수의 문서 구성요소들에 대한 메타, 스트림, 엔트로피 및 컨텐츠 분석을 통해 상기 문서 피처를 구성하는 복수의 피처 요소들을 생성하는 것을 특징으로 하는 인공지능 기반의 악성코드 탐지 장치.
  4. 제2항에 있어서, 상기 문서 피처 생성부는
    상기 복수의 문서 구성요소들에 대한 메타 분석을 통해 스트림 길이의 합 및 파일 크기와 스트림 길이의 합 간의 비율을 산출하는 것을 특징으로 하는 인공지능 기반의 악성코드 탐지 장치.
  5. 제2항에 있어서, 상기 문서 피처 생성부는
    상기 복수의 문서 구성요소들에 대한 스트림 분석을 통해 스트림 길이의 최대값과 최소값, 평균값 및 표준편차를 산출하는 것을 특징으로 하는 인공지능 기반의 악성코드 탐지 장치.
  6. 제2항에 있어서, 상기 문서 피처 생성부는
    상기 복수의 문서 구성요소들에 대한 엔트로피 분석을 통해 스트림 엔트로피의 최대값과 최소값, 평균값 및 표준편차를 산출하는 것을 특징으로 하는 인공지능 기반의 악성코드 탐지 장치.
  7. 제2항에 있어서, 상기 문서 피처 생성부는
    상기 복수의 문서 구성요소들에 대한 컨텐츠 분석을 통해 스트림 태그 집합을 산출하는 것을 특징으로 하는 인공지능 기반의 악성코드 탐지 장치.
  8. 제1항에 있어서, 상기 악성코드 결정부는
    상기 악성코드 탐지모델을 통해 상기 문서 피처를 구성하는 메타, 스트림, 엔트로피 및 컨텐츠 분석 각각에 대한 부분적인 악성코드 가능성을 기초로 상기 악성코드 포함 가능성을 결정하는 것을 특징으로 하는 인공지능 기반의 악성코드 탐지 장치.
  9. 제8항에 있어서, 상기 악성코드 결정부는
    상기 부분적인 악성코드 가능성의 가중 평균값을 산출하여 상기 악성코드 포함 가능성을 결정하는 것을 특징으로 하는 인공지능 기반의 악성코드 탐지 장치.
  10. 제8항에 있어서, 상기 악성코드 결정부는
    상기 악성코드 탐지모델을 랜덤 포레스트 방식의 인공지능 모델로 구현하는 것을 특징으로 하는 인공지능 기반의 악성코드 탐지 장치.
  11. 구조화 문서에 관한 문서 포맷을 식별하여 복수의 문서 구성요소들을 검출하는 문서 구조 검출단계;
    상기 복수의 문서 구성요소들에 대한 피처 분석을 통해 문서 피처를 생성하는 문서 피처 생성단계; 및
    상기 문서 피처를 악성코드 탐지 모델에 입력하여 상기 구조화 문서의 악성코드 포함 가능성을 결정하는 악성코드 결정단계를 포함하는 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 방법.
  12. 제11항에 있어서, 상기 문서 구조 검출단계는
    PDF (Portable Document Format) 문서를 분석하여 복수의 오브젝트들을 상기 복수의 문서 구성요소들로서 검출하는 단계를 포함하는 것을 특징으로 하는 인공지능 기반의 악성코드 탐지 방법.
  13. 제11항에 있어서, 상기 문서 피처 생성단계는
    상기 복수의 문서 구성요소들에 대한 메타, 스트림, 엔트로피 및 컨텐츠 분석을 통해 상기 문서 피처를 구성하는 복수의 피처 요소들을 생성하는 단계를 포함하는 것을 특징으로 하는 인공지능 기반의 악성코드 탐지 장치.
  14. 제11항에 있어서, 상기 악성코드 결정단계는
    상기 악성코드 탐지모델을 통해 상기 문서 피처를 구성하는 메타, 스트림, 엔트로피 및 컨텐츠 분석 각각에 대한 부분적인 악성코드 가능성을 기초로 상기 악성코드 포함 가능성을 결정하는 단계를 포함하는 것을 특징으로 하는 인공지능 기반의 악성코드 탐지 방법.

KR1020220007804A 2022-01-19 2022-01-19 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치 및 방법 KR102662965B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220007804A KR102662965B1 (ko) 2022-01-19 2022-01-19 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220007804A KR102662965B1 (ko) 2022-01-19 2022-01-19 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20230111844A true KR20230111844A (ko) 2023-07-26
KR102662965B1 KR102662965B1 (ko) 2024-05-03

Family

ID=87427618

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220007804A KR102662965B1 (ko) 2022-01-19 2022-01-19 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102662965B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180024136A (ko) 2016-08-29 2018-03-08 (주)다온이엔지 블루투스 휴대용장치를 이용한 전장품 제어 시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180024136A (ko) 2016-08-29 2018-03-08 (주)다온이엔지 블루투스 휴대용장치를 이용한 전장품 제어 시스템 및 방법

Also Published As

Publication number Publication date
KR102662965B1 (ko) 2024-05-03

Similar Documents

Publication Publication Date Title
Venkatraman et al. A hybrid deep learning image-based analysis for effective malware detection
Yakura et al. Malware analysis of imaged binary samples by convolutional neural network with attention mechanism
US10614243B2 (en) Privacy detection of a mobile application program
US9621571B2 (en) Apparatus and method for searching for similar malicious code based on malicious code feature information
TWI515598B (zh) 產生純化惡意程式的方法、偵測惡意程式之方法及其系統
KR101337874B1 (ko) 파일 유전자 지도를 이용하여 파일의 악성코드 포함 여부를 판단하는 방법 및 시스템
US20120311709A1 (en) Automatic management system for group and mutant information of malicious codes
Zhu et al. Android malware detection based on multi-head squeeze-and-excitation residual network
CN109977976B (zh) 可执行文件相似度的检测方法、装置和计算机设备
Nguyen et al. Detecting repackaged android applications using perceptual hashing
KR20180133726A (ko) 특징 벡터를 이용하여 데이터를 분류하는 장치 및 방법
US8949771B2 (en) Media files including programming code and description
Vashishtha et al. An Ensemble approach for advance malware memory analysis using Image classification techniques
CN112380537A (zh) 一种检测恶意软件的方法、装置、存储介质和电子设备
CN111368128A (zh) 目标图片的识别方法、装置和计算机可读存储介质
KR102662965B1 (ko) 구조화 문서에 대한 인공지능 기반의 악성코드 탐지 장치 및 방법
KR20210035987A (ko) 자카드 모델 기반의 문서 검색 장치 및 방법
Vahedi et al. Cloud based malware detection through behavioral entropy
KR102255600B1 (ko) Gan을 이용한 문서형 악성코드 탐지 장치 및 방법
CN114579965A (zh) 一种恶意代码的检测方法、装置及计算机可读存储介质
KR102269652B1 (ko) 보안관제 데이터 분석을 위한 머신러닝 기반의 학습 벡터 생성 장치 및 방법
CN113360902B (zh) shellcode的检测方法、装置、计算机设备及计算机存储介质
CN114143074A (zh) webshell攻击识别装置及方法
CN112883375A (zh) 恶意文件识别方法、装置、设备及存储介质
KR20220060843A (ko) 머신러닝과 시그니처 매칭을 결합한 문서형 악성코드 탐지 장치 및 방법

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