cd ../blog
MITRE

소프트웨어 공급망 침해: 한 번 감염으로 수백만 피해자를 만드는 원리 | T1195.002

읽는 시간 약 9분
조회수 1
MITRE ATT&CKT1195.002공급망 공격

3CX 공급망 공격으로 60만 기업 피해. CCleaner 백도어, APT41 서명 위조까지. 신뢰받는 소프트웨어가 악성코드 유포 통로가 되는 원리를 확인하세요.

share:
소프트웨어 공급망 침해: 한 번 감염으로 수백만 피해자를 만드는 원리 | T1195.002

MITRE ATT&CK: T1195.002 (Compromise Software Supply Chain) | 전술: Initial Access | 플랫폼: Linux, macOS, Windows

도입: 왜 이 공격이 중요한가

2023년 3월, 전 세계 60만 개 기업이 사용하는 3CX 통신 소프트웨어가 해킹당했습니다. 놀라운 건 이 공격의 시작점이었어요. 공격자는 먼저 다른 소프트웨어 회사를 침해한 뒤, 그 악성코드를 통해 3CX를 감염시켰거든요. 공급망 공격이 또 다른 공급망 공격을 낳은 최초 사례였죠.

Compromise Software Supply Chain 은 공격자가 정상적인 소프트웨어 개발·배포 과정에 악성코드를 삽입해서, 사용자들이 신뢰하는 프로그램을 통해 대규모 감염을 일으키는 기법입니다.

💡 쉬운 비유: 정수기 제조사가 물탱크에 독을 넣고 출하하는 것과 같아요. 사용자는 깨끗한 물이라고 믿고 마시지만, 실제로는 독이 들어있는 거죠.


1. 공격자 관점

왜 이 기법을 사용하는가

  • 대규모 감염: 한 번의 침해로 수십만~수백만 명의 사용자를 동시에 감염시킬 수 있다
  • 신뢰성 악용: 사용자들이 정상적인 업데이트나 설치로 인식해서 의심하지 않는다
  • 탐지 우회: 정상적인 디지털 서명과 인증서를 가진 파일이라서 보안 솔루션이 허용한다

동작 흐름

공급망 침해는 크게 3단계로 진행됩니다.

단계설명공격자 행동
1. 침입소프트웨어 개발사 네트워크 침해개발 환경이나 빌드 서버에 접근 권한 확보
2. 주입정상 소프트웨어에 악성코드 삽입소스코드 수정, 컴파일된 바이너리 교체, 업데이트 메커니즘 조작
3. 배포감염된 소프트웨어를 정상 경로로 유통공식 웹사이트, 자동 업데이트, 앱스토어를 통해 배포

공격자는 개발사의 코드 서명 인증서까지 탈취해서 악성코드에 정상적인 디지털 서명을 붙일 수 있어요. 이렇게 되면 운영체제나 보안 프로그램이 "신뢰할 수 있는 소프트웨어"로 인식하게 되죠.


2. 실제 공격 사례

📌 AppleJeus (UNC4736) - 3CX 공급망 공격 (2023)

배경: 북한 연계 해킹그룹 UNC4736이 암호화폐 거래소를 타겟으로 한 정교한 이중 공급망 공격을 감행했습니다. 전 세계 60만 개 기업이 사용하는 3CX Desktop App이 감염 경로로 악용됐어요.

공격 과정:

  1. 공격자가 먼저 Trading Technologies의 X_TRADER 소프트웨어를 감염시켜 배포
  2. 3CX 직원이 감염된 X_TRADER를 다운로드해서 실행, 3CX 내부 네트워크 침해
  3. 3CX DesktopApp 18.12.416 빌드 환경에 SUDDENICON 다운로더 삽입
  4. 감염된 3CX 소프트웨어가 정상 업데이트로 전 세계 배포

피해 규모: 60만 개 기업의 PC에서 악성코드 실행, GitHub 호스팅 아이콘 파일을 통해 추가 페이로드 다운로드

출처: 3CX Software Supply Chain Compromise Initiated by a Prior Software Supply Chain Compromise; Suspected North Korean Actor Responsible

