BlogホームECサイト制作の詳細はこちら制作の相談はこちらホームECサイトクロスサイトスクリプティングとSQLインジェクションってなに?ECサイト2021.12.13クロスサイトスクリプティングとSQLインジェクションってなに?Webサイトを閲覧するだけで個人情報が盗まれたり、さまざまな被害を引き起こすセキュリティ問題。クロスサイトスクリプティング(XSS)とSQLインジェクションの違いについて解説していきます。Firewall)を実装するクロスサイトスクリプティング攻撃、SQLインジェクション攻撃の対策なら「株式会社Refine」にお任せまとめクロスサイトスクリプティング(XSS)とは?クロスサイトスクリプティング(XSS)とは、Webアプリケーションの脆弱性を利用して行われるサイバー攻撃の1つです。IPA(情報処理推進機構)が公開した資料によると、2020年7月~9月に届出された脆弱性のうち、約58%がこのクロスサイトスクリプティングであるとされており、近年国内外でも多く報告されています。専門的な知識があれば、簡単に実行できてしまう攻撃とされており、ECサイトの運営者は対策が必要です。クロスサイトスクリプティング攻撃の仕組みまず攻撃者は、脆弱性のあるWebサイトを見つけ、悪質なサイトへ誘導する罠(脆弱性のあるサイトへ誘導するスクリプトを含んだリンク)を仕掛けます。ユーザーが悪質なサイトのリンクをクリックし、そこから見たいサイトを訪れることで、仕組まれていた罠が発動して攻撃が始まります。攻撃の種類には、マルチウェア感染や個人情報漏洩、フィッシング詐欺などといった被害が挙げられています。このように、サイトをまたいでスクリプトが実行されるので「クロスサイト」という名称になっています。本質的な原因は、攻撃者がWebサイトに不正なスクリプトを混入できてしまうということです。クロスサイトスクリプティングに対する脆弱性をもったまま可動しているサイトの放置が問題となっています。不正なスクリプトには、個人情報を悪質なサイトに送信するように設定されているので、直接的な被害を生み出してしまいます。個人情報の漏洩など、甚大な被害を及ぼすクロスサイトスクリプティング。Webサイト運営者とユーザー、双方でのセキュリティ対策が必要です。ユーザー側に求められる対策まずは、使用しているブラウザやアプリを常に最新の状態にアップデートしておくことです。古いバージョンのままだと、何らかの脆弱性を抱えている場合があり、セキュリティも万全とは言えません。他にも、不正なスクリプトを検出してくれる個人ユーザー向けのウイルス対策ソフトなどもあるので、それらを導入して不正なアクセスをブロックしましょう。フォームの入力値に制限を設ける(バリデーション処理)生年月日の入力フォームのように、特定の範囲の数値しか入力できないようにすることで、スクリプトが入り込む隙をなくすことができます。このように、特定の文字以外の入力を受け付けない設定のことを、バリデーション処理といいます。入力する文字数を制限することで、長いコードの入力も防ぎ、攻撃をある程度抑えることができます。バリデーション処理を行う際は、ブラウザ側で設定を行うとユーザーがその機能を無効化できてしまうので、必ずサーバー側で処理を行う必要があります。ユーザーの入力フォームに添付されるスクリプトを無効化するクロスサイトスクリプティング攻撃の本質的な原因は、先述の通り、攻撃者がWebサイトに不正なスクリプトを混入できてしまうということです。不正スクリプトが混入してしまう原因の一つとして、ユーザー画面の入力フォームから、スクリプトを挿入し実行する場合が考えられます。この対策として、入力フォームのスクリプト無効化(サニタイジング)が有効です。Firewall)を実装する対策12は、Webアプリケーション側での対策であり、悪意のある攻撃者が新しい手法で攻撃してくる可能性もあります。サーバー側の対策を考慮した場合も、サーバーの侵入をされてしまっては改ざんのリスクがあります。厳重に対策するには、WAFを導入する方法があります。Webアプリケーション側でチェックをすり抜けた場合も、WAFを導入していれば攻撃を防御する可能性が高まります。WAFとは、サーバの手前でユーザーから送信されるリクエスト内容を監視しており、Webアプリケーションへのすべての通信を検査・解析しています。不正な攻撃だと検知した場合は、その通信を防御する動きをします。ECセキュリティ対策資料のベーシック版を無料配布中!具体的な提案例2つを盛り込みました!資料ダウンロードはこちらSQLインジェクションとは?SQLインジェクションとは、アプリケーションの脆弱性を利用して行われるサイバー攻撃の1つです。そもそも「SQL」とは、データベースを操作するための言語で、データの更新や追加・ユーザー権限の付与などをする際に使用されます。アプリケーションの脆弱性により、本来の意図ではない不当な「SQL」が作成さることで、データを不正に操作されてしまいます。SQLインジェクション攻撃の仕組みまず、攻撃者はWebアプリケーションサーバー内で、入力フォームからSQL文を含む文字列を入力します。そこで入力されたものはサーバーに渡され、脆弱性などを悪用して不正なSQLが実行されることで攻撃が始まります。攻撃の種類には、データベース内のデータの消去や改ざんなどが挙げられます。SQLインジェクション攻撃の原因Webアプロケーション自体が不正アクセスに気付けず、外部から侵入してきたSQL文が実行されてしまうということが、根本的な原因です。本来であれば、Webアプリケーションに不正なアクセスがあった場合、正しい処理が実行されるます。脆弱性がある場合、SQL文を誤った命令文として認識することで適切な処理が行われず、データベースの悪質な操作が可能になってしまいます。根本的な対策として、安全なWebサイト・Webアプリケーションを開発することが挙げられます。設計や製造段階からセキュリティを考慮し、SQLインジェクションの脆弱性が存在しないサイト等を制作することで対策が可能です。エスケープ処理(不正な命令文の無効化)SQLの構文が変更されることが原因なので、ユーザーから想定外の情報が入力されてもそのまま処理せず、正しい処理を実施することが重要となります。そのため、プレースホルダは、SQL文の中の「変動する箇所」に使用します。変動する箇所をプレースホルダで指定しておけば、その箇所はSQL分の一部ではなく、普通の「値」として処理されるので、万が一不正な値が入力されても、不正なSQL文の実行を防ぐ事ができます。これらのSQL命令に関わる特殊文字の無効化の事をエスケープ処理といい、エスケープ処理をする事で、ユーザーページからの不正なSQL文の実行を防ぐことができます。OSやアプリケーションを常に最新バージョンに保つOSやアプリケーションのバージョンアップには、脆弱性の修正内容(パッチが当てられた内容)が含まれている事も多いため、常に最新のバージョンにしておくことは、攻撃の防御にもなります。Firewall)を実装する12の実施により、SQLインジェクションからWebサイトを守ることができますが、脆弱性情報や攻撃手法は、常々情報がアップデートされます。それらのアップデート情報に素早く対応する方法の一つとして、WAFの導入が挙げられます。WAFとは、サーバの手前でユーザーから送信されるリクエスト内容を監視しており、Webアプリケーションへのすべての通信を検査・解析しています。不正な攻撃だと検知した場合は、その通信を防御する動きをするため、迅速に対応することができます。クロスサイトスクリプティング攻撃、SQLインジェクション攻撃の対策なら「株式会社Refine」にお任せ株式会社Refineでは、プライバシーマークを取得しており、適切なセキュリティ対策をした実装と構成をご提案する事で、みなさまのECサイトのセキュリティ対策を支援いたします。ECセキュリティ対策資料のベーシック版を無料配布中!具体的な提案例2つを盛り込みました!資料ダウンロードはこちらまとめクロスサイトスクリプティング(XSS)は、脆弱性のあるサイトを利用し、個人情報漏洩やフィッシング詐欺などを目的としています。SQLインジェクションは、不正なコードを作成することでデータの消去や改ざんなど、データベースを攻撃することが目的です。目的は違いますが、いずれにせよECサイト運営者のセキュリティ対策が求められています。それぞれの特徴をよく理解し、未然に防いでいきましょう。いただいたメールアドレス宛にダウンロードURLをお送りいたします。運営会社この記事の運営元はEC-CUBEトップベンダーの株式会社Refineです。セキュリティ対策をはじめ、ユーザー行動に基づいたデザイン制作、機能カスタマイズ等、多種多様なECサイト制作を行っております。ECサイトの売上アップECサイト運営で定点観測すべき指標とは?商品毎の売上トレンドを数クリックで可視化する!5つの業界におけるファネル分析の例とケーススタディ関連記事ECサイトECサイト運営者がすべきインボイス制度の対応とは?インボイス制度とは?インボイス制度とは、複数税率に対応した消費税の...ECサイト日本未上陸のECプラットフォームBigCommerceとは?本記事では、日本未上陸のECプラットフォームの「BigCommerce...ECサイト安定した売上獲得のために知っておきたいロングテールWebマーケティングの普及によって生まれたロングテール。TOP今一番興味のあるものはどれですか?。