Edgeのパスワードが「丸見え」になっている
2026年5月4日、ノルウェーのセキュリティ研究者 Tom Jøran Sønstebyseter Rønning 氏が、Microsoft Edgeのパスワードマネージャーに関する衝撃的な事実を公開しました。
Edgeは起動時に、保存されたすべてのパスワードを復号してプロセスメモリに平文で展開します。そのサイトにアクセスしていなくても、です。タスクマネージャーでメモリダンプを取得し、テキストエディタで検索するだけで、パスワードがそのまま読めてしまいます。
Rønning氏はPalo Alto Networks NorwayのBIG Bite of Techカンファレンスで本件を発表し、GitHub上に検証用PoCツール「Dump Edge Cleartext Credentials」を公開しました。
ドイツのIT専門メディアheise onlineも独自にこの現象を再現しており、CWE-316(メモリ上の機密情報の平文保存)に分類される脆弱性であると指摘しています。
なお、Rønning氏はChrome、Braveなど他のChromiumベースブラウザもテストしており、起動時に全パスワードを一括で平文展開する挙動はEdge固有であると報告しています。Chromeは必要時にのみ復号し、App-Bound Encryption(ABE)によって他プロセスからの鍵再利用を防ぐ設計を採用しています。
情報ソース:
- 一次情報: Rønning氏のX投稿 (@L1v1ng0ffTh3L4N)
- ノルウェー報道: ITavisen(ノルウェー語)
- 独立検証: heise online
- 企業リスク分析: Dark Reading
Microsoftの見解 ―「設計上のトレードオフ」
Microsoftはこの問題について、仕様であると回答しています。公式声明では「この報告で示されたシナリオでブラウザのデータにアクセスするには、端末がすでに侵害されている必要がある」とし、「この領域の設計選択はパフォーマンス、ユーザビリティ、セキュリティのバランスを考慮したもの」としています。
つまりMicrosoftは、この問題を「侵害後のシナリオ」であると位置付け、パフォーマンスやユーザビリティとのトレードオフの中で設計された結果であると説明しています。
しかし、「侵害後」は想定より簡単に訪れる
この説明は、一見もっともらしく聞こえます。しかし、セキュリティの現場を知る者からすると、「侵害されていることが前提」という論理には重要な見落としがあります。
侵害は、思っているよりも簡単に起きます。
Rønning氏が実演したシナリオでは、ターミナルサーバーやCitrix、Azure Virtual Desktopなど、複数ユーザーが共有する環境において、管理者権限を持つ攻撃者が他ユーザーのEdgeプロセスメモリからパスワードを読み取ることができました。切断されたセッションからも取得可能です。
さらに、管理者権限がない場合でも、Linux環境ではgcoreコマンドや/proc/[pid]/memを通じて同一ユーザーのプロセスメモリにアクセスできます。Windows環境でも、条件によっては同一ユーザー権限からプロセスメモリへアクセス可能なケースが存在します。マルウェアに管理者権限は必ずしも必要ありません。
Beauceron SecurityのCEO、David Shipley氏は、Microsoftの対応について「これは機能ではない。責任を回避する便利な言い訳だ」と評しています。
AIによる侵入が、この問題をより深刻にしている
なぜ今、メモリ上の平文がこれほど注目を集めているのでしょうか。
一因として、AIによるサイバー攻撃の自動化が現実のものとなったことが挙げられます。AIエージェントが自律的にネットワークを探索し、侵入後のメモリスクレイピングや認証情報の収集を自動化できるようになれば、「PCが侵害されるまでのハードル」は急速に下がります。
これまで攻撃者が手動で行っていた侵入後の情報収集が、AIによって数分で完了する世界が目前に迫っています。「侵害後のシナリオであるため優先度は限定的である」という従来の前提は、もはや防衛線として機能しなくなりつつあります。
そもそも、なぜメモリ上に平文が出るのか
ここで一歩引いて、根本的な問いを考えてみましょう。
重要なのは、これはEdge特有の「実装ミス」ではないという点です。現在の汎用CPUアーキテクチャでは、多くのアプリケーションが処理時に復号済みデータへアクセスする必要があります。
Edgeの問題点は「全パスワードを起動時に一括展開する」という設計判断にありますが、処理に必要なデータが一時的にせよメモリ上で平文になるという構造は、ほとんどすべてのアプリケーションに共通しています。
問題の本質は、その平文状態が侵入後の攻撃者にも観測可能になってしまうことにあります。
Edgeだけの問題ではない ― メモリ上の平文は、あらゆるアプリケーションに存在する
ここが、この問題の核心です。
RAMに平文が展開されるのは、今に始まったことではありません。 そして、これはMicrosoft Edgeだけの問題でもありません。
弊社の独自調査において、広く利用されているWebアプリケーションサーバーやID管理基盤を含む複数の主要ソフトウェアのプロセスメモリを検証したところ、パスワード、APIキー、OAuthトークン、データベース接続文字列、秘密鍵断片、暗号化マスターキーなどを含む718件のシークレット候補が平文で検出されました。
これらのアプリケーションは、ディスク上ではデータを暗号化しています。通信経路もTLSで保護しています。しかし、実行時にはメモリ上で復号され、平文として保持されます。これは多くのソフトウェアにおいて「仕様」です。
「侵害されたら終わり」が意味すること
Microsoftの「すでに侵害されている必要がある」という前提を受け入れるとどうなるでしょうか。
PCが侵害された時点で、メモリ上に展開されているすべての情報が攻撃者の手に渡ります。
パスワードだけではありません。ディスク暗号化のマスターキーも、メモリ上では平文で保持されています。 これが漏洩すれば、暗号化されたディスク全体が復号可能になります。
そしてここから、ラテラルムーブメント(横展開)が始まります。
1台のPCから取得した認証情報で、ネットワーク上の他のシステムにアクセスする。そこで新たな認証情報を取得し、さらに次のシステムへ。Rønning氏自身もこのシナリオについて「認証情報を雪だるま式に増やし、より多くの権限を得ることができる」と述べています。
つまり、メモリ上の平文は単一システムの問題ではなく、組織全体のセキュリティを脅かす起点となるのです。
では、どうすればいいのか?
この問題への根本的な解決策は明確です。
メモリをプロセス単位、もしくはそれ以上の粒度で暗号化し、攻撃者や侵入者には平文を渡さないこと。
ただし、ここで重要な点があります。
これは単にAMD SEVやIntel TDXのようなハードウェアレベルのメモリ暗号化を導入すればよい、という話ではありません。
ハードウェアベースの暗号化は、VM(仮想マシン)単位での保護を提供します。しかし、VM内部のプロセス間での平文露出は防げません。ハードウェアは「何を守る必要があるのか」を意味的に理解できないため、保護の粒度がハイパーバイザーに対するものに限定されます。
必要なのは、ソフトウェアとハードウェアを連携させた、プロセスレベルのメモリ暗号化です。
アプリケーションがどのデータを機密として扱っているかを理解し、そのデータがメモリ上に存在する間も暗号化状態を維持する。正規のプロセスが必要なときにだけ復号し、それ以外のプロセスからは暗号文しか見えない状態を作る。
そして理想的には、暗号鍵そのものをどこにも保存しない ― 鍵を物理環境から動的に生成し、使用後は即座に破棄する。鍵が存在しなければ、鍵の窃取も原理的に不可能になります。
まとめ ― 「侵入されないこと」を前提にしない設計へ
今回のMicrosoft Edgeの問題は、セキュリティ業界では以前から認識されていた事実が、改めて広く認知されるきっかけとなりました。
従来のセキュリティは「攻撃を検知して止める」ことに主眼を置いてきました。しかし、攻撃が防御を突破した後 ― すなわち、PCが侵害された後に何が起きるかについては、長らく「そこまで来たら終わり」とされてきました。
その前提を変える時期に来ています。
「侵入されないこと」を前提にした設計から、「侵入後でも攻撃の成果を成立させない設計」へ。
侵入されても、攻撃の成果が無価値であるシステム。 それが、これからのセキュリティに求められる設計思想です。
*「侵入されるかどうか」ではなく、「侵入後に何が成立するか」。Superasystem株式会社は、その前提からセキュリティを再設計しています。*
*弊社が提唱するRuntime Stabilityは、サイバー攻撃を受けた場合においても、システムの安全性・信頼性・可用性・制御性・機密性・完全性・攻撃不成立性の7つの保護属性を構造的に維持する技術領域です。*