ETRI-Knowledge Sharing Plaform

ENGLISH
기술이전 검색
연도 ~ 이전수 키워드

상세정보

실환경에서의 악성/정상파일 실시간 트레이스 자동 수집 및 AI 분석 기술

전수책임자
김종현
참여자
김영수, 김익균, 김정태, 김종현, 문대성, 박종근, 송지현, 이상민, 이종훈
기술이전수
2
이전연도
2019
협약과제
19HH3700, 맞춤형 보안서비스 제공을 위한 클라우드 기반 지능형 보안 기술 개발, 김종현
-본 기술은 신종 악성코드에 대한 분석 결과의 신뢰성 확보를 위하여, 시스템 복원 기능을 탑재한 실제 환경에서 악성 및 정상 파일을 동작시켜 이 때 발생하는 실시간 트레이스 정보를 수집 및 저장하고, 해당 정보를 통해 악성 여부 탐지를 위한 학습 모델을 생성하고 악성 행위를 판별할 수 있도록 하는 데에 그 목적이 있음
-본 기술은 VM(Virtual Machine) 등을 이용한 가상 환경이 아닌 실제 환경에서 악성 또는 정상 파일을 실행하고 이 때 발생하는 프로세스들에 대하여 실시간 트레이스 정보를 수집한 후 이를 대상으로 다양한 인공지능 기법에 기반하여 악성/정상 여부를 분석함
-본 기술은 크게 실환경에서의 악성/정상 파일 실시간 트레이스 정보 수집 기술과 실시간 트레이스를 활용한 AI-기반 분석 기술로 구분할 수 있음
<목적>

- 본 기술은 신종 악성코드에 대한 분석 결과의 신뢰성 확보를 위하여, 시스템 복원 기능을 탑재한 실제 환경에서 악성 및 정상 파일을 동작시켜 이 때 발생하는 실시간 트레이스 정보를 수집 및 저장하고, 해당 정보를 통해 악성 여부 탐지를 위한 학습 모델을 생성하고 악성 행위를 판별할 수 있도록 하는 데에 그 목적이 있음

- 이를 위해 경량화된 시스템 복원 기능과 악성/정상 프로그램 실행 후 시작되는 프로세스 트레이스 정보들을 실시간으로 수집 및 저장하는 실시간 트레이스 기능, 그리고 수집된 실시간 동적 트레이스 정보를 가공하여 학습 알고리즘을 적용한 AI-기반 악성 분석 기능 등을 포함

<필요성>

- 최근 국내외를 막론하고 랜섬웨어(Ransomware) 등에 대한 막대한 피해사례가 보고되면서, 랜섬웨어나 IoT봇 등을 포함하여 진화하는 악성코드들에 대한 위협으로부터 시스템을 보호하기 위한 고차원적 분석 방법들이 연구되고 있음

- 일반적으로 고전적인 악성코드 분석 방법은 정적 분석과 동적 분석으로 구분할 수 있음. 이 중 정적 분석은 코드 분석이라고도 하며, 악성파일을 실행하지 않고, 리버스 엔지니어링(Reverse Engineering) 등을 통해 바이너리 파일 자체를 디스어셈블링(disassembling) 하여 그 결과를 대상으로 분석을 행하는 방법임

- 반면 동적 분석은 행위 분석이라고도 하며, 악성코드를 실제로 실행하여 그 행위를 분석하는 것으로 실제 시스템에서 실행할 경우 오작동의 원인이 되므로 주로 샌드박스(Sandbox) 등 가상환경에서의 실행을 통해 악성 행위 분석을 행하게 됨

