OSコマンドインジェクション【OS command injection】コマンド注入攻撃

概要

OSコマンドインジェクション(OS command injection)とは、コンピュータシステムに対する外部からの攻撃手法の一つで、システムへの入力文字列中にオペレーティングシステム(OS)のコマンド(命令文)として解釈できる断片を紛れ込ませ、不正に実行させるもの。

インジェクション」(injection)とは「注入」という意味で、閲覧者からのデータ送信や操作を受け付けるようなWebサイトで、プログラムに与えるパラメータの扱いに問題がある場合に可能となる。

攻撃者はWebアプリケーションに送信するデータの中に、受信側が想定していない特殊な記号の組み合わせなどを含め、これに続けてOSシェル呼び出しやコマンド実行を指示する文字列を連結しておく。

受信したシステムではこれを解釈して何らかの処理をおうとするが、その過程で攻撃者の仕込んだコマンド実行され、システム環境の破壊、データの不正な抜き取りや改竄システムの遠隔操作などの攻撃がわれてしまう。

対策としては、プログラミング言語実行環境の備えるシェル呼び出しやOSコマンド実行などの機能を使わないようにしたり、入力文字列として特定の記号文字などを受け付けないようチェックする処理をうなどの手法がある。

入力文字列に不正な文字列を組み込んで実行させる攻撃手法は「インジェクション攻撃」と総称される。OSコマンドインジェクション以外にも、データベースシステムに対してSQL文として解釈できる文字列断片を不正に読み込ませる「SQLインジェクション」や、HTTPパケットヘッダ部分に不正に項目を挿入する「HTTPヘッダインジェクション」などがある。

(2019.8.23更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる