Virtual Secure Mode (VSM)

Virtual secure mode, çok özel işlemlerin (trustlets) işletim sisteminden izole bir ortamda gerçekleşmesini sağlar.  VSM bunu işletim sisteminde küçük bir sanal ortam oluşturarak sağlar. Yani hypervisor kullanarak.

Bu çok özel işlemlerin başında LSA yani Local Security Authority işlemleri gelmektedir. LSA, oturum açan kullanıcıların kimlik bilgilerini tutan işlemdir.

LSA işlemi VSM modu sayesinde işletim sisteminden izole bir yapıda çalışmaktadır.

Peki neden böyle bir güvenliğine ihtiyacımız var?

Bilindiği üzere çok uzun zamandır Windows işletim sistemlerinde pass-the-hash saldırısı sayesinde oturum açan kullanıcıların parolaları çok rahatlıkla ele geçirilebiliyor. Bu saldırı sadece oturum açan değil önceden oturum açıp oturumu kapatan kullanıcılar içinde geçerli elbette.

Hacker ların da uzun süredir kullandığı bu saldırı şekli Mimikatz yazılımı ile gerçekleşmektedir.

Windows işletim sistemlerine bela olan bu yazılıma karşı Microsoft yazılımcıları VSM e geliştirdi.

Sistemin işleyişi;

 

Windows 10 öncesinde kimlik muhafızı (credential guard), LSA işlemlerini işletim sisteminin belleğinde saklıyordu. Mimikatz da bu yöntemi kullanarak parolaları buluyordu zaten. Windows 10 ve sonrasında ise işletim sistemi LSA gibi çok özel ve kısıtlı işlemler için hypervisor ile konuşuyor.  VSM bu işlemleri korur ve bir takım bilgileri kernel içerisine gizler.

İzole LSA işlemleri ile depolanan veri sanallaştırma tabanlı güvenlik (VSM) kullanır ve bu veri işletim sisteminin geri kalan işlemleri için erişilebilir değildir. İzole edilen LSA işlemlerine LSA ın kendisi RPC hizmeti kullanarak erişir.

Kısacası Mimikatz tarzı yazılımlarla parolaları görmek mümkün olmaz.

VSM, çok önemli bir güvenlik uygulaması olması ile birlikte birçok ön gereksinimi de ihtiyaç duymaktadır.

VSM ön gereksinimler:

  • Windows 10 Enterprise sürüm ya da Windows Server 2016 sunucu işletim sisteminde çalışmaktadır.
  • Fiziksel makine için Windows 10 sürüm 1511 ve üstü ,sanal makine için Windows 10 sürüm 1607 ve üstü gereklidir.
  • Secure Boot kullandığı için en az UEFI BIOS 2.3 sürümü gereklidir.
  • Intel-VT ya da AMD-V teknolojilerine sahip ana kart ve işlemci gerekmektedir. Hyper-V kurulumu için.
  • 64-bit işletim sistemi.
  • TPM 1.2 ya da 2.0. VSM için TPM zorunlu değildir. Ekstra güvenlik için TPM uyumlu cihpset gereklidir. TPM var ise VSM tarafından kullanılan şifrelenmiş anahtarlar için koruma sağlanır. Yeni nesil Hyper-V yönetim konsolundaki TPM özelliği kullanılabilir.
  • Windows Hypervisor.

 

VSM Yapılandırılması:

VSM grup ilkeleri ile yönetilebilmektedir.

Grup ilkelerinden “Computer Configuration -> Administrative Templates -> System -> Device Guard” a geliyoruz.

“Turn On Virtualization Based Security” politikasını seçiyoruz.

 

 

Aktif edip güvenlik ayarlarını aşağıdaki gibi yapıyoruz.

 

Enable with UEFI lock seçeneği ile VSM ayarlarının uzaktan yapılmasını devre dışı bırakmış olduk. Eğer bu ayarı geri çekmek istiyorsak bilgayayarlara tek tek fiziksel erişim gerekmektedir.

Enable without lock ise uzak erişimi müsaade eder. Devre dışı bırakmak istersek eğer gene grup ilkelerini kullanabiliriz.

Bu aşamadan sonra Hyper-V bileşenlerini kurmamız gerekiyor.

 

Yeni sürüm Hyper-V ile birlikte artık sanal makinelere de bu bileşenleri kurabiliyoruz. Tabi işletim sistemi Windows 10 ya da Windows Server 2016 olmalıdır.

Sıra geldi kimlik muhafızını yani VSM i aktif etmeye. Bu işlem registry ayarları ile mümkün. Fakat işlemlerin otomatik yapılması ve yapılan işlemlerin kontrol edilmesini sağlayan Microsoft un hazırladığı bir powershell betiği mevcut.

Device Guard and Credential Guard hardware readiness tool

DG_Readiness_Tool_v2.0.ps1

https://www.microsoft.com/download/details.aspx?id=53337

Betiği çektikten sonra aşağıdaki komut ile çalıştırıyoruz.

DG_Readiness_Tool_v2.0.ps1 -Enable -AutoReboot

Tabi öncesinden ps1 betiklerini çalıştırmak için sisteme izin vermeyi unutmayın. (Set-ExecutionPolicy RemoteSigned)

Kurulum bittikten sonra bilgisayar yeniden başlatılmaktadır.

Tüm ayarları bitirmiş olduk. Bu aşamadan sonra VSM in doğru kurulup kurulmadığını kontrol etmeliyiz.

Öncelikle betiğimizi Ready switch i le çalıştırıyoruz.

DG_Readiness_Tool_v2.0.ps1  -Ready

 

Tüm modların aktif olduğu mesajını alıyoruz.

System information aracını açıyoruz. Başlata basıp msinfo32.exe yazarak erişebilirsiniz.

System Summary bölümünde aşağıdaki bilgiler yer almalıdır.

 

Olay görüntüleyicisini açıyoruz.

Wininit kaynağı adında bir bilgi kaydı düşmüş olmalıdır.

 

Eğer kimlik numarası 13 ise koruma başlamış demektir. Zaten açıklama bölümünde de yazmaktadır.

Aynı kaynağa ait diğer kimlik numaraları aşağıdaki gibidir.

Event ID 14 Credential Guard (LsaIso.exe) configuration: 0x1, 0

The first variable: 0x1 means Credential Guard is configured to run. 0x0 means it’s not configured to run.

The second variable: 0 means it’s configured to run in protect mode. 1 means it’s configured to run in test mode. This variable should always be 0.

Event ID 15 Credential Guard (LsaIso.exe) is configured but the secure kernel is not running; continuing without Credential Guard.

Event ID 16 Credential Guard (LsaIso.exe) failed to launch: [error code]

Event ID 17 Error reading Credential Guard (LsaIso.exe) UEFI configuration: [error code] You can also verify that TPM is being used for key protection by checking the following event in the Microsoft -> Windows -> Kernel-Boot event source. If you are running with a TPM, the TPM PCR mask value will be something other than 0.

Event ID 51 VSM Master Encryption Key Provisioning. Using cached copy status: 0x0. Unsealing cached copy status: 0x1. New key generation status: 0x1. Sealing status: 0x1. TPM PCR mask: 0x0.

 

Son olarak görev yöneticisine baktığımızda SecureSystem.exe isimli bir işlemin çalıştığını görmekteyiz.

 

VSM i başarılı bir şekilde aktif etmiş olduk.

Mimikatz yazılımını kullanarak LSASS dump ını okumak istediğimizde parolalar gözükmemektedir.

 

Paylaş

Leave a Reply

Your email address will not be published. Required fields are marked *