Microsoft’un Tehdit İstihbarat Merkezi, kötü amaçlı yazılım analistlerinin pas ikili dosyalarında gizli kötü amaçlı kodları tanımlamasına yardımcı olmak için Rift adlı yeni bir araç yayınladı. Pust, hız ve bellek güvenliği için daha popüler hale gelirken, aynı nitelikler Rust ile yazılmış kötü amaçlı yazılımları analiz etmeyi zorlaştırır. Rift, bu karmaşıklığı kesmek ve işi kolaylaştırmak için tasarlanmıştır.
Rift Statik Analizörüne Genel Bakış (Kaynak: Microsoft)
Pas kötü amaçlı yazılımları analiz etmek neden zordur?
Mücadeleyi göstermek için Microsoft bir test yaptı. C ++ ve Rust’ta basit bir indirici yazdılar. Her ikisi de aynı işi yaptı: veri indirin ve kaydedin. Sonra ikili dosyaları karşılaştırdılar. C ++ versiyonunun 100 altında işlevi vardı ve ikili 20 kb’nin altındaydı. Pas versiyonunun yaklaşık 10.000 fonksiyonu ve 3 MB’lık boyutu vardı.
Microsoft Araştırmacılar, “Pasta yazılmış programlar tipik olarak tüm bağımlılıkları doğrudan yürütülebilir ürünlere yerleştirerek istatistiksel olarak bağlantılıdır. Sonuç olarak, ikili dosyalar yüksek miktarda işlevle daha büyüktür ve analistlerin üçüncü taraf kütüphane kodu ile saldırgan yazılı mantık arasında birinci ayırt etmelerini gerektirir,” diye açıkladı Microsoft araştırmacıları.
Rift Nasıl Çalışır?
Rift’in üç bölümü var:
- Statik Analizör: bir IDA Pro eklentisi. Meta verileri bulmak için ikili okur: Rust Derleyici Versiyonu, Bağımlılıklar, Hedef Platform. Bunu bir JSON dosyasına kaydeder.
- Jeneratör: bir python betiği. Doğru derleyiciyi ve kütüphaneleri indirir, imzalar oluşturur ve ikili farklılıklar çalıştırır. Kargo, rustup, altıgen ışın aletleri ve Diaphora kullanır.
- Diff Uygulama: Başka bir Ida Pro eklentisi. Fark sonuçlarını okur veya imzalar flört eder, daha sonra IDA’nın içine ek açıklamalar uygular, böylece analistler kütüphane işlevlerini kolayca tespit edebilir.
Araştırmacılar, “Şu anda, eklentiler yalnızca IDA Pro için geliştirildi ve IDA Pro> = 9.0’da test edildi. Rift jeneratörü Windows 10, 64 bit üzerinde test edildi” dedi.
Rift içinde desen eşleşmesi
Rift, analistlerin pas ikili dosyalarında kütüphane kodunu lekelemelerine yardımcı olmak için iki ana teknik kullanır: flört imzaları ve ikili fark. Flört imzaları hızlı ve güvenilirdir. Pas kütüphanelerinden bilinen işlevleri yüksek doğrulukla eşleştirir ve nadiren yanlış pozitifler üretirler. Ancak, yalnızca kötü amaçlı yazılımdaki kod orijinal kütüphane koduna çok yakın olduğunda çalışırlar.
Hafifçe değişen işlevleri yakalamak için Rift de ikili farklılık kullanır. Bu işlem, derlenen pas kütüphanelerini benzerlikler bulmak için kötü amaçlı yazılım ikili ile karşılaştırır. İkili fark flört imzalarından daha esnektir, ancak tamamlanması çok daha uzun sürer, bazen birkaç saat gerektirir.
Rift flört imzaları uygulayarak başlar. Sonra kaçırılan bir şey bulmak için ikili farklılıklar çalışır. Her iki adımdan sonra, eklenti analistlerin sonuçları doğrudan IDA Pro’daki incelemelerine ve etiketlemelerine yardımcı olur, böylece gerçekten önemli olan koda odaklanabilirler.
Gerçek Dünya Testleri
Microsoft, Ralord fidye yazılımı üzerinde Rift’i denedi. Araç derleyici bilgi ve bağımlılıkları çekti, imzalar yaptı ve bunları uyguladı. IDA’da, ana işlevdeki çoğu kütüphane kodu doğru bir şekilde tanımlandı. Bu sadece şüpheli kodu incelemek için bıraktı.
Ayrıca Spica adında bir arka kapıyı da test ettiler. Hem flört hem de farklılıklar kullandılar. Flirt’in kaçırdığı parçaları, farklılaşmayı doldurduğu durumlarda. Bu, analizi daha pürüzsüz hale getirmeye yardımcı oldu.
Rift GitHub’da ücretsiz olarak kullanılabilir.
Okumalı:
Temel açık kaynaklı siber güvenlik araçları hakkında bilgi sahibi olmak için Net Security Reklamsız Aylık Haber Bülteni’ne abone olun. BURADA Abone Olun!