PyPI paket yöneticisi: 451 paket kripto para birimini çalmaya çalışıyor

bencede

New member


  1. PyPI paket yöneticisi: 451 paket kripto para birimini çalmaya çalışıyor

Python paket yöneticisi PyPI’da kripto para birimini çalmak için tasarlanmış 450’den fazla kötü amaçlı kod paketi ortaya çıktı. Yazılım tedarik zincirinde güvenliğe odaklanan Phylum şirketi, Windows’ta Chromium için panodaki cüzdan adreslerini değiştiren bir uzantı yükleyen paketleri analiz etti.


Yazım hataları içeren şifreleme paketleri


Saldırı yazım hatasına dayalıdır: paket adları normal Python paketlerine benzer, ancak yazımda eksik harfler veya fazladan karakterler gibi küçük değişiklikler getirir. sadece ne için vyperEthereum Virtual Machine (EVM) için programlama dili paketi olan Phylum, vypr Değin vyperr kurmak.


package gibi daha uzun paket adları için cryptocompare CryptoCompare API aracılığıyla kripto para birimlerinin fiyat karşılaştırması için, PyPI’de kasıtlı yazım hataları içeren 38 değişken ortaya çıktı.

Panodaki şifreleme adresleri


Tüm PyPI paketleri, Kasım ayında keşfedilen birkaç düzine PyPI paketi dalgası tarafından kullanılan aynı saldırı vektörüne dayanıyor: Kötü amaçlı yazılım, Windows’ta Chromium için bir JavaScript uzantısı oluşturuyor. Ardından, motoru kullanan tarayıcılara (Google Chrome, Microsoft Edge, Opera ve Brave) bağlantılar arar ve parametreyle bulunan bağlantıları genişletir. --load-extension ve tarayıcı başlangıcında çalıştırılacak uzantının yolu.

Uzantıdaki JavaScript kodu, işlemleri yönlendirmek için panodaki kripto para birimi cüzdan adreslerini sabit cüzdan adresleriyle değiştirir.


Özenle örtülü


Arşivlenmiş uzantıdaki kodun okunması kolayken ve örneğin işlev adı açıkken checkWalletAddresses() kullanıldığında, uzantıyı oluşturan ve tarayıcı kısayollarını yöneten PyPI paketlerindeki Python kodu ayrıntılı bir şekilde gizlenmiştir. Birincisi, değişkenlerin ve işlevlerin adları için Çince karakterler kullanır: her ad, rastgele bir araya getirilmiş gibi görünen 16 karakterden oluşur.







Çin ideogramları ve gizlenmiş işlevler sayesinde, Phylum’un yayınladığı ekran görüntüsünden daha yüksek çözünürlükte kodu okumak da zor olacaktır.


(Resim: Filum)



Gerçek kod, sırayla aşağıdaki gibi yöntemler kullanılarak oluşturulan bireysel karakterlerin bir araya getirilmesiyle oluşturulur: __str__ onlar örtülü. İkinci yöntem, Python nesnelerini dizelere dönüştürür. Bundan, kötü amaçlı kod, bitsel işlemler nedeniyle okunması daha zor olan dizin aracılığıyla tek tek harflere erişir.


''.join(map(getattr(__builtins__, oct.__str__()[-3 << 0] + hex.__str__()[-1 << 2] + copyright.__str__()[4 << 0]), [(((1 << 4) - 1) << 3) - 1, ((((3 << 2) + 1)) << 3) + 1, (7 << 4) - (1 << 1), ((((3 << 2) + 1)) << 2) - 1, (((3 << 3) + 1) << 1)]))


c harfi bir önceki kod satırının başındadır. oct.__str__()[-3 << 0] yazılı: Python dönüştürür oct.__str__() ipte <built-in function oct> um, sondan bir önceki harfi (bu noktada bitsel kaydırma 0’dır) c’dir. Bu da komutun başlangıcıdır chrbir sayıyı bir karaktere dönüştürmek için. Dönüştürülecek sayıların kendileri, bitsel işlemlerle karıştırılmıştır. Çözüldükten sonra, yukarıdaki satır dosyaya yönlendirir. chr– Sayı dizisine ilişkin komut [119, 105, 110, 51, 50] sonunda neyden win32 sonuçlar.

Saldırıyla ilgili daha fazla ayrıntı, Phylum’un bulduğu paketlerin adlarını listeleyen ve çoğu kripto para birimiyle ilgili PyPI paketlerini hedefleyen blogunda bulunabilir.

Gönderiye yapılan bir güncelleme, saldırının muhtemelen hala devam ettiğini ve aynı saldırı vektörünü kullanan ek yazım hatası paketlerinin PyPI’da göründüğünü gösteriyor.


(rm)



Haberin Sonu
 
Üst