구독해서 새 게시물에 대한 알림을 받으세요.

Salesloft Drift 침해가 Cloudflare와 고객에게 미친 영향

2025-09-02

12분 읽기
이 게시물은 English, 繁體中文, Français, Deutsch, 日本語, Português, Español (Latinoamérica), العربية简体中文로도 이용할 수 있습니다.

지난 주, Cloudflare(및 당사 고객)가 'Salesloft Drift' 침해 사고의 영향을 받았다는 통보를 받았습니다. 이 침해로 인해 Cloudflare 외부의 누군가가 고객 지원 및 내부 고객 사례 관리에 사용하는 Salesforce 인스턴스와 그 안에 포함된 일부 데이터에 접근할 수 있었습니다. 이 정보의 대부분은 고객 연락처 정보와 기본 지원 케이스 데이터이지만, 일부 고객 지원 상호 작용에서는 고객의 구성에 대한 정보가 드러날 수 있으며, 액세스 토큰과 같은 민감한 정보가 포함될 수 있습니다. Salesforce 지원 케이스 데이터에 Cloudflare와의 지원 티켓 내용이 포함되어 있다는 점을 고려할 때, 고객이 지원 시스템에서 Cloudflare와 공유했을 수 있는 로그, 토큰 또는 비밀번호 등의 모든 정보가 손상된 것으로 간주해야 하며, 이에 따라 Cloudflare와 공유한 자격 증명을 포함하여 모든 자격 증명을 교체할 것을 강력히 권장합니다.

이번 사고 대응의 일환으로, 손상된 데이터를 자체적으로 검토하여 토큰이나 비밀번호가 포함되어 있는지 확인한 결과, 총 104개의 Cloudflare API 토큰이 발견되었습니다. 해당 토큰과 관련된 의심스러운 활동은 발견되지 않았지만, 선제적 조치 차원에서 해당 토큰을 모두 교체했습니다. Cloudflare는 이번 침해로 인해 데이터가 손상된 모든 고객에게 직접 통보했습니다.

이 침해로 인해 Cloudflare 서비스나 인프라가 손상되지는 않았습니다.

당사는 고객 비즈니스를 지원하기 위해 사용하는 도구의 선택에 책임이 있습니다. 이번 침해 사고로 인해 고객들에게 실망을 안겨드렸습니다. 그 점에 대해 진심으로 깊은 사과를 드립니다. 타임라인과 이 침해를 조사한 방법을 이 블로그에서 자세히 공개해 드리겠습니다.

Salesloft Drift 침해 사고

지난주 Cloudflare는 자사 Salesforce 테넌트 내에서 의심스러운 활동을 인지하였으며, 당사뿐 아니라 수백 개 기업이 위협 행위자의 공격 대상이 되었음을 확인했습니다. 이 공격자는 Salesforce 인스턴스의 지원 케이스 내 텍스트 필드를 탈취하는 데 성공한 것으로 파악되었습니다. 보안팀은 즉시 조사를 착수하고 위협 행위자의 접근을 차단했으며, 당사 환경을 보호하기 위해 아래에 상세히 기술된 여러 조치를 취했습니다. 본 블로그는 침해 사고의 자세한 내용과 대응 과정, 그리고 고객 및 관계자분들이 유사한 사고로부터 스스로를 보호할 수 있도록 도움이 될 만한 내용을 공유하기 위해 작성되었습니다.

Cloudflare는 고객 현황과 고객의 당사 서비스 이용 방식을 기록 및 관리하기 위해 Salesforce를 사용하며, 고객과의 소통을 위한 지원 도구로도 활용하고 있습니다. 이번 사고와 관련해 중요한 점은 위협 행위자가 접근한 데이터가 Salesforce의 “케이스”에 한정되었다는 것입니다. 이 케이스는 Cloudflare 영업 및 지원팀이 고객 지원을 위해 내부적으로 의견을 주고받을 때 생성될 수 있으며, 고객이 Cloudflare 지원팀과 소통할 때도 생성됩니다. Salesforce는 Salesloft Drift 챗봇과 연동되어 있었으며, Cloudflare는 이를 통해 웹사이트를 방문하는 누구나 당사에 연락할 수 있는 수단을 제공했습니다.

