Senin, 27 Oktober 2008

PROTEKSI SOFTWARE

Bajak laut mungkin dapat dikalahkan dengan mudah oleh Peterpan atau Asterix, tetapi bagaimana dengan pembajak software? Joko Nurjadi

MENDAPATKAN sesuatu dengan harga lebih murah ataupun gratis, siapa yang menolak? Mungkin karena itulah tercipta permintaan pasar yang luas dalam dunia bajak-membajak, termasuk di dalamnya adalah pembajakan software.

Di luar pro dan kontra yang tidak pernah selesai, saat ini aksi antara pembajak dan proteksi software sudah mirip dengan film kartun “Tom & Jerry” yang penuh adegan kejar-kejaran, ataupun keberadaan virus dan antivirus, yang tidak hentinya berperang satu sama lain.

Suka atau tidak, teknologi memegang peranan dalam melakukan distribusi software bajakan, tentunya tidak berarti teknologi merupakan sesuatu yang buruk, tetapi teknologi memang dapat dimanfaatkan sebagian orang untuk kepentingan yang buruk.

Bayangkan pada saat personal computer mulai dikenal luas pada tahun 1970-an, dunia software masih tampak aman dan damai, tetapi seiring dengan semakin maraknya penggunaan media penyimpan data seperti floppy disk dan harddisk, maka pendistribusian file dan data semakin mudah, termasuk distribusi file dan data ilegal.

Saat ini, pertukaran data menjadi lebih mudah lagi. Orang dapat bertukar data dengan cepat melalui flash disk ataupun website.

Mudahnya distribusi file dan data, tentunya semakin membantu penyebaran software bajakan, file dengan ukuran gigabyte sudah bukan masalah lagi untuk didistribusikan, dengan bantuan bandwidth Internet yang besar, Anda telah dapat memindahkan sebuah file berukuran beberapa gigabyte dari server di benua lain ke dalam harddisk komputer Anda dalam hitungan jam!

Realita Pembajakan

Kalau bajak laut merampas dengan paksa kapal-kapal yang berlayar di laut, maka pembajak software melakukan modifikasi, duplikasi, dan menyebarkan software tanpa seizin pembuatnya.

Untuk sebuah software tanpa proteksi, duplikasi sangat mudah dilakukan. Cukup dengan melakukan copy dan paste file-file software tersebut, maka Anda telah memiliki dua software yang identik.

Kekhawatiran mengenai pembajakan software jauh-jauh hari telah disampaikan oleh Bill Gates pada tahun 1976 (pada saat itu Bill Gates berusia belum genap 21 tahun!) melalui sebuah sebuah surat terbuka.

Tetapi, pembajakan software baru menjadi permasalahan serius bagi kebanyakan orang pada tahun 1990-an bersamaan dengan semakin popularnya penggunaan komputer dan media floppy disk/CD. Pada tahun 1992 Software Publisher Association aktif menyatakan perang menentang pembajakan software.

Dewasa ini dengan semakin berkembangnya sistem file sharing seperti BitTorrent dan eDonkey2000, ataupun situs-situs file-hosting seperti Rapidshare, distribusi file ilegal semakin sulit dicegah, situs Rapidshare sendiri saat ini merupakan peringkat 11 dunia sebagai situs yang paling sering dikunjungi (berdasar-kan penyedia informasi web traffi c, Alexa).

Pembajakan tidak hanya terjadi pada software, dikenal istilah “warez” untuk menyebut rilis ilegal yang beredar di Internet dan media massa. Beberapa jenis warez yang dikenal:

1. Appz.

Berupa versi retail dari paket aplikasi/software.

2. Crackz.

Merupakan aplikasi yang telah di-crack, dengan melakukan modifi kasi pada library, executable file, atau patch yang mengubah sebuah versi trial software menjadi versi full dengan melewati proteksi anti pembajakan yang dimiliki software tersebut untuk melindungi dirinya (yang ternyata tidak berhasil).

3. Gamez.

Versi ilegal dari game.

4. Moviez.

Film bajakan yang bisa jadi telah tersedia untuk di-download walaupun film yang bersangkutan masih diputar di bioskop dekat rumah Anda.

5. NoCD/NoDVD/FixedExe/Portable.

Sebuah file yang telah dimodifikasi yang mengizinkan sebuah program yang telah terinstal berjalan dengan baik tanpa perlu memasukkan CD/DVD pada drive.

Memasukkan CD/DVD orisinal memang merupakan salah satu cara proteksi yang cukup umum ditemui dan cukup umum juga berhasil dibajak.

6. TV-Rips.

Merupakan versi bajakan dari tayangan televisi, dengan tayangan iklan yang telah diedit.

7. Mp3.

