Bagaimana perangkat lunak dapat dilindungi dari pembajakan?


77

Mengapa hari ini begitu mudah dibajak?

Tampaknya agak sulit untuk percaya bahwa dengan semua kemajuan teknologi kami dan miliaran dolar yang dihabiskan untuk rekayasa perangkat lunak yang paling tidak dapat dipercaya dan mengejutkan, kami masih tidak memiliki cara lain untuk melindungi terhadap pembajakan daripada "nomor seri / kunci aktivasi ". Saya yakin banyak uang, bahkan miliaran, digunakan untuk membuat Windows 7 atau Office dan bahkan Snow Leopard, namun saya bisa mendapatkannya secara gratis dalam waktu kurang dari 20 menit. Sama untuk semua produk Adobe, yang mungkin paling mudah.

Adakah metode yang bisa digunakan untuk melindungi perangkat lunak Anda dari pembajakan? Jika tidak realistis, bagaimana mungkin secara teoritis? Atau tidak peduli mekanisme apa yang digunakan oleh perusahaan-perusahaan ini, bisakah hacker selalu menemukan jalan keluarnya?


5
Sebenarnya, beberapa perusahaan mencoba metode anti-pembajakan yang jauh lebih canggih (mis. Memerlukan koneksi ke internet, memeriksa bahwa satu salinan hanya berjalan pada satu perangkat keras, kunci DNA , dll.). Tapi mereka masih retak.

76
Ada solusi yang mudah: berikan dukungan berkualitas tinggi untuk pengguna yang sah. Terlebih lagi, jangan memperlakukan pengguna yang tidak membayar sebagai penjahat, tetapi sebagai pasar potensial Anda. Tentu saja ini membutuhkan uang tetapi penghematan dalam biaya hukum dan biaya yang dibayarkan untuk menyalin pabrik-pabrik lumpur akan melunakkan pukulan itu.
biziclop

26
Tidak ada solusi teknologi yang baik untuk masalah perilaku.
Pekerjaan

16
Kegigihan - memberi manusia ikan, dia akan makan ikan; katakan padanya dia tidak bisa memiliki ikan, mengharapkan pertengkaran.
Orbling

7
@Job: ... Tidak. Ada semakin banyak bukti yang menunjukkan bahwa "pembajakan" (istilah yang sangat buruk untuk pelanggaran) memiliki manfaat ekonomi besar bagi pembuat konten , dan dengan demikian menguntungkan publik. Perbandingan Anda akan jauh lebih akurat ketika membahas "manfaat" DRM.
greyfade

Jawaban:


77

Kode adalah data. Ketika kode dapat dijalankan, salinan data itu adalah kode yang tidak dilindungi. Kode yang tidak dilindungi dapat disalin.

Membumbui kode dengan pemeriksaan anti-pembajakan membuatnya sedikit lebih sulit, tetapi peretas hanya akan menggunakan debugger dan menghapusnya. Memasukkan no-ops alih-alih panggilan ke "check_license" cukup mudah.

  • Program yang sulit diretas melakukan hal-hal yang semakin menjengkelkan.
  • Tetapi vendor harus menjual perangkat lunak pelanggan yang siap mereka gunakan.
  • Tidak semua orang mengizinkan komputer ke telepon rumah.
  • Beberapa orang yang mengerjakan hal-hal sensitif menolak untuk menghubungkan mesin ke internet.

Program yang saya jual di perusahaan saya saat ini (alat luar angkasa) tidak pernah menelepon ke rumah . Pelanggan tidak akan mentolerir menelepon rumah untuk "aktivasi" setiap kali program dimulai.

Kasus terburuk, program ini berjalan di VM tanpa jaringan, di mana selalu tanggal yang pasti.

Jadi itu mungkin telah diinstal secara sah satu kali, tetapi tidak ada upaya dari pihak pengembang yang dapat mengatakan bahwa itu tidak seperti itu.

  • Upaya untuk menambahkan "pencegahan salinan" perangkat keras ke komputer tujuan umum akan menemui kegagalan.
  • Apa pun perusahaan yang menjual perangkat keras tanpa pencegahan salinan, akhirnya menjual semua perangkat keras tersebut.
  • Vendor seperti Dell dan Intel secara progresif mencoba memperkenalkan perangkat keras mata-mata seperti Palladium, tetapi mereka sangat ditentang.
  • Ketika komputer melakukan sesuatu yang ilmiah, waktu nyata, gangguan apa pun untuk "memeriksa konten bajakan" akan menyebabkan kegagalan. Jika semua komputer memiliki DRM perangkat keras, yang khusus ilmiah / realtime harus tidak memilikinya. Secara tidak sengaja setiap orang akan membeli yang ilmiah / realtime khusus.
  • Pemeriksaan DRM perangkat keras akan memiliki kesalahan positif pada beberapa jenis konten.

    • Kasus paling sederhana: resolusi. Saya merekam video Quad HD dari susunan kamera saya (duduk di meja saya sekarang). Windows DRM mendapatkan antara saya dan data karena QuadHD.

    • Analisis tanda tangan: Perangkat Keras DRM kecil dan memiliki kumpulan data yang relatif tetap. Itu juga harus menggunakan bus data yang sama seperti CPU sehingga memperlambat segalanya sebentar-sebentar. Ini menghancurkan apa pun yang realtime.

    • Jadi, untuk membuat DRM Perangkat Keras lebih pintar selama false positive, komputer Anda pada akhirnya akan terganggu untuk pergi dan memeriksa menggunakan layanan web. Sekarang pemroses data sains saya gagal karena tidak terhubung ke jaringan, atau berhenti mengalirkan data.