- 최근에 발견된 악성코드들은 가상환경에서는 동작을 하지 않는 등 지능화된 형태가 많으므로, 동적 분석의 신뢰성을 담보하는 것이 갈수록 어려워지고 있는 것이 현실임
- 본 기술은 윈도우 환경(윈도우 10 R5)에서 표준 인터페이스를 통해 실행되는 모든 프로세스를 감지/감시하고 원하는 프로세스들을 인텔 PT(Processor Tracing)를 이용하여 실시간으로 트레이스하고, 트레이스 정보를 파일로 저장하는 기능을 제공함. 또한, 본 기술은 트레이스 파일을 PT 파일로 디코딩하고, 이를 기반으로 트레이스 정보에 대한 어셈블러 파일을 생성하는 기능을 제공함
- 본 기술은 재부팅/복원에 사용되는 정보 및 이미지 등의 데이터를 관리하는 파일 관리 서버가 별도로 존재하므로, 다수 장비에 대한 시스템 복원 환경 변경 시 베이스 이미지 하나에 적용 후 간편하게 배포가 가능하고, 클라이언트 OS가 깨지는 문제를 롤백으로 손쉽게 해결할 수 있음
- 본 기술은 악성/정상 파일 실행을 위한 장비 추가 시, 파일 관리 서버에 간단한 등록 작업 후 별도의 설정 없이 바로 시스템 복원이 가능함
- 하이퍼바이저 기반 방식에 비하여 가상 환경을 우회하는 악성코드 실행이 가능하고, 하이퍼바이저와 같은 자원 할당 방식이 아니므로 전체적 성능 하락에 대한 우려가 적음
- 본 기술은 PT를 통해 생성되고 변환된 실시간 트레이스 파일을 종류별로 분석하여 각 파일 형식에 맞는 특징 정보를 추출함. 또한, 추출한 특징 정보에 대해 빈도수 기반 분석을 통하여 기계학습에 사용할 수 있는 데이터를 생성함
- 본 기술에서 생성한 각 파일 형식별 데이터를 세 가지 머신러닝 알고리즘인 KNN(K Nearest Neighbor), SVM(Support Vector Machine), RF(Random Forest)를 사용하여 학습한 후 각 알고리즘별 탐지율을 출력함
- 본 기술에서 도출된 탐지율을 기반으로 각 알고리즘의 성능을 평가하고, 각 알고리즘에 사용된 설정 값을 수정하며, 이를 통해 성능을 향상시키는 피드백 루틴을 생성함
- 다양한 파일 형식에 대해 각각 특징 정보를 추출하므로 해당 과정에서 특징 정보 선정 방식을 수정 및 개선할 수 있으며, 추가적인 입력 파일이 생성되더라도 해당 파일의 형식에 맞게 특징 정보 추출 프로세스를 수정할 수 있음
- 본 기술에서 사용한 빈도수 기반 분석 방식에 추가로 가중치 계산식을 적용할 수 있도록 분석 과정을 모듈화 하였음. 또한, 본 기술에서 사용하는 머신러닝 알고리즘의 입력 값은 일반적으로 사용되는 형식을 준수했기 때문에 다양한 알고리즘을 추가로 적용하기 용이함
-실제 환경에서 악성 또는 정상 파일을 실행하고 이 때 발생하는 프로세스들에 대하여 실시간 트레이스 정보를 수집한 후 이를 대상으로 다양한 인공지능 기법에 기반하여 악성/정상 여부를 분석하는 기술임
-시스템이 부팅되고 운영체제(윈도우) 이미지를 통해 초기 환경으로 복원되고 나면, 악성 또는 정상 파일을 입력 받아 실행하게 됨. 해당 파일이 실행되는 N분 동안 실시간 트레이스 파일들이 생성되어 시스템 외부 스토리지 서버에 저장되고 실행 시간 N분이 되면 자동으로 시스템이 초기화됨
-스토리지에 저장된 실시간 트레이스 파일들은 AI-기반 학습 기능의 입력 샘플로 사용되며, 이를 통해 만들어진 학습 모델은 악성과 정상 행위를 식별하는 데에 사용됨. 일단 생성된 학습 모델은 탐지 결과에 따라 지속적인 피드백을 통해 탐지 성능을 향상시켜 나감

A.기술명 : 실환경에서의 악성/정상 파일 실시간 트레이스 정보 수집 기술
*A-1. 파일 관리 서버 기반 경량화된 시스템 복원 기술
-물리 pc 내 악성/정상 파일 실행 및 생성된 실시간 트레이스 파일 관리 기술
-실환경 복원을 위한 운영체제 이미지 저장/전송/관리 기술
-실환경 내 pxe 부트 및 zfs 파일시스템 관리 기술

