리버싱/악성코드

악성코드 분석 - 1 악성코드의 정의 및 종류, 분석 방법

ReIzEi 2023. 4. 27. 20:54

악성코드

- 악의적인 행위를 하는 코드

 

악성코드가 하는일

- 정보 훔치기 감시 스팸 디도스 등등 님이 아는거

 

악성코드 종류

 

1. 트로이목마, Trojan

- 일반 프로그램으로 위장해서 설치 유도한 뒤 몰래 데이터를 훔치거나 공격자 서버에 전송, 모니터링등의 나쁜짓함

 

2. 백도어/원격 접속 트로이목마, RAT, Remote Acess Trojan

-  원격으로 피해자의 컴퓨터를 원격 접속하거나 명령어를 실행가능하게하는 트로이 목마의 한 종류

 

3. 에드웨어, Adware

- 원치않는 광고를 노출하는 악성코드, 일반적으로 무료다운로드를 통해 배포된다, 강제로 설치되게함

 

4. 봇넷, Botnet

- 동일한 악성코드에 감염된 컴퓨터 그룹으로 공격자가 자기 서버에서 명령을 내림, 디도스나 스팸메일 등의 공격에 사용

 

5. 정보 스틸러, information stealer

- 감염된 시스템에서 타이핑하는 정보같은 민감정보들을 훔치는 것

- Key logger, Spyware, Sniffer, Grabber 등이 있음

 

6. 랜섬웨어, Ransomware

- 파일을 암호화한 후 대가를 위해 시스템을 인질로 잡음

 

7. 루트킷, Rootkit

- 설치된 시스템에서 공격자에게 관리자 권한을 제공하거나 자신의 존재 여부 또는 다른 소프트웨어의 존재 여부를 숨김

- 몰래 하는게 키포인트

 

8. 다운로더(Downloader), 드로퍼(Dropper)

- 추가 악성코드 컴포넌트를 다운로드하거나 설치하도록 설계된 악성코드

 

 

악성코드는 여러 분류가 있지만 그 만큼 다양한 기능이 있으므로 꼭 이게 뭐다 이런식으로 분류할건 아님

 

 

 

<악성코드 분석 종류>

 

1. 정적 분석, Static analysis

- 악성코드를 실행하지 않고 바이너리를 분석하는 방법, 가장 쉬움

 

2. 동적 분석, Dynamic analysis

- 격리된 환경에서 바이너리를 실행한 후 그 행위를 모니터링

- 실행하면서 관찰하는거라 알기 쉬움

-

3. 코드분석, Code analysis

- 바이너리의 내부 동작을 이해하기 위한 분석

- 정적, 동적 분석으로 알아낼 수 없는 정보를 알 수 있다

- 정적, 동적 코드 분석으로 나뉨

정적: 의심 바이너리를 디스어셈블링한 후 코드를 살펴봄(그냥 원래 코드 본단뜻임)

동적: 의심 바이너리를 통제된 방법으로 디버깅함

 

4. 메모리분석(메모리 포렌식)

- 포렌식 아티팩트(사용 흔적)을 위해 컴퓨터 메모리를 분석하는 방법

- 악성코드의 은닉, 회피 능력을 파악하는데 도움