3
Sehubungan dengan poin pertama Anda, bagaimana jika komputer Anda bukan orang yang menjalankan kode? Mungkin komputer host di suatu tempat? Yakin sekarang itu tampaknya mustahil, tetapi apakah itu secara teoritis menjadi solusi? (Apakah ini cloud computing?)
Snowman

@mohabitar: Ini masalah orang. Pembajakan adalah tentang kepercayaan. Tidak ada komputer yang bisa mempercayai seseorang. Hanya orang yang bisa mempercayai orang.
S.Lott

2
@mohabitar: Cloud computing pasti membatasi pembajakan, karena tidak ada kode sumber yang tersedia untuk disalin (kecuali jika ada pelanggaran keamanan jaringan). Namun, (a) banyak tugas yang sama sekali tidak cocok untuk cloud dan (b) bahkan lebih banyak tugas dilakukan lebih baik di desktop (sehingga aplikasi desktop menang atas rekan-rekan cloud mereka).
dbkk

@nohabitar: Maksud Anda seperti yang saya sarankan di sini ?
Ben Voigt

1
@ Ben Voight Saya sudah mencoba memperluas deskripsi saya tentang mode kegagalan yang diperkenalkan ini. Contoh: Katakanlah saya mengalirkan data dari instrumen sains ke hard drive saya. Ada perangkat keras DRM di controller hard drive saya. Saya mengalirkan data pada kecepatan tulis maksimum, dan sirkuit DRM mendeteksi apa yang dianggapnya sebagai tanda tangan DRM dalam aliran data sains. Sekarang itu menghentikan saya. Entah untuk mendapatkan verifikasi online, atau hanya menghentikan saya. Ow Ow Ow. Atau lebih buruk lagi memanggil MPAA untuk menuntut saya untuk streaming yang tampak seperti film dalam persepsi chip anti-pembajakan senilai $ 5.
Tim Williscroft

63

Pada akhirnya masalah besar adalah bahwa sebagian besar perangkat lunak melibatkan menyerahkan kunci dan kunci ke penyerang potensial dan berharap mereka tidak mencari cara untuk menyatukannya.

Satu- satunya metode yang aman untuk melindungi perangkat lunak tidak memberikannya kepada pengguna (misalnya SaaS). Anda akan melihat bahwa Anda tidak dapat "membajak" Google Documents, misalnya. Pada akhirnya, jika Anda mencoba mengamankan sesuatu, Anda harus menganggap mereka memiliki pengetahuan penuh tentang apa pun yang Anda berikan kepada mereka. Anda tidak bisa mempercayai klien. Ini berlaku untuk mencegah pembajakan seperti halnya melindungi sistem dari kompromi.

Karena model distribusi perangkat lunak yang ada didasarkan sekitar memberikan klien seluruh paket dan kemudian berusaha melindunginya pada perangkat keras kontrol penyerang potensial , model distribusi tidak kompatibel dengan konsep perangkat lunak "tidak dapat diprediksi".


Semua berpikir ada beberapa jawaban bagus untuk pertanyaan ini, dan mereka cukup terwakili di sini jika Anda membaca semua jawaban, menurut saya jawaban ini dan jawaban lain yang menyebutkan SaaS, berisi solusi praktis. Mungkin salah untuk mencoba (jawaban OSS), mungkin secara teori lebih baik untuk meyakinkan pengguna, tetapi ini adalah yang digunakan industri saat ini.
Encaitar

29

Mengapa perangkat lunak itu masih mudah dibajak hari ini?

Lebih menguntungkan menjual perangkat lunak yang mudah dibajak.

Ketika memutuskan tentang langkah-langkah anti-pembajakan, perusahaan melakukan analisis biaya-manfaat. Untuk serangkaian tindakan tertentu, jika manfaatnya tidak melebihi biaya, perusahaan tidak melakukannya.

Biaya termasuk waktu dan upaya untuk mengimplementasikan, mendokumentasikan, mendukung dan mempertahankan langkah-langkah, dan mungkin kerugian penjualan jika benar-benar mengganggu. Secara umum, ada dua jenis manfaat:

  • Keuntungan yang lebih besar karena orang-orang yang akan membajak program malah membelinya ..
  • Orang-orang yang membuat keputusan senang bahwa program ini tidak dibajak.

Berikut ini contoh sederhana: Microsoft Office.

