Q: このLeap-A / Oompa Loompaとは何ですか? A: Leap-Aは、単純な画像ファイルに偽装された、潜在的に悪意のあるプログラムです。この感染方法は、あるファイルが別の何かのふりをしているため、トロイの木馬として知られています。現状では、コードはlatestpics.tgzというファイルに隠されており、何か興味深いもの(例えばOS X 10.5のスパイショットなど)の画像であるとされています。圧縮アーカイブを展開し、画像ファイルと思われるファイルをダブルクリックすると、Leap-Aマルウェアが実行され、システムにインストールされます。
Leap-Aはインストールされると、2つのことを行います。まず、iChatの友達リストに登録されている全員に自身のバージョンを送信しようとします。友達全員にiChatの標準ファイル転送メッセージが送信されますが、ユーザー側では何も確認できません。次に、ユーザーディレクトリにインストールされたInputManagerを介して、マシン上のCocoaアプリケーションに感染を開始します。感染したCocoaアプリケーションを起動するたびに、Leap-AはSpotlightを使って最近使用した4つのアプリケーションを探し出し、それらがCocoaアプリケーションであればそれらにも感染させます。
より深く、より的確で、より技術的な説明は、Ambrosiaの創設者であるAndrew Welch氏によるこちらの分析でご覧いただけます。プログラムをダウンロード、展開、そして実行した際に何が起こるのかを、彼は正確に説明しています。
Q: このマルウェアはどのようにして私のマシンに侵入するのでしょうか? A: Leap-Aマルウェアをマシンに侵入する唯一の方法は、自ら何らかの行動を起こして侵入させることです。iChatで友人からファイルを受け取ったり、ネットから何かをダウンロードしたり、メールの添付ファイルを開いたりするかもしれません。このプログラムコードは現在、Appleの次期OS XメジャーアップグレードであるOS X 10.5の画像と称するものの中に隠されています。Leap-Aをマシンに侵入させるには、(a)圧縮されたファイルを受信し、(b)アーカイブを展開し、(c)画像ファイルと思われるファイルをダブルクリックしてコードを実行する必要があります。ネットを閲覧したり、メールを読んだり、iChatで友人とチャットしたりするだけでは、このマルウェアに感染することはありません。
もちろん、Leap-Aの検出をさらに困難にしているのは、他のマルウェアに偽装しているという事実です。以下では、誤ってLeap-Aに感染させないようにするためのアドバイスをいくつかご紹介します。
とはいえ、安全なマシンでテストするために、Leap-Aを探しました。しかし、見つけるのは容易ではなく、仮に見つかったとしても、その動作はAndrew Welch氏の説明とは一致しないようでした。私たちのアプリケーションは感染しておらず、iChat経由でも何も送信されませんでした。つまり、探していたにもかかわらず、なかなか見つからないのです。もちろん、時間の経過とともに、より広範囲に拡散する別のバージョンがリリースされる可能性もあるので、必ずしもそうとは限りません。
Q: このウイルスはMacに悪影響を及ぼしますか? A: 現状のコードでは、特に悪意のある行為は行いません。しかし、コードにバグがあるため、感染したアプリケーションの実行を阻止してしまいます。この問題の唯一の解決策は、元のアプリケーションのクリーンなコピーをインストールすることです。そのため、少なくとも現時点では、データが危険にさらされることはありません。ただし、Leap-Aの亜種がリリースされ、 より悪質なものになる 可能性は比較的高いことに注意してください。
Q: これはウイルス、ワーム、マルウェア、それともトロイの木馬でしょうか? A: 技術的には、その全てを少しずつ含んだものです。Mac上の他の実行コードに感染するという意味ではウイルスです。自己複製してマシンからマシンへと拡散しようとするという意味ではワームです。コンピュータに悪影響を及ぼす可能性があるため、マルウェアの一種です。基本的に、トロイの木馬を介して拡散され、ウイルス的およびワーム的な動作を繰り返すマルウェアです。
Q: これはどのような点でトロイの木馬なのでしょうか? A: このプログラムはソーシャルエンジニアリングを利用して動作します。つまり、多くの人が見たいと思うような画像に見せかけ、開かせようとします。今回のケースでは、Appleの次期OS X 10.5リリースであるLeopardの画像だと報じられています。
Q: これはどのような方法でウイルス性を持つのでしょうか? A: ウイルスとは、実行中の他のアプリに自身のコピーを挿入することで拡散する自己複製プログラムです。Andrew Welch氏の分析によると、Leap-AはInputManagersフォルダを利用してまさにそのように拡散します。最終的には、起動したすべてのCocoaアプリケーションに感染します。そして、コード内のバグにより、感染したアプリは動作しなくなります!ただし、人間の介入なしにマシンからマシンへと拡散することはできないため、Leap-Aは真のウイルスではありません。
Q: これはどのような点でワームなのでしょうか? A: Leap-Aの唯一の使命は、できるだけ多くの人に拡散することのようです。このプログラムは自身のクリーンなコピーを作成し、iChatの友達リストに登録されているすべてのユーザーに送信しようとします。これらのユーザーがファイルを受け取り、アーカイブを展開して、生成された画像ファイルをダブルクリックすると、彼らも感染します。繰り返しますが、ワームの拡散には人間の介入が必要です。
Q: Leap-Aから身を守るにはどうすればいいですか? A: Sophos、Symantec、Integoのウイルス対策製品をご利用の場合は、いずれも既にアップデートされており、Leap-Aがシステムにインストールされるのを防いでいます。ほとんどのウイルス対策ソフトウェアは、エクスプロイトのバージョンごとにアップデートする必要があるため、ウイルス定義を常に最新の状態に保つようにしてください。ただし、既に感染している場合は、これらのプログラムでは感染を根絶できない可能性があります。システムをクリーンアップするための手順については、以下をご覧ください。
ウイルス対策アプリケーションを使用する以外にも、感染を防ぐために実行できる簡単な方法がいくつかあります。
- ソフトウェアは、MacUpdateやVersionTrackerといった信頼できるサイトからのみダウンロードしてください。ただし、これらのサイトを利用する場合でも、新しいアプリケーションをダウンロードする前に、他の投稿者のコメントをよく読んでください。
-
アーカイブを解凍した後、解凍したプログラムを起動する前に、Finder でアイコンを確認してください。この場合、右の写真のようなアイコンが表示されます(ただし、OS X の一般的な画像アイコンではなく、JPEG のプレビューが表示される場合もあります)。Finder は画像として認識しているようですが、「種類」行には Unix 実行ファイルと表示されていることに注目してください。これは、 このファイルを開か ない方が良いというサインです。
- 管理者以外のユーザーとして実行することも、ある程度は機能します。この特定のプログラムの動作方法では、どのタスクに対しても管理者ユーザーのパスワードを入力するとすぐに、コードが実行できるようになります。したがって、100% 安全であるためには、管理者以外のユーザーとして実行し、管理者のような操作を実行したいときはいつでも、物理的に管理者アカウントにログインする必要があります。管理者以外のユーザーとしてパスワードを入力すると、コードへの管理者レベルのアクセスが許可されます (管理者アクセスに対する OS X 組み込みのタイムアウトにより、次の 5 分間)。このコードは常に実行されています。したがって、管理者以外のユーザーとして実行する場合は、常にそうする必要があり、管理者パスワードを尋ねられても決して提供しないでください。これは日常的な使用では難しい可能性がありますが、高速ユーザー切り替えによっていくらか簡単になります。
- 最後に、InputManagers フォルダの所有権を変更するという方法があります。これは、Application フォルダ内のプログラムへの初期の被害を防ぐことはできませんが、追加のプログラムへの感染を防ぐことができます。InputManagers フォルダがブロックされると、Leap-A は Input Manager をインストールできず、他のプログラムに感染してしまいます。感染した Cocoa アプリケーションは最大 4 つになります。これを行う最も簡単な方法は、ターミナルの「アプリケーション」→「ユーティリティ」を使用することです。まず、このフォルダはデフォルトではインストールされていないため、存在することを確認する必要があります。入力して
mkdir ~/Library/InputManagersReturn キーを押します。何もメッセージが表示されず、フォルダが作成されたことを示すコマンドプロンプトが表示されるか、ファイルが既に存在することを示すターミナルが表示されます。いずれの場合も、次のコマンドを実行する準備が整いました。sudo chown root:admin ~/Library/InputManagersReturnキーを押すと、管理者ユーザーのパスワードが求められます。パスワードを入力すると、InputManagersフォルダへのアクセスがブロックされます。Leap-Aや、そこに何かを配置しようとする他のコードからのアクセスもブロックされます。Safari用のSafariStandやSogudi、iChat用のChaxなどのアドオンをインストールする場合は、このフォルダを一時的に自分の所有権に戻す必要があります。これらのプログラムのインストーラを実行する前に、ターミナルで以下の操作を行ってください。
sudo chown your_user:your_user ~/Library/InputManagersユーザーの短縮ユーザー名に置き換えてください
your_user。これでインストーラーを実行し、最初のコマンドを再実行して所有権をrootに戻せます。このフォルダへの書き込みは他には行われないため、日常的な作業に支障をきたすことはないはずです。この脆弱性に対する有効な防御策と言えるでしょう。私たちのテストでは、スクリプトは保護されたInputManagersフォルダにスクリプトの一部をインストールしようとした際にエラーが発生し、スクリプトの残りの部分が実行されなかったようです。ただし、前述の通り、Andrew Welch氏がテストしていたバージョンと同じバージョンは入手していなかったため、Leap-Aの他の亜種ではこの現象は発生しない可能性があります。
Q: 自分のマシンにLeap-Aマルウェアが感染しているかどうかはどうすればわかりますか? A: ユーザーのLibraryフォルダを開き、InputManagersフォルダを開いて、apphookというフォルダを探してください。もしそこにあれば、感染しています。
Q: マシンにLeap-Aマルウェアが感染している場合、どうすれば駆除できますか? A: ユーザーのLibrary/InputManagersフォルダからapphookというフォルダを削除してください。Finderで「移動」→「フォルダへ移動」を選択し、 /tmp 移動先としてapphookと入力してください。このフォルダが開いたら、latestpics.tgzを削除してください。簡単な部分は以上です。
感染して起動できないアプリケーションがある場合(この問題は再現できませんでした)、最善策は、元のCDまたはDVDから再インストールすることです。バックアップから再インストールすると、既に感染している可能性があるため、バックアップから再インストールしないでください。アプリケーションはすべて正常に動作しているように見えても、apphookフォルダが残っている場合はどうすればよいでしょうか?理論上は、お使いのマシンが感染していることを意味します。しかし、私たちの実験では、iChatの仲間が、要求されていないファイルを送信されたと苦情を言っていない場合は、私たちが発見したものと同じ亜種である可能性が高いです。この特定のバージョンでは、アプリケーションはLeap-Aによって変更されていないようですので、apphookと/tmpのデータファイルを削除すれば、問題は解決します。
結論
「安全なダウンロード」を実践していれば、このコードについてはあまり心配する必要はありません。しかし、世の中にはあなたのマシンに悪意のあることをしようとする人がいるため、常に警戒する必要があることを改めて認識させられます。幸いなことに、Leap-AはOS Xのセキュリティホールを明らかにしたわけではありません。むしろ、ユーザーを騙してマシンにインストールさせた後に悪質な行為を行うソフトウェアです。
Leap-Aマルウェアは、OS Xがリリース前と比べてウイルスに対する安全性が低下したことを意味するものではありません。ソーシャルエンジニアリングによるマルウェアはこれまでも、そしてこれからも存在し続けるでしょう。ユーザーに何かを実行させることができれば、コード実行中に何をしても構わないということになります。Appleが私たち全員の安全性をさらに高めるためにできることはいくつかありますが(例えば、InputManagersは明示的な許可なしにインストールできないようにするなど)、私は依然としてOS Xは非常に安全なオペレーティングシステムだと信じており、日常的に使用しても全く問題はありません。