カラクリスタ・ブログ

『輝かしい青春』なんて失かった人のブログ。
色々混ざってます

coinhive 事件の問題点について

Society Thinking

とりあえず、現時点 ( 2018-06-16 ) での僕の考えを書き出してみます。

なお、この話を書いている最初の方では主に 技術的な観点 からの問題点の指摘 に留めておくつもりだったんですが、 コレを書いている内に最後の方では ワリと自分の暗黒面が出てしまったので、まぁその辺りは 差し引いて読んで貰えると助かります

想定される論点

  • coinhive 自体は、不正な命令を行う ソフトウェア か? (要は coinhive 自体が ウィルス なのか?)
  • coinhive に限らず、閲覧者に事前の許諾なく閲覧者の コンピューターリソース を利用するのは違法か?
  • コンピューターの把握していない挙動すべてが不正な命令と言う、大胆な拡大解釈を行なってしまっても本当に良いのか?

それぞれの論点への考察

  • coinhive 自体が不正な命令を行うソフトウェア 、とは流石に言い切れないのではないか?
    • と言うのも、 coinhive は別に脆弱性を利用する訳でもなく暗号学的なハッシュ値計算などを行うだけでしょ
      • これは、もっと簡単に言えば、 自動的に計算しまくるソフトウェアは全部ウィルス 、と言っているに等しい
      • 上記は、 すべてのソフトウェアには計算が付随する が故に、 この世のすべてのソフトウェア=ウィルス となる
      • よって、 この命題は真と考える のは、 ちょっと無茶が過ぎる、と言えるかと思う
    • あと、 _ coinhive 程度の負荷で壊れるコンピューターが有る_ としたら、それは そのコンピューターが傷んでるだけでは?
      • まぁ、 _ モバイルで coinhive を動かされると困る_ 、と言うのはまだ分からんでもないけど、 壊れまではしない でしょ
      • と言うより、 電力と CPU を無駄に食うからウィルスだ! というのは、モバイル用アプリとかでも同じなの?
      • 実際、 _ Facebook の モバイルアプリとか、バッテリードレインしまくる、と聞いた事がある_ けど……
      • まさか、 これもウィルスとか言わないよねぇ。普通は。
      • それと、 **CPU電力 を使用する プログラム ]っていうのは、おおよそ この世すべてのプログラムが該当します
        • そのため、 CPU や電力を無駄に食うって言っても、それは程度問題なんでは?
        • そして、 それらの程度問題で違法か適法かが変わる んであれば、 誰もが怖くてソフトウェア提供しなくなります
        • だって、 何を持って違法かの基準が不安定 なんだもの、そんなもん、 そこまでのリスクは取れるかっつーの
  • coinhive に限らず、コンピューターリソースの事前利用には、明示的な許諾を! と言うのも 流石に無理が有る
    • と言うのも、 Windows とか macOS とか って、 明示的な許可なく動いているソフトウェアの固まり だよ?
    • そのため、 自分自身が明示的に動かしているソフトウェア以外動かさない 、なんて、 商業的 OS では無理です
      • まぁ、 この辺り Linux とか BSD 系の OSS な Distribution を使えば可能かもしれない けれども
    • 流石に、 不自由な OS は、その一切を日本では動作させてはならないなんて言わないし言えないでしょうよ
    • あと、 コンピューターの一番低レベルなレイヤーで動くの BIOS とか UEFI とかも、明示的な許諾なく動いているのでは?
      • そして、もっと言うと、 家電製品のコントロールする組み込みのプログラムも許諾とかと取ってない よね
      • そして、 電子回路もプログラムの一部と見做す と、 誰も電化製品を提供出来なくなるのでは?
      • これは拡大解釈し切った例 だけど、 ここまで拡大解釈が可能な法 って、ちょっと出来としてはイマイチでは?
      • プログラムを動かす際に許諾画面を出すという動作をさせるのもプログラム な訳で、 最初の立ち上げどうしろと
  • ぶっちゃけ、 すべてのプログラムの実行に事前の許諾を得るべし 、っていうの、 非現実的ですよ ね?
    • っていうか、 すべてのプログラムの実行に許諾が必要 で、 実行のステップ事に許諾取ってた ら、 不便極まりないよ?
    • これらは、 ハードウェアが付随するソフトウェア なら、 電源入れる=許諾する 、という事にすれば良いかもだけど……
      • 炊飯器だとかの単一機能に特化したデバイスなら未だしも汎用的な機器では現実的ではないよね……
    • と言うか、 Web サービス とか、 クライアントデバイスのリソース使わずに事前許諾を取るのは無理 です
      • 何故か、と言えば、 Web サービスとかってネットワークの先に有る から、 先に許諾を得てから表示は無理
      • これは、 電話を掛けるに相手の許可を取ってから掛けろ。但し電話のみを使ってだ 。と言われてるに等しい
      • まぁ、 普通に考えて上記は無理難題ですよね特に初対面だったりすると
      • 電話しか連絡手段が無い のに、 電話を掛けるには相手の許可を得るべし って どうしろと?
      • あと、 それ単体では違法性がない のに、 それらを許諾なく動かしたらアウト(=違法) とか どう考えてもおかしいのでは?
      • この理論が真であるならば、 利用者への不意打ち Windows Update + 再起動 も、 違法となってしまう のでは?
      • っていうか不意打ちアップデート + 再起動って、 場合によってはデータが消えたり飛んだりするよね?
      • と言うことは、 Windows Update は不正な命令と見做せるし、違法性を却下出来ないのでは?
      • そして流石に、 システムのアップデートすら、違法性が却下できない 、というのは 法運用としてはどうなの

