Araştırmacılar, yazılım tedarik zinciri saldırılarına yönelik yeni bir değişiklikle, kötü amaçlı yazılımı derlenmiş kodun içine gizleyen ve olağan tespit önlemlerinden kaçmasına olanak tanıyan bir Python paketi keşfettiler.

17 Nisan’da araştırmacılar, Python açık kaynak deposu PyPI yöneticilerine “fshec2” adlı bir paketi bildirdi. Kötü amaçlı paketler PyPI’da yeni veya özellikle nadir değildir, ancak birçoğunun aksine, fshec2 tüm kötü amaçlı işlevlerini derlenmiş kodunun içinde barındırdığından kötü haber olarak algılanmasını zorlaştırır.

PyPI yöneticileri paketi hemen kaldırdı. ReversingLabs’de tersine mühendis olan Karlo Zanki, bunu yaparken, “bu tür bir saldırıyı ilginç olarak kabul ettiler ve daha önce görülmediğini kabul ettiler” diye yazdı. 1 Haziran’da yayınlanan rapor.

ReversingLabs’de tehdit istihbaratı savunuculuğu direktörü Ashlee Benge, “Bu davranış biraz daha karmaşık ve saldırganların geliştiğini ve piyasaya sürülen daha iyi tespitlere dikkat ettiğini gösteriyor” diyor ve ekliyor “muhtemelen Gelecekte bu tür saldırıların arttığını görmeye devam edeceğiz.”

fshec2 paketini açma

fshec2’nin dehası, iyi hacker hijyeninin temel kurallarını nasıl ortadan kaldırdığıdır.

Örneğin, kötü adamlar Web’de aleni kötü amaçlı yazılımları dağıtmama eğilimindedir – bu beceriksizce olur. Bunun yerine, bir hedef bilgisayara bağlandıktan sonra C2 sunucularına geri bağlanan ve kötü amaçlı kodun indirilmesini tetikleyen araçlar yerleştiriyorlar – bu, fidye yazılımı, bilgi hırsızı olabilir, adını siz koyun.

Ayrıca, gerçek niyetlerini gizlemek için, bilgisayar korsanları genellikle kod karartmayı kullanır – iyi adamların yakalayabileceği herhangi bir ipucunu alır ve onu spagetti’ye dönüştürür.

Buna karşılık, fshec2 cephesi, kötü niyetli işlevlerini yükledi ve gizleme araçlarına hiç güvenmiyordu.

Paket üç dosya içeriyordu — iki istisnai olmayan kaynak kodu dosyası ve üçüncü, daha ilginç bir dosya, “full.pyc.” Full.pyc içinde, araştırmacıların açıkladığı gibi, kullanıcı adlarını, ana bilgisayar adlarını ve dizin listelerini toplama ve komutları indirme dahil olmak üzere “analiz ettiğimiz diğer kötü amaçlı PyPI paketlerinde gözlemlenen bazı yaygın kötü amaçlı işlevleri yerine getiren” “get_path” adlı bir yöntem vardı. uzak bir sunucudan.

Fshec2, get_path’in kötü niyetliliğini gizlemeyi nasıl başardı? Buradaki can alıcı nokta, PYC dosyalarının kaynak kodu değil, derlenmiş bytecode içermesidir.

Bytecode Sorunu

Bayt kodu, Python Sanal Makinesi için bir dizi talimat olarak derlenmiş bir Python temsilidir. Basitleştirilmiş bir anlamda, kaynak kodu ile bir makine ikili dosyası arasında bir yerde bulunur.

Ham bayt kodu insan gözü için uygun değildir; örneğin get_path, fshec2 içinde okunabilir biçimde bulunamaz. Ve böylece yazılım tarayıcılarının yanından da geçebilir.

Benge, PyPI’nin bayt kodunda gizlenmiş kötü amaçlı yazılımları henüz hesaba katmadığını açıklıyor, çünkü “son on yılda bu dosyalar giderek daha karmaşık ve devasa hale geldi. Bu kadar büyük bir dosyayı taramaya çalışmak genellikle gerçekten yavaş. bu ikilem: kullanıcınızın ne kadar gecikme yaşamasını istiyorsunuz?”

Üçüncü taraf güvenlik yazılımlarına gelince, “başka bir sorun da dosya türü. Bu noktada size kaç tane dosya türü olduğunu bile söyleyemem – her türden belirsiz olanlar var. Ve çoğu zaman, güvenlik çözümleri” Aslında daha az görülen türlere bakma yeteneklerine sahip değiliz.”

PyPI: Siber Saldırganlara Karşı Mücadele

Benge, “Şu anda, zavallı PyPI gerçekten ateş altında,” diyor. “Genel olarak bu tür saldırılarda büyük bir artış oldu ve kötü amaçlı Python kitaplıklarının kötü amaçlı yazılım sunmak için kullanıldığını görüyoruz.”

Özellikle geçtiğimiz yıl, tehdit aktörleri yeni tür kötü amaçlı Python paketleri icat ediyor ve hatta kötü mallarının repoda açıkça reklamını yapıyor. PyPI için kötü haberler o kadar sık ​​geldi ki, bu ayın başlarında güvenlik topluluğu rutin bir kapatmayı büyük bir siber saldırı olarak yorumladı.

Yanıt olarak, Python Software Foundation güvenliğe her zamankinden daha fazla yatırım yapıyor ve yeni roller için özel güvenlik uzmanları. Ve geçen hafta, PyPI açıkladı yıl sonuna kadar, proje ve organizasyonları yükleyen ve sürdüren kullanıcıların hesaplarını iki faktörlü kimlik doğrulama ile korumaları gerekecek.

Benge bu gelişmeler konusunda iyimser. “Artık kötü niyetli bir kitaplığı PyPI’ye göndermek ve birinin onu indirmesini beklemekten biraz daha zor hale geliyor. Şimdi bu adamların biraz daha sıkı çalışması gerektiğini görüyoruz.”



siber-1