攻撃者はこの脆弱性をどのように悪用しているのか
HTTPサーバこの脆弱性への攻撃の大半は、HTTPウェブサーバをターゲットにしている。Common Gateway Interface(CGI)やFastCGIを走らせているサーバは、Bashを、攻撃ベクトルになっているHTTP要求にさらす可能性がある。悪意を持って作成されたHTTP要求は、攻撃者がサーバに任意のコマンドを注入することを許可する可能性があり、Bashが呼び出されれば、それらのコマンドを実行する。
BashはCGI(すなわちBashスクリプト)によって直接呼び出すことが可能だが、サブプロセスやシステムコマンドを経由して呼び出される可能性もある。Bashがこの悪意のあるCGI要求の中のどの時点でも開始されれば、脆弱性がもたらされる。
例えば、CGIはPHPスクリプトを実行できるが、これにはシステムコールが含まれている。Bashがデフォルトシェルになっているシステム上では、これによってBashが初期化され、脆弱性が引き起こされる。
CGIやFastCGIを利用するシステムからコールされないPHP、Perl、Pythonといったスクリプトは、影響を受けない可能性が高い。
DHCPクライアントインターネットシステムズコンソーシアム(ISC)のリファレンス実装に基づいたDHCPクライアントも、脆弱性の影響を受ける。これには、大半のLinux系およびUNIX系システムが含まれるが、OS Xに影響はない。この攻撃ベクトルは、被害を受けるシステムが悪意のあるDHCPサーバに接続している場合に、悪用される可能性がある。影響を受けるDHCPクライアントは、DHCPサーバによって提供された変数を使い、それらを環境変数として保存する。DHCPクライアントは、Bashを使用してネットワークインターフェースを設定する。
ユーザーが公衆Wi-Fiアクセスポイントや悪意のあるDHCPサーバに接続していれば、このような事態は起こりうる。
もう1つの可能性は、攻撃者がCGI攻撃ベクトルを利用することで、正当なサーバ上のDHCPサービスに障害を生じさせることだ。
SSH多くのSSHシステムは、ユーザーがアクセスできるコマンドを制限するよう設定されている。今回のBashのバグは、こうした制限を回避するための手段になり得る。これには認証が求められることに注意してほしい。したがって、この攻撃ベクトルは特権昇格に相当する。
多くのシステムでは、rsync、rlogin、Git、SubversionなどのSSHを使用している。このようなシステムも影響を受ける。
CUPSCommon UNIX Printing System(CUPS)は、多くのLinux系、BSD系、UNIX系のシステムで使われているプリントサーバである。CUPSは、フィルタを処理する場合の環境変数を設定するために、ユーザー制御型変数を使っている。これには、このプロセスの間にBashがCUPSによって初期化されると、この脆弱性の攻撃ベクトルになるという可能性がある。この攻撃ベクトルは、現時点では理論上にしか存在しないものであり、実際にはまだ見つかっていない。
ブラウザのプラグインユーザー制御の値を用いて環境変数を設定するようなサードパーティー製プラグインが存在する可能性がある。これは実効性のある攻撃ベクトルを生み出すこともある。ただし、実際にはまだ見つかっていない。
その他の攻撃ベクトルBashが広く利用されていることを考えれば、今後数週間でリモートの攻撃ベクトルがさらに見つかる可能性がある。
後編へ続く。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。