ITキーワード

SQL インジェクションの被害事例4選|仕組みや対策方法についても解説

テレワークの普及やデジタル・トランスフォーメーションが進む中、サイバー攻撃も増加傾向です。

中でも、Web サイトに対する SQL インジェクションによる情報漏えいやデータ改ざんは深刻です。重要な個人情報が流出した場合は、対外発表が必要になり企業に対する信頼の失墜や賠償問題に発展する可能性もあります。本記事では、セキュリティ対策を万全にしたい企業向けの内容を紹介します。被害事例も交えながら、具体的な対策についても解説します。ぜひ参考にしてください。

SQL インジェクションとは

SQL インジェクションは、SQL の脆弱性を狙ったサイバー攻撃です。攻撃を受けるとデータベースの情報が盗まれたり、改ざんやデータを消去されてしまう場合があります。名前や住所、クレジットカード情報などの個人情報の漏えいにつながるため注意が必要です。

SQL とはデータベースのサーバーを操作する命令文を指します。Web サイトや EC サイトの登録画面などで、利用者が入力した個人情報をサーバーに送信したり Web サイト内を検索したりする際に使われるのです。

システムの不正操作で抜き取られた情報が悪用されると、一般ユーザーが大きな損失を被る可能性があります。

SQL インジェクションの仕組み

SQL インジェクションはシステムの不正操作を目的として、第三者が SQL 文を注入するところからはじまります。入力される箇所は、ユーザー ID やパスワードを入力するエリアなど入力値が SQL サーバーに送られる入力エリアになります。

Web ページに脆弱性があると、入力された文字列が本来文字列として認識されなければならない入力値が SQL 文の一部として認識されます。脆弱性とは、プログラムの不具合や設計ミスによる情報セキュリティ上の弱点です。

不正な文字列を SQL 文の一部として認識する(脆弱性を突かれる)ことで、アプリケーションが不正な SQL を実行します。その結果、データベースの不正操作ができるようになり、データベース内の情報を攻撃者が操作できるようになり、情報漏えいなどにつながるのです。

SQL インジェクションの被害例

ここでは、情報漏えいとデータ改ざんにつながる SQL インジェクションの具体例について解説します。

情報漏えい

情報漏えいは、SQL インジェクションの代表的な被害の1つです。企業の機密情報や個人情報が盗まれて、情報漏えいにつながります。

顧客のクレジットカード番号や個人情報が漏えいすることもあり、企業の信頼を失墜させる深刻な事態へと発展する可能性があります。東京商工リサーチの調査(※1)では、2020年の情報漏えいの原因の約半数がウイルス感染や不正アクセスであることが報告されています。

(※1)出典:「上場企業の個人情報漏えい・紛失事故」調査(2020年)

情報漏えいへの対処

社内でのセキュリティ被害の場合は影響度によっては対外発表しないこともありますが、Web サイトは個人情報やクレジットカード情報などを扱うことが多く、情報漏えいがあった場合は対外的な発表が必要になります。

そうなると、調査も必要になりますし、対応次第では炎上や風評被害などのリスクも考えられます。

また、個人情報の漏えいに対しては令和4年4月1日から本人通知が義務化されるため、法に則った対応をする必要があります。

企業活動に深刻な事態を招くこともあるため、注意したほうがよいでしょう。

SQL インジェクションの被害事例4選

SQL インジェクションの被害事例について、4つ解説します。

クレジットカード決済システムにおける被害

クレジットカード決済システムにおける、SQL インジェクションの被害が報告されています。報告によると、データベースから数十万件のクレジットカード番号や有効期限、セキュリティーコードなどの流出が確認されました。

サイバー攻撃についての調査の結果、SQL インジェクションなどの、さまざまな攻撃を受けていた事実が発覚しました。決済システムの運営会社では、サービスの一部停止を余儀なくされ、大きな被害があったことも発覚しました。

第三者を含む再発防止委員会が設置され、次の点について議論が交わされました。

  • システムや運用面についての検証
  • ガバナンス体制
  • 社員のセキュリティ意識

顧客がクレジットカードを差し替える際の手数料負担や、お客様相談窓口の設置などの対応にも追われたと報告されています。

学習塾のメールアドレス流出

学習塾を狙った SQL インジェクションでは、メールアドレスの流出が確認されました。氏名や住所、電話番号、成績表などの個人情報についての被害はなかったようです。しかし、メールアドレスがフィッシング詐欺などに悪用される可能性は残っていました。フィッシング詐欺が発生すると、クレジットカード番号や個人情報の流出などの二次被害につながります。

