「SQLインジェクション」とは、企業のデータベースへ不正に侵入し、情報を引き出したり操作したりする攻撃のこと。SQL(Structured Query Language)は、データベースの操作に利用されている言語で、ユーザーがログイン画面などに入力した情報を受け取り、SQL文に埋め込んでデータベースへ問い合わせを行う仕組みとなっている。

例えば、Webサイトにあるログイン画面の入力フィールドにもSQL文は活用されている。ログイン画面にユーザーIDとパスワードを入力すると、その情報がSQL文に埋め込まれ、実際にユーザーが存在した場合に、ログインが許可される流れとなっている。「SQLインジェクション」は、このログイン画面で不正な入力を行って、プログラムが想定していないSQL文を実行し、データベースに侵入するというのだ。

「SQLインジェクション」による被害は甚大だ。企業のデータベース内にある顧客情報やクレジットカード情報が抜き取られてしまうほか、データベースの内容を書き換えられ、管理者が意図しないデータがWebサイトに表示されてしまうケースもある。

近年の例では、楽器や音響機器を販売するサウンドハウスの顧客情報流出事故が大きな話題になった。サウンドハウスは2008年、「SQLインジェクション」による不正アクセスを受け、過去に商品を購入した顧客の個人情報が流出したことを公表。中には、クレジットカード情報が含まれているケースもあり、インターネット上は一時騒然となった。

このように「SQLインジェクション」による情報漏えい事故によって、大規模な個人情報流出が引き起こされている。非常に危険なセキュリティホールとなっているため、企業サイトのプログラム開発では十分な対策を講じることが求められている。

公開当初、SQLインジェクションの事例について誤りがありましたので、該当箇所を削除致しました。ご迷惑をおかけした読者の皆様ならびに関係各位には深くお詫び申し上げます。