*A-2. 실환경(윈도우10)에서 PT기반 다중 실시간 트레이스 정보 파일 생성/수집/변환 기술
-윈도우에서 실행되는 모든 프로세스를 감지하는 프로세스 리스너(Listener) 관리 기술
-일정 시점 이후 START/KILL 프로세스에 대하여 이벤트 드리븐 방식으로 감지하는 이벤트 와처(Watcher) 관리 기술
-수집된 프로세스 정보 기반 Intel PT(Processor Trace) 트레이싱 기술
-타이머 기반 실시간 트레이스 (PT 바이너리) 파일 생성 및 저장 기술
-PT 패킷 스트림 형태의 PT 덤프 파일로의 변환 기술
-Base 주소 및 실행파일 원본 이미지 기반 어셈블리 변환 기술

B.기술명 : 실시간 트레이스를 활용한 AI-기반 분석 기술
*B-1. 실시간 트레이스 정보 가공(전처리) 및 AI-알고리즘별 학습 데이터 생성 기술
-실시간 트레이스에 대한 프로세스별/실행파일별 그룹핑 기술
-IDA/IDAPython을 이용한 실시간 트레이스 (PT덤프 파일) 특징 파싱/추출 기술
-IDA/IDAPython을 이용한 실시간 트레이스 (어셈블 파일) Opcode 추출 기술
-Opcode/특징 빈도수 기반 벡터화 기술

*B-2. 각 AI-알고리즘별 탐지 결과 및 성능 비교 분석 기술
-KNN(K-Nearest Neighbor) 알고리즘 적용 및 성능 분석 기술
-SVM(Support Vector Machine) 알고리즘 적용 및 성능 분석 기술
-RF(Random Forest) 알고리즘 적용 및 성능 분석 기술
A. 기술명 : 실환경에서의 악성/정상 파일 실시간 트레이스 정보 수집 기술
A-1. 파일 관리 서버 기반 경량화된 시스템 복원 기술
-소스 코드프로그램
-해당 기술 기능 시험문서
-해당 기술 기술문서

A-2. 실환경(윈도우10)에서 PT기반 다중 실시간 트레이스 정보 파일 생성/수집/변환 기술
-소스 코드프로그램
-해당 기술 기능 시험문서
-해당 기술 기술문서

B. 기술명 : 실시간 트레이스를 활용한 AI-기반 분석 기술
B-1. 실시간 트레이스 정보 가공(전처리) 및 AI-알고리즘별 학습 데이터 생성 기술
-소스 코드프로그램
-해당 기술 기능 시험문서
-해당 기술 기술문서

B-2. 각 AI-알고리즘별 탐지 결과 및 성능 비교 분석 기술
-소스 코드프로그램
-해당 기술 기능 시험문서
-해당 기술 기술문서
- 본 기술은 아래와 같은 분야에 적용될 수 있음

o 안티바이러스 엔진 분야
. 동적 실행흐름(Execution Flow) 복원을 통한 악성/침해 소프트웨어 분석 및 이를 통한 선제적 대응 솔루션 개발
. 랜섬웨어 등 최신 악성코드들에 대한 가상환경이 아닌 실환경에서의 동적 분석용 실데이터 확보에 활용 가능
. 머신러닝 등 AI 기술을 적용한 악성행위 탐지·분석 모델을 개발해 악성코드 탐지 시스템에 적용에 가능
. 멀웨어에 의한 사이버 공격을 자동으로 탐지하고 대응하는 AI 보안체계 구축에 적용 가능
. 인공지능 기반 침해 위협 탐지 솔루션 개발 분야에 활용이 가능

o SECaaS(Security as a Service) 솔루션 분야
. 실시간 트레이스 기반 악성행위 동적 분석 기능을 탑재한 SecaaS 서비스 제공에 활용 가능
. 클라우드 기반 서비스를 제공하는 중소 이상의 사업자에 본 기술을 포함한 맞춤형 보안 서비스 제공에 활용 가능