数えきれないほどの被害が発生している、クロスサイト・スクリプティング(XSS)と呼ばれるサイバー攻撃がある。主な攻撃対象は、SNS、掲示板、検索サイト、ログイン・ページ、各種リンクなどだ。これらのプログラムは、外部から情報を入力したり、外部へ情報を移動させる機能を有する。この動的な機能が、攻撃者にとってはプログラムのぜい弱性になる。
XSS攻撃では、正規ウェブサイトのプログラムに、HTMLやJavaScriptなどで書かれた、不正スクリプトが攻撃者によって埋め込まれる。それがウェブブラウザで実行されると、個人情報が格納されているcookieが盗まれたり、偽のウェブページへ誘導されたりする。その結果、フィッシング詐欺、マルウェア感染、個人情報漏洩、ウェブサイト改ざんなどの多様な被害が生じる。
今までにあった主要なXSS攻撃を以下に列挙する。
情報処理推進機構(IPA)の報告資料によると、2019年第3四半期において、Webサイトの脆弱性に関するIPAへの届け出が、278件あった。そのうちの約58%をXSS攻撃が占めていた。動的なプログラムが、格好の脆弱箇所を攻撃者に提供していることが分かる。
本稿を書くきっかけになったのは、XSS攻撃に関する私の実体験だった。この攻撃が、多くの投資家に深刻な結果をもたらす可能性があることを、皆さんに理解してもらうために、まず私のアメリカ株投資の実際を述べる。
私はアメリカのFirsTrade証券会社に口座を持っていて(「アメリカに口座を開いて世界へ投資」)、アメリカの株式とETFの売買を行っている。購入する銘柄を決める前に、種々の基準で、膨大な数の銘柄にスクリーニングをかける。現時点で、選び抜いた29銘柄を投資の第一候補にしている(「作者の思いNo.406」に銘柄一覧)。売買のタイミングは、これらの銘柄の価格チャートを見て判断する。
アメリカ株投資に関心を持っている皆さんのために、主要な投資候補銘柄を下に示す(括弧内は銘柄コード)。これらの銘柄は、日本のSBI証券でも扱っているので、日本においても売買が可能だ。ただし、ダウやナスダックに上場していても、アメリカ国外に本社のある企業の株式や、かなりな数のETFが、SBI証券では取り扱われていない。
これらの銘柄は、右肩上がりの素直な(あるいは素直以上に急激な)価格上昇を示している。アメリカと日本のYahoo!ファイナンス・サイトで、これらの銘柄の価格チャートを検索すれば、私が投資候補に挙げている理由を、直感的に理解できると思う。上図は6銘柄の価格を比較したチャート。IXNのチャートに他の5銘柄のチャートを加えた。その方法は、「⊕Comparison」を左クリックし、現れたウインドウに銘柄コードを一つひとつ入力していけば、新しい価格チャートが付け加えられる。
この比較チャートは5年チャートだ。5年間で、6銘柄は127~350%の価格上昇を示している。2020年3月のコロナ・ショックなどものともしない、右肩上がりのチャートになっている。ただし、アメリカ株だからといって、全部が全部、このような価格チャートを形成しているわけではない。頼りのない価格動向を示す株式が圧倒的に多い(日本と同じ)ので、スクリーニングには慎重かつ多大な努力が必要になる。
本稿の本論はここからだ。私はブラウザのセキュリティを高めるために、セキュリティ関連のアドオン(アドイン、機能拡張)をブラウザにインストールしている。上図は、Google Chromeにインストールした6つのアドオン。アドオンのインストールは、Chromeウインドウ右上の「︙(Google Chromeの設定)」>「その他のツール」>「機能拡張」と進んで実行する。「機能拡張を検索」ウインドウにアドオンの名前を入力すれば、入手可能になる。
マルウェアおよびフィッシングからサイトを保護するIBM Security Rapport、Trendツールバー、ネットでの閲覧や検索を保護するマカフィー・ウェブアドバイザーは、上の「機能拡張」から入手できない。別途、ウェブ検索をしてダウンロードしなければならない。アドオンにマルウェアが仕込まれていることがあるので、評価が定まっているアドオンのみを、信用のできるサイトからダウンロードする。
日本版Yahoo!ファイナンスでアクセスできる価格チャートには、セキュリティの問題は特になかった。しかし、アメリカ版Yahoo!Financeで価格チャートを検索すると、3銘柄(CHDN、RH、QCOM)のチャート・ログラムに対して、NoScriptが警告を発した。図のような「NoScriptがクロスサイトスクリプティング攻撃の可能性を検出しました」という警告が現れた。「このリクエストをブロック」を選択して「OK」をクリックすれば、不正スクリプトは活動しない。同時に正常なプログラムも停止されるので、価格チャートが示されなくなる。その場合は、日本版Yahoo!ファインナンスのチャートで代替する。
これらの価格チャートは、解析のための種々の指標(MACD、MFI、ROC、RSIなど)を加えたり、他の銘柄のチャートを重ね合わせて価格の比較をできる(図2)など、動的な機能を持っている。その過程で、不正に埋め込められていた、悪意のあるスクリプトが活動する可能性がある。
アメリカ版Yhoo!Financeがまだ対策を取っていないことから、不正スクリプトの攻撃は目に見えにくいことを、予想できる。また、XSSが埋め込まれている価格チャートの数が少ないことが、さらに発見を困難にする。意図的にそうしているならば、かなりのプロの仕業になる。価格チャートを使うのは投資家なので、金銭窃取を目的にして、投資家に的を絞った攻撃者の存在を予想できる。
Yahooサイト以外に、NoScriptの警告が出るサイトがもう一つある。オーストラリアの新聞「The Age」のオンライン版だ。「MOST VIEWED IN WORLD」としてまとめられた、6つの記事を開こうとすると、この警告が出る。トランプなど政治関連の記事が多く、読者は記事に対するコメントを書くことができる、動的なページから構成されている。このプログラムが攻撃を受けている。
ブラウザにインストール済みの6つのセキュリティ関連アドオンのうち、XSS攻撃が具体的な被害をもたらす前に、不正コードの存在を知ることができるのは、NoScriptだけだ。他のアドオンは何の警告も発しないので、効果が不明。注意が必要だ。目に見える被害が出てからXSS攻撃に気づいたのでは、遅すぎる。何も知らずに不正スクリプトの活動を許し続ければ、被害の範囲がとても大きくなる。
サイト運営者がプログラムのぜい弱性をなくして、不正スクリプトを埋めにくくするために、次のようなことが期待される。
リンク先や画像のURLは、「https://」や「http://」から始まるものだけにする。URLが「javascript:」で始まるものには、不正コードを埋め込みやすい。
ウェブサイトのフォームなどのスクリプト構成に必要な文字を、別の文字に置き換えて入力する(エスケープ処理)。これによって、標的個所のスクリプトを判別できないようにする。下に例を挙げる。左が無効化される記号、右が置き換えるコード。
置き換え前の文字 | 置き換え後の文字例 |
---|---|
< | < |
> | > |
& | & |
“ | " |
‘ | #39; |
サイバー攻撃に対して、完璧な対策は存在しないので、利用者の常日頃からの注意が最も大事になる。
身代金を要求するランサムウェア攻撃では、事の成り行きから、被害者はすぐに攻撃の実態を知る。しかし、仕込まれたマルウェアから個人情報が窃取された場合は、被害者は攻撃に気づきにくい。銀行口座からの不正送金などの被害が出て、初めて攻撃を知ることになる。
メールアドレス、銀行口座番号、クレジットカード番号、パスワードなどの、自分の個人情報が過去に漏洩したかどうかを、「Firefox Monitor」で確認できる。このサービスは、ブラウザFirefoxのMozilla社が2018年から提供している。
「メールアドレスを入力してください」欄に自分のメールアドレスを入力。「データ侵害を確認する」をクリックすれば、2007年以降に漏洩した情報の有無が表示される。「Firefox Monitor」では、「k-Anonymity」という匿名化の手法が用いられているので、入力されたメールアドレスが、サーバーにそのまま送信されることはない。
「Firefox Monitor」は、過去の個人情報流出や情報漏洩事件のデータベースに、入力されたメールアドレスがあるかどうかを照合する。一致したメールアドレスがあると、流出元のウェブサービスやファイルを表示する。確認できる情報は、流出元のSNSサイトやウェブサービス、流出した日時、流出した情報の種類(パスワードなど)。パスワードが漏洩している場合は、パスワードの変更や2段階認証の導入が必要になる。
私はメールアドレスをいくつか持っているが、そのうちの一つから、3年前に情報が漏洩したことが分かった。そのメールアドレスのパスワードは、すでに変更していた。
Google社も、情報漏洩確認のためのサービスを行っていた。Google Chrome向けの「Password Checkup」拡張機能がそれだったが、このサービスは昨年終了した。現在は、同様の機能が、Google Chrome本体に実装されている。
この機能が有効になっているかどうかの確認は、次のように行う。「Google Chromeの設定」>「プライバシーとセキュリティ」>「セキュリティ」>「セーフブラウジング」>「標準保護機能」または「保護強化機能」を選択すれば、有効になる。
私のPCに潜伏しているマルウェア削除のために、トロイの木馬削除ツールを5つインストールしている(HousecallLauncher64、Norton Power Eraser、Microsoft Safety Scanner (MSERT)、悪意のあるソフト削除ツール、Spybot Start Center)。一つひとつに一長一短があるので、総合力に頼ることになる。「MSERT」と「悪意のあるソフト削除ツール」は、マイクロソフト社が提供している。
最近、「MSERT」だけがトロイの木馬「VirTool:Win32/DefenderTamperingRestore」を検出した。このトロイの木馬は、オペレーティングシステムに静かに侵入し、システムにさまざまな問題を引き起こす。活動が開始されると、システムの内部構成が変更され、攻撃者がPCを意のままに操ることが可能になる。また、他のマルウェアの侵入と潜伏を誘導する目的にも使われる。Windowsユーザーは、「MSERT」のインストールを考慮したい。