スクリプトを介してLinuxディストリビューションを自己破壊(システムパーティションからすべてを消去する)に設定する方法


11

私は、ライセンスされたソフトウェアを使用するコースの促進を支援するものとします。ソフトウェアはいくらか高価で、限られた数の同時インストールしか許可しないため、Ubuntu(またはLinuxの他のフレーバー)がインストールされた暗号化された仮想ディスクに1つのインスタンスをインストールします。不要な著作権侵害が発生する可能性を減らすために、コースの最終日直後に実行する自己破壊スクリプトを(cronを使用して)スケジュールします。(または遅くとも、最終日以降の最初の起動時。)

私はフリーウェアとオープンソースプロジェクト(そして一般にクラウドソーシング)が好きなだけでなく、商用ソフトウェアと開発者が優れた製品を開発するために費やした時間と労力にも健全な敬意を持っています。血液、汗、涙の著作権侵害に意図せずに貢献したいと考えています。

Linuxマシンでこの自己破壊スクリプトを実装する方法についてのアイデアをいただければ幸いです。


2
これがなぜ投票されたのかはわかりません。それは正当な価値を持つ正当な質問です。
BinaryMisfit

いい質問です。ソフトウェア開発者を探してくれてありがとう。+1
ダルビット

これがあなたの目標を本当に前進させるかどうかはわかりません。彼らがソフトウェアを盗むことを計画しているなら、おそらく彼らはコースの間にVMのコピーをつかむだろう。彼らは彼らの余暇にそれをねじ込むことができるでしょう。彼らはいつでもライブCDからVMを起動して、あなたが何をしたのかを把握することができます。
マイケルコーネ

答えてくれたすべての人のおかげで、私は入力に感謝しています。:)
techtechmo

回答:


3

何度か述べたように、暗号化されたイメージを削除するだけで十分です。別のアプローチは、アプリケーションを独自のパーティションにインストールし、その後ddで消去することです。

dd if=/dev/zero of=/dev/TARGETPARTITION bs=1M

これにより、すべてがゼロで上書きされ、リカバリを超えてデータを削除できます。


明確にするために、スクリプトが実行されると、システムは(この場合は仮想)パーティションから自動的に消去され、キャンセルはありませんか?これは私がやろうとしていることのように聞こえます。:)たとえば、コマンドが実行されるのに数秒で仮想マシンの電源を切るように指示した場合はどうなりますか システムはアクセス可能かもしれませんが、理論的にはディスクの削除されていない部分を正しくマウントすることは可能でしょうか?おそらく、スクリプトの最初のステップは、最初にソフトウェアを削除してから、自己破壊スクリプトを実行することですか?
techtechmo

ユーザーが適切なアクセス許可を持つユーザーとしてログインし、何が起こっているかを知っている場合、理論的には、「dd」コマンドを殺すことができますが、多くの損害を与える前にはできません(パーティションテーブルたとえば、ディスクの前面近くにあります)。
マイケルコーネ

6

すべてを破壊するのは少しやり過ぎのようですが、プログラムを削除/アンインストールするだけです。

rm -rf /path/to/your/program/ 

または、プログラムが起動する前に連絡する必要がある通常のライセンスサーバーを実装する方法はありますか?


更新:未解決の質問として、ユーザーデータとプログラムを破壊する予定はありますか?または、ユーザーデータは別の場所に保存されますか?

そして多分、ユーザーは、あなたがすべてを破壊することを計画しているという何らかのナグウェア通知を受け取るべきです!何かのようなもの

-「このソフトウェアは、あなたがこれ以上お金を払わなければ、自滅します。残りX日です。」

ユーザーとして、これが起こることを告げることさえせずに私のコンピューターで何かを破壊した場合、私は本当に動揺します(したがって、少なくとも結果に影響を及ぼす可能性があります)。

お金を払っているすべての衣装があなたを憎むことになれば、あなたの会社にとってはちょっと悪いことです。


前述したように、ソフトウェアはコース専用に作成された仮想ドライブにあります。これは、特に参加者がソフトウェアを使用していくつかの実践的なトレーニングを行えるようにすることを目的とした、ユーザーファイルのない孤立した環境です。私が警戒したいことの1つは、誰かがその仮想ドライブをUSBドライブなどにコピーし、最終的に内部のソフトウェアを著作権侵害することです。したがって、そのようなことが起こる可能性を最小限に抑えるために、コースの直後にシステムを自己破壊するように意図的に設定します。あなたの懸念はもちろん有効です、共有してくれてありがとう。:)
techtechmo