📌 CCBkdr - CCleaner 공급망 침해 (2017)

배경: 전 세계적으로 인기 있는 PC 최적화 도구 CCleaner의 정상 버전에 백도어가 삽입된 채로 한 달간 배포된 사건입니다. 사용자들은 평소처럼 CCleaner를 업데이트했을 뿐인데 악성코드에 감염됐어요.

공격 과정:

  1. 공격자가 Avast(CCleaner 개발사) 빌드 환경에 침입
  2. CCleaner 5.33 버전 컴파일 과정에서 CCBkdr 백도어 코드 삽입
  3. 정상적인 디지털 서명이 적용된 채로 공식 웹사이트에서 배포
  4. 감염된 CCleaner가 DGA(Domain Generation Algorithm)로 C&C 서버와 통신

피해 규모: 약 227만 명이 감염된 CCleaner를 다운로드, 그중 4만여 명이 2차 페이로드 전송 대상으로 선별

출처: CCleanup: A Vast Number of Machines at Risk

📌 APT41 - 정상 파일 서명 위조 (2019)

배경: 중국 연계 APT41 그룹이 이중 목적(사이버 스파이+금전적 이득)으로 활동하면서 다양한 소프트웨어 공급망을 침해했습니다. 이들의 특징은 프로덕션 환경까지 완전히 장악해서 정상 서명이 적용된 악성코드를 배포했다는 점이에요.

공격 과정:

  1. 여러 소프트웨어 개발사의 프로덕션 환경에 침입
  2. 정상적인 빌드 프로세스에 악성코드 주입
  3. 개발사의 코드 서명 인증서로 악성 파일에 정상 서명 적용
  4. 공식 배포 채널을 통해 광범위하게 유통

피해 규모: 다수의 소프트웨어 공급업체와 최종 사용자가 피해, 정확한 감염 규모는 공개되지 않음

출처: Double DragonAPT41, a dual espionage and cyber crime operation APT41


3. 왜 탐지가 어려운가?

공식 탐지 방법

DET0309 Compromised software/update chain (installer/write → first-run/child → egress/signature anomaly) - AN0862: 공격자가 변조된 애플리케이션이나 업데이트를 배포하는 경우, 설치/업데이트 프로그램(msiexec/setup/update.exe/벤더 서비스)이 바이너리를 쓰거나 교체하고, 첫 실행 시 스크립트/셸이나 서명되지 않은 DLL을 생성하며 승인되지 않은 업데이트 CDN/호스트로 통신하는 패턴을 탐지합니다. 탐지는 다음 요소들을 연관 분석합니다: (1) 설치/업데이트 프로그램의 프로세스 생성 → (2) 프로그램 경로의 파일 메타데이터 변경 → (3) 첫 실행 시 자식 프로세스와 모듈/서명 이상 → (4) 짧은 시간 내 예상치 못한 호스트로의 아웃바운드 연결

공격자가 이 기법을 선호하는 이유

정상 프로세스 위장: 감염된 소프트웨어는 정상적인 설치/업데이트 과정을 거치기 때문에, 사용자나 보안 시스템이 의심하지 않아요. 특히 자동 업데이트 기능을 통해 배포되면 사용자 개입 없이 조용히 설치됩니다.

디지털 서명 신뢰성: 공격자가 개발사의 코드 서명 인증서를 탈취하면, 악성코드도 정상적인 디지털 서명을 가지게 돼요. 이렇게 되면 Windows의 SmartScreen이나 대부분의 보안 솔루션이 "신뢰할 수 있는 파일"로 분류합니다.

대규모 확산: 한 번의 성공적인 공급망 침해로 수백만 명을 동시에 감염시킬 수 있어서, 공격자 입장에서는 투자 대비 효과가 엄청나죠.

탐지의 현실적 한계

정상 행위와 구분 어려움: 소프트웨어 업데이트나 새 설치는 일상적인 작업이라서, 이상 징후를 구분하기가 쉽지 않아요. 특히 대기업 환경에서는 하루에 수백 개의 소프트웨어 설치/업데이트가 발생하거든요.

