web-dev-qa-db-ja.com

ソフトウェアを著作権侵害からどのように保護できますか?

今日、海賊行為がとても簡単に見えるのはなぜですか?

私たちのすべての技術の進歩と、最も信じられないほどの驚異的なソフトウェアのエンジニアリングに費やされた数十億ドルを費やしても、「シリアル番号/アクティベーションキー」以外に海賊行為から保護する手段はまだないのです。 」 Windows 7やOffice、さらにはSnow Leopardの作成に多額の資金(おそらく数十億ドル)が投入されたと確信していますが、20分未満で無料で入手できます。おそらく最も簡単なすべてのアドビ製品に同じです。

ソフトウェアを海賊行為から保護するための、絶対確実でハッキング防止の方法はありますか?現実的でない場合、理論的には可能ですか?または、これらの企業がどのようなメカニズムを採用していても、ハッカーは常にその回避策を見つけることができますか?

80
Snowman

コードはデータです。コードが実行可能である場合、そのデータのコピーは保護されていないコードです。保護されていないコードはコピーできます。

著作権侵害対策チェックでコードをペペリングすると少し難しくなりますが、ハッカーはデバッガを使用してそれらを削除するだけです。 「check_license」の呼び出しの代わりに何もしないことを挿入することは非常に簡単です。

  • ハッキングしにくいプログラムは、次第に厄介なことを行います。
  • ただし、ベンダーは、使用する準備ができているソフトウェアを顧客に販売する必要があります。
  • 誰もがコンピュータに家に電話をかけることを許可しているわけではありません。
  • 機密事項に取り組んでいる一部の人々は、マシンをインターネットに接続することを拒否します。

現在の雇用主(航空宇宙ツール)で販売しているプログラムは、電話をかけませんこれまで。顧客は、プログラムが開始するたびに「アクティブ化」のために自宅に電話をかけることを容認しません。

最悪の場合、プログラムはVMネットワークなしで実行され、常に固定された日付になります。

したがって、一度は正規にインストールされた可能性がありますが、開発者側の努力によって、それがどのようになっていないかを伝えることはできません。

  • 汎用コンピュータにハードウェア「コピー防止」を追加する試みは失敗する運命にあります。
  • コピー防止機能のないハードウェアを販売している会社は、すべてのハードウェアを販売することになります。
  • DellやIntelのようなベンダーは、Palladiumのようなスパイハードウェアを徐々に導入しようとしますが、彼らは強く抵抗しています。
  • コンピュータが科学的かつリアルタイムで何かを実行しているときに、「海賊版コンテンツのチェック」を中断すると、障害が発生します。すべてのコンピューターにハードウェアDRMが搭載されている場合、特別な科学/リアルタイムコンピューターには搭載されていません。誤って誰もが特別な科学的/リアルタイムのものを買うでしょう。
  • ハードウェアDRMチェックでは、一部の種類のコンテンツで誤検知が発生します。

    • 最も単純なケース:解決。私はカメラアレイからクアッドHDビデオを録画します(今は机に座っています)。 Windows DRMはQuadHDであるため、私とデータの間を行き来します。

    • 署名の分析:ハードウェアDRMは小さく、データセットが比較的固定されています。また、CPUと同じデータバスを使用する必要があるため、断続的に速度が低下します。これはリアルタイムのものを台無しにします。

    • そのため、誤検知時にハードウェアDRMをよりスマートにするために、コンピュータは最終的に中断され、Webサービスを使用してチェックします。現在、私のサイエンスデータプロセッサは、ネットワークに接続されていないために失敗するか、データのストリーミングを停止します。

78
Tim Williscroft

最終的に大きな問題は、ほとんどのソフトウェアが潜在的な攻撃者にロックとキーの両方を渡し、それらを組み合わせる方法を理解しないことを望んでいることです。

onlyソフトウェアを保護する安全な方法は、それをユーザーに提供しない (SaaSなど)。たとえば、Googleドキュメントを「海賊版」できないことに気づくでしょう。結局のところ、何かを保護しようとしているのなら、彼らがあなたが与えるものについての完全な知識を彼らが持っていると想定しなければなりません。クライアントを信頼することはできません。これは、侵害からシステムを保護するのと同じくらい、海賊行為の防止にも当てはまります。

既存のソフトウェア配布モデルは、パッケージ全体をクライアントに提供し、ハードウェア上でそれを保護しようとすることに基づいているため、潜在的な攻撃者が制御します、配布モデルは「海賊版」ソフトウェアの概念と互換性がありません。

