소프트웨어 공급망은 혁신과 효율성을 촉진하며 현대 소프트웨어 개발에 없어서는 안 될 존재입니다. 그러나 중요한 만큼 이 공급망은 위협과 공격의 경로가 되기도 합니다. 공급망에 대한 공격과 위협 방법이 계속 진화하고 있습니다. 단순히 알려진 취약점을 악용하는 것을 넘어서 오픈소스 라이브러리에 악성코드를 직접 심는 등, 기법이 점점 복잡해지고 교묘해 지고 있습니다.
최근에는 공격 기법이 개발 인프라에 대한 직접적인 공격이라는 새로운 단계에 직면하고 있습니다.
전통적인 보안 조치는 알려진 위험에 대해서는 효과적이지만, 제대로 보안 조치가 되어 있지 않은 중요한 개발 인프라를 대상으로 타겟팅하는 정교한 공격을 막기에는 부족합니다.
개발 인프라에 대한 직접적인 공격
기업이 보안을 강화함에 따라 공격의 대상이 소프트웨어 공급망의 다른 요소인 개발 도구와 프로세스로 변경되기 시작했습니다. 이런 인프라는 더 광범위한 네트워크 접근과 조직 내부 침투의 관문 역할을 합니다.
이러한 전략적 변화는 개발 환경과 3rd-party 구성 요소의 약점을 악용하여 공격자들이 엄격한 보안 조치를 우회할 수 있게 합니다.
대표적인 공격은 다음과 같습니다:
- 젠킨스(Jenkins) 악용: 젠킨스 서버는 사이버 범죄자들의 빈번한 표적이 되며, 종종 암호화폐를 채굴하거나 추가적인 네트워크 침해를 위한 발판으로 사용됩니다. 이러한 공격은 패치되지 않은 취약점을 악용하여 심각한 재정 손실을 초래하고 전체 개발 생태계를 손상시킵니다.
- 버카다(Verkada) 침해: 위협 행위자들은 버카다의 개발 인프라를 침투하여 높은 보안 영역의 민감한 데이터에 접근하고 조직 내에서 횡적으로 이동할 수 있게 되었습니다. 이 침해는 악용된 취약점이 초기 진입점을 훨씬 넘어 조직 운영의 여러 측면에 영향을 미칠 수 있다는 심각성을 보여줍니다.
- Codecov 사건: Codecov 환경에서의 손상된 도커 컨테이너는 악성 코드가 미치는 영향이 얼마나 광범위한지 잘 보여줍니다. 한번 배포되면 손상된 컨테이너는 모든 다운스트림 고객에게 영향을 미치며, 잘 알려진 SolarWinds 공격에서 관찰된 것과 유사한 피해를 야기합니다. 이 사건은 개발 인프라에 대한 공격이 전체 고객에 얼마나 광범위한 영향을 미칠 수 있는지를 잘 나타냅니다.
- Log4Shell 취약점: 널리 사용되는 Log4j 로깅 라이브러리의 Log4Shell 취약점은 원격 코드 실행을 허용하며 공격자들의 주요 표적이 되었습니다. 이 사례는 통합된 오픈소스 구성 요소가 얼마나 심각한 위험을 초래하는지 보여주는 사례입니다. 수많은 소프트웨어 제품에 Log4j가 광범위하게 통합되어 있어 기업 네트워크에 대규모로 접근 가능한 위험을 내재하고 있음을 보여줍니다.
의존성 혼동의 영향
의존성 혼동은 비교적 새로운 위협이지만 급속히 증가하고 있습니다. 이 기법은 소프트웨어 의존성에 대한 개발자의 신뢰를 교묘하게 악용합니다. 공격자들은 합법적인 컴포넌트(구성요소)의 위조 버전을 리포지토리(공개 저장소)에 업로드하여 자동화된 빌드 시스템이 악성 구성 요소가 통합되도록 개발자를 속입니다.
이와 관련된 주목할 만한 사례는 PyTorch 네임스페이스 공격으로, 공격자들이 유사한 이름의 패키지를 통해 의존성 혼동 공격을 실행하여 리포지토리를 악용한 사건입니다. 이로 인해 의도적으로 악성 코드를 다운로드하고 실행할 가능성이 생겼습니다.
공격자들은 패키지 이름을 미묘하게 변경하거나 버전 번호를 부풀림으로써 시스템이 진짜가 아닌 손상된 버전을 검색하게 할 수 있습니다. 이는 이러한 손상된 구성 요소에 의존하는 다양한 시스템 전반에 걸쳐 광범위한 침해가 발생할 수 있습니다.
오늘날의 위협 환경에 대한 선제적 조치
앞서 설명한 사건과 전술은 중요한 사실을 강조합니다. 소프트웨어 공급망 내의 공격 표면이 확장되어, 악성 컴포넌트의 의도적인 삽입을 통해 개별 조직뿐만 아니라 전체 생태계에 위협을 초래하고 있습니다.
이러한 정교한 위협에 대처하기 위해서는 전통적인 보안 수단에만 의존하는 것으로는 불충분합니다.
보다 포괄적인 보안 전략은 다음과 같은 핵심 영역을 포함해야 합니다:
- 향상된 모니터링 및 패치 관리: 모든 개발 도구와 환경에 대한 지속적인 모니터링을 구현하고 신속한 패치 관리가 필요합니다. 이는 알려진 취약점과 새로 발견된 취약점의 악용을 방지하는 데 중요합니다.
- 고급 탐지 기능: 침해를 암시하는 비정상적인 활동이나 구성을 식별할 수 있는 최첨단 위협 탐지 기술을 활용합니다. 조기 탐지는 신속한 대응과 완화를 위해 매우 중요합니다.
- 안전한 소프트웨어 공급망 관행 구현: 소프트웨어 의존성 관리를 위한 포괄적인 도구를 도입합니다. 이는 개발 프로젝트에 안전하고 검증된 구성 요소만 통합되어 전체 소프트웨어 빌드 프로세스를 보호합니다.
이러한 전략을 활용하여 조직은 점점 더 정교해지는 소프트웨어 공급망 공격에 대한 방어를 강화하여 고객과 자산을 보호할 수 있습니다.
소프트웨어 공급망 관리를 최적화하는 방법
사이버 위협의 진화는 전통적인 방어 수단을 넘어 개발 및 빌드 환경의 모든 측면을 포함하는 강력한 보안 접근 방식이 필요합니다.
자동화된 보안
Sonatype Repository Firewall은 의도적으로 악의적인 오픈소스 구성요소가 소프트웨어 빌드 프로세스에 유입하는 것을 방지하여 보안 계층을 한 단계 추가합니다. 이 메커니즘은 소프트웨어 공급망에 취약성이 들어오는 위험을 크게 줄여 전체 보안을 강화합니다.
선제적 취약성 관리
효과적인 관리에는 실시간 모니터링, 자동 패치 및 소프트웨어 구성 분석(SCA)을 제공하는 도구의 통합이 필요합니다.
Sonatype Lifecycle은 이와 관련하여 핵심적인 역할을 하며, 개발 워크플로우에 원활하게 통합되어 포괄적인 취약성 관리 및 SCA 기능을 제공합니다. Sonatype Lifecycle은 소프트웨어 의존성을 적극적으로 모니터링하여 안전하고 규정을 준수하는 구성 요소만 사용되도록 보장하여, 엄격한 보안 관행에 맞춰 의존성 관리를 수행합니다.
SBOM을 통한 투명성 향상
상세한 소프트웨어 자재 명세서(SBOM)를 유지 관리하는 것은 소프트웨어 공급망 내에서 투명성과 보안을 강화하는데 매우 중요합니다.
Sonatype SBOM Manager는 SBOM 생성을 자동화하고, 대규모의 SBOM 관리 및 규정 준수를 지원하는 도구입니다. SBOM Manager는 다양한 표준 및 형식을 지원하여 취약성 및 준수 문제에 신속하게 대응하는 조직의 능력을 향상시킵니다.
Next Step
차세대 소프트웨어 공급망 공격을 헤쳐 나가기 위해서는 강력한 보안 관행을 소프트웨어 개발 및 관리의 모든 측면에 통합해야 합니다. 오늘날의 복잡해진 위협과 공격기법은 정교하면서 선제적인 대응을 요구하며, 포괄적이고 철저한 사이버 보안 조치를 필요로 합니다.
빠르게 진화하는 환경에서 보안은 개별 개발자나 보안 팀만의 책임이 아닌 조직 전체의 공동 책임으로 확장되고 있습니다. 또한 이런 소프트웨어 공급망 공격의 변화는 다양한 도전 과제를 제공할 뿐만 아니라 혁신과 기술 발전에 필요한 필수 프로세스를 보호하기 위한 기업의 접근 방식을 검토하고 강화할 수 있는 기회를 제공합니다.
Sonatype 제품에 대한 문의가 있다면 한국총판 오에스씨코리아에 문의주세요.
원문출처: Securiung development infrastructure: A new frontier in software supply chain security
참고링크: