狠狠撸

狠狠撸Share a Scribd company logo
Confidence 0
L T 大 会
URL踏むとBSoDになる、
心のあたたまるお話
2021年02月26日
LT大会#11 ~冬のぽかぽかテックトーク~
Confidence 0
- 2 -
L T 大 会
セキュリティ系ニュースで「Windowsのバグ」が公開され、
確認してみたらいろいろ面白く、心が「あたたまった」お話です。
Confidence 0
- 3 -
L T 大 会
ある日、ニュースを見つけた
いつも通り、脆弱性情報やセキュリティ ニュースを収集していたら、とても面
白そうな記事を見つけました。
「Windows 10 bug crashes your PC when you access this location」
(意訳:この場所にアクセスすると、Windows10のバグでPCがクラッシュしま
す)
?「.globalrootdevicecondrvkernelconnect」
これはどういうことなの?
?Windows Driver Model(WDM)での名前空間の処理が不適切
?本来、Attach拡張属性を渡されることが期待されるが、不適切なエラーチェックの為
に、Attach拡張属性が渡されない場合に例外が発生し、Winodws10がクラッシュする
→Blue Screen Of Death(BSOD)
BSOD?
?致命的なエラーの時に表示される
?以前はRedScreenもあった(RSoD
?InsiderBuildだと緑(GSoD?)
大雑把に
デバイスドライバ周り
という理解でOK.
Confidence 0
- 4 -
L T 大 会
(ところでBSoDとは)
Blue Screen of Death(BSoD)は、致命的なエラーが発生したときに表示される画面、
です。
OSとして処理できない例外が発生した場合、等
再起動する以外、復旧の手立てがない
?そもそも、BSoD画面の時点でOSとしては停止している
BSoDの仲間
Red Screen of Death(BSoD)
?BSoDよりも発生頻度が低いが、深刻度が高いエラー画面
?主にブートローダー系やシステムが起動できないほどの、深刻な状況で発生
Green Screen of Death(GSoD)
?Windows10 Insider Previewの場合、青ではなく緑の背景でエラーが出る
?「Insider Previewである」ことが分かるようにするため、という説がある
最近はOSも堅牢になってきているため、ほぼ見ることはないかもしれません。
例えば次のページのような画面です↓
Confidence 0
- 5 -
L T 大 会
(みんな大好きBSoD collection)
Windows95まではエラーが起こった旨の表現だ
けだったが、Windows98以降はエラー原因やメ
モリ位置も表現されるようになった。
Widnwos8(およびWindows Server 2008)以降は、
シンプルな顔文字だけになった(別途、イベント
ログでコードを確認する)。
色合いは、OSバージョン等で異なることがある。
個人的一押しは、Windows2000バージョンの、
情報量と色合い。
Windows95
Windows98
Windows ME
Windows2000
Windows7
Windows8
Windows10
Windows10
Windows10
Windows10
Technorogy prevew
だっけ?
Windows7
Confidence 0
- 6 -
L T 大 会
実機での動作確認
発生原因が分かれば、どこで(バグが)利用できるかを確認したくなりますよ
ね?
ブラウザ
?Chrome
? URLバーに入れ、移動した瞬間に発生
? ブックマークは問題ない( file://.global... の表記になる)
? HTML内に `<a herf=“.global...”>LINK</a>` で、アクセスした瞬間に発生
?Firefox
? URLバーに入れた瞬間に発生
? ブックマークでURLを入れた瞬間発生
? HTML内に `<a herf=“.global...”>LINK</a>` で、アクセスした瞬間に発生
?Edge
? 何をしても、大体大丈夫( file://./global... 表記になる)
OS
?ショートカット
? 「リンク先(T)」にURLを書いた瞬間発生
?URLショートカット
? ファイル作成時は問題ないが、ファイル共有等でダウンロードした瞬間発生
? などなど
Pic. 01
何度もBSoDをさせられた、不遇な私用PC
BSOD
OS起動
1. 検証
2. 再起動
Figure. 01:検証サイクル
Confidence 0
- 7 -
L T 大 会
影響範囲
先ほどの実験により、おおよその状況が分かった
ブラウザ
?Edgeは、アクセス前に検証されているようだ
? `.grobal…`を正しく`file://./grobal…`に置き換えてから処理始めてる?
?他のブラウザは、URLに`で始まるアドレス`の処理が一部想定されていない?
? `file://`形式に置き換えずにアクセスしている部分があり、そこで影響を受けている?
?URLをペースト直後に落ちるものは、先行キャッシュかicon取得のアクセス?
? 内部動作なので、いわゆる「IT ;THE END(IT それが見えたら終わり)」状態
OSの処理
?先行キャッシュやicon取得のタイミングで落ちている
? 検証せずに、icon取得等のライブラリ等にURLを渡している?
全体的に
?動作的に、URLのアクセス制限などでは防げない
?本来は、WDM名前空間処理で適切にエラー処理をする、のが正しい
?とはいえ、アプリ側でも、入力された文字列を適切にサニタイズしてから処理する部
分が不足しているのは確か
修正はどうすべきか
?アプリ側の修正はすべきだが、バグの元であるWDM名前空間処理の修正が必要
Confidence 0
- 8 -
L T 大 会
影響範囲
先ほどの実験により、おおよその状況が分かった
ブラウザ
?Edgeは、アクセス前に検証されているようだ
? `.grobal…`を正しく`file://./grobal…`に置き換えてから処理始めてる?
?他のブラウザは、URLに`で始まるアドレス`の処理が一部想定されていない?
? `file://`形式に置き換えずにアクセスしている部分があり、そこで影響を受けている?
?URLをペースト直後に落ちるものは、先行キャッシュかicon取得のアクセス?
? 内部動作なので、いわゆる「IT ;THE END(IT それが見えたら終わり)」状態
OSの処理
?先行キャッシュやicon取得のタイミングで落ちている
? 検証せずに、icon取得等のライブラリ等にURLを渡している?
全体的に
?動作的に、URLのアクセス制限などでは防げない
?本来は、WDM名前空間処理で適切にエラー処理をする、のが正しい
?とはいえ、アプリ側でも、入力された文字列を適切にサニタイズしてから処理する部
分が不足しているのは確か
修正はどうすべきか
?アプリ側の修正はすべきだが、バグの元であるWDM名前空間処理の修正が必要
Edgeは、入力URLをサニタイズしてるので影響がない?
FirefoxやChromeは、OSにそのまま渡しているのかも?
OSの一部の処理は、事前サニタイズせずに渡してる?
↓
OS側での対処が必要!
=更新プログラムが必要
Confidence 0
- 9 -
L T 大 会
脆弱性としてみた場合
本件を「脆弱性」としてみた場合、どのような影響があるのだろうか?
発生する現象はBSoDのみなので、一般的には下記脆弱性となる
?DoS(Denial of Service:サービス拒否)攻撃
? サービスの可用性(Availability:システムが停止することなく稼働し続ける能力)に対する攻撃
?サービスを停止させることで、本来得られる利益や作業効率が損なわれる
?とはいえWindows10対象であればサーバではないため、基幹業務への影響は軽微とも
考えられる
脆弱性評価基準のCVSS Base Metricsに当てはめてみる
?私見ではOSの脆弱性としてみた場合、以下のようになる
? CVSS 3.0 Vector AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
? CVSS 3.0 BaseScore 7.5(上記の標準計算値)
どのように悪用ができるのか
?攻撃者が必要とする、情報の搾取/改ざんは行えないので、「非常に有用」という訳
ではない。
?別の攻撃を隠ぺいするために利用はできるが、これ自体で何かができるわけではない。
セキュリティ担当者は、上記のような思考で「緊急対応が必要なバグ、ではな
い」と考えると思われます。
Confidence 0
- 10 -
L T 大 会
ここで、残念なお知らせです。
本バグは、2020/02のセキュリティ更新プログラムで解消されました。
CVE-2021-24098として登録された
もう悪用はできないよ!
セキュリティ更新プログラムを適用していない端末は、影響を受けます
?定期的なセキュリティ更新は重要です!
バグ終了
Confidence 0
- 11 -
L T 大 会
まとめ
今回のバグ検証によって、以下の知見として得られました。
今回のバグは、発現場所は面白かったが、それ程悪用しがいのあるものではな
かった
?「何でそんな所で影響受けてるの…( ?艸`)」という、心あたたまる発見があった
「自分で再現してみる」事で、色々な知識が得られる
?WDMの概要、ブラウザの動作、OSの動作、等のパターンを学べる
?脆弱性評価基準の使い方を学べる
?なんか、楽しいよね
バグや脆弱性の検証は楽しいので、安全な範囲でみんなもやってみよう!

More Related Content

LT大会資料 URL踏むとBSoDになる、心あたたまるお話

  • 1. Confidence 0 L T 大 会 URL踏むとBSoDになる、 心のあたたまるお話 2021年02月26日 LT大会#11 ~冬のぽかぽかテックトーク~
  • 2. Confidence 0 - 2 - L T 大 会 セキュリティ系ニュースで「Windowsのバグ」が公開され、 確認してみたらいろいろ面白く、心が「あたたまった」お話です。
  • 3. Confidence 0 - 3 - L T 大 会 ある日、ニュースを見つけた いつも通り、脆弱性情報やセキュリティ ニュースを収集していたら、とても面 白そうな記事を見つけました。 「Windows 10 bug crashes your PC when you access this location」 (意訳:この場所にアクセスすると、Windows10のバグでPCがクラッシュしま す) ?「.globalrootdevicecondrvkernelconnect」 これはどういうことなの? ?Windows Driver Model(WDM)での名前空間の処理が不適切 ?本来、Attach拡張属性を渡されることが期待されるが、不適切なエラーチェックの為 に、Attach拡張属性が渡されない場合に例外が発生し、Winodws10がクラッシュする →Blue Screen Of Death(BSOD) BSOD? ?致命的なエラーの時に表示される ?以前はRedScreenもあった(RSoD ?InsiderBuildだと緑(GSoD?) 大雑把に デバイスドライバ周り という理解でOK.
  • 4. Confidence 0 - 4 - L T 大 会 (ところでBSoDとは) Blue Screen of Death(BSoD)は、致命的なエラーが発生したときに表示される画面、 です。 OSとして処理できない例外が発生した場合、等 再起動する以外、復旧の手立てがない ?そもそも、BSoD画面の時点でOSとしては停止している BSoDの仲間 Red Screen of Death(BSoD) ?BSoDよりも発生頻度が低いが、深刻度が高いエラー画面 ?主にブートローダー系やシステムが起動できないほどの、深刻な状況で発生 Green Screen of Death(GSoD) ?Windows10 Insider Previewの場合、青ではなく緑の背景でエラーが出る ?「Insider Previewである」ことが分かるようにするため、という説がある 最近はOSも堅牢になってきているため、ほぼ見ることはないかもしれません。 例えば次のページのような画面です↓
  • 5. Confidence 0 - 5 - L T 大 会 (みんな大好きBSoD collection) Windows95まではエラーが起こった旨の表現だ けだったが、Windows98以降はエラー原因やメ モリ位置も表現されるようになった。 Widnwos8(およびWindows Server 2008)以降は、 シンプルな顔文字だけになった(別途、イベント ログでコードを確認する)。 色合いは、OSバージョン等で異なることがある。 個人的一押しは、Windows2000バージョンの、 情報量と色合い。 Windows95 Windows98 Windows ME Windows2000 Windows7 Windows8 Windows10 Windows10 Windows10 Windows10 Technorogy prevew だっけ? Windows7
  • 6. Confidence 0 - 6 - L T 大 会 実機での動作確認 発生原因が分かれば、どこで(バグが)利用できるかを確認したくなりますよ ね? ブラウザ ?Chrome ? URLバーに入れ、移動した瞬間に発生 ? ブックマークは問題ない( file://.global... の表記になる) ? HTML内に `<a herf=“.global...”>LINK</a>` で、アクセスした瞬間に発生 ?Firefox ? URLバーに入れた瞬間に発生 ? ブックマークでURLを入れた瞬間発生 ? HTML内に `<a herf=“.global...”>LINK</a>` で、アクセスした瞬間に発生 ?Edge ? 何をしても、大体大丈夫( file://./global... 表記になる) OS ?ショートカット ? 「リンク先(T)」にURLを書いた瞬間発生 ?URLショートカット ? ファイル作成時は問題ないが、ファイル共有等でダウンロードした瞬間発生 ? などなど Pic. 01 何度もBSoDをさせられた、不遇な私用PC BSOD OS起動 1. 検証 2. 再起動 Figure. 01:検証サイクル
  • 7. Confidence 0 - 7 - L T 大 会 影響範囲 先ほどの実験により、おおよその状況が分かった ブラウザ ?Edgeは、アクセス前に検証されているようだ ? `.grobal…`を正しく`file://./grobal…`に置き換えてから処理始めてる? ?他のブラウザは、URLに`で始まるアドレス`の処理が一部想定されていない? ? `file://`形式に置き換えずにアクセスしている部分があり、そこで影響を受けている? ?URLをペースト直後に落ちるものは、先行キャッシュかicon取得のアクセス? ? 内部動作なので、いわゆる「IT ;THE END(IT それが見えたら終わり)」状態 OSの処理 ?先行キャッシュやicon取得のタイミングで落ちている ? 検証せずに、icon取得等のライブラリ等にURLを渡している? 全体的に ?動作的に、URLのアクセス制限などでは防げない ?本来は、WDM名前空間処理で適切にエラー処理をする、のが正しい ?とはいえ、アプリ側でも、入力された文字列を適切にサニタイズしてから処理する部 分が不足しているのは確か 修正はどうすべきか ?アプリ側の修正はすべきだが、バグの元であるWDM名前空間処理の修正が必要
  • 8. Confidence 0 - 8 - L T 大 会 影響範囲 先ほどの実験により、おおよその状況が分かった ブラウザ ?Edgeは、アクセス前に検証されているようだ ? `.grobal…`を正しく`file://./grobal…`に置き換えてから処理始めてる? ?他のブラウザは、URLに`で始まるアドレス`の処理が一部想定されていない? ? `file://`形式に置き換えずにアクセスしている部分があり、そこで影響を受けている? ?URLをペースト直後に落ちるものは、先行キャッシュかicon取得のアクセス? ? 内部動作なので、いわゆる「IT ;THE END(IT それが見えたら終わり)」状態 OSの処理 ?先行キャッシュやicon取得のタイミングで落ちている ? 検証せずに、icon取得等のライブラリ等にURLを渡している? 全体的に ?動作的に、URLのアクセス制限などでは防げない ?本来は、WDM名前空間処理で適切にエラー処理をする、のが正しい ?とはいえ、アプリ側でも、入力された文字列を適切にサニタイズしてから処理する部 分が不足しているのは確か 修正はどうすべきか ?アプリ側の修正はすべきだが、バグの元であるWDM名前空間処理の修正が必要 Edgeは、入力URLをサニタイズしてるので影響がない? FirefoxやChromeは、OSにそのまま渡しているのかも? OSの一部の処理は、事前サニタイズせずに渡してる? ↓ OS側での対処が必要! =更新プログラムが必要
  • 9. Confidence 0 - 9 - L T 大 会 脆弱性としてみた場合 本件を「脆弱性」としてみた場合、どのような影響があるのだろうか? 発生する現象はBSoDのみなので、一般的には下記脆弱性となる ?DoS(Denial of Service:サービス拒否)攻撃 ? サービスの可用性(Availability:システムが停止することなく稼働し続ける能力)に対する攻撃 ?サービスを停止させることで、本来得られる利益や作業効率が損なわれる ?とはいえWindows10対象であればサーバではないため、基幹業務への影響は軽微とも 考えられる 脆弱性評価基準のCVSS Base Metricsに当てはめてみる ?私見ではOSの脆弱性としてみた場合、以下のようになる ? CVSS 3.0 Vector AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H ? CVSS 3.0 BaseScore 7.5(上記の標準計算値) どのように悪用ができるのか ?攻撃者が必要とする、情報の搾取/改ざんは行えないので、「非常に有用」という訳 ではない。 ?別の攻撃を隠ぺいするために利用はできるが、これ自体で何かができるわけではない。 セキュリティ担当者は、上記のような思考で「緊急対応が必要なバグ、ではな い」と考えると思われます。
  • 10. Confidence 0 - 10 - L T 大 会 ここで、残念なお知らせです。 本バグは、2020/02のセキュリティ更新プログラムで解消されました。 CVE-2021-24098として登録された もう悪用はできないよ! セキュリティ更新プログラムを適用していない端末は、影響を受けます ?定期的なセキュリティ更新は重要です! バグ終了
  • 11. Confidence 0 - 11 - L T 大 会 まとめ 今回のバグ検証によって、以下の知見として得られました。 今回のバグは、発現場所は面白かったが、それ程悪用しがいのあるものではな かった ?「何でそんな所で影響受けてるの…( ?艸`)」という、心あたたまる発見があった 「自分で再現してみる」事で、色々な知識が得られる ?WDMの概要、ブラウザの動作、OSの動作、等のパターンを学べる ?脆弱性評価基準の使い方を学べる ?なんか、楽しいよね バグや脆弱性の検証は楽しいので、安全な範囲でみんなもやってみよう!