Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
TAKUYA OHTA
PDF, PPTX
1,302 views
ハードコア デバッギング : サポート直伝! Windows カーネルモード デバッグ活用編!!
de:code 2019 で登壇した「ハードコア デバッギング : サポート直伝! Windows カーネルモード デバッグ活用編!!」の資料になります。
Software
◦
Read more
3
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 37
2
/ 37
3
/ 37
4
/ 37
5
/ 37
6
/ 37
7
/ 37
8
/ 37
9
/ 37
Most read
10
/ 37
11
/ 37
Most read
12
/ 37
13
/ 37
14
/ 37
15
/ 37
16
/ 37
17
/ 37
Most read
18
/ 37
19
/ 37
20
/ 37
21
/ 37
22
/ 37
23
/ 37
24
/ 37
25
/ 37
26
/ 37
27
/ 37
28
/ 37
29
/ 37
30
/ 37
31
/ 37
32
/ 37
33
/ 37
34
/ 37
35
/ 37
36
/ 37
37
/ 37
More Related Content
PDF
ゼロトラスト・アーキテクチャを無料で(やれるだけ)実現する
by
KeioOyama
PDF
ゼロから始める自然言語処理 【FIT2016チュートリアル】
by
Yuki Arase
PPTX
DockerコンテナでGitを使う
by
Kazuhiro Suga
PPTX
ハードコア デバッギング : サポート直伝!運用中 Windows アプリケーション バグバスター!!
by
TAKUYA OHTA
PPTX
MS COCO Dataset Introduction
by
Shinagawa Seitaro
PPTX
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
by
NTT DATA Technology & Innovation
PDF
【DL輪読会】GPT-4Technical Report
by
Deep Learning JP
PPTX
3Dマップを活用したVisual Localization
by
Hajime Taira
ゼロトラスト・アーキテクチャを無料で(やれるだけ)実現する
by
KeioOyama
ゼロから始める自然言語処理 【FIT2016チュートリアル】
by
Yuki Arase
DockerコンテナでGitを使う
by
Kazuhiro Suga
ハードコア デバッギング : サポート直伝!運用中 Windows アプリケーション バグバスター!!
by
TAKUYA OHTA
MS COCO Dataset Introduction
by
Shinagawa Seitaro
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
by
NTT DATA Technology & Innovation
【DL輪読会】GPT-4Technical Report
by
Deep Learning JP
3Dマップを活用したVisual Localization
by
Hajime Taira
What's hot
PDF
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
by
Amazon Web Services Japan
PPTX
root権限無しでKubernetesを動かす
by
Akihiro Suda
PPTX
大規模トラフィックにどのように備えて負荷対策を実施しているのか?
by
Yusuke Shirakawa
PDF
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
by
Preferred Networks
PDF
Semantic segmentation
by
Takuya Minagawa
PPTX
LINEのMySQL運用について 修正版
by
LINE Corporation
PDF
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
by
Masahito Zembutsu
PDF
C#でわかる こわくないMonad
by
Kouji Matsui
PDF
画像認識モデルを作るための鉄板レシピ
by
Takahiro Kubo
PPTX
Office ScriptsとPower Automate連携による業務効率化
by
kinuasa
PDF
暗号技術の実装と数学
by
MITSUNARI Shigeo
PPTX
Azure Active Directory 利用開始への第一歩
by
Yusuke Kodama
PDF
ユーザーインタビューするときは、どうやらゾンビのおでましさ
by
Yoshiki Hayama
PDF
[DL輪読会]AdaShare: Learning What To Share For Efficient Deep Multi-Task Learning
by
Deep Learning JP
PDF
3分でわかるAzureでのService Principal
by
Toru Makabe
PPTX
ワタシハ Azure Functions チョットデキル
by
Tsuyoshi Ushio
PDF
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
by
onozaty
PPTX
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
by
NTT DATA Technology & Innovation
PPTX
StyleGAN解説 CVPR2019読み会@DeNA
by
Kento Doi
PPTX
機械学習 / Deep Learning 大全 (4) GPU編
by
Daiyu Hatakeyama
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
by
Amazon Web Services Japan
root権限無しでKubernetesを動かす
by
Akihiro Suda
大規模トラフィックにどのように備えて負荷対策を実施しているのか?
by
Yusuke Shirakawa
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
by
Preferred Networks
Semantic segmentation
by
Takuya Minagawa
LINEのMySQL運用について 修正版
by
LINE Corporation
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
by
Masahito Zembutsu
C#でわかる こわくないMonad
by
Kouji Matsui
画像認識モデルを作るための鉄板レシピ
by
Takahiro Kubo
Office ScriptsとPower Automate連携による業務効率化
by
kinuasa
暗号技術の実装と数学
by
MITSUNARI Shigeo
Azure Active Directory 利用開始への第一歩
by
Yusuke Kodama
ユーザーインタビューするときは、どうやらゾンビのおでましさ
by
Yoshiki Hayama
[DL輪読会]AdaShare: Learning What To Share For Efficient Deep Multi-Task Learning
by
Deep Learning JP
3分でわかるAzureでのService Principal
by
Toru Makabe
ワタシハ Azure Functions チョットデキル
by
Tsuyoshi Ushio
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
by
onozaty
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
by
NTT DATA Technology & Innovation
StyleGAN解説 CVPR2019読み会@DeNA
by
Kento Doi
機械学習 / Deep Learning 大全 (4) GPU編
by
Daiyu Hatakeyama
More from TAKUYA OHTA
PDF
IT エンジニアのための 流し読み Windows - Microsoft Defender Exploit Guard
by
TAKUYA OHTA
PDF
IT エンジニアのための 流し読み Windows - Windows 共有 PC モード
by
TAKUYA OHTA
PDF
IT エンジニアのための 流し読み M365 - Microsoft Defender for Endpoint 概要
by
TAKUYA OHTA
PDF
IT エンジニアのための 流し読み Windows - Microsoft Defender ウイルス対策
by
TAKUYA OHTA
PDF
IT エンジニアのための 流し読み Windows - Windows のライセンス認証 & サブスクリプションのライセンス認証
by
TAKUYA OHTA
PDF
IT エンジニアのための 流し読み Windows - Windows 11 SE アプリケーションの管理
by
TAKUYA OHTA
PDF
IT エンジニアのための 流し読み Windows - Windows 11 SE おさえておきたい 8 のポイント
by
TAKUYA OHTA
PDF
IT エンジニアのための 流し読み Windows - Windows 11 のクリーン インストール
by
TAKUYA OHTA
PDF
IT エンジニアのための 流し読み Windows - Windows 11 へのアップグレード
by
TAKUYA OHTA
PDF
Microsoft デスクトップ仮想化ソリューション比較
by
TAKUYA OHTA
PDF
IT エンジニアのための 流し読み Windows - Windows 365 ってどんな感じ? - せっかちなあなたへ編 -
by
TAKUYA OHTA
PDF
IT エンジニアのための 流し読み Windows 10 - IE11 のサポート終了と Microsoft Edge について
by
TAKUYA OHTA
PDF
IT エンジニアのための 流し読み Microsoft 365 - 入門!Microsoft Defender for Endpoint クロスプラットフ...
by
TAKUYA OHTA
PDF
IT エンジニアのための 流し読み Microsoft 365 - 入門!Microsoft Defender ATP
by
TAKUYA OHTA
PDF
IT エンジニアのための 流し読み Windows 10 - Microsoft Defender ウイルス対策
by
TAKUYA OHTA
PDF
IT エンジニアのための 流し読み Windows 10 - Windows Hello for Business
by
TAKUYA OHTA
PDF
IT エンジニアのための 流し読み Windows 10 - 超概要!Windows Defender シリーズ
by
TAKUYA OHTA
PDF
IT エンジニアのための 流し読み Windows 10 - Windows サンドボックス
by
TAKUYA OHTA
PDF
IT エンジニアのための 流し読み Windows 10 - Windows のネットワーク最適化機能
by
TAKUYA OHTA
PDF
IT エンジニアのための 流し読み Windows 10 - Windows 10 サブスクリプションのライセンス認証
by
TAKUYA OHTA
IT エンジニアのための 流し読み Windows - Microsoft Defender Exploit Guard
by
TAKUYA OHTA
IT エンジニアのための 流し読み Windows - Windows 共有 PC モード
by
TAKUYA OHTA
IT エンジニアのための 流し読み M365 - Microsoft Defender for Endpoint 概要
by
TAKUYA OHTA
IT エンジニアのための 流し読み Windows - Microsoft Defender ウイルス対策
by
TAKUYA OHTA
IT エンジニアのための 流し読み Windows - Windows のライセンス認証 & サブスクリプションのライセンス認証
by
TAKUYA OHTA
IT エンジニアのための 流し読み Windows - Windows 11 SE アプリケーションの管理
by
TAKUYA OHTA
IT エンジニアのための 流し読み Windows - Windows 11 SE おさえておきたい 8 のポイント
by
TAKUYA OHTA
IT エンジニアのための 流し読み Windows - Windows 11 のクリーン インストール
by
TAKUYA OHTA
IT エンジニアのための 流し読み Windows - Windows 11 へのアップグレード
by
TAKUYA OHTA
Microsoft デスクトップ仮想化ソリューション比較
by
TAKUYA OHTA
IT エンジニアのための 流し読み Windows - Windows 365 ってどんな感じ? - せっかちなあなたへ編 -
by
TAKUYA OHTA
IT エンジニアのための 流し読み Windows 10 - IE11 のサポート終了と Microsoft Edge について
by
TAKUYA OHTA
IT エンジニアのための 流し読み Microsoft 365 - 入門!Microsoft Defender for Endpoint クロスプラットフ...
by
TAKUYA OHTA
IT エンジニアのための 流し読み Microsoft 365 - 入門!Microsoft Defender ATP
by
TAKUYA OHTA
IT エンジニアのための 流し読み Windows 10 - Microsoft Defender ウイルス対策
by
TAKUYA OHTA
IT エンジニアのための 流し読み Windows 10 - Windows Hello for Business
by
TAKUYA OHTA
IT エンジニアのための 流し読み Windows 10 - 超概要!Windows Defender シリーズ
by
TAKUYA OHTA
IT エンジニアのための 流し読み Windows 10 - Windows サンドボックス
by
TAKUYA OHTA
IT エンジニアのための 流し読み Windows 10 - Windows のネットワーク最適化機能
by
TAKUYA OHTA
IT エンジニアのための 流し読み Windows 10 - Windows 10 サブスクリプションのライセンス認証
by
TAKUYA OHTA
ハードコア デバッギング : サポート直伝! Windows カーネルモード デバッグ活用編!!
1.
de:code 2019 CM10 ハードコア
デバッギング : サポート直伝! Windows カーネルモード デバッグ活用編!! 日本マイクロソフト 太田 卓也 日本マイクロソフト Jesse Swearengin 日本マイクロソフト 冷 春亮
2.
ここでいうデバッギングとは? 問題発生時のメモリ上のデータをデバッガーで解析 OS の知識 CPU の知識 関連ツール プログラミング
3.
本日お持ち帰りいただきたい知識 ジェシー デバッグ歴 5 年 カーネル
モード デバッグの知識 レン JavaScript を利用した デバッグの効率化 デバッグ歴 20 年
4.
de:code 2019 CM10 カーネル
モード デバッグの力を知ろう! 日本マイクロソフト カスタマー サービス & サポート サポート エンジニア Jesse Swearengin (ジェシー)
5.
これまでのシナリオ アプリでエラーが発生! ダンプ解析 ユーザーモード デバッグ Time Travel Debugging トレース解析 問題解決! アプリ
6.
これまでのシナリオ 反応すらしない・・・ アプリ どうやって調べれば・・・?
7.
アプリ サービス ユーザーモード カーネルモード ハードウェア カーネル モジュールなど 「カーネルモードデバッグ」
なら可能です! アプリ
8.
カーネル モード デバッグの力を知ろう! 1.
こんなときこそカーネルモードデバッグ! 2. デバッグ環境を作ってみよう! 3. 問題解決をしてみよう!
9.
こんなときこそカーネルモードデバッグ! アプリ 他のアプリ・プロセスに処理を依頼し、 その処理の中で発生した問題カーネル別アプリ パターン ③ そもそも対象のアプリ・プロセスを デバッグできないような状態アプリ パターン ① アプリ カーネル Windows カーネルに処理が 行き渡った中で発生した問題 パターン ②
10.
カーネル モード デバッグの力を知ろう! 1.
こんなときこそカーネルモードデバッグ! 2. デバッグ環境を作ってみよう! 3. 問題解決をしてみよう!
11.
カーネルモードデバッグの接続 ホスト ターゲット デバッグケーブル (シリアル、USB、1394)
12.
カーネルモードデバッグの接続 ホスト ターゲット 仮想マシン ネットワーク接続 (KDNET)
13.
Hyper-V 環境 作成 ターゲットに KDNET.exe を コピー&実行 ターゲット 再起動 WinDbg 接続 カーネルモードデバッグのセットアップ
(KDNET)
14.
カーネル モード デバッグの力を知ろう! 1.
こんなときこそカーネルモードデバッグ! 2. デバッグ環境を作ってみよう! 3. 問題解決をしてみよう!
15.
カーネルモードデバッグ実践 環境情報ログアプリのハングを突き止めろ!
16.
カーネルモードデバッグ実践 : 今回の構成 ホスト WinDBG 仮想マシン ContosoApp ネットワーク接続 (KDNET)
17.
カーネルモードデバッグ実践 – 概要図 ContosoApp
svchost.exe (WMI ホスト) WmiPrvSE.exe (WMI プロバイダ) ユーザーモード ALPC ALPC FLTMGR.SYS カーネルモード ContosoDrv.sys 登録関数 呼び出し I/O 要求
18.
知っていると良いコマンド 最低限知っておくべき ドライバー関連 カーネル オブジェクト関連 メモリ利用状況関連 検証関連 ※ Mex
も Kernel Debug 用のコマンドあります! !mex.tl, !mex.obj, !mex.fep, …
19.
リファレンス https://docs.microsoft.com/ja-jp/windows-hardware/drivers/debugger/setting-up-kernel-mode-debugging-in-windbg--cdb--or-ntsd https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/kernel-mode-extensions https://blogs.msdn.microsoft.com/ntdebugging/ https://blogs.msdn.microsoft.com/jpwdkblog/ https://blogs.technet.microsoft.com/askcorejp/2018/01/19/デスクトップ-ヒープの枯渇/ https://www.codemachine.com/article_x64deepdive.html https://docs.microsoft.com/en-us/windows-hardware/drivers/ifs/writing-preoperation-callback-routines
20.
Call to Action
! Step 1 Prepare Step 2 Learn Step 3 Apply
21.
de:code 2019 CM10 JavaScript
でデバッグ作業を自動化 日本マイクロソフト カスタマー サービス & サポート シニア エスカレーション エンジニア 冷 春亮
22.
デバッガ エクステンションを作れば良いが・・・ ※ デバッガ
エクステンションとは 拡張コマンドが含まれているモジュール 複数の複雑なコマンドや、たくさんのオブジェクトに対して実行する場合に利用 Visual Studio Debugger SDK ちょっと作るのにハードル高い・・・
23.
そこで・・・ JavaScript ビルド不要!ドキュメント多数!サンプル豊富! ※ 私は JavaScript
得意ではありません・・・
24.
Demo : ウォーミングアップ CPU
使用率 Top 5 を調べよう!
25.
こんな感じで作ってみます! ① 名前空間を調べる デバッガーのコマンド ② デバッガ
API を調べる Host APIs for JavaScript Extensions ③ スクリプトを書く Docs のサイト JavaScript のドキュメント GitHubのサンプル ※ 後ほど資料で共有します kd> dx Debugger
26.
デバッガの API の例 host.getModuleSymbolAddress(“module”,
“GlobalVariableName”); グローバル変数のアドレスを取得 host.diagnostics.debugLog(“Hello World”); デバッグログを出力 host.namespace.Debugger.Utility.Control.ExecuteCommand(“vertarget”); デバッガ コマンドを実行 host.currentSession.Processes[PID].Threads[TID].SwitchTo(); 特定のプロセス・スレッド・フレームのコンテキストに切り替え
27.
不正な実装をもつドライバーが存在する可能性 From alert to
driver vulnerability: Microsoft Defender ATP investigation unearths privilege escalation flaw https://www.microsoft.com/security/blog/2019/03/25/from-alert-to-driver-vulnerability-microsoft-defender-atp-investigation-unearths-privilege-escalation-flaw/ マルウェアでよく使われるコード インジェクション Kernel lsass.exe ZwAllocateVirtualMemory Victim Thread memcpy KeInsertQueueApc Userland shellcode RWX
28.
ミッション: 以下の 2
つの JavaScript を作って自動実行! ◼ ZwAllocateVirtualMemory ◼ KeInsertQueueApc 上記スクリプトをダンプに自動実行する!CMD
29.
SearchImports.js のおさらい host.currentSession.Processes[4].Modules; system プロセスのすべてのモジュールを取得 ExecuteCommand("!dh
" + strModBaseAddr); 個々のモジュールに対して !dh コマンドを実行 search("Import Address Table Directory"); 出力結果からImport Address Table の場所を探す ExecuteCommand(“dps ” + IAT開始アドレス + IAT 終了アドレス); dps コマンドでImport Address Tableをダンプ search(“nt!KeInsertQueueApc”); search("nt!ZwAllocateVirtualMemory"); ダンプの結果に関数名の文字列を探す
30.
ミッション: 以下の 2
つの JavaScript を作って自動実行! ◼ ZwAllocateVirtualMemory ◼ KeInsertQueueApc 上記スクリプトをダンプに自動実行する!CMD
31.
.scriptrun SearchImports.js .scriptrun CreateProcessCallback.js q TXT C:¥>
Autodebug.cmd C:¥data¥memory.dmpCMD kd.exe -z %1 -c "$$><C:¥js¥myscript.txt" > %1.myscript_result.txt BAT ダンプ解析の自動実行
32.
ミッション: 以下の 2
つの JavaScript を作って自動実行! ◼ ZwAllocateVirtualMemory ◼ KeInsertQueueApc 上記スクリプトをダンプに自動実行する!CMD
33.
まとめ - JavaScript
利用のメリット 開発が簡単! デバッガが用意したデータにアクセス可能! API 以外にも既存のコマンドを活用!
34.
de:code 2019 CM10 ハードコア
デバッギング : サポート直伝! Windows カーネルモード デバッグ活用編!! 1. 事務連絡 2. 本セッション情報まとめ
35.
本日の資料 http://aka.ms/cm10 ✓使用したスライド ✓デモで使用したファイル ✓デモ動画 ✓過去のセッションのリンク Information de:code 2019 本セッションの資料!- フライング公開!!
36.
デバッグ作業での 繰り返し処理の自動化 ユーザーモードデバッグのみで 解決できない時の場合 カーネル モードデバッグの知識 JavaScript での効率化 本日の資料 http://aka.ms/cm10 本セッションのまとめ
37.
© 2018 Microsoft
Corporation. All rights reserved. 本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。 © 2019 Microsoft Corporation. All rights reserved. 本情報の内容 (添付文書、リンク先などを含む) は、de:code 2019 開催日 (2019年5月29~30日) 時点のものであり、予告なく変更される場合があります。 本コンテンツの著作権、および本コンテンツ中に出てくる商標権、団体名、ロゴ、製品、サービスなどはそれぞれ、各権利保有者に帰属します。
Download