F5 GLOSSARY

コマンドインジェクション

コマンド インジェクション(OSコマンド インジェクション)とは、Webサイトの脆弱性を利用した攻撃手法の1つです。ユーザからのデータ入力を受け付けるWebサイトで、入力時にシェル機能を操作する文字列を混入させることで、攻撃先サイトのOSを不正に操作します。これによって、情報漏えい、ファイルの改竄や削除、ウィルス等のマルウェア感染、他サイトへの攻撃の踏み台にされる、といった被害が発生する可能性があります。

ここで、フォームにユーザのメールアドレスを入力させ、そのアドレスに自動的にメールを送るWebアプリケーションを考えてみましょう。例えばフォームに「user@f5.com」と入力すると、スクリプトによって「/usr/sbin/sendmail user@f5.com」を実行するというものです。もしここでユーザが「user@f5.com; rm –rf/」と入力したらどうなるでしょうか。この文字列が使われた場合、スクリプトが実行するコマンドは「/usr/sbin/sendmail user@f5.com; rm -rf /」となり、OSがLinux(またはUNIX)であれば、システム内の全データが削除される可能性があります。

この攻撃を防止するには、入力された文字列のサニタイズ(攻撃に使用される文字列を無効化すること)が必要です。しかし全てのWebアプリケーションでサニタイズを確実に行うのは、決して簡単ではありません。この問題の解決手段として有効なのが、Webアプリケーション ファイアウォール(WAF)の活用です。Webアプリケーション ファイアウォールはアプリケーション レベルの通信を監視し、攻撃とみなされる通信を遮断することが可能です。

F5はWAF機能を実装した製品として「F5 BIG-IP」を提供しています。


< Return to the glossary