Linux의 XZ Utils 백도어는 더 광범위한 공급망 보안 문제를 가리키며, 이를 막기 위해서는 커뮤니티 정신 이상의 것이 필요합니다.

게시일: 2024년 4월 11일
작성자: 피터 댄히외
사례 연구

Linux의 XZ Utils 백도어는 더 광범위한 공급망 보안 문제를 가리키며, 이를 막기 위해서는 커뮤니티 정신 이상의 것이 필요합니다.

게시일: 2024년 4월 11일
작성자: 피터 댄히외
리소스 보기
리소스 보기

교묘한 소프트웨어 공급망 침해가 발견되면서 사이버 보안 업계는 다시 한 번 높은 경계 태세에 돌입했습니다. 주요 Linux 배포판과 함께 제공되는 XZ Utils 데이터 압축 라이브러리에 영향을 미치는 이 취약점은 CVE-2024-3094로 기록되며, 한때 신뢰할 수 있었던 자원봉사 시스템 관리자가 의도적으로 삽입한 백도어에서 비롯된 것으로 밝혀졌습니다. 성공적으로 악용될 경우 원격 코드 실행(RCE)을 허용하며, 기존 소프트웨어 빌드 프로세스에 심각한 피해를 입힐 수 있는 심각한 문제입니다.

다행히 다른 관리자가 이 악성 코드가 안정적인 Linux 릴리스에 들어가기 전에 이 위협을 발견했지만, Fedora Rawhide의 일부로 XZ Utils 5.6.0 및 5.6.1 버전을 실행한 사용자에게는 여전히 문제가 되고 있으므로 조직은 긴급 수준의 우선 순위로 이 패치를 적용할 것을 촉구하고 있습니다. 이 발견이 제때 이루어지지 않았다면, 위험 프로필을 고려할 때 사상 가장 파괴적인 공급망 공격 중 하나가 될 것이며 아마도 SolarWinds를 능가할 수도 있습니다.

중요한 시스템을 유지하기 위해 커뮤니티 자원 봉사자에 대한 의존도는 널리 문서화되어 있지만 이번 사건과 같이 큰 영향을 미치는 문제가 표면으로 드러날 때까지는 거의 논의되지 않습니다. 오픈 소스 소프트웨어의 유지 관리에 있어 이들의 지칠 줄 모르는 노력은 필수적이지만, 이번 사건은 소프트웨어 리포지토리에 대한 액세스 제어 강화는 물론 개발자 수준에서 보안 기술과 인식에 대한 진지한 강조가 필요하다는 점을 강조합니다.

XZ Utils 백도어란 무엇이며 어떻게 완화할 수 있나요?

3월 29일, Red Hat은 긴급 보안 경보를 발표하여 Fedora Linux 40 및 Fedora Rawhide 사용자에게 최신 버전의 "XZ" 압축 도구 및 라이브러리에 무단 타사 액세스를 용이하게 하기 위해 특별히 제작된 것으로 보이는 악성 코드가 포함되어 있음을 알렸습니다.이 악성 코드가 어떻게 삽입되었는지는 향후 집중적인 연구의 대상이 될 것이지만 위협 행위자인 "Jia Tan"이라는 익명의 공격자가 정교하고 인내심을 가지고 수년간 사회 공학적으로 수행한 것으로 추정됩니다. 이 공격자는 다른 관리자들의 신뢰를 얻기 위해 수많은 시간을 투자했고, 2년 넘게 XZ Utils 프로젝트와 커뮤니티에 합법적으로 기여했으며, 결국 여러 개의 사칭 계정으로 인해 자원 봉사 프로젝트 소유자인 Lasse Collin에 대한 신뢰가 약화된 후 '신뢰할 수 있는 관리자' 자격을 얻게 되었습니다:

프로젝트의 기여자로 자신을 소개하는 지아 탄. 출처: 메일 아카이브.

원래 관리자가 과로. 지아 탄이 인수할 수 있는 커뮤니티의 신뢰를 얻고 있습니다. 출처: 메일 아카이브.