서명 검증의 한계: 디지털 서명이 유효하다고 해서 파일이 안전하다고 보장할 수는 없어요. 개발사 자체가 침해당했다면 정상 서명이 적용된 악성코드가 나올 수 있거든요.

네트워크 모니터링 우회: 감염된 소프트웨어가 정상적인 업데이트 서버나 CDN과 통신하는 것처럼 보이기 때문에, 네트워크 기반 탐지도 어려워요. 3CX 사례에서는 GitHub를 C&C 서버로 활용했는데, GitHub는 대부분 기업에서 허용하는 도메인이잖아요.


4. 나도 위험할까? 자가 진단

이 공격이 나와 관련 있는지 확인해보세요.

이런 환경이라면 주의가 필요합니다

  • 업무용 PC에서 다양한 서드파티 소프트웨어(통신 도구, 개발 도구, 유틸리티 등)를 정기적으로 업데이트한다
  • 자동 업데이트 기능을 활성화해둔 소프트웨어가 많다
  • 소프트웨어 설치 시 디지털 서명만 확인하고 추가 검증은 하지 않는다
  • 개발자나 IT 관련 업무로 인해 다양한 개발 도구나 전문 소프트웨어를 사용한다

공식 대응 방안

M1051 Update Software (소프트웨어 업데이트): 사용하지 않는 애플리케이션, 유지보수되지 않는 소프트웨어, 이전에 취약점이 있었던 소프트웨어, 불필요한 기능, 구성요소, 파일, 문서 등을 점검하는 패치 관리 프로세스를 구현해야 합니다.

M1016 Vulnerability Scanning (취약점 스캐닝): 취약점 소스에 대한 지속적인 모니터링과 자동·수동 코드 리뷰 도구 사용도 함께 구현해야 합니다.

당장 할 수 있는 것

  • 소프트웨어 업데이트 전에 개발사 공식 웹사이트에서 릴리즈 노트나 보안 공지사항을 확인하기
  • 중요한 업무용 소프트웨어는 자동 업데이트를 비활성화하고 수동으로 검증 후 업데이트하기
  • 🏢 보안 담당자: 소프트웨어 설치/업데이트 후 비정상적인 네트워크 통신이나 프로세스 생성을 모니터링하는 EDR 규칙 구성

5. 관련 기술

기법설명링크
T1195.001 Compromise Software Dependencies and Development Tools개발 도구나 라이브러리 자체를 침해해서 개발자 환경부터 감염시키는 기법으로, 공급망 공격의 또 다른 접근 방식NPM 패키지 위조 공격: 개발 도구가 백도어가 되는 원리
T1036.001 Invalid Code Signature공급망 침해와 함께 자주 사용되는 기법으로, 가짜 인증서나 도난당한 인증서로 악성코드를 정상 소프트웨어로 위장가짜 인증서 서명으로 악성코드를 위장하는 APT 공격 원리
T1562.001 Disable or Modify Tools공급망 공격으로 시스템에 침투한 후 보안 도구를 무력화해서 지속적인 은닉 상태를 유지하는 후속 기법EDR 우회 공격: 보안 도구를 무력화하는 첫 번째 단계

참고 자료


관련 글 더 보기


안내 및 법적 고지

AI 활용 안내 이 글은 AI(Claude)의 도움을 받아 작성되었으며, MITRE ATT&CK (최신 버전) 기준 정보를 포함합니다. 기술적 내용은 MITRE ATT&CK 공식 데이터를 기반으로 하며, 보안 교육 목적으로 제공됩니다.

면책 조항 본 글은 보안 인식 제고를 위한 교육 목적으로 작성되었습니다. 언급된 공격 기법을 실제로 시도하는 행위는 「정보통신망법」, 「형법」 등에 따라 처벌받을 수 있으며, 본 블로그는 이에 대한 법적 책임을 지지 않습니다.

COMMENTS (0)

댓글은 익명으로 작성되며, 삭제 비밀번호를 설정하면 본인만 삭제할 수 있습니다. 비밀번호를 설정하지 않은 댓글은 누구나 삭제할 수 있습니다.