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

2007年10月15日 17時25分 公開
[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 マーケティング新着記事

news131.jpg

メッシやベリンガム、ヴィルツも登場 アディダスが世界で展開する豪華過ぎるサッカー推しキャンペーンの中身
Adidasが夏のサッカーシーズンに向けて新キャンペーンを世界各地で展開する。デビッド・...

news058.jpg

Web広告施策に課題を感じている企業は9割以上――リンクアンドパートナーズ調査
企業のWeb広告施策を推進している担当者約500人を対象に、課題と今後の取り組みについて...

news183.jpg

TikTokマーケティングの最適解へ スパイスボックスが縦型動画クリエイター集団M2DKと業務提携
スパイスボックスが縦型動画クリエイター集団であるM2DKと業務提携。生活者に向けて訴求...