View on GitHub

capstone-2023-21

capstone-2023-21 created by GitHub Classroom

Malware Checker

악성 파일 여부파일 정보를 알려주는 웹 서비스

📖 프로젝트 소개

우리는 현재 디지털 시대를 살고 있으며, 인터넷과 컴퓨터를 사용하는 일상생활이 빈번하게 일어나고 있습니다. 그러나 인터넷 상에서 다운로드 받거나 받은 파일을 실행하다 보면 악성코드에 감염될 가능성이 있습니다.

이에 대비하여, 사용자들이 소유한 파일이 악성코드인지 아닌지를 쉽게 확인할 수 있도록 도와주는 웹 서비스를 개발하려고 합니다.


🔧 주요 기술

1. 패킹 파일 탐지

악성 파일들의 대부분은 탐지 회피 및 효율적인 배포를 위해 파일을 패킹되어 있고 패킹이 되어 있다면 파일의 데이터를 올바른 값으로 읽어 들일 수 없기 때문에 파일의 패킹 유무를 확인해야합니다.

패킹 탐지 기술은 진입점 섹션의 패킹의 필수적인 특징인 ‘write’속성엔트로피 통계를 이용하여 구현하였습니다.

2. 악성코드 탐지 및 분류

CNN 딥러닝을 사용하여 악성 파일을 검사하였습니다. 학습 데이터 셋으로는 Kaggle의 Microsoft Malware Classification Challenge (BIG 2015)의 데이터를 사용하였습니다. 데이터의 내용은 PE파일에서 header를 제외하고, 파일의 바이너리 값을 16진수로 변환하였습니다. 각 악성 파일마다 레이블이 매겨져 있으며 레이블은 총 9개의 악성 파일 클래스로 나뉘어져 있습니다.

Name Type
Ramnit Worm
Lollipop Adware
Kelihos_ver3 Backdoor
Vundo Trojan
Simda Backdoor
Tracur Trojan Downloader
Kelihos_ver1 Backdoor
Obfuscator.ACY Obfuscated malware
Gatak Backdoor

PE 파일 분석에서 CNN을 적용한 이유

시스템 흐름도


👍 기대효과

  1. 직관적으로 파일 분석 결과 확인 가능
  2. 다른 종류의 악성코드 데이터를 추가 학습하여 성장 가능

👫 팀 소개

팀 : 21조 (kookmin-sw/capstone-2023-21)

직급 이름 학번 메일 역할
팀장 유남규 **2842 20152842@kookmin.ac.kr AI, Malware detection
팀원 김용호 **1588 dydgh0608@kookmin.ac.kr Frontend, Backend, PE file analyze