[Malware] 악성코드 분석 입문: 목적과 분석 기법, 국가별 APT 사례

사이버 위협 행위자부터 악성코드의 정의·분류, 국가별 APT 사례, 분석 기법과 안전 원칙까지 학습 순서대로 정리합니다.

사이버보안과 악성코드

악성코드를 이해하려면 누가, 무엇을 노리고, 어떤 경로로 공격하는지 함께 살펴봐야 합니다.

사이버 위협 행위자

보편적으로 개인, 국가 지원 집단, 범죄 조직으로 나누어 볼 수 있습니다. 핵티비스트 등 다른 유형도 있으며 동기와 조직의 경계가 겹칠 수 있습니다.

APT(Advanced Persistent Threat)는 특정 표적에 지속적으로 접근하며 목적을 추구하는 위협입니다.

내부 침투와 엔드포인트

악성코드의 정의

악성코드 분석은 세부적으로 나눠보면

AI는 식별과 분석을 보조할 수 있지만 대응 판단에는 분석 근거와 담당자의 검토가 필요합니다.

악성코드 분석

컴퓨터 보안 사고를 대응하는 사람이라면 악성코드 분석은 필수적인 역량입니다.

악성코드 분석의 목적

동작과 침해 행위를 파악해 사고 대응에 필요한 정보를 얻습니다.

예방과 함께 신속한 대응·복구 역량도 필요합니다. 사고의 영향을 줄이고 정상 업무로 돌아오는 역량을 **사이버 회복탄력성(Cyber Resilience)**이라고 합니다.

악성코드 분류

기능, 전달·실행, 전파, 은폐·회피, 공격 대상을 기준으로 구분합니다.

시스템 접근과 원격 제어 - System Access & Remote Control Malware

악성코드 전달과 실행 - Malware Delivery & Execution

여러 단계로 악성코드를 전달·실행하는 흐름을 다단계 감염 체인(Multi-stage Infection Chain)이라고 합니다.

페이로드(Payload)는 각 단계에서 전달하거나 실행할 코드·프로그램입니다.

정보 탈취와 금전 목적 - Information Theft & Financially Motivated Malware

전파·은폐·파괴 - Propagation, Concealment & Destruction

악성코드 실행·회피 기법 - Modern Malware Techniques

정상 프로그램도 패킹·난독화를 사용할 수 있으므로, 사용 여부만으로 악성이라고 판단해서는 안 됩니다.

표적형 악성코드 - Target Malware

국가 지원 사이버 공격: 중국

APT1

Mandiant APT1 보고서 소개

APT3

정부, 국방 첨단기술, 통신 등 전략적 분야를 대상으로 정보수집 및 사이버 스파이 활동

MITRE APT3

APT10 · Operation Cloud Hopper

Operation Cloud Hopper 보고서

UNC6508

GTIG UNC6508 분석

국가 지원 사이버 공격: 러시아

APT28

MITRE APT28 · CORESHELL · CHOPSTICK

통신 분석에서 볼 것

GRIZZLY STEPPE

CISA GRIZZLY STEPPE 분석

네트워크 인프라까지 넓어진 공격

CISA 라우터 공격 사례

국가 지원 사이버 공격: 북한

Mandiant 북한 조직 분석 · FBI 가상자산 탈취 발표 · Mandiant 공급망 공격 사례

참여형 조사: APT37

함께 공부한 사람들과 북한 연계 APT37의 공개 자료를 조사했습니다. 직접 악성코드를 실행·역분석한 결과는 아닙니다.

초기 침투 방식

조사할 때 정리한 침투 방식이며 위 목록 전체를 APT37의 모든 공격에 공통된 흐름으로 보지는 않습니다.

목적·역할·증거

안랩 APT37 분석 · 지니언스 APT37 분석 · Malpedia APT37

악성코드 분석 및 조사의 목표

호스트 기반 시그니처와 지표

네트워크 시그니처

IOC는 조사 단서이며 코드에 기능이 있다는 사실만으로 실행이나 피해까지 입증되지는 않습니다. 실행·통신 기록을 함께 확인해야 합니다.

악성코드 분석 기법

기본 정적 분석

기본 동적 분석

고급 정적 분석

고급 동적 분석

악성코드 분석의 기본 원칙

  1. 핵심 행위에 집중: 처음부터 모든 코드를 해석하기보다 분석 목적에 필요한 부분부터 확인.
  2. 방법·도구를 함께 활용: 한 가지 도구나 분석 방법에만 의존하지 않음.
  3. 격리된 환경에서 실행: 업무망·개인 환경으로 피해가 번지지 않도록 구성.
  4. 원본·증거 무결성 보존: 복사본으로 분석하고 해시, 수집 경로, 분석 과정과 변경 사항 기록. 증거를 누가 어떻게 다뤘는지 증거 관리 이력(Chain of Custody) 유지.
  5. 회피 기법 고려: 패킹·난독화·환경 탐지 때문에 보이지 않은 동작이 있을 수 있음.
  6. 법적·윤리적 범위 준수: 허용된 대상과 권한 안에서 분석.
  7. AI 결과 검증: 답변 자체는 증거가 아님. 분석 대상·기밀 자료를 승인 없이 외부 AI 서비스에 업로드하지 않아야 함.

안전한 악성코드 분석 환경

가상 머신을 쓴다는 사실만으로 격리가 보장되지는 않습니다. 실행 전에 연결 경로를 확인해야 합니다.

AI 시대의 악성코드 분석

참고 자료