64
Anon.

ソフトウェアが今でも簡単に海賊版にされるのはなぜですか?

海賊行為が容易なソフトウェアを販売する方が収益性が高いです。

海賊版対策について決定するとき、企業は費用便益分析を行います。特定の一連の対策について、メリットがコストを上回らない場合、会社はそれを行いません。

コストには、対策を実装、文書化、サポート、および維持するための時間と労力が含まれます。また、本当に迷惑な場合は、売上の損失も含まれます。一般的に、2種類のメリットがあります。

  • プログラムを海賊行為したであろう人々が代わりにそれを買ったので、より大きな利益。
  • 決定を下す人々は、プログラムが海賊版になっていないことに満足しています。

これが簡単な例です:Microsoft Office。

現在、MSはすべてお金の問題であり、著作権侵害について幹部を満足させることではありません。しばらくの間、MSはOfficeの "家庭用および学生用"エディションを、ビジネス向けの "通常"エディションよりもずっと安い価格で販売してきました。数年前に購入しましたが、コピー防止機能はまったくありませんでした。そして、「海賊版防止」テクノロジーは、アプリケーションフォルダに格納されたプロダクトキーを入力することで構成されていました。しかし、同時に好きなだけ多くのコンピュータで実行することができ、それらはすべて正常に動作します。実際、Macでは、アプリケーションフォルダーをネットワークを介して、インストールを行ったことのない別のコンピューターにドラッグすることができました。プロダクトキーはアプリケーションと一緒に保存されていたため、うまく動作しました。

なぜそのような哀れな海賊版防止技術なのか? 2つの理由。

1つ目は、ホームユーザーがインストールをめちゃくちゃにするためのテクニカルサポートの追加コストは、それだけの価値がないためです。

2番目は非技術的な著作権侵害対策です。 MSには内部告発プログラムがあり、同じ「家庭と学生」オフィスのコピーを200枚インストールするなど、企業がMSソフトウェアを海賊版にしたことがわかっている場合は、電話をかけることができます。次に、MSが入ってきて会社を監査し、海賊版ソフトウェアが見つかった場合は、そのがらくたを訴えます-そしてあなたが賞金の大部分を受け取ります。

したがって、MSは海賊行為を防止するためにテクノロジーを使用する必要はありません。彼らは、冷たくて硬い現金を使う方がより有利であると感じています。

31
Bob Murphy

基本的な問題である私見では、ソフトウェアを海賊行為から保護する「フールプルーフおよびハッキングプルーフ」方法*のほとんどまたはすべてが、罪のない合法的なユーザーを苛立たせたり、追い払ったりすることさえあります。

例えば。アプリが1台のマシンにのみインストールされていることを確認すると、ユーザーがマシンのハードウェアを変更することが困難になる場合があります。ハードウェアドングルは、仕事用と家庭用のマシンで同じアプリを使用できないことを意味する場合があります。ソフトウェアの保護に厳密ではないが密接に関連しているDVDエリアコード、CSS、Sonyルートキットなどは言うまでもありません。

* @FrustratedWithFormsDesignerが指摘したように、実際には完璧ではありません。 100%の安全性はありません。侵入者が防御を破るのに十分なコストがかかるようにして、「多すぎる」ことがないようにしてください。そして、それはソフトウェアとデジタル情報の基本的な性質によるものであると私は信じています。誰かが特定の防御を破ることができれば、その破綻はほとんど常に何百万人もの人が複製できるということです。

29
Péter Török

ブルース・シュナイアーが言ったように 、デジタルファイルをコピーできないようにすることは、水を濡らさないようにすることのようなものです。彼は主に、コードよりもコンテンツ(映画など)に適用される「DRM」について話しますが、ファイルの内容のコピーを防止するという観点からは、ほとんど違いはありません-ファイルのコピーはファイルのコピーであり、ファイルのコピーです。

25
Jerry Coffin

ソフトウェアを海賊行為から保護する方法は1つだけ「だましとハックの証明」です。

フリーソフトウェア(あなたがそれを使って好きなことができるように、それを販売することさえできます。)

あなたは自由に与えられたものを盗むことはできません。確かに、それは恐竜の会社のソフトウェアモデルを台無しにするでしょうが、海賊行為はどこにも行きません。コピーできないもの、できれば無料で配ったものに付随するものを売る。たとえばあなたの助け。

17
Orbling

これは、4つの主な要因の組み合わせによって発生します。

