1 puan yazan GN⁺ 2024-03-01 | 1 yorum | WhatsApp'ta paylaş

GitHub'da 100.000'den fazla enfekte depo keşfedildi

  • Güvenlik araştırması ve veri bilimi ekibi, geçen yılın ortasında başlayan kötü amaçlı depo karıştırma kampanyasının büyük ölçekte yeniden ortaya çıktığını tespit etti.
  • Bu saldırı, geliştiriciler bilinen ve güvenilir depolara benzer görünen ancak gerçekte kötü amaçlı kod içeren depoları kullandığında, GitHub üzerindeki 100.000'den fazla depoyu (ve tahminen milyonlarcasını) etkiliyor.

Depo karıştırma saldırısı nasıl gerçekleşiyor?

  • Depo karıştırma saldırısı, bağımlılık karıştırma saldırısına benzer şekilde, kötü niyetli aktörlerin hedefin gerçek sürüm yerine kötü amaçlı sürümü indirmesini sağlamasıyla gerçekleşir.
  • Bağımlılık karıştırma saldırısı paket yöneticilerinin çalışma biçiminden yararlanırken, depo karıştırma saldırısı insanların yanlışlıkla gerçek sürüm yerine kötü amaçlı olanı seçmesine dayanır ve bazen sosyal mühendislik teknikleri de kullanılır.

Kötü amaçlı depo kullanıldığında neler olur?

  • Geliştiriciler farkında olmadan kötü amaçlı depoyu kullandığında, gizlenmiş payload 7 aşamalı obfuscation katmanını çözer ve kötü amaçlı Python kodunu, ardından da ikili çalıştırılabilir dosyaları getirir.
  • Kötü amaçlı yazılım, çeşitli uygulamalara ait oturum açma kimlik bilgilerini, tarayıcı parolalarını ve çerezlerini ve diğer gizli verileri toplayarak saldırganın C&C sunucusuna gönderir ve ek kötü amaçlı faaliyetler yürütür.

GitHub'daki otomasyonun etkisi

  • Çatallanan depoların çoğu GitHub tarafından hızla kaldırılsa da, otomatik tespit birçok depoyu kaçırıyor ve elle yüklenen depolar varlığını sürdürüyor.
  • Tüm saldırı zinciri büyük ölçekte çoğunlukla otomatikleştirildiği için, hayatta kalan %1 bile hâlâ binlerce kötü amaçlı depo anlamına geliyor.

Kampanya ne zaman başladı?

  • Mayıs 2023: Phylum'un ilk bildirdiğine göre, mevcut payload'ın ilk bölümünü içeren çeşitli kötü amaçlı paketler PyPI'ye yüklendi.
  • Temmuz 2023 - Ağustos 2023: PyPI kötü amaçlı paketleri kaldırıp güvenlik topluluğu da oraya daha fazla dikkat göstermeye başlayınca, bu kez PyPI paketlerini çekmek yerine payload'ı doğrudan ileten çeşitli kötü amaçlı depolar GitHub'a yüklendi.
  • Kasım 2023 - günümüz: Benzer kötü amaçlı payload'lar içeren 100.000'den fazla depo tespit edildi ve sayı artmaya devam ediyor.

Kötü amaçlı yazılımın paket yöneticilerinden kaynak kodu yönetimine (SCM) kayışı

  • Paket yöneticileri ve SCM platformlarında gözlemlenen çok sayıdaki olay, bu kampanyanın PyPI'deki kötü amaçlı paketlerden GitHub'daki kötü amaçlı depolara kaymasının daha genel bir eğilimi yansıttığını gösteriyor.

Depo karıştırmaya karşı kendinizi nasıl korursunuz?

  • GitHub bilgilendirildi ve kötü amaçlı depoların çoğu silindi, ancak kampanya sürüyor ve tedarik zincirine kötü amaçlı kod enjekte etmeye yönelik saldırılar giderek daha yaygın hale geliyor.
  • Apiiro, bağlantılı kod tabanlarını izleyen bir kötü amaçlı yazılım tespit sistemi geliştirdi.
  • Saldırıları tespit etmek için çeşitli gelişmiş teknikler kullanıyor; bunlar arasında LLM tabanlı kod analizi, kodun tam yürütme akışı grafiğine ayrıştırılması, gelişmiş bir heuristics motoru, dinamik decoding, decryption ve deobfuscation yer alıyor.

