Mac OS X向けに、新しいトロイの木馬 27
ストーリー by Acanthopanax
ソフトは信頼できるところから 部門より
ソフトは信頼できるところから 部門より
Macworld UKが、読者からの情報として、Mac OS X向けの新しいトロイの木馬について報じている。このトロイの木馬は、Word 2004 for Macを偽装しているが、実行するとホームフォルダが完全に消去されるという。P2Pファイル共有のLimewireからダウンロードしたものだとのこと。
この情報を提供されたセキュリティソフト会社のIntegoが、既にセキュリティ警告を出している。それによると、このトロイの木馬(AS.MW2004.Trojan)はOffice 2004のインストーラ(このあたりの情報はMacworldの記事とは異なる)に似たアイコンを持っているが、実体はAppleScriptアプレットであるとのこと。
本家でもストーリーができている。
対岸の火事を笑っていられない (スコア:2, 興味深い)
それはさておき、OS Xは安全ではない [techworld.com]という意見もありますし(この先マックのシェアがどうなるかはわかりませんが)OS9までと比べたら攻撃する側もUnix全般の攻撃の手口を利用できる訳ですから、これからこうしたウイルス・ワーム・トロイが増えてくるのかもしれませんね。
Re:対岸の火事を笑っていられない (スコア:2, 興味深い)
利用出来る訳で、アイコン偽装しただけダブルクリックしてしまうなら、
Mac OS 9の場合は簡単にFinderすらゴミ箱行きに出来るので脆弱です。
こんな古典的なものに引っかかるのはやはり、P2Pで違法ソフトを
ダウンロードして使おうとするからでしょ?メーカのインストーラが
感染してたとかではないので、流行するような問題にはなりませんね。
Symantecの情報 (スコア:2)
を使わせるのだと思っていましたが、そうではないのですね。
> It is actually a compiled AppleScript, which, when launched under OS X,
>performs the UNIX shell command:
>
> rm -rf ~
>
> This command attempts to delete the current user's home directory
>and its contents immediately. Deleting the home directory for most
>users is not possible.
http://securityresponse.symantec.com/avcenter/venc/data/as.mw2004.troj... [symantec.com]
当たり前のことが当たり前のように書いてあるだけですが...
回避策 (スコア:0, 参考になる)
rm -i にエイリアスを張るのが一応の回避策かな。
A warning on a new destructive 'trojan horse' [macosxhints.com]
Re:回避策 (スコア:2, 参考になる)
とした状態で
rm -rf hoge
ってすると確認無しで消えると思います。提示リンク先のリプライにも書いてありますし、manによると って書いてありますね(そして実際そのとおりに動いているように見えます)。rmをrm -iにaliasしても、-fをそのうしろに付けられたらアウトです。rm -i -rfはrm -rfと同じ。
#そもそもフルパスで呼ばれたらアウトでは。
んじゃどうするかって話ですが、chmod o-rx /bin/rmするくらいしか思いつかないです。
#削除するときはsudo rmするということで。一般ユーザはrm禁止:-)
それ以前にP2Pで拾った怪しいファイルを開くなよ、って話ではありますが:-)
man rm(was Re:回避策) (スコア:1, 参考になる)
-f <略>The -f option overrides any previous -i options.
-i <略>The -i option overrides any previous -f options.
-----
ですから、rm -i -rf は確認無しに削除され、rm -rf -i は確認有りです。
--
vm%パスワード入れるの面倒くさい
Re:man rm(was Re:回避策) (スコア:1)
alias rm='rm -i'
ってしてあっても、
rm -rf hoge
を実行したときに実際に実行されるのは
rm -i -rf hoge
つまり
rm -rf hoge
でしょう。
#普段俺はalias rm='/bin/rm -i'して必要なときだけ-f付けて使ってます。
Re:man rm(was Re:回避策) (スコア:1, 参考になる)
ぐるりさんに言いたかったんじゃなくて、ぐるりさんの書き込みに「-i」を後ろにつけた場合のことが載ってなかったので、補足したかっただけなのでした。
以下、余談。
回避策ですけど、「rm -rf *」だったらなぁ。
$ cd
$ touch -- -i
しておくと、ホームディレクトリで「rm -rf *」しても「-i」ファイル名が読み込まれた時点で、「rm -rf -i」と同義になって止まってくれたり。
これ確か /.J の「バックアップをどうしてるか」みたいなストーリーの中に書いてあったんですが。どのストーリーだか思い出せず...。
あ、消す時は、以下で。
$ rm -- -i
「rm -rf ~」だと...さくっと思いついて man bash 見て試してみたんですが、
$ cd
$ export HOME=/Users/hoge/.Trash
$ rm -rf ~
だと、「.Trash」が消えるだけで済むとゆー。要は(Pantherのデフォルトでbashなので)bashが補完してる「~」の参照先を変えちまえっつー。
まぁ、著しく使い勝手が悪くなるので現実的じゃありませんが(笑
ま、LimeWireでWordなんてgetすんな、つか容量小さいんだからdownload時間で気付けっつーか。
--
vm
Re:man rm(was Re:回避策) (スコア:1, 参考になる)
あまりよろしくないかと。
UNIX FAQ [nurs.or.jp]
Re:man rm(was Re:回避策) (スコア:1)
alias del="rm -i"
とかの方がいいっていう話、でしょうか?
rmをrm -iにしておくと、いざaliasされていない環境で作業するときも思わずrm -iのつもりでrmってタイプしちゃう、と。
なるほど、参考になります。
Re:回避策 (スコア:1, 参考になる)
だからトロイでいいのか。P2Pで落とした怪しげなファイルは実行しないことかな。
本家ではネタみたいなことばかり書いてあるけど。
Re:回避策 (スコア:1)
まぁ、アプリケーションバンドルの中に無駄ファイルをパディングされたら意味なしですが^^;
Re:回避策 (スコア:1)
タイプの物もありますから、サイズだけでは判断出来ない様な気がします。
解る人には解るというレベルだろうけど。
AdobeReaderのダウンロードマネージャで700KBぐらいか。さすがに
100KBではバレるのかな。でもこのぐらいの差なら、だまされる人は
だまされる様な気も。
Re:回避策 (スコア:1)
/bin/rmを他の名前に変えちゃって、rm -iなシェル・スクリプトを/bin/rmにしちゃえば大丈夫でしょう。もしくはせっかくopen sourceなので、rmコマンドのソースをちょこっといじって、デフォルトを-iオプション付きにしちゃうとか。
Re:回避策 (スコア:1)
私はzshをログインシェルに変更していますが、AppleScriptからdo shell scriptを実行するときはsh(つまりPantherだったらbash)が使われているようです。
あと、「デフォルトを-iつきにする」では解決しないんでは。「-fは-iをオーバーライドできない」くらいにしないと…
#それはそれで不便だが。
Re:回避策 (スコア:1)
そういえばそうですね。御指摘感謝。
overrideできなくしちゃうと、はげしく不便なコマンドになってしまいますね。
AppleScriptがログイン・シェルを使わないのなら、rmが自分の親プロセスをたどっていけば、自分がコマンドラインで起動されたか、AppleScriptからかを判断できることもありそうです。AppleScriptからだったら-i優先にするとか。あとは、rootでないのに$HOMEをrmするときにはオプションにかかわらず警告を出すとか。
しかしいろいろ考えてもまぁ、不便ですよね。やっぱり。
なんていうか、結局「あやしげなファイルをむやみに実行しない」ってことしか。
Re:回避策 (スコア:1, 参考になる)
システムコールをたたかれたら,/bin/rmの名前を変えても無駄です。
/bin/rmは,システムライブラリのunlink()などを呼び出しているに過ぎないわけですし。そのunlink()も内部的にはsyscall(SYS_unlink,)を呼び出しているに過ぎないでしょう。
トロイの木馬は実行された時点で防ぐ手だてはありません,実行したユーザーにできることはすべて行うことができます。
これだけだと不親切なので…,rmだけでファイルを消せなくしたければ,情報を見るからファイルをロックです。もちろんこれも正しい手順で行えば消せますが,消しにくくはなります。
Re:回避策 (スコア:2)
ちょい補足。Finderでは表示されないドットファイルに対しては、コマンドラインから
/Developer/Tools/SetFile -a L ファイル名
でロックできます(要Developer Tools)。外すときは
/Developer/Tools/SetFile -a l ファイル名
で。
#TinkerToolsとかで表示させるという手もあるか。
Re:回避策 (スコア:1)
AppleScriptが実行に際してrmコマンドを実行するのに、まさかunlinkは使わないでしょう。普通にforkとかexecとかの汎用のルーチンじゃないですかね。
Re:回避策 (スコア:0)
>AppleScriptが実行に際してrmコマンドを実行するのに、まさかunlinkは使わないでしょう。
今回はたまたまAppleScriptを使って,ターミナルから/bin/rmを呼び出していたというだけです。
将来,同様な悪意あるプログラムが,直接システムコールを叩くことができる
インストーラだと偽られると (スコア:0)
そして、この手のトロイによってシステムがダメージを受けないような根本的な対策があったとしたら、それは一般に世の中のインストーラと言うものが使えなくなると言うことと同じじゃないかな。
あまりに本質的な脅威なので、対策を考えようとすること自体が無理なような気がするのですが。
Re:インストーラだと偽られると (スコア:2, すばらしい洞察)
技術的というより人間的なクラックですからね。その部分は
同意します。
これのMac特有な部分というのは、
・簡単なAppleScriptで十分なので、悪質なソフトをCとかで
書くより簡単にできてしまう。
・それをアイコン偽装で見破られないようにしているが、それは
Mac特有の機構を悪用している。しかもこれも簡単にできる。
ってところじゃないかと。
技術的対策としてはアイコン偽装を防ぐことだと思うんですが、
これって根が深いというか歴史が長いというか、意外にやっかい
な問題のような気がします。
Re:インストーラだと偽られると (スコア:1, すばらしい洞察)
大きな問題だと思いますが、少なくともこの件は、出所の定かでな
いファイルやアプリケーション等は開かない、と言う最低限の自衛
の部分に依存すると思いますよ。
自分自身で起動してしまっていては、何をやっても無意味じゃない
でしょうか。
Re:インストーラだと偽られると (スコア:1)
その上でMac固有の技術依存な部分について補足したわけで。
少なくとも今までのところ、Mac向けのウイルス・ワーム・トロイの
類って物珍しいんですよ。やっと相手にされたかと思うともう嬉しく
って…とまでは言いませんけど。
Re:インストーラだと偽られると (スコア:1)
ライセンス的に不正なインストーラーをつかわなければいいだけでは?
清く正しい人は自然と実行していると思います。
オープンソース系やWeb配付のフリーウエアはどうすんの、と言われそうですが
そもそもそれは「配付場所が脆弱にならないように気をつける」という対処で
済むはずです。
Re:インストーラだと偽られると (スコア:0)
回避策と言えるかどうか判らないけど、パーティション切って、大きなファイル
Re:インストーラだと偽られると (スコア:0)