基本的なレベルでは、コンピューターが行うことの多くは、データをコピーすることで機能します。たとえば、プログラムを実行するために、コンピュータはプログラムをハードドライブからメモリにコピーする必要があります。しかし、何かがメモリにコピーされると、メモリから別の場所に書き込むことができます。 「海賊行為からの保護」の基本的な前提は、正常にコピーできないソフトウェアを作成することであることを念頭に置いて、問題の大きさを確認し始めることができます。

第二に、この難しい問題の解決策は、合法的なユーザーと、ソフトウェアを合法的に取得せずにソフトウェアを使用したいユーザーの両方の利益に直接反するものです。これらのユーザーの一部は、コンパイルされたコードを分析するために必要な技術知識を持っています。今、あなたはあなたに対して積極的に働いている有能な敵です。

これは難しい問題であり、正しいソフトウェアを作成することも本質的に難しいため、ソリューションには少なくとも1つの悪用可能なバグがどこかに含まれている可能性があります。ほとんどのソフトウェアではそれは問題ではありませんが、ほとんどのソフトウェアは断固とした攻撃者による積極的な攻撃を受けていません。ソフトウェアの性質はそれ自体であり、エクスプロイト可能なバグが1つ見つかれば、それを使用してシステム全体を制御し、無効にすることができます。したがって、信頼性の高い保護を実現するには、非常に困難な問題の解決策がperfectでなければなりません。そうしないと、クラックされます。

4番目の要因は、世界的なインターネットです。それは、興味のある人に情報を送信する問題を簡単にします。これは、不完全なシステムが一度解読されると、どこでも解読されることを意味します。

これら4つの要素の組み合わせは、不完全なコピー防止システムが安全である可能性がないことを意味します。 (そして、完全なソフトウェアを最後に見たのはいつですか?)これを踏まえると、問題は「なぜソフトウェアが海賊版になりやすいのか」ではなく、「なぜ人々はなぜそれを阻止しようとしているのか」ということではありません。

13
Mason Wheeler

クラウドベースの背後にある見過ごされがちな大きな動機SaaSソリューションが収益源を確保しています。

これこそが、IPの収益化と保護の未来が本当にある場所だと思います。

ベンダーの制御の及ばない環境で実行されるオンプレミスソリューションの販売から焦点を移すことにより、最終的にソフトウェアの違法コピーに対するすべての戦略は失敗する運命にあります。資産を他の人に渡すときに資産を保護する方法はありません。保護は彼のマシンに適用する必要があるためです。

ソフトウェアをクラウドでホストし、サービスとして提供することで、違法コピーの基準を効果的に引き上げ、モンキービジネスのレベルに引き上げます。

9

あなたが探している答えは、多くの企業がもはやそのようにして海賊行為を本当に気にしていないということだと思います。誰もが無料で自分のものを手に入れたいとは思っていませんが、高度なコピー防止機能が壊れた、またはコンピュータを壊したすべての人を困らせることとサポートすることのトレードオフを見ると、いくつかの会社は気にかけているところから遠く離れていますが、結局のところ、物事はまだひび割れており、ユーザーは口の中で味が悪いままに去る傾向があります。

とにかくハッキングを防ぐ数人の人のために試して実装するのは、痛み(または顧客の潜在的な損失)に値しません。

一部の企業は、海賊ユーザーをリソースと見なしています。しばらく前に、Valveはそのようなコメントを付けてニュースに衝撃を与えました。Microsoftが何年にもわたってアジアでのすべての海賊版Windowsインストールの勝者側に出てこなかったとは言えません。

そこにいるマイクロソフトにとって、彼らはすべての販売を必要とする小さな男たちにライセンスの大きなブロックを売ろうとしていますが、顧客を失うわけにはいきません。 -に。

あなたは完璧な海賊版を作ることはできませんが、もうやる気になっている人はそれほど多くありません。

8
Bill

ソフトウェアに組み込むものは何でも、それを実行するマシンが理解できる必要があります。ソフトウェアの高度化に伴い、他のソフトウェアを理解するためのソフトウェアも高度化しています。したがって、そのソフトウェアがマシンによって理解可能である場合、それは海賊によって理解可能(および変更可能)です。

たとえば、原則として、実行可能ファイルに強力な暗号化を組み込んで、ほとんどのソフトウェアを読み取れないようにすることができます。この場合の問題は、エンドユーザーのマシンがそのコードを海賊版以上読み取ることができないことです。これを解決するには、ソフトウェアに復号化アルゴリズムと鍵の両方を含める必要があります。両方とも平文で、または少なくとも弱い暗号化の背後に隠します(平文で復号化することで)。

