Torrents: Dapatkah saya melindungi perangkat lunak saya dengan mengirimkan byte yang salah?

15

Ini adalah topik yang menarik minat semua orang. Bagaimana saya bisa melindungi perangkat lunak saya terhadap pencurian, peretasan, dan rekayasa balik?

Saya berpikir: Lakukan yang terbaik untuk melindungi program untuk rekayasa terbalik. Lalu orang-orang akan memecahkannya dan menaburkannya dengan torrent . Kemudian saya mengunduh perangkat lunak saya sendiri yang retak dengan torrent dengan perangkat lunak torrent saya sendiri . Perangkat lunak torrent saya sendiri kemudian harus mengunggah data yang salah (byte). Tentu saja ia harus mengunggah byte kritis.

Jadi orang yang ingin mencuri perangkat lunak saya mengunduh byte salah saya. Hanya byte yang penting untuk memulai, menyimpan dan memuat data, dll ... Jadi, jika pencuri mengunduh dari saya (dan menaburnya nanti), pencuri tidak dapat melakukan apa pun dengan itu, karena rusak.

Apakah ide ini relevan? Mungkin, klien torrent yang baik memeriksa hash dari lebih banyak rekan untuk memeriksa apakah paket-paket (berisi byte-byte saya yang rusak) yang saya inginkan untuk seed benar atau tidak?

Martijn Courteaux
sumber
3
Saya sudah membaca RIAA telah melakukan ini untuk file musik.
26
Anda membuang-buang waktu, Anda tidak kehilangan uang dari pencuri, dengan definisi mereka tidak akan pernah membeli perangkat lunak Anda untuk memulai.
27
Membuang fakta bahwa itu tidak akan berhasil karena pemeriksaan CRC dll, saya menyarankan itu mungkin ide yang buruk untuk alasan lain. Orang-orang yang mencuri perangkat lunak itu mungkin tidak akan membayar untuk itu, tetapi jika tidak berhasil, mereka mungkin memberi tahu teman atau bos mereka bahwa perangkat lunak Anda berkualitas buruk sehingga mereka juga tidak membelinya.
ho1
9
Dalam kebanyakan kasus, salinan bajakan bukanlah penjualan yang hilang.
13
Apa pun yang Anda lakukan, pastikan Anda tidak mempersulit pelanggan yang membayar untuk menggunakan perangkat lunak Anda
user6863

Jawaban:

42

Aplikasi torrent mereka (para bajak laut) hanya akan membuang byte yang Anda seeding sebagai buruk karena pemeriksaan CRC. Kemudian Anda akan diblokir oleh IP tersebut karena menjadi pelanggar berulang.

graham.reeds
sumber
CRC apa yang digunakan bit torrent? Bisakah paket sampah dihasilkan yang memiliki CRC yang benar? Ada aplikasi untuk melakukan ini untuk MD5 dan saya yakin CRC sejati akan semudah itu.
deft_code
16
Itu bisa dihasilkan, secara teori ; namun, protokol BitTorrent menggunakan hashing SHA-1; lebih sulit untuk menemukan tabrakan hash (yang kita cari, di sini) di SHA-1 daripada di MD5. Secara praktis, saat ini tidak layak.
Piskvor
@Caspin Intinya, tidak. Butuh setidaknya satu minggu di bawah kondisi ideal, komputer yang sangat cepat (komputer super), dan tim kriptografer untuk memecahkan hash CRC untuk satu file. Semoga beruntung dengan itu.
Evan Plaice
9

P. Bisakah saya melindungi perangkat lunak saya dengan mengirimkan byte yang salah?
A. Tidak, bagaimanapun juga dapat diretas, terutama jika seseorang mendapatkan salinan yang sah.

Q. Bagaimana saya bisa melindungi perangkat lunak saya terhadap pencurian, peretasan, rekayasa terbalik?
A. Jual dengan harga yang wajar, ini akan merusak upaya peretasan.


sumber
Lihat plagiarismtoday.com/2010/05/26/… untuk poin 2. Bajak laut bajak laut. Perangkat lunak yang lebih baik tidak akan membantu Anda.
Paul Nathan
1
@ Paul: Ada banyak orang yang tidak membajak. Ada banyak orang yang menolak untuk membayar. Tetapi ada juga beberapa orang yang lebih bersedia membayar untuk sesuatu jika itu ditawarkan dengan harga lebih rendah daripada yang lebih tinggi. Mereka adalah orang-orang yang akan terpengaruh oleh harga yang lebih rendah. (Meskipun Anda tidak ingin harga terlalu rendah, saya kira.)
7

Saya sarankan untuk mendekati masalah dari ujung yang lain. Sematkan kode identifikasi unik ke dalam setiap salinan perangkat lunak yang Anda berikan kepada klien Anda. Jika seseorang melakukan seeding, Anda setidaknya dapat mengidentifikasi siapa yang melakukannya dan mengambil tindakan hukum.


