Siber suçlular, EDR’yi atlamak için çekirdek modu kötü amaçlı sürücülerde dijital imzaları nasıl oluşturur?


Çince konuşan tehdit aktörlerinin, çekirdek modu sürücülerde sahte imzalar oluşturmak için bir Microsoft Windows politika güvenlik açığı kullandıkları görülmüştür. Windows işletim sistemi (OS) iki seviyeye veya “moda” ayrılır: kullanıcıların etkileşimde bulunduğu dosya ve programların bulunduğu kullanıcı modu ve Windows temel ve çekirdek modu sürücülerinin sistem açısından kritik görevleri yerine getirdiği çekirdek modu operasyonlar. Sistem kitaplıklarında yer alan bir dizi yöntem aracılığıyla sürücüler, farklı modlar arasında iletişimi sağlamak için Windows API’yi kullanabilir. İşletim sisteminin iki moda bölünmesinin bir sonucu olarak, ortak kullanıcı ile Windows çekirdeği arasında sıkı bir şekilde düzenlenmiş bir mantıksal engel oluşturulur. Çekirdeğe erişim bir sisteme tam erişim sağladığından, işletim sisteminin bütünlüğünü ve güvenliğini korumak için bu bariyeri korumak çok önemlidir. Sonuç olarak, hileli bir sürücü kullanmak, bir saldırganın bu savunmayı geçmesine ve hedef makineyi tamamen ele geçirmesine izin verebilir.

Microsoft, kötü amaçlı sürücülerin oluşturduğu tehlikeye karşı koymak için, Windows Vista 64-bit’ten başlayarak, çekirdek modu sürücülerin güvenilir bir sertifika yetkilisinden alınan bir sertifikayla dijital olarak imzalanmasını zorunlu tutmaya başladı. Kötü amaçlı sürücüler, uç nokta tespitinden ve kötü amaçlı yazılımdan koruma yazılımlarından kolayca kaçınabilir ve bu da, imza zorlaması olmaksızın bunlarla mücadele etmeyi son derece zorlaştırır. Kötü amaçlı çekirdek modu sürücülerine karşı korumanın en önemli kısmı, sürücülerde imza gerektirmesidir.

Kötü amaçlı sürücüler, başka bir sorun olan örneklerin analiz edilmesini zorlaştırabilir. Kötü amaçlı yazılımı değerlendirmek için kullanılan çoğu sanal alan, bir sürücünün tüm eylemlerini izleyemediği için analizin büyük bir kısmı manuel olarak yapılmalıdır. Tehdit aktörleri, VMProtect gibi araçları kullanarak dağıttıkları sürücüler üzerinde kod karartmayı kullanmaya başladılar, bu da sürücülerin analiz edilmesini daha da zorlaştırıyor.

Saldırganın bakış açısından hileli bir sürücü kullanmanın faydaları arasında, bunlarla sınırlı olmamak üzere, uç nokta tespitinden kaçınmak, sistem ve kullanıcı modu işlemlerini kontrol edebilmek ve virüs bulaşmış bir cihazda kalıcılığı sürdürmek yer alır. Bu avantajlar, saldırganların Windows sürücü imza kurallarını nasıl aşacaklarını bulmaları için güçlü bir teşvik sağlar.

Cisco Talos, tehdit aktörlerinin, Windows’taki sertifika kurallarını atlatarak, çekirdek modu sürücülerinde imzaların sahteciliğine izin veren Windows politikasındaki bir boşluktan yararlandığını görmüştür. Bu, açık kaynaklı araçların ve 29 Temmuz 2015’ten önce süresi dolmuş veya daha önce yayınlanmış iptal edilmemiş sertifikaların kullanılmasıyla mümkün olmuştur.

Microsoft, Windows 10 sürüm 1607’den itibaren Geliştirici Portalı’na gönderilmeyen ve onaylanmayan yeni çekirdek modu sürücüleri yasaklamak için sürücü imzalama politikasını değiştirdi. Bu prosedürün amacı, sürücülerin Microsoft’un ölçütlerine ve güvenlik yönergelerine uymasını garanti etmektir. Microsoft, eski sürücülerin işlevselliğini ve uyumluluğunu korumak amacıyla aşağıdakiler için istisnalar yaptı:

  1. Bilgisayarın işletim sistemi önceki bir sürümden Windows 10, sürüm 1607’ye güncellendi.
  2. BIOS’ta Güvenli Önyükleme devre dışıdır.
  3. Sürücüler, 29 Temmuz 2015’ten önce verilmiş bir son varlık sertifikası kullanılarak imzalandı ve desteklenen çapraz imzalı bir CA’ya zincirlendi.

