この悪意のあるクロスサイトスクリプトは、しばしばログインフィールドに感染し、あなたのログイン情報やクッキーを盗みます。このソフトウェアはそうした情報を記録してハッカーに送信し、ハッカーはその情報を使ってあなたのアカウントを管理します。
クロスサイトスクリプティングとは、「攻撃側」のサイトから悪意のあるコードを、問題のない普通のサイトに注入する行為です。そのため、クロスサイトスクリプティングという言葉が生まれました。
元々の用語は、JavaScriptのみを指すものでした。しかし、オリジナルの名称が作られてから数十年が経過した現在、XSSという用語は、ActiveX、Flash、HTMLなど、JavaScript以外のベクターを含むようになっています。
反射型XSS。XSS攻撃の中で最も一般的なタイプ。反射型XSSは、ユーザーがウェブサイトのサーバーにリクエストを送信したときに起こります。ハッカーが埋め込んだ悪意のあるスクリプトは、サーバーで反射し、エラーメッセージや検索結果として被害者の画面に表示されます。
不幸にもマルウェアを受け取ってしまった被害者は、プロンプトボタンやリンクをクリックすることで、感染したコードを実行してしまいます。これは、被害者のブラウザが、上記のコードが信頼できるサーバーから送られてきたものであると錯覚してしまうために起こります。侵害されたサイトに入力されたすべての情報は、ハッカーに送信されます。
持続型XSS。蓄積型XSSとも呼ばれます。持続型XSSは、アプリケーションやWebサイトに悪意のあるスクリプトが持続的に埋め込まれており、そのHTTPレスポンスのすべてに感染している場合に起こるものです。
たとえば、ウェブサイトのコメント欄内にマルウェアが埋め込まれていて、クリックされると起動するような仕組みのものです。持続型XSSの危険性は、犯罪者はすでに罠を仕掛けているため、潜在的なターゲットを誘惑してリンクを踏ませる必要がないことです。ハッカーがすべきことは、エサを用意して待つことだけです。
DOM Based XSS。Webページを開くと同時に作成されるDOM(Document Object Model)は、ユーザーがサーバーとやり取りすることなく、ページ上のすべてのコンテンツにアクセスできるようにするものです。DOM Based XSSがターゲットのブラウザに焦点を当てるのはそのためです。
反射型XSSと持続型XSSでは、危険を見極めるサインがレスポンスページのHTMLに現れています。DOM Based XSSにおける脅威は、サイトのコードを掘り下げない限り脆弱性を確認できない点にあります。ITに長けていない大多数のターゲットがこの被害に遭ってしまいます。普段リンクをクリックする前に、ウェブサイトのコードをダブルチェックすることはないですよね。
クロスサイトスクリプティング攻撃は、標的となるサイトのエンドユーザーが、仕掛けられた罠にかかることで発生します。クロスサイトスクリプティング攻撃は、スクリプトの内容によって被害が異なることが特徴で、代表的なクロスサイトスクリプティングの被害例は以下の通りです。
あなたがウェブサイトを訪れた際に、IDやパスワードなど、さまざまな個人情報を保存してくれるのがクッキー(Cookie)です。セッションハイジャックとは、このクッキーを盗む攻撃手法のことを指します。
本来、クッキーは、ユーザーがIDやパスワードを一度入力すると、2回目以降の入力を自動で行うなど、サイト利用におけるユーザーの利便性を高めることを目的としています。しかし、XSS攻撃によりスクリプトが埋め込まれたページにアクセスすると、このクッキーの情報が盗まれる可能性があります。
フィッシング詐欺も、XSSによる被害のひとつです。悪意のあるスクリプトが書かれたページにアクセスすると、公式サイトを真似た偽サイトにリダイレクトされ、それに気づかずにIDやパスワードを入力すると、その情報がハッカーによって盗まれてしまいます。そして、ハッカーは盗んだIDとパスワードを使って、ユーザーになりすまし、サイトを利用することができるのです。
たとえば、そのサイトがオンラインショッピングのサイトであれば、ハッカーは情報を盗んだユーザーのアカウントを利用して商品を購入することができます。場合によっては、ハッカーは公式SNSサイトにそっくりなページを偽装し、ユーザーに偽のメールを送ってアクセスを誘導することもあります。身近な存在である一方、SNSの危険性は年々高まっています。
XSS攻撃では、ターゲットとなったWebサイトの中身が書き換えられてしまうことがあります。改ざんの結果、サイトのサービスに支障をきたすだけでなく、マルウェアへの感染を目的とした別のWebサイトへユーザーを誘導するケースも少なくありません。
残念ながら、XSS攻撃から身を守ることは困難です。このマルウェアは、あなたが使っているデバイスではなく、あなたが訪れたウェブサイトを標的にします。
どのような種類のマルウェアであっても、被害に遭わないためにできる対策は、知識を深めることです。誤って悪意のあるコードを実行してしまう前に、危険なサインを認識できるように学ぶことは、オンライン活動の安全を確保したい人にとって優先事項です。ここからは、XSS対策のためのヒントをご紹介します。