coinhive 特有の論点について

  • そもそもの話、 XMR ( Monero ) が金銭的価値が有る、というの自体、ただの幻想では?
    • XMR に限らず、_ 仮想通貨">[CryptoCurrency]] 自体、実態としてはただの面倒なポイントシステムでしかない_
    • で、そこへ皆が『 これには価値がある(と言うことしよう) 』と言って 金銭をやり取りをしている に過ぎない
    • なので、 それを警察当局が積極的に追認するのはどうなの? と言う視点もある
      • と言うか、規制するのであれば、CryptoCurrency 自体を取り締ったら良いんじゃね? とも思う
      • ただの面倒なポイントシステム換金可能である事を問題視する なら、そこを抑えるべきでは?
      • とは言え、この辺りの管轄は、なんと言うか 金融庁 の管轄である様な気もする
  • 今回の事件、 面倒なポイントシステムでポイントが無断で発生する仕組みを組み込んだら逮捕された 、という話になる
    • なので そう考えると、かなり微妙と言うか、ヘンな話になる 、と思う
    • つーか、 勝手なポイント発生システム仕込んでた ら、 ウィルスになる ってどう言う了見なんだろ
    • この視点から考える と、今回の逮捕の件は、まったくもって理解不能である
  • 脆弱性を利用するなどの悪質なコードが含まれてもいない coinhive の利用が違法 なら、 事実上 Web 業界全滅 じゃね?
    • 特に広告 は、 利用者に同意なく計算リソースを使って広告を表示 していて、 それを収益化している 、という点は 同じ
    • また、 悪意ある広告や、悪意ある広告表示 は、 社会的に容認されていない利用 なんだから、 それもウィルス なんでは?
      • 事実、 昔はブラクラに繋がる広告 とかあったし、あるいは、 いつまで経っても消えない広告 とか未だにある
      • なんで、 そういう悪質なヤツを取り締まらなくても良いの? って話にもなってくる
    • あと、 スクリプト自体に悪意が無くとも、その利用が違法となる のであれば、 Google Analytics とかどうなるの?
      • Google Analytics 自体、 大抵のページでは勝手に動いていて 、かつ 情報をGoogleに送信している んだけど
    • それとアレ、ぶっちゃけやり方によっては キーロガーとして動作できるよ?
      • よっぽどの事が無い限りそんな事には成らない 、と思ってるかもしれないけど、そんな都合の良い話はない
      • 事実、 どのキーボードショートカットが一番利用されているか 、とか調べる場合とか そうなってくる
    • スクリプト自体や設置者に悪意が無く とも、 許諾を経ないスクリプト利用が違法となる と、リッチなWeb は絶滅する
      • なぜか、と言えば、それは リッチな Web サービスは、スクリプトを利用して実装されている から
      • また、 事前許諾を取ろうにも、スクリプト実行の許諾を得る画面を出すためにはスクリプトの実行が必要となる
      • そのため、最初のスクリプト実行が封じられてしまい、最初の立ち上げすら出来なくなる
      • これは _ブラウザ側で JavaScript の実行を許可制にしていたりすると、同じ事にはなるけれども
    • あと、 Web を修飾する CSS でも場合によっては悪意を仕込めたりする から、 これも封印する必要があるのでは?
      • そのため、 悪意のないスクリプト実行すら違法 となると、 日本で許諾される Web は プレーンな HTML だけ となる
      • 流石にそれは 有り得ない んだけど、 coinhive に対してだけは例外扱いされている から 不思議

