2017.06.01

そのWebページ、自動入力でも大丈夫?

難易度
1
カテゴリー
技術ナレッジ

170601_automatic-input_mv

こんにちは。フリーエンジニアの木下です。
ブラウザのオートコンプリート、便利なのでさまざまな情報を記録されていると思います。
ログインIDやパスワードは表示されるリストから選べば入力してくれますし、サイトの入力画面によっては住所・氏名・メールアドレスといった個人情報もブラウザは記憶して自動的に入力してくれます。
大変便利なのですが、そこに落とし穴も存在する、ということはご存じでしょうか?

■オートコンプリートは便利な入力補完

ブラウザにはさまざまな情報が記録されていますがそのオートコンプリートの仕組みはあまり知られていません。なんとなく入力するデータをブラウザが親切に先取りして表示してくれる、くらいの認識の方が多いと思います。
例えば、何かしらサイトにログインしようとした際に、自動的にログイン名となるメールアドレスが入力候補として表示されたことはないでしょうか?
その入力候補の中には「このサイトで一回も入力したことないんだけどなぁ…。」という文字列が含まれることがあります。

そのサイトでは入力したことがない文字列でも入力候補として一覧表示される理由は、「そのページの作り」によります。つまり全く関係ないサイトであっても、その入力欄の呼び名が同じ名前が使われていれば、ブラウザは同じ入力欄として記憶している情報を提示してくれます。

例えば、一例として全く関係ないサイトのソースを見比べてみましょう。(画像はクリックで拡大)

図1:サイト1のログインID部分

図2:サイト2のログインID(メールアドレス)部分

このサイト1とサイト2は全く関係のない別々の会社が提供しているサービスのWebサイトログイン画面です。しかしながら、ブラウザから見ると同じ入力ボックスとして認識しています。その理由が画面ハイライトの部分にある「name="j_username"」と記載された欄です。いずれのページでもこのログイン用のID入力欄は"j_username"という名前が付けられています。

ブラウザから見れば同じ"j_username"という名前のあるボックスに入力したことのある文字列を記憶しているので、今まで"j_username"という欄に入力したことのある文字はこれですよ、という一覧を候補として提示してくれている、ことになります。URLが違っていても同じボックス名であれば同じ情報を内部では記憶しています。

ここでは"j_username"というページでしたが、例えばログインIDのname="login"となっているログインページであれば同じようにどのサイトでもname="login"と設定されている箇所の入力履歴はブラウザが記憶してくれています。

■ログインIDだけじゃない

ここではログインIDで見比べてみましたが、そのほかにもブラウザが記憶している個人情報はあります。例えば、住所や電話番号、メールアドレスといった個人情報です。そしてブラウザの仕様や設定にもよりますが、記憶した情報をアクセスしたWebページ内の該当する箇所に”ブラウザが自己判断して入力する”という動きをすることがあります。

つまり今までのようにちょっと注意すれば見抜けるようなフィッシング詐欺だけではなく、正規のサイトに見せかけて入力した情報以上の情報が抜き取られる可能性も出てきている、ということになります。

よくあるフィッシング詐欺は、利用しているログインIDとパスワードを偽サイトに手入力させることで、そのIDとパスワードを奪取します。このようにIDとパスワードがフィッシング詐欺で抜き取られただけであれば、速やかにそのサービスで利用しているIDなりパスワードなりを変更してしまえば被害は最小限で済むかも知れません。しかし、「IDやパスワードではないから」と油断して何気ないテキストボックスに何か文字列を入力しただけにもかかわらず、その画面の見えないところでは住所やカード番号などの個人情報までがブラウザの自動入力を悪用され、不正に収集される可能性もある、という危険も潜んでいます。

この図で言えば、ブラウザを操作している人は画面上に表示された名前とメールアドレスの入力欄しか目の前には見えていません。実際に入力したのも名前とメールアドレスでしかありません。従来のフィッシングサイトであれば入力した値だけが不正に取得される、という動きなのでこの例で言えば手入力した名前とメールアドレスが収集されるだけでした。

しかし、最近では目の前に見えている入力ボックス以外に、ブラウザがテキストボックスに自動入力する機能を悪用し、画面上の見えない場所に設置されたテキストボックスにさまざまな情報を入力するよう”ブラウザに促し”ます。人間は気づかないうちにブラウザが自動入力してしまったさまざまな個人情報を悪意のあるユーザーに抜き取られてしまう、ということです。これがクレジットカード情報のように、金銭被害に直結する情報であればかなりの痛手をかぶることにつながってしまいます。

■防衛策は?自動入力を使わない

結論から言ってしまえば、「自動入力を使わない」ということが最善の策となります。
この動きは任意のテキストボックスが画面から隠されているため、自動入力が動作して情報をサイト上に送信してしまうことに気づかない、ということが最大の特徴になるためです。
これがもし自動入力が使われていないようであれば、目の前にあるテキストボックスに対して、キーボードから手入力した情報しか送信されないことになります。

こういった自動入力の落とし穴を使ったフィッシングが増えてくると、ブラウザ側でも対策が施されることは予想されますが、現状はどのブラウザでも自動入力が有効になっていれば、隠されたテキストボックスかどうかは判別することなく、ブラウザ内に記憶された自動入力対象データを入力してしまうようです。この辺りはブラウザの機能改善が待たれます。

ここではChromeを例として、ものは試しにお使いのChromeでどのような情報が自動入力の対象としてブラウザに記憶されているか、確認してみましょう。
Chromeの設定から、画面下部の「詳細設定を表示」をクリックすると、「パスワードとフォーム」という表題の設定が画面に表示されるようになります。

その項目に、「自動入力設定の管理」というリンクが表示されますので、これをクリックすると自動入力対象のデータとしてChromeで記憶しているデータが表示できます。

お使いのChromeの「自動入力の設定」画面で表示されている情報が抜き取られるリスクがある情報となります。Chromeでは自動入力機能で「名前、組織、住所、電話番号、メールアドレス」といった情報を保存し、オンラインフォームにChromeが情報を自動入力してくれることで人間が手入力する手間を省く機能がありますが、前述の画面でそのデータを編集したり削除したりすることができます。

■まとめ

● ブラウザの自動入力は便利だが、フィッシングサイトに遭遇したときに悪用されてしまう。
ブラウザの自動入力は、ブラウザに記憶されている個人情報を読み出す。
悪意のあるページは目の前に見える情報以外の情報を盗み出しているかもしれない。

ブラウザの自動入力機能は大変便利なのですが、こういったリスクもある、ということは認識しておきたいですね。各ブラウザでの対策を待ちたいところです。

この記事を書いた人

木下肇

東京/神奈川を中心に、都内中堅企業ではシステム部門の一員として部内インフラ業務に、別の小規模企業ではインフラ全般について管理業務の委託を受けるフリーエンジニア。オンプレミスの企業内インフラからクラウド環境のサーバ/ネットワークまで、OS守備範囲はWindowsからLinuxまで、障害の診断や修復/修理であればソフトからハードまで、幅広い守備範囲で日々お客様の業務を遂行しています。
お仕事のご相談はコチラ⇒http://www.treedown.net/

GMOクラウドアカデミーYouTubeチャンネルはこちらから

アカデミー用バナー

メルマガ会員募集中!

アカデミーの最新情報や会員限定のお得な情報をお届けします。

メルマガ登録はこちら