その署名、本当に本人ですか
レジストリを2つ編集するだけでWindowsデジタル署名が無意味になる
セキュリティの基本は正しいものを通し悪いものを遮断することだ。「正しさ」はデジタル署名などで証明する。しかしWindows10でとある操作をすることでデジタル署名が無意味になるという。その真相を探る。
米セキュリティカンファレンスDerbyCon 7.0で講演した研究者によると、Windowsデジタル署名による保護は一般的なプログラム認証方法だが簡単に打破されてしまうため、これだけに頼ってプログラムの認証を行うべきではないという。
米サイバーセキュリティ企業SpecterOpsのセキュリティ研究者マット・グレイバー氏は、レジストリキーに2つの簡単な編集を加えるだけで悪意のある攻撃者がWindowsデジタル署名のチェックを免れ、プログラムを実行する過程を実演した。
同氏によるとデジタル署名の目的は、プログラムにデジタル署名をしたエンティティについての情報を提供し、そのバイナリの完全性を保証することにあるという。ここでいうエンティティは「デジタル署名でそのデータやプログラムなどが正式なものであると保証したい人」とする。ではデジタル署名のチェックを免れるとは例えばプログラムのデジタル署名後に、何らかの方法によってハッシュ値が一致しないように破損されたか、もしくはバックドアが仕掛けられたのだろうか?
Windowsデジタル署名が証明するものは安全性ではない?
同氏は、最近のCCleaner事件で明らかになったように、Windowsデジタル署名のチェックに合格しただけでは、そのプログラムが安全だという証明にはならないことを注意深く述べた。CCLeaner事件とは、PCのキャッシュクリアなどの支援ツールにマルウェアが仕掛けられていた事件のことである。このツールは正式なデジタル署名が付けられていた。
「CCleanerのデジタル署名インフラ(デジタル署名を管理する環境)に侵入した攻撃者は、悪意のある更新プログラムに正式なデジタル署名を付与した。実際、エンティティに関してデジタル署名が保証するのは、秘密鍵を管理しているのがそのエンティティだということだけだ。CCleaner事件では、検証の対象になったエンティティが攻撃者だったということだ」(同氏)
同氏は、自身が執筆したホワイトペーパー「Subverting Trust in Windows(Windowsにおける信頼の崩壊)」でこの点についてさらに詳しく説明している。また、署名者の身元と署名済みプログラムの完全性の検証だけでなく「多くのセキュリティ製品にとっては、プログラムのデジタル署名と信頼の検証がマルウェアを分類する重要な構成要素になっている」ことを述べている。
「ホワイトリストを利用する大半のアプリケーションでは、正確な信頼の検証がアプリ実行の構成要素としての役割も果たす。Windowsアーキテクチャの信頼性が崩壊すれば、多くの場合、セキュリティ製品の有効性も崩壊する恐れがある」(同氏)
2つのレジストリ値のどちらか1つを変更するだけで、Windowsデジタル署名のチェックを欺けることを発見した。1つは、埋め込みのAuthenticode署名があるかどうかに関係なく、全ての実行可能ファイルに同一の証明書(Microsoft証明書)を返す。もう1つは、正規のAuthenticode署名が埋め込まれたファイルであればハッシュ値が一致しなくても検証に合格できるようにする。これは他の有効なプログラムから証明書が取得されることがあるためそのような仕様になっているのではないか、と述べた。
Windowsデジタル署名が無意味になる
同氏は、Microsoftが署名済みのプログラムのみホワイトリストに登録されているシステムを使用して実演した。同氏は、それらのレジストリキーの値を変更するだけで、Microsoft証明書が埋め込まれている限り、Hello Worldプログラム(実演用のデモプログラム)のWindowsデジタル署名のチェックが有効になることを示した。
「2つのレジストリ値を変更することで、誰にでも成りすませる」と同氏は講演で発表した。同氏は、管理者権限があることは認めたが、管理者権限が必要であることによってリスクが軽減されることはないと続ける。「このように侵害されたシステムでは、Microsoftにも、Googleにも、さらには誰にでもなれる。この攻撃はリモートで行えるため、管理者権限を入手するのはそれほど難しいことではない」(同氏)
Windowsデジタル署名のチェックとMicrosoftの「Windows Defender Device Guard」(Windows10に搭載された仮想化技術を使ったセキュリティ)が無意味になると、それに連動してホワイトリストを利用する他のアプリケーションソリューションも無意味になり、最終的には「信頼性の概念が崩壊する」と同氏は述べた。
Windowsの信頼性をデジタル署名の検証だけに任せるのではなく、より包括的なアプローチを採り、信頼の検証時にオンライン管理サービスの使用といった他の方法を用いて「複数のデータチェックのポイントを確立する」ことを同氏は提案した。実はこうした攻撃の検出は非常に簡単で、レジストリ値の変更を大規模にスキャンするツールを作成するだけで検出は可能とのことだ。
同氏は講演の最後、次のように語った。「DerbyCon7.0にお集まりの皆さん、特に情報セキュリティの知識を持たない方に刺激を与えたい。このイベントには経験豊富な研究者が数多く集まっている。今、私は憧れであり師とする多くの人々を前に話しているため、非常に謙虚な気持ちになっている。私は自分を優秀な研究者だとは思っていないが、セキュリティ研究についても今のように謙虚な気持ちで取り組んでいる。私はその謙虚な気持ちが最も素晴らしい問題解決への道だと確信している」
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[NTTPCコミュニケーションズ株式会社] 「回線速度不足」だけが原因ではない? Web会議の遅延を解決する方法とは -
製品資料
[東京エレクトロン デバイス株式会社] 工場の可用性向上に重要な「7つの領域」と対策 OTセキュリティ強化の基礎知識 -
製品資料
[リコージャパン株式会社] 問い合わせ対応で本来の業務が進まない、総務や情シスの負担をどう減らす? -
製品資料
[リコージャパン株式会社] 自社データから高精度な回答を生成、簡単に生成AIチャットボットを構築する方法 -
技術文書・技術解説
[アトラシアン株式会社] IT運用や従業員サポートは生成AIでどう変わる? 使い方や導入の流れは?
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
全社標準Copilotに絶望? MS Copilotで問い合わせ6割減できた企業は何が違った
-
2
脱VMwareの前提が崩れる BroadcomのVDDK公開停止で確認すべき点
-
3
「Copilot」はなぜ放置される? “議事録要約止まり”を脱する処方箋
-
4
ITエンジニア1265人調査 生成AIを使い込むほど「人の確認」が重い理由
-
5
「AI活用を前提とした業務PCへの移行」に関するアンケート
-
6
機械学習について、正しく説明している文章はどれ?
-
7
Microsoft製品でここまで自動化できる 情シスがやめられる手作業10選
-
8
「Microsoft 365」が乗っ取られる 跡形もなくMFAを破る手口
-
9
動くコード=安全ではない AIコーディング爆速化でセキュリティ崩壊を防ぐ鉄則5選
-
10
マンガで解説:KSK2稼働で何が変わる? 税務調査の高度化に備えるデータ管理
ホワイトペーパーランキング PR
-
1
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
2
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
3
生成AIで文書活用を進めるには? 効率化と安全性をどう両立する
-
4
Windows PCとMacの選択制で生産性向上 LINEヤフーが実践する運用管理方法とは
-
5
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
6
国税庁の次世代基幹システム「KSK2」稼働開始に向けて、対応すべき変更点とは?
-
7
「スクラム」と「カンバン」の違いとは? アジャイル型開発手法を徹底比較
-
8
AI時代に成功するための「ナレッジマネジメント」ベストプラクティス
-
9
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
10
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー