なんとなくわかる「SQLインジェクション」

今回はサイバー攻撃の一つ「SQLインジェクション」について解説していきます。この攻撃は成功してしまうとかなりの被害になってしまう攻撃なので対策が必須となっています。

スポンサーリンク

SQLって何

まずSQLについて説明します。わかる人は次まで飛ばしてしまって大丈夫です。

SQLとはStructured Query Languageの略で「構造化された問合せの言語」と訳すことができますがこれは覚えなくていいです。

SQLのお仕事はデータベースと呼ばれるデータの格納庫にアクセスして欲しいデータを取り出したり、データを新しく格納したりすることです。正しく使えばデータ管理に適しているのですが悪用されるとデータベースから個人情報が抜き取られたりする可能性があります。

ちなみにSQLはCやJavaのようなプログラミング言語ではないので使用したことのある言語などには書かないようにしましょう笑

SQLインジェクションとは

インジェクションは「注入、注射」と直訳でき、SQLインジェクションは意図的にアプリケーションなどの入力欄にSQLを書くことでデータベースからの情報漏洩やデータの変更・削除を行うサイバー攻撃です。

情報漏洩

SQLインジェクションのよって攻撃者が欲しい情報をデータベースから取り出して悪用します。

(例) SQLインジェクションの対策がされていない会員制サイトでサイト内の検索の入力欄に意図的にSQLでデータベースにある会員のデータを取り出す命令をかくとSQLが実行されてサイトが意図していないデータが表示されてしまいます(今回の場合はサイトの情報を出したかったが、SQLインジェクションによって会員のデータが出される)。

この攻撃を受けて不正入手されたIDやパスワードがパスワードリスト攻撃に利用され、他社に被害が及ぶ可能性があります。

情報の改ざん、破壊

データベースにある情報を攻撃者の都合の良いように書き換えたり、企業への被害が大きくなるような情報を削除することができます。

(例) 会員サイトの口座を自分の口座に書き換えることで自分にお金が入るように変更することもできます。

サイト改ざんによる2次被害

SQLインジェクションを糸口にしてWebサイトを改ざんしてマルウェアをHPを組み込み、HPを閲覧したPCにも感染することもできます。

(例) HPに閲覧した人の通信を公開させるマルウェアを組み込み、閲覧者が入力したパスワードなどの機密情報を不正に取得でき、場合によっては他の企業へのサイバー攻撃に足掛かりになる。

このような形でアプリケーションの欠陥を狙ってデータへのアクセスを行いやりたい放題できるのが「SQLインジェクション」になります。

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

釣りビジョンの被害例

2019年1月に釣りビションのHPのWEBサイトに係るサーバがSQLインジェクションのよる攻撃を受けて、被害として以下が流出した。

メールアドレス51,345人
メールアドレス+氏名7,629人
メールアドレス+氏名+住所4,682人
合計の件数63,656人
参照: Cross&Crown Security Intelligence

株式会社アスカの被害例

2020年5月に、アスカグループがSQLインジェクションによる攻撃を受け、同社に登録していた派遣労働仮登録者の氏名や住所、連絡先に資格などの個人情報が最大約3万件抜き取られました。そのほかにも同社HPが不正に書き換えられ、要人殺害募集:時給150000~300000円」などの内容がHP上に掲載されていることが確認できている。

コメント

  1. […] […]

  2. […] WAF(Web Application Firewall)とは、Webアプリケーションにおける脆弱性を利用したサイバー攻撃からWebサイトを保護するためセキュリティ対策です。WAFの導入によりSQLインジェクション,OSコマンドインジェクションなど不正な文字列の送信によるサイバー攻撃を防ぐことができます。 […]

タイトルとURLをコピーしました