Windows内部解析サービス
豊田孝の「IT談話館」 Windowsメモリダンプ解析を依頼する WinDbgとWindowsカーネル解析




 本「IT談話館」一般公開記事は、10年以上の開発実務経験を持つ上級Windowsエンジニアを想定しています。
 公開技術レベルは、当館ビジネスに支障の出ない範囲に制限されています。

 完全メモリダンプを解析すると、採取時点におけるシステム内部の「異様な動き」を検出・解析することができます。
 「異様な動き」の中には、次の項目が含まれます。
  • システムクラッシュ原因
  • セキュリティー脅威
  • システムパフォーマンスの低下
  • 既存アプリの動作異常



Windowsカーネル, WMI, Silo, システムロガー


 本「IT談話館」主筆の「豊田孝」はDKOM(Direct Kernel Object Manipulation)ベースの解析手法の第一人者であり、Windowsカーネル空間の解析分野では世界の先頭を走っています。
  1. Silo/Server Silo
  2. Job
  3. Session
  4. Protected Process
  5. Mandatory Integrity Control(MIC)
  6. Windows API(+CPU)
  7. CPU
 本稿では「WinDbg、WMI、システムロガー(基礎)」前編に続き、WMIを取り上げています。WMIと一口に言ってもその守備範囲が広いため、ここではWMIと、Siloという概念との関係性に焦点を当てています。Siloの基礎的な解析工程は、本「IT談話館」のこの記事「WinDbgとWindowsカーネルアーキテクチャー」で紹介しています。

 Windowsシステム内部、特にカーネル空間はバージョン単位ではなくビルド単位で頻繁に更新されます。未公開の情報を含む最新内部機能を調査する際には、カーネル内部を直接覗く必要があります。多くの最新実装機能や実装予定の機能はカーネル空間内に実装、あるいは、予告されています。

 本「IT談話館」は、WMIに関する経験は豊富であり、SiloとWMIとは内部的に関係していることを実践的に確認しています。

 まずは次の解析情報を見てみましょう。
3: kd> vertarget
Windows 10 Kernel Version 14393 MP (4 procs) Free x64
Product: Server, suite: TerminalServer SingleUserTS
Built by: 14393.2068.amd64fre.rs1_release.180209-1727
Machine Name:
Kernel base = 0xfffff803`c381d000 PsLoadedModuleList = 0xfffff803`c3b251a0
Debug session time: Mon Jun 25 16:16:23.767 2018 (UTC + 9:00)
System Uptime: 2 days 20:12:55.966

 この調査対象のメモリダンプは2018年6月25日に採取されています。ビルド番号は「14393.2068」と記されています。
日付からはかなり古いOSということが分かりますが、本館で使用する解析コードの多くは例外なく、Windows 11
の最新ビルド環境でもそのまま利用できます。つまり、Windows 7やWindows 81からWindows 10への遷移期間で発生した
内部変更の影響は受けません。表現を変えると、Windows 10以降のカーネル内部は激変の時期を通過し、安定期に入っています。


