Banyak orang menyangka asalkan situsnya
dijaga captcha, maka spammer tidak akan bisa menembusnya. Padahal ini
salah besar! Captcha memang menyulitkan, namun tidak sembarang captcha,
bila captcha tidak dibuat dengan benar dan asal-asalan, maka spammer
bisa dengan mudah menembusnya.
Captcha Basics
Captcha adalah akronim dari Completely
Automated Public Turing
test to tell Computers and Humans Apart,
yaitu sebuah test/ujian yang “fully automated” untuk membedakan manusia
dan komputer. Ujian captcha dibuat sedemikian rupa sehingga teknologi
komputer saat ini belum bisa mengerjakan dengan benar, namun manusia
bisa dengan mudah menyelesaikan dengan sempurna.
Captcha ini dibuat oleh komputer secara otomatis, namun komputer sendiri sebagai pembuat soal malah tidak bisa mengerjakannya… Aneh!
Umumnya captha berbentuk gambar yang di
dalamnya terdapat kode. Kode ini bisa dengan mudah dibaca manusia, namun
komputer akan kesulitan membaca kode dalam gambar itu. Dengan cara ini,
hanya manusia yang bisa melanjutkan prosesnya, sedangkan komputer/robot
akan gagal.
Bagi komputer, sebuah gambar hanyalah
kumpulan kode-kode warna dari setiap pixelnya. Dibutuhkan proses yang
cukup rumit untuk bisa mengenali objek pada gambar, apalagi untuk
memahami arti sebuah gambar. Sedangkan bagi manusia hanya dalam hitungan
seper sekian detik kode dalam gambar sudah terbaca.
Selain berbentuk gambar, captcha juga
ada yang berbentuk suara. Secara prinsip sama saja dengan gambar,
komputer perlu melakukan proses yang rumit untuk mengenali percakapan
dalam file suara.
Optical Character Recognition (OCR)
OCR adalah teknologi untuk mengubah
gambar menjadi teks. OCR biasanya dipakai untuk mengubah file gambar
dari dokumen yang discan menjadi file teks untuk diolah secara digital.
Tidak semua gambar bisa dibaca dengan
sempurna oleh OCR. Sama seperti manusia, bila kita membaca buku yang
masih baru dan cetakan yang baik, maka mudah bagi kita untuk membacanya.
Namun bila buku sudah tua, tintanya sudah pudar dan banyak noda, maka
sulit untuk kita membacanya dengan sempurna. Begitu juga dengan captcha,
bila captcha mengandung banyak distorsi, kemiringan, variasi ukuran
font dan noise, maka OCR akan kesulitan membacanya.
Program OCR yang saya pakai dalam
menembus captcha adalah GNU OCR. Seperti program OCR lainnya, GOCR hanya
dapat membaca captcha dengan baik bila gambarnya tidak banyak gangguan.
Untuk itu biasanya sebelum gambar dilempar ke GOCR, sebelumnya diolah
dulu untuk meminimalkan gangguan agar hasil pembacaan GOCR bisa
maksimal.
Dalam artikel ini saya akan jelaskan
bagaimana captcha bisa ditembus dengan GOCR di sistem operasi Linux.
Sebagai contoh saya akan gunakan captcha yang ada di situs sharing
Ziddu.com.
Captcha Ziddu.com

courtesy
of ziddu.com
Penggunaan captcha pada ziddu sangat
vital karena situs ini membayar pemilik file setiap kali ada orang yang
mendownload file tersebut. Bisa dibayangkan bila tanpa captcha, maka
orang dengan mudah bisa membuat script untuk melakukan download secara
otomatis.
Namun dari FAQ yang saya baca, ziddu
hanya membayar berdasarkan ip address yang unique dalam satu hari. Jadi
bilapun ada script yang bisa melakukan download berulang kali, tetap
tidak dianggap selama berasal dari ip address yang sama.
Contoh gambar captcha ziddu antara lain:




Setelah saya cari di google file
CaptchaSecurityImages.php ternyata adalah library open source untuk
men-generate captcha, namanya PHP Captcha Security Image . Library ini cukup
populer dan banyak dipakai di situs luar maupun situs lokal. Situs iklan
gratis banyak juga yang pakai captcha ini, silakan cek sendiri.
Kelemahan Captcha Ziddu
Beberapa kelemahan captcha yang dipakai ziddu adalah:
- Objek dan Background Terpisah: Sepintas terlihat captcha ziddu cukup rumit karena banyak gangguan berupa coretan dan bintik-bintik. Namun sebenarnya gangguan itu tidak ada artinya karena terpisah jelas dengan warna yang berbeda cukup kontras. Jadi antara objek dengan background terpisah dengan baik, dengan sedikit pengolahan akan didapatkan gambar yang bersih dari gangguan.
- Tidak adan rotasi, semua karakter horisontal posisinya, tidak ada yang miring ke atas atau ke bawah.
- Font yang monoton dan konsisten.
- Warna yang konsiten.
Convert
adalah utility command line dari ImageMagick yang bisa melakukan
berbagai jurus pengolahan gambar, dari yang sederhana hingga yang rumit.
Untuk memecahkan captcha ziddu kita tidak perlu jurus tingkat tinggi,
cukup operasi sederhana saja. Kita pakai operasi threshold, operasi ini
bekerjanya sangat sederhana. Kita hanya perlu menetapkan suatu nilai
batas, kemudian semua pixel yang memiliki kode warna di bawah atau di
atas nilai itu akan diubah menjadi warna putih atau hitam.
Dari contoh-contoh captcha yang ada terlihat bahwa
warna yang paling gelap adalah warna kode, kemudian diikuti dengan warna
noise dan yang paling terang adalah warna background. Dengan demikian
kita bisa tetapkan warna teks sebagai nilai threshold (batas), kemudian
semua pixel yang memiliki warna lebih terang dari itu akan diubah
menjadi putih. Dengan cara ini maka yang tertinggal hanyalah warna teks,
warna background dan warna noise akan lenyap karena warnanya jadi
putih.
Langkah pertama adalah kita harus mendownload gambar captcha yang
asli, di URL:http://www.ziddu.com/CaptchaSecurityImages.php?width=100&height=38&characters=5

Dengan operasi threshold, gambar tersebut akan diconvert menjadi:

Terlihat jelas gambar kedua lebih mudah dibaca oleh
GOCR karena noise yang ada di gambar asli sudah dihilangkan. Perintah
untuk melakukan operasi threshold di atas adalah:
$ convert captchatest.jpg -white-threshold 20000 captchatest2.jpg
Opsi white-threshold 20000, itu artinya semua pixel
yang nilai warnanya lebih tinggi (lebih terang) dari itu, akan diubah
menjadi putih. Hasilnya terlihat bahwa pada gambar ke-2 terlihat noise
dan background menjadi putih bersih karena warna background dan noise
lebih tinggi dari 20000.
Breaking Captcha dengan GOCR
Kini setelah gambar dibersihkan dari gangguan, telah
siap untuk dibaca dengan GOCR. Mari kita lihat kemampuan GOCR membaca
captcha yang asli, bila GOCR mencoba membaca gambar yang asli, hasilnya
adalah karakter kacau seperti di bawah ini:
1 2 3 4 5 6 7 | $ gocr captchatest.jpg ______r0_ __ _ _ '__,__ _ ___,; __'_ ____ _ _ _ __ _ ?n0_ __ __ 0_,; _ ___ _t_ |
1 2 | $ gocr captchatest2.jpg qc32ts |
Wow, ternyata hasilnya sempurna. Setelah captcha
terbaca selanjutnya terserah anda. Anda bisa melakukan register di
ziddu.com dengan script. Ini sangat berbahaya, sebab seseorang bisa
mendapatkan komisi dari setiap orang yang register di ziddu bila
mendaftar melalui affiliate link. Bayangkan apa yang terjadi bila
seseorang membuat robot yang melakukan registrasi dari link affiliate
sebanyak 1 juta kali, padahal setiap orang yang mendaftar dari affiliate
mendapat $0,1 artinya dia akan mendapat $100,000 atau 1 miliar.
Kesimpulan
Anda telah melihat sendiri betapa mudahnya captcha
dijebol dengan software gratisan. Jangan pernah mengira bahwa hanya
dengan memasang captcha asal-asalan spammer tidak akan bisa menembus.
Pilihlah captcha yang baik dan sulit untuk ditembus.
Banyak situs-situs besar dalam dan luar negeri
seperti detik.com, liputan6.com, ziddu.com, feedburner.com yang masih
menggunakan captcha yang mudah ditembus. Di majalah underground info
saya menulis tentang breaking captcha detik.com untuk mengakali hasil
polling. Bahkan captcha detik.com jauh lebih mudah ditembus dibanding
captcha ziddu.
Posting Komentar
No Rule's ! but please create your own rule with good rules _.