Linux/Apache系Webサイトを狙った正体不明の攻撃についての現状報告

 セキュリティ調査会社のFinjanから今月中旬に出されたプレスリリースにて、ある一群のWebサーバに何らかの不正操作を施された結果、そこにアクセスする多数のWindowsマシンが連日マルウェアに感染させられ続けており、こうして汚染されたマシンは未だ正体のつかめぬ犯罪組織の意図するボットとして活動するようになっているという警告が報じられている。この問題の発覚後、セキュリティ企業のScanSafeおよびSecureWorksもこの件に取り組んではいるが、感染されたサイト数の正確な数は未だ把握しかねているとのことだ。ただし今のところ、被害にあったサーバはLinuxおよびApacheの組み合わせという点において、すべてのレポートが一致している。

 ServerTune.comの掲載記事にある説明では、今回の手口では不正操作を受けたサーバにルートキットの一種がインストールされており、それが正規のシステムバイナリから感染バージョンへの置き換え操作をするとされている。そしてこれらのシステムがブートされると、感染したバイナリが実行されてJavaScriptペイロードがダイナミックに生成されるが、これがサイト訪問者に対してランダムかつ間欠的に接触を図ることになる。このJavaScript型マルウェアが感染時の窓口として利用しているのは、サイト訪問者のマシンにあるWindows、QuickTime、Yahoo! Messengerの脆弱性である。

 問題のルートキットを検出する方法ないし、感染の確認されたサーバの洗浄法についてアドバイスが得られないかをApache Software Foundationに問い合わせてみたが、Apacheのセキュリティ対策チームに属するMark Cox氏から得られたのは、「現状で攻撃者側がサーバ群のルートアクセスを得た方法の詳細はつかみ切れていませんが、同時にApache HTTP Serverに潜む脆弱性に起因していることを示す証拠も得られていません」という回答である。

 Linuxの最大手ベンダであるRed Hatにも同様の問い合わせをしたものの、同セキュリティ対策チームから得られた返答は、「現状では感染したマシンにアクセスしたことはなく、問題のルートキットを検出可能なツールについて何らかの助言を出せる状態にありません」というものであった。

 ホスティング企業の運用サイト群をクライアント側で管理するcPanelというツールの開発元から出されているセキュリティリリースでは、問題のルートキットがインストールされた場合に実行される処理および、個々のサーバで感染をチェックする2つの方法が解説されている。

 このリリースにある説明によると、感染後は数字で始まるディレクトリの新規作成が行えなくなるとされている(例えば「mkdir 1」など)。そして2つ目のテストは、下記の構文のtcpdumpコマンドを用いてサーバから出されるパケットをモニタするというものである。

tcpdump -nAs 2048 src port 80 | grep "[a-zA-Z]\{5\}\.js'"

 現状で最大の謎とされているのは、そもそもこれらのサーバ群がどのようにして感染したのかである。力ずくで進入した形跡が今のところ確認されていないため、現在疑われている手口は、問題のマルウェア作成者はサーバのrootパスワードを盗み出すことでアクセスしたのではないかというものだ。ComputerWorldの掲載した記事にある調査報告では、確認されている内で最も古い被害者は大手のホスティング企業の運営するサイト群であり、ここのセキュリティが突破された段階で攻撃者側は数百ないしは最悪数千単位のWebサイトに関するrootアクセス権を入手していた可能性があるとされている。

 各自のサーバを防護するための積極的な方策としては、現状ではrootパスワードの安全を確保する以外の選択肢がほとんど存在しないため、その他にシステム管理者の行える最善の活動を挙げるとすれば、前述したtcpdumpコマンドと同種の手法を用いて手元のサーバが感染していないかをチェックするくらいのものしかないであろう。既に侵入されたサーバについては、感染除去に有効と思われる方法は今のところ寄せられていないが、LinuxとApacheを完全に再インストールしてrootパスワードを設定し直すことで目的を果たすことができるものと思われる。

Linux.com 原文