SQLインジェクション
読み方:エスキューエルインジェクション/シークェルインジェクション
SQLインジェクションとは
SQLというデータベース言語があり、データに関するあらゆる操作(検索、追加、更新、削除)や、テーブル操作(作成、削除、主キーの設定)、ユーザ権限の付与などを実行します。ブログサイトやSNSで使用される言語です。
このSQLインジェクションというのは、不当なSQL文を悪意ある第三者がインジェクション(注入)することで、本来の指示とは異なる命令を施行するサイバー攻撃です。被害に遭うと例えば、お問い合わせフォームに入力した個人情報が、抜き取られて情報漏洩なども起こり得ます。他にはWebサイトの改ざん被害などもあります。
SQLインジェクションの対策
具体的な対策としては、SQLの命令文を実行させないために外部からSQL情報が流入された際にSQL文の文字を別の文字に変換するエスケープ処理やWAFの導入、脆弱性診断サービスチェックの利用が主なものとして挙げられます。
SQLインジェクションの事例
- 国内大手総合電機メーカの情報漏洩被害
2011年4月に当該会社のゲーム用サービスにおいて、SQLインジェクション攻撃が行われ、7700万人分の個人情報(氏名、住所、メールアドレス、生年月日、ID、パスワード)が盗まれて、大きな話題となりました。
- アウトレットのメールマガジンへの27万件の情報流出被害
2018年6月に某アウトレット運営企業が、メールマガジン会員の合計27万人の個人情報(会員の一部)が流出したと公表しました。調査により、2017年5月から2018年1月まで国内外の第三者が複数回、ホームページ用のWebサーバへSQLインジェクション攻撃を行われたことやSQLインジェクション攻撃への脆弱性もWebアプリケーションに一部確認され、そこを突かれた可能性があることが分かりました。
SQLインジェクションの関連語
- クロスサイトスクリプティング
Webサイトの脆弱性につけこんだサイバー攻撃であることは、SQLインジェクションと変わりません。SQLインジェクションはデータベース言語SQLを利用することでサイバー攻撃するのに対し、クロスサイトスクリプティングはWebサイトにマルウェアを仕組んで、アクセスしたユーザにサイバー攻撃を行います。