Hacker News 의견
  • 관련 링크:

  • 요약:

    • 백도어 작성자가 Fedora 40 & 41에 xz 5.6.x를 추가하려고 여러 주간 소통함. 이 백도어로 인해 발생한 valgrind 문제를 해결하기 위해 협력했으나, 결국 백도어가 문제의 원인이었음을 알게 됨. 공개 금지 기간이 실수로 깨진 후 문제를 긴급히 해결해야 했음.
    • 백도어 작성자 중 한 명이 oss-fuzz에서 백도어에 의존하는 기능을 직접 비활성화하여 우연한 발견을 방지함.
    • 백도어 작성자가 xz-java 프로젝트에 SECURITY.md 파일을 추가함. 이는 보안 취약점을 발견하면 공개하지 말고 비공개로 보고하라는 지침을 담고 있음. 이를 다른 시각에서 보면, 작성자가 자신의 익스플로잇을 조정하고 대상을 활용할 시간을 벌려는 의도로 해석될 수 있음.
    • openssh는 직접적으로 liblzma를 사용하지 않지만, debian과 여러 배포판이 systemd 알림 지원을 위해 openssh에 패치를 적용함. 이로 인해 libsystemd가 liblzma에 의존하게 되어, openssh와 같은 보안 중요 데몬에 추가적인 의존성이 생기고 공급망 공격의 위험이 증가함.
    • 패닉 상태인 사람들을 위한 주요 확인 사항:
      • 최근 버전의 liblzma5 (5.6.0 또는 5.6.1)을 사용하는 경우. 이는 지난 한 달 정도에 추가됨.
      • debian이나 RPM 기반의 리눅스 배포판을 사용하는 경우. 리버스 엔지니어링을 어렵게 하려는 시도로 보임.
      • systemd에서 OpenSSH sshd를 실행하는 경우. 일부 배포판에서 패치된 OpenSSH는 로깅 기능을 위해 libsystemd를 사용하며, 이는 취약한 liblzma5를 끌어들임.
      • Debian testing은 이미 '5.6.1+really5.4.5-1'이라는 버전을 가지고 있으며, 이는 실제로는 이전 버전인 5.4를 새 버전으로 재포장한 것임.
    • GNU autoconf에서 무언가 의심스러운 것을 숨기고 싶다면, "curl | sh" 스크립트가 아닌 그곳에 숨길 것임. 이번 사건의 배포자는 이전에도 배포를 담당했으며, 2022년부터 커밋을 시작함. 많은 실제 변경 사항을 포함한 커밋이 있으며, libarchive와 같은 관련 프로젝트에도 커밋이 있음. 백도어를 삽입하기 위해 많은 노력이 필요함.
    • 몇 년 전에 Go 라이브러리를 작성하여 xz C 코드를 감싸고 Go에서 xz 압축을 할 수 있게 함. 약 일주일 전에 해당 레포지토리에 5.6.1로 업그레이드하는 첫 PR을 받음. 이는 상류의 GitHub 계정과는 다름.
    • 보안 연구원이나 리버스 엔지니어가 아닌 기여자가 기술적인 글을 쓰는 것을 좋아함. 그의 발견을 요약한 보고서는 공유를 꺼리는 주류 디버깅 세계 밖의 기여자들에게 훌륭한 템플릿으로 여겨짐.
    • xz(1)에 대한 더 능숙한 백도어 시도를 상상해보면, 이렇게 빨리 발견되지 않았을 것임. xz는 거의 모든 곳에 사용됨. 특정 빌드 프로세스의 기반으로 사용되는 .tar.xz 소프트웨어 타르볼과 같은 파일의 작은 부분만 선택적으로 수정하는 xz를 만들 수 있음. 소스 코드 타르볼이 아니라 사전 컴파일된 바이너리를 배포하는 타르볼을 대상으로 함.