1 of 86

いわゆるマイニングスクリプトと�不正指令電磁的記録に関する罪

〜コインハイブ事件判決の論点と課題〜

2019.6.3 情報処理学会

2 of 86

報告/平野敬

2

3 of 86

自己紹介

2014年に弁護士登録(第二東京弁護士会)

大学卒業 → 日立製作所 → 留学 → アクセンチュア → 司法試験

2018年1月に独立,電羊法律事務所(町田)を開設

Twitter: @stdaux

3

4 of 86

目次

  • 構成要件の整理
  • コインハイブ事件の流れ
  • 公判での争点
  • 判決の問題点
  • 学会に対する期待

4

5 of 86

目次

  • 構成要件の整理
  • コインハイブ事件の流れ
  • 公判での争点
  • 判決の問題点
  • 学会に対する期待

5

6 of 86

要件というもの

6

7 of 86

法律学の考え方

前提事実(A,B,C……)が満たされたとき,権利義務(X,Y,Z……)が発生する

7

8 of 86

法律学の考え方

前提事実(A,B,C……)が満たされたとき,権利義務(X,Y,Z……)が発生する

民法882条 「相続は死亡によって開始する」

要件:死亡

効果:相続の開始

8

要件

効果

9 of 86

法律学の考え方

前提事実(A,B,C……)が満たされたとき,権利義務(X,Y,Z……)が発生する

  

刑法では,

要件:一定の行為をした者に対して

効果:国家に一定の刑罰権が生ずる

という構造をとる。「一定の行為」を犯罪と呼んでいる。

9

要件

効果

10 of 86

犯罪構成要件

条文解釈によって導かれる,「一定の行為」の要素

ある行為を犯罪として処罰するための必要条件となる(not 十分条件)

10

11 of 86

詐欺罪の例

刑法246条1項

人を欺いて財物を交付させた者は,十年以下の懲役に処する。

11

12 of 86

詐欺罪の例

刑法246条1項

人を欺いて財物を交付させた者は,十年以下の懲役に処する。

12

構成要件

効果(法定刑)

13 of 86

詐欺罪の例

刑法246条1項

人を欺いて財物を交付させた者は,十年以下の懲役に処する。

  • 行為者が欺罔行為をしたこと
  • 相手方が錯誤に陥ったこと
  • 相手方が財物を交付したこと
  • 1~3に因果関係があること

13

構成要件

効果(法定刑)

14 of 86

不正指令電磁的記録の構成要件

14

15 of 86

刑法改正(2011)

刑法に「第19章の2 不正指令電磁的記録に関する罪」という章が新設される

刑法168条の2� 第1項(不正指令電磁的記録作成,提供)� 第2項(供用)

刑法168条の3(取得,保管)

15

16 of 86

条文

刑法168条の2第1項

正当な理由がないのに,人の電子計算機における実行の用に供する目的で,次に掲げる電磁的記録その他の記録を作成し,又は提供した者は,三年以下の懲役又は五十万円以下の罰金に処する。

一 人が電子計算機を使用するに際してその意図に沿うべき動作をさせず,又はその意図に反する動作をさせるべき不正な指令を与える電磁的記録

二 前号に掲げるもののほか,同号の不正な指令を記述した電磁的記録その他の記録

16

17 of 86

条文

刑法168条の2第1項

正当な理由がないのに,人の電子計算機における実行の用に供する目的で,次に掲げる電磁的記録その他の記録を作成し,又は提供した者は,三年以下の懲役又は五十万円以下の罰金に処する。

一 人が電子計算機を使用するに際してその意図に沿うべき動作をさせず,又はその意図に反する動作をさせるべき不正な指令を与える電磁的記録

二 前号に掲げるもののほか,同号の不正な指令を記述した電磁的記録その他の記録

17

「何か」を作ったりしてはいけない

「何か」の定義

18 of 86

構成要件(赤線の部分)

  • 正当な理由がないこと
  • 人の電子計算機における実行の用に供する目的があること
  • 「何か」を作成し,または提供すること

168条の2第2項では「何か」の供用,

