Araştırmacıların dört Alman şirketini hedef alan açık kaynak kodunun içinde saklandığını buldukları bir arka kapı, profesyonel bir sızma test cihazının işiydi. Test cihazı, müşterilerin dünya çapında milyonlarca yazılım projesi tarafından kullanılan genel depolardan yararlanan yeni bir saldırı sınıfına karşı direncini kontrol ediyordu. Ama kötü olabilirdi. Çok kötü.
Bağımlılık karışıklığı, bir araştırmacının Apple, Microsoft ve diğer 33 şirkete ait ağlarda seçtiği yetkisiz kodu yürütmek için kullanabileceğini gösterdiği Mart 2021’de ön plana çıkan yeni bir tedarik zinciri saldırısı biçimidir. Araştırmacı Alex Birsan, yeni saldırı formunu geliştirmek için 130.000$ böcek ödülü ve kredi aldı.
Birkaç hafta sonra, farklı bir araştırmacı Amazon, Slack, Lyft, Zillow ve diğer şirketlerin aynı tekniği kullanan saldırılarda hedef alındığını gösteren kanıtları ortaya çıkardı. 200’den fazla kötü amaçlı paketin doğaya salınması, Birsan’ın tasarladığı saldırının gerçek dünyadaki tehdit aktörlerine hitap ettiğini gösterdi.
Aradığınız bağımlılık bu değil
Bağımlılık karışıklığı, şirketlerin NPM, PyPI veya RubyGems gibi depolarda bulunan açık kaynak koduna olan güveninden yararlanır. Bazı durumlarda, şirket yazılımı, uygulamanın çalışması için gereken kod kitaplıklarını almak için bu kaynaklara otomatik olarak bağlanacaktır. Diğer zamanlarda, geliştiriciler bu sözde bağımlılıkları dahili olarak depolar. Adından da anlaşılacağı gibi, bağımlılık karışıklığı, bir hedefi kütüphaneyi yanlış yerden indirmeye yönlendirerek çalışır – dahili bir kaynaktan ziyade genel bir kaynak.
Bunu başarmak için bilgisayar korsanları, hedeflenen kuruluş tarafından dahili olarak depolanan kod bağımlılıklarının adlarını keşfetmek için JavaScript kodunu, yanlışlıkla yayınlanan dahili paketleri ve diğer kaynakları araştırır. Bilgisayar korsanları daha sonra kötü niyetli bir bağımlılık yaratır ve onu halka açık depolardan birinde barındırır. Kötü amaçlı pakete dahili paketle aynı adı vererek ve daha yüksek bir sürüm numarası kullanarak, bazı hedefler onu otomatik olarak indirecek ve yazılımı güncelleyecektir. Bununla, bilgisayar korsanları, hedeflerin güvendiği yazılım tedarik zincirine bulaşmayı ve hedefin veya kullanıcılarının kötü niyetli kod çalıştırmasını sağlamayı başardı.
Geçtiğimiz birkaç hafta içinde, iki güvenlik firmasından araştırmacılar, medya, lojistik ve endüstriyel sektörlerde dört Alman şirketi tarafından kullanılabilecek olanlara çok benzeyen bakımcı ve paket adlarını kullanan kod bağımlılıklarını izlediler. Paket adları ve ilgili bakımcı adları şunlardı:
- bertelsmannnpm; [email protected]
- boschnodemodüller; [email protected]
- stihlnodemodüller; [email protected]
- dbschenkernpm; [email protected]
Bu isimlere dayanarak, araştırmacılar paketlerin Bertelsmann, Bosch, Stihl ve DB Schenk’i hedef alacak şekilde tasarlandığı sonucuna vardı.
Her paketin içinde, hedefin kullanıcı adını, ana bilgisayar adını ve belirli dizinlerin dosya içeriklerini alan ve bunları HTTPS ve DNS bağlantıları aracılığıyla sızdıran karmaşık kodlar vardı. Kötü amaçlı paket daha sonra, saldırgan tarafından işletilen bir komuta ve kontrol sunucusuna aşağıdakileri içeren talimatları almak için rapor veren bir arka kapı kurar:
- C2 sunucusundan bir dosya indirin
- C2 sunucusuna bir dosya yükleyin
- Rastgele Javascript kodunu değerlendirin
- Yerel bir ikili dosya yürütün
- İşlemi silin ve sonlandırın
- Arka kapıyı C2 sunucusuna kaydedin
Kötü amaçlı paketleri bağımsız olarak keşfeden iki güvenlik firması olan JFrog ve ReversingLabs’tan araştırmacılar, güvenlik firması Snyk’in geçen ay bulduğu kötü amaçlı paketlerle aynı ailenin parçası olduklarını çabucak keşfettiler. Dosyaları ilk tespit eden Snyk olsa da, hedeflenen hedefi belirlemek için yeterli bilgiye sahip değildi.
Ters köşe
Çarşamba günü, hem JFrog hem de ReversingLabs burada ve burada bloglar yayınlamadan birkaç saat önce, Code White adlı bir penetrasyon testi butiği paketler için kredi aldı.
Firma, “Mükemmel analiziniz için Tnx” dedi. cıvıldamak bu, Snyk’e hitap etti ve geçen ayki blog gönderisine atıfta bulundu. “Endişelenmeyin, ‘kötü niyetli aktör’, müşteriler için sürekli saldırı simülasyonlarımızın bir parçası olarak bağımlılık karışıklığını araştırmakla görevlendirilen stajyerlerimizden 😎 biridir. Sorularınızı netleştirmek için: Güvenlik İstihbarat Hizmetimizin bir parçası olarak özel müşteriler için gerçekçi tehdit aktörlerini taklit etmeye çalışıyoruz ve iplik ve npm’yi destekleyen ‘kendi’ paket yöneticimizi getirdik.”
@snyksec https://t.co/UoshhgaDgx adresindeki mükemmel analiziniz için Tnx ve endişelenmeyin, “kötü niyetli aktör”, müşteriler için sürekli saldırı simülasyonlarımızın bir parçası olarak bağımlılık karışıklığını araştırmakla görevlendirilen stajyerlerimizden 😎 biridir. (1/2)
— Code White GmbH (@codewhitesec) 10 Mayıs 2022
Code White CEO’su David Elze, doğrudan bir mesajda, şirket stajyerinin paketleri, etkilenen şirketler tarafından açıkça yetkilendirilen meşru bir sızma testi uygulamasının bir parçası olarak oluşturduğunu ve yayınladığını söyledi.
Elze, “Müşterilerimizin isimlerini ifşa etmiyoruz, ancak özellikle, etkilenen şirketlerle yasal olarak sözleşme yaptığımızı ve bu gerçekçi saldırı senaryolarını simüle etmek için onlar adına hareket ettiğimizi onaylayabilirim” dedi.
Code White’ın katılımı, Snyk tarafından keşfedilen ve daha sonra JFrog ve ReversingLabs tarafından gözlemlenen bağımlılık karışıklığı saldırılarının, bu vektörün gerçek dünya istismarlarının arttığının bir işareti olmadığı anlamına gelir. Yine de bu saldırı sınıfının vahşi doğada asla kullanılmadığını ve bir daha da olmayacağını düşünmek yanlış olur.
Mart ayında güvenlik firması Sonatype, npm’de yayınlanan ve Amazon, Slack, Lyft ve Zillow’u hedef alan kötü amaçlı paketleri ortaya çıkardı. Bu paketler, bir hata ödül programının veya iyi niyetli bir kavram kanıtlama uygulamasının parçası olduklarını belirten hiçbir sorumluluk reddi beyanı içermiyordu. Dahası, paketler, bash geçmişi ve Linux kullanıcı parolası verilerinin depolandığı dizin olan /etc/shadow içeriği de dahil olmak üzere hassas kullanıcı bilgilerini sızdırmak üzere programlandı. Bazı durumlarda, paketler ayrıca bir ters kabuk açtı.
JFrog ayrıca, geliştiricilerin bilgisayarlarından kişisel bilgileri çalan çeşitli Azure projeleri için npm’de daha önce bahsedilen 200’den fazla paketin varlığı da dahil olmak üzere, vahşi doğada kötü niyetli saldırılar tespit etti.
Bu, bu son keşfin yanlış bir alarm olmasına rağmen, kötü niyetli bağımlılık karışıklık saldırılarının olduğu anlamına gelir. yapmak vahşi doğada meydana gelir. Başarılı birinden kaynaklanabilecek korkunç sonuçlar göz önüne alındığında, kuruluşlar sistemlerini test etmek için zaman ayırmalı veya tümü açık kaynak ekosistemlerini güvenlik açıkları ve istismarlar için izleyen Snyk, JFrog, ReversingLabs veya Sonatype gibi şirketlerin hizmetlerini kullanmalıdır.