Salesloft에서 발표한 바와 같이 위협 행위자가 시스템을 침해했습니다. 이번 침해를 통해 위협 행위자는 Salesloft Drift 챗봇의 Salesforce 연동과 연결되어 있는 OAuth 자격 증명을 획득하여, Salesloft 고객의 Salesforce 인스턴스에서 데이터를 탈취할 수 있었습니다. 조사 결과, 이번 사건은 B2B 타사 연동을 노린 정교한 공급망 공격의 일환으로, 전 세계 수백 개의 Salesloft 고객 조직에 영향을 미친 것으로 확인되었습니다. Cloudflare의 위협 인텔리전스 및 연구팀인 Cloudforce One은 이 지능형 위협 행위자를 GRUB1으로 분류했습니다. Google 위협 인텔리전스 그룹의 추가 공개 내용 역시 당사 환경에서 관찰한 활동과 일치합니다.

조사 결과, 위협 행위자는 2025년 8월 9일 초기 정찰 활동 이후, 2025년 8월 12일부터 17일 사이에 당사 Salesforce 테넌트의 데이터를 침해하고 탈취한 것으로 확인되었습니다. 정밀 분석 결과, 데이터 노출은 Salesforce 케이스 객체로 한정되었으며, 해당 객체는 주로 고객 지원 티켓과 당사 Salesforce 테넌트 내 관련 데이터를 포함하고 있습니다. 이 케이스 객체에는 지원 케이스와 관련된 고객 연락처 정보, 케이스 제목, 케이스 내용이 포함되어 있지만, 케이스 첨부 파일은 포함되어 있지 않습니다. Cloudflare는 고객에게 지원 케이스에서 암호, 자격 증명, API 키를 공유하도록 요청하거나 요구하지 않습니다. 다만 일부 문제 해결 상황에서는 고객이 케이스 텍스트 필드에 키, 로그 또는 기타 민감한 정보를 입력할 수도 있습니다. 이 채널을 통해 공유된 모든 정보는 이제 손상된 것으로 간주해야 합니다.

이번 사건은 단발성 사고가 아니라, 위협 행위자가 향후 공격을 위해 자격 증명과 고객 정보를 수집하려 했던 것으로 판단됩니다. 수백 개 조직이 이번 Drift 침해 사건의 영향을 받은 점을 고려할 때, 위협 행위자가 이 정보를 활용해 영향을 받은 조직의 고객을 대상으로 표적 공격을 수행할 가능성도 있을 것으로 의심됩니다. 

본 게시물에서는 공격의 타임라인을 제공하고, 당사의 대응을 상세히 설명하며, 유사한 위협을 완화할 수 있도록 다른 조직에 대한 보안 권장 사항을 안내합니다.

이 블로그 게시물에서는 모든 날짜와 시간이 UTC로 표시됩니다.

Cloudflare의 대응 및 복원

2025년 8월 23일, Salesforce와 Salesloft로부터 Drift 연동이 Cloudflare를 포함한 여러 조직에서 악용되었다는 통보를 받고, 당사는 즉시 전사적 보안 사고 대응에 나섰습니다. 당사는 보안, IT, 제품, 법무, 커뮤니케이션, 경영진 등 각 분야 전문가로 구성된 교차 기능 팀을 가동하고, 단일 통합 사고 지휘 체계 아래에서 대응을 진행했습니다.

당사는 고객과 Cloudflare를 보호하기 위해 네 가지 명확한 우선순위 작업 흐름을 설정했습니다.

  1. 즉각적인 위협 억제: 당사는 손상된 Drift 연동을 비활성화하여 위협 행위자의 모든 접근을 차단하고, 포렌식 분석을 통해 손상 범위를 파악했으며, 환경 내의 활성 위협을 제거했습니다.

  2. 타사 생태계 보호: 당사는 즉시 Salesforce와 연결된 모든 타사 연동을 차단했습니다. 당사는 모든 서비스에 대해 새로운 암호를 발급하고, 이를 매주 교체하는 새로운 절차를 시행했습니다.

  3. 보다 광범위한 당사 시스템의 무결성 보호: 당사는 공격자가 손상된 데이터를 이용해 다른 Cloudflare 시스템에 접근하는 것을 방지하기 위한 예방 조치로, 모든 타사 인터넷 서비스 및 계정의 자격 증명 교체를 확대했습니다.

  4. 고객 영향 분석: 당사는 고객이 영향을 받았는지 확인하고, 잠재적 노출에 대해 적시에 정확한 안내를 받을 수 있도록 Salesforce 케이스 객체 데이터를 분석했습니다.