168条の3では「何か」の取得・保管が処罰されているが,基本的な構造は同じ。

18

19 of 86

「何か」の定義(青線の部分)

  • 人が電子計算機を使用するに際して
    • その意図に沿うべき動作をさせず
    • その意図に反する動作をさせるべき
  • 不正な
  • 指令
    • を与える電磁的記録
    • を記述した電磁的記録その他の記録

19

20 of 86

何か=不正指令電磁的記録

  • 反意図性
    • 意図に沿うべき動作をさせない OR
    • 意図に反する動作をさせる
  • 不正性

を満たす実行可能ファイルやソースコードやその印刷物

20

21 of 86

まとめると

  • 正当な理由がないこと
  • 実行供用目的があること
  • 反意図性 AND 不正性を満たすプログラムを
  • 作成・提供すること(168条の2第1項)OR�供用すること(168条の2第2項)OR�取得・保管すること(168条の3)

21

22 of 86

さっぱりわからない……

22

23 of 86

反意図性

23

24 of 86

反意図性?

「人が電子計算機を使用するに際してその意図に沿うべき動作をさせず,又はその意図に反する動作をさせるべき…」

どんなユーザの,どんな使い方を基準に「意図」を認定するのか?

24

25 of 86

反意図性?

  • 不慣れな個別ユーザの内心を基準に判定するとなると,どんな挙動でも「意図に反する動作」になってしまう。
  • 計算機に慣れたユーザでも,プログラムの全ての機能を理解して使っているわけではない。

25

26 of 86

反意図性?

立法担当者

「個別具体的な使用者の実際の認識を基準として判断するのではなく,当該プログラムの機能の内容や,機能に関する説明内容,想定される利用方法等を総合的に考慮して,その機能につき一般に認識すべきと考えられるところを基準として判断することとなる。」

26

27 of 86

不正性

27

28 of 86

不正性?

「不正な」指令

新明解国語辞典 第七版�「正しくないこと(様子)」

正しいプログラムとは? 正しくないプログラムとは??

28

29 of 86

不正性?

立法担当者

「そのプログラムによる指令が「不正な」ものに当たるか否かは,その機能を踏まえ,社会的に許容し得るものであるか否かという観点から判断することとなる」

29

30 of 86

つまり,不正指令電磁的記録とは

30

31 of 86

つまり,不正指令電磁的記録とは

  • 当該プログラムの機能の内容や,機能に関する説明内容,想定される利用方法等を総合的に考慮して,その機能につき一般に認識すべきと考えられるところを基準として,ユーザの意図に反すると認められ,かつ�
  • その機能を踏まえ,社会的に許容し得るものではないと判断されるもの

31

32 of 86

やっぱりわからない……

32

33 of 86

明確性の原則

構成要件は明確でなければならない。曖昧不明確な要件は憲法31条に反し無効。

33

34 of 86

明確性の原則

構成要件は明確でなければならない。曖昧不明確な要件は憲法31条に反し無効。

「その規定が通常の判断能力を有する一般人に対して,禁止される行為とそうでない行為とを識別するための基準を示すところがなく,そのため,その適用を受ける国民に対して刑罰の対象となる行為をあらかじめ告知する機能を果たさず,また,その運用がこれを適用する国又は地方公共団体の機関の主観的判断にゆだねられて恣意に流れる等,重大な弊害を生ずるからである…」(最高裁昭和50年9月10日,徳島市公安条例事件)

34

35 of 86

立法当時の情報処理学会の懸念

2011年6月17日「情報処理の高度化等に対処するための刑法等の一部を改正する法律案」 に対する要望

35

36 of 86

立法当時の情報処理学会の懸念

2011年6月17日「情報処理の高度化等に対処するための刑法等の一部を改正する法律案」 に対する要望

「新規性のあるプログラムの開発や新たなサービスの創造を委縮させてしまうことがないよう,また,ソフトウエア等の開発・公開やソフトウエア関連サービスの提供を行う者にとって過剰な負担となるような運用が行われることのないよう,本改正法の施行前に,どのような場合が犯罪の構成要件に該当するのかについて,逐条解説などの形で明示していただきたい