Sekarang, MS adalah tentang uang, dan tidak begitu banyak tentang membuat eksekutif senang tentang pembajakan. Untuk beberapa waktu, MS telah menjual Office edisi "Home and Student" dengan cara yang lebih murah daripada edisi "normal" untuk bisnis. Saya membeli ini beberapa tahun yang lalu, dan sama sekali tidak memiliki perlindungan salinan! Dan teknologi "anti-pembajakan" terdiri dari memasukkan kunci produk yang kemudian disimpan dalam folder aplikasi. Tapi Anda bisa menjalankannya di banyak komputer yang Anda inginkan secara bersamaan, dan semuanya akan berjalan dengan baik! Bahkan, di Mac, Anda bisa menyeret folder aplikasi melintasi jaringan ke komputer lain di mana Anda belum pernah melakukan instalasi, dan karena kunci produk disimpan dengan aplikasi, itu berjalan dengan baik.

Mengapa teknologi anti-pembajakan yang menyedihkan seperti itu? Dua alasan.

Yang pertama adalah karena biaya tambahan dukungan teknis untuk pengguna rumahan yang mengacaukan instalasi mereka tidak sepadan.

Yang kedua adalah tindakan anti-pembajakan non-teknis . MS memiliki program whistleblower di mana jika Anda tahu perusahaan telah membajak perangkat lunak MS - seperti memasang 200 salinan Kantor "Rumah dan Mahasiswa" yang sama - Anda dapat menelepon mereka. Kemudian MS masuk dan mengaudit perusahaan, dan jika menemukan perangkat lunak bajakan, gugatlah mereka - dan Anda mendapatkan kemenangan besar.

Jadi MS tidak harus menggunakan teknologi untuk mencegah pembajakan. Mereka merasa lebih menguntungkan jika hanya menggunakan uang tunai yang dingin dan keras.


28

IMHO masalah mendasar adalah bahwa sebagian besar atau semua metode "pembuktian dan peretas" untuk melindungi perangkat lunak terhadap pembajakan juga mengganggu atau bahkan mengusir pengguna yang tidak bersalah dan legal.

Misalnya memeriksa bahwa aplikasi diinstal hanya pada satu mesin dapat menyulitkan pengguna untuk mengubah perangkat keras di mesin mereka. Dongle perangkat keras mungkin berarti Anda tidak dapat menggunakan aplikasi yang sama pada pekerjaan dan mesin di rumah Anda. Belum lagi kode area DVD, CSS, Sony rootkit et al., Yang tidak semata-mata untuk perlindungan perangkat lunak, tetapi terkait erat.

* yang, seperti dicatat oleh @FrustratedWithFormsDesigner, tidak pernah sempurna dalam praktik; tidak ada keamanan 100%, Anda hanya bisa mencoba membuatnya cukup mahal bagi penyusup untuk menghancurkan pertahanan sehingga tidak akan ada "terlalu banyak" dari mereka. Dan saya percaya itu karena sifat dasar dari perangkat lunak dan informasi digital, bahwa begitu seseorang berhasil memecahkan pertahanan tertentu, istirahat hampir selalu dapat direplikasi oleh jutaan orang secara sepele.


2
Dan bahkan itu mungkin bisa diretas, pada akhirnya.
FrustratedWithFormsDesigner

2
Amin menjadi @Frustrated. Hukum dasar alam semesta adalah "kehidupan DAN rintangan -> hambatan akhirnya diatasi" ATAU kehidupan berakhir.

2
Mereka dapat (dongle): Cubase menggunakan satu. Peretasan adalah pengandar perangkat yang memuat perangkat USB virtual yang memberi tahu perangkat lunak apa yang ingin didengarnya.
James Love

1
@FrustratedWithFormsDesigner, poin bagus, terima kasih telah menyebutkan. Saya memperluas jawaban saya untuk menguraikan ini sedikit lebih jauh.
Péter Török

Lebih kuat lagi, setiap tindakan anti pembajakan teknologi akan berdampak negatif pada beberapa pengguna. Jadi pertanyaannya adalah seberapa besar Anda ingin menghukum pelanggan yang membayar Anda untuk melukai yang belum dibayar. Ketika kelengkapan Anda mengatakan "tidak banyak sama sekali" Anda tidak punya banyak pilihan. Dan ketika itu berhasil, sering menyebalkan bagi beberapa pengguna. Ambil Steam - seperti banyak orang, saya memiliki tepat satu permainan Steam, dan saya tidak akan pernah membeli yang lain. Sebagai gantinya, saya akan menunggu sampai versi de-Steamed yang retak tersedia karena pengalaman Steam sangat mengerikan.

25

Seperti yang dikatakan Bruce Schneier , mencoba membuat file digital tidak dapat disalin adalah seperti mencoba membuat air tidak basah. Dia berbicara terutama tentang "DRM", yang diterapkan lebih pada konten (misalnya, film) daripada kode, tetapi dari sudut pandang mencegah menyalin apa yang ada dalam file membuat sedikit perbedaan nyata - menyalin file menyalin file menyalin file menyalin file .


17

Hanya ada satu "metode pembodohan dan bukti pembodohan untuk melindungi perangkat lunak Anda terhadap pembajakan" :

