오픈소스 공급망 공격: xz 백도어 사건

2025-03-22

2024년 3월, 널리 사용되는 압축 소프트웨어 xz에서 백도어가 발견되었습니다. Jia Tan이라는 가명을 사용하는 악의적인 관리자가 3년 넘게 이 백도어를 은밀히 삽입했습니다. 이 백도어는 ssh가 설치된 시스템에서 원격 코드 실행을 허용했습니다. 발견은 우연히 관련 없는 성능 문제를 조사하던 Postgres 개발자에 의해 이루어졌습니다. 이 글에서는 백도어의 작동 방식과 빌드 재현성을 이용한 탐지 방법에 대해 자세히 설명합니다. 백도어는 xz 빌드 프로세스를 수정하여 악의적인 객체 파일을 삽입하고 glibc의 ifunc 메커니즘을 이용하여 ssh의 RSA_public_decrypt 함수를 후크하는 방식으로 구성되었습니다. 저자는 신뢰할 수 있는 소스에서 소프트웨어를 빌드하고 빌드 재현성을 활용하여 소프트웨어 공급망 보안을 강화할 것을 제안하며, GitHub 릴리스와 관리자가 제공한 tarball을 비교하거나 빌드 소스 간 바이너리 일관성을 확인하는 것이 포함됩니다.

더 보기
(luj.fr)
기술 xz 백도어

NixOS 빌드 재현성: 생각보다 낫다

2025-02-12

NixOS의 빌드 재현성은 오랫동안 논쟁의 대상이었습니다. 기능적인 패키지 매니저 모델은 빌드 재현성에 기여하지만, 모든 빌드에서 비트 단위 재현성을 보장하지는 않습니다. 새로운 연구 논문에서는 Nixpkgs(NixOS의 패키지 집합)를 6년간 경험적으로 연구하여 재현율이 꾸준히 증가하고 있음을 밝혔습니다. 2017년 69%에서 2023년 4월에는 91%에 이르렀습니다. 이 연구에서는 임베디드 날짜, uname 출력, 환경 변수, 빌드 ID 등 재현성 부족의 주요 원인도 파악했습니다. 이러한 결과는 Nixpkgs가 이미 높은 재현율을 달성하고 있음에도 불구하고, 이러한 점들을 개선함으로써 더욱 향상시킬 수 있음을 보여줍니다. 이 연구는 Nix 치환 프로토콜에 대한 신뢰도를 높이고 빌드 재현성을 기반으로 하는 분산 캐싱 솔루션 개발을 촉진하는 데 필수적입니다.

더 보기
(luj.fr)