Tetsu=TaLowの雑記(はてブロ版)

しがない大学教員が琵琶湖のほとりから呟きます

3つの事件で振り返る「何をやったらウイルス罪で捕まるか2017」

この記事はkmc-id tetsu (id:tetsutalow)によるKMCアドベントカレンダー2017の24日目の記事です。遅刻です。

adventar.org

23日はwass88くんの予定だったのですが現時点ではまだ上がってないですね。「年内・・・」だそうですので、年内にはupできるように頑張って下さい。かくいう私もすっかり忘れてて慌てて書いてるので遅刻です。そもそもブログエントリそのものがほぼ1年ぶりじゃないですか困ったなぁ。

はじめに

メリークリスマス、Tetsu=TaLowです(kmc-idはtetsu)。KMC 31回生です。今年もKMC最年長ヒラ部員を続けてます。昨年書いた素数秒記事が思いのほか楽しかったので、今年も勢いでエントリしてしまいました。来年にはついにKMC 32回生、片手で数えられなくなってしまう*1のね・・・

さてこれを書き始めた日はクリスマスイブだったのですが、間に合わずクリスマス当日になってしまいました*2。クリスマスと言えば国産初のウイルスとも言われる*3クリスマスウイルス」が思い出されますね(強引)。あれは1989年のことで、思えば当時はウイルスと言えばイタズラでしかない牧歌的な時代でした。あれから30年近くが経った現在は、非常に犯罪性が高いマルウェアが大量に生み出され跋扈している大変な時代です。しかしそれらの攻撃は「目に見えない」ために、被害者本人にすら気がつかれず、話題にならないという厄介な時代でもあります。今年を代表するウイルスと言えば5月に大規模なパンデミックを起こしたWannaCryがありました。とはいえWannaCryは日本では比較的被害が小さくて済みました*4し、解説する記事もいっぱい出てますので、ここでは扱いません。今日書くエントリはそんな話ではなくて、今年、日本でウイルスに関する罪で逮捕されたり、逮捕されそうになった事案でちょっと気になるものがあったので、振り返りながら書いてみたいと思います。

事件その1:日本初の「ランサムウェア作成による逮捕」事案は14歳の少年

WannaCryの騒ぎの後、6月はじめにこんなニュースが出回りました。

digital.asahi.com

このニュースは、日本では初めてのランサムウェア作成者の逮捕だったこと*5と、この作成者が14歳だったことで話題になりました。

しかしこのランサムウェアと称するもの、内容は単なるバッチファイルでして、技術的にもかなり稚拙な*6内容です。しかも、暗号化に使った鍵をそのままディスク内に残してしまうので、実際に使われたとしても暗号化されたデータはすぐに回復できる作りでした。詳しくはid:Kangoさんのまとめをどうぞ。

d.hatena.ne.jp

このことが明らかになるとネット上では「これで逮捕されるの?」という感想が駆け巡っていました。その後私の所に毎日新聞から取材がありまして、お答えしたものが記事になっています。

身代金ウイルス逮捕の中3 おもちゃレベルでも作成罪?(毎日新聞)

本件ですが、神奈川県警が作成者の逮捕に踏み切ったのはウイルスの動作やその出来よりも、作成者に明確な目的があることを重く見たのではないかと感じます。不正指令電磁的記録に関する罪はこんな条文です。

第168条の2 正当な理由がないのに,人の電子計算機における実行の用に供する目的で,次に掲げる電磁的記録その他の記録を作成し,又は提供した者は,3年以下の懲役又は50万円以下の罰金に処する。
一 人が電子計算機を使用するに際してその意図に沿うべき動作をさせず,又はその意図に反する動作をさせるべき不正な指令を与える電磁的記録
二 前号に掲げるもののほか,同号の不正な指令を記述した電磁的記録その他の記録

この条文が成立した直後に法務省が公開した「いわゆるコンピュータ・ウイルスに関する罪について」では、この罪が成立するには

  • 「正当な理由がないのに (正当な理由の不存在) 」
  • 「人の電子計算機における実行の用に供する目的で (目的) 」
  • 「 第1号又は第2号に掲げる電磁的記録その他の記録を (客体) 」
  • 「作成し,又は提供した (行為)」

