インジェクション攻撃

読み方 : いんじぇくしょんこうげき

英語正式表記 : Injection Attack

インジェクション攻撃とは

インジェクション攻撃とは、攻撃者がサーバーに、データベースを操作するSQL文やコマンド、JavaScriptといったスクリプト文などを送って、想定外の動作をさせる攻撃を指す。主に、インターネット上に公開したサーバーに対して行われる。

インジェクション攻撃で最も有名なのは、入力フォームのあるWebサーバーへの攻撃である。こうしたWebサーバーでは、バックグラウンドで動くデータベースから目的のデータを取り出すためにSQL文をよく使う。攻撃者はWebサーバーの入力フォームに不正な処理を実行させるSQL文を入力。サーバーがそれを読み込み、実行してしまうことで攻撃が成立する。データベースに登録しているデータを攻撃者の画面に表示したり、データベースの内容を改ざんしたりする。SQL文を使ったインジェクション攻撃は「SQLインジェクション」とも呼ばれる。

入力フォームがないサーバーでも、インジェクション攻撃は可能である。例えば、Webサーバーに対して不正なコードをパラメーターとしてURLに付けて送信することで、攻撃を成立させる。

インジェクション攻撃には、入力データを厳しくチェックしたり、入力データに含まれるコードを実行できないようにしたりすることが対策になる。

インターネット上に公開されたDNSキャッシュサーバーが一時保存するNSレコード(名前解決の情報)を不正に書き換える手法の1つも、インジェクション攻撃と呼ばれることがある。DNSキャッシュサーバーに対して、NSレコードを管理する正規のDNSサーバーとは別の偽サーバーに問い合わせるように、不正な応答パケットを送り付けるのである。

DNSキャッシュサーバーは偽サーバーに問い合わせて、嘘のNSレコードに書き換えられてしまう。この結果、DNSキャッシュサーバーの利用者は、攻撃用のサーバーなどにアクセスさせられる。

出典:ITpro「今日のキーワード」(C)日経BP社

[2015年 2月24日 公開]

大塚商会の法人向け通販サイト(たのめーる)のご紹介