Yeni geliştirilen bir sürücü, bir güvenlik açan üçüncü muafiyet sayesinde, sertifika zincirleri tanınmış bir çapraz imzalı sertifika yetkilisine zincirlendiği sürece, 29 Temmuz 2015’ten önce verilmiş veya süresi dolmuş iptal edilmemiş sertifikalar kullanılarak imzalanabilir. kusur. Bir sürücü bu şekilde doğru bir şekilde imzalanırsa, kurulum ve hizmetin başlatılması engellenmeyecektir. Sonuç olarak, bu zayıflıktan yararlanmak için birkaç açık kaynaklı program oluşturulmuştur. Bu, Windows sistemleri için ciddi bir tehlike oluşturmasına ve kısmen halka açık araçlar sayesinde yürütmesi oldukça basit olmasına rağmen genellikle göz ardı edilen iyi bilinen bir yaklaşımdır.

Bu sahte sürücüleri oluşturmak için kullanılan HookSignTool ve FuckCertVerifyTimeValidity gibi yazılımlar sırasıyla 2019 ve 2018’den beri herkesin erişimine açıldı. HookSignTool, GitHub’da 7 Ocak 2020’den beri mevcuttur ve FuckCertVerifyTimeValidity ilk olarak sırasıyla 14 Aralık 2018’de yüklenmiştir.

Cisco Talos’a göre, “HookSignTool, meşru bir kod imzalama aracının içe aktarma tablosunu manuel olarak değiştirme ve Windows API’ye bağlanma kombinasyonu yoluyla, imzalama işlemi sırasında bir sürücünün imza tarihini değiştiren bir sürücü imza sahtecilik aracıdır.”

İmza zaman damgası, yürütme sırasında sertifikanın zaman geçerliliğini kontrol eden CertVerifyTimeValidity işlevine bağlanarak değiştirilir.

FuckCertVerifyTimeValidity GitHub web sitesine göre, “Bu küçük proje, işaret aracının doğrulama yapmasını engelliyor. [sic] sertifika zaman geçerliliği ve sistem saatini manuel olarak değiştirmeden çöp kutunuzu eski sertifika ile imzalamanıza izin verir. Kanca crypt32’ye kurulur!Make kernel32 ve CertVerifyTimeValidity her zaman 0 döndürür! Signtool’un komut satırına “-fuckyear 2011” ekleyerek 2011 yılından bir sertifika imzalayabileceğiniz için, GetLocalTime istediğinizi döndürür.

Başarılı bir sahtecilik için, 29 Temmuz 2015 tarihinden önce düzenlenmiş geçerli bir kod imzalama sertifikası ve sertifikanın özel anahtarı ve parolası gereklidir.

Bir düzineden fazla kod imzalama sertifikasının, ilişkili anahtarları ve parolalarıyla birlikte, Cisco Talos tarafından GitHub’daki bir FuckCertVerifyTimeValidity deposunda saklanan bir PFX dosyasında bulunduğu bildirildi. Bu sertifikaların nasıl elde edildiği hemen belli değil. Sadece bu degil. RedDriver olarak bilinen daha önce belgelenmemiş bir sürücü de aynı şekilde imza zaman damgasını tahrif etmek için HookSignTool kullanıyor. En az 2021’den beri aktif olan ve tarayıcı trafiğini yerel ana bilgisayara (127.0.0.1) yönlendirmek için Windows Filtreleme Platformunu (WFP) kullanan sürücü tabanlı bir tarayıcı korsanıdır.

Hedef tarayıcıyı seçmek için Liebao, QQ Browser, Sogou ve UC Browser’ın yanı sıra Google Chrome, Microsoft Edge ve Mozilla Firefox dahil olmak üzere birçok iyi bilinen Çince tarayıcının işlem adlarının sabit kodlanmış bir listesi kullanılır. rastgele. Böyle bir özelliğin paket düzeyinde tarayıcı trafiğine müdahale etmek için kötüye kullanılabileceğini söylemeye gerek yok olsa da, bu tarayıcı trafiği yeniden yönlendirmesinin nihai hedefi tam olarak açık değildir.

HookSignTool ve FuckCertVerifyTimeValidity, kötü amaçlı sürücülerin yüklenmesi bir saldırganın sistemin çekirdeğine erişmesini sağlayabileceğinden büyük bir tehlike oluşturur. Bu araçlar, DRM’yi aşmak için kırılmış bir sürücüyü yeniden imzalamak için de kullanılabilir, bu da yazılım korsanlığının kuruluşun satışlarına mal olmasına neden olabilir. Bu tehlikelere ek olarak, güvenilmeyen sürücülerin kullanılması – hiçbir kötü niyet olmadığında bile – sürücü düzgün şekilde geliştirilmemişse sisteme zarar verebilir.

Kötü niyetli sürücüleri buluşsal olarak tespit etmek zor olduğundan ve en iyi şekilde dosya karmalarına veya onları imzalamak için kullanılan sertifikalara göre durdurulduklarından, Cisco Talos bu blog gönderisinde belirtilen sertifikaların yasaklanmasını tavsiye eder. Zaman damgası sahteciliği örneklerini tespit etmenin iyi bir yolu, ara sıra imza zaman damgasını sürücünün derleme tarihiyle karşılaştırmaktır. Bununla birlikte, derleme tarihlerinin imza zaman damgalarına karşılık gelecek şekilde değiştirilebileceğini akılda tutmak çok önemlidir.



Source link