악성코드 유사도 분석 필요성

Download Report

Transcript 악성코드 유사도 분석 필요성

박종화
[email protected]
컴퓨터 보안 및 운영체제 연구실
연구 배경
 악성코드의 급격한 증가 및 지능화
- 매일 390,000건의 신종 악성 프로그램이 발생
- 신종 및 변종 악성코드 발생량의 지속적인 증가
2014년도 신종 및 변종 악성코드 발생 건수 추이 및 통계
Computer Security & OS Lab.
2
악성코드 유사도 분석 필요성
 대규모 악성코드 분석, 지능형 악성코드 대응 기술 필요
- 악성코드 간 유사도 분석 및 변종 그룹 탐지 기술 필요
- 대다수의 악성코드는 기존 악성코드의 변종
 악성코드 유사도 분석의 목적
- 자동화, 대규모 악성코드 자동 분석을 위한 대안
- 1차 분류를 통한 신속한 대응 가능
Computer Security & OS Lab.
3
관련 연구
 동적 API Call graph 기반 버스마킹 기법
- 프로그램의 실행 중 호출되는 API를 추적
- 호출되는 API가 내부적으로 호출하는 API 추적
- 시작부터 종료까지 호출되는 API들의 그래프화
 정적 주요경로 API 시퀀스를 이용한 소프트웨어 유사성비교
- 제어 흐름 그래프(CFG) 통해 호출되는 API 추출
- 주요 경로 API 함수 시퀀스를 버스마크로 정의
- 버스마크 간의 유사도 계산
Computer Security & OS Lab.
4
관련 연구
 정적 API 호출 빈도 기반 유사도 비교 기법
- 디스어셈블링을 통한 Call graph 추출
- API 빈도 계산한 뒤 IDF(Inverse Document Frequency)를
이용하여 가중치 적용
- API 호출 빈도를 버스마크로 사용
Computer Security & OS Lab.
5
제안하는 방법
 제안 아이디어
- Control Flow Graph를 사용하여 호출되는 API 추출
- API의 호출 및 호출 빈도 를 버스마크로 정의
정적 분석
API Call graph
기존 S/W의 API list
API 호출 빈도
정제된 API Call graph
유사도 분석
분석 결과
Computer Security & OS Lab.
6
악성코드 DB
제안하는 방법
 API-CFG
- API call graph을 기준으로 호출 빈도에 따른 시퀀스 정의
API 1
API
호출 빈도
API 1
50
API 2
40
API 3
35
API 4
38
API 5
42
API 6
25
API 7
23
API 8
14
API 2
API 9
API 3
API 4
API 5
기존
Computer Security & OS Lab.
7
API 8
API 6
API 7
제안하는 방법
 기존과 변종의 비교
API 1
API 1
API 2
API 2
API 8
API 2’
API 8
API 9
API 4
API 3
API 3
API 4
API 6
API 6
API 4
API 5
API 7
API 7
API 5
기존
Computer Security & OS Lab.
변종
8
결 론 및 향후 연구
 신종 및 변종 악성코드 발생량의 지속적인 증가
- 대다수의 악성코드는 기존 악성코드의 변종
 악성코드의 API 호출빈도에 따른 시퀀스를 버스마크로 정의
- 기존 소프트웨어 유사도 비교에 사용한 기법들을 악성코드 유사도
비교에 사용함
 향후 실험을 통하여 제안한 아이디어의 성능평가를 확인
- 호출 빈도(가중치)에 따른 시퀀스 정의에 대한 연구 필요
Computer Security & OS Lab.
9
정적 분석
API Call graph
기존 S/W의 API list
API 호출 빈도
정제된 API Call graph
유사도 분석
분석 결과
Computer Security & OS Lab.
악성코드 DB