IIRC、最高の逆アセンブラーは、暗号化されたコードについて警告し、暗号化の背後に隠されているものをキャプチャして分析するのに役立ちます。逆アセンブラの作成者が悪いように思われる場合は、セキュリティ開発者が暗号化されたコードに隠れているウイルスやその他のマルウェアを調査するために、毎日これを必要としていることを考慮してください。

これにはおそらく2つの解決策しかありません。 1つは、自分のユーザーをロックアウトするクローズドプラットフォームです。 PlayStation 3が示すように、これは必ずしも保証ではありません。いずれにせよ、それを好まない、悪ではないユーザーが大勢います。

もう1つは、管理下にあるサーバーでソフトウェアを実行するためのものです。

7
Steve314

技術的に言えば、ソフトウェアの海賊版の概念さえ存在しなかったITの大部分が、概念的に設計された数千年前にソフトウェアおよびハードウェア環境で動作しているため、ソフトウェアは依然として海賊版である可能性があります。

これらの基盤は、下位互換性のために維持する必要があり、基盤への依存度がさらに高まります。

著作権侵害対策を念頭に置いてハードウェア/ソフトウェア環境をゼロから再設計する場合、大幅な改善を加えることができます。

自分で見て:

  • すべてのコンポーネントが完全に公開され、文字通り操作できるようになっている同じオープンオペレーティングシステム

  • あなたがそれに投げかけるどんなソフトウェアでも使う同じオープンコンピュータアーキテクチャ

  • ソフトウェア配布モデルは、まだユーザーに渡される暗号化されていないファイルに基づいています

まったく同じ問題がインターネットとその低いセキュリティ、多くの脆弱性、操作のオープン性、スパム、分散攻撃にも存在します。インターネットをやり直すことができれば、2回目ははるかにうまくいきます。残念ながら、互換性を維持するために必要なものに固執する必要があります。これは、存在するアプリケーションやサービスの大部分になります。

今のところ、ソフトウェアを海賊行為から保護する最善の方法は、ハードウェアレベルで変更を導入することです。

  • ハードウェアを閉じて、ブラックボックスに変えます。ユーザーがハードウェアとそのソフトウェアをいじることを不可能にします。ここでのアプローチは、おそらくチップレベルですべてを暗号化して、それらの外部インターフェイスが完全に暗号化されるようにすることです。その良い例は、メディアインターフェイスHDMIのHDCP暗号化です。メディアストリームはプレーヤーボックスを離れる前に暗号化され、ディスプレイユニット内で復号化されるため、傍受するオープンデータストリームはありません。

  • 流通経路を閉鎖する。認定されたハードウェアのみがデータストリームを解読できるように、すべての外部メディアとオンラインチャネルを完全に暗号化します。

両方を引き離すことは可能ですが、生態系全体が刑務所に変わります。ほとんどの場合、無料のハードウェア/ソフトウェアの並列/地下移動が発生して、並列エコシステムが作成されます。

5
user8685

私が推測する理由の1つは、まともなセキュリティを書く方法を知っているのと同じ人々がおそらくハッカー自身であることです。

また、海賊行為から身を守ることは非常に困難です。コンピュータはこの保護自体を実行する必要があるため、任意の時点(メモリ/実行/ネットワークトラフィック/ ...)で傍受される可能性があります。そこに難読化が入り、何が起こっているのか理解することを不可能にしようとしています。

シリアル番号とアクティベーションキーの威力は、少なくとも誰が著作権侵害を行っているかを確認し、この方法で追跡またはブロックすることができるという事実にあると思います。それが今日、オンラインサービスが多くなった理由の一つだと思います。 (スチーム、Windowsアップデートなど...)突然クラックするのがはるかに難しくなりますが、それでも可能です。

あなたが成功した製品を持っている場合、あなたはそれを解読しようとするより多くの人々を持っているので、それが海賊版にされる可能性はより大きくなります。

5
Steven Jeuris

自動化された著作権侵害は論理的に矛盾しています。

正当なユーザーはベンダーから信頼されています。

「自動化された」海賊行為は、信頼関係を自動化しようとします。

これはどのように機能しますか?どのようにしてany技術的手段が人を「信頼する」ことができるのでしょうか?

信頼は本質的に人間関係です。技術的なメカニズムは、信頼できると思われるがそうではない人々によって常に破壊される可能性があります。

さらに言えば、人々はいつも自分の信頼を置き忘れています。

5
S.Lott

