本「
IT談話館」一般公開記事は、10年以上の実務経験を持つ上級Windowsエンジニアを想定しています。
本館は、Windowsカーネル深層を解析し、クラッシュ原因をはじめとするシステム内の「異様な動き」を検出・分析する
超高度な技術と実績を保有しています。
Windows XP/7/8/10割り込みテーブル(IDT)の内部解析
本「IT談話館」の「一般公開記事」は、「Active Memory Dump とカーネルメモリダンプ」の解析結果を基に起草されています。「本館」主筆の「豊田孝」はDKOM(Direct Kernel Object Manipulation)ベースの解析手法の第一人者であり、Windowsカーネル空間の解析分野では世界の先頭を走っています。
現在、セキュリティー問題を無視することはできません。Microsoft社側の負担だけではなく、同社製品の利用者側の負担も増しています。困ったことではありますが、当面避けられません。セキュリティーの視点から「Windows10ソフトウェアセンサー」を見た場合、本「IT談話館」の確認範囲では、「カーネル層保護ロジック」に加え、次のような保護メカニズム階層が考案・実装されています。下記リンクはすべて本館記事を指しています。
- Silo/Server Silo
- Job
- Session
- Protected Process
- Mandatory Integrity Control(MIC)
- Windows API(+CPU)
- CPU
インターネット上に公開されている技術情報の賞味期限が極めて短くなっています。2018年1月3日には、「Meltdown and Spectre」問題が顕在化し、対応策がとられた結果、解析コードの出力情報は次のように変化します。
-No.00 Trap->0xFFFFF8005B6A1100 nt!KiDivideErrorFaultShadow (fffff800`5b6a1100)
-No.01 Trap->0xFFFFF8005B6A1180 nt!KiDebugTrapOrFaultShadow (fffff800`5b6a1180)
-No.02 Trap->0xFFFFF8005B6A1200 nt!KiNmiInterruptShadow (fffff800`5b6a1200)
-No.03 Trap->0xFFFFF8005B6A1280 nt!KiBreakpointTrapShadow (fffff800`5b6a1280)
-No.04 Trap->0xFFFFF8005B6A1300 nt!KiOverflowTrapShadow (fffff800`5b6a1300)
-No.05 Trap->0xFFFFF8005B6A1380 nt!KiBoundFaultShadow (fffff800`5b6a1380)
-No.06 Trap->0xFFFFF8005B6A1400 nt!KiInvalidOpcodeFaultShadow (fffff800`5b6a1400)
-No.07 Trap->0xFFFFF8005B6A1480 nt!KiNpxNotAvailableFaultShadow (fffff800`5b6a1480)
-No.08 Trap->0xFFFFF8005B6A1500 nt!KiDoubleFaultAbortShadow (fffff800`5b6a1500)
-No.09 Trap->0xFFFFF8005B6A1580 nt!KiNpxSegmentOverrunAbortShadow (fffff800`5b6a1580)
-No.0A Trap->0xFFFFF8005B6A1600 nt!KiInvalidTssFaultShadow (fffff800`5b6a1600)
-No.0B Trap->0xFFFFF8005B6A1680 nt!KiSegmentNotPresentFaultShadow (fffff800`5b6a1680)
-No.0C Trap->0xFFFFF8005B6A1700 nt!KiStackFaultShadow (fffff800`5b6a1700)
-No.0D Trap->0xFFFFF8005B6A1780 nt!KiGeneralProtectionFaultShadow (fffff800`5b6a1780)
-No.0E Trap->0xFFFFF8005B6A1800 nt!KiPageFaultShadow (fffff800`5b6a1800)
-No.10 Trap->0xFFFFF8005B6A1880 nt!KiFloatingErrorFaultShadow (fffff800`5b6a1880)
-No.11 Trap->0xFFFFF8005B6A1900 nt!KiAlignmentFaultShadow (fffff800`5b6a1900)
-No.12 Trap->0xFFFFF8005B6A1980 nt!KiMcheckAbortShadow (fffff800`5b6a1980)
-No.13 Trap->0xFFFFF8005B6A1A80 nt!KiXmmExceptionShadow (fffff800`5b6a1a80)
-No.14 Trap->0xFFFFF8005B6A1B00 nt!KiVirtualizationExceptionShadow (fffff800`5b6a1b00)
-No.1F Trap->0xFFFFF8005B6A1B80 nt!KiApcInterruptShadow (fffff800`5b6a1b80)
-No.20 Trap->0xFFFFF8005B6A1C00 nt!KiSwInterruptShadow (fffff800`5b6a1c00)
-No.29 Trap->0xFFFFF8005B6A1C80 nt!KiRaiseSecurityCheckFailureShadow (fffff800`5b6a1c80)
-No.2C Trap->0xFFFFF8005B6A1D00 nt!KiRaiseAssertionShadow (fffff800`5b6a1d00)
-No.2D Trap->0xFFFFF8005B6A1D80 nt!KiDebugServiceTrapShadow (fffff800`5b6a1d80)
-No.2F Trap->0xFFFFF8005B6A1E80 nt!KiDpcInterruptShadow (fffff800`5b6a1e80)
-No.30 Trap->0xFFFFF8005B6A1F00 nt!KiHvInterruptShadow (fffff800`5b6a1f00)
-No.31 Trap->0xFFFFF8005B6A1F80 nt!KiVmbusInterrupt0Shadow (fffff800`5b6a1f80)
-No.32 Trap->0xFFFFF8005B6A2000 nt!KiVmbusInterrupt1Shadow (fffff800`5b6a2000)
-No.33 Trap->0xFFFFF8005B6A2080 nt!KiVmbusInterrupt2Shadow (fffff800`5b6a2080)
-No.34 Trap->0xFFFFF8005B6A2100 nt!KiVmbusInterrupt3Shadow (fffff800`5b6a2100)
+No.35 Stub->0xFFFFF8005B6A23A8 Vector->35 KInterrupt->0xFFFFF8005BD38D50 Irql->05
+No.50 Stub->0xFFFFF8005B6A2480 Vector->50 KInterrupt->0xFFFF99816E74DC80 Irql->05
+No.51 Stub->0xFFFFF8005B6A2488 Vector->51 KInterrupt->0xFFFF99816E8F4280 Irql->05
+No.61 Stub->0xFFFFF8005B6A2508 Vector->61 KInterrupt->0xFFFF99816E8F48C0 Irql->06
+No.70 Stub->0xFFFFF8005B6A2580 Vector->70 KInterrupt->0xFFFF99816E8F4B40 Irql->07
+No.71 Stub->0xFFFFF8005B6A2588 Vector->71 KInterrupt->0xFFFF99816E8F4A00 Irql->07
+No.80 Stub->0xFFFFF8005B6A2600 Vector->80 KInterrupt->0xFFFF99816E8F4C80 Irql->08
+No.81 Stub->0xFFFFF8005B6A2608 Vector->81 KInterrupt->0xFFFF99816E74D140 Irql->08
+No.91 Stub->0xFFFFF8005B6A2688 Vector->91 KInterrupt->0xFFFF99816EA258C0 Irql->09
+No.A1 Stub->0xFFFFF8005B6A2708 Vector->A1 KInterrupt->0xFFFF99816E74D000 Irql->0A
+No.B0 Stub->0xFFFFF8005B6A2780 Vector->B0 KInterrupt->0xFFFF99816E74DDC0 Irql->0B
+No.B1 Stub->0xFFFFF8005B6A2788 Vector->B1 KInterrupt->0xFFFF99816E8F4DC0 Irql->0B
+No.B8 Stub->0xFFFFF8005B6A27C0 Vector->B8 KInterrupt->0xFFFF99816E74DB40 Irql->0B
+No.B9 Stub->0xFFFFF8005B6A27C8 Vector->B9 KInterrupt->0xFFFF99816E74DA00 Irql->0B
+No.BA Stub->0xFFFFF8005B6A27D0 Vector->BA KInterrupt->0xFFFF99816E74D8C0 Irql->0B
+No.BB Stub->0xFFFFF8005B6A27D8 Vector->BB KInterrupt->0xFFFF99816E74D780 Irql->0B
+No.BC Stub->0xFFFFF8005B6A27E0 Vector->BC KInterrupt->0xFFFF99816E74D640 Irql->0B
+No.BD Stub->0xFFFFF8005B6A27E8 Vector->BD KInterrupt->0xFFFF99816E74D500 Irql->0B
+No.BE Stub->0xFFFFF8005B6A27F0 Vector->BE KInterrupt->0xFFFF99816E74D3C0 Irql->0B
+No.BF Stub->0xFFFFF8005B6A27F8 Vector->BF KInterrupt->0xFFFF99816E74D280 Irql->0B
+No.CE Stub->0xFFFFF8005B6A2870 Vector->CE KInterrupt->0xFFFFF8005BD39650 Irql->0C
+No.D1 Stub->0xFFFFF8005B6A2888 Vector->D1 KInterrupt->0xFFFFF8005BD39550 Irql->0D
+No.D2 Stub->0xFFFFF8005B6A2890 Vector->D2 KInterrupt->0xFFFFF8005BD39450 Irql->0D
+No.D7 Stub->0xFFFFF8005B6A28B8 Vector->D7 KInterrupt->0xFFFFF8005BD39250 Irql->0F
+No.D8 Stub->0xFFFFF8005B6A28C0 Vector->D8 KInterrupt->0xFFFFF8005BD39050 Irql->0F
+No.DF Stub->0xFFFFF8005B6A28F8 Vector->DF KInterrupt->0xFFFFF8005BD38F50 Irql->0F
-No.E1 Trap->0xFFFFF8005B6A2180 nt!KiIpiInterruptShadow (fffff800`5b6a2180)
+No.E2 Stub->0xFFFFF8005B6A2910 Vector->E2 KInterrupt->0xFFFFF8005BD39150 Irql->0F
+No.E3 Stub->0xFFFFF8005B6A2918 Vector->E3 KInterrupt->0xFFFFF8005BD38E50 Irql->0E
+No.FE Stub->0xFFFFF8005B6A29F0 Vector->FE KInterrupt->0xFFFFF8005BD39350 Irql->0F
さらに、Windows 11では次のような出力情報が返されてきます。
-No.00 Trap->0xFFFFF80241620D00 nt!KiDivideErrorFault (fffff802`41620d00)
-No.01 Trap->0xFFFFF80241621000 nt!KiDebugTrapOrFault (fffff802`41621000)
-No.02 Trap->0xFFFFF802416215C0 nt!KiNmiInterrupt (fffff802`416215c0)
-No.03 Trap->0xFFFFF80241621B00 nt!KiBreakpointTrap (fffff802`41621b00)
-No.04 Trap->0xFFFFF80241621E40 nt!KiOverflowTrap (fffff802`41621e40)
-No.05 Trap->0xFFFFF80241622140 nt!KiBoundFault (fffff802`41622140)
-No.06 Trap->0xFFFFF80241622680 nt!KiInvalidOpcodeFault (fffff802`41622680)
-No.07 Trap->0xFFFFF80241622B80 nt!KiNpxNotAvailableFault (fffff802`41622b80)
-No.08 Trap->0xFFFFF80241622F00 nt!KiDoubleFaultAbort (fffff802`41622f00)
-No.09 Trap->0xFFFFF80241623200 nt!KiNpxSegmentOverrunAbort (fffff802`41623200)
-No.0A Trap->0xFFFFF80241623540 nt!KiInvalidTssFault (fffff802`41623540)
-No.0B Trap->0xFFFFF80241623880 nt!KiSegmentNotPresentFault (fffff802`41623880)
-No.0C Trap->0xFFFFF80241623C40 nt!KiStackFault (fffff802`41623c40)
-No.0D Trap->0xFFFFF80241623F80 nt!KiGeneralProtectionFault (fffff802`41623f80)
-No.0E Trap->0xFFFFF802416242C0 nt!KiPageFault (fffff802`416242c0)
-No.10 Trap->0xFFFFF80241624900 nt!KiFloatingErrorFault (fffff802`41624900)
-No.11 Trap->0xFFFFF80241624C80 nt!KiAlignmentFault (fffff802`41624c80)
-No.12 Trap->0xFFFFF80241624F80 nt!KiMcheckAbort (fffff802`41624f80)
-No.13 Trap->0xFFFFF80241625B40 nt!KiXmmException (fffff802`41625b40)
-No.14 Trap->0xFFFFF80241625F00 nt!KiVirtualizationException (fffff802`41625f00)
-No.15 Trap->0xFFFFF80241626440 nt!KiControlProtectionFault (fffff802`41626440)
-No.1F Trap->0xFFFFF8024161A430 nt!KiApcInterrupt (fffff802`4161a430)
-No.20 Trap->0xFFFFF8024161C220 nt!KiSwInterrupt (fffff802`4161c220)
-No.29 Trap->0xFFFFF802416269C0 nt!KiRaiseSecurityCheckFailure (fffff802`416269c0)
-No.2C Trap->0xFFFFF80241626D00 nt!KiRaiseAssertion (fffff802`41626d00)
-No.2D Trap->0xFFFFF80241627040 nt!KiDebugServiceTrap (fffff802`41627040)
-No.2F Trap->0xFFFFF8024161C850 nt!KiDpcInterrupt (fffff802`4161c850)
-No.30 Trap->0xFFFFF8024161AA30 nt!KiHvInterrupt (fffff802`4161aa30)
-No.31 Trap->0xFFFFF8024161AD50 nt!KiVmbusInterrupt0 (fffff802`4161ad50)
-No.32 Trap->0xFFFFF8024161B070 nt!KiVmbusInterrupt1 (fffff802`4161b070)
-No.33 Trap->0xFFFFF8024161B390 nt!KiVmbusInterrupt2 (fffff802`4161b390)
-No.34 Trap->0xFFFFF8024161B6B0 nt!KiVmbusInterrupt3 (fffff802`4161b6b0)
+No.35 Stub->0xFFFFF802416185B8 Vector->35 KInterrupt->0xFFFFF80241EF7390 Irql->05
+No.36 Stub->0xFFFFF802416185C0 Vector->36 KInterrupt->0xFFFFF80241EF75D0 Irql->05
+No.50 Stub->0xFFFFF80241618690 Vector->50 KInterrupt->0xFFFF838101979B40 Irql->05
+No.51 Stub->0xFFFFF80241618698 Vector->51 KInterrupt->0xFFFF83810204D8C0 Irql->05
+No.52 Stub->0xFFFFF802416186A0 Vector->52 KInterrupt->0xFFFF83810204D000 Irql->05
+No.60 Stub->0xFFFFF80241618710 Vector->60 KInterrupt->0xFFFF838101979C80 Irql->06
+No.62 Stub->0xFFFFF80241618720 Vector->62 KInterrupt->0xFFFF83810204D140 Irql->06
+No.70 Stub->0xFFFFF80241618790 Vector->70 KInterrupt->0xFFFF838101979140 Irql->07
+No.72 Stub->0xFFFFF802416187A0 Vector->72 KInterrupt->0xFFFF83810204D280 Irql->07
+No.80 Stub->0xFFFFF80241618810 Vector->80 KInterrupt->0xFFFF83810204DDC0 Irql->08
+No.81 Stub->0xFFFFF80241618818 Vector->81 KInterrupt->0xFFFF838101979640 Irql->08
+No.82 Stub->0xFFFFF80241618820 Vector->82 KInterrupt->0xFFFF83810204D3C0 Irql->08
+No.83 Stub->0xFFFFF80241618828 Vector->83 KInterrupt->0xFFFF8381023F9C80 Irql->08
+No.91 Stub->0xFFFFF80241618898 Vector->91 KInterrupt->0xFFFF838101979780 Irql->09
+No.92 Stub->0xFFFFF802416188A0 Vector->92 KInterrupt->0xFFFF83810204D500 Irql->09
+No.93 Stub->0xFFFFF802416188A8 Vector->93 KInterrupt->0xFFFF838101979280 Irql->09
+No.A1 Stub->0xFFFFF80241618918 Vector->A1 KInterrupt->0xFFFF8381019798C0 Irql->0A
+No.A2 Stub->0xFFFFF80241618920 Vector->A2 KInterrupt->0xFFFF83810204D640 Irql->0A
+No.A3 Stub->0xFFFFF80241618928 Vector->A3 KInterrupt->0xFFFF838101979000 Irql->0A
+No.B0 Stub->0xFFFFF80241618990 Vector->B0 KInterrupt->0xFFFF838101979DC0 Irql->0B
+No.B1 Stub->0xFFFFF80241618998 Vector->B1 KInterrupt->0xFFFF838101979A00 Irql->0B
+No.B2 Stub->0xFFFFF802416189A0 Vector->B2 KInterrupt->0xFFFF83810204D780 Irql->0B
+No.B3 Stub->0xFFFFF802416189A8 Vector->B3 KInterrupt->0xFFFF838101979500 Irql->0B
+No.CE Stub->0xFFFFF80241618A80 Vector->CE KInterrupt->0xFFFFF80241EF7ED0 Irql->0C
+No.D1 Stub->0xFFFFF80241618A98 Vector->D1 KInterrupt->0xFFFFF80241EF7DB0 Irql->0D
+No.D2 Stub->0xFFFFF80241618AA0 Vector->D2 KInterrupt->0xFFFFF80241EF7C90 Irql->0D
+No.D7 Stub->0xFFFFF80241618AC8 Vector->D7 KInterrupt->0xFFFFF80241EF7A50 Irql->0F
+No.D8 Stub->0xFFFFF80241618AD0 Vector->D8 KInterrupt->0xFFFFF80241EF7810 Irql->0F
+No.DF Stub->0xFFFFF80241618B08 Vector->DF KInterrupt->0xFFFFF80241EF76F0 Irql->0F
-No.E1 Trap->0xFFFFF8024161CDB0 nt!KiIpiInterrupt (fffff802`4161cdb0)
+No.E2 Stub->0xFFFFF80241618B20 Vector->E2 KInterrupt->0xFFFFF80241EF7930 Irql->0F
+No.E3 Stub->0xFFFFF80241618B28 Vector->E3 KInterrupt->0xFFFFF80241EF74B0 Irql->0E
+No.FE Stub->0xFFFFF80241618C00 Vector->FE KInterrupt->0xFFFFF80241EF7B70 Irql->0F