ML

악성코드 정의 및 분석 절차

728x90
반응형

악성코드란?

악의적인 목적을 위해 작성된 실행 가능한 코드의 통칭을 말한다.

악성코드는 동작에 의한 분류 목적에 의한 분류 두가지로 나눌 수 있는데,

동작에 의한 분류는 크게 4가지로 나눌 수 있다

  1. Virus : 스스로 복제하고 다른 파일을 감염시켜 피해 범위를 확대하는 악성코드

  2. Worm : 네트워크를 통해 전파하며 네트워크 트래픽에 영향을 주는 악성코드

  3. Trojan : 정상 프로그램으로 가장하여 악의적인 목적을 수행하는 프로그램

  4. PUP : 프로그램 설치 시 사용자 동의를 구하여 설치하는 프로그램 ( 잠재적으로 원하지 않은 프로그램 )

동작에 의한 분류

목적에 의한 분류는 7가지 정도로 나눌 수 있는데,

  1. 다운로더 : 인터넷 상에 있는 파일을 다운로드

  2. 드롭퍼 : 자기 자신 안에 있는 데이터를 통해 새로운 파일을 생성

  3. 런쳐 : 다운로더와 드롭퍼가 생성한 파일을 실행

  4. 애드웨어 : 소프트웨어 자체에 광고를 포함하거나 아니면 같이 묶어서 배포

  5. 스파이웨어 : 보안설정을 낮추고 정보유출

  6. 랜섬웨어 : 데이터를 암호화하여 사용자에게 금전을 요구

  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 등

반응형

댓글

Designed by JB FACTORY