Bishop Fox’tan güvenlik araştırmacısı Nick Cerne, Rust’ta kötü amaçlı yazılım gelişimini geleneksel C/C ++ dillerine göre karşılaştıran bulgular yayınladı.
Araştırma, Rust’un kötü amaçlı yazılımların mühendis olmasını zorlaştıran doğal anti-analiz özelliklerini nasıl sağladığını göstermektedir.
Cerne’nin analizine göre, Rust, Go ve NIM gibi diller iki temel nedenden ötürü kötü amaçlı yazılım yazarları arasında giderek daha popüler hale geldi: ters mühendislikte artan zorluk ve imza tabanlı tespit mekanizmalarının iyileştirilmesi.
Pas bazlı kötü amaçlı yazılımın teknik avantajları
Araştırma, Rochester Teknoloji Enstitüsü’nden, kötü amaçlı yazılım geliştirme için Rust’un çeşitli teknik avantajlarını doğrulayan 2023’teki bir çalışmaya atıfta bulunmaktadır.
Pas ikili dosyaları, ters mühendislik karmaşıklığını artıran C/C ++ eşdeğerlerinden önemli ölçüde daha büyüktür.
İşlevsel olarak özdeş kabuk kodu yükleyicilerini karşılaştırırken, pas versiyonu C sürümü için sadece 71.7 kb’ye kıyasla 151.5 kb idi.
Daha da önemlisi, otomatik kötü amaçlı yazılım analiz araçları, pas derlenmiş kötü amaçlı yazılımları analiz ederken daha fazla yanlış pozitif ve negatif üretir.
Ghidra ve IDA gibi standart ters mühendislik araçları, C/C ++ meslektaşlarına kıyasla pas ikili dosyalarını sökmekle yükümlüdür.
Cerne bunu her iki dilden ayrıştırılmış ghidra çıktısını inceleyerek gösterdi. C kodu ayrışmadan sonra kolayca okunabilir olsa da, RustC optimizasyonları ve bellek yönetimindeki farklılıklar nedeniyle pas eşdeğeri önemli ölçüde daha karmaşıktı.
Rapora göre, bu optimizasyonlar daha az net işlev sınırı ve yorumlanması zor olan yüksek oranda optimize edilmiş montaj ile sonuçlanmaktadır.


Dosya eşleme enjeksiyonu ile pratik gösteri
Araştırma, tespitten kaçınmak için dosya eşleme enjeksiyon tekniklerini kullanan pas tabanlı bir kötü amaçlı yazılım damlasının pratik bir gösterisini içeriyordu.


Bu yaklaşım, VirtualAlloc ve VirtualAlLocex gibi yaygın olarak izlenen işlevler yerine CreateFileMapping, MapViewOffile ve MapViewOffileNuma2 gibi daha az bilinen Windows API’lerini kullanır.


Cerne, Calc.exe’yi bir Notepad.exe işlemine başlatan Shellcode enjekte ederek tekniği başarıyla gösterdi ve daha sonra bunu HTTPS iletişimi kullanarak bir Sliver C2 yükü sahnelemeye genişletti.
Dikkate değer bir OPSEC düşüncesi, Pust, hata ayıklama amacıyla derlenmiş ikili dosyalarda mutlak dosya yollarını içermesi ve potansiyel olarak geliştirme ortamı hakkında tanımlayıcı bilgileri ortaya çıkarmasıdır.
Bulgular, güvenlik çözümleri geliştikçe, kötü amaçlı yazılım gelişiminin, tekniklerin sürekli olarak iyileştirilmesi gerektiren bir kedi ve fare oyunu olmaya devam ettiğini ve Rust’un daha kaçınılmaz kötü amaçlı kod geliştirmek isteyenler için zorlayıcı avantajlar sunduğunu göstermektedir.
Tehdit İstihbarat Araması ile Gerçek Dünyanın Kötü Amaçlı Bağlantıları ve Kimlik Yardım Saldırılarını Araştırın-Ücretsiz Deneyin