遠隔操作ウイルス事件、コードプロファイリングから浮かぶ「気持ち悪さ」:まるで“第二のキラ”
IT関係者の関心も集めた遠隔操作ウイルス事件の意外な幕切れについて、クレイジーワークス 代表取締役 総裁の村上福之氏が緊急寄稿した。
トロイの木馬「iesys.exe」に感染させた他人のPCを踏み台にしてインターネット掲示板に犯行予告などの書き込みを行い、4人が誤認逮捕された「PC遠隔操作ウイルス事件」。その真犯人として2013年2月、元IT会社員の片山祐輔被告が逮捕・起訴された。
その後片山被告は一貫して容疑を否認してきたが、2014年5月、事態が大きく動いた。弁護士やマスメディアに「真犯人」を名乗る人物からのメールが届いたのだ。捜査上の問題点なども指摘されていたことから、一時は別に真犯人がいるのではないかという意見も浮上したが、事件は意外な形で幕を閉じた。保釈中の片山被告が、メールを送信したスマートフォンを河川敷に埋める様子が捜査関係者に見つかり、これまで無罪を訴えてきた同被告は、「言い逃れできない」と一転して起訴内容を全て認めた。
IT関係者の関心も集めたこの事件の意外な幕切れについて、クレイジーワークス 代表取締役 総裁の村上福之氏が緊急寄稿した。
iesys.exe、コードに基づくプロファイリングは当たっていたのか?
正直、ゆうちゃんこと片山祐輔被告が捕まったとき、iesys.exeを開発した別の人間がいるのではないかと思ったことがありました。iesys.exeの命名規則が“オッサン臭い”上に、片山氏のC#のプログラミング能力がさほど高くないという記事を読んだからです。
Knowledge base func
遠隔操作ウイルスから学ぶ命名法
「これを作ったの50代はありえてもこれを書いたひとが40歳未満はないんじゃない?」「だよねー!」という会話が某所で繰り広げられた。
なぜコードを「オヤジ臭い」と感じたか
なぜオヤジ臭いと感じたか、その根拠をもう少し説明します。iesys.exeの作成には「Visual Studio」「.NET Framework」「C#」が使われています。これはWindowsで動作する高度なプログラムを作るのに適した組み合わせです。
江川紹子のあれやこれや
【PC遠隔操作事件】C#でのプログラム作成能力を巡って(第6回公判メモ)
http://bylines.news.yahoo.co.jp/egawashoko/20140415-00034530/
おごちゃんの日記
遠隔操作裁判に行って来た
https://www.shortplug.jp/profile/ogochan/diaries/3386
彼にそんな能力があるとは、とうてい思えないという理由からだ。もっとぶっちゃけて言えば、こいつには無理
iesys.exeのメソッド一覧を見たときは、後述する通りオッサン臭い部分がある上に、命令規則が統一されておらず気持ち悪いと思いました。コードの8割が「encByUid」などのように、マイクロソフトの命名規則を無視してローワーキャメルケースの命名方法を用いており、どちらかというとJava臭かったです。
残りの1割程度が、マイクロソフトらしく、「GetUnixTime」のようにアッパーキャメルケースを使用していました。昔のPCのプログラムのように動詞を省略して命名していたことから、「作者は40代以上のプログラマーではないか」という憶測も一部のブログで流れました。僕も同じような印象を持ったもの事実です。
あえてC#を使ったのは、ブラウザーの遠隔操作がかなり楽に実装できる上に、.NET FrameworkがインストールされたWindowsで動作するからだと思われます。
もし、Javaで遠隔操作プログラムを作っても、そもそもJVMがインストールされていないWindowsが多く、ここまで大きな影響力を及ぼすことは難しかったことでしょう。もっとも、当時のXPを含む全てのWindowsでの動作を保障するならば、.NET Frameworkを使ったものではなくC++でWin32のネイディブコードを書く必要がありましたが、この作業はJavaエンジニアからすれば面倒くさくて気がおかしくなると思います。
それほど高度ではなかった実装
多くのブロガーがiesys.exeについて、プログラミングに非常に高度な技術を要するかのように書いていました。
しかし僕が見た限り、遠隔操作そのものの実装は、さほど難しくないものでした。“黒い”広告代理店がよく使っているようなTwitterフォロワー増殖ツールやアカウント無限作成ツールなどと同じような構造です。
具体的には、アプリケーションフォームにIEコンポーネントを貼り付けて、それに対してDOM操作するだけのプログラムです。iOSでいう「UIWebview」、Androidでいう「Webview」であり、要は見えないところでブラウザーを表示して、操作するだけです。遠隔操作のコマンドの一部は、.NET FrameworkのWebBrowserクラスのメソッドのラッパーでしかないので、ブラウザーの遠隔操作だけならば実装は難しくないと思っています。
Webサイトの構造によっては動作しないことがあるでしょうが、2ちゃんねるのようなシンプルなHTMLや、自治体のフォームに犯行予告を書き込む程度ならば十分に動作するように思います。逆に、Facebookのように複雑怪奇なJSで作られたサイトには、あまり向かないといえそうです。その意味からも、実装はそれほど高度なものとはいえないと思います。
Internet Watch
遠隔操作ウイルス、犯人素人説も〜ラックの西本氏が主催して私的勉強会
http://internet.watch.impress.co.jp/docs/news/20121029_569333.html
Iesys.exeでは、プログラミングに関する日本語情報サイトで紹介されているサンプルコードを、そのままコピー&ペーストして使っている部分があることが判明している。
この記事によれば、Iesys.exeのコードには日本語サイトにあるサンプルコードのコピペが含まれていたそうです。さらに、例の最後のメールでも、犯人は次のように自分のことを“スクリプトキディ”(スクリプトコピペ厨)であると自嘲しています。
弁護士 落合洋司 (東京弁護士会) の 「日々是好日」
自称真犯人からのメール(本日午前11時37分に送付されてきた)
http://d.hatena.ne.jp/yjochi/20140516
もともと、私は海外サイトで拾ったウイルスジェネレータで作ったものを使うだけのスクリプトキディでした。iesysを作る以前にも多数の人に感染させています。
まとめると作者は、アプリケーションエンジニア的にはある程度のスキルを持っているように見えます。が、逆にいうとアプリケーション以上のスキルはありません。いわゆるウイルスでは当たり前に使われている、解析者に見つからないようにする難読化などの機能を実装するスキルは欠けていたようです。
ただ、実装もある程度は考えられている(=面倒くさい)し、使う方に立ってみても、コマンドを送る際にはある程度気を使わないといけない上に高機能なのがiesys.exeです。おそらく、手順を踏めないアホな人では、iesys.exe経由の投稿に失敗するのではないかと思います。実際、失敗していたケースもあるのではないかと思います。
このようにコマンドの数々が異様に細かく、機能もてんこ盛りなので、「iesys.exeくらいコピペで作れるだろう」というと、判断は難しいというのが正直なところです。コアモジュールはコピペでも、実装の過程でいろいろと試行錯誤はあったと思いますし、それなりに慎重な部分はあるように見えます。このアタリと、片山氏の実際の挙動との間に、非常に大きな違和感を感じています。
なお各種報道の中で、iesys.exeのことを「アイシス」と呼ぶマスコミがありましたが、「Internet Explorer System」を略した「IE-Sys」という意味で、「アイイーシス」というのが本当の呼び方なんだろうと思います……たぶん。
iesys.exeの「慎重さ」と片山被告が最後に見せた「雑さ」
さてさて、iesys.exeという、スキル的には中途半端なのに高機能なウイルスのおかげで、誤認逮捕が4人も生み出され、日本中の警察の“イット”スキルの低さも露呈したことはいうまでもありません。
しかし事件の最後の最後の幕引きは、非常にローテクなものになってしまいました。警察が片山被告を尾行し、河原でスマホを埋めているところを見つかったのがきっかけとなり逮捕されるという、何だかとてもしまらない形です。
しかも肝心の「真犯人メール」は、無記名SIMを刺したスマホから、Yahoo.co.jpのSMTPサーバー経由で送るという、ものすごく足が付きやすい方法で送信されています。SMTPサーバーなんて世界中にあるのに、あえて日本のYahoo Japan!を選んだというのも意味が分かりません。
正直、僕はこの部分が気持ち悪いと思っています。
今後の報道の中で、あえて足の付きやすいこの方法を使った理由が明らかになるのかもしれません。けれど、どうして今まで通り、Torで身元を分からないようにした上でメールを送らなかったのでしょうか? 供述によると、「いったんパソコンでメールを書いてからスマホで送った」そうですから、本人はパソコンも使える環境にあったようです。Torを使っての時間指定送信もやってやれないこともないので、どうしてそうしなかったのか、疑問ばかりが残ります。
まるでデスノートの「第2のキラ」
これね、まるで漫画「デスノート」の「第2のキラ」みたいですよね。今まで、身元が分からないように完璧を期してメッセージを送っていたのに、突然、雑な方法で送信したことに、言いようのない気持ちが悪さを感じます。
iesys.exeのコードに見られるそこそこの「慎重さ」と、片山氏の行動の「雑さ」とのギャップは非常に気になるところです。
例えば、証言によると、江ノ島のネコに首輪をつける際は、身元が割れないようにするためか、わざわざ首輪を万引きしたそうです。なのになぜ、真犯人メールについてはこんな雑な方法を採ったのか。
Business Journal 江川紹子の「事件ウオッチ」第4回
【PC遠隔操作】我々が完全に騙された片山被告の“巧妙なウソ”の手口と、事件解明のカギ
http://biz-journal.jp/2014/05/post_4943.html
今回引き起こした騒動で再収監された後、弁護人に明かしたところによれば、実は、片山被告は首輪を万引きしたのだという。しかも、猫につけたものと偽装工作用に分けて、別の日に盗んでいた。
その上、指紋を付けたままスマホを埋めるというのもよく分からない。
イザ! 産経デジタル
PC遠隔操作公判 片山被告、無罪主張を撤回「指紋が出る、言い逃れできないと」
http://www.iza.ne.jp/kiji/events/news/140522/evt14052211370013-n1.html
「自分の指紋が出るだろうし、言い逃れできないと思った」
強いて挙げれば、犯人と片山氏に類似点が見られるのは、矢野さとる氏が指摘しているようにメールの言葉遣いぐらいです。
satoru.net
『遠隔操作真犯人』と『のまねこ』事件の犯行予告の類似点
http://d.hatena.ne.jp/satoru_net/20130221/1361387978
『硫酸』、『硫化水素』(劇薬による犯行予告)の類似点
- 犯行予告文の中に『硫酸』『硫化水素』を用いる特徴的表現。
- 2004年〜2013年に『硫酸』が登場した犯行予告事件は『のまネコ事件』と『遠隔操作ウイルス事件』のみ
- 『硫酸』『硫化水素』は犯行予告では一見頻出ワードかと思いきや、意外とレアワード▼□□
何でしょう、この雑な感じ。
最初の逮捕時に尾行されても気付かない、今回も尾行されていても気付かない。遠隔操作時のアクセス全てにTorを使って、DOMを解析してコマンドを作って、わざわざしたらば掲示板経由で操作するという、そこそこ手の込んでいるiesys.exeの実装と、片山氏の適当で雑な感じの挙動の落差が気になって気になって仕方ありません。
何だろう、このモヤモヤ感……そんなことをいっているところに、6月1日にまた、真犯人と名乗る人から謎のメールが来たそうです。
satoru.net
【安部銃蔵】真犯人の名乗る人物からのまたメール(全文+ヘッダー)
http://d.hatena.ne.jp/satoru_net/20140601
とりいそぎ、内容を共有します。
※便乗犯、摸倣犯の可能性もあるので、取り扱い要注意。
この件について片山被告は関与を否定しており、模倣犯による「いたずら」という見方が示されています。けれど、デジタル捜査の在り方やら、司法のIT知識やら、取り調べの在り方やらといった課題も含め、まだまだひと悶着ありそうです。
Copyright © ITmedia, Inc. All Rights Reserved.