Album atau single bajakan dengan format mp3 atau format audio lainnya yang dihasilkan dengan cara melakukan ripping CD atau radio broadcast. Memang cukup mencengangkan melihat beberapa album bahkan telah beredar untuk di-download sebelum tanggal resmi album tersebut dirilis.Dan masih banyak lagi jenis warez yang beredar. Inilah realita pembajakan yang terjadi saat ini.

Serial Number

Tidaklah mengherankan, dengan maraknya pembajakan maka developer berusaha mengamankan software-nya dengan berbagai cara proteksi.

Proteksi software apa yang paling efektif? Pertanyaan tersebut mungkin adalah pertanyaan yang akan cepat ketinggalan zaman, karena para pembajak juga akan terus berusaha melewati proteksi yang diciptakan, terutama jika software yang diproteksi tersebut memiliki kualitas dan nilai komersial yang tinggi.

Proteksi pertama yang akan kita bahas adalah proteksi dengan memberikan serial number pada software yang harus Anda isi dengan benar (umumnya pada saat instalasi). Proteksi ini cukup sederhana tetapi juga lemah, developer menyediakan satu atau kumpulan serial number yang valid, dan tentu saja siapapun yang telah memperoleh copy software dan serial number tersebut, akan dapat menggunakan software tersebut di komputer lain.

Walaupun demikian, proteksi seperti ini masih cukup banyak digunakan. Pembajak software tidak identik dengan bajak laut yang seram dan menggunakan otot dan kekerasan, terkadang pembajak software disetarakan atau identik dengan hacker/cracker yang dapat memanipulasi software agar proteksi terle-wati, ataupun mengorek informasi serial number dari rutin yang dijalankan executable file itu sendiri.

Tools yang digunakan pembajak software tentunya bukan pedang, golok, ataupun tangan berkait besi, mereka menggunakan teknik debugger dan disassembler berikut tools yang siap digunakan, dan yang terutama adalah menggunakan kreativitas dan motivasi.

Activation Code

Mirip dengan penggunaan serial number, yaitu pengguna harus memiliki serial number untuk dapat menggunakan software. Perbedaannya adalah pada cara mendapatkan serial number tersebut.

Cara kerja activation code adalah seperti ilustrasi berikut. Saat diinstal, software akan memerika spesifikasi komputer Anda dan menghasilkan kode aktivasi, kode aktivasi tersebut harus Anda registrasikan (umumnya via website atau telepon) ke vendor software untuk mendapatkan serial number yang sesuai.

Proteksi ini tentunya lebih kuat pengamanannya dibandingkan dengan hanya memberikan serial number yang langsung dapat digunakan pada komputer mana saja.

Permasalahannya adalah jika spesifi kasi komputer Anda berubah dan memerlukan instal ulang software. Serial number yang baru akan dibutuhkan, sehingga support dari vendor akan tetap diperlukan.

Sementara dengan perkembangan hardware yang pesat, kegiatan seperti upgrade komputer atau instal ulang mungkin akan cukup sering Anda lakukan.

Dongle

Dongle merupakan hardware yang dipasangkan secara fisik pada komputer melalui port yang terpasang (saat ini umumnya menggunakan port USB). Lalu, apa hubungannya alat ini dengan pengamanan software dari pembajak?

Cara kerja dongle cukup sederhana. Dongle menyimpan informasi lisensi dalam bentuk hardware yang dibaca dan oleh software, software melakukan otentifikasi dan tidak akan bekerja jika dongle tidak terpasang atau tidak memiliki lisensi yang benar.

Bagi para pembajak, meng-copy dongle tentunya tidak semudah meng-copy software. Tetapi, keamanan sering kali memiliki konsekuensi kenyamanan, paling tidak ketergantungan software terhadap dongle sangatlah tinggi, sementara alat kecil tersebut dapat dengan mudah dicabut dan dikantungi. Ini berarti Anda harus mempersiapkan proteksi pada dongle itu sendiri.

Permasalahan lain adalah jika software tersebut harus terpasang pada sejumlah unit komputer, maka sebanyak jumlah unit komputer itu pula dongle yang diperlukan, kecuali Anda menggunakan konsep terminal services di mana software hanya diinstal pada server dan client mengakses software tersebut langsung dari server.

Hingga saat ini kebanyakan software yang menggunakan proteksi dongle merupakan paket software high-end yang cukup mahal, dongle tidak umum digunakan oleh software seperti game atau aplikasi ringan. Mungkin jika suatu saat dongle digunakan oleh sebagian besar developer software, bentuk komputer Anda dari kejauhan akan mirip dengan landak karena terpasang beberapa dongle dari vendor yang berbeda-beda sekaligus.

Demo Version

Anda dapat membuat dua versi software yang berbeda. Versi pertama adalah demo version dengan keterbatasannya dan versi kedua adalah full version yang memiliki seluruh fitur yang dibutuhkan, full version hanya akan diberikan jika customer telah membayar setelah mencoba menggunakan demo version dan tertarik untuk membeli full version.

