** 本記事は、Password managers can make your network more secure – but mind the gaps の翻訳です。最新の情報は英語記事をご覧ください。**
編集部注: 本記事は、2021 年 のインターネットユーザーの安全性を検証する 3 部作の 1 つです。このシリーズの他の記事は「インターネットにおけるセキュリティの進歩」、「Wi-Fi を恐れることなかれ」の 2 つです。
ネットワーク接続を必要としないあるソフトウェアが、インターネット利用の安全性を向上させるというのは奇妙な話かもしれません。しかし、パスワードマネージャーは (非常に注意深く扱えば) 間違いなくその部類のソフトウェアです。最近の Wi-Fi セキュリティについて調べていると、未知の Wi-Fi 接続の安全性を保証するためにパスワードマネージャーを利用することがいかに重要かを思い知らされます。
単なる記憶装置以上の利点
パスワードマネージャーを利用する主な利点は、未知の、あるいは信頼できないプロバイダーが提供するネットワークを利用する際、フィッシングや中間者 (MiTM) 攻撃を防ぐのに役立つということです。
この種の攻撃では、標的を本物の Web サイトに似せた偽ドメインに誘導し、Facebook や Gmail などの「信頼できる」ソースにログインしていると信じ込ませる手法がよく用いられます。これは、この種のリダイレクト攻撃を行うサイバ-犯罪者が、偽ドメイン用の TLS (Transport Layer Security) 証明書を取得するのが比較的容易なためです。
多くのパスワードマネージャーは、上記のような偽ドメインが実際のサービスで使用されているドメインと一致しないことを検知するため、フィッシング攻撃に対して認証情報を提供することを拒否します。
しかし、未知の Wi-Fi を通じた攻撃は他にもあります。パスワードマネージャーが攻撃を防ぐのに有効なのはどのような場面でしょうか。
パスワードマネージャーの検証
今回検証した攻撃は 2 種類です。ダウングレード攻撃、および偽の証明書を使用して本物のサービスプロバイダーの実際のドメインになりすまし、被害者がブラウザの警告を無視することに期待するフィッシング攻撃です。
今回の検証では、パスワードの管理方法として最も一般的な 8 種類の方法を選びました。Google Chrome、Microsoft Edge、Mozilla Firefox、Apple Safari/Keychain、LastPass、1password、Dashlane、そして Bitwarden です。
検証を行うために、「サインイン」するとニュースフィードをカスタマイズすることができる、人気のニュースサイトになりすました偽の Web サイトを立ち上げました。この偽サイトは TLS 暗号を使用していますが、HSTS が有効化されていません。まず、本物のニュースサイトのアカウントにログインし、パスワードをマネージャーツールに保存しました。その後、偽サイトを利用して、上記の 2 種類の攻撃を実行しました。
検証 1: パスワードマネージャー vs. 暗号化されていない Web サイト
最初の検証は、DNS を乗っ取り、「標的」である私自身を、「攻撃者」が管理する暗号化されていない HTTP 版のサイトにリダイレクトするものでした。この検証により、保護されていない Wi-Fi を利用しているユーザーをこの種の攻撃から保護するのにパスワードマネージャーが有用かどうかを確認することができます。
最初に検証した 3 種は完璧でした。Google Chrome、Mozilla Firefox、そして Microsoft Edge はすべて、保存されているパスワードの提供を拒否しました。次に検証した 1password と Dashlane はどちらもあまり良い結果ではありませんでした。この 2 種は接続が安全でないことを示す警告は出しましたが、空白のパスワード欄をクリックすると、パスワードが提供されました。
1password だけが、元のパスワードは HTTPS で接続されたサイト用に保存されていることを警告し、続行するには [OK] をクリックするように求めました。この機能は素晴らしいものですが、警告の意味をユーザーが読んで理解する必要があります。
Safari、LastPass および Bitwarden は警告なしにパスワードを提供しました。
2021 年になっても、HTTPS で接続をしていないサービスにサインインしても問題ないと考えるツールが存在することに驚きました。もともと HTTPS 接続を利用しているサービス用に保存したパスワードであっても、です。
検証 2: パスワードマネージャー vs. 偽の TLS 証明書
次の検証では、作成したフィッシングサイトに TLS 証明書を与えました。この検証に用いた TLS 証明書は、ブラウザが信頼する認証局によって署名された証明書ではありません。
この偽サイトに接続するには、Web ブラウザが発する恐ろしい警告をユーザーが確認する必要があります。しかし、驚くほど多くのユーザーが、警告メッセージを読む時間を取らず、そのまま次へと進んでしまうことを、私たちはずいぶん前に学びました。
最初の検証と同様、今回も Google Chrome と Microsoft Edge は見事に合格しましたが、それ以外は散々な結果でした。何事もなかったかのようにパスワードが自動入力されるか、偽サイトのパスワード欄をクリックすると、自動でパスワードが入力されるかのどちらかでした。
上記のような動作は技術的には脆弱性ではありませんが、それぞれの組織のセキュリティチームに連絡しました。この動作が意図されたものであることを確認し、MiTM 攻撃に対する防御レベルを高めるために動作の改善を検討するかどうかを問い合わせるべきだと感じたからです。
ベンダーの回答
Mozilla のセキュリティチームは、無効な証明書に対する動作を HTTP ログインフォームに対する動作を一致させる必要があることを認めました。この変更が将来の Firefox リリースで実装されることに期待しましょう。
1password の主席セキュリティアーキテクトである Jeffrey Goldberg 氏は、私の報告を認め、サードパーティのパスワードマネージャーにおけるブラウザ API 上の制限について、説明してくれました。
同氏は、現在の動作は HTTPS が一般的になる前に実装されたものだと説明し、ダウングレード攻撃の脅威に直面した場合は、今後のバージョンでの変更を検討することに同意しました。しかし、偽の証明書に関しては、パスワードマネージャーが証明書チェーンの有効性を判断するための API が公開されているのが Firefox のみであるため、対応は困難とのことです。
Apple のプロダクトセキュリティからは以下の返答を受け取りました。
ご報告いただいた内容を確認しましたところ、安全性への深刻な影響は見られませんでした。また、動作は意図されたものです。
Safari v15 では、すべての HTTPS サイトが HSTS を有効にしているのと同様に扱われるため、本来の規格には準拠していないものの、上記のようなリスクが軽減されていることは注目に値します。
Bitwarden チームからは HackerOne を介して以下の回答を受け取りました。
こんにちは。私たちは今回の報告を受け、HTTPS => HTTP ダウングレード攻撃への対応策を実装する予定です。2 点目の自己署名証明書を使用した攻撃については、攻撃をブロックし、ユーザーに警告する十全な手段がすでにブラウザに実装されているため、パスワードマネージャー側に追加で何かを実装する予定はありません。
LastPass からも Bugcrowd を通じて回答を受け取りました。彼らの回答を要約すると、以下のようになります。
ユーザーが HTTP サイトにアクセスし、ログインフォームの [LastPass により自動入力] アイコンをクリックすると、LastPass はそのドメイン用に保存された認証情報を提供することを許可します。しかし、ユーザーの操作なく、Web ページのロード時に自動で認証情報を入力することはありません。この動作は仕様通りのものです。” 上記の API の問題を説明したあと、彼らは以下のように続けました。“私たちは今後の Firefox 拡張機能のリリースにおいてこの API を活用するように努めます。また、Google Chrome チームにもこの API を優先的に実装するよう連絡しました。
最後に、Dashlane のセキュリティチームからも返信がありました。要約すると以下のようになります。
HTTP を利用している Web ページへのアクセスについては、すでに 2 件のセキュリティ機能が実装されています。 自動でのログインが無効化されており、ユーザーによる操作 (対応するボタンのクリック) が必要とされること、 およびユーザーがなおも続行しようとする場合には警告メッセージが表示されることです。
また、偽の証明書の状況を調査し、「すべてに対応できるようであれば」、対応するとのことです。現状 Firefox でしか API が利用できないことを考慮すると、おそらく変更はないということでしょう。
結論
結局のところ、長くて強いパスワードを確保するには、常にパスワードマネージャーを使うのが良いということです。多要素認証を提供するものであればなおさらです。
しかしながら、大多数のパスワードマネージャーは HTTP ダウングレード攻撃には強いものの、まだ改善の余地があります。さらに、偽の証明書を利用した攻撃からは、自ら身を守らなければなりません。警告に耳を傾け、無視せず、信頼できないネットワークにいる時は特に疑ってかかるようにしましょう。
追記: Safari のパスワードマネージャーに対しての検証は、2021 年 8 月に Safari バージョン 14 を使用して実施されました。Apple の iOS 15 と同時に発表された Safari 15 では、HSTS を有効化していないサイトにも強制的に HSTS を適用するようになったようです。これは良いことかもしれませんが、本来の仕様からは大きく外れています。