개발 & 코딩 Aug 31, 2026북마크에 추가

2년간의 사회공학적 조작, 빌드 스크립트에 숨겨진 백도어, SSH 지연 500밀리초로 발견. 책 「Half a Second」는 CVE-2024-3094를 재구성하며 모든 개발자가 반드시 배워야 할 교훈을 담고 있습니다.
2024년 3월. Microsoft 엔지니어 Andres Freund는 SSH 연결에 500밀리초가 초과되는 현상을 관찰한다. 그는 원인을 파헤치다 liblzma — XZ Utils 압축 라이브러리 — 가 대부분의 Linux 배포판에서 SSH 데몬에 악성 코드를 주입하도록 수정되었음을 발견한다. CVE-2024-3094, CVSS 10.0. 이 백도어는 작성자에게 수백만 대의 서버에서 루트 권한으로 코드를 실행할 수 있는 권한을 부여했을 것이다.
이 공격의 독특한 점: 코드 취약점을 악용한 것이 아니다. 인간의 신뢰와 오픈소스 거버넌스 프로세스를 악용한 것이다 — 2년에 걸친 인내심 있는 작업의 결과.
공격자는 2021년부터 XZ Utils 프로젝트에 기여하기 시작했다. 정당한 기여, 높은 품질, 정기적인 기여. 2년간의 평판 구축과 공개적으로 문서화된 건강 문제로 유지 관리자 Lasse Collin의 신뢰를 얻는 과정. 일단 신뢰를 얻고 커밋 권한을 획득한 후, 백도어는 전통적인 코드 리뷰를 피하기 위해 소스 코드가 아닌 빌드 스크립트에 주입되었다.
자동화된 도구는 이를 감지하지 못했다. 한 개발자의 호기심이 발견한 500밀리초의 이상 현상이었다.
이 책은 전체 타임라인을 재구성하고 빌드 스크립트의 난독화 기법을 분석하며 오픈소스 프로젝트의 복원력을 강화하기 위한 프레임워크를 제안한다. 2026년 개발자를 위한 핵심 교훈:
거버넌스는 공격 표면이다. 누가 여러분의 프로젝트에 머지할 권한이 있는가? 새로운 기여자에게 이러한 권한을 부여하는 절차는 무엇인가? 이는 조직의 문제가 아니라 보안의 문제다.
빌드 스크립트는 중요한 코드다.Makefile, CMakeLists.txt, 패키징 스크립트 — 이들은 파이프라인에서 높은 권한으로 실행되며 소스 코드만큼 철저히 검토되지 않는다.
행동 감지가 시그니처 감지보다 우선한다. Andres Freund에게는 "XZ Utils 백도어"를 감지하는 규칙이 없었다 — 그는 시스템의 이상 현상을 관찰하는 습관이 있었다.
기억해야 할 점
- CVE-2024-3094: 2년간의 사회공학적 침투 후 주입된 백도어. 비정상적인 SSH 지연 500밀리초로 발견.
- 진정한 공격 벡터: 코드 취약점이 아닌 오픈소스 거버넌스 프로세스에 대한 신뢰.
- 구체적 조치: 머지 권한 감사, 빌드 스크립트를 중요한 코드로 취급, 행동 감지 강화.
- 「Half a Second」는 모든 오픈소스 유지 관리자 또는 기여자에게 필수 읽기 — 즉, 2026년 기준 거의 모든 개발자에게.
XZ 공격은 하나의 모델이다. 다른 acteurs(행위자)들도 이를 연구했다. 유사한 시도가 일어날 것인지의 문제가 아니라, 언제 일어날 것이며 우리가 준비되어 있는지의 문제다.
인공지능이 작성하고 사람의 편집 감독하에 검수한 기사입니다.
Attaques supply chain dans l'open source