공격 타임라인 및 Cloudflare 대응

당사의 포렌식 조사 결과, 위협 행위자가 Cloudflare를 대상으로 수행한 활동이 2025년 8월 9일부터 8월 17일 사이에 발생했음이 재구성되었습니다. 다음은 초기 침해 이전의 정찰 활동을 포함하여, 위협 행위자의 행동을 시간 순으로 정리한 요약입니다.

2025년 8월 9일: 정찰의 첫 징후

11:51, GRUB1이 Salesforce API에 대해 고객이 발급받은 Cloudflare API 토큰을 검증하려 시도했습니다. 해당 행위자는 User-Agent로 Trufflehog(널리 사용되는 오픈소스 암호 스캐너)를 사용하고, client/v4/user/tokens/verify에 검증 요청을 전송했습니다. 요청이 실패했고 404 Not Found 오류와 함께 토큰이 유효하지 않다는 것을 확인했습니다. 이 API 토큰의 출처는 명확하지 않으며, GRUB1이 Cloudflare 이전에 손상시켰을 가능성이 있는 다른 Drift 고객을 포함한 다양한 경로를 통해 획득했을 수 있습니다. 

2025년 8월 12일: Cloudflare 초기 손상

22:14, GRUB1은 Salesloft 연동에 사용되던 도난당한 자격 증명을 이용해 Cloudflare의 Salesforce 테넌트에 접근했습니다. GRUB1은 이 자격 증명을 사용하여 IP 주소 44[.]215[.]108[.]109에서 로그인하고 /services/data/v58.0/sobjects/ API 엔드포인트에 GET 요청을 보냈습니다. 이 동작은 당사 Salesforce 환경의 모든 객체를 열거하는 것으로 보이며, 저장된 데이터에 대한 개략적인 개요를 위협 행위자에게 제공했습니다.

2025년 8월 13일: 정찰 확장

초기 침해 하루 뒤, 위협 행위자 GRUB1은 동일한 IP 주소 44[.]215[.]108[.]109에서 후속 공격을 시작했습니다. 19:33부터 위협 행위자는 Salesforce 케이스 객체에서 고객 데이터를 탈취했습니다. 먼저 객체 열거를 다시 수행하여 데이터 구조를 확인한 후, 즉시 /sobjects/Case/descript/ 엔드포인트를 사용해 케이스 객체의 스키마를 가져왔습니다. 이후 위협 행위자는 Salesforce 케이스 객체의 필드를 열거하는 광범위한 Salesforce 쿼리를 실행했습니다.

2025년 8월 14일: 당사 Salesforce 환경 이해

위협 행위자 GRUB1은 IP 주소 44[.]215[.]108[.]109에서 수시간에 걸쳐 Cloudflare의 Salesforce 테넌트에 대한 포괄적인 정찰을 수행했습니다. 그 목표는 당사 환경에 대한 이해를 구축하는 것이었던 것으로 보입니다. 수시간에 걸쳐, 이들은 다음과 같이 일련의 표적 쿼리를 실행했습니다.

  • 00:17 - 계정, 연락처, 사용자를 계산하여 테넌트의 규모를 측정했습니다. 

  • 04:34 - CaseTeamMemberHistory를 쿼리하여 케이스 워크플로우를 분석했습니다. 그리고 

  • 11:09 - 조직 개체를 지문 인식하여 프로덕션 환경에 있음을 확인했습니다. 

