kensyou_jikenboのブログ

yahoo!ブログの同名ブログを移行しました

ウィルス作成経過考察2

昨日は、数ヶ月も業務に従事してなかったらいずれ発覚して大きな問題になり、その結果(証拠)が残っていないことは考えにくいという事を中心に記した。
本日は今回のウィルス(トロイ)を実際に開発作成する場合、途中経過ではどのようなことが起きるか考察してみる。

今回のトロイは御存知の通りC#というマイクロソフト社の開発言語で作られ、開発環境として同社のVisualStudio(VS)というソフトが必要である。VSは何年かごとにバージョンアップがあり、今回の犯人が使ったのはVS2010と云われている。
C#をVSを使わずにコンパイルソースコードからマイクロコンピュータ用コードに変換)する事もできるという話が当初出されていたが、あれは明らかに考え過ぎのレベル。
VSは無料で使用できるし使いやすいので、間違いなくこちらを使うと考えて良い。また今回のトロイにはFormというウィンドウを作るフォーマットが1個ではあるが使用されているので、それからしてもVSを使っているのは明らかである。

VSは大きなソフトなので、痕跡が残るという話があって、実際被疑者の派遣先PCにその痕跡が残っていたということを検察は主張するようである。
このことはネットでも色々な所で取り上げられているので、当方は余り議論になっていない「VSを使用した開発を周囲に気が付かれずに行えるか」を取り上げてみる。

以下はVS2010の基本的画面である。色々なメニューやウィンドウなどあるが、開発はこれらを駆使して行う。
イメージ 1

ただし、常時表示しなくてもよいウィンドウは隠して以下のようにシンプルにも出来る。
イメージ 2

次に、Javaを開発する際に一般的に使われて、被疑者も業務でJavaの開発に使っていたとみられる開発ソフト「Eclips」の画面を示す。こちらは特定の会社の製品ではなくフリーソフトである。
イメージ 3

VSとEclipsの画面を比べると、高級言語統合開発環境というコンセプトは同じなので、基本構成は似てくる。
しかし、メニューの用語などでも表現が違うので、每日使っている人ならパッと見ただけで違う画面であることが分かると思われる(ソフト開発者は毎日使っている)。
また、画面上方の表題でVSは「Microsoft 」や「C#」と出るし、Eclipsは「Java」と出る。これを消したり、変えたりすることが出来るのかどうかは未検討だが、そういうことは普通考えることすら無い。

隣に同僚がいたり、後ろを通る人がいたりしたら、2~3ヶ月もの間本来使うべきものとは別の開発ソフトを使ってたら気がつく人がいるのではないか。
また、VSの色々なウィンドウをできるだけ使わずに、シンプルな構成にして隠すような工作を行なっても、表題のようにどうしても出てくる部分はあるし、各画面やメニューなどには其々便利さがあるから、余り隠し過ぎると使いにくくなって開発効率が落ちる。
見られたくないソフトは当然早く開発したいところだが、隠蔽と開発効率はトレードオフのようになってくる。一ヶ月での基本開発は相当忙しい日程と思うので、隠蔽にどれほど気を使っていたのだろうか。
ただ、堂々としていると逆に見つからないこともあるかも知れないが、検察は被疑者が派遣先で開発していたと主張するなら、どのようにして気づかれずにいたか、ある程度詳しい説明が必要となるだろう。
だが、被疑者取調をやっていないので、詳細を明らかにすることは相当困難な作業になるのではないか。

VSによる開発の隠蔽の関係は一旦以上であるが、これ以外にも今回のトロイ開発について、余り話題になっていない点がある。
それは、遠隔操作の動作試験やデバッグ(バグ取り)作業用の環境をどうしていたかという問題である。遠隔操作であるから、犯人用と被害者用の2台のPCで構成される。動作試験やデバッグも本来2台でやる方がやりやすいと考えられる。
例えば、今回のトロイは画面キャプチャやキーロガーの機能もある。2台使えば片方のPCのキーログや画面キャプチャをもう1台のPCで取得確認できる。2台のPCで動作確認したほうが、実際の動作に近くなり確認しやすい。
ただ、派遣先で業務とは関係ないソフトの開発に2台も使うのはバレやすくしているようなものである。それで1台で開発する場合は、仮想環境ソフト(VMwareなど)というものを導入して、1台のPC内にもう1台のPCを仮想的に構築するような方法が考えられる。VMwareなども基本は無料で使えて、今は結構動作も安定しているので充分使えるものである。しかし、上記のVSに加えてVMwareなどの画面も出てきてしまうことになるので、気づかれる危険を持った要素が増える。
更に、デバッグ時はエラーメッセージがよく出るが、その形式や内容もVSとEclipsでは違う。
このように試験やデバッグ環境まで考えると、どうやってトロイ開発に気が付かれないようにできたのか不思議である。

また試験やデバッグする際に、「したらば掲示板」へのアクセスはどうしていたかも殆ど議論になっていないと思われる。今回の遠隔操作では「したらば掲示板」が必須であるから、試験する際にも必ず「したらば掲示板」か、それに相当するものがないと出来ない。
実際の「したらば掲示板」を使用したとすると、試験時にも頻繁にアクセスが発生する。それが本当にアクセスログなどに残っていないのか。
或いは「したらば掲示板」に相当する擬似サーバーソフトのようなものまで被疑者が開発していたとすると、それはどんな方法だったのか、検察はある程度立証を行う必要があるだろう。
本当にできるのだろうか。

本日は以上であるが、明日は7月18日に検察側証拠が出てきて約1週間経つので、まだ早いかもしれないが現時点での裁判の行方予測につながる情勢分析を行なってみたい。