Perangkat Lunak Bebas (Seperti Anda dapat melakukan apa pun yang Anda inginkan dengannya, bahkan menjualnya.)

Anda tidak bisa mencuri apa yang diberikan secara gratis. Memang, itu akan membuat beberapa model perangkat lunak perusahaan dinosaurus, tetapi pembajakan tidak ke mana-mana. Jual sesuatu yang tidak bisa Anda salin, terutama yang menyertai apa yang Anda berikan secara gratis; bantuan Anda misalnya.


Saya akan menempatkan jawaban ini lebih pendek: "Open source".
Alexey

5
Riiiight ... "perusahaan dinosaurus". Dan kemudian berpura-pura menambah nilai dengan "kontrak layanan" yang meningkat? Tidak, terima kasih, saya lebih suka membayar untuk rekayasa kualitas daripada kontrak layanan bulu. Walaupun saya suka dan kami bahkan mensponsori perangkat lunak gratis, jawaban Anda kehilangan kredibilitas melalui komentar "dinosaurus".
DeepSpace101

1
Bagaimana ini satu-satunya cara? Bagaimana dengan perangkat lunak yang berjalan di server pemilik? Juga jika kita menerima bahwa Perangkat Lunak Bebas adalah jawaban untuk pembajakan, apa yang kita lakukan terhadap orang-orang yang mengambil perangkat lunak bebas memodifikasinya dan kemudian melanggar perjanjian dengan tidak membuat perubahan tersedia untuk orang lain. Bukankah ini pembajakan perangkat lunak bebas?
Stilgar

6
Ini salah; sangat mudah untuk membajak sebagian besar perangkat lunak gratis - menggunakannya dengan cara yang tidak sesuai dengan lisensi. Matthew Garrett, misalnya, memiliki sejarah panjang dan luar biasa dalam membantu perusahaan mematuhi kewajiban GPL mereka untuk busybox.
RAOF

1
@Orbling Sangat mungkin untuk membajak hampir apa saja ; hampir semua lisensi memiliki semacam persyaratan. Anda tidak dapat menjatuhkan header hak cipta dari karya berlisensi BSD. Lisensi Apache menambah batasan signifikan. Bahkan WTFPL melarang mengubah lisensi tanpa mengubah nama! Juga, sangat mungkin untuk menjual perangkat lunak GPL.
RAOF

13

Ini disebabkan oleh kombinasi dari empat faktor utama:

Pada level fundamental, banyak hal yang dilakukan komputer dengan menyalin data sekitar. Misalnya, untuk menjalankan suatu program, komputer harus menyalinnya dari hard drive ke dalam memori. Tetapi begitu sesuatu telah disalin ke dalam memori, itu dapat ditulis dari memori ke lokasi lain. Mengingat bahwa premis mendasar dari "perlindungan pembajakan" adalah membuat perangkat lunak yang tidak dapat disalin dengan sukses, Anda dapat mulai melihat besarnya masalah.

Kedua, solusi untuk masalah yang sulit ini bertindak langsung terhadap kepentingan pengguna yang sah dan mereka yang ingin menggunakan perangkat lunak tanpa mendapatkannya secara legal. Beberapa dari pengguna tersebut akan memiliki pengetahuan teknis yang diperlukan untuk menganalisis kode yang dikompilasi. Sekarang Anda memiliki musuh yang kompeten yang aktif melawan Anda.

Karena ini adalah masalah yang sulit, dan karena memproduksi perangkat lunak yang tepat juga sulit, kemungkinan besar solusi Anda akan mengandung setidaknya satu bug yang dapat dieksploitasi di suatu tempat. Untuk sebagian besar perangkat lunak, itu tidak masalah, tetapi sebagian besar perangkat lunak tidak sedang diserang aktif oleh musuh yang ditentukan. Sifat perangkat lunak menjadi seperti apa adanya, begitu ditemukan satu bug yang dapat dieksploitasi, ia dapat digunakan untuk mengendalikan seluruh sistem dan menonaktifkannya. Jadi untuk menghasilkan perlindungan yang andal, solusi Anda untuk masalah yang sangat sulit harus sempurna atau akan retak.

Faktor keempat adalah Internet di seluruh dunia. Itu membuat masalah pengiriman informasi kepada siapa saja yang tertarik sepele. Ini berarti bahwa sekali sistem Anda yang tidak sempurna itu retak sekali, itu retak di mana-mana.

Kombinasi keempat faktor ini berarti bahwa tidak ada sistem perlindungan salinan yang tidak sempurna yang mungkin aman. (Dan kapan terakhir kali Anda melihat perangkat lunak yang sempurna?) Sehubungan dengan ini, pertanyaannya seharusnya bukan "mengapa perangkat lunak masih mudah dibajak?", Tetapi "mengapa orang masih berusaha mencegahnya?"


Jadi Anda pikir ini membuang-buang waktu dan uang untuk ~ mencoba ~ untuk melindungi perangkat lunak Anda?
Snowman

