Çarşamba, Haziran 19, 2024
Ana SayfaTeknoloji HaberleriPyPI kullanıcılarına yönelik son saldırı, dolandırıcıların daha da iyiye gittiğini gösteriyor

PyPI kullanıcılarına yönelik son saldırı, dolandırıcıların daha da iyiye gittiğini gösteriyor

Bir bilgisayar ekranındaki kurukafa ve çapraz kemikler birler ve sıfırlarla çevrilidir.

Python programlama dilinin resmi kod deposu olan PyPI’ye (Python Paket Dizini) yakın zamanda 400’den fazla kötü amaçlı paket yüklendi.

Yakın zamanda güvenlik firması Phylum tarafından bulunan 451 paketin tümü, neredeyse aynı kötü amaçlı yükleri içeriyordu ve hızlı bir şekilde art arda gelen patlamalar halinde yüklendi. Paketler yüklendikten sonra, virüslü cihazda bir tarayıcı her açıldığında yüklenen kötü amaçlı bir JavaScript uzantısı oluşturur; bu, kötü amaçlı yazılımın yeniden başlatmalarda kalıcı olmasını sağlayan bir hiledir.

JavaScript, virüs bulaşmış geliştiricinin panosunu kendisine kopyalanabilecek herhangi bir kripto para birimi adresi için izler. Bir adres bulunduğunda, kötü amaçlı yazılım bu adresi saldırgana ait bir adresle değiştirir. Amaç: geliştiricinin farklı bir tarafa yapmayı amaçladığı ödemeleri engellemek.

Kasım ayında Phylum, aynı şeyi gizlice yapmak için yüksek düzeyde kodlanmış JavaScript kullanan, yüzlerce kez indirilen düzinelerce paket belirledi. Özellikle:

  • Sayfada bir metin alanı oluşturuldu
  • Herhangi bir pano içeriği yapıştırıldı
  • Yaygın kripto para birimi adres biçimlerini aramak için bir dizi normal ifade kullanıldı
  • Tanımlanan tüm adresler, daha önce oluşturulan metin alanında saldırgan tarafından kontrol edilen adreslerle değiştirildi
  • Metin alanını panoya kopyaladı

Phylum Baş Teknik Sorumlusu Louis Lang, Kasım ayı gönderisinde, “Herhangi bir noktada güvenliği ihlal edilmiş bir geliştirici bir cüzdan adresini kopyalarsa, kötü amaçlı paket adresi saldırganın kontrolündeki bir adresle değiştirecektir.” “Bu gizli bulma/değiştirme, son kullanıcının istemeden parasını saldırgana göndermesine neden olacak.”

Yeni gizleme yöntemi

En son kampanya, yüklenen kötü amaçlı paketlerin sayısını büyük ölçüde artırmanın yanı sıra izlerini kapatmak için önemli ölçüde farklı bir yol kullanıyor. Kasım ayında açıklanan paketler, JavaScript’in davranışını gizlemek için kodlamayı kullanırken, yeni paketler, aşağıdaki tabloda bulunan Çince dil ideogramlarının rastgele 16 bitlik kombinasyonları gibi görünen işlevler ve değişken tanımlayıcıları yazıyor:

Unicode kod noktası ideograf Tanım
0x4eba Adam; insanlar; insanlık; başkası
0x5200 bıçak; Eski madeni para; ölçüm
0x53e3 ağız; açık uç; giriş kapısı
0x5973 kadın, kız; kadınsı
0x5b50 çocuk; meyve, tohum
0x5c71 dağ, tepe, zirve
0x65e5 güneş; gün; gündüz
0x6708 ay; ay
0x6728 ağaç; ahşap, kereste; ahşap
0x6c34 su, sıvı, losyon, meyve suyu
0x76ee göz; bak, gör; bölüm, konu
0x99ac atış; soyadı
0x9a6c atış; soyadı
0x9ce5 kuş
0x9e1f kuş

Bu tabloyu kullanarak, kod satırı

''.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)]))

