Rich (BB code):
PAGE_FAULT_IN_NONPAGED_AREA (50)
Invalid system memory was referenced. This cannot be protected by try-except.
Typically the address is just plain bad or it is pointing at freed memory.
Arguments:
Arg1: ffff8994c2370758, < Referans verilen adres, Bu RBX yazmacına yazılıdır. Bunu o yazmaca yazan şayet bir sürücü değilse sorun donanımsal diyebiliriz.
Arg2: 0000000000000000, (reserved)
Arg3: fffff8076ed992fd, If non-zero, the instruction address which referenced the bad memory
address.
Arg4: 0000000000000002, (reserved)
0x50 PAGE_FAULT_IN_NONPAGED_AREA, adından da anlaşılacağı gibi sayfalanamayan bir bellek havuzunda sayfa hatası oluştuğunu gösteriyor. Bu, ya belleğin hiç tahsis edilmediği ya da belleğin kayıtlandığı RAM'in kötü olduğu anlamına geliyor. Bu hatalı bir üçüncü taraf sürücüsünden kaynaklanabilir ki ben bu hatada öyle olduğunu düşünüyorum. 24H2 ya da yaptığın Firmware update ile uyumsuz olan bir sürücü olabilir önyükleme esnasında. Bunu anlamanın en iyi yolu da sistemi güvenli modda açmayı denemektir. Zira güvenli modda Windows sadece en basit ve temel sürücüleri yükle, bu durumda 3.taraf sürücüler yüklenmez. Atılan istisnayı göremiyoruz parametrelerde ama stack kısmından bunun açıkça bir bellek erişim hatası olduğunu söyleyebiliriz.
Rich (BB code):
0: kd> k
# Child-SP RetAddr Call Site
00 fffff90e`1c726778 fffff807`dd6d3c85 nt!KeBugCheckEx
01 fffff90e`1c726780 fffff807`dd67a51f nt!MiSystemFault+0x735
02 fffff90e`1c726870 fffff807`dda88ccb nt!MmAccessFault+0x2ff // Bellek erişim hatası
03 fffff90e`1c7269e0 fffff807`6ed992fd nt!KiPageFault+0x38b // Sayfa hatası
04 fffff90e`1c726b70 fffff807`6ed98e96 CLFS!CClfsKernelMarshallingContext::ReserveAndAppendLog+0x17d // Çöktüğümüz yer
05 fffff90e`1c726c60 fffff807`6ed98d21 CLFS!ClfsReserveAndAppendLogAligned+0x166
06 fffff90e`1c726d10 fffff807`ddd30864 CLFS!ClfsReserveAndAppendLog+0x51
07 fffff90e`1c726d70 fffff807`ddd30597 nt!CmpDoTransWriteLogRecord+0x74 // Sistem kaydı alınıyor.
08 fffff90e`1c726e10 fffff807`ddc7c45b nt!CmpTransWriteLog+0x5b
09 fffff90e`1c726ef0 fffff807`ddc347cb nt!CmAddLogForAction+0x4db
0a fffff90e`1c726fb0 fffff807`ddc33ed5 nt!CmSetValueKey+0x607 // Kayıt defteri anahtarını güncelliyor - Sürücünün uyumsuzluk yarattığı kısım bu olabilir?
0b fffff90e`1c7271b0 fffff807`dda8d158 nt!NtSetValueKey+0x625
0c fffff90e`1c7273f0 00007ffc`03060314 nt!KiSystemServiceCopyEnd+0x28
0d 00000005`7ef7dde8 00000000`00000000 0x00007ffc`03060314
Kullanıcı modundaki bir uygulama, kayıt defterindeki bir anahtarın değerini güncellemek için bir sistem çağrısı yapmış ve bu çağrı
nt!NtSetValueKey ile çekirdek moduna iletilmiş. Kernel, bu işlemi gerçekleştirmek için
nt!CmSetValueKey ve ardından log kaydı oluşturmak üzere
nt!CmAddLogForAction işlevlerini kullanıyor. Kayıt defteri işlemleri sırasında, log yazma mekanizmasını devreye sokan nt!CmpTransWriteLog ve nt!CmpDoTransWriteLogRecord işlevleri çağrılıyor. Bu işlemler, (CLFS) tarafından yönetilen CLFS!ClfsReserveAndAppendLog ve CLFS!ClfsReserveAndAppendLogAligned gibi loglama işlevleri aracılığıyla ilerliyor. Ancak, loglama sırasında CLFS!CClfsKernelMarshallingContext::ReserveAndAppendLog işlevinde bir sayfa hatası meydana geliyor ve bu hata nt!KiPageFault tarafından yakalanıyor. Bu da bellek erişim hatasıdır.
Rich (BB code):
0: kd> u fffff807`6ed992fd
CLFS!CClfsKernelMarshallingContext::ReserveAndAppendLog+0x17d:
fffff807`6ed992fd 488b843428010000 mov rax,qword ptr [rsp+rsi+128h]
fffff807`6ed99305 4c8b08 mov r9,qword ptr [rax]
fffff807`6ed99308 58 pop rax
fffff807`6ed99309 8344245048 add dword ptr [rsp+50h],48h
fffff807`6ed9930e c9 leave
fffff807`6ed9930f 48108b44247c03 adc byte ptr [rbx+37C2444h],cl // Çöktüğümüz nokta
fffff807`6ed99316 442478 and al,78h
fffff807`6ed99319 8944246c mov dword ptr [rsp+6Ch],eax
Rich (BB code):
0: kd> !pte rbx
VA ffff8994c2370758
PXE at FFFFDB6DB6DB6898 PPE at FFFFDB6DB6D13298 PDE at FFFFDB6DA2653088 PTE at FFFFDB44CA611B80
contains 0000000000000000
contains 0000000000000000
not valid
Bu stack neden olduğunu iyi açıklıyor, bunun için ek ham stacklere de bakabiliriz.
Rich (BB code):
0xfffff90e1c726868 : 0xfffff807dd67a51f : nt!MmAccessFault+0x2ff
0xfffff90e1c7269d8 : 0xfffff807dda88ccb : nt!KiPageFault+0x38b
0xfffff90e1c7269e0 : 0x0000000000000000 : Trap @ fffff90e1c7269e0
0xfffff90e1c7269f8 : 0xfffff807dd676499 : nt!KeLeaveCriticalRegionThread+0x9
*** WARNING: Unable to verify timestamp for klif.sys
0xfffff90e1c726ae8 : 0xfffff8076ed99d5c : CLFS!CClfsKernelMarshallingContext::AppendRecord+0x4ac
0xfffff90e1c726b28 : 0xfffff807dd67fe20 : nt!RtlpHpReleaseQueuedLockExclusive+0xb0
0xfffff90e1c726b48 : 0xfffff8076ed992fd : CLFS!CClfsKernelMarshallingContext::ReserveAndAppendLog+0x17d
0xfffff90e1c726c58 : 0xfffff8076ed98e96 : CLFS!ClfsReserveAndAppendLogAligned+0x166
0xfffff90e1c726cc8 : 0xfffff807dd6679f9 : nt!ExAcquireResourceExclusiveLite+0x109
0xfffff90e1c726d08 : 0xfffff8076ed98d21 : CLFS!ClfsReserveAndAppendLog+0x51
0xfffff90e1c726d68 : 0xfffff807ddd30864 : nt!CmpDoTransWriteLogRecord+0x74
0xfffff90e1c726d78 : 0xfffff807dd680075 : nt!KeAbPostRelease+0x85
0xfffff90e1c726e08 : 0xfffff807ddd30597 : nt!CmpTransWriteLog+0x5b
0xfffff90e1c726e38 : 0xfffff807ddf36189 : nt!ExAllocatePool2+0x99
0xfffff90e1c726e58 : 0xfffff807ddf7da83 : nt!CmpReleaseShutdownRundown+0x33
0xfffff90e1c726e78 : 0xfffff807ddc5b409 : nt!HvpGetCellContextReinitialize+0x9
0xfffff90e1c726e88 : 0xfffff807ddc3222e : nt!CmpGetValueData+0x9e
0xfffff90e1c726ee8 : 0xfffff807ddc7c45b : nt!CmAddLogForAction+0x4db
0xfffff90e1c726f28 : 0xfffff807ddd27aa2 : nt!CmpAddValueToListEx+0xd2
0xfffff90e1c726fa8 : 0xfffff807ddc347cb : nt!CmSetValueKey+0x607
0xfffff90e1c726fe8 : 0xfffff807b91c11c3 : bfs!BfsRegistryCallback+0x103
0xfffff90e1c727058 : 0xfffff807dd680075 : nt!KeAbPostRelease+0x85
0xfffff90e1c7271a8 : 0xfffff807ddc33ed5 : nt!NtSetValueKey+0x625
0xfffff90e1c727378 : 0xfffff807ddc705d8 : nt!NtCreateKeyTransacted+0x138
0xfffff90e1c7273e8 : 0xfffff807dda8d158 : nt!KiSystemServiceCopyEnd+0x28
0xfffff90e1c727458 : 0xfffff807dda8cf3b : nt!KiSystemServiceUser+0x59
Bir kayıt defteri değeri ile ilgili bir kaynak sorunu var gibi duruyor. Burda Yüklenmeyen modül olarak Kaspersky görünüyor ancak sistemin güvenli modda verdiği tepkiyi bilmek ve ona göre hareket etmek daha önemli olur.