4
@mohabitar: Ya, itulah yang saya pikirkan, karena tidak, dan tidak bisa, pernah bekerja. Tidak ada sistem DRM yang saya ketahui telah bertahan lebih dari 1 bulan setelah terpapar ke Internet sebelum dibuka dengan sangat lebar. Microsoft menghabiskan lebih banyak uang untuk R&D setiap hari daripada yang akan Anda lihat sepanjang hidup Anda, dan mereka tidak bisa memperbaikinya. Heck, Windows 7 sudah retak sebelum bahkan dirilis! Jadi, apa yang membuat pengembang yang lebih kecil berpikir mereka memiliki peluang untuk sukses?
Mason Wheeler

2
Satu hal yang dimiliki pengembang kecil "di pihak mereka" adalah semakin sedikit pembajak yang peduli. Jika tidak ada yang menginginkan perangkat lunak Anda, tidak ada yang akan membajaknya, atau mengembangkan celah untuk orang lain. Bukan pemikiran yang bagus, tetapi dengan aspek praktis jika Anda menargetkan pasar khusus.
Steve314

3
@ Steve314: Mungkin, tetapi jika tidak ada bajak laut yang mengejar Anda, maka itu lebih sia-sia. Alih-alih mencoba memecahkan masalah yang ada tetapi tidak dapat dipecahkan dengan baik, Anda mencurahkan sumber daya untuk memecahkan masalah yang tidak ada.
Mason Wheeler

1
@ Steve314: Heck, jika Anda cukup sinis tentang hal itu, kasusnya dapat dibuat bahwa itu aktif dalam kepentingan terbaik Anda, dalam keadaan khusus ini, untuk tidak memasukkan perlindungan salinan. Jika mereka melakukan pembajakan dan Anda membawa mereka ke pengadilan untuk itu, Anda dapat membuat lebih banyak kerusakan daripada yang Anda miliki dalam penjualan, jadi mengapa tidak membuatnya semudah mungkin bagi mereka? ;)
Mason Wheeler

9

Satu yang sering diabaikan, motivasi utama di balik solusi SaaS berbasis Cloud adalah mengamankan aliran pendapatan.

Saya pikir ini adalah di mana masa depan monetisasi dan perlindungan IP sebenarnya.

Dengan mengalihkan fokus dari menjual solusi on-premise yang dijalankan di lingkungan yang berada di luar kendali Vendor, akhirnya setiap strategi melawan pembajakan perangkat lunak akan gagal. Tidak ada cara untuk melindungi aset Anda ketika Anda memberikannya kepada orang lain, karena perlindungan harus ditegakkan di mesinnya.

Dengan memiliki Perangkat Lunak Anda di-host di Cloud dan disediakan sebagai layanan, Anda secara efektif meningkatkan standar pembajakan hingga ke tingkat di mana bisnis monyetnya.


1
Tidak, itu tidak berhasil. Lihat, ada sesuatu yang disebut spionase, yang ada sejak awal waktu. Juga, mantan karyawan, atau seseorang yang tidak senang bisa membocorkannya. Atau bisa bocor secara tidak sengaja. Ada jutaan skenario di mana itu tidak berhasil, dan banyak kemungkinan.
Ismael Luceno

8

Saya pikir jawaban yang Anda cari adalah bahwa banyak perusahaan tidak terlalu peduli dengan pembajakan seperti itu lagi. Tidak ada yang ingin barang-barang mereka keluar secara gratis, tetapi ketika Anda melihat pertukaran antara menjengkelkan dan harus mendukung semua orang di mana perlindungan salinan canggih merusak atau merusak komputer mereka. Beberapa perusahaan telah jauh dari cara mereka untuk peduli, tetapi pada akhirnya barang tersebut masih retak dan pengguna mereka cenderung pergi dengan rasa tidak enak di mulut mereka.

Tidak sepadan dengan rasa sakitnya (atau kemungkinan kehilangan pelanggan) untuk mencoba dan menerapkannya pada beberapa orang yang akan Anda hindari untuk meretas.

Beberapa perusahaan bahkan melihat pengguna bajak laut sebagai sumber daya. Valve membuat percikan dalam berita dengan komentar seperti itu beberapa waktu lalu, dan Anda tidak bisa mengatakan kepada saya bahwa Microsoft tidak keluar sebagai pihak pemenang dari semua instalasi Windows bajakan di Asia selama bertahun-tahun.

Untuk microsoft di luar sana, mereka ingin menjual blok besar lisensi untuk orang-orang kecil yang mereka butuhkan setiap penjualan tetapi tidak mampu kehilangan pelanggan atau dalam beberapa kasus bahkan membayar rootkit dan omong kosong keji lain yang digunakan orang untuk mencoba dan membangun semacam kunci -di.

Anda tidak dapat membuat anti pembajakan yang sempurna, tetapi tidak banyak orang yang termotivasi untuk mencoba lagi.


7