GN⁺ görüşü

  • Bu makale, geliştiricilere GitHub depolarını kullanırken dikkat etmeleri gereken güvenlik tehditleri hakkında önemli bilgiler sunuyor.
  • Kötü amaçlı yazılımın yazılım tedarik zincirine nasıl sızdığını anlayarak, geliştiriciler ve güvenlik uzmanları daha güçlü savunma mekanizmaları kurabilir.
  • Bu tür saldırılar, geliştiricilerin güvenilir depoları seçme becerisinin yanı sıra CI/CD yapılandırmalarının doğruluğuna ve üçüncü taraf kodun güvenliğine olan bağımlılığı da vurguluyor.
  • Eleştirel bir bakışla değerlendirildiğinde, bu saldırılar GitHub gibi platformlardaki otomatik sistemlerin ve çok büyük ölçekli depo ekosisteminin iki ucu keskin bir kılıç olabileceğini gösteriyor.
  • Benzer işlevler sunan güvenlik araçları arasında SonarQube, Snyk ve WhiteSource bulunuyor; bunlar koddaki zafiyetleri tespit etmeye ve güvenliği güçlendirmeye yardımcı olabilir.
  • Bu teknolojiyi benimsemeden önce, kuruluşun güvenlik politikalarıyla uyumunu, uygulama maliyetini ve ekip üyelerinin teknik yetkinliğini değerlendirmek gerekir.
  • Bu teknolojinin sağlayabileceği faydalar arasında güvenliğin güçlenmesi ve riskin azalması yer alırken, potansiyel dezavantajlar arasında yeni sisteme ilişkin öğrenme eğrisi ve yönetim karmaşıklığı bulunur.

1 yorum

 
GN⁺ 2024-03-01
Hacker News görüşleri
  • Herkese açık depolardan kod çekerken dikkatli olmak ve bağımlılık ağacını doğrulamak önemli. Bu, herkese açık depolardaki kötü amaçlı yazılımların dil modelleri (Large Language Models, LLMs) gibi otomasyon araçlarını nasıl etkileyebileceği sorusunu gündeme getiriyor. Örneğin GitHub Copilot gibi araçlar, kodlama sorularına yanıt verirken yanlışlıkla kötü amaçlı yazılım içerebilir.
  • GitHub’ın, Usenet’in başarısız olduğu şekilde başarısız olmakta olduğu belirtiliyor. Herkes GitHub’da bir depo oluşturabiliyor ve resmi depolarla spamcıların depolarını ayırt etmenin bir yolu yok. Amazon “her şeyi satan mağaza” olmayı hedeflediğinde, ürünlerin çoğunun çöp olması sorunuyla karşılaştı. GitHub’ın “herkes için depo” mu yoksa “bu koda güvenilebilir mi” mi olduğuna dair bir kimlik oluşturması gerekiyor.
  • Tedarik zinciri sorununun ciddi olduğu dile getiriliyor. npm release’lerini hedeflemese de, proje izleme için socket.dev kullanılıyor. BrowserBox projesi yaklaşık 800 bağımlılık kullanıyor ve bunların 19’u üst düzey bağımlılık. Tüm bağımlılıkları npm’deki @browserbox namespace’i altında snapshot alıp güvenlik açıklarını takip etme ve yamalama yöntemi değerlendiriliyor.
  • Geliştiricilerin iş, hobi ve kişisel kullanım için en az üç ayrı ortamı ayırması gerektiği vurgulanıyor. Güvenilir depo ve sahiplerde bile kodu sandbox sanal makinelerde çalıştırmak akıllıca.
  • Küçük bir ekipte, haftalık indirme sayısı yüksek bir SDK geliştiriliyorsa; snyk, aikido.dev, renovate tabanlı çözümler ve benzerleri değerlendiriliyor. Bu araçların sorunu çözmeye gerçekten yardımcı olup olmayacağı net değil ve snyk’te yaşandığı gibi çok sayıda false positive ile uğraşmak zor.
  • curl ve sudo ile shell script üzerinden kurulum yönteminin yakında sona erip ermeyeceği merak ediliyor. Bu yöntem, makalede bahsedilen enfekte yazılımlarla yakından ilişkili.
  • npm’de --ignore-scripts seçeneği kullanılarak kötü amaçlı yazılım çalıştırılması engellenebilir.
  • Bir yıldan kısa bir süre önce Truva atı virüsü içeren depolar olduğu belirtiliyor.
  • Güvenlik sorunlarına dair güncel bir paylaşımın, LLM startup’larına fon sağlanmasını teşvik eden reklama dönüşmesi eleştiriliyor. Bu startup’lar güvenlik açığının yalnızca bir kısmını çözebilir ve çok sayıda startup ile sözleşme yapmak maliyet ve entegrasyon sorunları yaratabilir.
  • Sürekli güvenlik raporları doğrultusunda geliştirme ortamının güvenliği kademeli olarak iyileştiriliyor. VSCode geliştirme container’ları, GitHub Codespaces, OWASP yönergelerini okumak ve socket.dev ile npm/Python paketlerini incelemek gibi yöntemler deneniyor.