Github : GitHubBlackWhopper
개발 인원 : 3명
기여도 : 40% (PE)
프로젝트 목적 : AI기반 멀웨어 탐지 기능 통합 클라우드 스토리지 서비스 제공
수상 : 2022 하반기 프로젝트 경진대회 최우수상
개요
vAIscan Box는 AI 기술을 활용하여 멀웨어를 탐지하는 서비스로 비회원일 시에는 파일 검사 기능만 회원일 시에는 추가적으로 AWS S3 클라우드 스토리지 저장 옵션을 사용할 수 있습니다. 본 서비스는 기존 시그니처 기반 탐지 방식 뿐 아니라 신규 유형의 멀웨어 탐지도 가능한 서비스로 파일의 해시 값을 이용하여 이미 검사된 파일은 DB에서 즉시 결과를 제공하고, 신규 파일은 AI 서버에서 위험도를 분석한 후 결과를 전달합니다.
담당 역할
•
Capstone을 이용한 N-gram 방식의 어셈블리 코드 분석 및 특징 분류
•
Keras를 사용한 멀웨어 탐지 CNN/DNN Model 개발 및 비교
•
Vue.js를 사용한 멀웨어 탐지 결과 시각화
•
Docker를 이용한 Application 배포
기술 스택 (I used)
•
언어 : Python JavaScript TypeScript
•
프레임워크 : Vue.js Quasar FastAPI Nest.js
•
데이터베이스 : MongoDB MariaDB
•
AWS : EC2 S3 RDS
•
ETC DevOps : Git/Github Docker NGINX Zeplin Atlas
구조
실험
문제 & 목표
•
문제
◦
기존의 시그니처 기반의 멀웨어 탐지 방식은 새로운 유형의 멀웨어를 탐지하는 데 한계가 있다.
◦
새로운 유형의 멀웨어는 기존에 존재하지 않는 패턴을 가지고 있어서 시그니처 방식만으로는 탐지가 어렵다.
•
목표 : AI 모델을 활용하여 새로운 멀웨어 패턴도 탐지할 수 있게 한다.
가설
•
AI 기반 탐지 모델이 기존의 시그니처 기반 탐지 방식보다 새로운 유형의 멀웨어 탐지에 더 효과적일 것이다.
•
PE Header 정보와 Code Section의 특징을 활용하면, 멀웨어 탐지의 정확도가 향상될 수 있다.
실험 설계
1.
데이터 수집
•
여러 멀웨어 샘플을 크롤링하여 PE Header와 Code Section 정보를 추출.
•
추출한 정보를 바탕으로 68개의 PE Header 특징과 100개의 Code Section 특징을 수집하여 학습 데이터로 활용.
2.
모델 개발
•
수집한 데이터를 기반으로 합성곱 신경망(CNN) 모델을 설계.
•
N-gram 방식의 어셈블리 코드 분석을 통해 패턴을 학습시킴.
3.
모델 학습
•
멀웨어 라벨링 데이터를 학습하여, 정상 파일과 멀웨어 파일을 구분하는 분류 모델 학습.
•
손실 함수로 Cross-Entropy를 사용하고, 최적화 기법으로 Adam을 적용.
4.
실험 조건 설정
•
기존 시그니처 방식과 AI 모델의 성능 비교.
•
Precision, Recall, F1 Score 등 다양한 평가지표를 사용하여 모델의 성능을 측정.
실험 및 검증
•
크롤링한 파일 정보 분석
◦
1000개 이상의 파일을 수집하고, 각 파일의 PE Header와 Code Section을 분석하여 특징을 벡터화한다.
•
모델 학습 및 검증
◦
CNN/DNN 모델을 학습한 후, 성능 검증.
활용방안 및 기대 효과
•
새로운 유형의 멀웨어에 대한 탐지율을 크게 향상시킬 수 있으며, 시그니처 기반 탐지 방식의 한계를 보완.
정량적 성과
•
모델 멀웨어 탐지 정확도 95.78%
•
2022 하반기 프로젝트 경진대회 최우수상
정성적 성과
•
Vue3 Composition API 환경에서 컴포넌트, 레이아웃 설계 및 분리 개발 경험
•
데이터 정렬 알고리즘에 대한 관련 지식을 습득
피드백
•