위협 행위자는 추가 쿼리를 통해 고객 지원 시스템의 운영 방식을 파악하며 정찰을 마쳤습니다. 여기에는 팀원이 다양한 유형의 케이스를 처리하는 방식, 케이스 할당 및 에스컬레이션 방법, 지원 프로세스 작동 방식 등이 포함되며, 이후 /limits/ 엔드포인트를 쿼리하여 API의 운영 임계값도 확인했습니다. GRUB1이 실행한 쿼리를 통해, 그들은 자신의 접근 권한 수준, 케이스 객체의 규모, 그리고 Salesforce 환경 내에서 탐지를 피하기 위해 준수해야 할 정확한 API 한계를 파악할 수 있었습니다.

2025년 8월 16일: 실행 준비

2025년 8월 14일 정찰 이후, 당사는 위협 행위자 GRUB1로부터 약 48시간 동안 트래픽이나 성공적인 로그인 기록을 관찰하지 못했습니다.  

그들은 2025년 8월 16일에 돌아왔습니다. 19:26, GRUB1이 IP 주소 44[.]215[.]108[.]109 에서 Cloudflare의 Salesforce 테넌트에 다시 로그인했습니다. 그리고 19:28, 마지막으로 단일 쿼리 SELECT COUNT() FROM Case를 실행했습니다. 이 동작은 탈취하려는 데이터 세트의 정확한 규모를 확인하기 위한 마지막 “사전 실행(dry run)” 역할을 하였으며, 정찰 단계의 최종 종료를 의미하고 본격적인 공격의 준비 단계가 되었습니다. 

2025년 8월 17일: 최종 탈취 및 은폐 작업

GRUB1은 새로운 인프라로 전환하여 데이터 탈취 단계를 개시했으며, 11:11:23에 IP 주소 208[.]68[.]36[.]90에서 로그인했습니다. 케이스 객체의 크기를 최종 점검한 후, 11:11:56에 Salesforce Bulk API 2.0 작업을 개시했습니다. 3분 여에 걸쳐 Salesforce의 경우 지원 케이스 텍스트가 포함된 데이터 세트를 성공적으로 탈취했습니다. 11:15:42, GRUB1은 이 API 작업을 삭제하여 자신의 흔적을 은폐하려고 시도했습니다. 이 조치로 주요 증거는 감추어졌지만 당사 팀은 남은 로그에서 이 공격을 재구성할 수 있었습니다. 

2025년 8월 17일 이후 이 위협 행위자의 추가 활동은 관찰되지 않았습니다.

2025년 8월 20일: 통보 전 공급업체 조치

Salesloft는 고객층 전반에 걸쳐 Drift-to-Salesforce 연결을 해제하고 웹사이트에 공지를 게시했습니다. 당시 Cloudflare는 아직 통보를 받지 못했으며, 해당 공급업체 조치가 당사 환경과 관련이 있을 것이라는 징후도 없었습니다.

2025년 8월 23일: Salesforce 및 Salesloft에서 Cloudflare에 알림

Salesforce와 Salesloft가 Drift 관련 비정상적인 활동을 통지했을 때, 당사는 즉시 이 사건에 대한 대응을 시작했습니다.  당사는 즉시 공급업체가 권장하는 억제 단계를 실행하고, 그들과 협력하여 정보를 수집했습니다. 

2025년 8월 25일: Cloudflare의 대응 활동 개시

8월 25일까지 당사는 해당 사건에 대한 추가 정보를 입수했고, 초기 공급업체 권장 봉쇄 조치 이상으로 대응을 확대했습니다. 당사는 자체적으로 포괄적인 조사와 시정 조치를 개시했습니다.

최우선 과제는 GRUB1의 소스 액세스를 차단하는 것이었습니다. 당사는 Drift 사용자 계정을 비활성화하고, 해당 클라이언트 ID와 암호를 취소했으며, Cloudflare 시스템에서 모든 Salesloft 소프트웨어와 브라우저 확장 기능을 완전히 삭제했습니다. 이 포괄적인 제거는 위협 행위자가 손상된 토큰을 재사용하거나, 오래된 세션을 통해 다시 접근하거나, 지속성을 위해 소프트웨어 확장을 활용하는 위험을 완화했습니다. 별도로, Salesforce 환경에 연결된 모든 타사 서비스를 포함하도록 보안 검토를 확대했으며, 위협 행위자의 잠재적인 내부망 이동을 방지하기 위한 예방 조치로 자격 증명을 교체했습니다. 