이 이례적인 시나리오는 고도의 기술력을 갖춘 사람이 일반적으로 덜 숙련된 사람을 대상으로 사용하는 전술의 희생양이 된 대표적인 사례로, 정밀한 역할 기반 보안 인식 교육이 필요함을 보여줍니다. Microsoft 소프트웨어 엔지니어이자 PostgreSQL 유지 관리자인 안드레스 프룬드의 호기심과 빠른 판단 덕분에 백도어를 발견하고 버전을 롤백하여 최근 역사상 가장 파괴적인 공급망 공격이 될 수 있었던 것을 막을 수 있었습니다.

이 백도어 자체는 공식적으로 NIST의 레지스트리에서 가장 심각도가 높은 취약점으로 추적되고 있습니다. 처음에는 SSH 인증 우회를 허용하는 것으로 생각되었지만, 추가 조사 결과 이 취약점을 통해 Fedora Rawhide, Fedora 41, Kali Linux, 오픈수세 마이크로OS, 오픈수세 텀블위드 및 일부 버전의 데비안을 포함한 취약한 Linux 시스템에서 인증되지 않은 원격 코드 실행이 가능한 것으로 밝혀졌습니다.

Jia Tan은 악성 패키지의 난독화를 위해 많은 노력을 기울인 것으로 보이며, 빌드 프로세스 중에 트리거되면 시스템드를 통해 SSHd에서 인증을 방해합니다. 레드햇이 자세히 설명했듯이, 적절한 상황에서는 이러한 간섭을 통해 공격자가 SSHd 인증을 깨고 전체 시스템에 대한 원격 무단 액세스를 얻을 수 있습니다.

Jia Tan의 첫 번째 리포지토리 저장소 커밋. safe_fprintf() 함수를 fprintf() 함수로대체 . 이 단계에서는 악의적인 의도는 없었을지 모르지만, 이 변경으로 인해 문자 이스케이프 취약점이 발생할 수 있다는 점을 간과해서는 안 됩니다. Source: GitHub.



Microsoft는 시스템에서 이 익스플로잇의 인스턴스를 검사하고 그 효과를 완화하기 위한 포괄적인 지침을 발표했으며, CISA가 권장하는 즉각적인 조치는 영향을 받는 개발자와 사용자가 XZ Utils를 XZ Utils 5.4.6 Stable과 같은 손상되지 않은 버전으로 다운그레이드하는 것입니다.

특히 소프트웨어에서 오픈 소스 구성 요소를 사용하는 경우 공급망의 보안에 대한 확신과 투명성이 거의 없기 때문에 이러한 공격 유형을 방지하는 것은 매우 어렵습니다. 우리는 이미 소프트웨어 공급망에서 우발적인 결함에 맞서 싸워왔지만, 오픈소스 보안을 손상시키기 위해 악의를 가지고 의도적으로 심은 보안 버그로 인해 이러한 위험이 높아졌습니다.

대부분의 개발자는 강력한 보안 의식, 건전한 보안 지식, 약간의 편집증이 없다면 이러한 유형의 공격을 막을 수 없습니다. 거의 위협 행위자의 사고방식이 필요한 경우입니다. 그러나 가장 중요한 고려 사항은 항상 내부적으로 제어되는 (즉, 오픈 소스가 아닌) 소스 코드 리포지토리를 중심으로 이루어져야 합니다. 이러한 리포지토리는 검증된 관련 보안 기술을 보유한 사람만 액세스할 수 있어야 합니다. 앱 보안 전문가는 보안 기술이 있는 개발자만 최종 마스터 브랜치에 변경 사항을 커밋할 수 있도록 하는 브랜치 수준 보안 제어와 같은 설정을 고려할 수 있습니다.

자원 봉사자 유지 관리자는 영웅이지만, 안전한 소프트웨어를 유지하려면 마을이 필요합니다.

