【PC遠隔操作事件】不正プログラム「アイシス」の全貌が明らかになった(第3回公判傍聴メモ)
3月13日の第3回公判。検察側2人目の証人は警察庁の技官で、現在は東京都警察情報通信部情報技術解析課所属の岡田智明氏。平成23年(2011)4月から、同課で不正プログラムの解析業務に当たっている、とのこと。これまで分析を担当したサイバー犯罪は「細かいものも含めて1000件を超える」とのこと。PCの遠隔操作をした事件も100台程度の解析に関与した、という。
本件では、問題の遠隔操作プログラムの動作の解析と、何種類かあるiesys.exeの比較解析を担当した。
今回もまた、
――ウェブページとは?
「インターネット上で公開される文書の一種でございます」
といった基本的な用語の確認から始まった。
ただし、ウェブブラウザについて、「ウェブページを見るためのプログラムで、HTML言語を解釈するものでございます」という説明が、裁判官にどの程度理解されているのかはよく分からない。
岡田証言の要旨
以下、岡田氏はおおむね次のような証言を行った。
【iesys.exeの動作の流れ】
遠隔操作者は遠隔操作者用PCで、「したらば掲示板」に実行させたい命令を書き込む →iesysに感染したPCは、定期的に「したらば掲示板」を確認し、遠隔操作者用PCが書き込んだ命令を受信する →iesysがその命令に従って、動作を行う →iesysは、動作結果を「したらば掲示板」に書き込む →遠隔操作者はその結果を確認して、命令が実行されたことを確認する
【感染する仕組み】
遠隔操作者は、有用なプログラムであるかのような書き込みを「2ちゃんねる」などの掲示板に掲載し、人目につくようにして、iesysのインストールプログラムを公開する。第三者が、有用なプログラムと誤解しプログラムをダウンロードし、実行してしまうと、不正プログラム(iesys)に感染してしまう。
解析を行ったインストールプログラムは次の通り。
1)Timer.exe(JAL事件、大阪オタロード事件)
2) idchanger_m.exe(コミケ事件)
3) CBUtil.exe (子役女優事件、幼稚園事件)
4) Chikan.exe (AKB48事件)
5) ExifUtil.exe (ドコモショップ事件、伊勢神宮事件)
拡張子.exeは、ウィンドウズで動作するプログラムファイルのこと。
たとえば1)のTimer.exeの場合、有用なプログラムはストップウォッチのプログラムである。
a)Timer.exe …iesysのインストールプログラム(これを偽装Timer.exeと呼ぶ)
b)Timer.dat …ストップウォッチのプログラム。通常、.datは何らかのデータを記録するファイル名に使われる拡張子。これが実行可能なファイルであることを分かりにくくするため、.datが使われているとみられる。
c)readme.txt …ストップウォッチプログラムの使用方法が書かれている。
この3つのファイルを圧縮し、Timer.zipとして公開されている。第三者がこれをダウンロードして展開すると、偽装Timer.exeが実行される。
偽装Timer.exeは次のような機能を持つ。
iesys.exeのインストールを実行する →偽装Timer.exeを削除する →Timer.datのファイル名をTimer.exeに変更し、実行する
こうして実際にストップウオッチのプログラムが起動されるため、不正な目的でこのプログラムが作られたことが分かりにくく、有用プログラムと誤解した者がiesysをインストールしたことに気づきにくくする効果がある。
このように、攻撃者(遠隔操作者)はTimer.zipを有用なプログラムであるように誤解させる文章をつけて、インターネット上で公開する。有用なプログラムと誤解した者は、これを入手し、展開することで、Timer.exeを実行し、結果として気づかないうちにiesysに感染する。
【偽装Timer.exeを実行して感染する順序】
1)Timer.zipを有用なプログラムとだまされた者が展開する
2)Timerフォルダが作成され、上記の3つのファイルがそこに展開される
3)偽装Timer.exeを実行すると、(インストールした本人が)気がつきにくいフォルダ内にiesys.exe、cfg.datが作成される
4)cfg.datに記載される設定情報を読み込み、iesys.exeが自動実行される
5)iesysのインストールプログラムである偽装Timer.exeが削除される
6)Timer.datがTimer.exeに変更(リネーム)される
7)本物のTimer.exe(6で変更されたもの)が実行され、画面にストップウォッチが表示される
3)の気がつきにくいフォルダとして、たとえばiesys.exe、cfg.datは次の場所にあった。
Cドライブ→ユーザー→user1→AppData→Local→Microsoft→iesys(フォルダ)
一般のユーザーが、ここまで開くことは通常はないため、これらのファイル作成は分かりにくい。
4)のiesys.exeの自動実行は、インストールの後にユーザーがPCを終了しても、次に起動してログオンした時に実行するよう、レジストリに設定されている。ただし、画面には何も表示されない
【したらば掲示板の仕組みとアイシス】
「音楽」「自動車」「旅行」「学校」などのカテゴリに分かれている。その中に「板」があり、その下にスレッドが立てられる。
カテゴリ――板――スレッド――個々の書き込み
上記のcfg.datは、したらば掲示板の「板」を指定する設定情報である。たとえば、
bcat=music:
bid=27190
とすれば、「したらば掲示板」のmusic/27190を指定できる。
感染PCは通常モードでは5分間隔で「したらば掲示板」の命令を確認する。これも画面には表示されないので、感染した人には分からない
iesysは、「したらば掲示板」に書き込まれた命令を受信し、実行し、その結果を送信するだけでなく、HTML言語を解釈実行するウェブブラウザに相当する機能を有している。ただし、この画面には表示されない。
新たな感染があると、cfg.datによって新しいスレッドが作成されるので、犯人はそれを確認して把握する。
【iesys.exeの主な機能】
wbget …指定したウェブページのデータを取得する命令
(たとえば、警視庁のご意見欄ページを取得する)
wbset …指定したウェブページのデータへの書き込み命令
(そこに「警視庁を爆破する」などと書き込む)
wbclick …取得したウェブページの指定した場所へのクリック命令
(コメント送信のボタンを押す)
wbcap …取得したウェブページの画面データとHTMLソースコードを取得する命令
(攻撃したウェブブラウザの画面データをネット上の指定サーバに送信する)
update …(指定したサーバに保存してあるデータをダウンロードして)別のiesysに更新する命令
suica …iesysを削除する命令
【書き込みを第三者が見ても分からない工夫】
「したらば掲示板」への書き込みは、暗号化プログラムCryptTool.exeを使用して、命令を暗号化している。このCryptTool.exeは、アイシスの暗号化と復号化のためのプログラムである。仮想ドライブを作成するTrueCryptとは異なり、一般公開されているものではない。我々は、これを江ノ島の猫につけられていたマイクロSDカードから取得した。
使い方は、暗号化したい文章を画面の左側に入力し、暗号化ボタンを押すと暗号化される。暗号化した文章を右側にコピーし、復号化ボタンを押すと復号される。iesysにはCryptToolの機能を自動的に行うよう組み込まれているが、犯人側では暗号化や復号化が自動的になされない。そのため犯人は、命令の文章をCryptToolで暗号化し、それをコピーして「したらば掲示板」に貼り付け、iesysによって同掲示板に書き込まれた暗号文字列をコピーしてCryptToolで復号する、という作業を行うことになる。
暗号化や復号化を行うには、したらば掲示板に書き込みを行う名前(ID)とiesys.exeに記録された2個の鍵情報、合計3つのデータが必要である。そのため、第三者が「したらば掲示板」に暗号で書かれた命令の内容を解読することはできない。第三者が見ても意味不明の文字列が並んでいるだけである。
たとえば、webgetの命令は、次のような手順で行われることになる。
遠隔操作者が命令を暗号化し、「したらば掲示板」のスレッドに書き込む→ 感染PCが暗号化された命令を受信し、自動的に復号し、webgetを実行する →指示されたウェブページを取得する →命令が実行されたことを示すcompletedを暗号化し、「したらば掲示板」のスレッドに書き込む →遠隔操作者がこれを復号してcompletedのメッセージを受け取る
感染PCでは、ストップウォッチなどの正規のプログラムは表示されるが、裏でiesysが実行していることは表示されないので、PCユーザーはこのような作業が行われていることに気がつかない。
【iesysはウィンドウズ専用】
携帯やアンドロイドのスマートフォン、MacやLinuxでは動作しない。
PCと携帯やスマートフォンは違う種類の電子機器なので、動作させる不正プログラムも異なり、感染させる方法も違う。別の技術や知識が必要で、PCにもスマートフォンにも感染させるのはより困難なものになる。
【第三者を陥れることは可能か】
第三者を陥れるために不正プログラム開発の痕跡だけをハードディスク上に矛盾なく残すことは困難である。
プログラムの開発を行うと、開発のために使用したプログラム(ソフトウェア)が動作していたと考えられる様々なデータが作成され、ハードディスク上にこれらの痕跡が残る。第三者を陥れるとしたら、そういう痕跡は残したい。
ところが、それらの痕跡を作るためのプログラム(ソフトウェア)を動作させた不自然な痕跡が残ってしまう。これは、第三者を陥れる場合は残したくないものである。
自動的に作成される様々な痕跡を、解析する者に矛盾を感じさせないように残すことは困難である。
弁護側の猛抗議
問題となったのは、最後の項目についての証言だった。検察が、派遣先PCの解析には関与していない岡田証人に不正プログラム開発の痕跡に関する証言をさせ、片山氏のPCに残った「痕跡」は遠隔操作によるものとした弁護側の主張は無理であるかの印象を、裁判所に与えようとしたことに、佐藤博史弁護士が激怒。急遽予定外の反対尋問を始めた。
岡田証人がいつからこの事件の捜査に関わったのか、などを問いただしたが、はっきりした答えが返ってこない。
「パス名を他人のPCに埋め込むことは可能か」などの質問を重ねるが、かみ合わない。
佐藤弁護士は、犯人のラストメッセージにあった、横浜CSRF事件に関連する記述について問いただそうとしたが、岡田証人は「それには関与していない」として、証言を拒んだ。
さらに質問を重ねようとする佐藤弁護士に対し、裁判長がうんざりした表情で、「反対尋問の範囲を超えている」と制した。佐藤弁護士がなおも必要性を熱く語るのに対し、検察官も「(横浜CSRF事件は)関与してないと言っている。関連性なく反対尋問として違法」と異議を申し立てた。
佐藤弁護士は”ぶち切れ状態”となり、「岡田証人は、最後に、彼が解析をやってもいない『痕跡を残せるのかどうか』という点について意見を述べた。検察は主尋問で、証人が全然体験していないことを聞いている。だから、それに関連して弁護人が聞くと、『そういう質問はするな』というのは不公正だ」とボルテージを上げた。すると、検察側も「アイシスを解析した者として、それに関する痕跡についての意見を話しただけ。刑事訴訟法を知らないんですかぁ、先生は?!」と”上から目線”で挑発した。
佐藤弁護士の怒りの矛先は裁判所にも向かった。
「(派遣先PCの分析をしていない岡田証人に、プログラム開発の痕跡について聞くという)こういうことを許しておいて、弁護人の尋問を許さないとは何事だ」と訴訟指揮に猛抗議。裁判長に向かって「恥ずかしくないのか!」と声を荒げる場面もあった。裁判長は不快感を隠さず、「裁判所は(主尋問との)関連性が分かりません」ときっぱり。弁護側が反対尋問の範囲を超えて聞きたいことは、主尋問として、別途準備してやって欲しいと告げた。
「自分がアイシスを作るのは不可能」
この日の法廷の最後に、弁護側はこれまた急遽、短い被告人質問を行った。佐藤弁護士が、岡田証人の証言を聞いた感想を聞いたのに対し、片山氏は淡々と次のように答えた。
「1年以上勾留されている間、アイシスはどういう仕組みで動くか分からなかった。今日の証言を聞いて、こうやって動作するんだなと疑問が解消した。しかし、自分にスキルであれを作れるかというと、慣れているC++やJAVAでも作るのは不可能。C#が使えるか使えないか、という以前の問題だと思う」
片山氏は、公判後の記者会見の中で、どういう点が自分には不可能だと思ったのかを聞かれ、次のように語った。
「仕組みが複雑。常駐して、自動的に起動して、したらば掲示板とのやりとりをし…という一連のシステムになっている。それは自分には無理。これまで大きいシステムを1人でやってことはない。何十人もで分業して、その1人としてやった程度なので」
また、弁護人、検察官、裁判長が感情をあらわにし、とりわけ佐藤弁護士がエキサイトしたこの日の法廷について、片山氏はこんな感想を漏らした。
「はらはらしていた。(佐藤弁護士が)ここまで裁判長の気分を害することを言って、判決に影響を与えないだろうか…と」
さらっと率直な感想を口にしたものの、続いて
「佐藤先生が必死でおっしゃっていることが、(裁判所には)よく伝わっていないのかな、とも思った」と横にいる佐藤弁護士をフォローする気遣いも見せた。