sumber
5
Hanya jika mereka dapat menemukannya.
2
@Developer Art: Jika mereka memiliki akses ke beberapa salinan perangkat lunak, mereka mungkin dapat melakukan perbandingan biner untuk mencari tahu bagaimana sebenarnya salinan berbeda satu sama lain dan di mana mereka berbeda, jadi kecuali Anda mengatur cara untuk bagian-bagian dari pengidentifikasi untuk dikaburkan secara acak mungkin tidak sulit untuk mengetahuinya.
2
Itu tidak dilakukan dengan variabel tunggal. Anda dapat menyebarkan informasi ke seluruh modul aplikasi Anda, berpura-pura seolah-olah Anda benar-benar menggunakannya untuk beberapa tujuan. Ini agak seni bagaimana membuatnya tidak mengganggu mata yang mengintip. Mungkin tanyakan pertanyaan terpisah tentang teknik untuk mencapai itu. Akan menarik.
18
Anda dapat memeriksa berbagai bangunan untuk mengetahui apakah tanda tersebut dioptimalkan atau tidak. Tapi begitu juga para pengguna! Bahkan, tidak ada cracker profesional yang mengunggah barang tanpa terlebih dahulu mendapatkan beberapa salinan dan membandingkannya, karena mereka ingin melindungi sumbernya. Pada akhirnya, Anda bertarung melawan kincir angin; jauh lebih baik untuk menghabiskan upaya menulis perangkat lunak yang hebat, yang mendorong pengguna untuk membayar Anda, daripada menghentikan penyalinan, yang hanya mendorong mereka untuk berusaha lebih keras untuk tidak membayar.
2
Anda sedang berjuang di atas bukit. Apa pun skema enkripsi / kata sandi Anda, kemungkinan besar, organisasi cracker telah melihatnya dan tahu cara memecahkannya. Mereka memiliki pengalaman bertahun-tahun dan programmer yang jauh lebih baik daripada Anda. Maaf.
Evan Plaice
7

Apakah DRM berfungsi? Tidak. Apakah pengaturan BitTorrent / EDonkey2000 yang buruk berfungsi? Tidak. Apakah ada yang peduli tentang pembajakan aplikasi kecil Anda? Tidak. Tidak ada yang pernah mendengarnya.

Warren P
sumber
"Tidak ada yang pernah mendengarnya." Ini poin yang bagus ...
Jika seseorang bersedia membajaknya, maka itu layak dilindungi.
1
@ Ben313: frasa yang lebih baik adalah "Jika seseorang mau membelinya, maka itu layak dilindungi."
1
Kecuali jika Anda menulis sesuatu yang lebih baik daripada AutoCad, MS Word, dll, perangkat lunak Anda bahkan lebih tidak layak untuk dilindungi daripada orang lain (Microsoft, AutoDesk) yang memiliki 100 orang pintar yang bekerja untuk mereka, daripada yang Anda (pengembang tunggal) miliki, dan tetap saja mereka belum membuat DRM yang berfungsi.
Warren P
4

bittorent dan sebagian besar perangkat lunak P2P baik lainnya melindungi dirinya dari manipulasi semacam itu dengan menggunakan hash file, misalnya md5.

cody
sumber
1
Algoritma hashing adalah SHA-1, menurut Wikipedia: en.wikipedia.org/wiki/… - sedikit lebih aman daripada MD5
Piskvor
2

Ini topik yang diminati semua orang. Bagaimana saya bisa melindungi perangkat lunak saya terhadap pencurian, peretasan, dan rekayasa balik?

Satu-satunya cara (saya bisa memikirkan) untuk melakukannya adalah dengan menjalankan perangkat lunak sepenuhnya di server Anda, dan tidak memiliki kode yang berguna dalam aplikasi klien - karena jika Anda tidak bisa mendapatkannya, Anda tidak dapat (dengan mudah) memecahkannya. Dengan cara ini Anda akan memiliki kontrol atas akun dan Anda akan tahu siapa yang menggunakan aplikasi Anda. Pengguna tidak akan senang. Dan jika Anda hanya akan menjalankan kode terkait perlindungan salinan di server Anda, seseorang akan meretasnya dengan menulis emulator server ATAU mereka akan mengidentifikasi kode dan memotong perlindungan sepenuhnya. Seperti yang terjadi dengan skema perlindungan salinan Ubisoft baru.

Menjaga perangkat lunak di server tidak sepenuhnya anti peluru. Alih-alih memecahkan perangkat lunak, seseorang akan mulai menyerang server Anda untuk masuk dan mendapatkan perangkat lunak. Dan selalu ada lubang keamanan "rekayasa sosial". "simpan semuanya di server" akan bekerja paling baik jika perangkat lunak Anda tidak dapat dijalankan pada mesin normal (mis. itu membutuhkan komputer super atau komputer cluster). Contoh yang baik untuk hal ini adalah EVE Online - tidak seperti WOW dan Lineage tidak ada emulator server yang saya ketahui, karena memerlukan cluster komputer untuk menjalankan server.

Perangkat lunak torrent saya sendiri kemudian harus mengunggah data yang salah (byte). Tentu saja ia harus mengunggah byte kritis.

  1. Jika Anda akan mencoba "membajak" torrent yang ada, setiap klien waras akan melaporkan kesalahan CRC dan mengabaikan klien Anda. Semua perangkat lunak p2p menggunakan hash.
  2. Jika Anda mengunggah torrent "salah", pengguna lain akan melaporkan torrent Anda sebagai palsu, jadi tidak ada yang akan mengunduhnya.

pencuri

"Bajak Laut", karena itu disebut pelanggaran hak cipta.

SigTerm
sumber