Hoşgeldin Misafir

GitHub Action Hack Saldırısı, Tedarik Zinciri Saldırılarının Yayılmasına Neden Olmuş Olabilir - Enformasyon

darkxxf

"Psychic"
18 Ara 2024
912 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
GitHub Action Hack Saldırısı, Tedarik Zinciri Saldırılarının Yayılmasına Neden Olmuş Olabilir




1ua6g7c.png





GitHub'da kullanılan "reviewdog/action-setup@v1" adlı GitHub Action'ın ele geçirilmesiyle başlayan bir tedarik zinciri saldırısının, yakın zamanda "tj-actions/changed-files" değişikliğine neden olduğu ve bu durumun CI/CD gizli bilgilerini sızdırdığı düşünülmektedir.

Geçtiğimiz hafta, "tj-actions/changed-files" GitHub Action'ına yapılan bir tedarik zinciri saldırısı sonucunda, 23.000 depo için CI/CD gizli bilgilerini içeren kodlar çalıştırma günlüklerine yazıldı. Bu günlükler herkese açık olsaydı, saldırganlar bu gizli bilgilere erişim sağlayabilecekti.

"tj-actions" geliştiricileri, saldırganların, zararlı kod değişikliklerini gerçekleştirmek için kullandıkları bir GitHub kişisel erişim jetonunun (PAT) nasıl ele geçirildiğini tam olarak belirleyemedi.

Bugün ise, Wiz araştırmacıları, zincirleme tedarik zinciri saldırılarının bu duruma yol açmış olabileceğini ve "reviewdog/action-setup" GitHub Action'ından başladığını öne sürüyor.

Siber güvenlik firmalarına göre, saldırganlar önce "reviewdog/action-setup" GitHub Action'ının "v1" etiketi üzerinde değişiklik yaparak, CI/CD gizli bilgilerini günlük dosyalarına aktaran benzer bir kod enjekte etti.

"tj-actions/eslint-changed-files" GitHub Action'ı "reviewdog/action-setup" GitHub Action'ını kullandığından, saldırganların bu mekanizmayı kullanarak "tj-actions" botunun kişisel erişim jetonunu ele geçirdiği tahmin ediliyor.

"reviewdog Action'ının ele geçirilmesi ile tj-actions-bot'un PAT'inin ele geçirilmesi arasında bir bağlantı olduğunu düşünüyoruz," diyor Wiz raporunda.

"tj-actions/eslint-changed-files, reviewdog/action-setup@v1'i kullanıyor ve tj-actions/changed-files deposu da bu action'ı kişisel erişim jetonu ile çalıştırıyor."

"reviewdog Action'ının ele geçirilmesi ile tj-actions PAT'inin ele geçirilmesi aynı zaman aralığında gerçekleşti."

Saldırganlar, "install.sh" dosyasına base64 ile şifrelenmiş bir zararlı kod enjekte etti ve bu sayede etkilenen CI iş akışlarından gizli bilgileri açığa çıkardı.

"tj-actions"ta olduğu gibi, ele geçirilen gizli bilgiler, kamuya açık depolarda iş akış günlüklerinde görülebiliyordu.





ds1kncj.png


Tedarik Zinciri Saldırısı Genel BakışKaynak: Wiz

"reviewdog/action-setup@v1" etiketinin ele geçirildiği onaylanmış olsa da, aşağıdaki GitHub Action'ınlarının da etkilenmiş olabileceği belirtiliyor:

  • reviewdog/action-shellcheck
  • reviewdog/action-composite-template
  • reviewdog/action-staticcheck
  • reviewdog/action-ast-grep
  • reviewdog/action-typos
Wiz, Reviewdog ekibinin güvenlik ihlalini tesadüfen fark edip düzelttiğini ancak tekrarını önlemek için GitHub ve ekip ile iletişim kurduklarını belirtiyor.

Saldırının kesin yöntemi henüz belirlenemese de, Wiz uzmanları, Reviewdog'un geniş bir katkıcı kitlesine sahip olduğunu ve otomatik davetiyeler yoluyla yeni üyeleri kabul ettiğini, bu nedenle risk seviyesinin yüksek olduğunu ifade ediyor.

Eğer bu action ele geçirilmiş halde kalsaydı, "tj-actions/changed-files" için tekrarlanan bir saldırı mümkün olabilirdi ve yeni dönüştürülen CI/CD gizli bilgilerinin tekrar ifşa edilmesi ihtimali bulunuyordu.





Öneriler:


Wiz, potansiyel olarak etkilenebilecek projelerin aşağıdaki GitHub sorgusunu çalıştırarak depolarında "reviewdog/action-setup@v1" referansları olup olmadığını kontrol etmelerini tavsiye ediyor.

Eğer iş akış günlüklerinde çift kodlanmış base64 yükleri bulunursa, bu gizli bilgilerin sızıntısının bir işareti olarak değerlendirilmelidir.

Geliştiriciler, tüm etkilenen action referanslarını tüm dallardan derhal kaldırmalı, iş akış günlüklerini silmeli ve potansiyel olarak tehlikeye giren tüm gizli bilgileri yenilemelidir.

Gelecekte benzer saldırıların önlenmesi için, GitHub Action'larını sürüm etiketleri yerine belirli taahhüt karma değerlerine sabitlemek ve GitHub'ın yetkisiz action'ları sınırlandıran izin listesi özelliğini kullanmak önerilmektedir.