ソフトウェア設計者は、ユーザーがやりたいことを自由に行えるようにしつつ、ミスがあれば警告する一方で、警告が無視されるほど頻繁に表示されすぎないように、慎重にバランスを取る必要があります。最悪なのは、アプリがユーザーのやりたいことを妨げ、ユーザーが不満を抱きアプリを放棄してしまう可能性があることです。
ウェブブラウザほど、この問題が深刻に絡んでいる分野はありません。特に、主要なOSはすべて、競合が絶えないにもかかわらず、自社開発版をリリースしている現状を考えるとなおさらです。ユーザーは簡単にブラウザを乗り換えることができ、ブラウザメーカーもそのことを熟知しています。もしブラウザが警告やブロック、あるいは過剰な警告を発してきたとしても、もっと緩いブラウザを見つければいいのです。そして、この考え方が、企業がセキュリティ問題を放置する原因となっていると私は考えています。
2015年頃から、Google ChromeとMozilla FoundationのFirefoxは、ウェブサーバーのデジタル証明書に使用されている時代遅れの暗号化規格に関連するセキュリティ問題により、対応策を大幅に変更しました。この問題は、技術的ではない多くの分野にも広がっています。一方、AppleのSafariは、警告を出さずにひっそりと阻止し、回避する傾向が強く、変更すべき十分な理由があります。
賢者へのパスワード
ウェブサイトにログインするときに最も危険な傍受ポイントの 1 つは、ユーザー名とパスワードを入力するときです。特に、ログインの確認に 2 要素認証または 2 段階認証を使用できない場合は危険です。
最近まで、ログインページを持つサイトのうち、そのページでセキュア接続を必須にしているサイトはわずか40%でした。つまり、httpsではなくhttpでの接続を許可しているサイトです。Mozilla Foundationによると、この1年間でその割合は70%に増加しました。しかし、それでも依然として大きなリスクが残っています。
モジラ Mozilla は、Firefox の将来のバージョンで警告レベルを上げて、安全でないパスワード ページを警告することを計画しています。
問題は、セキュリティ保護されていないWebページへのコードまたはHTMLインジェクションです。多くのISPや一部のWi-Fiホットスポットが、通常のブラウジングセッションにポップアップダイアログを表示することから、これがいかに簡単かお分かりいただけるでしょう。これは、ISPがリモートWebサイトから送信されるHTMLを傍受し、その一部を書き換えてJavaScriptを挿入し、改変された結果をブラウザに渡すことで実現されます。ブラウザはこれを問題なく受け入れます。
カフェのネットワークであろうと、インターネットの奥深くでウェブサーバーとユーザー間の接続に侵入できれば、セキュリティ保護されていないページは誰でも書き換えられる可能性があります。もちろん、犯罪者だけでなく、具体的な令状や傍受の合法性に関する合意なしに活動する政府機関も含まれます。
その結果、Chrome と Firefox はどちらも、安全でないページでログイン フォームを検出すると、少し異なる方法で警告し、そこでパスワードを送信しないようにするようになりました。
1月のFirefox 51以降、Mozillaは安全でないページでパスワードを入力する際に、赤い斜線が入った鍵アイコンを表示します。今後のリリースでは、さらに厳格化され、パスワード入力欄にドロップダウン型のセキュリティ警告が表示され、フォームページが安全ではないことが警告されます。
グーグル Chrome では、ログイン フィールドがある安全でないページでは灰色のメッセージと情報ボタンが表示されます。
Googleは1月下旬にリリースされたChrome 56から、異なるアプローチを採用しています。ログインフォームを含むすべての非セキュアページには、灰色の「保護されていません」というメッセージと情報アイコン(丸で囲まれたi)が表示されます。その後、赤色の警告と赤色のテキストに変更される予定です。
Safari も同様の機能を提供できるはずだが、開発ブログや Safari Technology Preview にはそのためのロードマップは掲載されていない。
次のステップへ
ブラウザメーカーやパスワードを保存するアプリが実行できる便利な追加手順がありますが、それを安全にするには 1 層以上のオプトインが必要です。
パスワードはSafari(とiCloudキーチェーン)と1Passwordの両方に保存しており、ロック解除時に取り出すことができます。これらのオプションやその他のオプションは、パスワードを自動入力する際に、現在アクセスしているサイトがパスワードを保存したサイトと完全に一致することを既に確認しています。似たような名前やフィッシング詐欺の試みは一致しません。(1Passwordは現在、元々は安全なページに保存されていたパスワードを、安全でないページに入力しようとすると警告を出しています。これは良い警告です。)
グーグル Chrome は今後、安全でないページからのパスワード要求に対して、より強い赤色の警告を表示するようになります。
しかし、パスワードをいくつか記憶していても、偽のログインページで誤ってパスワードを入力してしまう可能性があります。2015年、GoogleはChrome拡張機能「Password Alert」をリリースしました。これは、Google以外のサイトでGoogle専用のパスワードが入力されていないかを監視するものです。
たとえ何千ものパスワードを保存していたとしても、ブラウザがパスワードフィールド(そのように使用されているか、HTMLフォームコードでそのように指定されているかに関係なく)におけるキー入力を監視し、サイトに適さないパスワードがないか確認するのは、比較的簡単なことのように思えます。パスワードはローカルに保存されるため、キー入力を他の場所に送信する必要はありません。
これはフィッシング詐欺の防止に非常に役立つかもしれません (ジョン・ポデスタ氏にとっても大いに役立ったはずです)。また、友人や親戚など、コンピューターのヘルプを求めてくる知り合いのコンピューターにインストールして有効にすることを勧めることもできるツールです。
「これはパスワードハイジャックの試みのようです。このサイトに入力したパスワードを保存していません」という丁寧な警告は、ドメイン名のチェックに関するどんなに多くの講義よりも、比較的知識の浅いユーザーを思いとどまらせることができるだろう。
Safariにはパスワード保存機能が豊富に組み込まれているため、Appleが最初にこの機能を提供する可能性が最も高いでしょう。AppleがiOSでOS全体のセキュリティに導入したのと同じアプローチを、パスワードとSafariにも取り入れてくれることを期待しています。わずかな労力で大きなメリットが得られます。Appleは他のブラウザメーカーと同様に、Flashなどのメディアプラグインの自動使用を制限していますが、他の分野では十分な対策を講じていません。
一方、GoogleとMozillaは、悪用される機会を減らすために、引き続き一層の努力を続けているようです。最終的には、両組織はウェブの100%が安全な接続で提供されることを望んでいます。これは良い目標であり、達成可能です。