☆ 최근 악성 코드는 실행되기까지의 과정이 정교해지고 탐지가 어려워지고 있다.

 

▶ 악성코드

- 최근 악성코드는 유형보다 군으로 분류하는 것이 의미가 있음

- 실행 파일 형식에 국한되지 않고 소프트웨어 취약점과 문서를 이용

 

▷ 악성코드 동향

- 랜섬웨어 급증

- IoT 디바이스를 악용한 DDoS 악성코드

- Fileless Malware

- 익스플로잇 킷과 함께 서비스 형태로 제공되는 악성코드(MaaS)

 

▷ 악성코드 유포 방법

- 이메일을 통한 유포(스피어 피싱)

- 제로데이 취약점을 이용한 유포

 

▷ 악성코드 동작 방식

- 실행 파일 형식을 가지는 악성코드

- 문서 형식을 가지는 악성코드

- 웹 기반 코드로 실행되는 악성코드

- 스크립트 기반 악성코드

 

▷ 악성코드 대응 절차

1) 신속한 정보 제공 

2) 공격 차단 및 분석

3) 긴급 백신 제작 및 배포

4) 패턴 및 시그니처 개발

5) 솔루션 개발

 

▷ 악성코드 분석

1) 자동화 분석

- Virustotal 사이트

2) 정적 분석

- 악성코드를 실행하지 않고 분석하는 방법

- 파일 문자열, 헤더 정보, 추가 리소스 등

3) 동적 분석

- 악성코드를 실행하면서 분석하는 방법

- 레지스트리, 파일시스템, 프로세스, 네트워크 등

 

▶ 분류 알고리즘

→ 데이터와 카테고리의 관계를 학습해 새로운 데이터의 카테고리를 판별하는 것

1) 나이브 베이즈

ex) 스팸 메일 분류와 이상 행동 검출

2) 의사 결정 트리

- 데이터 카테고리가 범주형일 때만 사용 가능

- 분석 결과가 트리 구조로 표현되어 결과를 쉽게 이해하고 설명할 수 있음

ex) ID3 알고리즘 → 데이터를 가장 잘 쪼개는 특성 선택

ex) 랜덤 포레스트 : 여러 개의 의사 결정 트리를 만들고 다수결로 결정

 

▷ 인스턴스 기반 학습

ex) K-NN(Nearst Neighbors) 

→ 데이터베이스에 데이터를 저장한 뒤 새로운 데이터와 유사한 값을 찾아내는 방법

1) 모델 기반 : 학습 데이터를 분석해 이를 분류 또는 회귀하는 최적의 함수를 찾아내는 방법

2) 인스턴스 기반 : 데이터베이스에 데이터를 저장한 뒤 새로운 데이터와 유사한 값을 찾아내는 방법

 

ex) 서포트 벡터 머신(SVM)

→ 데이터를 구분 짓는 선에 가장 가까운 점들의 거리를 최대화하는 방법

- kernel : 선형 함수를 쓸 것인가, 커널 함수를 쓸 것인가

- C : 선을 얼마나 부드럽게 그을 것인가

- Gamma : 단일 데이터의 영향이 얼마나 크게 미치는가

 

 

+ Recent posts