の全てが満たされていることを必要とするとしています。このうち「目的」は人の内心の問題なのでウイルス罪の捜査の上で疎明するのが難しい点なのですが、この少年がTwitterで呟いていた内容を見る限りは「ヤル気満々」だったので、目的は十分あると見られてしまったのではないかと思います。本件がTwitterでの書き込みを発端として立件されている点も含め、ここがクリアされているのであれば、客体としてのウイルスの出来が少々稚拙でも、一応ランサムウェアとして動作するようになっているので立件した、というような印象です。

なお、このランサムウェアによる被害はなかったと考えられますが、ウイルス作成罪は被害の有無にかかわらず罪としては成立するので、その点は関係ありません。そのことも、多少出来が悪くても明確な目的を持って作られた以上ウイルスであると判断された理由になっているかもしれません。

ということで事件その1の結論は「少々ウイルスとして出来が悪くても、他人に感染させて悪意ある動作をさせることを明確な目的としてプログラムを書くと、捕まる(ことがある)」です。

事件その2:Shareのキャッシュを持っていたらウイルス保管罪

2つめの事件は、世間ではそれほど話題にならなかったけれどもセキュリティ業界的にはかなり大きな衝撃が走った事件でした。

itpro.nikkeibp.co.jp

ditはP2Pファイル共有ソフトShareの監視業務を行っています。Share上で蔓延している情報漏洩ウイルス(Antinnyなど)は、感染したPCからあらゆるファイルがShareネットワーク上に流出してしまうので、企業などから営業秘密が流出したりすることがあります。ditが行っていたのは情報漏洩ウイルスが流出させたファイルを収集して、その中に委託を受けた企業等に関連するファイルがないか監視することなのですが、そういった流出ファイル内にもそのウイルスが入っています。ですので、その収集をShareそのものを使って行うと、P2Pファイル共有の性質上ファイルのダウンロードと同時に再送信が始まってしまうので、ウイルスを再配付する結果になりかねません。そこで普通はShareのファイル送信機能*7を殺して運用するものですが、ditはどうもそれをちゃんと行っていなかったようです*8。報道によると、情報漏洩ウイルスに新たにファイル感染した人がいるのを受けて*9、Shareネットワークを「サイバーパトロール」で追いかけていた結果ditが運用していたノードに行き着き、このノードがウイルス入りのファイルばかり大量に保持していること*10、そのノードから実際にファイルのダウンロードが行われることが確認されたことが今回の捜索や逮捕に繋がっているようです。なお、それならウイルス保管罪ではなく供用罪で立件するべきなのでないかという意見もありそうですが、供用は具体的に特定の被害者が当該ノードからファイルを受信した事実を疎明せねばならず、それは容易ではないので証拠がすぐ揃うウイルス保管罪で立件したのだろうと思います。

しかし本件、セキュリティ業界的にはかなりの影響がありました。

PCウイルス「保管は罪?」 監視会社社員の逮捕波紋 : 京都新聞

itpro.nikkeibp.co.jp

ditの主張は前述の4条件のうち「正当な理由がない」「目的」の2点が成立しないのでウイルス罪にあたらない、とのことでしたが、特に論点は目的になります。ditはセキュリティの会社ですから、この監視システムの運用によってウイルスが再配付されてしまうことは当然認識できたはずですから、それでも運用してきたことをもって「目的」の要件が足るとするか否かという議論になると思います。目的にも未必の故意が成立しうるかは、犯罪の類型によって多少異なるものの一般にはあり得るようですので、「他人に感染することがあるかもしれない」との認識で目的は成立する、という判断もあり得そうです。となると、ウイルスの研究や対策ソフトウェアの開発の過程においてウイルスが漏れてしまう可能性はないとは言えないので、保管が罪に問われるのではないか?という懸念がセキュリティ業界に走ったのです。特にハニーポットは一般的にはウイルスの再配付が起きないように工夫しますが、その工夫をすり抜けてウイルスの再配付が起きてしまった場合に、ウイルス供用罪や保管罪が問われるかもしれない、という懸念は私も感じました。特に、目的犯の場合それは内心の問題ですから、外形的に上記4条件のうち3条件が満たされていそうで、目的の部分だけが不明なら、警察はとりあえずは事情聴取、そこで不審な点があれば逮捕して調べようとするでしょう。