소프트웨어 엔지니어링의 영역 밖에 있는 사람들에게는 열정적인 자원봉사자 커뮤니티가 중요한 시스템을 열심히 유지 관리한다는 개념이 이해하기 어려운 개념이지만, 이것이 바로 오픈소스 개발의 본질이며 공급망을 보호하는 보안 전문가에게는 계속해서 중요한 위험의 영역입니다.

오픈소스 소프트웨어는 거의 모든 기업의 디지털 에코시스템에서 중요한 부분을 차지하고 있으며, 신뢰할 수 있는 유지관리자(대부분 선의로 활동하는)는 사심 없이 기술 발전과 무결성을 추구하는 진정한 영웅이지만, 이들을 고립된 상태로 유지하는 것은 우스꽝스러운 일입니다. 데브섹옵스 중심의 시대에 보안은 공동의 책임이며, 모든 개발자는 업무 중에 직면할 수 있는 보안 문제를 해결할 수 있는 지식과 적절한 도구로 무장해야 합니다. 보안 인식과 실무 기술은 소프트웨어 개발 프로세스에서 타협할 수 없는 필수 요소이며, 전사적 차원의 변화에 영향을 미치는 것은 보안 리더의 몫입니다.

↪cf_200D↩심층적인 내용을 통해 조직에서 번창하는 보안 문화를 지금 바로 구축하세요. Courses 에서 Secure Code Warrior.

리소스 보기
리소스 보기

저자

피터 다뉴

피터 댄히외는 보안 컨설턴트로 12년 이상 경력을 쌓았으며, 조직, 시스템 및 개인의 보안 취약점을 타겟팅하고 평가하는 방법에 대한 공격 기법을 가르치는 SANS의 수석 강사로 8년 이상 활동한 세계적으로 인정받는 보안 전문가입니다. 2016년에는 호주에서 가장 멋진 기술자 중 한 명으로 선정(비즈니스 인사이더)되었고, 올해의 사이버 보안 전문가(AISA - 호주 정보 보안 협회)로 선정되었으며, GSE, CISSP, GCIH, GCFA, GSEC, GPEN, GWAPT, GCIA 자격증을 보유하고 있습니다.

더 알고 싶으신가요?

블로그에서 최신 보안 코딩 인사이트에 대해 자세히 알아보세요.

Atlassian의 광범위한 리소스 라이브러리는 안전한 코딩 숙련도를 확보하기 위한 인적 접근 방식을 강화하는 것을 목표로 합니다.

블로그 보기
더 알고 싶으신가요?

개발자 중심 보안에 대한 최신 연구 보기

광범위한 리소스 라이브러리에는 개발자 중심의 보안 코딩을 시작하는 데 도움이 되는 백서부터 웨비나까지 유용한 리소스가 가득합니다. 지금 살펴보세요.

리소스 허브

Linux의 XZ Utils 백도어는 더 광범위한 공급망 보안 문제를 가리키며, 이를 막기 위해서는 커뮤니티 정신 이상의 것이 필요합니다.

게시일: 2024년 4월 11일
By 피터 댄히외

교묘한 소프트웨어 공급망 침해가 발견되면서 사이버 보안 업계는 다시 한 번 높은 경계 태세에 돌입했습니다. 주요 Linux 배포판과 함께 제공되는 XZ Utils 데이터 압축 라이브러리에 영향을 미치는 이 취약점은 CVE-2024-3094로 기록되며, 한때 신뢰할 수 있었던 자원봉사 시스템 관리자가 의도적으로 삽입한 백도어에서 비롯된 것으로 밝혀졌습니다. 성공적으로 악용될 경우 원격 코드 실행(RCE)을 허용하며, 기존 소프트웨어 빌드 프로세스에 심각한 피해를 입힐 수 있는 심각한 문제입니다.

다행히 다른 관리자가 이 악성 코드가 안정적인 Linux 릴리스에 들어가기 전에 이 위협을 발견했지만, Fedora Rawhide의 일부로 XZ Utils 5.6.0 및 5.6.1 버전을 실행한 사용자에게는 여전히 문제가 되고 있으므로 조직은 긴급 수준의 우선 순위로 이 패치를 적용할 것을 촉구하고 있습니다. 이 발견이 제때 이루어지지 않았다면, 위험 프로필을 고려할 때 사상 가장 파괴적인 공급망 공격 중 하나가 될 것이며 아마도 SolarWinds를 능가할 수도 있습니다.

