xz 공격 쉘 스크립트
- Andres Freund가 2024년 3월 29일에 xz 공격의 존재를 공개함.
- 공격은 쉘 스크립트와 오브젝트 파일 두 부분으로 나뉨.
- 쉘 스크립트는 make 과정에서 오브젝트 파일을 빌드에 추가함.
- 악의적인 오브젝트 파일과 쉘 코드는 "테스트 입력"으로 위장하여 압축 및 암호화되어 추가됨.
구성
- xz-utils는 GNU autoconf를 사용하여 시스템에 맞게 빌드 방법을 결정함.
- 공격자는 예상치 못한 지원 라이브러리를 tarball 배포판에 추가함.
- 이 지원 라이브러리는 악의적인 코드를 포함하고 있음.
구성 다시 보기
- 공격자가 추가한 지원 라이브러리는 특정 패턴을 찾아 해당 파일을 설정함.
- 이 스크립트는 악의적인 파일을 찾아내고, 해당 파일을 실행하여 쉘 코드를 주입함.
쉘 스크립트 실행
- 악의적인 쉘 스크립트는 여러 단계의 검사를 거쳐 필요한 환경에서만 실행됨.
- 스크립트는 Makefile에 여러 줄을 추가하여 빌드 과정에 악의적인 코드를 삽입함.
GN⁺의 의견
- 이 공격은 오픈소스 소프트웨어의 보안 취약점을 드러내며, 개발자들은 코드 리뷰와 보안 감사의 중요성을 인식해야 함.
- 공격 방식은 소프트웨어 공급망 공격의 한 예로, 이러한 공격을 방지하기 위한 조치가 필요함.
- 이 기사는 개발자들에게 쉘 스크립트와 빌드 시스템의 복잡성을 악용하는 공격 방법을 보여줌으로써 경각심을 불러일으킬 수 있음.
- 비판적인 시각에서 볼 때, 이러한 공격은 오픈소스 프로젝트의 신뢰성에 대한 의문을 제기할 수 있음.
- 관련 분야의 지식을 사용하여, 이 기사는 소프트웨어 개발 및 배포 과정에서의 보안 점검의 중요성을 강조함.