変異、断片化、隠蔽がハッカーの新手口

 犯罪目的で活動するハッカーはますます巧妙な手口を用いて、自作マルウェアの感染先システムでの検出や除去を難しくしている——。11月6〜8日に米フロリダ州オーランドで開催されたCSI(コンピュータ・セキュリティ・インスティチュート)のコンファレンスで、セキュリティ研究者らが警告した。

 こうした手口の中で最も一般的なのは、シグニチャベースのマルウェア・ブロック・ツールによる検出を回避するコードの変異技術や、除去を難しくするコードの断片化、ルートキットによるコードの隠蔽だ。

 「MS Blaster」や「SQL Slammer」などのマスメール型ワームとは異なり、今日のマルウェア・プログラムの大半は、感染先のシステムで可能な限り長期間検出されずに待機するように設計されている、とサナ・セキュリティの首席研究者、マシュー・ウィリアムソン氏は述べた。

 こうしたマルウェアの開発目的は、可能な限り多くのシステムに感染するというだけでなく、感染システムから有用情報その他のデータを盗み出すことにある、と同氏。

 この種の攻撃方法として非常に人気が高まっているのが、変異を続けるポリモーフィック・コードの利用だ。また、悪質なハッカーの多くは、今では「パッカ」を用いてマルウェアを暗号化し、検出を回避する。一部のものは異なるルーチンを用いてコードを復号化し、ほぼ無数の変異を作り出す、とウィリアムソン氏。

 その一例は、今年初めに発見されたトロイの木馬型のダウンロード・プログラム「Swizzor」である。このプログラムは1分ごとに自身を作り替え、ブロック対象を正確に知らなければ機能しないシグニチャベースのツールを回避する。Swizzorはさらに、1時間ごとに自身をリコンパイルする。コードのリコンパイルもハッカーが用いるテクニックの1つで、コードを巧妙に変異させてブロック・システムを回避する、とウィリアムソン氏。

 多くのスパイウェア・プログラムは、一般入手可能な暗号化ソフトウェアやパッキング技術を用いて検出を回避する、とウェブルート・ソフトウェアのCTO(最高技術責任者)を務めるゲルハルト・エッシェルベック氏は説明した。プロプライエタリな暗号化アルゴリズムが使われる場合でも、それらは一般入手可能かオープンソースのアルゴリズムをベースとしている、と同氏。

 また、スパイウェア・プログラムはカーネルレベルのドライバやプロセス・ブロック技術を用いて、スパイウェア対策プログラムの実行を能動的に阻止する、とエッシェルベック氏。

 ベリサインのアイディフェンス部門の悪性コード業務担当マネジャー、ラルフ・トーマス氏によると、今日のマルウェア・プログラムはさらに、システムにインストールされた後、いくつかの相互依存的なコンポーネントに分裂するように設計されているという。

 その後、各断片またはコンポーネントは他のものを追跡し、1つのコンポーネントが削除されようとすると、残りの断片がそれを瞬時に再発生させたり再インストールするので、除去は非常に困難だ、とトーマス氏はCSIでのプレゼンテーションで述べた。

 この種のマルウェアの初期の例は「WinTools」だ。これは2004年から出回っており、感染先のシステムにツールバーと3つのコンポーネントをインストールする。このマルウェアのいずれかの部分を除去しようとすると、他の部分が削除されたファイルを補い、再起動させる。

 こうしたコードは断片化しているため、除去スクリプトの作成や、悪質なコードが実際にすべて除去されたかどうかの確認が難しい、とウィリアムソン氏は述べた。

 事態をさらに複雑化させているのは、ルートキットを用いて悪質なコードを感染システム上で隠蔽するケースが増えていることだ、と同氏。ルートキットはOSレベルやカーネルレベルのモジュールとしてインストールすることが可能で、悪質なコードやプロセスをマルウェア検出ツールから隠すために使われる、とウィリアムソン氏。

 「Haxdoor」という悪質なプログラム(10月にその変種が60カ国で8,500台のコンピュータから情報を盗み出すために使われた)がその一例である。Haxdoorは、感染先のコンピュータからパスワードやキーストローク情報、画面ショットを盗み、リモート・サーバに送るために使われた。

 同プログラムはまた、システムのファイアウォールの無効化に使われ、感染マシンのルートキットに潜伏した。

(ジャイクマール・ビジャヤン/Computerworld オンライン米国版)

提供:Computerworld.jp