중요한 시스템을 유지하기 위해 커뮤니티 자원 봉사자에 대한 의존도는 널리 문서화되어 있지만 이번 사건과 같이 큰 영향을 미치는 문제가 표면으로 드러날 때까지는 거의 논의되지 않습니다. 오픈 소스 소프트웨어의 유지 관리에 있어 이들의 지칠 줄 모르는 노력은 필수적이지만, 이번 사건은 소프트웨어 리포지토리에 대한 액세스 제어 강화는 물론 개발자 수준에서 보안 기술과 인식에 대한 진지한 강조가 필요하다는 점을 강조합니다.

XZ Utils 백도어란 무엇이며 어떻게 완화할 수 있나요?

3월 29일, Red Hat은 긴급 보안 경보를 발표하여 Fedora Linux 40 및 Fedora Rawhide 사용자에게 최신 버전의 "XZ" 압축 도구 및 라이브러리에 무단 타사 액세스를 용이하게 하기 위해 특별히 제작된 것으로 보이는 악성 코드가 포함되어 있음을 알렸습니다.이 악성 코드가 어떻게 삽입되었는지는 향후 집중적인 연구의 대상이 될 것이지만 위협 행위자인 "Jia Tan"이라는 익명의 공격자가 정교하고 인내심을 가지고 수년간 사회 공학적으로 수행한 것으로 추정됩니다. 이 공격자는 다른 관리자들의 신뢰를 얻기 위해 수많은 시간을 투자했고, 2년 넘게 XZ Utils 프로젝트와 커뮤니티에 합법적으로 기여했으며, 결국 여러 개의 사칭 계정으로 인해 자원 봉사 프로젝트 소유자인 Lasse Collin에 대한 신뢰가 약화된 후 '신뢰할 수 있는 관리자' 자격을 얻게 되었습니다:

프로젝트의 기여자로 자신을 소개하는 지아 탄. 출처: 메일 아카이브.

원래 관리자가 과로. 지아 탄이 인수할 수 있는 커뮤니티의 신뢰를 얻고 있습니다. 출처: 메일 아카이브.

이 이례적인 시나리오는 고도의 기술력을 갖춘 사람이 일반적으로 덜 숙련된 사람을 대상으로 사용하는 전술의 희생양이 된 대표적인 사례로, 정밀한 역할 기반 보안 인식 교육이 필요함을 보여줍니다. Microsoft 소프트웨어 엔지니어이자 PostgreSQL 유지 관리자인 안드레스 프룬드의 호기심과 빠른 판단 덕분에 백도어를 발견하고 버전을 롤백하여 최근 역사상 가장 파괴적인 공급망 공격이 될 수 있었던 것을 막을 수 있었습니다.

이 백도어 자체는 공식적으로 NIST의 레지스트리에서 가장 심각도가 높은 취약점으로 추적되고 있습니다. 처음에는 SSH 인증 우회를 허용하는 것으로 생각되었지만, 추가 조사 결과 이 취약점을 통해 Fedora Rawhide, Fedora 41, Kali Linux, 오픈수세 마이크로OS, 오픈수세 텀블위드 및 일부 버전의 데비안을 포함한 취약한 Linux 시스템에서 인증되지 않은 원격 코드 실행이 가능한 것으로 밝혀졌습니다.

Jia Tan은 악성 패키지의 난독화를 위해 많은 노력을 기울인 것으로 보이며, 빌드 프로세스 중에 트리거되면 시스템드를 통해 SSHd에서 인증을 방해합니다. 레드햇이 자세히 설명했듯이, 적절한 상황에서는 이러한 간섭을 통해 공격자가 SSHd 인증을 깨고 전체 시스템에 대한 원격 무단 액세스를 얻을 수 있습니다.

