意図的に不具合を仕込むことでHTMLやCSS、JavaScriptの無断流用を防ぐテクニック 137
ストーリー by hylom
DRM 部門より
DRM 部門より
昨今ではサイトのHTMLやCSS、JavaScriptなどを権利者に無断でコピーして使用するような業者があるという。そのため、勝手にコピーしてそのまま使用すると発生する不具合を仕込むことでこういった不正利用を防ぐというテクニックがQiitaで紹介されている(INTERNET Watch)。
紹介されている「不具合」は「ランダムで無限ループを起こす」というもの。これをソースコード上で複数の位置に分散して仕込んだり、独自に難読化したり、たとえばURLやmetaタグで指定したauthorの値をチェックして無限ループを発生させるといったトリガーを工夫するといった手法が提案されている。
また、記事のコメントでは「土日にのみ不具合を発生させる」「一定時間が経過したら不具合が発生」「一部だけの挙動がおかしくなる」といったアイデアが提案されている。
スラドも採用していますね。 (スコア:5, おもしろおかしい)
一部文章を変えて盗用されないようにしている。
Re:スラドも採用していますね。 (スコア:5, すばらしい洞察)
なぜか、この話題だけ誤字が無い
Re: (スコア:0)
記事を盗作したんだろ
Re:スラドも採用していますね。 (スコア:3)
電子透かし [wikipedia.org]って技術ですね。
#誤字脱字 typoだって 透かしかな
Re:スラドも採用していますね。 (スコア:1)
マジか
すかした野郎だぜ
Re:スラドも採用していますね。 (スコア:1)
スラドでもないけど、誤字や誤訳含んだ記事がまるごと転載されてるのはよく有りますね。
仕込みなのかナチュラルなのかは不明だけど。
カンニングがばれるとき (スコア:2)
地図データに架空の地名を入れておいて、同業他社の無断使用を立証したという話もありました。
>「一定時間が経過したら不具合が発生」
というのは、完成後にサポート契約を結ばせるテクニックとして使われることもあるような
Re:カンニングがばれるとき (スコア:3, おもしろおかしい)
>「一定時間が経過したら不具合が発生」
というのは、完成後にサポート契約を結ばせるテクニックとして使われることもあるような
ナチュラルにそれを仕込むゴッドハンドを持っているのですが
テクニックとして説明せよと言われると困っちゃいますね。
Re:カンニングがばれるとき (スコア:1)
正解を写してもばれないけど、同じような不正解が複数あるとカンニングがばれますね。
いや、まあ、だって、、、電子メールで提出してもらったレポートが全くおんなじところで寸分違わないミスをしている上に、メタデータを確認したら最終保存者とか全く一緒なんだもん。見落とす方が無理ゲー。
地図データに架空の地名を入れておいて、
誤字や誤訳含んだ記事がまるごと転載されてる (#3312908)
ゲーム脳な当方はこんなの [plala.or.jp]を思い出した。誤字もそうだけど、元著者によって新たに定義された単語もポイントですかね・・・
Re:カンニングがばれるとき (スコア:1)
ちゃんと引用すればいいんですよね。
「コピペでのレポート作成」を課題にする講義
https://srad.jp/story/15/02/17/0454245 [srad.jp]
Re:カンニングがばれるとき (スコア:2)
ありましたね。
ワープロ専用機ではなく、PCのワープロソフトだったか、日本語FEPでのパクリ事例だと記憶していますが、たしかにありました。
Oh!Xの記事で知った記憶があるので90年代前半の出来事だったでしょうか。
Re:カンニングがばれるとき (スコア:1)
> Oh!Xの記事で知った記憶があるので90年代前半の出来事だったでしょうか。
1980年代中盤ですね。記憶ベースの記事がありました。
https://mechaag.tumblr.com/post/116258060827/%E6%98%A5%E6%9C%9B%E8%BE%... [tumblr.com]
Re:カンニングがばれるとき (スコア:2)
Re:カンニングがばれるとき (スコア:4, 興味深い)
アメリカの「アグロー」っていう集落のことですね。
1)地図の著作権主張のために荒野にアグローという地名をでっち上げて記載
2)その地名に移住してきた人たちが「ここはアグローっていうのか」と店などの名前に使う
3)別の地図製作者が現地調査に来て「ここはアグローっていうんだな」と地図に記載
4)元の地図会社が「おまえらコピったろ」と訴訟。だが実在してしまった。
https://gigazine.net/news/20141024-agloe/ [gigazine.net]
逆玉の輿 (スコア:2)
罠だよなー (スコア:2)
こういうのやってしまうと、
将来自分で自分のコード流用しようとした時に罠張ってたの失念してて、
自分で張った罠に自分でハマる自信しかない。
そもそも、著作権なんて無方式で発生すんだから、
こんな面倒な罠張るなら、同じ仕組みで無断使用の報告を自分のところに飛ばすコードだけ仕込んどく方が断然効率的なんじゃないだろうか?
そうすれば、あほな連中は嬉々として使ってくれるだろうし、
あとは目につい連中を警察なり法廷なり好きな所にに突き出せば、
相手へのダメージは断然大きく出来るし、
あわよくば損害賠償という形で自分への見返りも発生するかもしれないというのに、
なんで好き好んでこんな非経済的な対策をしたいのか理解に苦しむ。
自分を含めて誰一人得をしないでしょ。
uxi
どうせなら、広告仕込もうぜ (スコア:1)
ただ不具合おこすだけなんて不毛。
すべてのリンクがたまにアフィIDつきリンク広告に入れ替わるように仕込んでおけば、どうぞおパクリくださいってなるんじゃないか?
しもべは投稿を求める →スッポン放送局がくいつく →バンブラの新作が発売される
Re:どうせなら、広告仕込もうぜ (スコア:1)
仮想通貨もマイニングしよう
いろいろ気持ち悪いな (スコア:1)
こういう本来の動作と関係ないところでゴチャゴチャやってソースが汚くなってデバッグも大変になっていくのは非常に気持ち悪い。
権利を主張したいならGPLにしたら?
システム上見られちゃ困る場合があるとしたら、いくら難読化しても見えるわけで、それはそもそも設計がダメだろう。
しかし、見えないようにする方法がないのね。おもしろい世の中になったな。
Re:いろいろ気持ち悪いな (スコア:1)
勝手にパクるやつにGPL主張しても
何の意味があるんですか?
Re:いろいろ気持ち悪いな (スコア:1)
GPLは、権利を主張するためのライセンスじゃないだろ。
とくに今回のような、ソースそのまま転用公開のケースだと、何の障害にもならない。
Re:いろいろ気持ち悪いな (スコア:1)
はい。GPLにしたらというのは撤回します。
ウィルス作成罪だろこれ (スコア:0)
自分のソフトウェアにこっそり仕込むんならまだしも、他人が実行できるように手法を公開するのは明らかに犯罪ですよね
Re:ウィルス作成罪だろこれ (スコア:2)
心情的にはセーフでも法的にはアウトって事例は結構あるのかも。
ソースは見つからなかったのですが、盗み目的で他人の家屋に侵入した窃盗犯が、その建物内に設置されていた防犯用のかなり「えげつない」トラップに捕まり大怪我をし、その後トラップ設置した家主に損害賠償請求訴訟を提起したら、訴えが認められた…というような事例があったような、ないような…
#もしかしたら「猫レンジ訴訟」レベルの都市伝説かもしれない
#仮に都市伝説でも刑事では窃盗罪でアウトでしね。
Re: (スコア:0)
いや?作成者の意図の通りに実行されているしそんなこたぁないが。
あなたの発言をもとに言えばバグでもなるしメモ帳ってタイトルの電卓でもなっちゃうよね
他人の著作物を不正利用する側に対しての防御策なのでそもそも正当な理由があるんですけど
もしかしてあなたはパクる側のサイトの方ですか?
Re: (スコア:0)
最終的に第三者がウィルスを完成させることを意図して不完全なウィルス作るのもウィルス作成・提供罪だよ
今回のはまさにそうだろ
Re: (スコア:0)
そもそも今回の意図的に仕込まれた不都合はウィルスなのか?
Re: (スコア:0)
ロジックボムではあるがウィルスとまで言えるかはどうなんでしょう。
Re: (スコア:0)
いいえ?
その理論でいくと
while(1){}
もウィルスになるんですけどそんなわけないじゃないですか。
Re: (スコア:0)
正当な理由と認められるかとに加えて作成と提供、保管の主体が誰になるか次第かな。
動作次第では不正利用素子のための正当な理由とみとめられるやもしれぬ。加えてソースコードの作成者とコピペした業者が仲良くウイルス作成罪で有罪になるやもしれぬ。
WebAssemblyでJSを暗号化出来る時代が来ないかなー。来ないだろうし来てもすぐ破られるんだろうなー。
今回のケースだと意図を持っているのはウェブサイトの閲覧者になるはず。
Re:ウィルス作成罪だろこれ (スコア:1)
> 動作次第では不正利用素子のための正当な理由とみとめられるやもしれぬ
ゴーストが(不正利用しろと)囁くわけですね。
Re: (スコア:0)
WinGrooveを思い出した。あれは事故だと言い張ってた気がするが
Re:ウィルス作成罪だろこれ (スコア:1)
PSO2「お、そうだな」
なお本当に不具合だった模様
Re: (スコア:0)
先日、ブロックチェーンのマイニングを行うスクリプトを仕込んでいるサイトがあるという記事が出ていたけど、ユーザーから見た時にそれとこれとどういう違いがあると思っているのか。
論外 (スコア:0)
文明国なら自力救済や私的制裁等許されてはならない。
Vocal Cancelの件を忘れたんだろうか。
ましてや流用して本人ではなく利用者のコンピューターに被害を与える事になるし、その犯人は流用した人ではなくそのコードを仕込んだ人間だ。
加えて著作物性が認められないなら著作権侵害でもない。
それはともかく単純な無限ループなら比較的簡単に見つかるかもしれないが、多少数学的な工夫をすれば停止するか判定できないような関数を使ってややこしくできそうなのはちょっと面白い。
要は停止問題だからどうしようもないね。
Re:論外 (スコア:1)
ちゃんとした環境で動かさない場合に
「損害を与える」ではなく「十分な便益を受けられない」程度であればいいのかしら?
while(1)でCPU食いつぶすのはNGだとしても、google.comに飛ばしちゃうくらいであればOK?
ライセンスキーを入れなきゃ使えないソフトも
「ちゃんとした環境じゃないと便益を受けられない」って性格のプロテクトやんね。
割れWindowsとか使ってると、使ってる途中でシャットダウン始まったりするらしいのだわ。
オフトピ(-1) (Was: Re:これはすごい) (スコア:1)
s/ブルートゥース/ブルートフォース(アタック)/
勤め人にも必要なテク (スコア:0)
こういうソース公開系だけでなく
会社勤めしてる労働者も『自衛のために』必要ですね
使い潰されてポイ捨てされた時、せめて道連れにできるように
昔はワープロ辞書とかで (スコア:0)
辞書に、盗用されたときに証拠とするためにわざと誤記を入れていたとか。
コードのプロテクトとしては不具合時々起きるのが
発見検証しづらくていやらしいですね。
しかしまあ、昔のコピープロテクトと一緒で非生産的ではありますな
Re:昔はワープロ辞書とかで (スコア:1)
地図でそれなかったっけ
こっそり存在しない地名を混ぜておくやつ
Re:昔はワープロ辞書とかで (スコア:1)
もう14年前だと…
https://internet.watch.impress.co.jp/cda/news/2003/09/25/545.html [impress.co.jp]
Re:昔はワープロ辞書とかで (スコア:1)
その存在しない地名を地図を買った人が信じ込んで使い始めた結果、実在の地名になってしまった事例 [wikipedia.org]もあったりする。
Re:昔はワープロ辞書とかで (スコア:1)
地図ではないけど、広辞苑が「芦屋」の項に「須磨」の内容を書いていたのも実は盗用避けだったりしたのだろうか。
広辞苑に半世紀にわたる誤記発覚、「芦屋」の項目に須磨の内容。 | Narinari.com http://www.narinari.com/Nd/2008018671.html [narinari.com]
Re: (スコア:0)
ぎれ ピカチュウ
コピープロテクト (スコア:0)
昔のPCソフトのコピープロテクトみたいですね。
ディスクをコピーして起動しても無限ループになったりして起動できないっていう。
Re:被害者 (スコア:1)
盗用しないで自分で実装していれば利用者は被害を被らないと思うんですけど。
盗用するとこんなことがあるかもしれないことを肝に銘ずる記事だと思います。
Re:不毛(※髪型の事ではない) (スコア:1)
確かに不毛な主張だな。
パンツ見えそうな女子高生のSiriを凝視して、「見られて困るなら見える形で公開するなっつーの」って言っても「お前に見せてる訳じゃねーよ!ハゲ!」って言われてみた方が悪者になるのと同じ事。
# 全然違う
Re:限りなく黒いよ (スコア:1)
紹介された発動時の挙動が「無限ループ」で、「JavaScriptで無限ループさせるとブラウザそのものがフリーズする場合がある」(提供するアプリの外に影響が出る)から、ウィルスっぽく見えるだけで、
発動したら「計算を間違える」「画面レイアウトが崩れる」「単に操作に反応しなくなる(無限ループではなく、イベントハンドラを殺すだけ)」とかいった、アプリそのものの動作がおかしくなるのであれば、
「土日だけ発現する」のも「開発環境では問題ない」のも「意図しない動作をすることを隠す」のも全然問題ないでしょ。
#技術デモとしては、画面背景にこっそりメーカーロゴが埋め込まれたりとか、クリックすると画面下に「これはデッドコピーです」ってメッセージが表示されたりとかだったら良かったのに…
Re:限りなく黒いよ (スコア:2)
> 無関係の利用者の電子計算機で意図に反する動作
「利用者」がもう曖昧なんだよなぁ
そんで意図って誰の意図なんですかね
今回の件でいうと
・元の作者
・盗作者
・盗作されたコードをブラウザ上で実行することになるエンドユーザ
元の作者の「動作Aを行うが、コピーしても動かない」と言う意図
盗作者の「動作Aをさせたい」と言う意図
エンドユーザの意図「動作Aになるんだろう」という意図
「意図」と動作が合わないのは盗作者、エンドユーザ
エンドユーザの「意図」のもとになったのは許諾を取ってない盗作者は現物の動作
エンドユーザは盗作者の作った(いつでも動くという誤解のある)仕様
間違った仕様をエンドユーザに提供するところは良いんだろうか
元作者は「コピーしたら動作保証しませんよ」とかいう当然のことを書いておけばいいだけなのか
んでこういうのがはやったとして、それでコピペサイトがコピペをやめない場合、
エンドユーザが「なんか最近まともに動かないサイトが多いよな」となる
それはこういうやり方を広めたことが理由かもしれないが、
じゃあそれが悪いことかと言うとちょっと違うんかなぁ
これがスマホが文鎮化するとかならまずい気がするので
結局程度問題に帰着してしまうのか
Re:限りなく黒いよ (スコア:2)
> エンドユーザの「意図」のもとになったのは許諾を取ってない盗作者は現物の動作
> エンドユーザは盗作者の作った(いつでも動くという誤解のある)仕様
ここが変になってた
> 盗作者の「意図」のもとになったのは現物の動作
> エンドユーザの「意図」のもとになったのは盗作者の作った(いつでも動くという誤解のある)仕様
です