Windows'da LSAISO işleminde yüksek CPU kullanımı

Bu makalede, LSAISO işleminin Windows çalıştıran bir bilgisayarda yüksek CPU kullanımıyla karşılaştığı bir sorunun çözümleri sağlanır.

Şunlar için geçerlidir: Windows 10 - tüm sürümler, Windows Server 2016, Windows Server 2019
Özgün KB numarası: 4032786

Belirtiler

LSAISO (LSA Yalıtılmış) işlemi, Windows 10, Windows Server 2016 veya sonraki sürümleri çalıştıran bir bilgisayarda yüksek CPU kullanımıyla karşılaşır.

Neden

Windows'ta LSAISO işlemi, Sanal Güvenli Mod (VSM) olarak bilinen yeni bir güvenlik ortamında Yalıtılmış Kullanıcı Modu (IUM) işlemi olarak çalışır.

IUM işlemine DLL yüklemeye, iş parçacığı eklemeye veya kullanıcı modu APC teslim etmeye çalışan uygulamalar ve sürücüler tüm sistemin dengesini bozabilir. Bu istikrarsızlaştırma, "Belirtiler" bölümünde bahsedilen yüksek LSAISO CPU senaryolarını içerebilir.

Çözüm 1: Eleme sürecini kullanma

Bazı uygulamaların (virüsten koruma programları gibi) LSAISO işlemine DLL'ler eklemesi veya API'leri kuyruğa eklemesi yaygın bir durumdur. Bu, LSAISO işleminin yüksek CPU kullanımıyla karşılaşmasına neden olur.

Sorun giderme için bir IUM işlemine araç eklemek mümkün değildir. Bu, LSAISO CPU'spiking sırasında yığın izlemelerini yakalamak için Windows Hata Ayıklama Araçları'nı veya WPA\XPERF'yi kullanmanızı engeller. Bu senaryoda en iyi sorun giderme yöntemi "eleme süreci" metodolojisini kullanmaktır. Bunu yapmak için CPU ani artışı azaltılana kadar uygulamaları ve sürücüleri devre dışı bırakın. Soruna hangi yazılımın neden olduğunu belirledikten sonra yazılım güncelleştirmesi için satıcıya başvurun. Aşağıdaki MSDN konusunda listelenen ISV önerilerine başvurabilirsiniz:

Yalıtılmış Kullanıcı Modu (IUM) İşlemleri

Not

Bu yöntem, CPU ani artışını test ettikçe şüpheli yazılımları ve sürücüleri devre dışı bırakdıktan sonra yeniden başlatma gerektirebilir.

Çözüm 2: Kuyruğa alınmış API'leri denetleme

Windows için ücretsiz Hata Ayıklama Araçları'nı indirin (WinDbg, KD, CDB, NTSD). Bu araçlar hem Windows Sürücü Seti'ne (WDK) hem de Windows Sürücü Seti'ne (WDK) dahildir. Ardından, bir APC'yi LSAISO'ya kuyruğa alan sürücüyü belirlemek için şu adımları izleyin:

  1. CPU ani artışını yeniden oluştururken, aşağıdaki Sysinternals web sitesinden NotMyFault.exe gibi bir araç kullanarak çekirdek bellek dökümü oluşturun:

    Sysinternals Paketi

    Not

    Sistemde VSM etkinse şifre çözme gerekeceğinden tam bellek dökümü önerilmez. Çekirdek dökümünü etkinleştirmek için şu adımları izleyin:

    1. sistem öğesini Denetim Masası açın ve gelişmiş sistem ayarları'nı seçin.
    2. Sistem Özellikleri iletişim kutusunun Gelişmiş sekmesinde Başlangıç ve Kurtarma alanında Ayarlar'ı seçin.
    3. Başlangıç ve Kurtarma iletişim kutusunda Hata ayıklama bilgileri yazma listesinde Çekirdek bellek dökümü'ne tıklayın.
    4. 5. adımda kullanılacak Döküm Dosyası konumunu not edin ve tamam'ı seçin.
  2. Windows için Hata Ayıklama Araçları'ndan WinDbg.exe aracını açın.

  3. Dosya menüsünde Simge Dosya Yolu'na tıklayın, Simge yolu kutusuna Microsoft Sembol Sunucusu için aşağıdaki yolu ekleyin ve ardından Tamam'ı seçin:
    https://msdl.microsoft.com/download/symbols

  4. Dosya menüsünde Kilitlenme Dökümünü Aç'a tıklayın.

  5. 1d adımında not ettiğiniz çekirdek döküm dosyasının konumuna göz atın ve aç'ı seçin. Bu sorun giderme oturumu sırasında yeni oluşturulduğundan emin olmak için .dmp dosyasındaki tarihi denetleyin.

  6. Komut penceresinde !apc yazın ve Enter tuşuna basın.

    !apc dosyasını gösteren çekirdek döküm dosyasının komut kutusunun ekran görüntüsü.

    Çıkış aşağıdaki ekran görüntüsüne benzemelidir.

    !apc komutunun çıktısının ekran görüntüsü. Bu örnekte, ProblemDriver.sys adlı bir sürücü LsaIso.exe altında listelenir.

  7. sonuçlarda LsaIso.exearayın. SorunDriver.sys adlı <bir sürücü LsaIso.exe altında listeleniyorsa (6. adımdaki çıkışın örnek ekran görüntüsünde gösterildiği gibi), satıcıya başvurun ve sonra bunları Yalıtılmış Kullanıcı Modu (IUM) İşlemleri konusunda listelenen önerilen azaltmaya başvurun.>

    Not

    Lsaiso.exealtında hiçbir sürücü listelenmiyorsa bu, LSAISO işleminin kuyruğa alınmış API'leri olmadığı anlamına gelir.

Daha fazla bilgi

VSM, IUM işlemlerini (trustlet olarak da bilinir) korumak için Sanal Güven Düzeyleri (VTL) olarak bilinen yalıtım modlarını kullanır. LSAISO gibi IUM işlemleri VTL1'de, diğer işlemler ise VTL0'da çalıştırılır. VTL1'de çalıştırılan işlemlerin bellek sayfaları, VTL0'de çalışan kötü amaçlı kodlardan korunur.

Windows 10 ve Windows Server 2016 önce Yerel Güvenlik Yetkilisi Alt Sistem Hizmeti (LSASS) işlemi yalnızca yerel sistem ilkesini yönetmekten, kullanıcı kimlik doğrulamasından ve denetimden sorumluyken parola karmaları ve Kerberos anahtarları gibi hassas güvenlik verilerini de işledi.

VSM'nin güvenlik avantajlarını kullanmak için VTL1'de çalışan LSAISO güveni, VTL0'da çalışan LSAISO işlemiyle bir RPC kanalı üzerinden iletişim kurar. LSAISO gizli dizileri LSASS'ye gönderilmeden önce şifrelenir ve LSAISO sayfaları VTL0'da çalışan kötü amaçlı kodlardan korunur.