Jia Tan의 첫 번째 리포지토리 저장소 커밋. safe_fprintf() 함수를 fprintf() 함수로대체 . 이 단계에서는 악의적인 의도는 없었을지 모르지만, 이 변경으로 인해 문자 이스케이프 취약점이 발생할 수 있다는 점을 간과해서는 안 됩니다. Source: GitHub.



Microsoft는 시스템에서 이 익스플로잇의 인스턴스를 검사하고 그 효과를 완화하기 위한 포괄적인 지침을 발표했으며, CISA가 권장하는 즉각적인 조치는 영향을 받는 개발자와 사용자가 XZ Utils를 XZ Utils 5.4.6 Stable과 같은 손상되지 않은 버전으로 다운그레이드하는 것입니다.

특히 소프트웨어에서 오픈 소스 구성 요소를 사용하는 경우 공급망의 보안에 대한 확신과 투명성이 거의 없기 때문에 이러한 공격 유형을 방지하는 것은 매우 어렵습니다. 우리는 이미 소프트웨어 공급망에서 우발적인 결함에 맞서 싸워왔지만, 오픈소스 보안을 손상시키기 위해 악의를 가지고 의도적으로 심은 보안 버그로 인해 이러한 위험이 높아졌습니다.

대부분의 개발자는 강력한 보안 의식, 건전한 보안 지식, 약간의 편집증이 없다면 이러한 유형의 공격을 막을 수 없습니다. 거의 위협 행위자의 사고방식이 필요한 경우입니다. 그러나 가장 중요한 고려 사항은 항상 내부적으로 제어되는 (즉, 오픈 소스가 아닌) 소스 코드 리포지토리를 중심으로 이루어져야 합니다. 이러한 리포지토리는 검증된 관련 보안 기술을 보유한 사람만 액세스할 수 있어야 합니다. 앱 보안 전문가는 보안 기술이 있는 개발자만 최종 마스터 브랜치에 변경 사항을 커밋할 수 있도록 하는 브랜치 수준 보안 제어와 같은 설정을 고려할 수 있습니다.

자원 봉사자 유지 관리자는 영웅이지만, 안전한 소프트웨어를 유지하려면 마을이 필요합니다.

소프트웨어 엔지니어링의 영역 밖에 있는 사람들에게는 열정적인 자원봉사자 커뮤니티가 중요한 시스템을 열심히 유지 관리한다는 개념이 이해하기 어려운 개념이지만, 이것이 바로 오픈소스 개발의 본질이며 공급망을 보호하는 보안 전문가에게는 계속해서 중요한 위험의 영역입니다.

오픈소스 소프트웨어는 거의 모든 기업의 디지털 에코시스템에서 중요한 부분을 차지하고 있으며, 신뢰할 수 있는 유지관리자(대부분 선의로 활동하는)는 사심 없이 기술 발전과 무결성을 추구하는 진정한 영웅이지만, 이들을 고립된 상태로 유지하는 것은 우스꽝스러운 일입니다. 데브섹옵스 중심의 시대에 보안은 공동의 책임이며, 모든 개발자는 업무 중에 직면할 수 있는 보안 문제를 해결할 수 있는 지식과 적절한 도구로 무장해야 합니다. 보안 인식과 실무 기술은 소프트웨어 개발 프로세스에서 타협할 수 없는 필수 요소이며, 전사적 차원의 변화에 영향을 미치는 것은 보안 리더의 몫입니다.

↪cf_200D↩심층적인 내용을 통해 조직에서 번창하는 보안 문화를 지금 바로 구축하세요. Courses 에서 Secure Code Warrior.

우리는 당신에게 우리의 제품 및 / 또는 관련 보안 코딩 주제에 대한 정보를 보낼 수있는 귀하의 허가를 바랍니다. 우리는 항상 최대한의주의를 기울여 귀하의 개인 정보를 취급 할 것이며 마케팅 목적으로 다른 회사에 판매하지 않을 것입니다.

전송
양식을 제출하려면 '분석' 쿠키를 활성화하세요. 완료되면 언제든지 다시 비활성화할 수 있습니다.