Demo version dapat dibuat dengan berbagai keterbatasan, misalnya hanya dapat membaca jumlah record yang terbatas atau beberapa fitur penting ditiadakan, atau justru selalu menambahkan pesan yang mengganggu, seperti menampilkan footer pada data/laporan, atau menampilkan layar peringatan setiap waktu tertentu.

Tetapi, intinya adalah mengusahakan agar pengguna terbantu membayangkan apa yang mereka dapatkan dari membeli full version.

Tentunya tidak ada jaminan bahwa full version yang diberikan kemudian tidak dibajak. Tetapi, paling tidak Anda dapat dengan leluasa melakukan publikasi demo version di Internet atau media massa untuk menarik minat calon pembeli.

Hard Code

Alternatif lain adalah menggunakan hard code, artinya informasi atau format tertentu ditanamkan pada source code, sehingga tidak dapat diubah tanpa mengubah source code.

Contohnya, menyimpan informasi nama perusahaan X pada source code, sehingga laporan-laporan yang dihasilkan memiliki format dan logo perusahaan X yang tidak dapat diganti-ganti.

Software tersebut bisa saja diduplikasikan dan diinstal pada perusahaan lain, misalkan perusahaan Z, tetapi format laporan yang dihasilkan tetap menampilkan perusahaan X.

Dengan demikian, perusahaan Z harus menghubungi vendor software yang bersangkutan untuk memesan software versi khusus untuk perusahaannya, di mana vendor software akan melakukan hard code ulang dengan nama perusahaan Z.

Obfuscated Code

Tidak hanya file biner/executable file saja yang perlu diproteksi, bisa jadi source code Anda tidak cukup aman sehingga memerlukan proteksi.

Hal ini mungkin ditemui pada pembuatan web, di mana source code tidak dicompile menjadi executable file, tetapi hanya diupload dan dijalankan dari sisi server, seperti PHP, ASP, Perl, dan lain-lain.

Untuk memproteksi source code, dikenal istilah obfuscated code, yang bisa diartikan kode yang membingungkan, karena memang source code tersebut sengaja dibuat sedemikian kompleks agar tidak mudah dimodifikasi.

Source kode tanpa indent/tab pada setiap barisnya (rata kiri semua) dan tanpa baris kosong, bisa dikategorikan sebagai obfuscated code yang sederhana. Dengan catatan, source code harus tetap dapat dijalankan, tentunya hal ini tidak dapat berlaku pada bahasa pemrograman atau script yang memiliki aturan penulisan tertentu, misalnya COBOL.

Pada bahasa pemrograman seperti C, C++, dan Perl, menghasilkan obfuscated code yang benar-benar memusingkan dan membuat frustasi bagi yang membacanya, adalah sangat dimungkinkan. Tentunya obfuscated code yang kompleks akan sulit dimodifi kasi dan di-debug bahkan oleh developer-nya sendiri.

Karena itu, developer yang menggunakan obfuscated code biasanya memiliki dua versi source code. Versi pertama adalah source code orisinal yang tentunya diusahakan semudah mungkin untuk dipahami. Source code kedua adalah source code yang telah dibuat obfuscated code (dapat dihasilkan dengan menggunakan tools obfuscator).

Pembajakan Memajukan Teknologi?

Perang antara metode proteksi dan pembajakan tampaknya masih akan berlangsung panjang. Beberapa pendapat mengatakan bahwa terdapat sisi positif pembajakan, terutama bagi negara miskin yang mayoritas masyarakatnya tidak mampu membeli software asli.

Pendapat lain juga berargumentasi bahwa pembajakan membuat perusahaan pembuat software beserta produknya menjadi lebih dikenal luas.

Sedangkan, bagi pihak antipembajakan, terus mengutuk dan mengupayakan berbagai cara untuk memberantas pembajakan, bahkan beberapa perusahaan dikabarkan membuat server Torrent palsu yang mengumpulkan alamat IP pengguna, sehingga dimungkinkan melakukan tindakan hukum.

Pro atau kontra pembajakan, tidak sepatutnya menjadikan teknologi sebagai kambing hitam, atau sebaliknya menjadikan teknologi sebagai dalih.

Tidaklah tepat jika dikatakan bahwa dengan dukungan software bajakan maka kita memajukan teknologi, ratusan software bajakan tidak akan ada gunanya jika kita tidak dapat mengambil manfaatnya. Sebaliknya sebuah software mahal dapat memberikan hasil yang setimpal atau bahkan lebih dibandingkan biaya yang dikeluarkan jika kita memanfaatkannya sebaik mungkin.

Ada atau tidak ada software bajakan, bukanlah alasan untuk berhenti belajar dan berinovasi!

LEBIH LANJUT

http://en.wikipedia.org/wiki/Warez

http://en.wikipedia.org/wiki/Dongle

http://en.wikipedia.org/wiki/Software_protection