36

37 of 86

目次

  • 構成要件の整理
  • コインハイブ事件の流れ
  • 公判での争点
  • 判決の問題点
  • 学会に対する期待

37

38 of 86

Coinhive

38

39 of 86

Coinhive

JavaScriptで実装された暗号通貨のマイニングプログラム。

Webサイト閲覧者の計算資源を用いて暗号通貨Moneroを採掘する。

広告や会費制に代わる,Webのマネタイズ手段として開発された。

2019年6月現在は公開停止。

39

40 of 86

Coinhive

40

制作・�アップロード

Webサーバ

クライアントPC

コンテンツ要求

表示・閲覧

coinhive.js

モネロ採掘�計算結果

採掘報酬

Coinhiveサーバ

ダウンロード

41 of 86

警察が引っかかったポイント

  • 閲覧者の個別的な承諾を求めずに実行開始する(JavaScriptだから)
  • 閲覧者からは,実行していることが認知できない(JavaScriptだから)
  • 採掘された暗号通貨はサイト管理者に与えられる。�閲覧者には直接的な利益がない。

→反意図かつ不正な指令では!?

41

42 of 86

時系列

42

43 of 86

時系列

2017年9月14日 Coinhiveの提供開始

    9月20日 GigaZineに紹介記事が掲載される

    9月27日 警察官のネットパトロール中に,� Coinhiveについて説明しているはてなブログを発見。� 不正指令電磁的記録ではないかとの疑いを抱く。

  11月~12月 「Coinhive」などをキーワードにしてWebやTwitterを検索。� Coinhiveを利用している者をリストアップ。

2018年2月~ 被疑者に対する捜索差押スタート

43

44 of 86

時系列

2018年3月28日 被疑者の一人が略式起訴され,罰金を命じられる

    3月29日 納得できず,平野に相談メールを出す

  4月2日 略式に対して異議を申し立て正式裁判に移行

  6月9日 読売新聞でCoinhive関係の摘発が相次いでいるとの報道

    6月14日 警察庁が「仮想通貨を採掘するツール(マイニングツール)に� 関する注意喚起」を公表

44

45 of 86

時系列

2018年4月~ 正式裁判を開く前に,7回にわたり公判前整理手続� Webサイトはどのような仕組みなのか,JavaScriptとは何か,� 技術的な説明からおこなう

2019年1月9日 第1回公判期日

    1月15日 第2回公判期日 高木証人尋問

    1月17日 第3回公判期日 被告人質問

    2月18日 最終期日 求刑(罰金10万円)

    3月27日 無罪判決

45

46 of 86

目次

  • 構成要件の整理
  • コインハイブ事件の流れ
  • 公判での争点
  • 判決の問題点
  • 学会に対する期待

46

47 of 86

裁判における争点

  • コインハイブは不正指令電磁的記録にあたるのか?
    • 反意図性
    • 不正性
  • 仮にあたるのだとしても,実行供用目的や故意があると言えるか?

47

48 of 86

反意図性

48

49 of 86

反意図性/弁護人の主張

反意図性は認められない。

49

50 of 86

反意図性/弁護人の主張

サイト内にどんなスクリプトが設置されているか,閲覧者はあらかじめ知らない

JavaScript がWeb上で使用されるとき,個別的に許諾をとる文化はない

∵サンドボックスで一定の安全性が担保されている� ブラウザの設定で実行を拒否できる

→Webの閲覧者は,自分のブラウザでスクリプトが実行されることについて� 包括的に許諾していると言える

50

51 of 86

反意図性/検察官の主張

Coinhiveは閲覧者の意図に反するもの。

51

52 of 86

反意図性/検察官の主張

  • ウェブサイト閲覧中に,閲覧と無関係にマイニングをさせるというもので,一般に周知されていない演算を閲覧者のパーソナルコンピュータ等にさせるものであり,インターネットの利用に随伴するものとして一般に閲覧者が認識すべきものとは考えられない。�
  • 閲覧中,マイニングが行われていることに気づかないため,閲覧中のサイトを閉じたり,別のウェブサイトに移動するなどの手段を講じることができない。

