XZ Utils
| ์์ ์ | Lasse Collin |
|---|---|
| ๊ฐ๋ฐ์ | The Tukaani Project |
| ์์ ํ ๋ฒ์ | 5.8.3
/ 2026๋
3์ 31์ผ |
| ์ ์ฅ์ | |
| ํ๋ก๊ทธ๋๋ฐ ์ธ์ด | C |
| ์ด์ ์ฒด์ | ํฌ๋ก์ค ํ๋ซํผ |
| ์ข ๋ฅ | ๋ฐ์ดํฐ ์์ถ |
| ๋ผ์ด์ ์ค | ํผ๋ธ๋ฆญ ๋๋ฉ์ธ.[1] (์์ธํ ์ฌํญ์ ๊ฐ๋ฐ ๋ฌธ๋จ ์ฐธ๊ณ ) |
| ์น์ฌ์ดํธ | tukaani |
| ํ์ผ ํ์ฅ์ | .xz |
|---|---|
| ์ธํฐ๋ท ๋ฏธ๋์ดย ํ์ |
application/x-xz |
| ๋งค์ง ๋๋ฒ | FD 37 7A 58 5A 00 |
| ๊ฐ๋ฐ | Lasse Collin Igor Pavlov |
| ๋ฐํ์ผ | 2009๋ 1์ 14์ผ |
| ์ต์ ๋ฒ์ | 1.2.1 (2024๋ 4์ 8์ผ) |
| ํฌ๋งท ์ข ๋ฅ | ๋ฐ์ดํฐ ์์ถ |
| ์คํ ํฌ๋งท? | Yes |
| ์น์ฌ์ดํธ | tukaani |
XZ Utils (์ด์ LZMA Utils )๋ lzma ๋ฐ xz ํ๋ก๊ทธ๋จ์ ํฌํจํด ์ ๋์ค ๊ณ์ด ์ด์ ์ฒด์ ๋ฐ ๋ง์ดํฌ๋ก์ํํธ ์๋์ฐ ๋ฒ์ 5.0 ์ด์์์ ์คํํ ์ ์๋ ์์ ์ํํธ์จ์ด ๋ช ๋ น์ค ๋น์์ค ์์ถ ์ํํธ์จ์ด ๋ชจ์์ด๋ค. ์์ถ/์์ถ ํ๊ธฐ์๋ LempelโZivโMarkov ์ฒด์ธ ์๊ณ ๋ฆฌ์ฆ (LZMA)์ด ์ฌ์ฉ๋๋ค. XZ Utils๋ Igor Pavlov ์ LZMA- SDK๋ฅผ ์ ๋์ค ํ๊ฒฝ์ ๋ฌธ์ ์์ด ์คํ๋๋๋ก ์ด์ํ ๋ฒ์ ์ผ๋ก ์์๋์๋ค
2024๋ 3์ 29์ผ, XZ Utils์ 5.6.0 ๋ฐ 5.6.1 ๋ฐฐํฌํ์์ ๋ฐฑ๋์ด๊ฐ ๋ฐ๊ฒฌ๋์๋ค.
ํน์ง
[ํธ์ง]๋๋ถ๋ถ์ ๊ฒฝ์ฐ xz๋ gzip ๋ฐ bzip2 ์ ๊ฐ์ ๊ธฐ๋ฅ์ ๊ฐ์ง ๋ค๋ฅธ ์ํํธ์จ์ด๋ณด๋ค ๋ ๋์ ์์ถ๋ฅ ์ ๋ฌ์ฑํ๋ค. ์์ถ ํด์ ์๋๋ bzip2๋ณด๋ค ๋์ง๋ง gzip๋ณด๋ค ๋๋ฆฌ๋ค. ์์ถ์ gzip๋ณด๋ค ํจ์ฌ ๋๋ฆด ์ ์๊ณ ๋์ ์์ถ ์์ค์ ๊ฒฝ์ฐ bzip2๋ณด๋ค ๋๋ฆด ์ ์์ผ๋ฉฐ ์์ถ ํ์ผ์ ์ฌ๋ฌ ๋ฒ ์ฌ์ฉํ ๋ ๊ฐ์ฅ ์ ์ฉํ๋ค.[2][3]
XZ Utils๋ ๋ ๊ฐ์ง ์ฃผ์ ๊ตฌ์ฑ ์์๋ก ๊ตฌ์ฑ๋์ด์๋ค.
- ๋ช ๋ น์ค ์์ถ ๋ฐ ์์ถ ํด์ ์ํํธ์จ์ด xz
- Zlib์ ์ ์ฌํ API๋ฅผ ๊ฐ์ง ์ํํธ์จ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ liblzma
lzma ( xz --format=lzma ์ ๊ฒฝ์ฐ), unxz ( xz --decompress ์ ๊ฒฝ์ฐ gunzip ๊ณผ ์ ์ฌ) ๋ฐ xzcat ( unxz --stdout ์ ๊ฒฝ์ฐ zcat ๊ณผ ์ ์ฌ)์ ๊ฐ์ ๋ค์ํ ๋ช
๋ น ๋จ์ถํค๊ฐ ์กด์ฌํ๋ค.
XZ Utils๋ xz ๋ฐ lzma ํ์ผ ํ์์ ๋ชจ๋ ์์ถํ๊ณ ์์ถ์ ํ ์ ์์ง๋ง LZMA ํ์์ ์ด์ ๋ ๊ฑฐ์์ด๋ฏ๋ก XZ Utils๋ ๊ธฐ๋ณธ์ ์ผ๋ก xz๋ก ์์ถํ๋๋ก ์ค์ ๋์ด ์๋ค.
xz ํ์
[ํธ์ง]xz ํ์์ ํํฐ ์ ์ฒ๋ฆฌ๋ฅผ ํ์ฉํ์ฌ lzma๋ฅผ ๊ฐ์ ํ ์์ถ ํ์ผ ํ์์ผ๋ก, 7z ํํฐ๋ LZMA SDK๋ฅผ ํตํด ํผ๋ธ๋ฆญ ๋๋ฉ์ธ์ผ๋ก ๊ณต๊ฐ๋์ด ์๋ 7z ํํฐ์ ์ ์ฌํ๋ค.
๊ฐ๋ฐ
[ํธ์ง]XZ Utils์ ๊ฐ๋ฐ์ ๋ง์ดํฌ ์ผ์ฆ๋๊ฐ ์ด๋๋ ํ๋ ์ฌ๋์จ์ด ๊ธฐ๋ฐ ๋ฆฌ๋ ์ค ๋ฐฐํฌํ์ ๊ด๋ฆฌํ๋ ์๊ท๋ชจ ๊ฐ๋ฐ์ ๊ทธ๋ฃน์ธ Tukaani ํ๋ก์ ํธ ๋ด์์ ์ด๋ฃจ์ด์ก๋ค.
xz ๋ฐ liblzma์ ๋ชจ๋ ์์ค ์ฝ๋๋ ํผ๋ธ๋ฆญ ๋๋ฉ์ธ์ผ๋ก ๊ณต๊ฐ๋์ด์์ผ๋, ๋ช๋ช ์คํฌ๋ฆฝํธ์๋ GNU ์ผ๋ฐ ๊ณต์ค ์ฌ์ฉ ํ๊ฐ์ ๋๋ GNU ์ฝ์ ์ผ๋ฐ ๊ณต์ค ์ฌ์ฉ ํ๊ฐ์๊ฐ ์ ์ฉ๋์ด์๋ค.
XZ Utils ์ํํธ์จ์ด์ ํจ๊ป ๋ฐฐํฌ๋๋ GNU ์ผ๋ฐ ๊ณต์ค ์ฌ์ฉ ํ๊ฐ์๊ฐ ์ ์ฉ๋ ์คํฌ๋ฆฝํธ ๋ฐ ์์ค์ ์ ์ฒด ๋ชฉ๋ก์ ๋ค์๊ณผ ๊ฐ๋ค:
- libc ํจ์์ธ getopt ( GNU LGPL v2.1 )์ ์ ํ์ ๊ตฌํ
- pthread ๊ฐ์ง๋ฅผ ์ํ m4 ์คํฌ๋ฆฝํธ( GNU GPL v3 )
- ์ผ๋ถ ์ค์ํ์ง ์์ ๋ํผ ์คํฌ๋ฆฝํธ(xzgrep ๋ฑ)( GNU GPL v2 )
- ๊ทธ๋ฆฌ๊ณ ๋น๋ ์์คํ ๊ณผ ํตํฉ๋์ง ์์ ์์ ํ๋ก๊ทธ๋จ scanlzma
LGPL getopt ๊ตฌํ์ด ํตํฉํ ๊ฒ์ ์ฌ์ฉํ์ง ์๋ ํ xz ๋ฐ liblzma ๋ฐ์ด๋๋ฆฌ๋ ํผ๋ธ๋ฆญ ๋๋ฉ์ธ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค.
๋ฐ์ด๋๋ฆฌ๋ FreeBSD, NetBSD, ๋ฆฌ๋ ์ค ์์คํ , ๋ง์ดํฌ๋ก์ํํธ ์๋์ฐ ๋ฐ ํ๋ฆฌ๋์ค์์ ์ฌ์ฉํ ์ ์๋ค. ํ๋๋ผ, ์ฌ๋์จ์ด, ์ฐ๋ถํฌ ๋ฐ ๋ฐ๋น์์ ํฌํจํ ๋ค์์ ๋ฆฌ๋ ์ค ๋ฐฐํฌํ์์๋ ์ํํธ์จ์ด ํจํค์ง๋ฅผ ์์ถํ๊ธฐ ์ํด xz๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค. ์์น ๋ฆฌ๋ ์ค๋ ์ด์ ์ xz๋ฅผ ์ฌ์ฉํ์ฌ ํจํค์ง๋ฅผ ์์ถํ์ง๋ง[4] 2019๋ 12์ 27์ผ ํ์ฌ ํจํค์ง๋ Zstandard๋ฅผ ์ฌ์ฉํด ์์ถํ๊ณ ์๋ค.[5] ํ๋๋ผ ๋ฆฌ๋ ์ค ๋ํ ํ๋๋ผ ๋ฆฌ๋ ์ค 31 ๋ฒ์ ๋ถํฐ RPM ํจํค์ง๋ฅผ Zstandard๋ก ์์ถํ๋ ๋ฐฉ์์ผ๋ก ์ ํํ๋ค[6] GNU FTP ์์นด์ด๋ธ๋ xz๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค.
๊ณต๊ธ๋ง ๊ณต๊ฒฉ
[ํธ์ง]2024๋
3์ 29์ผ, Openwall์ oss-security ๋ฉ์ผ๋ง ๋ฆฌ์คํธ์ liblzma ์ฝ๋์ ์ทจ์ฝ์ ์ด ์ฝ์
๋์๋ค๋ ๊ฒ์ ์๋ฆฌ๋ ์ค๋ ๋๊ฐ ๊ฒ์๋์๋ค.[7] ์ค๋ ๋ ์์ฑ์์ธ Andres Freund๋ sshd๊ฐ ๋ง์ ์์ CPU๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค๋ ๊ฒ์ ์๊ณ ์์ธ์ ์ฐพ๋ ์ค[8] tar ํ์ผ์ ๊ตฌ์ฑ ์คํฌ๋ฆฝํธ ์ถ๊ฐ๋ฅผ ํตํด ๋ฐฑ๋์ด ์ค์ ์ฝ๋ ์ฝ์
ํ๋ ์์ถ ํ
์คํธ ํ์ผ์ ์ฐพ์๋๋ค. ์ด ์ทจ์ฝ์ ์ CVE ID๋ ๋ ๋ํ์ด ๋ฐํํ CVE-2024-3094์ด๋ฉฐ, ์ทจ์ฝ์ ์ํ ์ง์๋ 10์ ๋ง์ ์ 10์ ์ด๋ค.
ํด๋น ์
์ฑ์ฝ๋๊ฐ ํฌํจ๋ ๋ฒ์ ์ 5.6.0, 5.6.1์ธ ๊ฒ์ผ๋ก ์๋ ค์ ธ ์๋ค. SSH ์๋ฒ์ ํน์ ์๋ ํํฐ ํจ์น๋ฅผ ์ฌ์ฉํ์ง ์๋ ํ ์ทจ์ฝ์ ์ ์๋๋์ง ์์ง๋ง, ์๋ ๊ฒฝ์ฐ ์ ์ฌ์ ์ผ๋ก ์
์์ ์ธ ํ์์๊ฐ sshd ์ธ์ฆ์ ๊นจ๊ณ ์๊ฒฉ์ผ๋ก ์ ์ฒด ์์คํ
์ ๋ํ ๋ฌด๋จ ์ก์ธ์ค ๊ถํ์ ์ป์ ์ ์๋ค.[9] ์นจํฌ ๋ฉ์ปค๋์ฆ์ ์
์ฑ ๋ฐ์ด๋๋ฆฌ ์ฝ๋๊ฐ ํฌํจ๋ ๋ ๊ฐ์ ์์ถ ํ
์คํธ ํ์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ, ํ์ผ๋ค์ git ์ ์ฅ์์ ๊ณต๊ฐ๋์ด ์์ง๋ง ํ๋ก๊ทธ๋จ์ ์ฝ์
ํ์ง ์๋ ํ ํด๋ฉด ์ํ๋ก ์ ์ง๋๋ค.[10] ์ด ์ฝ๋๋ glibc IFUNC ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ RSA_public_decrypt ๋ผ๋ OpenSSH์ ๊ธฐ์กด ํจ์๋ฅผ ์
์ฑ์ฝ๋ ๋ฒ์ ์ผ๋ก ๋์ฒดํ๋ค. OpenSSH๋ ์ผ๋ฐ์ ์ผ๋ก liblzma๋ฅผ ๋ก๋ํ์ง ์์ง๋ง, ์ฌ๋ฌ ๋ฆฌ๋
์ค ๋ฐฐํฌํ์์ ์ฌ์ฉํ๋ ์ผ๋ฐ์ ์ธ ์๋ ํํฐ ํจ์น๋ก ์ธํด libsystemd๊ฐ ๋ก๋๋๊ณ , ์ด๋ฅผ ํตํด lzma๊ฐ ๋ก๋๋๋ค.[10]๊นํ๋ธ์ ์
๋ก๋๋ ๋ฆด๋ฆฌ์ค ๋ฒ์ ์์ค์ฝ๋ tar์๋ liblzma์ ๋ฐฑ๋์ด ์ฝ์
์ ์ํํ๋ ์คํฌ๋ฆฝํธ์ธ build-to-host.m4 ์ ์์ ๋ ๋ฒ์ ์ด ํฌํจ๋์๋ค. ์ด ์์ ๋ m4 ํ์ผ์ git ์ ์ฅ์์ ์์์ง๋ง, git๊ณผ ๋ณ๋๋ก ๊ด๋ฆฌ์๊ฐ ๋ฆด๋ฆฌ์คํ tar ํ์ผ์๋ง ์กด์ฌํ๋ค.[10] ์คํฌ๋ฆฝํธ๋ ์์คํ
์ด glibc ๋ฐ GCC๋ฅผ ์ฌ์ฉํ๊ณ dpkg ๋๋ rpm์ ํตํด ๊ตฌ์ถ๋๋ x86-64 ๋ฆฌ๋
์ค ์์คํ
์๋ง ์ทจ์ฝ์ ์ ์ฝ์
ํ๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ๋ค.[10] ๊นํ๋ธ๋ ๊ณต๊ธ๋ง ๊ณต๊ฒฉ์ผ๋ก ์ธํด XZ ์ ์ฅ์๋ฅผ ์๋น์ค ์ฝ๊ด ์๋ฐ์ ์ด์ ๋ก ์ฝ๋๋ฅผ ์ฌ์ดํธ์์ ๋ด๋ ธ๋ค.[11] ๋ฐฑ๋์ด๋ xz ํ๋ก์ ํธ์ ๊ด๋ฆฌ์์ธ "JiaT75"์ ์ํด ์ถ๊ฐ๋์์ง๋ง ์ด ๋ฐฑ๋์ด๊ฐ ๊ด๋ฆฌ์๊ฐ ์๋์ ์ผ๋ก ์ฝ์
ํ ๊ฒ์ธ์ง, ์๋๋ฉด ๊ด๋ฆฌ์ ๊ณ์ ์ด ํดํน ๋ ๊ฒ์ธ์ง๋ ํ์ฌ ํ์คํ์ง ์๋ค.[12]
์ํฅ์ ๋ฐ๋ ๋ฆฌ๋ ์ค ๋ฐฐํฌํ ๋ชฉ๋ก์๋ ๋ฐ๋น์ ๋ถ์์ ๋ฐ ํ ์คํธ ๋ฒ์ ,[13] Fedora Rawhide,[14] ์นผ๋ฆฌ ๋ฆฌ๋ ์ค,[15] ๋ฐ ์คํ์์ธ ํ ๋ธ์๋[16] ๋ฐ Zorin OS ๋ฑ์ด ์๋ค. ์์ ์ ์ธ ๋ฆด๋ฆฌ์ค ์ ๋ฐ์ดํธ ๋ชจ๋ธ์ ๋ฐ๋ฅด๋ ๋๋ถ๋ถ์ ๋ฆฌ๋ ์ค ๋ฐฐํฌํ์ ์ด์ ๋ฒ์ ์ xz๋ฅผ ํ์ฌํ๊ณ ์์๊ธฐ ๋๋ฌธ์ ์ํฅ์ ๋ฐ์ง ์์๋ค.[10] Arch ๋ฆฌ๋ ์ค๋ ์ฌ์ฉ์์๊ฒ ์ฆ์ ์ ๋ฐ์ดํธํ๋ผ๋ ๊ถ๊ณ ๋ฅผ ๋ฐํํ์ง๋ง Arch์ OpenSSH ํจํค์ง์๋ ๋ฐฑ๋์ด์ ์คํ๋๋ ๋ฐ ํ์ํ ์๋ํํฐ ํจ์น๊ฐ ํฌํจ๋์ด ์์ง ์๋ค๋ ์ ๋ ์ธ๊ธํ๋ค.[17] ํ์ฌ ์ง์๋๋ ๋ชจ๋ FreeBSD ๋ฆด๋ฆฌ์ค์๋ ์ํฅ์ ๋ฐ๋ ๋ฆด๋ฆฌ์ค๋ณด๋ค ์ด์ ๋ฒ์ ์ xz๊ฐ ํฌํจ๋์ด ์์์ผ๋ฉฐ, ๊ณต๊ฒฉ์ ๋ฆฌ๋ ์ค์ glibc๋ฅผ ๋์์ผ๋ก ํ๊ธฐ ๋๋ฌธ์ FreeBSD๋ ์ด ๊ณต๊ฒฉ์ ์ํฅ์ ๋ฐ์ง ์๋๋ค.[18]
๊ฐ์ฃผ
[ํธ์ง]- โ Licensing on tukaani.org "The most interesting parts of XZ Utils (e.g. liblzma) are in the public domain. You can do whatever you want with the public domain parts. Some parts of XZ Utils (e.g. build system and some utilities) are under different free software licenses such as GNU LGPLv2.1, GNU GPLv2, or GNU GPLv3."
- โ Henry-Stocker, Sandra (2017๋ 12์ 12์ผ). โHow to squeeze the most out of Linux file compressionโ (์์ด). ใNetwork Worldใ. 2020๋ 2์ 9์ผ์ ํ์ธํจ.
- โ โGzip vs Bzip2 vs XZ Performance Comparisonโ (๋ฏธ๊ตญ ์์ด). ใRootUsersใ. 2015๋ 9์ 16์ผ. 2020๋ 2์ 9์ผ์ ํ์ธํจ.
- โ Pierre Schmitz (2010๋ 3์ 23์ผ). โNews: Switching to xz compression for new packagesโ.
- โ โArch Linux - News: Now using Zstandard instead of xz for package compressionโ. ใwww.archlinux.orgใ. 2020๋ 1์ 7์ผ์ ํ์ธํจ.
- โ Mach, Daniel. โChanges/Switch RPMs to zstd compressionโ. ใFedora Project Wikiใ. 2024๋ 3์ 30์ผ์ ํ์ธํจ.
- โ Freund, Andres (2024๋ 3์ 29์ผ). โbackdoor in upstream xz/liblzma leading to ssh server compromiseโ. oss-security mailing list.
- โ โA backdoor in xzโ. ใlwn.netใ. 2024๋ 3์ 30์ผ์ ํ์ธํจ.
- โ โUrgent security alert for Fedora 41 and Rawhide usersโ (์์ด). ใwww.redhat.comใ. 2024๋ 3์ 29์ผ์ ํ์ธํจ.
- 1 2 3 4 5 James, Sam. โxz-utils backdoor situationโ (์์ด). ใGistใ.
- โ Larabel, Michael (2024๋ 3์ 29์ผ). โGitHub Disables The XZ Repository Following Today's Malicious Disclosureโ (์์ด). ใwww.phoronix.comใ. 2024๋ 3์ 31์ผ์ ํ์ธํจ.
- โ Goodin, Dan (2024๋ 3์ 29์ผ). โBackdoor found in widely used Linux utility breaks encrypted SSH connectionsโ (๋ฏธ๊ตญ ์์ด). ใArs Technicaใ. 2024๋ 3์ 29์ผ์ ํ์ธํจ.
- โ โCVE-2024-3094โ. ใsecurity-tracker.debian.orgใ. 2024๋ 3์ 30์ผ์ ํ์ธํจ.
- โ โUrgent security alert for Fedora 41 and Fedora Rawhide usersโ (์์ด). ใwww.redhat.comใ. 2024๋ 3์ 30์ผ์ ํ์ธํจ.
- โ โAll about the xz-utils backdoor | Kali Linux Blogโ (์์ด). ใKali Linuxใ. 2024๋ 3์ 29์ผ. 2024๋ 3์ 30์ผ์ ํ์ธํจ.
- โ โopenSUSE addresses supply chain attack against xz compression libraryโ (์์ด). ใopenSUSE Newsใ. 2024๋ 3์ 29์ผ. 2024๋ 3์ 30์ผ์ ํ์ธํจ.
- โ โArch Linux - News: The xz package has been backdooredโ. ใarchlinux.orgใ. 2024๋ 3์ 30์ผ์ ํ์ธํจ.
- โ โDisclosed backdoor in xz releases - FreeBSD not affectedโ. 2024๋ 3์ 30์ผ์ ํ์ธํจ.
์ธ๋ถ ๋งํฌ
[ํธ์ง]- Official Website - ์จ์ด๋ฐฑ ๋จธ์ (๋ณด๊ด๋จ 2024-03-25)
- SourceForge project page