そのため学習塾は、フィッシング詐欺に注意するように呼び掛けを行い、警察にも被害届を提出しました。さらに、流出した可能性のある受講生にはメールで直接連絡をしたと報告されています。

会員サイトにおける個人情報の流出

某会員サイトが SQL インジェクションの被害を受けた際には、登録会員数十万人分の顧客情報が流出しました。この会員サイトは、自動車用品などを手掛ける会社が運営しています。

流出した情報は、住所や氏名、性別、生年月日、電話番号、メールアドレスなどで、クレジットカード情報は含まれていませんでした。しかし、流出した顧客情報の公開を脅しの材料に使った、金銭要求の脅迫メールも届いたとの報告もありました。

脅迫メールが不自然な日本語であることから、海外からの攻撃ではないかともいわれています。被害を受けた企業は、会員サービスの業務委託会社やシステム開発会社、サーバー管理会社に調査を依頼しているようです。

子ども向け会員サイトでのメールアドレス流出

子ども向けの会員サイトでも、データベースを不正に操作する SQL インジェクションの被害を受けたと報告されています。被害の内容は、サイトに会員登録した人の内、数万件のメールアドレスの流出です。

クレジットカード情報や氏名は流出しなかったようですが、数万件規模のメールアドレスの流出となりました。被害を受けた企業は、警視庁への相談と Web サイト管理体制の強化、Web サイトの安全性に関する再検証で、再発防止に努めると報告されています。

SQL インジェクションへの対策方法

ここでは、SQL インジェクションへの対策方法について、総務省が推奨する方法と WAF の利用について解説します。

総務省が推奨する対策例

総務省が運営する「国民のための情報セキュリティサイト」には、次の対策が推奨されています。

  • Web サーバー上のプログラムで SQL インジェクション対策を行う
  • システムから表示されるエラーメッセージを表示したままにしない
  • データベースアカウントの設定は、最小限にする
  • アクセス履歴から攻撃数や攻撃内容を解析する
  • Web サイト全体の脆弱性の検査を定期的に行う

上記対策の補足をすると、Web ページへの入力値を SQL 文の一部として使用しない、システム情報を攻撃者に見えるようにしない(攻撃のヒントになるため)、仮に SQL インジェクションが成功しても被害を最小にする、攻撃に気づくようにする、脆弱性を減らす、といった対策になります。

また、WAF も有効な対策手段の1つとして推奨されています。

WAF における SQL インジェクション対策

ここでは、WAF における SQL インジェクション対策について詳しく解説します。

WAF(Web Application Firewall)とは

WAF とは、Web アプリケーション用のファイアウォールを指します。SQL インジェクションを含む Web アプリケーションの脆弱性を総合的に守るためのセキュリティ対策です。

アプリケーション内に実装する製品もありますが、複数台の Web サーバー管理の煩雑さやサーバー自身のリソース負荷があるため、関連するネットワーク上に配置する製品が主流です。最近ではクラウドで提供する製品も増えてきました。

脆弱性に対するサイバー攻撃を検出して、SQL インジェクション以外の攻撃にも対応します。
たとえば、ブルートフォースアタックや DDoS 攻撃、バッファオーバーフローなどのさまざまなサイバー攻撃を防げる点が魅力です。

また従来のファイアウォールや IDS/IPS は、ネットワークレベルの管理が可能でしたが、WAFは Web アプリケーションと Web ページの脆弱性を保護できるのが違いです。

WAF の役割

WAF の役割は、Web アプリケーションをサイバー攻撃から守ることです。すぐの脆弱性の修正が難しい Web サイトや、CMS を使った Web サイト、SQL サーバーが稼働して個人情報を利用する Web サイトなどが対象になります。

また WAF には、アプリケーションへの攻撃を検知すると、履歴を残せる機能がある点も魅力です。サイバー攻撃を受けた際に、履歴情報を解析して、攻撃を受けた原因を究明してすみやかな対策を実施できます。

機密性が高い情報を扱うサーバーには必須なセキュリティ対策といえます。

まとめ

SQL インジェクションによる多数の被害事例が報告されています。一般ユーザーと自社をサイバー攻撃から守るためにも、企業はセキュリティ対策を万全にする必要がより高まっています。

記事内では総務省が推奨する対策についても紹介しましたが、個別のアプリケーションにセキュリティ対策を講じる場合は、WAF を検討してみるのもおすすめです。

弊社が提供する「Imperva App Protect」は、信頼性の高いクラウド型 WAF および DDoS 対策サービスです。エンタープライズクラスの Web アプリケーションセキュリティとしてご利用いただけます。ご興味がある場合は、どうぞお問い合わせください。

セキュリティソリューションに関する資料請求・お問い合わせ

開催中のウェビナー