インジェクション攻撃

読み:インジェクションこうげき
外語:injection attack 英語
品詞:名詞

主にCGIプログラムを標的とした攻撃で、不正なパラメータープログラムに送信して行なう攻撃の総称。

目次

手法

外部から入力されるパラメーターに、SQLコマンド、OSコマンド、ファイル名HTMLJavaScriptXMLなどを紛れ込ませ、(想定外の方法で)それがサーバーやユーザークライアントで実行ないし展開されることを狙った攻撃。

攻撃方法

具体的な攻撃例と攻撃回避方法はディレクトリトラバーサルの項目を参照のこと。

被害

攻撃を受けたときの被害としては、他愛の無いものから深刻なものまで、様々である。

  • 画面表示を狂わされる
  • 認証をすり抜けてログインできてしまう
  • Webサーバー上のファイルの内容やデータベースの内容が表示されてしまう (例えば本来アクセスされるべきでないファイル(/etc/passwdなど))
  • 何らかのコマンドが動作してしまう
  • rootを奪取できる

対策

プログラム側の対応

プログラムが受け取るパラメーターの値は信頼できないものとして、その値を念入りに確認して不正な文字や値を除外すれば、インジェクション攻撃を防ぐことができる(汚染除去)。

一部のプログラミング言語(例:Perl)には外部入力データの汚染除去を行なわないと強制終了する動作モードがあり(Taintモード)、これを使う方法もある。

ネットワーク側の対応

この攻撃手法は通信ログに特徴的な内容を残す。それゆえに、自動的に攻撃を検出するファイアウォールIDSも存在する。

しかし、攻撃パターンは日々増えていて、この方法で対応するのは泥縄と言える。

Webプログラミング黎明期には知られていなかった攻撃手法であるため、現在もなお、この攻撃を簡単に受けてしまうCGIプログラムがたくさんあると考えられている。

最近ではインジェクション攻撃を自動化するツールも出回っていて、この攻撃の脅威は非常に高い。

用語の所属
アタック
関連する用語
サニタイジング
セキュリティホール

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club