結果的に本件は逮捕された社員はすぐに釈放されましたし、組織としてのditにウイルスを拡散させる明確な目的意識があったとは言えないでしょうから、証拠不十分になりそうで起訴は見送られるのではないかと思います。ただ、逮捕されてしまうとそれだけで社会的制裁が下りてしまう世の中ですから、「どの程度の状況であれば外形的にウイルス供用の目的が『あるかもしれない』と警察が感じて動き出すか」はセキュリティ研究者として気になるところですし、広義では警察関係者でもある身*11としては、セキュリティ業界の肌感覚を警察内に伝えていく努力をしたいと思います。

ということで事件その2の結論は「自分が管理するシステムから誰かにウイルスを感染させてしまった場合、そのシステムも他に感染させられたなど被害者であることが外形的に判断できなければ、警察が事情聴取や逮捕で目的を調べようとするので、捕まる(ことがある)」です。

事件その3:Bitcoin暗号通貨*12のマイニングを行うWebアプレットはウイルス供用か?

今年はBitCoinが高騰したこともあって、暗号通貨の採掘を行うマルウェアが流行りました。比較的昔からある採掘botだけではなく、スマートフォンのアプリ内で暗号通貨採掘とかも結構あったようです。そんな中、Webサイト訪問者にJavaScriptが送り込んでブラウザ内でマイニングさせるなんて手法が現れまして物議を醸しました。

mainichi.jp

特に有名になったのはイケダハヤトさんが自サイトに仕掛けて非難されたからですね。

news.yahoo.co.jp

この件、単に行儀が悪いだけではなくて、ウイルス供用罪に当たるのではないかという議論があります。

www.nikkei.com

上記記事から引用しますと

仮想通貨技術などに詳しい斎藤創弁護士は「サイトの閲覧者に告知せず意図に反してマイニングをさせる行為は、不正指令電磁的記録供用罪などに当たる可能性がある」と指摘している。

・・・そうです。

このスクリプトが前述のウイルス罪4条件のうち「客体」にあたるのでしょうか。そもそもブラウザ内のスクリプトがウイルス罪に問われるかといえば、他でもない最初の検挙事例がブラウザクラッシャーだったりしますので、「問われる」が答えになります。なので論点になるのは「人(この場合はサイト訪問者)の意図に沿う動作」ではないか、つまり「告知していたかどうか」なのですね。告知が行われていればサイト訪問者の意図に反する動作にならないのでウイルスにならないが、告知がなければウイルスではないか、という論点です。しかし例え告知を行ったとしても許されることではないという風潮も強いようで、実際各社のウイルス対策ソフトウェアがこの手のスクリプトをウイルスと判断して除去したり、サイトを遮断したりする方向になっているようです。

この議論、Web広告とのバランスが悪く、私個人はちょっと気持ち悪いです。Webサイトを運営するのももちろんコストが必要なので、閲覧者から何らかの形でそれを回収しようとするのは正当な行為だろうと思います。現在、Webサイトにおける広告で賄うことは広く行われ、人々に受け入れられています。それが暗号通貨になった途端に世間の目が厳しくなるのは、広告と違って「裏でこっそり行われるから」なんでしょうか。では告知すればOKなんでしょうか。世の中には目障りなWeb広告より演算能力の提供の方がよいという人もいそうですし、実害という意味でも、特にスマートフォンにおいてマイニングによるバッテリーの消費と動画広告によるパケットの消費なら、どちらが深刻な被害かは悩ましいところです。何より気持ち悪いのは、広告はスクリプトが入っていなければプログラム=指令電磁的記録ではないのでどれだけ迷惑をかけてもウイルス罪の射程に入らないのに、スクリプトになった途端に被害の大小にかかわらずウイルス罪になりうるという構造にバランスの悪さを感じてしまうのです。