nt!_WMI_LOGGER_CONTEXT->0xffff9c876c477040 Id->03 _ETW_SILODRIVERSTATE->0xffff9c876c0c8000 nt!_WMI_LOGGER_CONTEXT->0xffff9c876c30a5c0 Id->04 _ETW_SILODRIVERSTATE->0xffff9c876c0c8000 nt!_WMI_LOGGER_CONTEXT->0xffff9c876c308040 Id->05 _ETW_SILODRIVERSTATE->0xffff9c876c0c8000 nt!_WMI_LOGGER_CONTEXT->0xffff9c876e6788c0 Id->06 _ETW_SILODRIVERSTATE->0xffff9c876c0c8000 nt!_WMI_LOGGER_CONTEXT->0xffff9c876c2e6500 Id->07 _ETW_SILODRIVERSTATE->0xffff9c876c0c8000 nt!_WMI_LOGGER_CONTEXT->0xffff9c876c2e59c0 Id->08 _ETW_SILODRIVERSTATE->0xffff9c876c0c8000 nt!_WMI_LOGGER_CONTEXT->0xffff9c876c2e4b80 Id->09 _ETW_SILODRIVERSTATE->0xffff9c876c0c8000 nt!_WMI_LOGGER_CONTEXT->0xffff9c876c2e3b80 Id->0a _ETW_SILODRIVERSTATE->0xffff9c876c0c8000 nt!_WMI_LOGGER_CONTEXT->0xffff9c876c478040 Id->0b _ETW_SILODRIVERSTATE->0xffff9c876c0c8000 nt!_WMI_LOGGER_CONTEXT->0xffff9c876c476040 Id->0c _ETW_SILODRIVERSTATE->0xffff9c876c0c8000 nt!_WMI_LOGGER_CONTEXT->0xffff9c876c467840 Id->0d _ETW_SILODRIVERSTATE->0xffff9c876c0c8000 nt!_WMI_LOGGER_CONTEXT->0xffff9c876ede92c0 Id->0e _ETW_SILODRIVERSTATE->0xffff9c876c0c8000 nt!_WMI_LOGGER_CONTEXT->0xffff9c876c4dfb80 Id->0f _ETW_SILODRIVERSTATE->0xffff9c876c0c8000 nt!_WMI_LOGGER_CONTEXT->0xffff9c876c4de9c0 Id->10 _ETW_SILODRIVERSTATE->0xffff9c876c0c8000 nt!_WMI_LOGGER_CONTEXT->0xffff9c876c2074c0 Id->11 _ETW_SILODRIVERSTATE->0xffff9c876c0c8000 nt!_WMI_LOGGER_CONTEXT->0xffff9c876e215b40 Id->13 _ETW_SILODRIVERSTATE->0xffff9c876c0c8000 nt!_WMI_LOGGER_CONTEXT->0xffff9c876dbb5b80 Id->14 _ETW_SILODRIVERSTATE->0xffff9c876c0c8000 nt!_WMI_LOGGER_CONTEXT->0xffff9c876f103b80 Id->15 _ETW_SILODRIVERSTATE->0xffff9c876c0c8000 nt!_WMI_LOGGER_CONTEXT->0xffff9c876f2e7b80 Id->16 _ETW_SILODRIVERSTATE->0xffff9c876c0c8000 nt!_WMI_LOGGER_CONTEXT->0xffff9c876eab5740 Id->17 _ETW_SILODRIVERSTATE->0xffff9c876c0c8000 nt!_WMI_LOGGER_CONTEXT->0xffff9c876ec21900 Id->18 _ETW_SILODRIVERSTATE->0xffff9c876c0c8000
 赤色で強調表示されているデータはSiloに関係しています。このデータの中身を見てみます。
nt!_ETW_SILODRIVERSTATE
   +0x000 EtwpSecurityProviderGuidEntry : _ETW_GUID_ENTRY
   +0x190 EtwpLoggerRundown : [64] 0xffff9c87`6c298270 _EX_RUNDOWN_REF_CACHE_AWARE
   +0x390 WmipLoggerContext : [64] 0x00000000`00000001 _WMI_LOGGER_CONTEXT
   +0x590 EtwpGuidHashTable : [64] _ETW_HASH_BUCKET
   +0x1390 EtwpSecurityLoggers : [8] 3
   +0x13a0 EtwpSecurityProviderEnableMask : 0x3 ''
   +0x13a1 EtwpShutdownInProgress : 0 ''
   +0x13a4 EtwpSecurityProviderPID : 0x2c4
 この情報はWmiとSiloの関係が深いことを示しています。次に第2の解析情報を見てみます。
0: kd> vertarget
Windows 10 Kernel Version 18362 MP (2 procs) Free x64
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 18362.1.amd64fre.19h1_release.190318-1202
Machine Name:
Kernel base = 0xfffff802`6e400000 PsLoadedModuleList = 0xfffff802`6e848130
Debug session time: Thu Dec 26 15:26:37.338 2019 (UTC + 9:00)
System Uptime: 3 days 5:48:09.082

