Mastra AI Tedarik Zinciri Saldırısı: Kuzey Koreli Hackerlar Sapphire Sleet Tarafından Yürütüldü

Microsoft, Mastra AI tedarik zinciri saldırısını Kuzey Koreli Sapphire Sleet grubuna bağladı. 140+ npm paketi etkilendi. Saldırının teknik detayları ve savunma stratejileri.

B
Bleeping Computer Tutorials
6 görüntülenme
Mastra AI Tedarik Zinciri Saldırısı: Kuzey Koreli Hackerlar Sapphire Sleet Tarafından Yürütüldü

Giriş

Microsoft, yakın zamanda gerçekleşen Mastra AI tedarik zinciri saldırısının ardındaki saldırgan grubun Kuzey Kore bağlantılı Sapphire Sleet (diğer adıyla BlueNoroff) olduğunu doğruladı. Bu saldırı, 140'tan fazla npm paketinin tehlikeye atılmasına neden oldu ve tedarik zinciri saldırılarının ciddiyetini bir kez daha gözler önüne serdi. Tedarik zinciri saldırıları, hedef alınan sistemlere doğrudan erişim sağlamak yerine, güvenilen üçüncü taraf yazılımlar üzerinden yayıldığı için oldukça tehlikelidir.

Saldırının Arka Planı ve Hedefleri

Sapphire Sleet (BlueNoroff) Kimdir?

Sapphire Sleet, Kuzey Kore devletinin desteklediği bir APT (Advanced Persistent Threat) grubudur. Bu grup, genellikle finansal kazanç sağlamak amacıyla hedef sistemlere sızmakta ve kripto para hırsızlığı, fidye yazılımı saldırıları ve tedarik zinciri saldırıları gibi faaliyetlerde bulunmaktadır. Mastra AI saldırısı da bu grubun tedarik zinciri saldırıları stratejisinin bir parçası olarak değerlendirilmektedir.

Saldırının Hedefleri ve Etkileri

Bu saldırının ana hedefleri arasında:

  • Mastra AI platformu ve kullanıcıları
  • Bağımlı olan npm paketleri aracılığıyla dağıtılan kötü amaçlı kodlar
  • Son kullanıcılar ve şirketler

Saldırı sonucunda, saldırganlar tarafından 140'tan fazla npm paketi tehlikeye atıldı. Bu paketler, geliştiriciler tarafından yaygın olarak kullanılan ve projelerde doğrudan veya dolaylı olarak bağımlılık olarak eklenen yazılımlardır. Kötü amaçlı kodların bu paketlere eklenmesiyle, saldırganlar hedef sistemlere sızdı ve veri hırsızlığı, sistemlerin ele geçirilmesi gibi ciddi sonuçlara yol açtı.

Saldırının Teknik Detayları

Saldırının Yayılma Mekanizması

Sapphire Sleet grubu, saldırıyı aşağıdaki adımlarla gerçekleştirdi:

  1. Hedef Seçimi ve Hazırlık: Grubun hedefi, Mastra AI platformuna bağlı olan npm paketleriydi. Bu paketlerin geliştiriciler tarafından güvenilir olarak kabul edilmesi, saldırının başarısını artırdı.
  2. Kötü Amaçlı Kod Enjeksiyonu: Saldırganlar, hedef npm paketlerine arka kapı (backdoor) ve bilgi hırsızlığı amacıyla tasarlanmış kötü amaçlı kodlar ekledi. Bu kodlar, genellikle paketlerin güncellemeleri sırasında gizlice dağıtıldı.
  3. Yayılma ve Enfeksiyon: Kötü amaçlı paketler, geliştiriciler tarafından projelerine dahil edildiğinde, bu projelerdeki sistemlere de bulaştı. Saldırganlar, bu sistemlere uzaktan erişim sağlamak için komut ve kontrol (C2) sunucuları kullandı.
  4. Veri Toplama ve Sızdırma: Enfekte sistemlerden veri toplamak ve bu verileri saldırganların sunucularına aktarmak için çeşitli yöntemler kullanıldı. Bu veriler arasında kullanıcı bilgileri, kimlik bilgileri ve diğer hassas veriler yer alıyordu.

Kullanılan Araçlar ve Yöntemler

Sapphire Sleet grubunun bu saldırıda kullandığı araçlar ve yöntemler arasında:

  • Obfuscation (Kod Karartma): Kötü amaçlı kodların tespit edilmesini zorlaştırmak için kodlar karmaşık ve okunaksız hale getirildi.
  • Sosyal Mühendislik: Geliştiricileri kandırmak için sahte güncellemeler ve sahte paketler kullanıldı.
  • Komut ve Kontrol (C2) Sunucuları: Enfekte sistemlere uzaktan erişim sağlamak için kullanıldı.
  • Veri Sızdırma Yöntemleri: Toplanan veriler, çeşitli kanallar aracılığıyla saldırganlara aktarıldı.

Saldırıdan Korunma ve Müdahale Adımları

1. Geliştiriciler İçin Önlemler

npm Paketlerinin Doğrulanması

  1. Kaynak Kontrolü: Kullanılan npm paketlerinin kaynağını doğrulayın. Paketlerin yayınlandığı hesapların güvenilir olduğundan emin olun.
    npm view  publisher
  2. İmza Kontrolü: Paketlerin dijital imzalarını kontrol edin. İmzası olmayan paketleri kullanmaktan kaçının.
    npm audit --audit-level moderate
  3. Bağımlılıkların İncelenmesi: Projenizdeki tüm bağımlılıkları inceleyin ve gereksiz veya güvenilir olmayan paketleri kaldırın.
    npm ls --depth=0

