Scribble at 2026-05-05 11:12:36 Last modified: unmodified

添付画像

Microsoft Edge stores all passwords in memory in clear text, even when unused (twitter.com/l1v1ng0ffth3l4n)

Microsoft Edge ブラウザでは、保存したパスワードをメモリに平文で保存していて、そのパスワードを使っていようといまいと、常にパスワードが平文でメモリに展開されてしまっているらしい。これだけを取り上げると「これぞマイクロソフトのクォリティ」などと、macOS や Linux ユーザのマウンティングのネタにされるのかもしれないが、現実には Firefox でも Chrome でもパスワードをメモリに平文で展開するという点は同じだし、それどころか KeePass のようなパスワード管理ツールですら復号したパスワードをメモリに平文で書き出すという挙動は同じである。

そもそも、パスワードはログインしたりアプリケーションの認証を行うために、送信先へ必ず平文で送出しなくてはいけないのだから、どこかのタイミングで平文にしたパスワードをメモリへ保存するプロセスが必要となる。これは、クライアント‐サーバ方式の環境でパスワードのような秘密情報を通信することが機密性のセキュリティ・レベルにとって必須である以上、避けられない仕様であると言える。これ、上の Hacker News の議論を見ていると、こういう場合にも Passkey を使えばいいなんてことを言い始める人がいたりするのだが、Passkey はクライアント側で秘密情報をハッシュ化する方式なのだから(もし指紋のパターンや顔のパターンを生のデータで認証サーバへ送出しているなら、認証サーバ側がプライバシー・データを大量に保管していることになってしまう。そうでないことが Passkey の利点なのにだ)、プライバシー情報がどうであれ、ハッシュ化した秘密情報さえメモリから読み取って奪えたら成りすましが成功するのだから、リスクは殆ど同じである。

ということなので、Edge に指摘されているリスクは通信という前提がある以上は避けられないのであって、問題は常に平文で展開しておく必要があるのかどうかという実用上の問題だけになるのだろう。もちろん、可能であれば必要に応じて復号する方が望ましいし、ローカル・コンピュータのユーザ権限があろうと復号には何らかの防御をもつべきなので、MFA を組み込むことが望ましいのだろう。ただ、ここでも Passkey を持ち出す人がいて困るのだが、デスクトップ・パソコンで Passkey を運用するには、複数のデバイスを使う必要がある(デスクトップ・マシンで誰もが自分の顔や指紋を登録したり読み取る周辺機器を接続しているとは限らない)。だが、これは現実には可用性のセキュリティ・レベルを下げることが多い。スマホを自宅に忘れてきたというだけで、会社のパソコンにログインできなくなったりするからだ。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る