Study/REV

[Malware_#2] About Malware

90mapt4 2024. 11. 5. 16:46
악성 코드 분석에 앞서 악성 코드란 무엇인지, 분석의 목표가 무엇인지와 분석 절차, 악성 코드 유형을 알아보자

 

Malware (악성 코드) 란?
: 컴퓨터 시스템이나 사용자에게 해를 입히기 위해 의도적으로 작성된 랜섬웨어, 트로이 목마, 스파이웨어를 비롯한 모든 소프트 웨어 코드 또는 컴퓨터 프로그램

 


악성 코드 분석의 목표
- 무슨 일이 발생했는지, 감염 시스템과 파일이 무엇인지 인지
- 특정 행위와 네트워크에서 탐지하는 방법과 피해 범위 측정 등

악성 코드 분석 절차

: 악성 코드 분석은 크게 다음 3단계로 진행된다. 

1. 초기 분석

: 자동화 도구를 이용해 악성 코드의 외형 및 동작을 빠르게 분석함, 의심되는 악성 코드의 파일 용량, 패킹 여부, 보고된 악성 코드와의 유사성 비교 등을 수행

도구 - virustotal (웹사이트)
2. 정적 분석

: 악성 코드를 실행하지 않고 분석하는 방식, 역공학 기법을 통해 파일 구조문자열, 헤더 정보, 추가 리스트 등을 파악

Ex) PE 파일 구조 분석, 리소스 분석, HEX코드 분석으로 문자열 확인 혹은 암호화 여부 파악, 문자열 추출 등..

도구 - Exeinfo PE, PEiD, RL!dePacker, BinText, PEView, olevba
3. 동적 분석

: 악성 코드를 실제 또는 가상환경에서 수행하며 분석하는 방식, 행위 분석을 통해 악성 코드의 레지스트리, 파일 시스템, 프로세스, 네트워크와의 상호작용 방법등을 파악

리버싱 분석으로 복호화하고, 악성 코드의 알고리즘을 침해 사고 관점에서 파악

도구 - Process Explorer, Process Monitor, System Explorer, Autoruns, Cports, WireShark

악성 코드 유형

 

종류 \ 설명  
바이러스 - 가장 일반적인 악성 코드의 형태

- 대부분의 사람들이 악성 코드와 혼용하여 사용

- 다양한 형태를 지니며, 종류의 따라 CPU 사용, 메모리 점유, 데이터 손상, 시스템 작동 방해에 이르는 다양하고 광범위한 영향

- 전염성을 지니기에 스스로 복제하여 다른 파일을 감염시키고 피해 범위를 확대하려함 / 이메일이나 USB 등을 통한 감염될 수도 있음.
- 네트워크를 통해 전파, 가능한 많은 컴퓨터 감염시키는 형태

- 바이러스와는 달리 파일 자체에 피해 주는 것 보다 네트워크 프레픽에 영향을 줌
루트킷 / 트로이 목마 / 백도어 - 사용자 모르게 PC 운영 권한에 접근할 수 있도록 함, 즉 정상적인 인증 과정을 거치지 않고 운영체제나 소프트웨어에 접근할 수 있는 악성코드 집합

- 백도어트로이 목마 등이 포함

- 타 파일 복제 및 감염 X , 스파이웨어나 애드웨어, 랜섬웨어 등을 같이 들여와 피해를 줌
부트킷 - PC부팅영역MBR(Master Boot Record)를 조작하는 프로그램

- 파괴형 부트킷과 은신형 부트킷으로 나뉨

- 파괴형 부트킷 : MBR의미 없는 문자열 등으로 덮어씌워 부팅 시 시스템 정보를 읽어오지 못하게

- 은신형 부트킷 : 부트섹터의 빈 영역악성코드를 설치하여 백신이 탐지하지 않게 만드는 형태
키로커 - 컴퓨터가 입력받는 정보기록하는 것

- 주로 키보드를 이용한 메시지를 가로채서 기록함

- 이를 막기위한 다양한 키보드 보안 솔루션이 나왔지만 그에 대응하는 키로커가 계속 나옴

- 루트킷을 이용해 초기 윈도우 메시지 후킹 키로커에서 고도화 되고있음
드롭퍼 - 악성 프로그램의 설치 프로그램의 형태

- 실행 시 내부 바이러스나 웜, 트로이 목마 등의 악의적인 프로그램이 설치되는 형태의 악성코드

- 백신 프로그램 우회를 위해 프로그램 실행 자체에선 파일 설치만 행하고, 일정 시간이 지난 후 악성코드를 실행하는 시간차 공격을 이용
다운로더 - 프로그램에서 지정한 웹 사이트에 접속추가 악성코드를 다운로드하여 실행시키는 악성코드

- 드롭퍼와 같이 백신 프로그램 우회 목적으로 사용
다형성 바이러스 - 원본 바이너리에서 같은 기능을 수행하지만 형태는 달라지는 악성코드

- 바이너리 고유 패턴을 변경해 휴리스틱 기반 백신 업체들의 감염여부 파악에 혼동을 주어 추적을 피하는 목적으로 사용
애드웨어 - 상업용 광고 목적의 악성코드

- 웹 브라우저 시작페이지 변경, BHO(Browser Helper Object) 객체를 이용하여 파법 윈도우 생성등의 동작을 함

- 비슷한 예시로 하이재커가 있음
랜섬웨어 - 컴퓨터에 저장된 파일에 락을 걸고 몸값을 요구하는 악성 코드, 감염된 파일은 해커만 풀 수 있도록 암호화되며, 비트코인 등을 대가로 지불해야만 잠금을 푸는 키를 받을 수 있음

- 예방과 치료, 복구 모두 쉽지 않음

- 스팸 사이트, 의심스러운 첨부파일, 소셜 엔지니어링을 통해 감염

- 대비를 위해 주기적인 문서 백업, 주 백신과 충돌하지 않는 보조 백신 사용을 권장
봇넷 - 악성 코드인 봇에 감염된 PC 네트워크

- 감염된 PC는 해커에 의해 원격 조종될 수 있어 흔히 말하는 좀비 PC 상태

- 수십에서 수십만 대의 PC를 감염시켜 명령을 내려 동시에 특정 호스트에 네트워크 요청을 보냄, 그러면 트래픽 과부하가 발생 (DDOS / 분산 서비스 거부 공격)

- 감염 되어도 감염 여부를 파악하기 어렵

Command &  Control 서버란?

 

- 악성코드와 관련된 글들을 읽다보면, C2라던지 C&C라는 단어가 자주 나오는 것을 볼 수 있다. 이것이 무엇인지에 대해 알아보자.

: Command &Control 서버란 명령 및 제어, C2또는 C&C라고 불리며 공격자가 초기 침투에 성공한 장치와의 통신을 유지하는 데 사용하는 도구 및 기술의 집합.

일반적으로 피해자 조직의 장치와 공격자가 제어하는 플랫폼 간 하나 이상의 은밀한 통신 채널로 구성되고 감염 대상에게 명령 전당, 추가 악성 페이로드 다운, 탈취 데이터 전달등에 사용됨.

 

주로 좀비, 봇넷, 비콘등이 함께 등장한다.