ちなみに、彼らは使用するソフトウェアのライセンスを購入しているわけではありません。そして、私が世界のどこで悪名高い海賊行為をしているのかを考えると、最悪の事態を想定して、しかし最善を尽くして準備をしたいです。:)
techtechmo

2

少し古いが大丈夫。その設定によれば、私はむしろVMファイルシステムを単に暗号化し、セッション中(それらがネットワークに接続されていると仮定して)リモートでログインします。VMをコピーする場合、パスワードをブルートフォースにする必要がありますが、ユーザーができることはほとんどありません:)

つまり、マウントポイントを暗号化してもかまわない場合:注:この保護システムは、一部の国/州では明らかに違法ですか?(アメリカでもそうですが、あなたはイギリス出身ですか?):

暗号化されたパスワード付きマウントのセットアップ:

dd if=/dev/urandom of=/home/user/virtualfolder bs=16065b count=100  
modprobe loop  
modprobe cryptoloop  
modprobe aes  
losetup -e aes /dev/loop1 ./virtualfolder  
password: <enter your password here which you don't show to the users>  
mkreiserfs /dev/loop1  
mkdir /theprogram  
mount -o loop,encryption=aes,acl ./virtualdrive /theprogram  
password:<enter the same passy>

プログラムを/ theprogramにインストール/移動します

(/ theprogramに再度アクセスするたびにアクセスします):

取り付け

mount -o loop,encryption=aes,acl ./virtualdrive /theprogram  
password:<enter the same passy>

アンマウント

umount /theprogram  
losetup -d /dev/loop1  
rmmod aes  
rmmod cryptoloop  
rmmod loop 

完了したら、ソフトウェアフォルダをランダムバイトのファイルのように見せます。

また、VMセッション中に使用するユーザーアカウントに、suすべてをコピーする場合の権利がないことを確認することもできます。


0

セットアップがわからないのですが、ユーザーにオンラインを要求することができる場合は、別の戦術をとることができます。実行するたびにネットワーク接続を介してソフトウェアをロードしてみてください。これは実行可能なだけであり、個々のユーザーに何らかのIDを発行できるかどうかに依存します。VMにスタブがあれば、スタブはリモートサーバーを自動マウントし、そこからバイナリを実行します。彼らが少しの作業で回避できないことは何もありませんでしたが、少なくとも自動破壊を回避するよりも難しいでしょう。

または、リモートサーバーにキーで応答させ、暗号化されたバージョンのプログラムをディスク上に保持することもできます。これを回避することも難しくなりますが、一意のユーザーIDが必要になります(これは不可能な場合があります)。


いいアイデアですが、このようなことは、あなたが説明したシステムを実装するためのある程度の経験と快適さを必要とすると思います-残念ながら、私はその贅沢を持っていません。:)ソフトウェアのハンズオンは、私が促進する部屋で行われますが、肩越しに見続ける必要はありません。質問に対するあなたのコメントは、まさに私が予想していることです。たとえ彼らがVMのコピーを入手したとしても、次にそれを起動したときにVMはそれ自体をすべてきれいに消去するはずです。(もちろん、
全消去

問題は、VMが自分自身を破壊するのを見ると、USBスティックから別のコピーを取得し、ライブCDからVMを起動し、自分自身を殺すために何をするかを見つけるまで突っ走り始めることです。十分に動機付けられたユーザーがそれを回避できるという事実に満足している限り、あなたは黄金です。その後、すべてあなたがしなければならないが...各クラスの前にVMイメージを更新することである
マイケル・Kohne

インストール時にVMファイルシステムを暗号化します(うまくいけば、そうすることは私の最初の試みになるでしょう)。それが、泥棒を思いとどまらせるもう1つの手段です。私が言ったように、このトラブルはすべてやり過ぎだろう-平均的なユーザーは、ぶらぶらし続けるのが面倒だとは思わないかもしれない。しかし、とにかく最悪の事態を想定します。著作権侵害が当たり前です。使用するソフトウェアはWindowsネイティブです。LinuxでWineを介して動作するのは良いことです。正直なところ、そこからソフトウェアを海賊版にするのははるかに難しいので、私はむしろLinux上ですべてを準備します。再度、感謝します!
techtechmo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.