2007年10月15日 17時25分 公開
特集/連載

SQLインジェクション(SQL Injection)Keywords

[TechTarget]

 SQLインジェクション(SQL Injection)とは、Webフォームの入力ボックスにSQL(Structured Query Language)コードを入力し、Webサーバと連動しているデータベースのリソースにアクセスしたり、データを改ざんしたりするセキュリティ攻撃である。この攻撃は、データベースに特定の処理を要求するSQLクエリを使って行われる。通常、ユーザー認証のためのWebフォームでは、ユーザーが自分の名前とパスワードをテキストボックスに入力すると、それらの値はSELECTクエリに挿入される。入力された値が正当なものであればユーザーはアクセスを許可され、値が正当なものでなければユーザーはアクセスを拒否される。だが、ほとんどのWebフォームには、名前と値以外の入力をブロックするメカニズムが用意されていない。こうした対策が講じられていないと、攻撃者は入力ボックスを使って独自の要求をデータベースに送ることができ、それによってデータベース全体をダウンロードしたり、データベースを不正に操作したりすることが可能になる恐れがある。

 SQLインジェクション攻撃に見舞われるリスクは増大しており、自動化ツールがその元凶になっている。以前はこの攻撃の危険はある程度限られていた。手動で攻撃を行わなければならなかったからだ。つまり、攻撃者はテキストボックスにSQL文やその一部を打ち込まなければならなかった。しかし、今では自動SQLインジェクションプログラムが出回っており、その結果、攻撃の発生可能性と潜在的な損害は非常に大きくなっている。SPI Dynamicsのケーレブ・シマCTO(最高技術責任者)は、Security Wire Perspectivesとのインタビューで、その潜在的な危険についてこう語った。「悪い連中が公開しているこうした技術のせいで、スクリプトキディ(技術レベルが低く、他人が作成したツールを使って興味本位の攻撃を行う悪意あるハッカー)がまったく予備知識なしで特定のWebサイトを標的にし、フリーウェアツールを使ってそこからデータベースを自動的にダウンロードするようになるだろう。今より一段と重大かつ深刻な状況になると思う。SQLインジェクションの自動化技術は、SQLインジェクションワームの開発に道を開くものだ。こうしたワームが登場する可能性は非常に高い。実際、まだ登場していないのは驚きだ」。シマ氏は、動的なコンテンツを提供するWebアプリケーションの約60%が、SQLインジェクションに対して無防備だと推計している。

 セキュリティの専門家によると、SQLインジェクションのほかクロスサイトスクリプティング(XSS)などさまざまな攻撃が可能となっているのは、開発段階でセキュリティが十分に重視されていないためだ。専門家は、Webサイトとアプリケーションの完全性を保護するために、開発段階で入力ボックスが受け入れる文字の種類と数を制御するなど、必要十分な対策を講じることを勧めている。

ITmedia マーケティング新着記事

news030.jpg

コンテンツSEOでやらかしてしまいがちな3つの勘違い
ITmedia マーケティングで2021年3月に連載して多くの反響をいただいた「勘違いだらけのEC...

news158.jpg

「リベンジ消費」は限定的、コロナ禍以前の状態に完全に戻ると考える人はわずか25%――野村総合研究所調査
コロナ禍が収束した場合の生活者の消費価値観や生活行動はどうなるのか。野村総合研究所...

news176.jpg

Teslaが成長率1位、LVMHグループ5ブランドがランクイン 「Best Global Brands 2021」
毎年恒例の世界のブランド価値評価ランキング。首位のAppleから10位のDisneyまでは前年と...