Apa pun yang Anda bangun dalam perangkat lunak Anda, itu harus dimengerti oleh mesin yang akan menjalankannya. Seiring dengan semakin canggihnya perangkat lunak, perangkat lunak untuk memahami perangkat lunak lain juga semakin canggih. Jadi jika perangkat lunak itu dapat dimengerti oleh mesin, itu dapat dimengerti (dan dapat dimodifikasi) oleh bajak laut.

Misalnya, pada prinsipnya, Anda dapat membangun enkripsi yang kuat ke dalam executable Anda, sehingga sebagian besar perangkat lunak tidak dapat dibaca. Masalahnya kemudian adalah bahwa mesin pengguna akhir tidak bisa lagi membaca kode itu daripada bajak laut. Untuk mengatasinya, perangkat lunak Anda harus menyertakan algoritma dekripsi dan kunci - baik di clear, atau setidaknya bersembunyi di balik enkripsi yang lebih lemah (dengan dekripsi untuk itu menjadi di clear).

IIRC, disassembler terbaik dapat memperingatkan Anda tentang kode terenkripsi dan membantu Anda menangkap dan menganalisis apa yang bersembunyi di balik enkripsi. Jika sepertinya penulis disassembler itu jahat, pertimbangkan bahwa pengembang keamanan memerlukan ini setiap hari, untuk menyelidiki virus dan malware lain yang juga menyembunyikan kode terenkripsi.

Mungkin hanya ada dua solusi untuk ini. Salah satunya adalah platform tertutup yang mengunci penggunanya sendiri. Seperti yang ditunjukkan oleh Playstation 3, itu belum tentu merupakan jaminan. Bagaimanapun, ada kelas besar pengguna non-jahat yang tidak akan menyukainya.

Yang lainnya adalah agar perangkat lunak Anda berjalan di server yang berada di bawah kendali Anda.


5

Anti-Pembajakan Otomatis adalah kontradiksi yang logis.

Pengguna yang sah dipercaya oleh vendor.

Setiap anti-pembajakan "otomatis" berusaha untuk mengotomatiskan hubungan kepercayaan.

Bagaimana ini bisa berhasil? Bagaimana bisa setiap sarana teknis pernah datang ke "trust" seseorang?

Kepercayaan adalah hubungan manusia yang inheren. Setiap mekanisme teknis selalu dapat ditumbangkan oleh orang-orang yang tampak dapat dipercaya tetapi tidak.

Dalam hal ini, orang juga salah menaruh kepercayaan mereka setiap saat.


1
Langkah-langkah: 1.Invent Skynet 2.Implementasi anti-pembajakan 3.Profit
nevercode

5

Salah satu alasan saya kira adalah, orang yang sama yang tahu cara menulis keamanan yang layak, mungkin adalah peretas sendiri.

Juga, berusaha melindungi diri Anda dari pembajakan sangat, sangat sulit. Karena komputer Anda harus menjalankan proteksi ini sendiri, ia dapat dicegat pada titik tertentu (memori / eksekusi / lalu lintas jaringan / ...). Di situlah kebingungan muncul, berusaha membuatnya mustahil untuk memahami apa yang terjadi.

Saya percaya kekuatan dalam nomor seri dan kunci aktivasi terletak pada fakta bahwa Anda setidaknya dapat melihat siapa yang membajak, dan mencoba melacaknya / memblokirnya dengan cara ini. Saya percaya itu bagian dari alasan mengapa begitu banyak layanan adalah layanan online saat ini. (Steam, pembaruan Windows dll ...) Tiba-tiba menjadi jauh lebih sulit untuk retak, ... tapi sekali lagi masih mungkin.

Di mana Anda memiliki produk yang sukses, Anda memiliki lebih banyak orang yang mencoba untuk memecahkannya, sehingga kemungkinan pembajakan akan lebih besar.


3
Keamanan dengan ketidakjelasan sama sekali bukanlah solusi yang masuk akal terhadap pembajakan.
Johannes Rudolph

1
@ Johannes Rudolph: Tidak ada salahnya mengaburkan keamanan Anda. ; p
Steven Jeuris

1
Setuju, itu akan menakut-nakuti beberapa anak-anak hacker, tetapi bagi seseorang yang benar-benar ingin memecahkan perangkat lunak Anda lebih dari bungkus hadiah.
Johannes Rudolph

Tindakan keamanan yang tidak sempurna tidak berharga. Yang diperlukan hanyalah satu orang untuk memecahkan perangkat lunak, dan calon pembajak yang hilang telah hilang. Karena kebingungan muncul dengan biaya, hampir pasti tidak sepadan.
David Thornley

5

Secara teknis, perangkat lunak masih dapat dibajak karena sebagian besar TI masih beroperasi pada lingkungan perangkat lunak dan perangkat keras yang secara teknis direkayasa ribuan tahun yang lalu, ketika bahkan gagasan pembajakan perangkat lunak tidak ada.

Fondasi tersebut harus dipertahankan agar kompatibilitas ke belakang semakin meningkatkan ketergantungan kita pada mereka.

Jika kita mendesain ulang lingkungan perangkat keras / lunak dari awal dengan mempertimbangkan anti-pembajakan, kita dapat menambahkan peningkatan yang signifikan.

