Grafana, 갈취당한 코드에 몸값 지불 거부
공격자가 GitHub 저장소를 유출했지만, 고객 데이터는 영향을 받지 않았습니다. 회사는 협박에 굴복하지 않기로 결정했으며, 침해 세부 정보를 공개할 준비를 하고 있습니다.
'우리는 당신이 필요 없습니다': Grafana가 해커를 무시하고 침해를 업계 전체의 교훈으로 만든 방법
5월 15일, 사이버 그룹 Coinbase Cartel이 Grafana Labs를 자사 유출 사이트에 게시하며 조롱하는 메모를 남겼습니다: '우리는 당신이 상상하는 것보다 더 큰 피해를 줄 수 있습니다.' 5월 17일, Grafana가 응답했습니다. 돈이 아닌, X에 짧은 스레드로 답했고, 그 끝에는 '우리는 올바른 길은 몸값을 지불하지 않는 것이라고 결정했습니다'라는 문구가 있었습니다.
협상도 없었고, 비트코인 서류 가방을 든 위기 컨설턴트도 없었습니다. Fortune 500 기업의 절반 데이터 센터에서 실행되는 데이터 시각화 소프트웨어를 가진 회사는 단순히 협박자의 규칙을 따르기를 거부했습니다. 그리고 조사의 첫 번째 세부 사항에 따르면, 그렇게 할 만한 확고한 이유가 있었습니다.
가치가 0인 토큰이 왕국으로 가는 문을 연 방법
공격은 정교하지도 않았고 우아하지도 않았습니다. 공격자는 다단계 피싱으로 경계를 뚫거나 제로데이를 악용하지 않았습니다. 그들은 Grafana Labs의 GitHub 환경에 대한 액세스 토큰을 얻었고, 그것만으로 전체 코드베이스를 다운로드하기에 충분했습니다.
문제의 근원은 특정 기술적 오류에 있습니다. 저장소 중 하나에 'Pwn Request' 유형 취약점이 있는 GitHub Action이 활성화되어 있었습니다. 이는 pull_request_target 이벤트에 대한 전형적인 잘못된 구성이었습니다. 이 트리거로 인해 외부 기여자가 풀 리퀘스트를 제출할 때 CI/CD 실행 중 프로덕션 비밀에 접근할 수 있었습니다. 공격자는 저장소를 포크하고, curl을 통해 악성 코드를 주입하고, 환경 변수를 암호화된 파일로 빼돌린 후, 흔적을 지우기 위해 포크를 즉시 삭제했습니다. 그런 다음 네 개의 추가 비공개 저장소에서 공격을 반복했습니다.
침입은 카나리 토큰 덕분에 탐지되었습니다. Grafana는 인프라 전반에 수천 개의 이러한 트랩을 배치했으며, 그중 하나가 트리거되어 글로벌 보안 팀에 즉시 경고를 보냈습니다. 그 순간부터 경쟁이 시작되었습니다: 회사는 동시에 포렌식 분석을 수행하고, 손상된 자격 증명을 취소하고, 취약한 워크플로를 비활성화했습니다.
조사 결과: 고객 데이터는 손대지 않았고, 개인 정보는 영향을 받지 않았으며, 사용자 시스템 및 운영에 미치는 영향은 전혀 없었습니다. 공격자는 코드에만 접근했습니다.
Coinbase Cartel이 단순한 해커가 아니라 전설의 연합인 이유
Coinbase Cartel이라는 이름은 거의 우스꽝스럽게 들립니다. 하지만 그 뒤에는 분석가들이 전 세계 CISO를 공포에 떨게 하는 세 명의 이름과 연결하는 그룹이 있습니다: ShinyHunters, Scattered Spider, Lapsus$. 이 팀들은 적어도 2025년 중반부터 행동을 조정해 왔으며, 일부 데이터에 따르면 2024년부터 협력해 왔습니다.
Coinbase Cartel의 전술은 클래식 랜섬웨어 갱단과 다릅니다. 그들은 파일을 암호화하거나 인프라를 마비시키지 않습니다. 그들은 민감한 데이터를 훔치고, 비공개를 조건으로 몸값을 요구하며, 지불을 거부하는 사람들의 평판을 체계적으로 파괴합니다. Grafana 공격 당시, 그들의 유출 사이트에는 105명의 피해자가 등록되어 있었습니다. 그중에는 Instructure(Canvas LMS 제작사), Vimeo, Wynn Resorts, Vercel, Medtronic이 포함되어 있습니다.
피해자 행동의 대비는 그 자체로 드라마입니다. 2억 7500만 명의 학생과 교사를 대상으로 하는 교육 소프트웨어를 제공하는 Instructure는 지난주 협박자에게 지불했습니다. Grafana는 그렇지 않았습니다. 차이점은 Instructure는 사용자 데이터가 유출된 반면, Grafana는 '단지' 소스 코드만 유출되었다는 점입니다. 2억 5천만 명의 프라이버시가 걸려 있을 때, 평판 위험의 계산은 극적으로 변합니다.
오픈 소스, 클로즈드 소스, 그리고 비트코인이 요구되는 코드
이것은 The Register가 특유의 비꼼으로 제기한 질문을 불러일으킵니다: '공격자가 대부분 오픈 소스인 코드를 다운로드했다면, 왜 비용을 지불해야 하는가?' Grafana는 오픈 소스 제품입니다. 코드베이스의 상당 부분은 GitHub에 공개되어 있습니다.
하지만 문제는 세부 사항에 있습니다. Grafana Labs는 공격자가 비공개 저장소에 접근했다고 확인했습니다. 여기에는 내부 도구, 문서화되지 않은 엔드포인트, 인증 로직, 엔터프라이즈 클라이언트용 구성 스크립트 등 무엇이든 포함될 수 있습니다. 보안 연구원들은 이미 이러한 코드 유출이 위험을 '프라이버시' 평면에서 '향후 공격을 위한 로드맵' 평면으로 이동시킨다고 지적했습니다. 공격자는 더 깊은 침투를 가능하게 하는 패턴을 찾기 위해 몇 달 동안 소스 코드를 연구할 수 있습니다.
Grafana는 이를 이해합니다. 하지만 계산은 간단합니다: 지불하면 데이터가 일주일 안에 유출되지 않는다는 보장 없이 갈취 생태계에 자금을 대는 것입니다. 지불하지 않으면 코드는 이미 공격자의 손에 있지만, 추가 유출로 인해 그들은 한 푼도 벌지 못합니다. 회사는 FBI의 입장을 거의 그대로 인용했습니다: 지불은 추가 범죄에 대한 인센티브를 만들 뿐입니다.
보안 업계, 무료 마스터클래스 받다
이 사건은 동시에 업계의 여러 계층을 재편성합니다. 오픈 소스 커뮤니티가 승리합니다: Grafana는 조사가 끝난 후 상세한 사후 검토를 게시하겠다고 약속했습니다. 전 세계 DevOps 및 DevSecOps 엔지니어는 공격 벡터, 타임라인, 대응 조치가 포함된 실제 사례 연구를 얻을 것입니다. 합성 훈련 시나리오가 아닌 실제 전투 경험입니다.
pull_request_target 취약점에 대해 GitHub Action을 아직 확인하지 않은 회사는 손해를 봅니다. 연구원들은 이 공격 표면이 오픈 소스 생태계 전반에서 '엄청나게 과소평가되었다'고 말합니다. 철저한 워크플로 감사 없이 외부 기여자의 PR을 병합하는 모든 공개 저장소는 이제 잠재적 표적으로 보입니다.
랜섬 협상가들도 손해를 봅니다. 더 많은 회사가 공개적으로 지불을 거부하고, 치명적인 결과 없이 생존할수록 협상 테이블에서 갈취자의 입지는 약해집니다. Grafana는 선례를 세웠습니다: 보안 아키텍처가 처음부터 사용자 데이터와 개발 도구를 분리한다면 코드를 잃어도 중단 없이 운영을 계속할 수 있습니다.
5월 17일 이후 무엇이 바뀔까
Grafana는 이미 손상된 토큰을 취소하고, 취약한 GitHub Action을 비활성화했으며, 감사 기간 동안 공개 저장소의 모든 워크플로를 중단했습니다. 앞으로 몇 주 안에 회사는 최종 보고서를 발표할 것입니다. 이는 DevSecOps 세계에서 가장 많이 읽히는 문서 중 하나가 될 것입니다. 관심 수준은 SolarWinds 침해 분석에 필적합니다.
세 가지 구체적인 결과를 예상합니다. 첫째: GitHub는 pull_request_target의 기본 설정을 강화하거나 최소한 인터페이스에서 더 적극적인 경고를 추가할 것입니다. 너무 많은 회사가 같은 실수를 반복하고 있습니다. 둘째: Coinbase Cartel은 압박을 강화할 것입니다. 그들은 포트폴리오에 105명의 피해자를 보유하고 있으며, Grafana의 공개적 거부는 그들의 비즈니스 모델에 타격입니다. 보복이 뒤따를 수 있으며, 아마도 그림자 포럼에 훔친 코드를 유출하는 형태일 것입니다. 셋째: 전 세계 CISO가 지금 바로 팀에 요청을 작성하고 있습니다: '비밀에 접근할 수 있는 pull_request_target이 있는지 확인하십시오.' 그리고 그것이 아마도 전체 사건의 최상의 결과일 것입니다.
Grafana는 성숙한 태도가 무엇인지 보여주었습니다: 공황도, 부인도, 암호화폐 가방도 없습니다. 단지 냉철한 기술 분석, 토큰 취소, 실시간 오류 수정뿐이었습니다. 해커는 코드를 훔쳤지만, 통제권은 훔치지 못했습니다. 그리고 랜섬웨어가 수십억 달러 산업이 된 세상에서, 그러한 대응은 어떤 몸값보다 더 가치가 있습니다.
— Editorial Team