본 게시글은 책 <악성코드 분석 시작하기> 의 내용을 정리한 글 입니다.

 

악성코드 분석 시작하기 : 네이버 도서

네이버 도서 상세정보를 제공합니다.

search.shopping.naver.com

1. 악성코드란

- 악의적인 행위를 하는 코드로, 실행 파일, 스크립트, 코드, 또는 다른 유형의 소프트웨어 형태가 될 수 있음

> 컴퓨터 연산 방해
> 개인, 비즈니스, 재무 데이터를 포함한 민감 정보 훔치기
> 표적 감시
> 스팸 이메일 보내기
> 분산 서비스 거부(DDoS, Distributed-Denial-of-Service) 공격 참여
> 컴퓨터에 있는 파일을 잠근 후에 대가(Ransom) 요구하기

 

- 악성코드의 분류

구분 설명
기능적 구분 바이러스 (Virus)
또는 웜 (Worm)
- 자가 복제하고 다른 컴퓨터로 확산하는 기능을 가짐
- 바이러스는 유저와 상호작용을 통해 확산하지만, 웜은 유저와 상호작용 없이 확산
트로이 목마 (Trojan) - 일반 프로그램으로 위장해 유저가 자신의 컴퓨터에 설치하도록 하는 악성코드
백도어/원격 접속 트로이 목마
(RAT, Remote Access Trojan)
- 공격자가 침해한 컴퓨터에 원격 접속하거나 명령어를 실행할 수 있는 악성코드
애드웨어 (Adware) - 원치 않는 광고를 노출하는 악성코드
봇넷 (Botnet) - 동일한 악성코드(봇)에 감염된 컴퓨터 그룹으로 공격자가 집단으로 악의적인 행동을 하는데 사용 (스팸 메일 전송, DDoS 등)
- 공격자가 통제하는 명령어 통제 서버의 명령을 대기
정보 스틸러 (Information Stealer) - 특정 민감 정보를 훔치고자 디자인된 악성코드 (Key logger, Spyware, Sniffer, Grabber 등)
랜섬웨어 (Ransomeware) - 파일을 암호화한 후 대가를 위해 시스템을 볼모로 잡는 악성코드
루트킷 (Rootkit) - 설치된 시스템에서 공격자에게 관리자 권한을 제공하거나 자신 또는 다른 소프트웨어의 존재 여부를 숨기는 악성코드
다운로더(Downloader) 
또는 드로퍼(Dropper)
- 추가 악성코드 컴포넌트를 다운로드하거나 설치하도록 설계된 악성코드
동기에 따른
구분
크라임웨어(Crimeware) 
또는 상용 악성코드(Commodity malware)
- 공격자의 이익을 위한 악성코드
첩보 악성코드 - 첩보 활동을 목적으로 한 악성코드

 

- 악성코드 분석의 목적

> 악성코드 분석이란 악성코드의 행위를 연구하는 것

> 목적은 악성코드의 동작을 이해한 후 탐지하고 삭제하는 방법을 파악하는 것

악성코드 분석 이유 > 악성코드 샘플에서 정보를 추출하여 악성코드 사고 대응에 도움을 주기 위함
> 악성코드의 특성과 목적을 파악하기 위해
> 시스템이 어떻게 침해됐는지와 그 영향을 이해하고자
> 악성코드와 관련된 네트워크 식별자(Indicator)를 파악하고자 : 네트워크 모니터링
> 파일명, 레지스트리 키와 같은 호스트 내부 식별자를 추출하고자 : 호스트 모니터링
> 공격자의 의도와 목적을 파악하고자

 

- 악성코드 분석 종류

구분 설명
정적 분석 (Static Analysis) - 악성코드를 실행하지 않고 바이너리를 분석
- 가장 쉬운 방법
- 의심 바이너리에서 메타데이터를 추출할 수 있음
동적 분석 (Dynamic Analysis) - 격리된 환경에서 의심 바이너리를 실행한 후 행위를 모니터링
- 수행하기 쉬우며, 실행하는 동안 바이너리의 활동에 관한 가치 있는 통찰력 제공
코드 분석 (Code Analysis) - 바이너리 내부 동작을 이해하기 위한 고급 악성코드 분석 방법
- 정적/동적 분석을 통해 파악이 불가능한 정보 획득 가능
- 정적 코드 분석
> 의심 바이너리를 디어셈블링 (Disassembling)한 후 프로그램의 동작을 이해하고자 코드를 분석
- 동적 코드 분석
> 악성코드의 기능을 이해하고자 의심 바이너리를 통제된 방법으로 디버깅
메모리 분석, 포렌식(Memory Analysis, Forensic) - 포렌식 아티팩트 (사용 흔적)를 위해 컴퓨터 메모리를 분석하는 기법
- 악성코드의 은닉 또는 회피 능력을 파악하는 데 유용

 

- 악성코드 출처

> 분석을 수행하기 위한 악성 코드 샘플이 필요
> 악성코드 분석을 위해 악성코드 샘플을 얻을 수 있는 출처 모음
> Hybrid Analysis : https://www.hybrid-analysis.com/
> KernelMode.info : https://www.kernelmode.info/forum/
> VirusBay : https://beta.virusbay.io/
> Contagio malware dump : https://contagiodump.blogspot.com/
> AVCaesar : https://avcaesar.malware.lu/
> VirusShare : https://virusshare.com/
> theZoo : https://virusshare.com/

+ Recent posts