XZ Utils 백도어
CVE 식별자 | CVE-2024-3094 |
---|---|
발견일 | 2024년 3월 29일 |
발견자 | 안드레스 프런드 |
영향을 받는 소프트웨어 | xz / liblzma 라이브러리 |
웹사이트 | tukaani |
CVE-2024-3094는 2024년 3월 29일 소프트웨어 개발자인 안드레스 프런드가 발견한 2024년 2월 liblzma 라이브러리 내 리눅스 유틸리티인 xz 5.6.0 및 5.6.1 버전에 악의적으로 삽입된 백도어이다.[1] xz는 대부분의 리눅스 배포판에 기본적으로 설치되어 있지만 백도어는 x86-64 아키텍처에서 실행되는 데비안 및 RPM 기반 시스템만을 표적으로 삼았다. 발견 당시 백도어가 포함된 소프트웨어 버전은 아직 널리 배포되지 않은 상태였다.[2]
백도어는 영향을 받는 리눅스 시스템에서 특정 Ed448 개인 키 원격 코드 실행를 보유한 공격자에게 원격 코드 실행 권한을 제공한다.심각성으로 인해 소프트웨어 취약점에 부여되는 점수 중 가장 높은 점수인 10.0의 CVSS 점수가 할당되었다.[3][4][5]
배경
[편집]마이크로소프트 직원이자 PostgreSQL 개발자인 안드레스 프런드는 데비안 Sid의 성능 회귀에 대해 조사한 후 백도어를 보고했다.[6] 프런드는 SSH 연결로 인해 예기치 않게 많은 양의 CPU 사용량이 발생하고 메모리 디버깅 도구인 Valgrind에서 오류가 발생한다는 사실을 발견했다.[7] 프런드는 자신이 발견한 내용을 오픈월 프로젝트의 오픈 소스 보안 메일링 리스트에 보고했으며,[8] 이는 다양한 소프트웨어 공급업체의 관심을 끌었다.[7] 백도어는 여러 단계로 실행되도록 구성된 난독화를 통해 숨겨져 있었다.[9][10][11]
백도어가 삽입된 버전이 운영 체제에 설치되면 systemd 라이브러리를 남용하여 오픈SSH의 SSH 서버 데몬의 동작을 변경하여 공격자가 인증된 관리자와 동일한 수준의 액세스 권한을 얻을 수 있게 만든다.[11][7] 레드햇의 분석에 따르면 백도어는 악의적인 행위자가 sshd 인증을 깨고 원격으로 전체 시스템에 대한 무단 액세스를 얻을 수 있도록 만들어준다.[12]
후속 조사에 따르면 XZ Utils 프로젝트에 백도어를 삽입하려는 시도는 Jia Tan이라는 이름과 JiaT75라는 아이디를 사용하는 사용자가 프로젝트 내에서 신뢰받는 위치에 접근하기 위해 약 3년 동안 노력한 결과였다. 창립자와 유지관리자가 다른 새로운 참가자에게 프로젝트 제어권을 넘겨야 한다는 압력을 받은 후 Jia Tan은 XZ Utils의 공동 유지관리자 지위를 얻었고 백도어가 삽입된 5.6.0 버전과 5.6.1 버전을 배포할 수 있었다.[7] 백도어는 그 정교함과 공격자가 신뢰를 얻기 위해 오랜 시간 동안 높은 수준의 운영 보안을 실천했다는 점에서 주목받았다. 미국의 보안 연구원인 Dave Aitel은 이것이 러시아 대외정보국의 지시를 받으며 활동하는 것으로 여겨지는 지능형 지속 공격단체인 APT29의 행동 양식과 유사하다고 말했다.[13]
작동 방식
[편집]해당 악성 코드는 XZ Utils 소프트웨어 패키지의 5.6.0 및 5.6.1 릴리스에 삽입된 것으로 알려져 있다. 제3자의 패치가 적용되지 않은 SSH 서버는 익스플로잇은 작동되지 않으나, 대부분의 리눅스 배포판에 적용된 패치로 인해 잠재적으로 악의적인 행위자가 SSHD 인증을 깨고 원격으로 전체 시스템에 대한 무단 액세스를 얻을 수 있다.[12] 악성 코드 작동 체계는 악성 바이너리 코드가 포함된 두 개의 압축 테스트 파일로 구성되어 있다. 이러한 파일들은 glibc IFUNC
메커니즘을 사용하여 RSA_public_decrypt
라는 오픈SSH 의 기존 함수를 악성코드로 대체하며, 깃 저장소에서 존재하지만 압축을 해제하여 프로그램에 삽입하지 않는 한 작동하지 않는다.[5] 오픈SSH는 일반적으로 liblzma를 로드하지 않지만, 여러 Linux 배포판에서 사용하는 패치로 인해 libsystemd가 로드되고, 이는 다시 lzma를 로드한다.[5] 깃허브에 업로드된 릴리스 tar 파일에 포함된 수정된 버전의 build-to-host.m4
은 liblzma
에 백도어 주입을 수행하는 스크립트를 압축 해제시킨다. 이 수정된 m4 파일은 git 저장소에 존재하지 않으며, git과 별도로 관리자가 릴리스한 tar 파일에서만 존재했다.[5] 스크립트는 시스템이 glibc 및 GCC를 사용하고 dpkg 또는 rpm 기반 x86-64 Linux 시스템에서만 백도어 주입을 수행하는 것으로 나타났다.[5]
반응
[편집]백도어 대응 패치
[편집]사이버 보안 및 인프라를 담당하는 미국 연방 기관인 사이버 보안 및 인프라 보안국은 영향을 받는 장치가 백도어가 삽입되지 않은 이전 버전으로 롤백해야 한다는 보안 권고를 발표했다.[14] 레드햇, 수세 및 데비안 을 포함한 리눅스 소프트웨어 공급업체들은 이 권고에 따라 영향을 받는 패키지에 대해 업데이트를 취소하고 이전 버전으로 되돌렸다.[12][15] 깃허브는 xz 소스 코드 저장소 미러를 비활성화시켰다.[16]
업계 반응
[편집]센티널원의 알렉스 스타모스는 "이것은 모든 소프트웨어 제품에 설치된 백도어 중 가장 광범위하고 효과적인 백도어일 수 있었다"라고 했으며 백도어가 탐지되지 않은 채로 남아 있었다면 "백도어 제작자에게 SSH를 실행하는 전 세계 수억 대의 컴퓨터에 대한 마스터 키를 제공했을 것"이라고 말했다.[17] 또한 이 사건은 사이버 인프라의 중요한 부분을 무급 자원봉사자에게 의존시키는 문제에 대한 논의를 촉발시켰다.[18]
각주
[편집]- ↑ Corbet, Jonathan. “A backdoor in xz”. 《LWN》. 2024년 4월 1일에 원본 문서에서 보존된 문서. 2024년 4월 2일에 확인함.
- ↑ “CVE-2024-3094”. 《National Vulnerability Database》. NIST. 2024년 4월 2일에 원본 문서에서 보존된 문서. 2024년 4월 2일에 확인함.
- ↑ Gatlan, Sergiu. “Red Hat warns of backdoor in XZ tools used by most Linux distros”. 《BleepingComputer》 (미국 영어). 2024년 3월 29일에 원본 문서에서 보존된 문서. 2024년 3월 29일에 확인함.
- ↑ Akamai Security Intelligence Group (2024년 4월 1일). “XZ Utils Backdoor – Everything You Need to Know, and What You Can Do”. 2024년 4월 2일에 원본 문서에서 보존된 문서. 2024년 4월 2일에 확인함.
- ↑ 가 나 다 라 마 James, Sam. “xz-utils backdoor situation (CVE-2024-3094)”. 《GitHub》 (영어). 2024년 4월 2일에 원본 문서에서 보존된 문서. 2024년 4월 2일에 확인함.
- ↑ Zorz, Zeljka (2024년 3월 29일). “Beware! Backdoor found in XZ utilities used by many Linux distros (CVE-2024-3094)”. 《Help Net Security》. 2024년 3월 29일에 원본 문서에서 보존된 문서. 2024년 3월 29일에 확인함.
- ↑ 가 나 다 라 Goodin, Dan (2024년 4월 1일). “What we know about the xz Utils backdoor that almost infected the world”. 《Ars Technica》 (미국 영어). 2024년 4월 1일에 원본 문서에서 보존된 문서. 2024년 4월 1일에 확인함.
- ↑ “oss-security - backdoor in upstream xz/liblzma leading to ssh server compromise”. 《www.openwall.com》. 2024년 4월 1일에 원본 문서에서 보존된 문서. 2024년 4월 3일에 확인함.
- ↑ Larabel, Michael. “XZ Struck By Malicious Code That Could Allow Unauthorized Remote System Access”. 《Phoronix》 (영어). 2024년 3월 29일에 원본 문서에서 보존된 문서. 2024년 3월 29일에 확인함.
- ↑ O'Donnell-Welch, Lindsey (2024년 3월 29일). “Red Hat, CISA Warn of XZ Utils Backdoor”. 《Decipher》 (영어). 2024년 3월 29일에 원본 문서에서 보존된 문서. 2024년 3월 29일에 확인함.
- ↑ 가 나 Claburn, Thomas. “Malicious backdoor spotted in Linux compression library xz”. 《The Register》 (영어). 2024년 4월 1일에 원본 문서에서 보존된 문서. 2024년 4월 1일에 확인함.
- ↑ 가 나 다 “Urgent security alert for Fedora 41 and Fedora Rawhide users” (영어). Red Hat. 2024년 3월 29일에 원본 문서에서 보존된 문서. 2024년 3월 29일에 확인함.
- ↑ Greenberg, Andy. “The Mystery of ‘Jia Tan,’ the XZ Backdoor Mastermind”. 《Wired》. 2024년 4월 3일에 원본 문서에서 보존된 문서. 2024년 4월 3일에 확인함.
- ↑ “Reported Supply Chain Compromise Affecting XZ Utils Data Compression Library, CVE-2024-3094” (영어). CISA. 2024년 3월 29일. 2024년 3월 29일에 원본 문서에서 보존된 문서. 2024년 3월 29일에 확인함.
- ↑ “SUSE addresses supply chain attack against xz compression library”. 《SUSE Communities》. SUSE. 2024년 3월 29일에 원본 문서에서 보존된 문서. 2024년 3월 29일에 확인함.
- ↑ Larabel, Michael (2024년 3월 29일). “GitHub Disables The XZ Repository Following Today's Malicious Disclosure”. 《Phoronix》 (영어). 2024년 3월 31일에 원본 문서에서 보존된 문서. 2024년 3월 31일에 확인함.
- ↑ Roose, Kevin. “Did One Guy Just Stop a Huge Cyberattack?”. 《The New York Times》. 2024년 4월 4일에 원본 문서에서 보존된 문서. 2024년 4월 4일에 확인함.
- ↑ Khalid, Amrita (2024년 4월 2일). “How one volunteer stopped a backdoor from exposing Linux systems worldwide”. 《The Verge》 (영어). 2024년 4월 4일에 원본 문서에서 보존된 문서. 2024년 4월 4일에 확인함.