Chrome/Edge のスペルチェック機能の問題:ユーザーの個人情報が G/M に送信されている?

Google, Microsoft can get your passwords via web browser’s spellcheck

2022/09/17 BleepingComputer — Web ブラウザ Google Chrome/Microsoft Edge の拡張スペルチェック機能は、個人情報 (PII:Personally Identifiable Information) や、場合によってはパスワードを含むフォームデータを、Google と Microsoft に送信することが判明した。これは、これらの Web ブラウザの一般的な機能かもしれない。しかし、送信後のデータの取り扱いについては、特にパスワード・フィールドに関しては、どれほどの安全性が担保されるのかという点で懸念が生じる。

Chrome と Edge の双方とも、基本的なスペルチェッカーが有効になっている。しかし、Chrome の Enhanced Spellcheck や Microsoft Editor のように、ユーザーが手動で有効にするスペルチェック機能では、上記の潜在的なプライバシー・リスクが発生する。

Spell-jacking:スペルチェック機能で 個人情報が送信される例

Chrome や Edge といった、主流の Web ブラウザを使用している場合に、スペルチェック機能を有効にすると、フォームのデータが Google と Microsoft に送信される。送信されるデータの中には、社会保障番号 (SSN)/社会保険番号 (SIN) /氏名/住所/メールアドレス/生年月日/連絡先/銀行情報/支払情報などが含まれる。

この問題は、JavaScript セキュリティ企業 otto-js の共同設立者/CTO である Josh Summitt による、同社のスクリプト動作検出機能のテスト中に発見された。Chrome の Enhanced Spellcheck や、Edge のスペルチェッカー機能である Microsoft Editor が有効になっている場合には、これらのブラウザのフォーム・フィールドに入力されたデータが、基本的に全て Google と Microsoft に送信されていた。

otto-js のブログ投稿では、「さらに、”パスワードを表示” をクリックすると、拡張されたスペル・チェック機能はパスワードまで送信し、ユーザーのデータを、文字通りに “Spell-Jacking” してしまう。世界の大規模 Web サイトの中には、ユーザーによるログインおよびフォーム入力の際に、ユーザー名/メールアドレス/パスワードなどの機密情報を、Google や Microsoft に送信してしまうものが存在する。企業にとって、さらに重大な懸念は、データベースやクラウドインフラなどの、内部資産に関する企業の認証情報が露出することだ」と説明されている。

Alibaba login form fields
”show password” が有効になっている Alibaba ログイン・フォーム・フィールド (otto-js)
Enhanced spellchecker transmits password to Microsoft and Google
Chrome の拡張されたスペルチェッカーが Google にパスワードを送信 (otto-js)

パスワードのコピー&ペーストが禁止されているサイトなどでは、”パスワードの表示” オプションに頼るユーザーも多い。otto-js は、Chrome ブラウザで Alibaba のクラウド・プラットフォームへの認証情報の入力を例示している  (ただし、どの Web サイトでも使用可能だ) 。

ユーザーがスペルチェック機能を有効にしで、”show password” 機能をタップすると、ユーザー名/パスワードを含むフォームフィールドが、googleapis.com を介して Google に送信される。

動画によるデモも公開されている:


BleepingComputer で確認したのは、以下のような主要なサイトを、Chrome を用いて訪問した際にも、認証情報が Google へ送信されることだ。

  • CNN:”show password” を使用したところ、ユーザー名/パスワードの両方が送信された。
  • Facebook.com:”show password” を使用したところ、ユーザー名/パスワードの両方が送信された。
  • SSA.gov (ソーシャル・セキュリティ・ログイン) :ユーザー名フィールドのみが送信された。
  • Bank of America:ユーザー名フィールドのみが送信された。
  • Verizon:ユーザー名フィールドのみが送信された。

シンプルな HTML ソリューション:’spellcheck=false’

フォーム・フィールドの送信は、HTTPS 上で安全に行われているが、ユーザー・データが第三者 (この例では Google のサーバー) に到達した後に生じることについては、ただちに明らかにならないだろう。

