プロフェッショナル向けWindowsシステム分析
Windows 8.1時代
1: kd> dt _PS_PROTECTED_SIGNER
PS_PROTECTED_SIGNER
PsProtectedSignerNone = 0n0
PsProtectedSignerAuthenticode = 0n1
PsProtectedSignerCodeGen = 0n2
PsProtectedSignerAntimalware = 0n3
PsProtectedSignerLsa = 0n4
PsProtectedSignerWindows = 0n5
PsProtectedSignerWinTcb = 0n6
PsProtectedSignerMax = 0n7
この定義は、Windows 8.1からWindows 10への遷移過程で、次のように再定義されました。
分析時点時のWindows 10
1: kd> dt _PS_PROTECTED_SIGNER
PsProtectedSignerNone = 0n0
PsProtectedSignerAuthenticode = 0n1
PsProtectedSignerCodeGen = 0n2
PsProtectedSignerAntimalware = 0n3
PsProtectedSignerLsa = 0n4
PsProtectedSignerWindows = 0n5
PsProtectedSignerWinTcb = 0n6
PsProtectedSignerWinSystem = 0n7
PsProtectedSignerApp = 0n8
PsProtectedSignerMax = 0n9
Windows 8.1からWindows 10への遷移過程では、「PsProtectedSignerWinSystem = 0n7」と「PsProtectedSignerApp = 0n8」の2点が新たに追加されています。ここでは、追加された「PsProtectedSignerWinSystem = 0n7」と従来から存在する「PsProtectedSignerWindows = 0n5」や「PsProtectedSignerWinTcb = 0n6」の間にある機能上の違いが気になったとします。違いを理解するには、本館のこの「Windows XP/7/8/10のセッションとプロセス」記事程度の基礎知識を身に着けた上で、「Signer」、「Critical」、および、「SubsystemProcess」などの他の値を慎重に比較・吟味し、システム性能低下をはじめとする問題が深刻であれば、「Services.exe」の子プロセスは、原則的に、動作を停止することができます。停止不可条件が設定されている場合には、米Microsoftの(あれば)該当説明文をまず精読し、その理由を独自に分析・実証することになりますが、本稿ではその工程は割愛します。ちなみに、Google社のブラウザであるChromeには、現在、次のような保護条件が設定されています。
-0xffffa80fba830080 ProtectionType->00 Signer->0 Critical->0 SystemProcess->0 SubsystemProcess->0 chrome.exe
-0xffffa80fae5c2080 ProtectionType->00 Signer->0 Critical->0 SystemProcess->0 SubsystemProcess->0 chrome.exe
-0xffffa80fbcfef080 ProtectionType->00 Signer->0 Critical->0 SystemProcess->0 SubsystemProcess->0 chrome.exe
-0xffffa80fbaae50c0 ProtectionType->00 Signer->0 Critical->0 SystemProcess->0 SubsystemProcess->0 chrome.exe
-0xffffa80fbb0e70c0 ProtectionType->00 Signer->0 Critical->0 SystemProcess->0 SubsystemProcess->0 chrome.exe
-0xffffa80fba711080 ProtectionType->00 Signer->0 Critical->0 SystemProcess->0 SubsystemProcess->0 chrome.exe
-0xffffa80fbcadc080 ProtectionType->00 Signer->0 Critical->0 SystemProcess->0 SubsystemProcess->0 chrome.exe
-0xffffa80fbc77b080 ProtectionType->00 Signer->0 Critical->0 SystemProcess->0 SubsystemProcess->0 chrome.exe
Google Chromeのセキュリティー取り組みや考え方に関しては、本館のこの「WinDbgとWindowsセキュリティー解析」記事が参考になるかもしれません。以上保護プロセスに関するシステム分析例を紹介しました。プロセスを保護するメカニズムはほかにも複数の異なる視点からすでに実装されています。より高度、かつ、実践的なシステム分析例は本館の「こちら」のページで紹介しています。
WindowsはSaaSとして提供される時代に入り、その内部は頻繁に更新されています。更新内容の多くは、いろいろな事情から、公にされることはほとんどありません。この背景には、セキュリティーインシデントの頻発と深刻化への対策のほかに、ML/DL/AL分野の研究成果の応用と実装という大きな時代の流れがあります。この流れの中では、システム内部データの急増と練磨が不可避になります。WinDbgのシステム分析機能に精通すると、この急流の本質を自分の目で観察し、「データ収集と分析」工程を通して近未来の方向性を独自の視点から予測できるようになります。