PR

 悪意のあるユーザーが、SQLというデータベースを操作するための言語を悪用して、不正アクセスなどを試みる手口を指します。

 データベースと連携するWebサイトは多々あります。こうしたWebサイトがSQLインジェクションの攻撃を受けると、個人情報が漏えいしたり、ユーザーがアクセスしただけでウイルスの感染などの被害が発生する危険性があります。

 下に紹介したように、米国では顧客のクレジットカード番号が流出するなど、深刻な被害が出た事件も発生しています。国内では、スターツ出版が運営する「OZmall」が不正アクセスにより、サービスの中断まで追い込まれました。

 下の図は、SQLインジェクションの手口の一つです。悪意のあるユーザーは、WebブラウザーのURL欄に、細工したSQL文を付加して、Webサーバーに送信。通常は、データベースの構造が分からないので、そのままだとエラーが発生します。しかし、悪意のあるユーザーは表示されるエラーメッセージからデータベースの構造を解析。次にデータを不正操作するSQL文を発行します。

 SQLインジェクションは、サイト側で入力値をきちんとチェックするプログラムを組んでいれば、ある程度は防止できるといわれています。
このため、米国のクレジットカード番号流失事件では、セキュリティ対策が不十分だったとして、連邦取引委員会(FTC)が当該企業のGuessを提訴しました(現在は和解)。

 一方、ユーザーには、攻撃による被害を完全に防ぐ術(すべ)はありません。しかし、少しでも被害を抑えるには、個人情報をむやみに入力しない、ウイルス対策ソフトの定義ファイルを常に最新にする、などの心構えが重要です。

【SQLインジェクションによる事件の一例】


【SQLインジェクションの手法】
背後でデータベースが動いているWebサーバーに対して、不正なSQLコマンドを送る攻撃。プログラムに欠陥があれば被害が発生