「Windowsメモリダンプ解析サービス」のご案内
豊田孝の「IT談話館」 Windowsメモリダンプ解析を依頼する WinDbgとシステム分析




 本「IT談話館」一般公開記事は、書籍 「インサイド Microsoft Windows」 程度の基礎知識をお持ちの方を想定しています。



Windowsシステムクラッシュとメモリダンプ解析技術


 SaaS時代におけるWindows 10の頻繁なる内部更新は、性能向上と互換性維持などに加え、ML/DL/AI時代への対応と位置付けられています。簡単に表現すれば、Windows 10はCloudサービスと連携しながらBig Dataを収集・蓄積する「ソフトウェアセンサー」、という役割を担っています。本「IT談話館」は、そのソフトウェアセンサーのユーザー空間とカーネル空間を独自の解析コードで詳しく解析する技術を保有し、「Windowsメモリダンプ解析サービス」を提供しています。「本館サービス」をご利用の際には、所属チーム内でご協議の上、「ご連絡」頂けると幸いです。

 メモリダンプを解析すると、採取時点におけるシステム内部の「異様な動き」を検出・解析することができます。「異様な動き」の中には、システムパフォーマンスの低下、既存アプリの動作異常、システムクラッシュ原因、あるいは、セキュリティー脅威なども含まれます。本「IT談話館」の「一般公開記事」は、「Active Memory Dump とカーネルメモリダンプ」の解析結果を基に起草され、0dayをはじめとする脆弱性研究者、組み込みシステム開発者、デジタルフォレンジック技術者、および、EDR製品のビジネス関係者に広く読まれています。本館の「一般公開記事」レベルの技術情報は、世界的にも、それほど多く公開されているわけではありません。

 セキュリティーの視点からWindows10ソフトウェアセンサーを見た場合、本「IT談話館」の確認範囲では、「カーネル層保護ロジック」に加え、次のような高次の保護メカニズム階層が考案・実装されています。下記リンクはすべて本館記事を指しています。
  1. Silo/Server Silo
  2. Job
  3. Session
  4. Protected Process
  5. Mandatory Integrity Control(MIC)
  6. Windows API(+CPU)
  7. CPU
 ソフトウェアセンサーはWindowsカーネルアーキテクチャーの上位に位置する概念であり、Windowsデバイス(Clientマシン)とMicrosoftクラウド(ML/DL/AIシステム)を連結しています。Windows 10のソフトウェアセンサー化に興味のある方は、本「IT談話館」の別稿「Windowsセキュリティーメカニズム」に目を通すとよろしいかもれません。本稿ではWindowsのクラッシュダンプの解析技術を取り上げます。クラッシュダンプを解析する場合、多くのビジネス組織では「!analyze -v」コマンドを実行していると思いますが、本稿ではそこから一歩奥に入った作業工程を取り上げています。

 Windowsシステムは性能限界に達すると動作を停止し、指定されたクラッシュダンプを作成します。ただ、性能限界と一口に言っても、サードバーティー製デバイスドライバーの不具合や外部から投下された低品質マルウェアの動作異常をはじめとする外的因子からプロセスやスレッドを管理するカーネル内部機能の仕様限界も含まれ、正確な定義は存在しません。

 本稿では、次のような「カーネルメモリダンプ」を解析対象とします。
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

Use !analyze -v to get detailed debugging information.

BugCheck 133, {0, 501, 500, 0}

*** ERROR: Module load completed but symbols could not be loaded for netr28ux.sys
Probably caused by : netr28ux.sys ( netr28ux+8bd3 )

Followup:     MachineOwner
---------

0: kd> vertarget
Windows 8.1 Kernel Version 9600 MP (4 procs) Free x64
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 9600.17328.amd64fre.winblue_r3.140827-1500
Machine Name:
Kernel base = 0xfffff802`50871000 PsLoadedModuleList = 0xfffff802`50b47370
Debug session time: Fri Nov  7 14:50:46.222 2014 (UTC + 9:00)
System Uptime: 0 days 21:21:18.953
 この情報は次のような障害データを提供しています。  このクラッシュダンプの解析を依頼された場合、本「IT談話館」」は、多少多めの情報を収集・分析した上で、まず、システムクラッシュ発生当時のシステム概要を把握します。システム概要の把握は、システムクラッシュ原因の特定作業だけではなく、マルウェアやパフォーマンス低下因子の検出・分析作業でも基本中の基本です。さらには、近年ではデジタル犯罪が増えており、「完全メモリダンプ」ベースのデジタルフォレンジックが脚光を浴びています。作業目的が異なりますが、メモリ内部をくわしく解析する点では技術的に共通していますから、クラッシュダンプ解析技術はそのままデジタルフォレンジックに適応できます。

Windowsシステムクラッシュとシステム概要の把握」へ



ビジネスメニュー




 本「IT談話館」一般公開記事は、書籍 「インサイド Microsoft Windows」 程度の基礎知識をお持ちの方々を想定しています。
Windowsメモリダンプ解析技術開発室 ビジネスメニュー

Copyright©豊田孝 2004- 2020
本日は2020-08-06です。