以上。あと雑論

  • 警察当局は、ウィルス関連罪の適用を、粗雑な理論で運用するのを止めてください としか言えない
    • それをされると、 健全な Web の利用すら破綻します
    • 特に、 法でのウィルスの定義がゆるふわになっている以上無限に拡大解釈されると、本当に誰も得しません
    • そして 無限に拡大解釈出来るよ、と言ってくる人間は必ず出る ので、 それに乗ると、日本だけ Web が崩壊します
    • また、 ウィルスの定義の無限な拡大解釈 は、 日本ではプログラミング自体が違法性を問われる事態になり得ます
    • そうなってしまったとき、 誰が原発などのインフラ設備のプログラムを保守する事が出来るんですか?
    • あと、 本気でウィルスの解釈を無限に広げたい んであれば、それは IT 文明の全否定に相当すると思います
      • 日本の文明レベル を、明治維新以前に戻したい_** のであれば、別にやってもかまいませんが……
      • でも、それって今の国際情勢でやると、ただの発展途上国化ですよね
      • まぁ、今の日本って、 国家自体が斜陽国家 なので、 それがお似合いなのかも しれませんけれども
      • もっとも本気でそんな事をしてたら、 我々日本人はただの野蛮な生き物だったと証明される だけですね
      • ちなみに僕自身、日本人とかそれ以前に 人類なぞ皆野蛮な生き物だと、割と本気で考えてます けども
      • まぁ、 何時の時代 だって、 他人の偉業を台無しにするのはすべて他の人間 ですからね
      • 正義の対偶は別の正義 だと考えるが故に、 この世に正義はすべて悪と等価 だ、と本気で思ってるし
      • なんで、僕としては、人道への転生はもとより、輪廻転生は御免乞うむる、と本気で考えている
        • 本当、 人類と人類であるコト とは マジで距離を置きたい……

追記(2018-06-18)

そう言えば、もし仮に、

coinhiveが違法ウィルス扱いが妥当

という 確定判決が出た とするならば、

  • Google Analytics などのWeb 等の 情報解析ソトウェア
    • スパイウェア という不正なソフトウェア
  • Google Adsense などのWeb 上のすべての広告
    • アドウェア という不正なソフトウェア

と、解釈出来る様になるので、 誰かがウィルス作成とかの罪で Google等 を刑事告発を行い、 その主張を押し通せば日本のインターネットを根刮ぎ破壊できる よなぁ、とか思いました。

これって、こう、 ディストピア 構築に貢献出来る みたいな意味で 素敵ですね 。はい。