インジェクション攻撃 【injection attack】 注入攻撃
概要
インジェクション攻撃(injection attack)とは、ソフトウェアへの攻撃手法の一つで、外部から文字列の入力を受け付けるプログラムに対して開発者の想定外の不正な文字列を与え、システムを乗っ取ったりデータの改竄や詐取を行う手法。入力された文字データをシステムに対する操作を表す文字列に挿入したり付け加える処理を行うプログラムが対象となり、入力データのチェックや正規化処理などが甘い場合にこの攻撃が可能な脆弱性が生じる。
攻撃者は引用符や制御コードなどプログラム上で特殊な働きをする記号を紛れ込ませるなどの手法で開発者が想定しない文字データを作成し、その一部がシステムに対する不正な操作を表すようにする。これをシステム側が受け付ける通常の方法(入力フォームへの文字入力など)で渡して処理を依頼すると、仕込まれた不正な操作がシステム側で実行され、意図しない動作が引き起こされる。
攻撃対象や挿入する文字列の種類により、「コードインジェクション」「OSコマンドインジェクション」「メールヘッダインジェクション」など様々な種類があるが、最も有名な手法は、データベースにアクセスするプログラムにSQL文の断片となる不正な文字列を送り込み、運用者側の意図しないデータの書き換えや抜き取りを行う「SQLインジェクション」である。
(2019.7.21更新)
関連用語
他の辞典による解説 (外部サイト)
この記事を参照している文書など (外部サイト)
- 国際地域研究論集 第9号「日本におけるサイバー攻撃の事例研究
」(PDFファイル)にて引用 (2018年3月)