Lihat diri mu sendiri:

  • Sistem operasi terbuka yang sama dengan semua komponennya sepenuhnya terbuka dan secara harfiah menawarkan dirinya untuk manipulasi

  • Arsitektur komputer terbuka yang sama yang akan membawa perangkat lunak apa pun yang Anda gunakan

  • Model distribusi perangkat lunak masih didasarkan pada file yang tidak dienkripsi yang diserahkan kepada pengguna

Masalah yang sama persis ada dengan Internet dan keamanannya yang rendah, banyak kerentanan, keterbukaan untuk manipulasi, spam dan serangan yang didistribusikan. Kami akan melakukannya dengan lebih baik untuk yang kedua kalinya, jika kami dapat mengulangi Internet. Sayangnya kita harus tetap dengan apa yang kita harus menjaga kompatibilitas akan massa aplikasi dan layanan yang ada.

Untuk saat ini tampaknya cara terbaik untuk melindungi perangkat lunak dari pembajakan adalah dengan memperkenalkan perubahan di tingkat perangkat keras:

  • Tutup perangkat keras dan ubah menjadi kotak hitam. Buat mustahil bagi pengguna untuk mengacaukan perangkat keras dan perangkat lunaknya. Pendekatan di sini adalah untuk mengenkripsi semua yang ada di level chip sehingga antarmuka eksternal mereka sepenuhnya terenkripsi. Contoh yang bagus adalah enkripsi HDCP untuk antarmuka media HDMI - aliran media dienkripsi sebelum meninggalkan kotak pemutar dan mendekripsi di dalam unit display sehingga tidak ada aliran data terbuka untuk disadap.

  • Tutup saluran distribusi. Jadikan semua media eksternal dan saluran online sepenuhnya terenkripsi sehingga hanya perangkat keras bersertifikasi yang dapat mendekripsi datastream.

Dimungkinkan untuk melakukan keduanya tetapi itu akan mengubah seluruh ekosistem menjadi penjara. Kemungkinan besar gerakan paralel / bawah tanah dari perangkat keras / lunak bebas akan muncul menciptakan ekosistem paralel.


Sangat realistis, tidak. Tapi bagaimana dengan teori? Apa yang akan menjadi beberapa cara?
Snowman

Lihat pembaruan untuk jawaban saya.

2
Enkripsi tidak menyelesaikan apa pun, karena harus dienkripsi pada akhirnya untuk dijalankan. Komputer yang dikunci "kotak hitam" bukanlah komputer untuk tujuan umum. Konsol gim dan iPad muncul di benak Anda. Sejarah memecah penjara semacam itu ke mesin tujuan umum cukup lucu.
Tim Williscroft

Mereka belum benar-benar mencoba membuatnya tidak dapat diretas, dan apa yang Anda sebut "pemecahan penjara" adalah taktik pemasaran yang disponsori dan [diam-diam] didukung oleh perusahaan itu sendiri.

2
Inilah yang ditiru Microsoft. Ini akan menghentikan sebagian besar pengguna yang sah, menginstal Perangkat Lunak Bebas. Dan MEMBUAT mereka menggunakan barang-barang Microsoft. (tidak ada firefox, tidak ada chrome, tidak ada apache, tidak ada internet)
ctrl-alt-delor

4

Dengan upaya itu, perlindungan salinan yang hampir sempurna mungkin dapat dicapai ... tetapi itu tidak sepadan dengan biayanya . Beberapa blog terkenal telah membahasnya dengan sangat baik : khususnya, konsep tingkat pembajakan yang optimal .

Langkah-langkah anti-pembajakan memiliki beberapa biaya: biaya langsung untuk mengimplementasikannya, tetapi juga biaya tidak langsung: misalnya tindakan tersebut sering menyebabkan ketidaknyamanan, membuat pengguna menjauh.

Pembajakan memiliki biaya, tetapi seringkali tidak terlalu tinggi. Bahkan mungkin memiliki beberapa manfaat, misalnya dalam memperluas basis pengguna. Seperti yang ditulis oleh salah seorang komentator di posting Coding Horror: “Sekarang saya seorang pengembang dan saya benar-benar memiliki uang untuk dibelanjakan dari perangkat lunak, saya cenderung membeli program yang saya bajakan di masa kuliah saya karena saya sudah terbiasa dengan mereka. ”

Jadi, beberapa perlindungan anti-pembajakan penting untuk memastikan penjualan yang sah tidak terlalu buruk; tetapi di luar titik tertentu, tidak ada insentif ekonomi untuk membuat langkah-langkah anti-pembajakan menjadi lebih baik.


4

Semua jawaban tampaknya bersifat teknis, tetapi itu bukan masalah teknis, itu sosial.