yerleşik işlevi oluşturur chr ve işlevi tamsayılar listesine eşler [119, 105, 110, 51, 50]. Ardından satır, onu en sonunda oluşturan bir dizgede birleştirir. 'win32'.

Phylum araştırmacıları açıkladı:

Bu tür çağrılardan bir dizi görebiliriz. oct.__str__()[-3 << 0]. bu [-3 << 0] değerlendirir [-3] Ve oct.__str__() diziye göre değerlendirilir '<built-in function oct>'. Python’un dizin operatörünü kullanma [] ile bir dize üzerinde -3 bu durumda dizinin sonundaki 3. karakteri alır '<built-in function oct>'[-3] değerlendirecek 'c'. Buradaki diğer 2’de bununla devam etmek bize 'c' + 'h' + 'r' ve karmaşık bit düzeyinde aritmetiği basitçe değerlendirmek, bize şu kalıyor:

''.join(map(getattr(__builtins__, 'c' + 'h' + 'r'), [119, 105, 110, 51, 50]))

bu getattr(__builtins__, 'c' + 'h' + 'r') sadece bize yerleşik işlevi verir chr ve sonra haritalar chr int listesine [119, 105, 110, 51, 50] ve sonra hepsini bir dizide birleştirir ve sonuçta bize verir. 'win32'. Bu teknik, kodun tamamı boyunca devam eder.

Araştırmacılar, yalnızca kodun çalıştığında ne yaptığını gözlemleyerek, son derece karmaşık bir kod görünümü verirken, tekniğin nihayetinde yenilmesinin kolay olduğunu söyledi.

En son kötü amaçlı paket grubu, geliştiricilerin şu meşru paketlerden birini indirirken yaptıkları yazım hatalarından yararlanmaya çalışır:

  • bitcoinlib
  • ccxt
  • kripto karşılaştırma
  • kripto besleme
  • freqtrade
  • selenyum
  • solana
  • yılan
  • web yuvaları
  • finans
  • pandalar
  • matplotlib
  • aiohttp
  • güzel çorba
  • tensör akışı
  • selenyum
  • cılız
  • kolorama
  • scikit-öğren
  • meşale
  • pygame
  • pyinstaller

Örneğin meşru vyper paketini hedefleyen paketler, tek bir karakteri atlayan veya çoğaltan ya da doğru ismin iki karakterini aktaran 13 dosya adı kullandı:

  • yper
  • vper
  • çok
  • vızıltı
  • vvyper
  • vyyper
  • vıcık vıcık
  • dolandırıcı
  • vyperr
  • yvper
  • vpyer
  • vyepr
  • vypre

Araştırmacılar, “Bu tekniğin bir komut dosyasıyla otomatikleştirilmesi son derece kolaydır (bunu okuyucu için bir alıştırma olarak bırakıyoruz) ve meşru paketin adının uzunluğu arttıkça, olası yazım hataları da artar” diye yazdı. “Örneğin, sistemimiz 38 yazım hatası tespit etti. cryptocompare adlı kullanıcı tarafından neredeyse aynı anda yayınlanan paket pinigin.9494

Meşru paketlerin adlarına çok benzeyen meşru kod havuzlarında kötü niyetli paketlerin mevcudiyeti, en az 2016 yılında bir üniversite öğrencisinin meşru paketlerin biraz değiştirilmiş adlarını içeren PyPI, RubyGems ve NPM havuzlarına 214 bubi tuzaklı paket yüklediği zamana kadar uzanır. . Sonuç: Sahte kod, 17.000’den fazla ayrı alanda 45.000’den fazla kez çalıştırıldı ve yarısından fazlasına güçlü yönetici hakları verildi. Sözde yazım hatası saldırıları o zamandan beri gelişti.

Phylum araştırmacılarının bulduğu 451 kötü amaçlı paketin tümünün adları blog yazısında yer alıyor. Hedeflenen yasal paketlerden birini indirmeyi amaçlayan herhangi birinin, istemeden kötü niyetli bir görsel ikiz elde edip etmediğini tekrar kontrol etmesi kötü bir fikir değildir.

RELATED ARTICLES

Popüler Konular