話がずれましたが主題に戻りますと、この事件3の結論は「Webサイト内のJavaScriptでも、サイト訪問者の想像外にあるような動作をさせ何らかの被害を与えることがあれば、ウイルス供用罪に問われる(かもしれない)」です。とはいえWebブラウザの計算能力をサイト閲覧の対価として支払うというアイデア自体は私は割と好みでして*13、何とか合法的にできる方法が欲しいなと思ってしまいます。例えば、どうしてもWebサイトで暗号通貨を採掘したいなら、「このサイトの閲覧にはハッシュ計算X回が必要です、実行して良いですか?」と事前に聞いてきた上でサイトを表示するような構造にすればいいんじゃないでしょうかね。

おわりに

ということで、実はウイルス罪というのはちょっとヤンチャなことをすると問われうる、割と身近な犯罪であることが実感していただけたでしょうか。すっごくザックリまとめますと

  • 出来が悪くても「ヤル気満々」で作ればウイルスはウイルスとして罪に問われるから気をつけて。演習とか研究とか目的をはっきりさせて作って、供用にならないように隔離環境で試すべき。
  • ウイルス持ってるだけで罪に問われる訳じゃないから安心して。自分が感染して結果として他人を感染させてもそれは過失なので罪には問われないはず。ただ感染していることをはっきりと認識したままずっと放置してたら未必の故意を問われかねなくなってくるので、早く対処しましょう。
  • Webサイト上のスクリプトだってウイルス罪に問われうるので行儀の悪いことはしないように。閲覧者の想像外のことが起きるような状況だったら、告知などの工夫をした方が安全ですよ。

って感じでしょうか。とにかく今回起きた3つの事件(ひとつは事件未満ですが)が、セキュリティ研究者の萎縮に繋がらないことを祈ります。

さて、もうKMCアドベントカレンダー2017の最後を飾るのはid:inonoaくんの「まずは同人誌をかけ」です。もうUpされてますね素晴らしい!

inonoa.hatenablog.com

そしてもうすぐコミケですね。そういや懸案だった2020年の夏コミ問題も決着しまして、GW開催になったようですね。少しホッとした気分でコミケを楽しめそうです。KMCは金曜日 東ク33bに出展してますので、起こしの方は是非お立ち寄り下さい。

あと、KMCのもう一つのアドベントカレンダーである「お絵描きカレンダー」もよろしくお願いします。

adventar.org

いじょ。

*1:5bitに収まらない

*2:細かいことをいうと、当時の暦は日没が日の区切りだったので、24日の日没から「クリスマス」です

*3:PC-9801に感染したというだけで、本当に「国産」なのかはわかりません

*4:Windows Updateをちゃんとしていれば感染しないし、それが出来てなくてもport445を塞いでいれば感染しなかったので、比較的ブロードバンドルータでのフィルタが効いている日本では感染しにくかったのではないかと思っています

*5:神奈川県警はそう発表したのですが、2015年に不正アクセス等で逮捕された少年がランサムウェアを作っていたことが捜査の過程で分かっています。少年だったので再逮捕とされず立件されてないからノーカウントってことなんでしょうけど。

*6:例えば、内部でaescryptとopensslを使っているので公開鍵暗号使ってるのかと思って見たら結局単にaesで2回暗号化してるだけという・・・

*7:厳密にはファイルそのものではなくてファイルのキャッシュの断片ですが

*8:同じP2Pファイル共有ソフトでもWinnyはファイル再送信をしないようにする設定がありますが、ShareにはないのでShareそのものを改造するか新たに互換プロトコルでダウンロードだけを行うクライアントを開発するしかありません

*9:実際に被害者がいたとの報道は読売新聞しかしてないのがちょっと気になりますが

*10:情報漏洩ウイルスからの漏洩ファイルばかり集めていると結果的にそうなる

*11:他ならぬ京都府警のアドバイザーを務めていますので・・・

*12:当初BitCoinと書いてましたが、Coinhiveなど今回使われたサービスはMoneroではと指摘を受けて暗号通貨にしました

*13:かつてグリッドコンピューティングが華やかだった頃にSETI@HomeFolding@Homeって流行りましたよね、あれはボランティアでしたが、あの頃ああいうサービスから収益を得られないかと真剣に考えていた人たちがいたのを思い出します。Pay by powerと呼ばれるコンセプトでした。そもそもBitCoinそのものが「システムの運用のために計算能力を差し出して対価を得る」システムですから・・・