당사는 고객 지원 데이터를 관리하기 위한 주요 도구로 Salesforce를 사용하기 때문에, 고객이 고객 서비스 요청에 암호, 비밀번호 또는 기타 민감한 데이터를 제출했을 위험이 있었습니다. 당사는 공격자가 현재 어떤 민감한 자료를 가지고 있는지 파악할 필요가 있었습니다. 

당사는 즉시 해당 데이터가 고객의 계정, 시스템 또는 인프라를 손상시키는 데 사용될 수 있었는지에 초점을 맞추었습니다. 위협 행위자가 획득한 데이터에 노출된 자격 증명이 포함되어 있는지 확인하기 위해 데이터를 조사했습니다. 케이스에는 고객이 Cloudflare API 토큰, 키, 로그 등을 지원팀에 제출할 수 있는 자유 형식 텍스트 필드가 포함되어 있기 때문입니다. 당사 팀은 정규식, 엔트로피, 패턴 매칭 기술을 사용하여 대규모로 Cloudflare의 암호일 가능성이 있는 정보를 감지하는 맞춤형 스캐닝 도구를 개발했습니다. 

조사 결과, 노출은 첨부 파일이나 파일이 아닌 Salesforce 케이스 개체의 자유 형식 텍스트로 엄격히 제한된 것으로 확인되었습니다. 케이스는 영업 및 지원 팀이 고객 지원 문제에 대해 내부적으로 소통하고 고객과 직접 소통하기 위해 사용됩니다. 그 결과, 이러한 케이스 객체에는 다음으로 구성된 텍스트 전용 데이터가 포함되어 있었습니다.

  • Salesforce 케이스의 제목줄

  • 케이스 본문(고객이 Cloudflare에 제공한 경우, 키, 암호 등을 포함한 모든 내용을 포함할 수 있는 자유 형식의 텍스트)

  • 고객 연락처 정보(예: 회사 이름, 요청자 이메일 주소 및 전화번호, 회사 도메인 이름, 회사 국가)

이 결론은 연동, 인증 활동, 엔드포인트 원격 측정, 네트워크 로그에 대한 광범위한 검토를 통해 검증되었습니다.

2025년 8월 26일~29일: 대응 및 선제적 조치 확대

기본 Salesforce 및 Salesloft 자격 증명은 이미 교체된 상태였으므로, 다음 단계는 타사 통합을 종료하고 안전하게 재구축하는 것이었습니다. 당사는 종료된 서비스를 체계적으로 다시 온보딩하여 각 서비스에 새로운 암호를 제공하고 더 엄격한 보안 통제를 적용하기 시작했습니다.

그동안 담당 팀은 탈취된 데이터를 계속 분석했습니다. 분석을 바탕으로 잠재적인 노출을 분류하고 검증했으며, 노출될 수 있는 모든 데이터가 조사 대상이라는 원칙에 따라 진행되었습니다. 이를 통해 Cloudflare 플랫폼에서 발급된 토큰을 발견 즉시 교체하여 직접적인 조치를 취할 수 있었으며, 결국 총 104개의 API 토큰이 교체되었습니다. 해당 토큰과 관련된 의심스러운 활동은 식별되지 않았습니다. 

2025년 9월 2일: 고객에게 통지 

Cloudflare의 상세 분석에 따라, 모든 영향을 받은 고객에게 이메일과 대시보드의 배너 공지를 통해 사고 및 권장되는 다음 단계에 대한 정보를 공식적으로 통지했습니다. 

모든 조직에 대한 권장 사항