Güvenlik Araçlarının Kullanımı

Aşağıdaki güvenlik araçlarını kullanarak npm paketlerini tarayın ve olası tehditleri tespit edin:

  • npm audit: Paketlerdeki güvenlik açıklarını tespit etmek için kullanılır.
    npm audit
  • Snyk: Açık kaynaklı güvenlik açıklarını tespit eden bir araçtır.
    npx snyk test
  • OWASP Dependency-Check: Projede kullanılan bağımlılıkların güvenlik açıklarını tespit eder.
    dependency-check --project  --scan 

2. Sistem Yöneticileri İçin Önlemler

Sistemlerin İzlenmesi ve Güncellenmesi

  1. Güncellemelerin Takibi: Tüm sistemlerin ve yazılımların güncel olduğundan emin olun. Özellikle npm ve Node.js gibi araçların güncel sürümlerini kullanın.
    npm update -g npm
    node --version
  2. Güvenlik Duvarı ve İzleme: Sistemlerinize yönelik şüpheli aktiviteleri tespit etmek için güvenlik duvarları ve izleme sistemleri kullanın.
    sudo ufw status
    journalctl -u  --since "1 hour ago"
  3. Kullanıcı Hesaplarının Kontrolü: Sistemlerdeki kullanıcı hesaplarını inceleyin ve gereksiz hesapları kaldırın. Özellikle sudo yetkilerine sahip hesapları dikkatlice yönetin.
    sudo deluser 
    sudo visudo

Yedekleme ve Kurtarma Planları

Olası bir saldırı durumunda sistemlerinizi kurtarmak için aşağıdaki adımları izleyin:

  1. Düzenli Yedekleme: Tüm kritik verilerinizi düzenli olarak yedekleyin. Yedeklerinizi ayrı bir konumda ve şifreli olarak saklayın.
    tar -czvf backup.tar.gz /kritik_dizin
    scp backup.tar.gz kullanıcı@uzak_makine:/yedekleme_dizini
  2. Kurtarma Planı: Bir saldırı durumunda sistemlerinizi kurtarmak için ayrıntılı bir kurtarma planı oluşturun. Bu plan, yedeklerden geri yükleme adımlarını ve sistemlerin yeniden yapılandırılmasını içermelidir.

Saldırı Sonrası Müdahale ve Raporlama

Saldırı Tespiti ve Kapatılması

Eğer sisteminizde bir saldırı tespit ettiyseniz, aşağıdaki adımları izleyerek saldırıyı kapatın ve zararı en aza indirin:

  1. Saldırıyı Durdurun: Sisteminizi ağdan izole edin ve saldırganların sistemlere erişimini engelleyin.
    sudo ifconfig eth0 down
    sudo iptables -A INPUT -s  -j DROP
  2. Kötü Amaçlı Yazılımları Temizleyin: Sistemdeki tüm kötü amaçlı yazılımları ve arka kapıları temizleyin. Bunun için antivirüs ve anti-malware araçlarını kullanın.
    sudo apt-get install clamav
    sudo freshclam
    sudo clamscan -r --bell -i /
  3. Güvenlik Açıklarını Kapatın: Tüm güvenlik açıklarını kapatın ve sistemlerinizi güncelleyin. Özellikle npm ve Node.js gibi araçların en son sürümlerini kullanın.

Olay Raporlama ve Yasal İşlemler

Eğer saldırıya uğradıysanız, aşağıdaki adımları izleyerek olayı raporlayın ve gerekli yasal işlemleri başlatın:

  1. İç Raporlama: Saldırıyı şirket içindeki ilgili ekiplere ve yöneticilere raporlayın. Olayın detaylarını ve etkilerini belirtin.
  2. Dış Raporlama: Yerel yetkililere ve ilgili kurumlara (örneğin, BTK, Emniyet) saldırıyı raporlayın. Bu, hem yasal süreçleri başlatmak hem de diğer kurumların da uyarılmasını sağlamak için önemlidir.
  3. Müşteri Bildirimi: Eğer müşterileriniz etkilenmişse, onları da saldırı hakkında bilgilendirin ve gerekli önlemleri almalarını sağlayın.

Uyarı: Tedarik zinciri saldırıları, sadece doğrudan hedeflenen sistemleri değil, aynı zamanda bu sistemlere bağlı olan tüm üçüncü taraf yazılımları ve sistemleri de etkileyebilir. Bu nedenle, tüm bağımlılıklarınızı düzenli olarak kontrol edin ve güvenlik açıklarını en aza indirin.

Sonuç

Mastra AI tedarik zinciri saldırısı, Kuzey Koreli Sapphire Sleet grubunun hedef sistemlere sızmak için kullandığı karmaşık ve çok aşamalı bir saldırıdır. Bu saldırı, tedarik zinciri saldırılarının ne kadar tehlikeli olabileceğini ve geliştiricilerin, sistem yöneticilerinin ve kurumların bu tür saldırılara karşı nasıl korunabileceğini göstermektedir. Geliştiriciler, sistem yöneticileri ve kurumlar, güvenlik açıklarını tespit etmek, sistemlerini güncellemek ve saldırılara karşı hazırlıklı olmak için gerekli adımları atmalıdır. Unutmayın, güvenlik sadece bir kez yapılan bir işlem değil, sürekli bir süreçtir.