컴파일러만의 공격이 아니다: GNU strip 하나로 리눅스 배포판 전체를 백도어한 연구

Trusting-Trust Attack against an Entire Linux Distribution

Ken Thompson의 trusting-trust 공격은 컴파일러가 자신이 빌드한 프로그램을 백도어하고, 재빌드 과정에서 백도어를 스스로 재생산하는 기법으로, 컴파일러에만 적용되는 위협으로 널리 알려져 있다. 이 연구는 그 통념을 깨고, 소스 코드를 검사하거나 생성하지 않는 일반적인 빌드 유틸리티인 GNU strip을 대상으로 완전한 trusting-trust 공격을 구성했다. 완성된 ELF 파일만 조작하여 NixOS 리눅스 배포판의 부트스트랩 과정에서 단 하나의 변조된 strip이 시드에 심어지고, 이 페이로드가 세대를 거쳐 전파되어 최종 표준 환경에까지 생존한다. 실제 nixpkgs 리비전에서 이 공격은 완전한 그래픽 설치 프로그램을 오류 없이 빌드하고, 그 바이너리의 거의 전부를 백도어하여 서브버티드 패키지의 임의 악성 행위를 가능하게 했다.

우리는 소스 코드를 검사하거나 생성하지 않는 평범한 빌드 유틸리티인 GNU strip을 중심으로 완전한 trusting-trust 공격을 구축했으며, 이는 컴파일러에만 국한된 위협이라는 기존의 인식이 틀렸음을 보여준다.

이 날의 다른 글

2026-09-07