Google の広報担当者は BleepingComputer に対して、「スペルチェック機能の拡張には、ユーザーの選択が必要になる。これは、Chrome でデフォルトで有効になっており、Google にデータを送信しない、標準のスペルチェッカーと対照的であることに注意してほしい」と述べている

Chrome ブラウザにおける拡張スペルチェックの有効化については、以下のリンクをアドレスバーにコピー&ペーストすることで確認できる。そしてその後に、オン/オフが選択できる。

chrome://settings/?search=Enhanced+Spell+Check

chrome enhanced spellcheck setting
Chrome のスペルチェック拡張設定は、選択する必要がある (BleepingComputer)

上記のスクリーン・ショットから明らかなように、Enhanced spell check を有効した際には、この機能の説明に、「ブラウザで入力したテキストが Google に送信される」と明示される。

Google は公開した声明で、「ユーザーが入力したテキストは、機密性の高い個人情報である可能性があるため、Google での処理は、ユーザー ID に添付せずに、サーバー上で一時的に行われるとしている。ユーザーのプライバシーを確実に保護するため、スペルチェックの対象からパスワードを除外するよう取り組む予定だ。我々は、セキュリティ・コミュニティとのコラボレーションに感謝しており、ユーザーのプライバシーと機密情報を保護する方法を常に模索している」と述べている。

Microsoft Edge に関しては、スペルチェック機能を使用するには、ブラウザのアドオンである Microsoft Editor Spelling & Grammar Checker をインストールする必要があるとのことだ。BleepingComputer は、公開に先立って Microsoft に連絡を取ったが、この件は調査中とのことで、その後の返答は現時点では得られていない。

otto-js は、この攻撃ベクトルを Spell-jacking と名付け、Office 365/Alibaba Cloud/Google Cloud – Secret Manager/Amazon AWS – Secrets Manager/LastPass などのクラウドサービスのユーザーに対して、懸念を表明している。

AWS/LastPass の両社は、otto-js の報告に反応して、この問題に対処したと述べている。LastPass は対策として、パスワード・lastに、シンプルな HTML 属性 spellcheck=”false ” を追加した。

lastpass password field
LastPass のパスワード・フィールドに spellcheck=false HTML 属性が追加された 
(BleepingComputer)

フォームのテキスト入力フィールドに ‘spellcheck’ HTML 属性がない場合、通常では Web ブラウザはデフォルトで true と見なす。入力フィールドで spellcheck を明確に false に設定することで、 Web ブラウザのスペルチェッカーで処理されなくなる。

otto-js は、「企業は、すべての入力フィールドに ”spellcheck=false” を追加することにより、ユーザーの個人情報漏えいのリスクを軽減できる。しかし、それにより、ユーザーは、入力したテキストをスペルチェッカーで確認できなくなる。そのため、機密データを含むフォームフィールドにのみ ”spellcheck=false” を追加することや、”show password” 機能を削除することが有効だ。それにより、Spell-jacking を防ぐことはできないが、ユーザーのパスワードが送信されることは阻止できる」と説明している。

皮肉なことに、 “show password” オプションが付属している Twitter のログインフォームでは、パスワード・フィールドの spellcheck HTML 属性が、true に設定されていることが確認された。

twitter spellcheck field
Twitter のパスワード・フィールドで ”show password” と “spellcheck“ が  true に設定されている
 (BleepingComputer)

さらなる安全策として、Chrome/Edge のユーザーは、両社がスペルチェックの拡張機能を修正して、パスワードなどの機密フィールドの処理を除外するまで、 前述の手順に従い、拡張スペルチェックをオフにするか、Edge から Microsoft Editor アドオンを削除することが推奨される。

なんというか、できることを、やっていないと言われても、仕方ないですね。でも、それよりも優先する脆弱性への対応や、さまざまな攻撃に対処するほうが大事なので、パスワード・スペルチェックにまで、手が回らないというのが、実情なのでしょう。拡張スペルチェック機能をオンにした覚えはありませんが、手元の Chrome for Mac で、以下のアドレスを入力して確認してみまたところ、オンになっていたのは標準スペルチェック機能だけでした。

chrome://settings/?search=Enhanced+Spell+Check

%d bloggers like this: