공급망 공격 시 공격자는 타사 종속성을 악용하여 표적의 시스템이나 네트워크에 침투합니다.
이 글을 읽은 후에 다음을 할 수 있습니다:
글 링크 복사
공급망 공격은 제3자 도구 또는 서비스('공급망'으로 통칭)를 사용하여 표적의 시스템 또는 네트워크에 침투합니다. 이러한 공격을 "가치 사슬 공격" 또는 "제3자 공격"이라고도 합니다.
공급망 공격은 본질적으로 간접적인 공격으로, 최종 공격 대상이 의존하는 제3자 종속성을 표적으로 삼습니다(종종 무의식적으로). 종속성이란 애플리케이션 기능을 향상시키는 제3자 공급자의 프로그램 또는 코드(JavaScript로 작성되는 경우가 많음)를 말합니다. 예를 들어 전자 상거래 소매점에서 사용하는 종속성은 고객 지원 챗봇을 실행하거나 사이트 방문자 활동에 대한 정보를 캡처하는 데 도움이 될 수 있습니다. 대상이 애플리케이션과 네트워크를 유지 관리하는 데 사용하는 광범위한 소프트웨어, 애플리케이션, 서비스에서 이러한 종속성 중 수천 개는 아니더라도 수백 개는 찾을 수 있습니다.
공급망 공격에서 공격자는 사이버 보안 벤더를 표적으로 삼아 해당 벤더의 소프트웨어에 악성 코드(또는 '맬웨어')를 추가한 다음 시스템 업데이트를 통해 해당 벤더의 클라이언트에게로 전송할 수 있습니다. 해당 클라이언트가 신뢰할 수 있는 출처에서 온 업데이트라고 믿고 업데이트를 다운로드하면 맬웨어는 공격자에게 해당 클라이언트의 시스템과 정보에 대한 액세스 권한을 부여합니다. (2020년 18,000명의 고객을 대상으로 한 SolarWinds 공격이 바로 이러한 방식으로 수행되었습니다.)
공격자는 공급망 공격을 수행하기 전에 악용하려는 타사 시스템, 애플리케이션, 도구에 대한 액세스 권한을 확보해야 합니다('업스트림' 공격이라고도 함). 이는 도난당한 자격 증명을 사용하거나, 조직의 시스템에 일시적으로 액세스할 수 있는 벤더를 겨냥하거나, 알려지지 않은 소프트웨어 취약점을 악용하는 등의 방법으로 이루어질 수 있습니다.
이러한 타사 종속성에 대한 액세스가 확보되면 '다운스트림' 공격(주로 브라우저나 장치를 통해 최종 표적에 도달하는 공격)은 다양한 방식으로 수행될 수 있습니다.
이전의 예로 돌아가서, '업스트림' 공격은 공격자가 사이버 보안 벤더의 소프트웨어에 악성 코드를 추가할 때 발생합니다. 그런 다음 해당 맬웨어가 일상적인 소프트웨어 업데이트를 통해 최종 사용자 장치에서 실행될 때 "다운스트림" 공격이 수행됩니다.
공급망 공격은 타사에서 관리하는 하드웨어, 소프트웨어, 애플리케이션, 장치를 대상으로 할 수 있습니다. 몇 가지 일반적인 공격 유형은 다음과 같습니다.
브라우저 기반 공격의 경우 최종 사용자 브라우저에서 악성 코드가 실행됩니다.공격자는 사용자 장치에서 코드를 자동으로 실행하는 JavaScript 라이브러리 또는 브라우저 확장 프로그램을 표적으로 삼을 수 있습니다.아니면 브라우저에 저장된 중요한 사용자 정보를 훔칠 수도 있습니다(쿠키, 세션 저장소 등을 통해).
소프트웨어 공격은 소프트웨어 업데이트에서 맬웨어를 위장합니다.SolarWinds 공격에서와 같이, 사용자의 시스템에서 이러한 업데이트를 자동으로 다운로드하여 의도치 않게 공격자가 장치를 감염시키고 추가 작업을 수행할 수 있도록 허용합니다.
오픈 소스 공격은 오픈 소스 코드의 취약점을 악용합니다.오픈 소스 코드 패키지는 조직에서 애플리케이션 및 소프트웨어 개발을 가속화하는 데 도움이 될 수 있지만, 공격자가 알려진 취약점을 변조하거나 맬웨어를 숨겨 사용자의 시스템이나 장치에 침투하는 데 사용할 수도 있습니다.
JavaScript 공격의 경우 JavaScript 코드의 기존 취약점이 악용되거나 사용자가 웹 페이지를 로드할 때 자동으로 실행되는 악의적 스크립트가 웹 페이지에 삽입됩니다.
Magecart 공격은 악성 JavaScript 코드를 사용하여 웹 사이트 결제 양식에서 신용카드 정보를 훔치는데, 이 양식은 주로 타사에서 관리합니다.이를 "폼재킹"이라고도 합니다.
워터링 홀 공격의 경우에는 많은 사용자가 일반적으로 이용하는 웹 사이트(예: 웹 사이트 제작업체 또는 정부 웹 사이트)를 식별합니다.공격자는 여러 가지 전술을 사용하여 사이트 내의 보안 취약점을 식별한 다음 이러한 취약점을 이용하여 의심하지 않는 사용자에게 맬웨어를 전달할 수 있습니다.
크립토재킹을 이용하여 공격자는 암호화폐 채굴에 필요한 컴퓨팅 리소스를 훔칠 수 있습니다.웹 사이트에 악성 코드나 광고를 삽입하거나, 오픈 소스 코드 저장소에 크립토마이닝 스크립트를 삽입하거나, 피싱 수법을 사용하여 의심하지 않는 사용자에게 맬웨어에 감염된 링크를 전달하는 등 여러 가지 방법으로 이를 수행할 수 있습니다.
타사 소프트웨어, 하드웨어, 애플리케이션을 악용하거나 변조하는 모든 공격은 공급망 공격으로 간주됩니다. 조직에서는 일반적으로 다양한 외부 벤더와 협력하며, 각 벤더는 자체 도구 및 서비스에서 수십 개의 종속성을 사용할 수 있습니다.
이러한 이유로 조직에서 공급망 공격으로부터 자체를 완전히 차단하는 것은 불가능하지는 않더라도 어려울 수 있습니다. 하지만 일반적인 공격 방법을 선제적으로 방어하기 위해 조직에서 사용할 수 있는 전략이 몇 가지 있습니다.
*zero-day 익스플로잇을 차단하는 것은 대부분의 조직에서 여전히 어려운 과제입니다. 2021년에는 개발자가 Java 애플리케이션 내에서 데이터를 로깅하는 데 도움이 되는 오픈 소스 소프트웨어 라이브러리인 Log4j에서 zero-day 취약점이 발견되었습니다. 이를 통해 공격자는 수억 대의 장치를 감염시키고 제어할 수 있었으며, 이를 통해 랜섬웨어 공격과 불법 크립토마이닝을 포함한 추가 공격을 수행할 수 있었습니다. Cloudflare에서 Log4j 취약점을 방어하는 방법에 대해 자세히 알아보세요.
Cloudflare Zero Trust 는 잠재적으로 위험한 웹 사이트에 대한 액세스를 차단하고, 악의적인 업로드 및 다운로드를 방지하고, 조직 내의 SaaS 애플리케이션(승인 및 미승인 모두)을 감사하여 공급망 공격을 차단하는 데 도움이 됩니다.
Cloudflare Zaraz는 클라우드에서 애플리케이션을 로드하는 타사 도구 관리자이므로 최종 사용자 브라우저에서 악성 코드가 실행될 수 없습니다.Zaraz는 사용자가 사이트에서 실행되는 타사 스크립트에 대한 가시성과 제어 기능을 제공하여 위험한 행동을 격리하고 차단할 수 있도록 지원합니다.