「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

コマンド注入攻撃

pointこの用語のポイント

point悪いことだよ

pointパラメータを介して任意のコマンドを実行させるよ

スポンサーリンク

簡単に書くよ

コマンド注入攻撃(読:コマンドチュウニュウコウゲキ 英:command injection attack)とは

パラメータに対する【焼】肉【定】食型攻撃のこと。
もう少し真面目に書くと

作った人が意図しない内容をパラメータとして渡すことで好きなコマンドを実行させる攻撃のこと
です。


image piyo

詳しく書くよ

コマンド」+「注入」+「攻撃」で「コマンド注入攻撃」です。

コマンド注入攻撃

コマンドは「コンピュータさんに対する命令(命令文)」です。
コマンドをポチポチ打ち込むと、その内容に従って、コンピュータさんは動いてくれます。

コマンド注入攻撃2

注入は、プスっと挿して、ギュっと押し込む行為です。

コマンド注入攻撃3

攻撃は、そのまんまの意味ですね。
攻撃です。

コマンド注入攻撃4

以上を踏まえて

コマンド注入する攻撃

もう少し噛み砕いて書くと

コンピュータさんに対する命令を突っ込む攻撃

が「コマンド注入攻撃」です。
OSコマンドインジェクション」とも呼ばれます。

コマンド注入攻撃5

「命令を突っ込む」と言っても、具体的には、どうやるのでしょうね?

答えは「パラメータ(外から入ってくる値)を使う」です。
プログラムに渡すパラメータを介して、実行させたいコマンドを突っ込みます。

例えば、メールアドレスをパラメータとして受け取って、メールを送るシステムが あったとしましょう。

コマンド注入攻撃6

中身の処理は、以下のように書いてあります。

パラメータを受け取るよ。

メールを送るよ。宛先は「【パラメータ】」ね。


このプログラムをピヨ太君が動かしました。

コマンド注入攻撃7

ピヨ太君は、パラメータとして

piyota@example.com

を渡しました。
そうすると、以下のように解釈されて、処理が実行されます。

パラメータを受け取るよ。

メールを送るよ。宛先は「piyota@example.com」ね。


処理が進むと「piyota@example.com」宛てにメールが送られます。

コマンド注入攻撃8

これは、作った人が想定している動きです。

次に、同じプログラムをアクマ君が動かしました。

コマンド注入攻撃9

アクマ君はいたずらっ子です。
パラメータとして

akuma@example.com」だよ。あと「空を飛んで

を渡しました。
今度は、以下のように解釈されて、処理が実行されます。

パラメータを受け取るよ。

メールを送るよ。宛先は「akuma@example.com」だよ。あと「空を飛んで」ね。


処理が進むと「akuma@example.com」宛てにメールが送られた後、パソコンさんが空を飛びます。

コマンド注入攻撃10

アクマ君は、作った人が想定していないようなパラメータを渡すことで、本来メールを送るだけのプログラムを使って、パソコンさんに空を飛ばせました。
これは

パラメータを介して、パソコンさんに対する命令を送り込んだ

と言えるでしょう。

このような攻撃がコマンド注入攻撃です。
作った人が想定していない形でパラメータを渡すことで、コンピュータに任意のコマンドを実行させる攻撃を指します。

コマンド注入攻撃は、作った人の盲点を突く攻撃です。
きちんと対策を取っておけば、できません。

例えば先ほどのプログラムも、以下のように変えればイタズラできなくなります。

パラメータを受け取るよ。

パラメータがメールアドレスの形式になっているかチェックするよ

メールを送るよ。宛先は「【パラメータ】」ね。


作る立場の人は、常に頭の片隅に置いておいてあげてください。

基本的には

1.パラメータの入力チェックを必ずやる
2.パラメータの値を用いたコマンド実行は、できるだけ避ける


を意識しておけば、避けられるはずです。


image piyo2

一言でまとめるよ

まぁ「コマンド注入攻撃」って単語が出てきたら「パラメータを介してコマンドを実行させる攻撃なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像033
書籍画像065

おまけ

■訳してみるよ

「command(コマンド)」の意味は「命令する」とか「指揮する」とかです。
「注入攻撃」は日本語ですね。
何となく くっつけると

命令を注入する攻撃

となります。





書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践
ウォーターサーバーのキャッチコピーを100本考える方法