악성코드 정의 및 분석 절차
- 공부/개인적 공부 공간
- 2020. 1. 28. 19:51
악성코드란?
악의적인 목적을 위해 작성된 실행 가능한 코드의 통칭을 말한다.
악성코드는 동작에 의한 분류와 목적에 의한 분류 두가지로 나눌 수 있는데,
동작에 의한 분류는 크게 4가지로 나눌 수 있다
-
Virus : 스스로 복제하고 다른 파일을 감염시켜 피해 범위를 확대하는 악성코드
-
Worm : 네트워크를 통해 전파하며 네트워크 트래픽에 영향을 주는 악성코드
-
Trojan : 정상 프로그램으로 가장하여 악의적인 목적을 수행하는 프로그램
-
PUP : 프로그램 설치 시 사용자 동의를 구하여 설치하는 프로그램 ( 잠재적으로 원하지 않은 프로그램 )
목적에 의한 분류는 7가지 정도로 나눌 수 있는데,
-
다운로더 : 인터넷 상에 있는 파일을 다운로드
-
드롭퍼 : 자기 자신 안에 있는 데이터를 통해 새로운 파일을 생성
-
런쳐 : 다운로더와 드롭퍼가 생성한 파일을 실행
-
애드웨어 : 소프트웨어 자체에 광고를 포함하거나 아니면 같이 묶어서 배포
-
스파이웨어 : 보안설정을 낮추고 정보유출
-
랜섬웨어 : 데이터를 암호화하여 사용자에게 금전을 요구
-
백도어 : 정상적인 절차를 거치지 않고 프로그램 및 시스템에 접근
악성코드 분석 절차
기초 정적 분석 – 문자열 및 API 함수 등의 정적 정보를 수집하는 단계
분석 도구 : DIE, PEStudio, PEView, 010Editor, resource hacker, hwpscan2 등
기초 동적 분석 – 시스템 및 네트워크 모니터링 툴을 이용한 행위 기반 정보 수집 단계
분석 도구 : WireShark, Process Explorer, Process monitor, Process Hacker, tcp view, SysAnalyzer 등
코드 분석 및 디버깅 – 코드를 디버깅하거나 정적 분석하여 자세한 프로그램 기능 파악
분석 도구 – IDA, ollydbg, x64dbg, Ghidra, dnspy, VBDecompiler, jd-gui, IL-Spy 등
'공부 > 개인적 공부 공간' 카테고리의 다른 글
정적 분석 도구 PEStudio 설명 (0) | 2020.01.29 |
---|---|
난독화 해제 도구(CyberChef) 사용방법 (0) | 2020.01.29 |
Wireshark 와이어샤크 이용방법 (0) | 2020.01.28 |
악성코드 분석 가상환경 구축 (0) | 2020.01.28 |
ASLR 제거하기 (0) | 2019.01.16 |