이 사건은 SaaS 애플리케이션 및 기타 타사 통합을 보호하는 데 있어 경계를 강화해야 할 필요성을 강조합니다. 이 공격으로 인해 수백 개의 기업에서 손상된 데이터가 추가 공격을 개시하는 데 악용될 수 있습니다. 모든 조직이 다음 보안 조치를 채택하도록 강력히 권장합니다.

  • Salesforce 및 해당 애플리케이션 연결 해제: 즉시 모든 Salesforce 환경에서 연결을 끊고 즉시 관련 소프트웨어나 브라우저 확장 프로그램을 모두 제거하십시오.

  • 자격 증명 교체: Salesforce 인스턴스에 연결된 모든 타사 애플리케이션 및 통합의 자격 증명을 재설정하십시오. 이전에 Cloudflare에 제출한 지원 케이스에서 공유되었을 수 있는 모든 자격 증명을 교체하십시오. 이 공격의 범위와 의도를 고려하여, 환경 내 모든 타사 자격 증명뿐만 아니라 다른 벤더와의 지원 케이스에 포함되었을 수 있는 모든 자격 증명까지 교체할 것을 권장합니다. 

  • 잦은 자격 증명 교체 이행: 통합에 사용된 모든 API 키와 기타 암호에 대한 정기적인 교체 일정을 수립하여 노출 가능성을 줄이십시오.

  • 지원 케이스 데이터 검토: 타사 공급자와 함께 모든 고객 지원 케이스 데이터를 검토하여 노출되었을 수 있는 중요한 정보를 파악하십시오. 자격 증명, API 키, 구성 세부 정보 또는 고객이 공유했을 수 있는 기타 민감한 데이터가 포함된 케이스를 찾아야 합니다. Cloudflare 고객의 경우: Cloudflare 대시보드의 지원(Support) > 기술 지원(Technical Support) > 내 활동(My Activities)에서 지원 케이스 이력에 액세스할 수 있습니다. 여기에서 케이스를 필터링하거나 "케이스 다운로드(Download Cases)" 기능을 사용하여 포괄적인 검토를 수행할 수 있습니다.

  • 포렌식 수행:  모든 타사 통합에 대한 액세스 로그 및 권한을 검토하고, Drift 사고와 관련된 공개 자료를 검토하며, 환경에 대한 보안 검토를 적절하게 수행하십시오.

  • 최소 권한 적용: 모든 타사 애플리케이션을 감사하여 기능에 필요한 최소 수준의 액세스(최소 권한)로 작동하도록 하고 벤더가 관리자 계정을 사용하지 않도록 하십시오. 또한 모든 타사 및 기업 간(B2B) 연결에 대해 IP 주소 제한 및 세션 바인딩과 같은 엄격한 제어를 시행하십시오.

  • 모니터링 및 제어 강화: 향상된 모니터링을 배포하여 대규모 데이터 내보내기 또는 익숙하지 않은 위치에서의 로그인과 같은 이상을 감지하십시오. 타사 간 로그를 캡처하는 것은 어려울 수 있지만, 이러한 로그는 보안 운영 팀의 일부로 반드시 포함되어야 합니다.

손상 지표

다음은 GRUB1으로부터 확인한 손상 징후(IOC)입니다. 다른 조직, 특히 Salesloft 손상 사고의 영향을 받았을 수 있는 조직에서 로그를 검색하여 동일한 위협 행위자가 시스템 또는 타사에 액세스하지 않았는지 확인할 수 있도록 이들 징후를 게시합니다.

지표

유형

설명

208[.]68[.]36[.]90

IPV4

DigitalOcean 기반 인프라 

44[.]215[.]108[.]109

IPV4

AWS 기반 인프라 

TruffleHog

사용자 에이전트

오픈 소스 암호 스캐닝 도구

Salesforce-Multi-Org-Fetcher/1.0

사용자 에이전트

악성 도구와 연결된 User-Agent 문자열

Salesforce-CLI/1.0

사용자 에이전트

Salesforce CLI(명령줄 인터페이스),

python-requests/2.32.4

사용자 에이전트

사용자 에이전트는 사용자 지정 스크립팅을 나타낼 수 있습니다 

Python/3.11 aiohttp/3.12.15

사용자 에이전트

여러 API 호출을 병렬로 허용할 수 있는 사용자 에이전트

결론

당사는 직접 선택한 도구에 책임이 있으며, 정교한 위협 행위자가 그 도구를 손상시킬 경우, 그 결과에 대한 책임 역시 당사에 있습니다. Cloudflare 팀이 통지에 대응했으며, 조사 결과 그 영향이 다른 Cloudflare 시스템 또는 인프라의 손상 없이 Salesforce 케이스 개체의 데이터로 엄격하게 제한되었음을 확인했습니다.

