Codecov 테이크어웨이 — 지금까지 우리가 알고 있는 것
누구도 그렇게 빨리 상기시킬 필요는 없지만, 최근 여러 조직에서 지속적 통합 (CI) 프로세스를 지원하는 Codecov의 툴셋에 대한 위반은 오늘날 존재하는 엄청난 밀도의 상호 의존성과 그에 따른 공급망 공격에 대한 노출을 다시 한 번 강조합니다.
또한 신뢰할 수 있는 공급업체가 제공하는 소프트웨어를 신뢰하는 경우가 많기 때문에 고객은 업데이트가 호스트에서 로컬로 수행하는 작업뿐 아니라 네트워크 연결 및 데이터 전송 측면에서도 업데이트가 수행하는 작업을 제대로 테스트하지 않습니다.이 모든 것은 조직에서 실행되는 소프트웨어를 제대로 이해하지 못하는 경우가 많다는 뜻입니다.
이것이 Codecov에서 일어난 일과 어떤 관련이 있습니까?
Codecov는 고객의 CI 파이프라인에 통합할 수 있는 보고 기능을 제공합니다. 특히 Codecov의 도구는 테스트의 일부로 실행되는 코드의 양을 보고하므로 검증 프로세스의 격차를 식별하는 데 도움이 됩니다.그런 다음 이러한 지표는 보고 및 분석을 위해 SaaS 플랫폼에 업로드됩니다.
데이터 업로드는 CI 프로세스의 일부로 실행되는 총칭하여 “Bash Uploaders”라고 하는 스크립트를 통해 촉진됩니다.이러한 업로더 스크립트가 변조될 경우 공격자는 업로드를 자신이 선택한 서버로 리디렉션할 뿐만 아니라 포함시키려는 데이터를 지정하여 CI 프로세스에 잠재적으로 액세스할 수 있는 모든 것을 제공할 수 있습니다.
Codecov의 경우 Codecov의 도커 이미지 생성 프로세스에서 발생한 오류로 인해 사용 가능한 Google Cloud Storage 자격 증명이 유출되어 초기 손상이 발생했습니다.공격자는 이러한 자격 증명을 사용하여 Bash Uploader 스크립트의 수정된 버전을 게시할 수 있었으며, 이를 변경하여 해당 스크립트가 실행된 CI 프로세스에서 사용할 수 있는 모든 환경 변수의 내용을 수집하여 자체 서버에 업로드할 수 있었습니다.
이 수정된 스크립트는 Codecov 사이트에서 직접 구할 수 있었기 때문에 고객이 신뢰했으며 거의 검증 없이 다운로드 및 통합되었을 것입니다.CI 프로세스의 환경 변수는 일반적으로 관련 암호를 코드에 삽입하여 런타임에 필요한 리소스에 액세스하는 데 사용됩니다.따라서 악성 업로더 스크립트는 이러한 정보에 액세스하고 이를 공격자에게 전송하여 자격 증명 및 기타 민감한 정보를 정상적으로 수집할 수 있습니다.
지속적인 네트워크 액세스가 더 이상 없더라도 (그리고 보안 침해로 인해 이러한 사실이 입증되는지 여부는 아직 밝혀지지 않았습니다) 스토리지 버킷, 데이터베이스 등 인터넷에 액세스할 수 있는 다양한 리소스에 대한 액세스를 제공한다는 점에서 이러한 비밀은 보물 상자입니다. 클라우드 서비스 관련 응용 프로그램에서 사용한 것입니다.이들 역시 현재 손상되었을 가능성이 높습니다.
손상된 Bash Uploader 스크립트를 CI 파이프라인에 통합했을 수 있다고 생각하는 조직은 최소한 CI 파이프라인에 액세스할 수 있는 모든 비밀을 긴급히 재설정해야 합니다.이 경우 업데이트된 보안 정보를 받을 수 있도록 영향을 받은 응용 프로그램을 재배포해야 하는 것이 거의 확실하지만, 도난당한 자격 증명의 노출을 연장하는 것보다 이 방법을 사용하는 것이 좋습니다.
비밀 유출 외에도 CI 파이프라인에 대한 지속적인 권한 액세스는 악용될 가능성이 높습니다.정의에 따르면 파이프라인의 책임은 새 소프트웨어 빌드를 생성하여 리포지토리에 게시하는 것입니다.파이프라인 인프라 자체가 손상되면 공격자는 콘텐츠를 변경할 수 있으며, 다운스트림 시스템이나 생성된 아티팩트 내에서 나중에 사용할 수 있도록 백도어를 삽입할 수 있습니다.그렇다면 공격자와 그 촉수의 모든 흔적이 제거되었다는 확신을 가지려면 얼마나 많은 재구축이 필요할까요?
다음으로 CI 인프라에서 사용할 수 있는 네트워크 액세스를 살펴보는 것이 좋습니다.일반적으로 이들은 버전 제어 시스템, 모니터링 인프라, 자동화된 테스트, 빌드 프로세스, 구성 관리 및 지속적 배포를 포함하나 이에 국한되지 않는 다른 주요 구성 요소에 직접 액세스할 수 있습니다.또한 FOSS 구성 요소를 많이 사용하기 때문에 CI 파이프라인은 관련 종속성을 가져오기 위해 공용 리포지토리에 대한 인터넷 액세스를 필요로 하는 경우가 많습니다.
CI 파이프라인이 요구하는 고밀도 연결 요구 사항에도 불구하고 세그멘테이션이 여전히 중요한 보안 제어 역할을 할 수 있을까요?
의 가치를 고려할 때 마이크로 세그멘테이션다음과 같은 두 가지 방법으로 표현할 수 있습니다.
- 마이크로 세그멘테이션을 사용하면 가치가 높은 자산을 링펜싱하여 네트워크의 나머지 부분에 대한 노출을 제한할 수 있으므로 공격자가 이러한 자산에 접근하고 악용하기가 더 어려워집니다.
- 마이크로 세그멘테이션을 사용하면 모든 워크로드를 둘러싸는 고유한 최소 권한 액세스 규칙 기반 마이크로페리미터를 가질 수 있습니다.이를 통해 보안 침해가 발생하더라도 공격 표면 접속 권한이 부여된 대상에만 노출되므로 궁극적으로 공격자가 다음에 수행할 수 있는 작업이 제한됩니다.
이를 CI 파이프라인에 관련시키는 한 가지 접근 방식은 다음과 같습니다.
- CI 파이프라인은 확실히 가치가 높은 자산이며 차단되어야 하는 자산입니다.
- 연결 관점에서 볼 때 내부 및 외부 종속성이 많을 수 있지만 이러한 종속성을 잘 이해하고 잘 정의해야 합니다.
- 이 정보를 사용하여 허용 목록CI 파이프라인이 이러한 잘 이해된 종속성에만 액세스하고 해당 종속성에서만 액세스할 수 있도록 하는 기반 마이크로 세분화 정책을 구축할 수 있습니다.
- 인터넷 액세스가 필요한 경우 승인된 저장소 목록에 대해서만 허용되어야 하며 제한되지 않은 인터넷 액세스는 허용되지 않아야 합니다.이는 명시적으로 정의된 대상 사이트 목록에만 액세스를 제한하며, C&C 및 데이터 유출 시도를 방지하는 효과적이고 간단한 제어 수단이기도 합니다.
이를 통해 인증되지 않은 장치나 승인되지 않은 포트 및 프로토콜을 통해 CI 파이프라인에 액세스하지 못하도록 보호할 수 있습니다.또한 CI 파이프라인이 손상된 경우 나머지 네트워크에 대한 노출을 제한할 수 있습니다.또한 개선되었습니다. 분할 제어 기능은 종종 시스템 상호 작용에 대한 훨씬 더 나은 가시성과 함께 진행되므로 사고 탐지 및 대응 팀이 잠재적 침해를 조사할 때 활용할 수 있는 풍부한 데이터를 제공합니다.
Illumio에서는 고객이 활용할 수 있도록 지원합니다. 마이크로 세그멘테이션 이러한 격리 및 모니터링을 설정하기 위해서입니다.계정 팀에 문의하여 어떻게 지원해 드릴 수 있는지 알아보십시오.