
CVE-2024-3094 XZ Utils 백도어 연구 - 공격 표면 시각화 도구, 시스템 취약점 점검 도구, 일반 Linux CVE 평가 도구
작성자: Nikolaos Natsopoulos, IAM 컨설턴트
연구 보고서와 함께 제공되는 인터랙티브 브라우저 기반 도구:
"CVE-2024-3094: XZ 유틸리티 내 사회공학 및 빌드 시스템 조작을 통한 공급망 손상"
2024년 3월, 전 세계 안정적인 Linux 배포판에 도달하기 직전에 XZ 유틸리티(CVE-2024-3094)에서 백도어가 발견되었습니다. 이 백도어는 CVSS 최고 점수인 10.0을 받았습니다. 이 공격은 가상의 기여자가 약 3년에 걸쳐 프로젝트에 침투한 뒤, 수백만 대의 Linux 서버에서 인증되지 않은 원격 코드 실행을 가능하게 했을 코드를 삽입한 사건이었습니다.
이 도구는 두 가지를 제공합니다:
확장된 CVE 적용 범위와 추가 취약성 평가 기능을 갖춘 System Checker 업그레이드 버전은 /CVE-Vulnerability-Assessment-Tool 폴더에서 확인할 수 있습니다.
xz-toolkit_Visual_Checker.html을 다운로드하여 아무 브라우저에서나 열면 됩니다. 설치, 서버, 인터넷 연결이 필요 없습니다. 모든 것이 단일 파일에 포함되어 있습니다.
Attack Visualiser 탭 - 왼쪽 패널에서 아무 단계나 클릭하여 공격 타임라인을 단계별로 살펴볼 수 있습니다. 의존성 체인이 업데이트되어 각 단계에서 공격 경로가 정확히 어디에 존재하는지 보여줍니다. 단계는 색상으로 구분됩니다: 파란색은 준비, 노란색은 경고 신호, 빨간색은 삽입, 초록색은 발견 및 대응입니다.
System Checker 탭 - 평가하려는 시스템에서 다음 세 가지 명령어를 실행하세요:
xz --version
ldd /usr/sbin/sshd
systemctl is-active ssh
출력을 세 개의 필드에 붙여넣고 Analyse System을 클릭하세요. 도구는 악용에 필요한 다섯 가지 조건을 평가하고 조건별 분석과 함께 판정을 반환합니다. "Visualise this system's dependency chain"을 클릭하면 실제 라이브러리 프로필이 체인 다이어그램에 표시됩니다.
완전 취약 - XZ 5.6.1을 사용하는 Debian Sid
XZ 버전:
xz (XZ Utils) 5.6.1
liblzma 5.6.1
sshd 의존성:
libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5
libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
SSH 상태:
active (running) since Fri 2024-03-29 11:42:01 UTC
예상 결과: 취약(VULNERABLE) - 다섯 가지 조건이 모두 충족됩니다.
취약하지 않음 - XZ 5.4.6을 사용하는 Ubuntu LTS
XZ 버전:
xz (XZ Utils) 5.4.6
liblzma 5.4.6
sshd 의존성:
libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3
libpam.so.0 => /lib/x86_64-linux-gnu/libpam.so.0
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
SSH 상태:
active (running) since Thu 2024-03-28 09:15:33 UTC
예상 결과: 취약하지 않음(NOT VULNERABLE) - XZ 버전이 안전하며 sshd에 liblzma와 libsystemd가 없습니다.
취약하지 않음 - XZ 5.6.0을 사용하는 Arch Linux(아키텍처상 보호됨)
XZ 버전:
xz (XZ Utils) 5.6.0
liblzma 5.6.0
sshd 의존성:
libcrypto.so.3 => /usr/lib/libcrypto.so.3
libpam.so.0 => /usr/lib/libpam.so.0
libc.so.6 => /usr/lib/libc.so.6
SSH 상태:
active (running) since Sat 2024-03-30 08:22:11 UTC
예상 결과: 취약하지 않음(NOT VULNERABLE) - XZ 5.6.0은 백도어가 삽입된 버전이지만, Arch Linux는 OpenSSH에 sd_notify 패치를 적용하지 않아 liblzma가 sshd에 링크되지 않으므로 이 시스템은 악용할 수 없습니다. 이 취약성은 단순히 버전 특정적이 아니라 아키텍처 특정적이었습니다.
시스템이 취약하려면 다음 다섯 가지가 동시에 충족되어야 합니다:
함께 제공되는 연구 보고서의 핵심 발견은 이 공격이 ID 및 접근 관리(IAM) 실무자에게 새로운 위협 모델을 제시한다는 점입니다. 이 백도어는 기존 방식의 자격 증명 탈취나 접근 제어 우회가 아니라 인증 메커니즘 자체를 대체했으며, PAM, RBAC, MFA, 제로 트러스트(Zero Trust) 아래 수준에서 작동했습니다. 기존의 어떤 IAM 통제로도 악용을 막을 수 없었을 것입니다.
도움이 되었을 통제 수단: 다자간 릴리스 승인, tarball과 git 저장소 간 diff 검사, 런타임 바이너리 무결성 모니터링(IMA/dm-verity), SSH 인증 지연 시간 이상 탐지.
Copyright (c) 2026 Nikolaos Natsopoulos. MIT 라이선스.