Microsoft’un PowerShell Galerisi, çevrimiçi depoya kötü amaçlı paketler yüklemek isteyen saldırganlara karşı nispeten zayıf korumaları nedeniyle bir yazılım tedarik zinciri riski sunar. Aqua Nautilus’taki araştırmacılara göre.
Kısa bir süre önce deponun paket adları ve sahipleriyle ilgili politikalarını test ettiler ve bir tehdit aktörünün meşru paketleri taklit etmek için bunları kolayca kötüye kullanabileceğini ve kullanıcıların bir paketin gerçek sahibini belirlemesini zorlaştırdığını gördüler.
Dikkatle kullanın
Aqua’nın baş güvenlik araştırmacısı Yakir Kadkoda, “Kuruluşunuz galerideki PowerShell modüllerini kullanıyorsa, yalnızca imzalı PowerShell modüllerini kullanmanızı, güvenilir özel depolardan yararlanmanızı ve kayıt defterlerinden yeni modüller/komut dosyaları indirirken dikkatli olmanızı öneririz” diyor. “İkinci olarak, PowerShell Galerisi’ne benzer platformlara güvenlik önlemlerini artırmak için gerekli adımları atmalarını tavsiye ediyoruz. Örneğin, geliştiricilerin adları mevcut olanlara çok benzeyen modüller yüklemesini engelleyen bir mekanizma uygulamalıdırlar.”
Kadkoda, Microsoft’un sorunları kendilerine bildirildiğinde kabul ettiğini ve iki ayrı sorunu ele aldığını iddia ettiğini söylüyor. 16 Ağustos itibariyle “Ancak kontrol etmeye devam ettik ve bu sorunlar hala var” diyor.
Microsoft, yorum arayan bir Karanlık Okuma isteğine hemen yanıt vermedi.
PowerShell Galerisi, PowerShell kod modüllerini ve sözde istenen durum yapılandırması (DSC) kaynaklarını bulmak, yayınlamak ve paylaşmak için yaygın olarak kullanılan bir havuzdur. Kayıt defterindeki paketlerin birçoğu Microsoft, AWS ve VMware gibi güvenilir varlıklardan, diğerleri ise topluluk üyelerindendir. Yalnızca bu yıl depodan şimdiye kadar 1,6 milyardan fazla paket indirildi.
Typosquatting’e Açık
Aqua’nın keşfettiği sorunlardan biri, tehdit aktörlerinin son yıllarda kullanıcıları halka açık yazılım havuzlarından kötü amaçlı paketler indirmeleri için kandırmak için giderek daha fazla kullandıkları bir aldatma tekniği olan yazım hatasına karşı herhangi bir korumanın olmamasıydı. Typosquatters tipik olarak, npm, PyPI ve Maven gibi genel havuzlardaki popüler ve yasal paketlerin adlarına fonetik olarak benzeyen adlar kullanır. Daha sonra bu paketleri ararken yazım hataları yapan ve bunun yerine kötü amaçlı paketlerini indiren kullanıcılara güvenirler. Teknik, yaygın bir yazılım tedarik zinciri saldırı vektörü haline geldi.
Aqua, PowerShell Galerisi’nin politikalarının bu tür bir aldatmacaya karşı koruma sağlamadığını gördü. Örneğin, havuzdaki çoğu Azure paketinin adı, “Az.
Aqua, paket geliştiricilerin paketlerini adlandırırken kullanabilecekleri öneklerde herhangi bir kısıtlama olmadığını buldu. Örneğin, Aqua’nın araştırmacıları Aztable’ın neredeyse mükemmel bir kopyasını oluşturup Az.Table olarak etiketlediklerinde, kavram kanıtı (PoC) kodunu PowerShell Gallery’ye yüklemekte hiç sorun yaşamadılar. Aqua’nın PoC’ye dahil ettiği geri arama kodu, çeşitli bulut hizmetlerindeki birkaç ana bilgisayarın paketi yalnızca ilk birkaç saat içinde indirdiğini gösterdi.
Kadkoda, “Bize göre, diğer kayıtların daha fazla koruyucu önlemi var” diyor. “Örneğin, Microsoft’un başka bir kayıt platformu olan npm, yazım hatasıyla mücadele için özel olarak tasarlanmış ‘Moniker’ kurallarını kullanıyor” diyor. Bir örnek: “react-native” adlı bir paket npm’de zaten mevcut olduğundan, hiç kimse modülünü “reactnative”, “react_native” veya “react.native” gibi varyasyonlarla etiketlemez.
Sahibinin Kimliğini Sahtekarlığa Uğratmak Kolay
Aqua’nın PowerShell Galerisi ilkeleriyle ortaya çıkardığı başka bir sorun da, bir tehdit aktörünün Yazar(lar), Açıklama ve Telif hakkı alanları gibi önemli ayrıntıları taklit ederek kötü amaçlı bir paketi meşru göstermesine nasıl izin verdiğidir. Aqua, blog gönderisinde “Bir saldırgan, PowerShell Galerisi’nde bir kullanıcı oluştururken herhangi bir adı özgürce seçebilir” dedi. “Bu nedenle, PowerShell Galerisi’nde bir PowerShell modülünün gerçek yazarını belirlemek zorlu bir görev teşkil ediyor.”
Aqua, PowerShell Gallery’de bu paketleri bulan hiçbir şeyden şüphelenmeyen kullanıcıların, kötü amaçlı paketin yazarının Microsoft gibi meşru bir varlık olduğuna kolayca inandırılabileceğini söyledi.
Buna ek olarak, Aqua’nın analizi, PowerShell Gallery’deki bir API’nin temel olarak tehdit aktörlerine kayıt defterinde listelenmemiş modülleri ve potansiyel olarak bu modüllerle ilişkili tüm hassas verileri bulmaları için bir yol sağladığını gösterdi. Tipik olarak, listelenmemiş bir modül özeldir ve bir saldırganın havuzda arama yaparak bulabileceği bir şey olmamalıdır. Aqua araştırmacıları, yalnızca bu tür modülleri çıkaramadıklarını, aynı zamanda büyük bir teknoloji şirketine ait hassas sırlar içeren bir modül de bulduklarını keşfettiler.
Kadkoda, tehdit aktörlerinin kötü amaçlı paketi PowerShell Gallery’ye gizlice sokmak için bu zayıflıklardan yararlandığına dair hiçbir kanıt olmadığını söylüyor. Ancak tehdit gerçektir. Kadkoda, “Microsoft’a göre galeriye yüklenen PowerShell modüllerini/komut dosyalarını taradıklarını unutmamak önemlidir” diyor. “Bu, kötü niyetli yüklemeleri engellemek için iyi bir önlem. Ancak, Microsoft’un çözümü ile saldırganlar arasında bir kedi-fare oyunu olmaya devam ediyor.”