Windows Defender, Microsoft tarafından Windows işletim sistemleri için geliştirilen yerleşik bir antivirüs ve kötü amaçlı yazılımdan koruma yazılımıdır.
Aşağıdakiler dahil çeşitli tehditlere karşı gerçek zamanlı koruma sağlar: –
Fox-IT’deki siber güvenlik araştırmacıları yakın zamanda yeniden canlandırılmış Windows Defender Karantina klasörü meta verilerinin adli soruşturmaların artırılmasına yardımcı olduğunu keşfetti.
Olaylara müdahalede araştırmacılar genellikle Windows Defender gibi tetiklenen antivirüs uygulamalarıyla karşı karşıya kalıyor. Tehdit aktörleri ya onu devre dışı bırakır ya da tespit edilmekten kurtulmaya çalışır. Windows Defender’ın karantina klasörü dijital adli tıp için çok önemlidir ve şunları ortaya çıkarır: –
- Zaman damgaları
- Konumlar
- Dosya imzaları
Sağlam karantina klasörü, tehdit aktörleri Windows Olay günlüklerini silse bile değerli adli bilgiler sunar. Dosyaların karantinadan kurtarılması tersine mühendisliğe yardımcı olur.
Kurtarma için komut dosyaları mevcut olsa da, güvenlik analistlerinin araştırmaları daha önce bilinmeyen meta verileri ortaya çıkararak adli soruşturmalardaki belirsizlikleri azaltır.
Araştırmacılar, Florian Bauchs’un teknik incelemesine ve diğer GitHub komut dosyalarına başvurarak Windows Defender’ın iç kısımlarını derinlemesine inceledi. Mevcut araçlar, önemli verileri ayrıştırılmamış halde bırakarak, keşfedilmemiş adli artefaktların varlığını ima ediyordu.
Windows Defender, mpengine.dll dosyasındaki sabit kodlanmış bir RC4 anahtarıyla dosyaları şifreler. Araştırmacılar, genel komut dosyalarını ve Bauch’un teknik incelemesini kullanarak mpengine.dll dosyasını IDA’ya yüklediler ve işlevler ve yapılar konusunda bir adım önde olmak için Microsoft’un sembol sunucusundan yararlandılar.
Araştırmacılar, değerli meta veriler için yapısını kurtarmak üzere QuarantineEntry dosyasıyla işe başladı. Bir RC4 şifre akışının aksine, bu dosyada ayrı ayrı şifrelenmiş üç parça bulunur; bunlar şu şekilde adlandırılır: –
- KarantinaGirişiDosyaBaşlığı
- KarantinaGirişBölümü1
- KarantinaGirişBölümü2
IDA’da mpengine.dll dosyasını analiz eden QexQuarantine::CQexQuaEntry::Commit işlevi, QuarantineEntrySection1 ve QuarantineEntrySection2 içeriklerini belirler. PDB, CQexQuaEntry sınıfına ilişkin ayrıntılardan yoksundur ancak ilişkili işlev adlarından alan türetme mümkündür.
Id, ScanId, ThreatId, ThreatName ve Time gibi anahtar alanlar çok önemlidir. İşlevde ayarlanan Bölüm1 boyutu, belirsizlik nedeniyle şimdilik ‘Bir’ olarak etiketlenen ThreatName uzunluğunun yanı sıra 53 bayt içerir. Muhtemelen bir boolean değeridir ve QexQuarantine::CQexQuaEntry::Commit içindeki amacı hala bilinmemektedir.
QuarantineEntrySection2, QuarantineEntryResource nesnelerinin sayısını ve bunların QuarantineEntry yapısı içindeki uzaklıklarını içerir.
Genellikle bir tehdit bir QuarantineEntryResource’a karşılık gelse de, birden fazla tehdit içeren bir ZIP paketinin açılması gibi senaryolar, tek bir QuarantineEntry içinde birden fazla kaynağa sahip olabilir.
QuarantineEntryResource örneklerini ayrıştırmak için uzmanlar CQexQuaResource::ToBinary işlevini inceler. Adli kurtarma için ikili çıktıyı işleyen bu işlev, ThreatName serileştirmesine benzer döngüler içerir.
Döngüler, şifresi çözülmüş QuarantineEntry dosyalarında gözlemlenen önemli bileşenler olan UTF-16 kodlu DetectionPath ve DetectionType için çıkış arabelleğinde yer ayırır.
Dosya kurtarma adımları
Dosya kurtarma aşağıdaki üç adımı içerir: –
- Birinci adım: göz küresi altıgen dökümleri
- İkinci adım: IDA’yı açın
- Üçüncü adım: RTFM
Bunun yanı sıra, tersine mühendislik mpengine.dll, Windows Defender’ın karantina sürecine ilişkin değerli bilgiler ortaya çıkardı ve belgelenmemiş meta verilerin keşfedilmesine yol açtı. Bu, dijital adli tıp yeteneklerini geliştiren aşağıdaki ek ayrıntıları ortaya çıkardı: –
- Zaman damgaları
- NTFS veri akışları
Araştırma ayrıca Defender’ın NTFS dosya veri akışlarını korumak için BackupRead işlevini kullandığını da gösteriyor. Bulguların bir Dissect çerçeve eklentisinde uygulanması, kodun okunabilirliğini ve doğrulanabilirliğini artırır.