クロスサイトスクリプティングとは?
クロスサイトスクリプティング(Cross Site Scripting:XSS)とは、Webサイトの特に入力フォームの脆弱性を利用し、HTMLに悪質なスクリプトを埋め込むサイバー攻撃です。
アンケートサイトやブログ、サイト内検索、掲示板などのユーザーの入力情報をもとにWebページを生成するサイトやSNSが、クロスサイトスクリプティングの対象になりやすいメディアといえるでしょう。
埋め込まれた悪意あるスクリプトが実行されて被害が発生する
サイトに設けられた入力フォームにユーザーが個人情報を入力・送信する際に、そこに埋め込まれた悪意があるHTMLスクリプトが実行され、入力された情報やCookie情報などがハッカーに送られます。
ちなみに、クロスサイトスクリプティングや省略形のXSSという用語は、本来はJavaScriptのみを指すものでした。しかし、その名称が生まれてから数十年が経過した今日では、Flash・ActiveX・HTMLなど、JavaScript以外のものも含むようになっています。
なお、当サイトの読者のみなさんが携わっていると思われる、サブスク型ビジネス、とりわけSaaSビジネスにとっての最重要課題は「カスタマーサクセス」です。
そんな「カスタマーサクセス」について、以下の特集記事『カスタマーサクセスとは?サブスク型SaaSビジネスの生命線を完全解説!』で特集しています。ぜひご一読ください。
また、SaaSを含むBtoB企業における、マーケティング組織の類型と作り方や、営業部門との関係性に関して以下の特集記事『現代のマーケティング組織の類型と作り方とは?営業部門との関係性も解説』で解説しています。ぜひ、そちらも参考にご覧ください。
上記のボタンから、次の6つの「ビジネスお役立ち資料」が無料ダウンロードできます!
- これから始めるインサイドセールス〜事前準備から立ち上げ方まで〜
- メールマーケティングのすすめ
- 展示会の効果を最大化させる12の手法
- 世界一わかりやすい!マーケティングオートメーション
- 無料で使える!国産No.1 マーケティングオートメーション
- MAツールタイプ別診断チェックシート
クロスサイトスクリプティング攻撃の手口(やり方)
クロスサイトスクリプティング(XSS)攻撃のやり方=手口には主に以下の3種類が挙げられます。
- 持続型XSS
- 反射型XSS
- DOM Based XSS
個別に概要を見ていきましょう。
持続型XSS
持続型XSSは蓄積型XSSとも呼ばれている手口です。その名のとおり、Webサイトやアプリケーションに悪意のあるスクリプトが「持続的」「蓄積的」に埋め込まれており、それらに感染して被害が発生するものです。
マルウェアと気づかずクリックすることで攻撃が開始される
例を挙げればWebサイトのコメント欄にマルウェア(デバイスに不利益をもたらす悪意あるソフトウェア)が埋め込まれていて、ユーザーが気づかずクリックすることにより起動する仕組みです。
持続型XSSの特徴は、ハッカーはすでに「罠を仕掛けて」待っている状態であり、ターゲットに悪意のリンクを踏ませるために誘惑する必要がないことです。
〜【おすすめ記事】「疑問ワードを日本一わかりやすく解説」シリーズのご紹介 〜
プログラミング言語として現在注目を集めているPythonについては以下の特集記事『Pythonとは?右肩上がりの人気プログラミング言語を日本一わかりやすく解説』で、学び方も含めて詳しく解説しています。ぜひ、参考にご一読ください。
反射型XSS
XSS攻撃の中でスタンダードともいえる反射型XSSは、ユーザーがWebサイトのサーバーにリクエストを送信したときに始まります。
ハッカーによって埋め込まれた悪意あるスクリプトが「サーバーで反射して」検索結果やエラーメッセージとしてユーザーの画面に表示されます。
侵害されたサイト上ですべての個人情報が不正窃取される
マルウェアを受け取ってしまったユーザーは、リンクやプロンプトボタンをクリックすることで、悪意に満ちたスクリプトを実行してしまいます。
その原因は、ユーザーのブラウザが、その悪意のスクリプトは信頼できるサーバーから送られてきたと錯覚することです。そして侵害されたサイト上で入力された、すべての個人情報がハッカーに送信されます。
〜【おすすめ記事】「疑問ワードを日本一わかりやすく解説」シリーズのご紹介 〜
IT用語の「FTP」については以下の特集記事『IT用語の「FTP」とは?関連用語も含めて日本一わかりやすく解説!』でフォーカスして徹底解説しています。そちらの記事もぜひ、参考にご覧ください。
DOM Based XSS
Webページを開くと生成されるDOM(Document Object Model)は、ユーザーがページ上のすべてのコンテンツに、サーバーとやり取りすることなくアクセスできるようにするためのものです。
DOM Based XSSが、ユーザーのブラウザにフォーカスするのはそのためです。前出の持続型XSSおよび反射型XSSでは、注意深く確認すれば危険の兆候がレスポンスページのHTMLに現れています。
しかしDOM Based XSSは、そう簡単にはいきません。
DOM Based XSSはWebページのソースコードを調べなければ確認できない
DOM Based XSSの厄介なところは、Webサイトのページのソースを掘り下げないかぎり、脆弱性を確認できない点です。ITに詳しくない大半のユーザーが、この被害に遭うリスクがあります。
普段、リンクをクリックする前に、そのページのソースコードをチェックすることはまずないからです。
〜【おすすめ記事】「疑問ワードを日本一わかりやすく解説」シリーズのご紹介 〜
ビジネス用語のバッファについては以下の特集記事『バッファとはなに? ビジネス+全分野を網羅して日本一わかりやすく解説!』で取り上げて詳しく解説しています。そちらの記事もぜひ、参考にご一読ください。
【当サイト「kyozon」とは?】
当サイト「kyozon」とは、読者のみなさんの日々の業務に役立つ情報群を発信し、ユーザーとベンダーのコミュニケーションを大いに活性化させるWebサービスです。また、読者のみなさんは関心があるサービスの資料を、無料でダウンロードでき、お役立ち資料としてご活用いただけます。
クロスサイトスクリプティング攻撃で発生する被害
クロスサイトスクリプティング(XSS)攻撃によって発生する、代表的な被害を挙げると以下のとおりです。
- Webサイトの改ざん
- 個人情報の不正窃取
- セッションハイジャック
それぞれの内容を見ていきましょう。
Webサイトの改ざん
クロスサイトスクリプティング(XSS)攻撃の標的となったWebサイトの内容が改ざんされてしまうことがあります。その結果、虚偽の情報が表示されて、サイトのサービスに支障をきたします。
さらには、マルウェアへの感染を意図してユーザーを別の危険なWebサイトへ誘導するケースも多いです。
個人情報の不正窃取
たとえば狙われたWebサイトがECサイトであれば、ハッカーはユーザーから不正窃取した個人情報を利用して、ユーザーのアカウントで商品を購入できます。
最近では企業の公式サイトやSNS公式アカウントにそっくりなページを作成した上で、ユーザーに偽メールを送ってアクセスを誘導することもあります。
〜【おすすめ記事】「疑問ワードを日本一わかりやすく解説」シリーズのご紹介 〜
注目の人材教育法「リフレクション」については以下の特集記事『リフレクションとは人材教育に活かせる「振り返り」!その手順や実践法を日本一わかりやすく解説!』でフォーカスして徹底解説しています。そちらの記事もぜひ、参考にご覧ください。
セッションハイジャック
ユーザーがWebサイトを訪問した際にIDやパスワードほか、さまざまな個人情報を保存するのがCookieですが、セッションハイジャックはこのCookie情報を盗む攻撃の手口です。
本来CookieはIDやパスワードを一度入力すると、2回目以降の訪問では自動的に入力されるなど、サイト利用におけるユーザビリティを高めるためのものです。
しかし、クロスサイトスクリプティング(XSS)攻撃によりスクリプトが埋め込まれたページにアクセスすると、Cookie情報が盗まれるリスクがあります。
Cookie情報の窃取は広範囲な被害につながるおそれあり
そもそもCookie情報を盗まれるということは、ユーザーにとって重要なデータがハッカーにさらされることになるのです。
セッションハイジャックの被害に遭った場合、クレジットカードの不正利用や不正出金、機密情報の窃取など被害が広範囲にわたるおそれがあります。被害者が企業ユーザーの場合は、顧客情報の流出を仄めかして金銭要求の脅迫を行う手口があります。
〜【おすすめ記事】「疑問ワードを日本一わかりやすく解説」シリーズのご紹介 〜
あらゆる分野で変革を迫られている「パラダイム」については以下の特集記事『パラダイムとは?その意味を具体例を交えて日本一わかりやすく解説!』で取り上げて徹底的に解説しています。ぜひ、そちらの記事も参考にご覧ください。
クロスサイトスクリプティング(XSS)攻撃への対策
クロスサイトスクリプティング(XSS)攻撃から身を守ることは、決して簡単ではありません。なぜなら、この攻撃はユーザーのデバイスではなく、ユーザーが訪れたWebサイトを標的にしているからです。
どのような種類のサイバー攻撃であっても、被害を回避するための対策は知識を深めることです。オンライン活動の安全を確保したいのであれば、悪意あるスクリプトを気づかず実行してしまう前に、危険な兆候を認識できるように学ぶことが賢明です。
ここでは「ユーザー」「企業のIT管理者」「Web製作者・管理運営者」のそれぞれの立場で施すべき賢明なXSS対について触れておきましょう。
〜【おすすめ記事】「疑問ワードを日本一わかりやすく解説」シリーズのご紹介 〜
ワークライフバランスについては以下の特集記事『「ワークライフバランス」の使い方はもう間違わない!例文付き解説で完全マスター』で取り上げて詳しく解説しています。そちらの記事もぜひ、参考にご一読ください。
ユーザーが施すべき対策
ユーザーが日常で施すべき対策は、以下の3つです。
- 訪れたWebサイトに違和感を感じた場合、入力やクリック等の行動に注意する
- (プログラミングの知識がある場合)Webページのソースコードをチェックして、不適切なスクリプトがないか確認する
- 信頼性が高いブラウザ(Google Chrome・Safari・Internet Explorerなど)には反射型XSSを検出してブロックする機能が組み込まれているので積極的に利用する
企業のIT管理者が施すべき対策
企業のIT管理者が施すべき対策としては、以下の3つが妥当でしょう。
- 包括的なセキュリティソフトウェアをインストールする
- 危険なサイトに誘導させる悪意あるメールをブロックする
- ネットワーク内からの危険なサイトへのアクセスを遮断する
Web制作者・運営管理者が施すべき対策
Web制作者・運営管理者が施すべき対策としては、以下の3つが挙げられます。
- 常にWebサーバーおよびアプリケーションを最新バージョンに更新しておく
- XSS対策用のWebアプリケーションを活用する
- XSS攻撃に対応したフィルタ機能を備えたWAF(Web Application Firewall)を導入する
- サニタイジング(エスケープ)を行う
〜【おすすめ記事】「疑問ワードを日本一わかりやすく解説」シリーズのご紹介 〜
企業組織の運営に役立つ職務分掌については、以下の特集記事『職務分掌とは?その意味やメリット、実施の手順を日本一わかりやすく解説!』でフォーカスして徹底解説しています。そちらの記事もぜひ、参考にご覧ください。
【補足】サニタイジング(エスケープ)がXSS対策になる理由
サニタイジングとは、Webサイトや掲示板、SNSなどの入力フォームにユーザーが入力したテキストデータを受け取る際に、プログラムにとって意味を持つ可能性がある文字列を検知して、一定の規則に基づいて別の表記に置換することです。
悪意のスクリプトも無害な文字列に置き換え
タグを無害なテキストに置き換えること、を「無害化」とも呼びます。ハッカーがユーザーの入力したデータのなかに、誤作動を誘発する悪意あるコード断片を混入させていても、サニタイジング(エスケープ)処理によって無害の文字列に置き換えられます。
それにより不適切なscriptの動作を防げられるのが、サニタイジングがXSS対策となる理由です。
〜【おすすめ記事】「疑問ワードを日本一わかりやすく解説」シリーズのご紹介 〜
組織運営において現在注目されている「チームビルディング」については、以下の特集記事『チームビルディングとは?そのやり方や目的、学べる本を日本一わかりやすく解説!』で取り上げて徹底的に解説しています。ぜひ、そちらの記事も参考にご覧ください。
XSS攻撃以外の脆弱性を突いたサイバー攻撃
クロスサイトスクリプティング(XSS)以外の、Webサイトの脆弱性を突いたサイバー攻撃として、以下の2つが挙げられます。
- クロスサイトリクエストフォージェリ(CSRF)
- SQLインジェクション
それぞれの攻撃内容を見ていきましょう。
クロスサイトリクエストフォージェリ(CSRF)
クロスサイトスクリプティング(XSS)は動的なWebサイトの入力フォームの脆弱性を突いたものですが、クロスサイトリクエストフォージェリ(CSRF)はセッション管理の脆弱性を突いた攻撃です。
セッションIDの窃取により改ざん・不正操作・矯正書き込みを行う攻撃
セッションはセッションIDとも呼ばれ、アプリケーションやサーバーがユーザーを識別するために付与される情報です。ハッカーは、セッションの管理に関して脆弱性があるWebサイトにログインしたユーザーを標的とします。
罠を仕掛けたサイトにユーザーを誘導して、サイバー攻撃用に仕組んだリクエストURLをクリックさせます。これにより、Webサイトの内容の改ざんや不正操作、強制書き込みなどをユーザーのセッションIDを用いて行います。
〜【おすすめ記事】「疑問ワードを日本一わかりやすく解説」シリーズのご紹介 〜
製造業を中心に推進される「ヒヤリハット」活動については以下の特集記事『ヒヤリハットとは何か?さまざまな分野での事例も含めて日本一簡単に解説!』でフォーカスして徹底解説しています。そちらの記事もぜひ、参考にご覧ください。
SQLインジェクション
SQLインジェクションとは、SQL(データの更新や追加・ユーザー権限の付与などに使用されるデータベースを操作するための言語)に、不正なプログラムを挿入する攻撃の手口です。
SQLに不正なコードの断片を挿入して発動させることで、データベースをダイレクトに攻撃する「アタック攻撃」の一種です。
SQLインジェクションの標的にされやすいサイトは、データを保大量に保有していてSQLで制御が必要な、アプリケーションの脆弱性を抱えるポータルサイトやECサイト、決済サイトなどです。
悪意あるSQLの実行によって攻撃が開始される
アプリケーションの脆弱性により、本来のサイトの意図と異なるSQLが作成されることで、不正にデータを操作されます。Webアプリケーションサーバー内で、ハッカーは入力フォームからSQL文を含む文字列を入力します。
それがサーバーに渡され、脆弱性につけこんで悪意あるSQLが実行されることで攻撃が開始されるのです。被害の種類には、データベース内のデータの改ざんや消去などが挙げられます。
〜【おすすめ記事】「疑問ワードを日本一わかりやすく解説」シリーズのご紹介 〜
チームディスカッションでアイデアを量産する「ブレーンストーミング」については以下の特集記事『ブレーンストーミングとは何?日本一簡単に説明します!やり方とルールも徹底紹介』で取り上げて詳しく解説しています。ぜひ、参考にご一読ください。
XSS攻撃の被害例と未然に回避した事例
最後に、クロスサイトスクリプティング(XSS)による攻撃の代表的な被害例と、併せて被害に繋がる前に脆弱性が発見されて回避できた事例をご紹介しましょう。
クロスサイトスクリプティング(XSS)攻撃の代表的な被害例
代表的なクロスサイトスクリプティング(XSS)攻撃の被害例としては、2010年に相次いで起こったYouTubeとTwitterの事件が有名です。
〜【おすすめ記事】「疑問ワードを日本一わかりやすく解説」シリーズのご紹介 〜
人気が高いプログラミング言語PHPについては、以下の特集記事『PHPとは何か?どのようなプログラミング言語か、周辺情報を含め日本一わかりやすく解説!』で取り上げて詳しく解説しています。そちらの記事もぜひ、参考にご一読ください。
Youtube
2010年7月に、アメリカのYouTubeを狙ったクロスサイトスクリプティング(XSS)攻撃により、事実無根のショッキングなデマが流れたり、悪質なWebサイトにリダイレクトされたり、コメントが表示されなくなったりするなどの被害が広がりました。
この攻撃はコメントシステムの脆弱性が悪用されたケースです。YouTubeの画面に「ニュース速報:(歌手の)ジャスティン・ビーバーが交通事故で死亡」などのフェイクニュースがポップアップ表示されるなどで波紋を広げました。
2010年9月にTwitterの公式クライアント・アプリケーション「TweetDeck」の脆弱性をハッカーが突いて、大量に意味不明なリツイートをさせる事件が発生しました。
ユーザーのアカウントが遠隔操作でセッションハイジャックされ、フォロワーが細工されたツイートにタイムラインでマウスオーバーするだけで、意図せずにリツイート(RT)されるという被害でした。およそ50万人のユーザーが、影響を受けたとされています。
〜【おすすめ記事】「疑問ワードを日本一わかりやすく解説」シリーズのご紹介 〜
今日のあらゆる職場に求められる「ダイバーシティ」については、以下の特集記事『ダイバーシティとはどのような考え方か?日本一わかりやすく全方位的に解説!』で取り上げて詳しく解説しています。そちらの記事もぜひ、参考にご一読ください。
脆弱性を発見し未然にXSS攻撃を回避した代表的な事例
脆弱性を発見しXSS攻撃を未然に回避した代表的な事例としては、「PayPal」「ユニクロのAndroidアプリ」「Amazon Alexa」が有名です。
PayPal
2015年にPayPalの決済ページをダイレクトに書き換えることができるという、重大な脆弱性が見つかりました。PayPalはこの脆弱性を報告後にバグを速やかに修正したため、特に被害はありませんでした。
ユニクロのAndroidアプリ
2020年に、ユニクロのAndroid公式アプリ「ユニクロアプリ」にクロスサイトスクリプティング(XSS)に対する脆弱性が発見されました。ユニクロは速やかにアプリの脆弱性を修正しており、確認された被害はありません。
Amazon Alexa
2020年に、AmazonのAmazon Alexa(スマートスピーカー)にクロスサイトスクリプティング(XSS)に対する弱性が発見されました。
XSS攻撃によって強制的にAlexaスキル(Alexaを音声でコントロールするアプリケーション)のインストールやアンインストールが可能になり、決済関連情報を含む個人情報や音声入力履歴が不正窃取されるおそれがあると、専門家が指摘しました。
Amazonは直ちに対策を施し、被害例は報告されていません。
〜【おすすめ記事】「疑問ワードを日本一わかりやすく解説」シリーズのご紹介 〜
人事に関連するキーワード「法定休日」については以下の特集記事『法定休日とは?法定休日労働や36協定も含めて日本一わかりやすく解説!』で取り上げて詳しく解説しています。そちらの記事もぜひ、参考にご一読ください。
まとめ
時折世間を騒がせるサイバー攻撃のなかで、クロスサイトスクリプティング(XSS)と呼ばれる攻撃について、周辺情報も含めてわかりやすく解説しました。
クロスサイトスクリプティング(XSS)はセキュリティ専門家でもないかぎり、一般的には注意していても気づきにくい厄介な手口です。そして一旦感染すれば、被害は広い範囲に及ぶ危険性があります。
クロスサイトスクリプティング(XSS)の被害を回避するためには、ユーザーと企業のIT管理者、Webサイトの製作者および運営管理者のそれぞれの立場からの、堅実周到な対策が求められます。
企業の経営者、経営幹部、そしてIT管理担当やWebサイト運営管理担当のみなさんには、ここでご紹介した情報を参考に、適切なクロスサイトスクリプティング(XSS)対策を検討していただければ幸いです。
なお、当メディア「kyozon」のメインテーマのひとつが「マーケティング」です。当サイトにて、マーケティングに役立つ、さまざまなサービスの資料が無料でダウンロードできます。マーケティング担当者や責任職のみなさんは、ぜひご利用ください。
また、ビジネススキルの中でも高度な部類に入るのが「マーケティングスキル」です。
マーケティングスキルはビジネスにおける自分の最強のリソース(資源)であることを、以下の特集記事『マーケティングスキルは身につけて損がないビジネス上の最強の自己資源』で総合的に詳しく解説しています。ぜひそちらも、参考にご覧ください。
ちなみに、そもそもマーケティングとは一体どういうものなのかについて知りたいみなさんのためには、以下の特集記事『マーケティングとはなにか?その意味や定義を日本一わかりやすく解説』において、掘り下げつつわかりやすく解説しています。
基礎的情報として、ぜひ参考にご一読ください。
【SNSフォローのお願い】
kyozonは日常のビジネスをスマートにする情報を、毎日お届けしています。
今回の記事が「役に立った!」という方は、twitterとfacebookもフォローいただければ幸いです。
twitter:https://twitter.com/kyozon_comix
facebook:https://www.facebook.com/kyozon.comix
※2023年以降のマーケティング戦略構築に参考になる、マーケティングトレンドについて、以下の特集記事『マーケティングトレンドを徹底解剖!2022年までの考察と2023年の展望』で総合的かつ詳細に解説しています。ぜひとも、参考にご一読ください。
※マーケティングを実践するにあたって、消費者の購買行動を可視化するマーケティングモデルというものがあります。マーケティングモデルとは何かについて、以下の記事『マーケティングモデルとは?認知から購買の消費者行動を分析した仮説』でわかりやすく解説しています。そちらも、参考にご一読ください。
※マーケティング活動は幅広い領域にまたがるため、全体を統括するスキル「マーケティング・マネジメント」が求められます。
「マーケティングマネジメント」について、そのプロセスと業界別成功例を以下の特集記事『マーケティングマネジメントとは?プロセスと業界別成功例を徹底解説』で詳細に解説しています。そちら、ぜひ参考にご覧ください。