하지만 Cloudflare는 어떠한 데이터 손상도 용납할 수 없는 것으로 간주합니다. 고객은 데이터, 인프라 그리고 보안을 Cloudflare에 믿고 맡깁니다. 그 과정에서 당사는 때때로 타사 도구를 신뢰하게 되며, 이들이 접근할 수 있는 범위를 주의 깊게 모니터링하고 제한할 필요가 있습니다. 이 책임은 당사에 있습니다. 고객에게 실망을 안겨드렸습니다. 이에 대해 진심으로 사과드립니다.

타사 도구가 업계 전반에 걸쳐 기업 내부 데이터와 점점 더 많이 통합됨에 따라, 당사는 각각의 새로운 도구를 신중하게 검토해야 합니다. 이 사건은 단일 통합 지점을 통해 수백 개의 조직에 영향을 미쳤으며, 상호 연결성이 강한 오늘날의 기술 환경이 처해질 수 있는 위험을 강조합니다. 당사는 향후 이러한 공격으로부터 당사와 고객을 방어할 수 있는 새로운 기능을 개발하기 위해 최선을 다하고 있습니다. 이달 말 Cloudflare의 창립기념일 주간 동안 발표될 내용을 기대해 주시기 바랍니다.

당사는 더 넓은 보안 커뮤니티와 위협 인텔리전스 및 연구를 공유하기 위해 최선을 다하고 있습니다. 앞으로 몇 주 안에 Cloudforce One 팀은 GRUB1의 기법을 분석하는 심층 블로그를 게시하여 유사한 캠페인을 막아낼 수 있도록 더 폭넓은 커뮤니티를 지원할 계획입니다.

세부 사고 타임라인

다음 표는 이번 사고 동안 GRUB1의 특정 행동을 시간순으로 자세하게 보여줍니다.

날짜/시간(UTC)

사고 설명

2025-08-09 11:51:13

GRUB1이 Trufflehog를 활용하여 Cloudflare 고객 테넌트의 토큰을 client/v4/user/tokens/verify에서 검증하려 시도했으며, 44[.]215[.]108[.]109에서 404 오류를 받았습니다.

2025-08-12 22:14:08

GRUB1이 44[.]215[.]108[.]109에서 Cloudflare의 Salesforce 테넌트에 로그인했습니다.

2025-08-12 22:14:09

GRUB1이 Cloudflare Salesforce 테넌트의 객체 목록을 조회하기 위해 GET 요청을 /services/data/v58.0/sobjects/에 전송했습니다.

2025-08-13 19:33:02

GRUB1이 44[.]215[.]108[.]109에서 Cloudflare의 Salesforce 테넌트에 로그인했습니다.

2025-08-13 19:33:03

GRUB1이 Cloudflare Salesforce 테넌트의 객체 목록을 조회하기 위해 GET 요청을 /services/data/v58.0/sobjects/에 전송했습니다.

2025-08-13 19:33:07 및 19:33:09

GRUB1이 Cloudflare의 Salesforce 테넌트에 있는 케이스의 메타데이터 정보를 획득하기 위해 GET 요청을 /services/data/v58.0/sobjects/Case/describe/에 전송했습니다.

2025-08-13 19:33:11

GRUB1이 처음으로 Salesforce 쿼리를 실행했으며, 44[.]215[.]108[.]109에서 케이스 객체를 대상으로 한 광범위한 쿼리를 수행한 것이 관찰되었습니다. 이는 초기 단계이면서도 대규모 데이터 응답을 발생시켰으며, 대량 레코드 조회를 통한 정찰 활동과 일치했습니다.

2025-08-14 0:17:40

GRUB1이 사용 가능한 개체를 나열하고 “Account”, “Contact”“User” 개체를 계산합니다.

2025-08-14 00:17:47

GRUB1이 Account 테이블을 쿼리했습니다. Cloudflare의 Salesforce 테넌트에서 “SELECT COUNT() FROM Account” 쿼리를 실행했습니다.

2025-08-14 00:17:51