52

53 of 86

不正性

53

54 of 86

不正性/検察官の主張

Coinhiveは不正な指令である。

54

55 of 86

不正性/検察官の主張

  • 反意図性が認められるものは,原則として不正なプログラムと言える
  • 例外的に「正当」なプログラムだけが処罰範囲から除外されるが,Coinhiveはそのような社会的許容性をもっているとは言えない
  • Coinhiveを実行すると,パーソナルコンピュータ等の中央処理装置の処理能力の低下,短命化,消費電力の上昇などの悪影響が生じる

55

56 of 86

不正性/弁護人の主張

不正な指令とは言えない。

56

57 of 86

不正性/弁護人の主張

  • 計算機の破壊やプライバシー流出など,権利侵害の危険を伴うものについてのみ「不正」とすべき。�
  • 「短命化」などは誤解。消費電力の上昇などは他のプログラムについても言えること。Coinhive固有の危険はない。

57

58 of 86

実行の用に供する目的

58

59 of 86

実行供用目的/検察官の主張

プログラムの機能を認識・認容していれば,「人の電子計算機における実行の用に供する目的」があったと言える。

59

60 of 86

実行供用目的/弁護人の主張

実行の用に供する目的があったというためには,プログラムが不正指令電磁的記録にあたることの認識が必要。本件では認められない。

60

61 of 86

実行供用目的/弁護人の主張

参議院附帯決議

「人の電子計算機における実行の用に供する目的」とは,「単に他人の電子計算機において電磁的記録を実行する目的ではなく,人が電子計算機を使用するに際してその意図に沿うべき動作をさせない電磁的記録であるなど当該電磁的記録が不正指令電磁的記録であることを認識認容しつつ実行する目的」 をいう。

61

62 of 86

まとめ/当事者の主張

62

検察官

弁護人

反意図性

一般に周知されていない演算

閲覧者は気づかない

Web閲覧者はJavaScriptの実行について包括的承諾がある

不正性

反意図性があれば,ごく一部の例外を除いて当然に認められる

権利侵害の危険が必要

実行供用目的

プログラムの機能を認識・認容していれば足る

不正指令電磁的記録であることの認識が必要

63 of 86

裁判所の判断

63

64 of 86

反意図性/裁判所の判断

→反意図性あり

64

65 of 86

反意図性/裁判所の判断

  • 一般的なユーザの間でコインハイブが広告表示等に代わる新たな収益化の方法として認知されていたと認めることはできない
  • ウェブサイトの体裁やサービス内容をみても,マイニングとは無関係
  • 閲覧者は自分の計算機がマイニングに利用されていることに気づかない

閲覧者がマイニングを認知・容認していたとみることはできない

65

66 of 86

不正性/裁判所の判断

→不正性なし

66

67 of 86

不正性/裁判所の判断

(枠組み)

あるプログラムによる指令が「不正な」ものであるかどうかは…

  • ユーザにとっての有益性や必要性の程度
  • ユーザへの影響や弊害の度合い
  • 当該プログラムに対する関係者の評価や動向

を総合的に考慮して判断する

67

68 of 86

不正性/裁判所の判断

(あてはめ)

  • ウェブサイトのサービスの質を維持・向上させるための資金源になり得るのであるから…閲覧者にとっては利益となる側面がある
  • マイニングが実行されると,消費電力の増加…等の影響が生じるが,その程度は広告表示プログラム等の場合と大きく変わることがない…上,その影響は閲覧中に限定される
  • 当時のユーザの評価をみると,賛否両論に分かれていた

→社会的に許容されていなかったと断定することはできない

68

69 of 86

実行供用目的/裁判所の判断

(なお念のために付言すると)

不正指令電磁的記録に当たることを認識認容しつつこれを実行する目的があったものと認定するには合理的な疑いが残るというべきである

→実行供用目的を否定

69

70 of 86

まとめ/裁判所の判断

70

検察官

弁護人

反意図性

一般に周知されていない演算

閲覧者は気づかない

