SQLインジェクション攻撃はサイバー攻撃の一種として大きな被害をもたらしており、データベースを操作することでデータを削除したり改変するといった問題を引き起こしています。この「インジェクション」とは「注入」といった意味を持つ言葉で簡単に言えば「SQLを注入することでデータベースに被害をもたらす」攻撃ということになります。この記事では、SQLインジェクション攻撃によって発生した被害の事例について解説していきます。
現在企業や自治体などのデータベースには膨大な個人情報が含まれています。こうしたデータベースに対して不正にアクセスすることで改ざん・削除を行って混乱をもたらしたり、データを盗み出すといった問題を引き起こすわけです。
サイバー攻撃を行う人がログイン画面や検索バーにSQLの文を注入することで攻撃を開始します。
SQLインジェクションに対するセキュリティが施されているサーバーの場合、閲覧した段階でそこに込められた悪意を判断しブロックするなどの処理が行われるのですが、適切なセキュリティが施されていない場合、あるいはそのSQLがセキュリティを突破できるような巧妙なものであった場合にはそれを突破してデータベースに閲覧できてしまう状況になってしまうのです。
しかもこのSQLインジェクションによって本来なら不可能なはずのデータの抽出や作成などもできるようになってしまいます。通常なら閲覧だけでとどまるものがデータベース内のデータを抽出・作成できるようになることで盗み出したり、改ざんするといった問題を引き起こしてしまうわけです。
膨大なデータを記録しているデータベースがSQLインジェクションに対して脆弱な場合、そのデータがまったく無防備な状態でサイバー攻撃を行うものが好き勝手に改ざん・流出させることができるようになってしまうため、被害はそのデータベースを所有・管理している企業や自治体だけにとどまらず、より広い範囲にまで及んでしまう可能性が高くなります。
このSQLインジェクションを防ぐためにはどうすればよいのか?しっかりとしたセキュリティ環境を施すのはもちろん、万一攻撃を受けたときにどう対処すればよいのかといった緊急対応への備えも欠かせません。そのためにも具体的な被害事例をチェックし、「どのような攻撃に備えるか」「攻撃を受けたときにどういった対応が有効なのか」といった点を知っておくことがとても大きな意味を持ちます。
よく見られる被害事例として挙げられるのがネットショッピングでのケースです。現在では小規模な店舗はもちろん、個人でもショッピングサイトを作ることができる時代です。そのためセキュリティが脆弱なサイトに対してSQLインジェクションが行われるリスクも高まっています。
ショッピングサイトを作りビジネスをはじめて順調に売り上げを伸ばしていったのはよいのですが、ある日そのショッピングサイトから大量の情報が流出するという事件が起こることもあるのです。
これはサイバー攻撃を行う者がログインページにSQLインジェクションを行うことでログインできてしまう環境を作ってしまうのが最大の原因です。しかもこれによって単にログインできるだけでなく、そのサイトに顧客として登録されている会員の住所・氏名、購入履歴、さらにはクレジットカードの番号といった情報まで閲覧できてしまう状況になってしまうこともあります。
そうなればサイバー攻撃を行った人は個人情報を入手し放題、さらにはクレジットカード番号を悪用して大きな被害をもたらす可能性も出てきます。そして何より、こうした事件を一度起こしてしまうとショッピングサイトの信用はガタ落ちになってしまい、取り返しのつかないダメージを受けてしまいかねないでしょう。
企業のデータベースにSQLインジェクションが行われたことで多大な被害がもたらされた事例もあります。2016年に起こった事例ではSQLインジェクションによって200万人分もの情報が流出してしまったとされています。
サイバー攻撃を行った者はこのサイトにSQLインジェクションを行うことによってデータベース上のすべてのデータを読み込むことができる状況に持ち込むことに成功しました。そして200万人分ともいわれる膨大なメールアドレスやユーザー名、IPアドレスといった重要なデータをダウンロードし盗み出してしまったのです。
マーケティングのために運営されているサイトにSQLインジェクションが行われたケースも見られます。人気投票やプレゼント企画などを行っていたサイトに攻撃が行われたことで利用者のメールアドレス、氏名、住所などが流出してしまいました。
この事例では6万人分以上の個人情報が流出してしまったと言われていますが、プレゼント応募などの際に登録したデータが抜き出されるような形で行われました。このケースが厄介なのは登録した人は軽い気持ちで個人情報を流出したにも関わらず第三者に拡散されてしまうという事態に巻き込まれた点です。ネットショップのように日ごろから利用しているサイトではなく、プレゼントのためだけに登録し、その後は登録したことさえ忘れていたようなサイトでこうした流出が起こるリスクがある。この点はネットを利用するうえですべての人が注意しなければならない部分なのでしょう。
ほかにもゲーム関連のサービスを提供しているサイトにSQLインジェクションが行われ、過去最大規模ともいわれる数千万人分の個人情報が漏洩してしまった被害事例もあります。企業の規模、扱っているデータの規模が大きければ大きいほどSQLインジェクションの被害も膨大なものになってしまうわけです。
気になるのはこうした被害を受けた場合にどういった対策が行われたかです。この対策には二つのアプローチが見られます。まず自分たちのデータベース、サイトの脆弱規制を解消しセキュリティを強化すること。最新パッチの適用や疑わしい特定のIPのブロック、不正アクセスに合ったデータベースの削除などが挙げられます。
もうひとつは外部への対応。当然被害をもたらしてしまった顧客・ユーザーに対する謝罪や保証、お客様窓口などの設置は欠かせません。そのうえで関係官庁に被害状況を報告し、ビジネスパートナーやセキュリティ対策に取り組んでいる団体との情報共有なども行われています。
被害を最小限に抑えつつ再発を防ぐのを最優先にしつつ、同じような問題が今後起きないよう、広い範囲で情報を共有する。そして被害をもたらしてしまった顧客やビジネスパートナーに対してしかるべき対応をする。これがSQLインジェクションの被害を受けてしまった場合に必ず行う必要がある対応です。
対策としてはほかにもログインや登録の際に個人情報を入力するフォームを徹底的に見直すことや、個人情報マネジメントシステムを導入するといったものもよく見られます。今回挙げた3つの被害事例は幅広い業種や企業・団体にも適用できる「よく見られるケース」ですから、他人事ではなくいつ自分たちに起こってもおかしくないという意識を持ったうえで日ごろから対策を欠かさない姿勢が問われることになるでしょう。
サイバーセキュリティクラウドが提供する「攻撃遮断くん」はWebサイト・Webサーバへのサイバー攻撃を可視化し、遮断するセキュリティサービスです。
ブルートフォースアタック、クロスサイトスクリプティング、Webスキャンと言ったサイバー攻撃をリアルタイムで検知・遮断しています。
ユーザーごとに提供される管理画面で、契約したWebサーバへの攻撃の情報を確認することができます。
この記事と一緒に読まれています
2019.11.22
用語集
2021.07.06
セキュリティ対策
2020.05.08
セキュリティ対策
【サイバー攻撃解説】DBへの悪質なアクセス “SQLインジェクション”
2016.11.15
セキュリティ対策
Apache Struts2の脆弱性で広がるサイバー攻撃の被害
2017.03.30
セキュリティ対策
2020.04.30
セキュリティ対策