GRUB1이 Cloudflare의 Salesforce 테넌트에서 Contact 테이블을 쿼리했습니다. Cloudflare의 Salesforce 테넌트에서 “SELECT COUNT() FROM Contact” 쿼리를 실행했습니다.

2025-08-14 00:18:00

GRUB1이 Cloudflare의 Salesforce 테넌트에서 User 테이블을 쿼리했습니다. Cloudflare의 Salesforce 테넌트에서 “SELECT COUNT() FROM User” 쿼리를 실행했습니다.

2025-08-14 04:34:39

GRUB1이 Cloudflare의 Salesforce 테넌트에서 "CaseTeamMemberHistory”를 쿼리했습니다. “SELECT Id, IsDeleted, Name, CreatedDate, CreatedById, LastModifiedDate, LastModifiedById, SystemModstamp, LastViewedDate, LastReferencedDate, Case__c FROM CaseTeamMemberHistory__c LIMIT 5000”을 실행했습니다.

2025-08-14 11:09:14

GRUB1이 Cloudflare의 Salesforce 테넌트에서 Organization 테이블을 쿼리했습니다. “SELECT Id, Name, OrganizationType, InstanceName, IsSandbox FROM Organization LIMIT 1”을 실행했습니다.

2025-08-14 11:09:21

GRUB1이 Cloudflare의 Salesforce 테넌트에서 User 테이블을 쿼리했습니다. “SELECT Id, Username, Email, FirstName, LastName, Name, Title, CompanyName, Department, Division, Phone, MobilePhone, IsActive, LastLoginDate, CreatedDate, LastModifiedDate, TimeZoneSidKey, LocaleSidKey, LanguageLocaleKey, EmailEncodingKey FROM User WHERE IsActive = :x ORDER BY LastLoginDate DESC NULLS LAST LIMIT 20”을 실행했습니다.

2025-08-14 11:09:22

GRUB1이 Cloudflare의 Salesforce 테넌트에서 LimitSnapshot을 조회하기 위해 GET 요청을 /services/data/v58.0/limits/에 전송했습니다.

2025-08-16 19:26:37

GRUB1이   44[.]215[.]108[.]109에서 Cloudflare의 Salesforce 테넌트에 로그인했습니다.

2025-08-16 19:28:08

GRUB1이 Cloudflare의 Salesforce 테넌트에서 Cases 테이블을 쿼리했습니다. SELECT COUNT() FROM Case를 실행했습니다.

2025-08-17 11:11:23

GRUB1이 208[.]68[.]36[.]90에서 Cloudflare의 Salesforce 테넌트에 로그인했습니다.

2025-08-17 11:11:55

GRUB1이 Cloudflare의 Salesforce 테넌트에서 Case 테이블을 쿼리했습니다. SELECT COUNT() FROM Case를 실행했습니다.

2025-08-17 11:11:56 ~ 11:15:18

GRUB1이 208[.]68[.]36[.]90에서 Salesforce BulkAPI 2.0을 사용해 Cases 객체를 탈취하기 위한 작업을 실행했습니다. 

2025-08-17 11:15:42

GRUB1이 208[.]68[.]36[.]90에서 Salesforce Bulk API 2.0을 사용해 최근에 Cases 객체를 탈취하는 데 사용한 작업을 삭제했습니다.

Cloudflare에서는 전체 기업 네트워크를 보호하고, 고객이 인터넷 규모의 애플리케이션을 효과적으로 구축하도록 지원하며, 웹 사이트와 인터넷 애플리케이션을 가속화하고, DDoS 공격을 막으며, 해커를 막고, Zero Trust로 향하는 고객의 여정을 지원합니다.

어떤 장치로든 1.1.1.1에 방문해 인터넷을 더 빠르고 안전하게 만들어 주는 Cloudflare의 무료 애플리케이션을 사용해 보세요.

더 나은 인터넷을 만들기 위한 Cloudflare의 사명을 자세히 알아보려면 여기에서 시작하세요. 새로운 커리어 경로를 찾고 있다면 채용 공고를 확인해 보세요.
사후

X에서 팔로우하기

Grant Bourzikas|@GrantBourzikas
Cloudflare|@cloudflare

관련 게시물