EtwLogger->0xffffa80faafd39c0	Id->02	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80faafce9c0	Id->03	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80faae69a40	Id->04	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80fb888e9c0	Id->05	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80faafd49c0	Id->06	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80faafd59c0	Id->07	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80fab1b5a00	Id->08	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80fab05c9c0	Id->09	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80fab05d9c0	Id->0a	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80fab05e9c0	Id->0b	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80faafcd9c0	Id->0c	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80faaf3d9c0	Id->0d	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80faaf3c9c0	Id->0e	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80faee939c0	Id->0f	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80faaf3a9c0	Id->10	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80faaf329c0	Id->11	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80faaf319c0	Id->12	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80faaf309c0	Id->13	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80faaf35a00	Id->14	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80faaf409c0	Id->15	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80fab4e3a00	Id->16	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80fab1b69c0	Id->17	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80fb9bf39c0	Id->18	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80fb03e4a00	Id->19	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80fb94e4a00	Id->1a	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80fb7de4a00	Id->1b	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80faed10040	Id->1c	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80fb8ee59c0	Id->1d	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80fb0224a00	Id->1e	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80fb8f2b9c0	Id->1f	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80fb88a19c0	Id->20	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80fb7f77040	Id->21	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
EtwLogger->0xffffa80fb85c2a00	Id->23	_ETW_SILODRIVERSTATE->0xffffa80faaf3e000
 このメモリダンプは、2019年12月26日時点のビルド番号「18362.1」を持つWindows 10環境で採取されています。先ほどと同じように、赤色データの中身を確認してみます。
0: kd> dt _ETW_SILODRIVERSTATE 0xffffa80faaf3e000
nt!_ETW_SILODRIVERSTATE
   +0x000 Silo             : (null) 
   +0x008 SiloGlobals      : 0xfffff802`6e98e540 _ESERVERSILO_GLOBALS
   +0x010 MaxLoggers       : 0x40
   +0x018 EtwpSecurityProviderGuidEntry : _ETW_GUID_ENTRY
   +0x1a8 EtwpLoggerRundown : 0xffffa80f`aae71ac0  -> 0xffffa80f`aae503f0 _EX_RUNDOWN_REF_CACHE_AWARE
   +0x1b0 EtwpLoggerContext : 0xffffa80f`aae71cc0  -> 0x00000000`00000001 _WMI_LOGGER_CONTEXT
   +0x1b8 EtwpGuidHashTable : [64] _ETW_HASH_BUCKET
   +0xfb8 EtwpSecurityLoggers : [8] 3
   +0xfc8 EtwpSecurityProviderEnableMask : 0x3 ''
   +0xfcc EtwpShutdownInProgress : 0n0
   +0xfd0 EtwpSecurityProviderPID : 0x2bc
   +0xfd8 PrivHandleDemuxTable : _ETW_PRIV_HANDLE_DEMUX_TABLE
   +0xff8 EtwpCounters     : _ETW_COUNTERS
   +0x1008 LogfileBytesWritten : _LARGE_INTEGER 0x13877c00
   +0x1010 ProcessorBlocks  : 0xffffa80f`aaf3f240 _ETW_SILO_TRACING_BLOCK
   +0x1018 ContainerRestoreWnfSubscription : 0xffff8181`48a55f70 _EX_WNF_SUBSCRIPTION
   +0x1020 PartitionId      : _GUID {00000000-0000-0000-0000-000000000000}
   +0x1030 ParentId         : _GUID {00000000-0000-0000-0000-000000000000}
   +0x1040 QpcOffsetFromRoot : _LARGE_INTEGER 0x0
   +0x1048 PartitionType    : 0
   +0x104c SystemLoggerSettings : _ETW_SYSTEM_LOGGER_SETTINGS
   +0x11c0 EtwpStartTraceMutex : _KMUTANT
 ご覧のように、先ほどの情報とは大きく異なる情報が返されています。この情報はWMIとSiloとの関係が緊密であることを示しています。本館の調査経験では、この情報はセキュリティー分析、パフォーマンス低下、Anomaly検出などの作業で大いに役に立つことが分かっています。



ビジネスメニュー




「Windowsメモリダンプ解析サービス」のご案内
Windowsメモリダンプ解析技術

Copyright©豊田孝 2004- 2026
本日は2026-05-01です。