0
会員になると、いいね!でマイページに保存できます。
9月24日、bashのコマンドインジェクションに関する脆弱性が公開された。CVE情報を管理するデータベースでも総合スコアが10.0という最高危険度の脆弱性だ。その直後から「Heartbleedに匹敵する問題」として、多くの専門家やセキュリティベンダーのブログを始め新聞なども取り上げている。ShellShockと名付けられたこの脆弱性問題はどういったもので、どのような危険があるのだろうか。
Linuxのシェルに潜む脆弱性によって、起こりうる事態とは
GNU Bash 4.3以前のバージョンに関する脆弱性は、9月24日にCVE-2014-6271として一般に公開された。bashの環境変数を処理する実装に問題があり、任意のコマンドが外部から実行できてしまうものだ。
たとえば、WebサーバーがCGIスクリプトにbashを使えるようにした状態で、環境変数を設定するための特殊な書式に任意のシェルコマンドなどを記述しておくと、脆弱性のあるbashが、これを引数の値(文字列)ではなく、「式」と評価してコマンドを実行してしまう。
この脆弱性によって、パスワードファイルを外部に送信したり、外部サーバーと通信させたり、マルウェアを実行させたりと、さまざまな攻撃を許してしまう。システムソフトウェアの脆弱性を外部から突く攻撃のため、ウイルス対策ソフトでは防げないし、アクセス制御などの保護機能をすり抜けてコマンドが実行される可能性も高い。セキュリティベンダーのWebサイトでは、すでに関連の攻撃と思われるトラフィックが確認されたとの報告がされている。
この問題が注目された理由はいくつか考えられる。まず、公表されたCVEの危険度評価が総合でも10.0という最高レベルの評価だったことが挙げられる。またこの脆弱性がかなり以前から発見されず放置されてきた点は大きな要因だ。
どのようなシステムが対象となるのか
ShellShockが及ぼす影響を予想してみたい。まず、コマンドシェルに「Bash 4.3 Patch 27」以前のものを使っているサーバーやシステムは危険と思ってよいだろう。とはいえ、UNIXやLinuxのシェルはbash以外にも存在する(sh、csh、bsh、tcsh、dashなど)。bash以外のシェルを使っているシステムであれば、「CVE-2014-6271」の脆弱性に関しては安全といえるだろう。
なお、システムのデフォルトのシェルがbashでない場合でも、bashをインストールしてコマンドシェルとして利用している環境もある。例えば、Windows Azure上のWebサーバーはIISなので、マイクロソフトは基本的には安全であるとしながらも、仮想環境などでbashを利用している場合は対策せよとアナウンスしている。
また、Ubuntuで使われているシェルはデフォルトがdashなので安全というが、デフォルトを変更していれば確認が必要だ。ほかにも、bashがデフォルトではないものの、BSD UNIXから派生しているMac OS Xについては、アップルが対策パッチをリリースしている。
脆弱性のあるbashのバージョンは、JPCERT/CCなどが公表している注意喚起情報に詳しくリストされている。自社が利用しているサーバー製品やPaaSサービス、ホスティングサービスなどが影響を受けるかどかについては、各社のホームページの情報を参照するとよい。主だったベンダーは、対策情報などとともに説明している。ホームページに情報がなければ、直接問い合わせてほしい。
セキュリティの専門家のブログなどには、独自の調査をまとめて影響を受けるシステム、実際の攻撃パターン、ShellShockの脆弱性を持つかどうか調べるスクリプトなども公開されている。内容を見極めつつ、これらも参考にするとよいだろう。
【次ページ】相次ぐソフトウェアの脆弱性問題、Heartbleedとの類似点は?
関連タグ