{{위키데이터 속성 추적}}

{{버그 정보|name=XZ Utils 백도어|image=File:XZ logo contributed by Jia Tan.png|image_size=|alt=|caption=Jia Tan이 만든 이전 xz 로고|screenshot=|screenshot_size=|screenshot_alt=|screenshot_caption=|CVE={{CVE|2024-3094}}|discovered={{시작 날짜와 나이|2024|03|29|df=y}}|patched=|discoverer=안드레스 프런드|affected hardware=|affected software=[[XZ Utils|xz]] / liblzma 라이브러리|used by=|website={{URL|https://tukaani.org/xz-backdoor/}}}}

'''CVE-2024-3094'''는 2024년 3월 29일 소프트웨어 개발자인 안드레스 프런드가 발견한 2024년 2월 [[XZ Utils|liblzma]] 라이브러리 내 리눅스 유틸리티인 [[XZ Utils|xz]] 5.6.0 및 5.6.1 버전에 악의적으로 삽입된 [[백도어]]이다.<ref>{{웹 인용|url=https://lwn.net/Articles/967180/|제목=A backdoor in xz|성=Corbet|이름=Jonathan|웹사이트=LWN|보존url=https://web.archive.org/web/20240401224317/https://lwn.net/Articles/967180/|보존날짜=1 April 2024|url-status=live|확인날짜=2 April 2024}}</ref> xz는 대부분의 [[리눅스 배포판]]에 기본적으로 설치되어 있지만 백도어는 [[x86-64]] 아키텍처에서 실행되는 [[데비안]] 및 [[RPM 패키지 매니저|RPM]] 기반 시스템만을 표적으로 삼았다. 발견 당시 백도어가 포함된 소프트웨어 버전은 아직 널리 배포되지 않은 상태였다.<ref>{{웹 인용|url=https://nvd.nist.gov/vuln/detail/CVE-2024-3094|제목=CVE-2024-3094|웹사이트=[[National Vulnerability Database]]|출판사=NIST|보존url=https://web.archive.org/web/20240402031933/https://nvd.nist.gov/vuln/detail/CVE-2024-3094|보존날짜=2 April 2024|url-status=live|확인날짜=2 April 2024}}</ref>

백도어는 영향을 받는 리눅스 시스템에서 특정 Ed448 개인 키 [[임의 코드 실행|원격 코드 실행]]를 보유한 공격자에게 원격 코드 실행 권한을 제공한다.심각성으로 인해 소프트웨어 취약점에 부여되는 점수 중 가장 높은 점수인 10.0의 CVSS 점수가 할당되었다.<ref>{{웹 인용|url=https://www.bleepingcomputer.com/news/security/red-hat-warns-of-backdoor-in-xz-tools-used-by-most-linux-distros/|제목=Red Hat warns of backdoor in XZ tools used by most Linux distros|성=Gatlan|이름=Sergiu|웹사이트=BleepingComputer|언어=en-us|보존url=https://web.archive.org/web/20240329192759/https://www.bleepingcomputer.com/news/security/red-hat-warns-of-backdoor-in-xz-tools-used-by-most-linux-distros/|보존날짜=29 March 2024|url-status=live|확인날짜=29 March 2024}}</ref><ref>{{웹 인용|url=https://www.akamai.com/blog/security-research/critical-linux-backdoor-xz-utils-discovered-what-to-know|제목=XZ Utils Backdoor – Everything You Need to Know, and What You Can Do|성=Akamai Security Intelligence Group|날짜=1 April 2024|보존url=https://web.archive.org/web/20240402014912/https://www.akamai.com/blog/security-research/critical-linux-backdoor-xz-utils-discovered-what-to-know|보존날짜=2 April 2024|url-status=live|확인날짜=2 April 2024}}</ref><ref name="SamJames">{{웹 인용|url=https://gist.github.com/thesamesam/223949d5a074ebc3dce9ee78baad9e27|제목=xz-utils backdoor situation (CVE-2024-3094)|성=James|이름=Sam|웹사이트=GitHub|언어=en|보존url=https://web.archive.org/web/20240402010500/https://gist.github.com/thesamesam/223949d5a074ebc3dce9ee78baad9e27|보존날짜=2 April 2024|url-status=live|확인날짜=2 April 2024}}</ref>

== 배경 ==
마이크로소프트 직원이자 [[PostgreSQL]] 개발자인 안드레스 프런드는 [[데비안|데비안 Sid]]의 [[소프트웨어 회귀|성능 회귀]]에 대해 조사한 후 백도어를 보고했다.<ref>{{웹 인용|url=https://www.helpnetsecurity.com/2024/03/29/cve-2024-3094-linux-backdoor/|제목=Beware! Backdoor found in XZ utilities used by many Linux distros (CVE-2024-3094)|성=Zorz|이름=Zeljka|날짜=29 March 2024|웹사이트=Help Net Security|보존url=https://web.archive.org/web/20240329192805/https://www.helpnetsecurity.com/2024/03/29/cve-2024-3094-linux-backdoor/|보존날짜=29 March 2024|url-status=live|확인날짜=29 March 2024}}</ref> 프런드는 SSH 연결로 인해 예기치 않게 많은 양의 CPU 사용량이 발생하고 메모리 디버깅 도구인 [[Valgrind]]에서 오류가 발생한다는 사실을 발견했다.<ref name="ars-what-we-know">{{웹 인용|url=https://arstechnica.com/security/2024/04/what-we-know-about-the-xz-utils-backdoor-that-almost-infected-the-world/|제목=What we know about the xz Utils backdoor that almost infected the world|성=Goodin|이름=Dan|날짜=1 April 2024|웹사이트=Ars Technica|언어=en-us|보존url=https://web.archive.org/web/20240401072048/https://arstechnica.com/security/2024/04/what-we-know-about-the-xz-utils-backdoor-that-almost-infected-the-world/|보존날짜=1 April 2024|url-status=live|확인날짜=1 April 2024}}</ref> 프런드는 자신이 발견한 내용을 [[오픈월 프로젝트]]의 오픈 소스 보안 메일링 리스트에 보고했으며,<ref>{{웹 인용|url=https://www.openwall.com/lists/oss-security/2024/03/29/4|제목=oss-security - backdoor in upstream xz/liblzma leading to ssh server compromise|웹사이트=www.openwall.com|보존url=https://web.archive.org/web/20240401131219/https://www.openwall.com/lists/oss-security/2024/03/29/4|보존날짜=1 April 2024|url-status=live|확인날짜=2024-04-03}}</ref> 이는 다양한 소프트웨어 공급업체의 관심을 끌었다.<ref name="ars-what-we-know"/> 백도어는 여러 단계로 실행되도록 구성된 난독화를 통해 숨겨져 있었다.<ref>{{웹 인용|url=https://www.phoronix.com/news/XZ-CVE-2024-3094|제목=XZ Struck By Malicious Code That Could Allow Unauthorized Remote System Access|성=Larabel|이름=Michael|웹사이트=Phoronix|언어=en|보존url=https://web.archive.org/web/20240329164631/https://www.phoronix.com/news/XZ-CVE-2024-3094|보존날짜=29 March 2024|url-status=live|확인날짜=29 March 2024}}</ref><ref>{{웹 인용|url=https://duo.com/decipher/red-hat-warns-of-malicious-code-in-xz-utils|제목=Red Hat, CISA Warn of XZ Utils Backdoor|성=O'Donnell-Welch|이름=Lindsey|날짜=29 March 2024|웹사이트=Decipher|언어=en|보존url=https://web.archive.org/web/20240329204451/https://duo.com/decipher/red-hat-warns-of-malicious-code-in-xz-utils|보존날짜=29 March 2024|url-status=live|확인날짜=29 March 2024}}</ref><ref name="register">{{웹 인용|url=https://www.theregister.com/2024/03/29/malicious_backdoor_xz/|제목=Malicious backdoor spotted in Linux compression library xz|성=Claburn|이름=Thomas|웹사이트=The Register|언어=en|보존url=https://web.archive.org/web/20240401022057/https://www.theregister.com/2024/03/29/malicious_backdoor_xz/|보존날짜=1 April 2024|url-status=live|확인날짜=1 April 2024}}</ref>

백도어가 삽입된 버전이 운영 체제에 설치되면 [[systemd]] 라이브러리를 남용하여 [[오픈SSH]]의 [[시큐어 셸|SSH]] 서버 데몬의 동작을 변경하여 공격자가 인증된 관리자와 동일한 수준의 액세스 권한을 얻을 수 있게 만든다.<ref name="register"/><ref name="ars-what-we-know"/> [[레드햇]]의 분석에 따르면 백도어는 악의적인 행위자가 sshd 인증을 깨고 원격으로 전체 시스템에 대한 무단 액세스를 얻을 수 있도록 만들어준다.<ref name="redhat-advisory">{{웹 인용|url=https://www.redhat.com/en/blog/urgent-security-alert-fedora-41-and-rawhide-users|제목=Urgent security alert for Fedora 41 and Fedora Rawhide users|출판사=Red Hat|언어=en|보존url=https://web.archive.org/web/20240329172128/https://www.redhat.com/en/blog/urgent-security-alert-fedora-41-and-rawhide-users|보존날짜=29 March 2024|url-status=live|확인날짜=29 March 2024}}</ref>

후속 조사에 따르면 [[XZ Utils]] 프로젝트에 백도어를 삽입하려는 시도는 Jia Tan이라는 이름과 JiaT75라는 아이디를 사용하는 사용자가 프로젝트 내에서 신뢰받는 위치에 접근하기 위해 약 3년 동안 노력한 결과였다. 창립자와 유지관리자가 다른 새로운 참가자에게 프로젝트 제어권을 넘겨야 한다는 압력을 받은 후 Jia Tan은 [[XZ Utils]]의 공동 유지관리자 지위를 얻었고 백도어가 삽입된 5.6.0 버전과 5.6.1 버전을 배포할 수 있었다.<ref name="ars-what-we-know"/> 백도어는 그 정교함과 공격자가 신뢰를 얻기 위해 오랜 시간 동안 높은 수준의 운영 보안을 실천했다는 점에서 주목받았다. 미국의 보안 연구원인 Dave Aitel은 이것이 [[러시아]] [[러시아 대외정보국|대외정보국]]의 지시를 받으며 활동하는 것으로 여겨지는 [[지능형 지속 공격|지능형 지속 공격단체]]인 [[코지 베어|APT29]]의 행동 양식과 유사하다고 말했다.<ref name="jia-tan-wired">{{웹 인용|url=https://www.wired.com/story/jia-tan-xz-backdoor/|제목=The Mystery of ‘Jia Tan,’ the XZ Backdoor Mastermind|성=Greenberg|이름=Andy|웹사이트=Wired|보존url=https://web.archive.org/web/20240403141041/https://www.wired.com/story/jia-tan-xz-backdoor/|보존날짜=3 April 2024|url-status=live|확인날짜=3 April 2024}}</ref>

== 작동 방식 ==
해당 악성 코드는 XZ Utils 소프트웨어 패키지의 5.6.0 및 5.6.1 릴리스에 삽입된 것으로 알려져 있다. 제3자의 패치가 적용되지 않은 SSH 서버는 [[취약점 공격|익스플로잇]]은 작동되지 않으나, 대부분의 리눅스 배포판에 적용된 패치로 인해 잠재적으로 악의적인 행위자가 SSHD [[인증 프로토콜|인증을]] 깨고 원격으로 전체 시스템에 대한 무단 액세스를 얻을 수 있다.<ref name="redhat-advisory"/> 악성 코드 작동 체계는 악성 바이너리 코드가 포함된 두 개의 압축 테스트 파일로 구성되어 있다. 이러한 파일들은 [[glibc]] <code>IFUNC</code> 메커니즘을 사용하여 {{Code|RSA_public_decrypt}}라는 [[오픈SSH]] 의 기존 함수를 악성코드로 대체하며, [[깃 (소프트웨어)|깃 저장소]]에서 존재하지만 압축을 해제하여 프로그램에 삽입하지 않는 한 작동하지 않는다.<ref name="SamJames"/> 오픈SSH는 일반적으로 liblzma를 로드하지 않지만, 여러 Linux 배포판에서 사용하는 [[패치 (컴퓨팅)|패치]]로 인해 [[Systemd|libsystemd]]가 로드되고, 이는 다시 lzma를 로드한다.<ref name="SamJames" /> [[깃허브]]에 업로드된 릴리스 tar 파일에 포함된 수정된 버전의 {{Code|build-to-host.m4}} 은 {{Code|liblzma}}에 백도어 주입을 수행하는 스크립트를 압축 해제시킨다. 이 수정된 [[M4 (프로그래밍 언어)|m4]] 파일은 git 저장소에 존재하지 않으며, git과 별도로 관리자가 릴리스한 [[Tar (파일 포맷)|tar 파일]]에서만 존재했다.<ref name="SamJames" /> 스크립트는 시스템이 glibc 및 [[GNU 컴파일러 모음|GCC]]를 사용하고 [[dpkg]] 또는 [[RPM 패키지 매니저|rpm]] 기반 [[x86-64]] Linux 시스템에서만 백도어 주입을 수행하는 것으로 나타났다.<ref name="SamJames" />

== 반응 ==
=== 백도어 대응 패치 ===
사이버 보안 및 인프라를 담당하는 미국 연방 기관인 [[사이버보안 및 인프라 보안국|사이버 보안 및 인프라 보안국]]은 영향을 받는 장치가 백도어가 삽입되지 않은 이전 버전으로 롤백해야 한다는 보안 권고를 발표했다.<ref>{{웹 인용|url=https://www.cisa.gov/news-events/alerts/2024/03/29/reported-supply-chain-compromise-affecting-xz-utils-data-compression-library-cve-2024-3094|제목=Reported Supply Chain Compromise Affecting XZ Utils Data Compression Library, CVE-2024-3094|날짜=29 March 2024|출판사=CISA|언어=en|보존url=https://web.archive.org/web/20240329182032/https://www.cisa.gov/news-events/alerts/2024/03/29/reported-supply-chain-compromise-affecting-xz-utils-data-compression-library-cve-2024-3094|보존날짜=29 March 2024|url-status=live|확인날짜=29 March 2024}}</ref> 레드햇, [[SUSE|수세]] 및 [[데비안]] 을 포함한 리눅스 소프트웨어 공급업체들은 이 권고에 따라 영향을 받는 패키지에 대해 업데이트를 취소하고 이전 버전으로 되돌렸다.<ref name="redhat-advisory"/><ref>{{웹 인용|url=https://www.suse.com/c/suse-addresses-supply-chain-attack-against-xz-compression-library/|제목=SUSE addresses supply chain attack against xz compression library|웹사이트=SUSE Communities|출판사=SUSE|보존url=https://web.archive.org/web/20240329215538/https://www.suse.com/c/suse-addresses-supply-chain-attack-against-xz-compression-library/|보존날짜=29 March 2024|url-status=live|확인날짜=29 March 2024}}</ref> [[깃허브]]는 xz 소스 코드 저장소 미러를 비활성화시켰다.<ref>{{웹 인용|url=https://www.phoronix.com/news/GitHub-Disables-XZ-Repo|제목=GitHub Disables The XZ Repository Following Today's Malicious Disclosure|성=Larabel|이름=Michael|날짜=29 March 2024|웹사이트=Phoronix|언어=en|보존url=https://web.archive.org/web/20240331021805/https://www.phoronix.com/news/GitHub-Disables-XZ-Repo|보존날짜=31 March 2024|url-status=live|확인날짜=31 March 2024}}</ref>

=== 업계 반응 ===
[[센티넬원|센티널원]]의 [[알렉스 스타모스]]는 "이것은 모든 소프트웨어 제품에 설치된 백도어 중 가장 광범위하고 효과적인 백도어일 수 있었다"라고 했으며 백도어가 탐지되지 않은 채로 남아 있었다면 "백도어 제작자에게 SSH를 실행하는 전 세계 수억 대의 컴퓨터에 대한 마스터 키를 제공했을 것"이라고 말했다.<ref name="nytimes-interview">{{웹 인용|url=https://www.nytimes.com/2024/04/03/technology/prevent-cyberattack-linux.html|제목=Did One Guy Just Stop a Huge Cyberattack?|성=Roose|이름=Kevin|웹사이트=[[The New York Times]]|보존url=https://web.archive.org/web/20240404000115/https://www.nytimes.com/2024/04/03/technology/prevent-cyberattack-linux.html|보존날짜=4 April 2024|url-status=live|확인날짜=4 April 2024}}</ref> 또한 이 사건은 사이버 인프라의 중요한 부분을 무급 자원봉사자에게 의존시키는 문제에 대한 논의를 촉발시켰다.<ref name="theverge">{{웹 인용|url=https://www.theverge.com/2024/4/2/24119342/xz-utils-linux-backdoor-attempt|제목=How one volunteer stopped a backdoor from exposing Linux systems worldwide|성=Khalid|이름=Amrita|날짜=2 April 2024|웹사이트=The Verge|언어=en|보존url=https://web.archive.org/web/20240404022427/https://www.theverge.com/2024/4/2/24119342/xz-utils-linux-backdoor-attempt|보존날짜=4 April 2024|url-status=live|확인날짜=4 April 2024}}</ref>

== 각주 ==
{{각주}}

== 외부 링크 ==
* {{공식 웹사이트|https://tukaani.org/xz-backdoor/}}
* [https://www.openwall.com/lists/oss-security/2024/03/29/4 안드레스 프런드가 오픈월 oss-security 메일링 리스트에 취약점에 대해 보고한 메일]

{{2020년대의 해킹}}

[[분류:트로이 목마]]
[[분류:사회공학 (보안)]]
[[분류:인터넷 보안]]
[[분류:취약점 공격]]
[[분류:2024년 컴퓨팅]]
[[분류:2020년대 해킹]]