Perangkat lunak mudah disalin dan sulit ditulis. Kalau di mana tidak mudah untuk menyalin kita tidak akan repot. Sebagian besar program hanya untuk menulis untuk satu kali, dan yang lebih kecil bergantung pada program yang lebih besar untuk dapat dijalankan. Jika kita juga membuat program berbeda untuk disalin, maka kita menempatkan diri kita pada posisi yang tidak menguntungkan. Ya, Anda dapat memaksimalkan laba jangka pendek dengan menghentikan penyalinan. Tetapi pada akhirnya Anda akan kehilangan pangsa pasar kepada siapa pun yang dapat meminimalkan biaya untuk menyalin, biaya untuk menulis dan biaya untuk digunakan.

Perangkat Lunak Bebas meminimalkan 1 dari biaya-biaya ini untuk menyalin, dan memiliki pengurangan besar pada 2 biaya-untuk-menulis dan biaya-untuk-penggunaan lainnya.

biaya untuk menyalin

Saya dapat menginstal Ubuntu linux dalam waktu dan upaya yang sama dengan windows 7 [windows 7 membutuhkan saya untuk menambahkan kunci lisensi sehingga membuatnya sedikit lebih sulit].

Windows 7 biayanya £ 100, tetapi untuk Ubuntu saya bisa mengunduhnya, membelinya seharga £ 6 di toko majalah (dengan majalah gratis dilemparkan), memesan mail £ 2 atau meminjam cd dari seorang teman.

biaya untuk menulis

Perangkat Lunak Bebas dapat dimodifikasi, ini mengurangi biaya. Saya tidak harus mulai dari awal.

biaya-untuk-penggunaan

Dengan Windows 7 saya tidak mendapatkan aplikasi, kecuali browser web, dengan Ubuntu saya mendapatkan setiap aplikasi yang dapat saya imagine, banyak menginstal dengan OS.

Saya tidak memerlukan pemindai virus di Linux.

Saya dapat menjalankan Linux pada perangkat keras yang lebih lama.

Dengan Perangkat Lunak Bebas, tidak ada yang dipaksa untuk meningkatkan, dengan membuat versi yang tidak kompatibel dari alat kantor yang ada.


3

Di dunia di mana komputer cukup mirip untuk dapat mengunduh perangkat lunak dari internet dan segera menjalankannya, sangat sulit untuk mengidentifikasi sesuatu yang memungkinkan penentuan apakah komputer ini boleh dijalankan, tetapi komputer itu tidak.

Akhirnya bermuara pada Anda memiliki sesuatu yang tidak dimiliki orang lain. Ini bisa berupa nomor seri yang sudah Anda bayar, dongle perangkat keras atau dvd dengan kesalahan fisik di lokasi tertentu. Perangkat lunak kemudian mencari hal spesifik itu, dan menolak untuk menjalankannya jika tidak ada di sana. Untuk nomor seri Anda juga perlu memiliki lokasi di internet tempat perangkat lunak dapat memvalidasi bahwa nomor seri dapat diterima oleh kapal induk.

Sayangnya para peretas sangat pandai dalam menghapus pemeriksaan semacam itu, sehingga kodenya harus sangat berbelit-belit dan sulit dimodifikasi untuk membuatnya sulit, tetapi dengan dedikasi yang memadai manusia masih bisa melakukannya.

Oleh karena itu, sebagian besar produk perangkat lunak murah menggunakan nomor seri dengan induk di internet memvalidasinya, ditambah kebijakan lisensi yang wajib diikuti oleh uang tunai perusahaan. Produk mahal biasanya menggunakan perlindungan dongle.


Kemudian seseorang memecahkan dongle (yang umumnya mudah; Saya sudah mengaudit salah satu sistem itu sekali) dan menghasilkan driver yang mengemulasikannya: P.
Ismael Luceno

2

Ada berbagai jenis perangkat lunak yang memiliki perlindungan.

Ketika Anda mengambil contoh windows 7, jelas bahwa jawabannya tidak, hanya karena arsitektur PC dan pemrograman PC sangat terkenal.

Tetapi jika Anda mempertimbangkan perangkat keras lain, seperti PS3, PSP dan iPhone, itu sama sekali berbeda, terutama karena produsen memiliki kendali atas segalanya, tidak hanya perangkat lunak lagi: mereka dapat membuat perangkat keras hanya menjalankan perangkat lunak asli, dan ini memerlukan keterampilan peretasan yang bagus untuk memecahkannya.

Anda harus melihat pada proyek microsoft longhorn kembali pada hari itu: pada saat mereka ingin mengimplementasikan chip untuk memeriksa apakah perangkat lunak Anda asli atau tidak. Secara teori itu akan sangat sulit untuk diretas, tetapi mereka tidak melakukannya karena itu akan sangat mengganggu.


3
PS3 retak hanya beberapa bulan setelah Sony menghapus OtherOS yang membuatnya berharga. IPhone secara rutin retak. Kualitas keterampilan peretasan benar-benar tidak masalah, karena jika satu orang dapat memecahkan sesuatu, teknik ini menyebar di internet.
David Thornley

Alasan mengapa Microsoft tidak menerapkan langkah-langkah sekarang dimungkinkan oleh "TreacherousComputing" adalah karena menyadari itu akan merugikan bisnis mereka ...
Ismael Luceno
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.