その努力を考えると、ほぼ完璧なコピー防止機能がおそらく実現できますが、コストに見合う価値はありません。いくつかの注目すべきブログには 議論されている非常に優れている :具体的には、最適な違法コピー率の概念があります。

海賊版対策にはいくつかのコストがあります。それらを実装するための直接的なコストだけでなく、間接的なコストも含まれます。

海賊行為にはコストがかかりますが、それほど高くないことがよくあります。また、いくつかの利点もあるかもしれません。ユーザーベースの拡大に。あるコメント投稿者がコーディングホラーの投稿に書いているように、次のように書いています。 」

そのため、正当な販売が大幅に削減されないようにするために、著作権侵害対策の保護が重要です。しかし、特定のポイントを超えると、著作権侵害対策をより良くする経済的動機がありません。

すべての答えは技術的なもののようですが、技術的な問題ではなく、社会的なものです。

ソフトウェアはコピーが簡単で、書くのが難しい。コピーするのが簡単ではない場合、私たちは気にしないでしょう。ほとんどのプログラムは1回限りの書き込みに費やすだけで、小さなプログラムは実行できるように大きなプログラムに依存しています。私たちもプログラムをコピーするのが難しいようにすると、私たちは自分自身を競争上の不利な立場に置くことになります。はい、コピーを損なうことにより、短期的な利益を最大化できます。しかし、最終的には、コピーコスト、書き込みコスト、使用コストを最小限に抑えることができるユーザーに市場シェアを奪われます。

Free Softwareは、コピーにかかるこれらのコストの1つを最小限に抑え、他の2つの書き込みにかかるコストと使用にかかるコストを大幅に削減します。

コピーコスト

Windows 7とほぼ同じ時間と労力でUbuntu linuxをインストールできます[Windows 7では、ライセンスキーを追加する必要があるため、少し難しくなります]。

Windows 7の価格は100ポンドですが、Ubuntuの場合はダウンロードでき、6ポンドでマガジンストア(無料の雑誌を投入)で購入したり、2ポンドの通信販売をしたり、友達からCDを借りたりできます。

書き込みコスト

フリーソフトウェアは変更することができ、これはコストを削減します。最初から始める必要はありません。

使用コスト

Windows 7では、Webブラウザーを除いて、アプリケーションはありません。Ubuntuでは、想像できるすべてのアプリケーションを取得し、OSにインストールします。

Linuxではウイルススキャナーは必要ありません。

古いハードウェアでLinuxを実行できます。

フリーソフトウェアでは、Officeツールの互換性のないバージョンを作成することで、誰もが強制的にアップグレードする必要はありません。

4
ctrl-alt-delor

コンピュータがインターネットからソフトウェアをダウンロードしてすぐに実行できるほど類似している世界では、このコンピュータが実行可能かどうかを判断できるsomethingを特定することは非常に困難ですが、そのコンピュータはそうではありません。

最終的には、他の誰も持っていないものを持っているということになります。これは、購入したシリアル番号、ハードウェアドングル、または特定の場所で物理的なエラーが発生したDVDの場合があります。次に、ソフトウェアはその特定のものを探し、存在しない場合は実行を拒否します。シリアル番号については、ソフトウェアがシリアル番号が母船に受け入れ可能であることをソフトウェアが検証できるインターネット上の場所も必要です。

残念ながら、ハッカーはそのようなチェックを外科的に取り除くのが得意なので、コードを非常に複雑にし、変更を困難にして困難にする必要がありますが、十分な献身があれば、人間はそれを行うことができます。

そのため、ほとんどの安価なソフトウェア製品は、シリアル番号をインターネット上で母体として確認し、さらに企業の現金牛が従わなければならないライセンスポリシーを取得します。高価な製品は通常ドングル保護を使用しています。

3
user1249

保護されているソフトウェアにはさまざまな種類があります。

Windows 7を例にとると、PCアーキテクチャとPCプログラミングが非常によく知られているという理由だけで、答えが「いいえ」であることは明らかです。

しかし、PS3、PSP、iPhoneなどの他のハードウェアを検討すると、それはまったく異なります。主にメーカーがすべてを制御できるため、ソフトウェアだけではなく、ハードウェアで本物のソフトウェアのみを実行できるため、これが必要です。それらを打破するための優れたハッキン​​グスキル。

マイクロソフトロングホーンプロジェクトを昔から見てみる必要があります。当時、彼らはチップを実装してソフトウェアが本物かどうかを確認したかったのです。理論的には、ハッキングするのは非常に困難でしたが、非常に煩わしかったため、ハッキングはしませんでした。

2
jokoon