Bilgisayar korsanları kötüye kullanma python değerlendirme/yürüt


Tehdit aktörleri, PYPI’daki masum görünümlü paketlerde kötü niyetli yükleri gizlemek ve yürütmek için yerel değerlendirme ve yürütme işlevlerini giderek daha fazla kötüye kullanıyor.

Güvenlik araştırmacıları, Hexora gibi statik analiz kütüphanelerinin birçok gizleme tekniğini tespit edebilse de, saldırganların basit tarayıcıların ötesinde zararlı kodu kaymanın yollarını yenilemeye devam ettikleri konusunda uyarıyorlar.

Python paketlerini hedefleyen tedarik zinciri saldırıları arttı ve son beş yılda PYPI’da 100’den fazla olay bildirildi.

Tipik bir senaryoda, bir düşman, reklamı yapılan işlevlerini koruyan ancak gizli kötü amaçlı rutinleri enjekte eden bir truva atı kütüphanesi yükler.

En basit kötü niyetli snippet zararsız görünüyor:

python# Naïve abuse of exec and eval
exec("print('Hello from malicious code!')")
result = eval("2 + 2")

Paket kullanıcılar tarafından içe aktarıldığında, bu rutinler kimlik bilgilerini çalabilir, geri çekilenleri ortaya çıkarabilir veya son kullanıcıları uyarmadan ek kötü amaçlı yazılımlar indirebilir.

Çoğu güvenlik aracı, Python’un değerlendirme veya yürütme işlevlerinin manuel inceleme için doğrudan kullanımını işaretler. Bu buluşsal yöntemleri atlamak için, saldırganlar çeşitli şaşkınlık hileleri kullanır:

Latin harflerini görsel olarak benzer Unicode karakterleriyle değiştirerek, işlev adı temel tarayıcılar için tanınmaz hale gelir.

Bu basit ikame, altta yatan davranışı değiştirmeden saf desen eşleşmesini yener.

Buildins modülünün içe aktarılması veya takviyesi doğrudan referansları şaşırtır. Bir saldırgan, dahili ad alanını kısa bir değişken adına atayabilir ve açık modül adları için aramaları atlayarak yürütme işlevini bu takma ad aracılığıyla çağırabilir.

Dinamik öznitelik arama rutinlerini kullanarak, saldırganlar çalışma zamanında işlev adlarını birleştirir. Yürütme işlevinin adını yeniden yapılandırmak için dize parçalarını dilimleyebilir, birleştirebilir, tersine çevirebilir veya birleştirebilirler, bu da statik dize-arama sezgisel yöntemlerine görünmez hale getirebilirler.

Tehdit aktörleri, basit bir ithalat ifadesinden ziyade, genellikle Python’un çift açılan ithalat işlevinden veya Importlib çerçevesinden yararlanır.

Ayrıca, Sistem Modülleri Önbelleği veya Global Ad alanı eşlemesi aracılığıyla yerleşik ad alanlarına erişebilir ve basit tarayıcıların tipik bir içe aktarma yapısını tanımasını önleyebilirler.

Bir kod snippet’ini yürütülebilir bir kod nesnesine derleyerek ve daha sonra bir işlev olarak somutlaştırarak, rakipler tamamen değerlendirme veya yürütme işlevlerine yönelik çağrıları tamamen ortadan kaldırır.

Bu teknik, derleme çağrısını dinamik dize işlemlerinin arkasında gizleyerek daha da gizlenebilir.

İşlev çağrısının ötesinde, kötü niyetli aktörler genellikle Base64, ROT13, ZLIB veya Python’un mareşalini kullanarak yüklerini kodlar veya sıkıştırır – daha sonra bunları çalışma zamanında kod çözer ve yürütür.

Bu katmanlı gizleme, basit soyut sözdizimi ağacı ayrıştırma veya desen eşleştirme ile tespit yapar.

Hexora gibi statik analiz araçları dize işlemlerini değerlendirir ve gerçek yürütme çağrılarını yüksek güvenle işaretler.

Bununla birlikte, statik yöntemler tek başına yeni gizleme tekniklerini kaçırabilirken, dinamik kum havuzu kaynak yoğun ve risk yan etkileri olabilir.

Makine öğrenimi ve büyük dil modeli tabanlı dedektörler ek kapsam sunar, ancak sahte pozitifler, yanlış negatifler ve ölçeklendirme maliyetlerinden muzdariptir.

Güvenlik uzmanları derinlemesine bir savunma yaklaşımı önerir: sağlam statik analizörleri, hafif dinamik enstrümantasyonu, hedefli makine öğrenme modellerini ve insan incelemesini birleştirin.

Sadece tespit teknikleri katmanlama ve PYPI’nin proaktif izlenmesini sürdürerek kuruluşlar giderek daha karmaşık tedarik zinciri tehditlerinin önünde kalabilir.

Bu haberi ilginç bul! Anında güncellemeler almak için bizi Google News, LinkedIn ve X’te takip edin!



Source link