Malware Hash- Fuzzy Hashing
Malware incelerken veya dosya aratırken md5, sha1, sha256 vb hash leri kullanırız. Dosyalarda yapılan küçük değişikliklerle standart hashing algoritmaları ile sorguladığımızda bir kaç biti değişmiş yeni dosyayı bulamayız. Birincil kullanım amacı dosyanın bütünlüğünü kontrol etmek olan md5 vb hash algoritmaları bu tip küçük değişikliklerde benzerlik bulmamızda işimize yaramıyor. Zararlı dosya bulaşmış cihazlarda arama yaparken de sadece standart olan hash algoritmaları bu kapsamda yetersiz kalır. Bazen de size gönderilen zararlı dosyayı upload etmeden aramanız gerektiği durumlarda da başarısız sonuç bulursunuz sebebi yine bazı kısımları değiştirildiği için tespit edilemediğini düşünebiliriz.
Bir kötü amaçlı yazılım parçasındaki tek bir bitin işlevselliğini koruyacak şekilde değiştirilmesi son derece mümkündür. Bu durumda, bir forensics uzmanı, kötü amaçlı yazılım parçasını orijinal kötü amaçlı yazılımın hash değeriyle bulamaz.
Bu sebeplerden oluşturulmuş sorunları gidermek adına dosyalar arasındaki benzerliği tespit etmek için aşağıdaki algoritmalar üretilmiştir.
Autentihash nedir?
Authentihash, Microsoft tarafından bir PE görüntü dosyasının ilgili bölümlerinin değiştirilmediğini doğrulamak için kullanılan bir sha256 karmasıdır. Bu özel hash türü Microsoft AppLocker tarafından kullanılır.
Imphash nedir?
Fireeye/mandiant tarafından oluşturulmuş bir hashing yöntemi, import hash kısatılmışıdır.
Mandiant’ın belirli tehdit gruplarının arka planlarını izlemesinin benzersiz bir yolu, taşınabilir yürütülebilir (PE) ithalatlarını izlemektir. İçe aktarmalar, bir yazılımın (bu durumda arka kapı) diğer dosyalardan (genellikle Windows işletim sistemine işlevsellik sağlayan çeşitli DLL dosyaları) çağırdığı işlevlerdir. Bu içe aktarmaları izlemek için Mandiant, library/ API adlarına ve yürütülebilir dosyadaki belirli sıralarına dayalı bir hash oluşturur. Bir PE’nin içe aktarma tablosunun oluşturulma şekli (ve bu nedenle vurgulamanın nasıl hesaplandığı) nedeniyle, ilgili kötü amaçlı yazılım örneklerini tanımlamak için imphash değerini kullanabiliriz.
TLSH nedir?
TLSH — Trend Micro Lokasyon Duyarlı Karma fuzzy eşleme kütüphanesidir. Minimum uzunluğu 50 bayt olan bir bayt akışı verildiğinde TLSH, benzerlik karşılaştırmaları için kullanılabilecek bir karma değer üretir. Benzer nesneler, karma değerlerini karşılaştırarak benzer nesnelerin algılanmasına izin veren benzer karma değerlerine sahip olacaktır. Bayt akışının yeterli miktarda karmaşıklığa sahip olması gerektiğini unutmayın. Örneğin, aynı baytlık bir bayt akışı bir karma değeri oluşturmaz.
Vhash nedir?
Virustotal reis de boş durmamış tabi , vhash adında dosya benzerliğinde kullanılmak için hash algoritmasını oluşturmuş.
VirusTotal, kötü amaçlı yazılımlarda bu tür küçük değişiklikleri tespit etmek için özelliklere sahiptir. Benzer örnekleri bulmak için fuzzy tabanlı vhash kullanılabilir.
Ssdeep nedir?
ssdeep, bağlamla tetiklenen parçalı karmaları (CTPH) hesaplamak için bir programdır. fuzzy hashes olarak da adlandırılan CTPH, benzerlikleri olan girdileri eşleştirebilir. Bu girdiler aynı sırayla aynı bayt dizilerine sahiptir, ancak bu diziler arasındaki baytlar hem içerik hem de uzunluk bakımından farklı olabilir.
ssdeep karmaları artık basit tanımlama amacıyla yaygın olarak kullanılmaktadır. (ör. VirusTotal’daki Temel Özellikler bölümü) “Daha iyi bulanık karmalar” mevcut olmasına rağmen, ssdeep hızı (şimdi TLSH’nin iki katı kadar hızlı) ve fiili bir standart olması nedeniyle hala birincil seçimlerden biridir.
İyi malware incelemeler :)