クロスプラットフォームの脆弱性実証コードが出現--標的はWindowsとLinux
WindowsマシンとLinuxマシンの両方を標的とする悪意のあるソフトが新たに出現した。
ロシアのウイルス対策企業Kaspersky LabにWindowsとLinuxの両OSの脆弱性を実証するプログラムが寄せられ、同社はこれを「Bi.a」と命名した。Kasperskyのブログにある4月7日付けの投稿によると、Bi.aは「アセンブラ」と呼ばれる簡単なコンピュータコードで書かれたウイルスで、カレントディレクトリ内のファイルのみに感染するという。一方で、同ウイルスは、LinuxのELFフォーマットとWindowsのPEフォーマットの両ファイルへの感染力を持つと、同社は言う。
WindowsとLinuxのクロスプラットフォームウィルスの実証コードが現れたというニュースで、それはそれで充分にインパクトの大きな話。Windowsに比べて、Linux上で、どの程度のヒトがちゃんとウィルス対策をしているのか、気になるところでもあります。
しかし、ボクがひっかかったのは、そこではなく『「アセンブラ」と呼ばれる簡単なコンピュータコードで書かれたウィルス』という下りです。そうですか、『「アセンブラ」という簡単なコンピュータコード』というのもナンだなぁと思いますが、とにかく、そういう但し書きをつけないと世間には通じないモノになっちゃったわけです。> アセンブラ
そういえば、自分自身、最後にアセンブラで何かを書いたのはどのくらい前になるだろう?
solipt
>『「アセンブラ」という簡単なコンピュータコード』というのもナンだなぁと思いますが
すごく同感です(^-^A;。構成がシンプルな言語、とかならわからなくもないかな・・まぁ私は始まりも終わりもZ80でしたが。
と思って原文見てみましたら・・
>The virus was written in low-level computer code called "assembler"
と、超訳も顔負けのとんでもない日本語訳だということが判明(笑)。
クロスプラットフォームと、アセンブラのようなレベルの言語とは、相容れないようなイメージを持っていたのですが、クロスプラットフォームを実現するのもまたそういうレベルの言語ということだから、こういうウィルスも作れちゃうんでしょうか・・・正直今ひとつピンと来なかったり(^^;。
hiro
CNET Japanには時々、超訳が現れます。まぁ、CNETに限ったことではなく、訳者の知識不足が原因だと思われますが。
クロスプラットフォームとのことですが、ELFバイナリとしての顔と、Win32 Executableとしての顔と二つの顔(==ヘッダ)を混在させているのでしょう。ちょっとあまり調べてないんですが、そういう風にして実装されているんだと思います。だから、中身はLinux版とWin版の二つのバイナリがあって、それぞれのヘッダによって、使わないほうはデータセグメントとかなんかに割り当てられるようになっているんじゃないでしょうか?
将来的に、Monoの実装が進めば、.NETプラットフォームで動くワームなんてのが登場するでしょうから、よりクロスプラットフォームでの危険性が高まっていくと考えられます。
さて、アセンブリ遍歴ですが、ボクもZ80ではじめましたが、6809、8086、i386、SPARC、MIPSとあれこれ、手を出したり、出さざるを得なくなったりしながら来ました。SPARCはちょっと触っただけなので、もう忘れました。そうそう、変り種としては、NECのSXアーキテクチャのそれもいじったことが……(^^;;