Backdoor.Gatesとして知られているLinuxマルウェアについての報告を受け取った。
分析により、このマルウェアは以下の特徴を持つことがわかった。
• Sのバージョンやハードディスクのサイズといった、侵害したシステムの情報を収集する
• さらなる情報を得るためにC&Cサーバに接続する。C&CサーバのアドレスおよびポートはRSAで暗号化されている
• さまざまなDDoS攻撃のホストとなり得る
• TCP-SYNフラッド
• UDPフラッド
• DNSフラッド
• ICMPフラッド
• HTTPフラッド
• DNSアンプ
特記すべきは、このバックドアはインストールに以下のファイルを使う点だ。
/etc/init.d/DbSecuritySpt
興味深いことに、「DbSecuritySpt」という文字列は、別のWindowsマルウェアでも使われているサービス名だ。より詳細に見てみると、当初考えていたよりも両者が似通っていることを発見した。
メインのファイルおよびドロップされるコンポーネントに、双方とも同一の名前を用いている。たとえば、メインコンポーネントはLinux版では「gates」、Windows版では「Gates.exe」と名付けられている。攻撃ツールはLinux版では「bill」、Windows版では「Bill.exe」だ。DNS Ampライブラリは「libamplify.so」と「libamplify.dll」などなどだ。これでは偶然の一致が多すぎだ。つまり、両者は実際には同一のマルウェアを再コンパイルした移植版であることが、即座に判明した。
このマルウェアはC++で書かれており、一見したところではコンパイルされたコードはまったく違っているように見える。しかし詳細に調査すると、あるコードベースを共有しているに違いないことが明らかになる。コードには、スレッドのハンドリングやサービスのインストール(Windowsでは「DbSecuritySpt」というサービスとしてインストールし、一方Linuxでは/etc/init.d/DbSecuritySptという起動スクリプトになる)など、OSを中心とした部分がある。しかし、他に似ている部分がある。何よりfopen()とfread()を使う単純なファイル操作などだ。Windowsプログラマの間では、これらの標準C関数を使うことは、まったく一般的でない。両バリアントは、プラットフォームに応じた#ifdefを大量に使って、同一のコードベースからコンパイルされた可能性がもっとも高い
Windowsコードのスクリーンショット

Linuxコードのスクリーンショット

Backdoor.Gatesのようなマルチプラットフォームのマルウェアが、どのようにインストールされるのかを見出すのは、常に興味深い。これについては、我々はまだ完全に把握しているわけではない。初期の分析に基づくと、マルウェアには自動拡散やエクスプロイトの機能は無いように見受けられる。我々が受け取った報告書では、少なくともLinux環境ではSSHサーバの脆弱なパスワードを使ってマルウェアがインストールされたことを示している。
Backdoor.GatesのLinux部分に関する詳細な分析は、カスペルスキー社やDrWeb社から公開されている。
-- Post by Jarkko
分析により、このマルウェアは以下の特徴を持つことがわかった。
• Sのバージョンやハードディスクのサイズといった、侵害したシステムの情報を収集する
• さらなる情報を得るためにC&Cサーバに接続する。C&CサーバのアドレスおよびポートはRSAで暗号化されている
• さまざまなDDoS攻撃のホストとなり得る
• TCP-SYNフラッド
• UDPフラッド
• DNSフラッド
• ICMPフラッド
• HTTPフラッド
• DNSアンプ
特記すべきは、このバックドアはインストールに以下のファイルを使う点だ。
/etc/init.d/DbSecuritySpt
興味深いことに、「DbSecuritySpt」という文字列は、別のWindowsマルウェアでも使われているサービス名だ。より詳細に見てみると、当初考えていたよりも両者が似通っていることを発見した。
メインのファイルおよびドロップされるコンポーネントに、双方とも同一の名前を用いている。たとえば、メインコンポーネントはLinux版では「gates」、Windows版では「Gates.exe」と名付けられている。攻撃ツールはLinux版では「bill」、Windows版では「Bill.exe」だ。DNS Ampライブラリは「libamplify.so」と「libamplify.dll」などなどだ。これでは偶然の一致が多すぎだ。つまり、両者は実際には同一のマルウェアを再コンパイルした移植版であることが、即座に判明した。
このマルウェアはC++で書かれており、一見したところではコンパイルされたコードはまったく違っているように見える。しかし詳細に調査すると、あるコードベースを共有しているに違いないことが明らかになる。コードには、スレッドのハンドリングやサービスのインストール(Windowsでは「DbSecuritySpt」というサービスとしてインストールし、一方Linuxでは/etc/init.d/DbSecuritySptという起動スクリプトになる)など、OSを中心とした部分がある。しかし、他に似ている部分がある。何よりfopen()とfread()を使う単純なファイル操作などだ。Windowsプログラマの間では、これらの標準C関数を使うことは、まったく一般的でない。両バリアントは、プラットフォームに応じた#ifdefを大量に使って、同一のコードベースからコンパイルされた可能性がもっとも高い
Windowsコードのスクリーンショット

Linuxコードのスクリーンショット

Backdoor.Gatesのようなマルチプラットフォームのマルウェアが、どのようにインストールされるのかを見出すのは、常に興味深い。これについては、我々はまだ完全に把握しているわけではない。初期の分析に基づくと、マルウェアには自動拡散やエクスプロイトの機能は無いように見受けられる。我々が受け取った報告書では、少なくともLinux環境ではSSHサーバの脆弱なパスワードを使ってマルウェアがインストールされたことを示している。
Backdoor.GatesのLinux部分に関する詳細な分析は、カスペルスキー社やDrWeb社から公開されている。
-- Post by Jarkko