GNU strip 조작으로 리눅스 배포판 전체를 감염시키는 트러스팅-트러스트 공격
켄 톰슨의 '트러스팅-트러스트(trusting-trust)' 공격이 컴파일러 전용 위협이 아니라는 것을 실증한 연구입니다. 연구진은 소스 코드를 다루지 않는 일반 빌드 도구인 GNU strip의 바이너리(ELF 파일)만 조작해 NixOS 부트스트랩 과정에 백도어를 심었고, 이 악성 코드가 대를 이어 전파되어 최종 환경의 거의 모든 바이너리를 감염시켰습니다. 소프트웨어 공급망 보안에서 바이너리 시드 검증의 중요성을 보여주는 사례입니다.
컴퓨터 과학 > 암호학 및 보안 arXiv:2607.24888 (cs) [2026년 7월 27일 제출]
제목: 바이너리 조작을 통한 리눅스 배포판 전체에 대한 트러스팅-트러스트 공격 저자: 줄리앙 말카(Julien Malka), 아만 샤르마(Aman Sharma), 마르탱 몽페루스(Martin Monperrus), 스테파노 자키롤리(Stefano Zacchiroli), 테오 지메르만(Théo Zimmermann)
초록: 켄 톰슨(Ken Thompson)의 트러스팅-트러스트(trusting-trust) 공격은, 침해된 컴파일러가 자신이 빌드하는 프로그램에 백도어를 심고, 이후 자기 자신이 다시 빌드될 때 그 백도어를 재현하는 공격으로, 일반적으로 컴파일러에 국한된 위협으로 여겨져 왔다. 본 연구는 그렇지 않음을 보여준다. 우리는 소스 코드를 검사하거나 생성하지 않는 평범한 빌드 유틸리티인 GNU strip을 중심으로, 완성된 ELF 파일에 대한 조작만을 이용해 완전한 트러스팅-트러스트 공격을 구성했다.
NixOS 리눅스 배포판의 부트스트랩 과정에서, 바이너리 시드(binary seed) 내 단 하나의 조작된 strip이 페이로드(payload)를 심으며, 이 페이로드는 한 세대의 strip에서 다음 세대의 strip으로 전파되고, 시드가 의존성 클로저(dependency closure)를 벗어난 이후에도 최종 표준 환경까지 살아남는다.
실제 nixpkgs 리비전에서 이 공격은 오류 없이 완전한 그래픽 설치 이미지를 빌드하며, 그 바이너리 거의 전부에 백도어를 심어, 감염된 패키지들이 임의의 악성 동작을 수행할 수 있게 만든다.
주제 분야: 암호학 및 보안(cs.CR); 소프트웨어 공학(cs.SE)
인용: arXiv:2607.24888 [cs.CR] https://doi.org/10.48550/arXiv.2607.24888
제출 이력: [v1] 2026년 7월 27일 (월) 12:59:15 UTC (1,848 KB), 아만 샤르마로부터
전문 접근: PDF 보기, HTML 보기(실험적), TeX 소스(라이선스 보기)
현재 탐색 컨텍스트: cs.CR
참고문헌 및 인용: NASA ADS, Google Scholar, Semantic Scholar에서 확인 가능. BibTeX 형식 내보내기 지원.
북마크 및 인용 도구: Bibliographic Explorer, Connected Papers, Litmaps, scite.ai 스마트 인용 등 제공.
코드·데이터: 본 논문과 관련된 코드·데이터는 CatalyzeX 코드 파인더, DagsHub, GotitPub, Hugging Face, ScienceCast 등을 통해 확인할 수 있다.
데모: Replicate, Hugging Face Spaces, TXYZ.AI Spaces 등에서 데모를 확인할 수 있다.
관련 논문 및 추천: 추천 시스템 및 CORE Recommender 연결 가능.
arXivLabs 소개: arXivLabs는 커뮤니티 협력자들이 arXiv 웹사이트에서 직접 새로운 기능을 개발하고 공유할 수 있게 하는 실험 프레임워크이다. arXiv는 개방성, 커뮤니티, 우수성, 사용자 데이터 프라이버시라는 가치를 지키는 파트너와만 협력한다.