2013年2月19日火曜日

遠隔操作ウイルス事件について、プログラマ的に必要スキルを検討する

このエントリーをはてなブックマークに追加
Clip to Evernote
Pocket

自己増殖機能が無いのだからウイルスではなくてマルウェアだろと叫びつつ、遠隔操作ウイルス事件で使われたと言うプログラミング言語C#の習得難易度を考察してみたい。遠隔操作マルウェアを作るレベルにすぐなれるものであろうか?

C#はメジャーな言語で難易度はそうは高くは無い。「TIOBE Programming Community Index for February 2013」で5位にランクしており、「@IT:連載 改訂版 C#入門」のような解説サイトは山ほどあり、テクニカルな部分も検索すれば解決しやすい。またクラス指向のオブジェクト指向言語であり、分類すると現在もっとも一般的なカテゴリーに属する。C++やJava、VB.NETでアプリケーションを書いた事があれば、すぐに習得できるであろう。

問題の遠隔操作マルウェアは、報道によると掲示板経由でダウンロードされたファイルを実行したときに感染するようだ。不注意なユーザーのミスを待つタイプなので、最新のセキュリティー・ホール情報に詳しい必要などは無い。遠隔操作の方法が気になるのだが、報道を見る限りはDropBoxにある命令ファイルしたらば掲示板にある命令を読み出して動いているように思える。この方法であれば、ルーターやファイヤーウォールに通信を阻害される可能性が低いメリットもあるのだが、ネットワーク・プログラミングの知識はほとんど要らない。さらに、自己消去に失敗したことから、テストは甘い。

要件としては(1)Windows起動時に常駐を行い(レジストリ操作)、(2)タスクマネージャで非表示にして、(3)http(s)でファイル読み込みを行い、(4)読み込んだファイルの内容に従い、(5)自己消去に失敗する事になる。(1)~(3)は検索すればサンプル・コードが出てくる。(4)も事件で使われた程度の遠隔操作なら容易に思える。(5)は完全な妄想だが、実行中はファイル・ロックがかかっている事を忘れて、ファイルを削除しようとしたのでは無いかと思われる( ´,_ゝ`)プッ

Visual C# Express Edisionをダウンロードしてきたりする必要もあるのだろうが、中学生でも出来ると思う。今、拘留されている被疑者が潜在能力として出来ないとは思えない。全国に何百万と出来る人はいるだろうし、犯人につながる情報とも思えないが。ところで無実の人に自白を強要した女性検察官は国会で証人喚問されないのであろうか?

追記(2013/02/19 22:45):画面キャプチャやキーロガーの機能もあるのだが、こちらも「C# 画面キャプチャ」「C# キーロガー」で検索する容易にサンプルコードが見つかる。

追記(2013/02/19 23:00):後から考えるから仕組みが単純に見えると言う指摘があったのだが、便利アプリ偽装のマルウェアなんて昔からたくさんあるし、それが遠隔操作機能を持っていることも珍しくないし、それは各セキュリティーベンダーが警告しているので、今回の事件のマルウェアには新規性は無い。

追記(2013/02/20 01:30):警視庁の公開情報を見ると、クラス名・関数名にkakikoMtThreadなどが残っており、難読化ツールなどが使われた可能性が無い。また必要性があるように思えないフォームにIEのコントロールが貼り付けてあり・・・全般的に良く分からないマルウェアになっている。

追記(2013/02/20 03:00):.Net Framework 3.5、完全動作には4.0が必要で、Windows XP/Server 2003より後でないといけない(INTERNET Watch)一方、被害者のOSはWindows Vista以前のものと言われる(マイナビニュース)。ほぼWindows XPだけを狙ったマルウェアとなる。犯人はC#やWindowsに余り詳しくない事になる。

0 コメント:

コメントを投稿