Web閲覧者はJavaScriptの実行について包括的承諾がある

不正性

反意図性があれば,ごく一部の例外を除いて当然に認められる

権利侵害の危険が必要

実行供用目的

プログラムの機能を認識・認容していれば足る

不正指令電磁的記録であることの認識が必要

71 of 86

目次

  • 構成要件の整理
  • コインハイブ事件の流れ
  • 公判での争点
  • 判決の問題点
  • 学会に対する期待

71

72 of 86

反意図性

72

73 of 86

判断枠組み

「個別具体的な使用者の実際の認識を基準として判断するのではなく,当該プログラムの機能の内容や,機能に関する説明内容,想定される利用方法等を総合的に考慮して,その機能につき一般に認識すべきと考えられるところを基準として判断するのが相当である。」(立法担当者の説明どおりのライン)

73

74 of 86

JavaScript の特性について

「意図に反するかどうかは,プログラム言語一般の性質ではなく,個々のプログラムの機能に照らして判断すべきであり,本罪の成立範囲を不当に限定することにつながる弁護人の主張には賛同できない。」

74

75 of 86

考慮された事由

  • ユーザにおける認知度
  • ウェブサイトの体裁やサービス内容との関連性
  • ユーザが実行に気づくかどうか

75

76 of 86

考慮された事由

  • ユーザにおける認知度
  • ウェブサイトの体裁やサービス内容との関連性
  • ユーザが実行に気づくかどうか

→認知度が低く,サイトのサービス内容と関連性が低い演算を,ユーザに明示しない形で実行すると,反意図性が認められる。

→開発時に個別に検討することが必要

76

77 of 86

巻き添え範囲が広すぎるのでは?

  • ユーザに意識させずに実行させたいツール�……ヒートマップなど�
  • エイプリルフールやイースターエッグなど,�ユーザの意表をつくことに意味があるプログラム

77

78 of 86

不正性

78

79 of 86

条文趣旨の解釈

「「不正な」指令に限定することとされた趣旨は,電子計算機の使用者の「意図に反する動作をさせる」べき指令を与えるプログラムであれば,多くの場合,それだけで,その指令の内容を問わず,プログラムに対する社会の信頼を害するものとして,その保管等の行為に当罰性があるようにも考えられるものの,そのような指令を与えるプログラムの中には,社会的に許容し得るものが例外的に含まれることから,このようなプログラムを処罰対象から除外するためである。」

79

80 of 86

不正性の判断枠組み(再掲)

あるプログラムによる指令が「不正な」ものであるかどうかは…

  • ユーザにとっての有益性や必要性の程度
  • ユーザへの影響や弊害の度合い
  • 当該プログラムに対する関係者の評価や動向

を総合的に考慮して判断する

80

81 of 86

併せて考えると

反意図性が認められた時点で,不正性が認められやすい方向に傾く。

「不正でない」ことを証明するために,開発者は,ユーザにとっての有益性や弊害の少なさ,関係者から肯定的評価を受けていることについてロジックを用意しておかなければならない。

→非常に負担が大きい

81

82 of 86

控訴審でがんばりたい点

82

83 of 86

反意図性の枠組み

「あるプログラムが使用者の「意図に沿うべき動作をさせず,又はその意図に反する動作をさせる」…ものであるか否かが問題となる場合における,その「意図」についても,そのような信頼を害するものであるか否かという観点から規範的に判断されるべきであると考えられる」(大コンメ8.345)

→地裁判決では十分に判断されていないように見える

→JavaScript の特性を踏まえて,反意図性の枠組みを見直していきたい

83

84 of 86

目次

  • 構成要件の整理
  • コインハイブ事件の流れ
  • 公判での争点
  • 判決の問題点
  • 学会に対する期待

84

85 of 86

①立法に対する働きかけ

  • 「不正指令電磁的記録に関する罪」の運用に関する指針作り��
  • 法改正に向けての議論に参加

85

86 of 86

②司法に対する働きかけ

  • プログラムに関する鑑定,意見書などの周旋��
  • 専門家証人の派遣

86