Oleh: ppyton | Minggu, 18 Desember 2011 | 0 Komentar Kategori: Tutorial View 36427
|

The Secret of Captcha[Breaking Captcha n New Captcha Solution ]
Halo Teman - Teman back lagi bersama si
penulis jimmyromanticdevil kali ini sy akan membahas tentang yang
namanya Captcha.Melihat banyaknya Spammer juga yang masuk di web2 dan
Contoh pada Web DCC .si penulis sendiri akan memperkenalkan salah satu
teknik untuk memfilter para spammer tersebut.
Dalam Artikel kali ini si penulis akan membahas Teory/Konsep sebuah
Capca ,Sedikit History,Bagaimana cara membaypass sebuah Capca dan solusi
solusi tentang Model Capca Yang Baik . so lets starting..happy reading
...
What Is Captcha ?
Captcha yang pada awalnya di ambil dari kata "Capture" dan
selanjutnya mempunyai kepanjangan "Completely Automated Public Turing
test to tell Computers and Humans Apart" ini memang di ciptakan untuk
membedakan Manusia dan mesin. Teknologi ini diharapkan dapat
mengcounter-attack atau setidaknya bertahan terhadap "invasi" para
spammer/botter/botnet/bot yang sampai sekarang sangat pesat serangannya
.masih belum mengerti bahasanya ?? ok si penulis akan coba dengan bahasa
yang lebih sederhana .
kalian yang sering berinternetan pasti sudah pernah melakukan yang
namanya registrasi e-mail,facebook,atau account2 lainnya. Atau kalian
pasti udah pernah memberi komentar ke blog2 lainkan.Nah dalam memberi
komentar atau namanya registrasi itu pasti menemui yang namanya CAPTCHA
baik sadar maupun tak sadar.Saat mendaftar email / facebook contohnya
pada salah satu form yang harus diisi ada satu form yang mengharuskan
kita menuliskan karakter aneh yang ada dalam gambar. Gambar itulah yang
merupakan salah satu jenis captcha.
Mungkin di pikiran kalian bertanya-tanya,untuk apa sebenarnya
captcha ini .kenapa harus di beri seperti begini ? Secara singkat,
captcha dipakai untuk memastikan bahwa yang mengisi form yang
bersangkutan adalah human (manusia) sehingga meminimalisasi terjadinya
proses spamming. Para spammer memilki mesin untuk untuk melancarkan
aksinya. Ulah para spammer ini akan lebih terasa bagi kalian yang
memiliki blog/website tanpa software atau tools antispam. kalian akan
lihat banyak sekali comments yang isinya gak jelas (iklan atau
lain2nya).
History of Captcha ?
Pada awalnya Captcha di kembangkan oleh Altavista pada tahun 1997
bertujuan untuk memblok search otomatis terhadap URL search-engine
miliknya, setelah salah satu usernya melakukan submit otomatis sejumlah
URL untuk meningkatkan rangkingnya. Andrei Broder yang merupakan kepala
peneliti di Altavista dan rekannya berhasil menciptakan filter, yang
metodenya adalah menciptakan teks-teks yang tercetak diatas gambar2
sehingga tidak bisa dibaca mesin, tetapi dapat di baca manusia. Dan
filter yang selanjutnya di kenal Captcha ini dianggap berhasil
mengurangi jumlah spam ke Altavista sampai 95% sampai tahun
2002.Kemudian Captcha terus berkembang sampai saat
ini.http://www2.parc.com/istl/projects/captcha/history.htm
Altavista Captcha
http://i44.tinypic.com/r0codt.jpg
What Captcha Function ?
Nah trus apa sebenarnya fungsi Captcha ini ?? berikut fungsi - fungsi Captcha pada Umumnya .
1. Melindungi Komentar Web/Blog dari Spam
2. Melindungi Halaman Registrasi
3. Melindungi Email Address
4. Melindungi Polling Online
5. Melindungi dari BruteForce/Dictionary Attack
6. Melindungi dari Bot milik Search Engine
7. Melindungi dari Serangan Worms, DOS
Sedangkan Karakteristik Captcha menurut Wikipedia adalah:
1. Tidak bisa dipecahkan secara akurat oleh aplikasi yang ada saat ini
2. Dapat di mengerti oleh sebagian besar manusia
3. Tidak Bergantung kepada Jenis Captcha yang baru, tetapi terus berkembang
Type of Captcha ?
Ada banyak Type Captcha yang di kembangkan dan adapun beberapa tipe Captcha yang umum kita dapati:
1. Hard Recognized text
Captcha jenis inilah yang sangat banyak beredar, dimana Captcha tersebut
berupa teks yang sulit untuk di kenali, di acak bentuknya, dengan warna
yang beragam dan berbagai teknik untuk mempersulit aplikasi/mesin
mengenalinya.
2. Pattern Matching
Captcha jenis ini meminta user untuk memilih gambar yang sesuai dengang
kata yang diharapkan, atau juga mencocokkan gambar yang sejenis atau
mendekati (misal jenis mobil) dan dibuat dengan Flash
3. Sound Recognition
Captcha jenis ini sebenarnya pada awalnya merupakan versi Captcha untuk
mereka yang memiliki kelemahan dalam hal penglihatan, tetapi pada akhirnya
dikembangkan tersendiri, misal dengan penggunaan teknik "scramble voice"
Consep of Captcha ?
Konsep dasar dari captcha adalah mendistorsi string teks sehingga
semua automated scripts tidak bisa membedakan huruf individu. Seperti
yang kalian sadari, ini biasanya melibatkan backround yang
funky,horizontal dan vertikal line, atau squishing, rotating, dan
blurring teks sampai hampir tak bisa dikenali. Idenya adalah bahwa otak
manusia adalah sangat, sangat baik memilih/mengetahui kata-kata
dikaburkan seperti ini, sedangkan komputer tidak.Captcha pada umumnya
dapat berupa image, text, atau suara. Atau dapat juga berupa gabungan
dari 2 atau lebih dari jenis tersebut, misal text dan suara. Berbagai
macam algoritma yang digunakan untuk menciptakan capctha ini, namun juga
pada umumnya adalah seperti ini :
1. System akan membuat sebuah random text atau number (atau gabungan keduanya).
2. Nilai random ini kemudian disimpan sedemikian rupa, agar dapat
dibaca nanti. Umumnya orang lebih memilih menyimpannya dalam bentuk
Session, menimbang faktor perpindahan halaman web yang akan terjadi
nantinya.
3. Lalu, system akan mengenerate image, text, atau suara
(tergantung jenis captcha yang dipakai), dan menampilkan kehadapan user.
4. Setelah user selesai melakukan input, nilai input captcha ini
akan dicocokkan dengan nilai random yang sebelumnya telah disimpan
system, apakah cocok atau tidak.
Weakness of Captcha ?
salah satu kelemahan captcha biasanya :
* jika karakter Captcha terlalu aneh dan bentuknya tidak jelas,
maka user-lah yang akan repot. Mengapa? Karena user tidak bisa mengenali
tulisan apa yang ada di dalam gambar makanya biasanya user mengetikkan
kata yang salah sehingga sistem tak mau melayaninya karena kode yang di
inputkan tidak cocok.
* Kalau karakternya telalu sederhana kemungkinan para spammer bisa
saja mengeksploit untuk mengenali tulisan yang ada di image yang
kemudian diterjemahkan ke dalam teks seperti yang akan kita lakukan pada
artikel kali ini.
dan juga Penggunaan Captcha di situs kalian tidak berarti membuat
situs kalian aman dari SPAMMER dn lainnya.Dan hasil keliling sebentar di
berbagai situs news baik dalam dan luar negeri cukup mencengangkan,
karena rata-rata sudah memanfaatkan Captcha untuk halaman komentar dan
registrasi, tetapi lebih rata-rata lagi adalah hampir sebagian besar
Captcha yang di gunakan "vulnerable" terhadap eksploitasi yang akan
penulis tunjukkan kepada kalian.
Captcha Broker / Captcha Bypassed
Ya setelah kita mengenal sedikit tentang Captcha mari saatnya kita
melakukan exploitasi terhadap beberapa Captcha . pada kali ini si
penulis akan fokus ke exploitasi terhadap jenis captcha Hard Recognized
text.penulis akan menunjukkan seberapa gampangnya kita membaypass
captcha2 ini.kali ini penulis mengunakan bahasa pemrogramman python dan
mengunakan OS linux . dan ad beberapa library/module yang penulis
gunakan.
Prepare Your Tools/Module
0-> PyTesser adalah Optical Character Recognition modul untuk
Python.Dibutuhkan sebagai masukan gambar atau file gambar dan output
string.PyTesser menggunakan mesin OCR Tesseract, mengkonversi gambar ke
format yang diterima dan memanggil Tesseract yang dieksekusi sebagai
skrip eksternal.this is powerfull lib . :P
http://code.google.com/p/pytesser/downloads/list
0-> python ( <= 2 )
0-> Python Imaging Library (PIL)
Python Imaging Library (PIL) lib yang bagus untuk menambahkan
kemampuan pengolahan gambar untuk interpreter Python kita. lib ini
mendukung banyak format file, dan menyediakan pengolahan gambar yang
kuat dan kemampuan grafis.http://www.pythonware.com/products/pil/
Way to broken a captcha
1. Eksploitasi Aplikasi
Cara yang digunakan adalah dengan mengeksploitasi/mencari celah pada
aplikasi, untuk mem"bypass" mekanisme Captcha itu sendiri, misal dengan
memanfaatkan penggunaan Session secara berulang (attacker hanya perlu 1
kali menginput Captcha dan kemudian menggunakan session tersebut
berkali-kali), atau attacker secara langsung menuju halaman untuk "submit" form, tanpa harus melalui mekanisme Captcha.
2. Pemanfaatan Sumber Daya Manusia (relay attack)
Umumnya pihak yang berkepentingan akan secara langsung memperkerjakan
manusia untuk memasukkan kode Captcha dari suatu situs, baik
resmi(berbayar/pekerjaan) atau dengan cara menipu user untuk memasukkan
Captcha Challenge padahal Captcha Challenge tersebut adalah milik situs yang ingin di break Captcha-nya.
3. Script and Recognition Kits
Teknik ketiga inilah yang akan dibahas di artikel ini, teknik
ekploitasi ini juga memiliki beberapa fase dan tingkat kesulitan yang
sesuai dengan jenis Captcha yang akan di "break"/eksploitasi.
Ada beberapa tahapan untuk membaypass sebuah Captcha yaitu :
- Pre-Recognition (ambil image/gambar captcha)
- Processing (Image Processing, Segmentation, Pattern Matching, etc)
1. Pre-processing: Remove clutter dan noise background.
2. Segmentation : Splitting image kedalam wilaya yang masing-masing berisi karakter tunggal.
3. Classification: Mengidentifikasi karakter di setiap wilayah.
- Recognition/OCR
*Pre-Recognition
Langkah pertama dalam menyerang masing-masing jenis captcha
adalah dengan cara re-Recognition, yang pada dasarnya menghapus konten
yang bukan text - colorful atau distracting backgrounds,atau
crisscrossing lines dari - gambar. Untuk sebagian besar, ini tampaknya
mengejutkan/ ha; sepele: sebuah Gibbs de-noising algoritma
[http://en.wikipedia.org/wiki/Gibbs_algorithm] handal dapat
menghilangkan noise dan garis dari captcha, dan jika itu gagal, Hough
Transform algoritma biasanya bekerja
[http://homepages.inf.ed.ac.uk/rbf/HIPR2/hough.htm].bisa di lihat pada
gambar di bawah ini :
http://i44.tinypic.com/a1plbm.jpg
http://i43.tinypic.com/2mp9x60.jpg
*Segmentation
Setelah setiap baris dan background nois telah di hapus,langkah
berikutnya adalah untuk berperang melawan teknik anti-segmentasi yang
digunakan sehingga karakter masing-masing dapat dipisahkan ke dalam blok
sendiri untuk dianalisa lebih lanjut. Untuk sebagian besar, kalian bisa
melihatnya (paling jelas di Google captchas) adalah proses
anti-segmentasi yang paling umum.
Google captcha Dalam hampir semua captchas diuji, runtuh
diprediksi, dan dengan demikian sangat mudah untuk segmen: Jika captcha
selalu memiliki jumlah yang sama yang sama-lebar huruf dan angka, itu
hanya masalah pemotongan mereka sama. Captchas Google, di sisi lain,
terdapat beberapa huruf yang besar, sebagian kecil, beberapa diputar,
dan seterusnya.
http://i40.tinypic.com/15cijj9.jpg
http://i39.tinypic.com/b4cl8y.jpg
*Recognition
Langkah terakhir, sekali setiap huruf atau nomor telah benar
tersegmentasi, selanjutnya adalah pengenalan karakter
langsung/straightforward character recognition.Rotating dan skewing
dapat mencegah recognition.namun pada akhirnya pengenalan
karakter/character recognition adalah daerah yang sangat-canggih dari
computer vision. Jika Decaptcha akan melewati tahap segmentasi, captcha
yang sebagus rusak.
http://i40.tinypic.com/zk62s0.jpg
*OCR
OCR adalah aplikasi yang menerjemahkan gambar karakter (image
character) menjadi bentuk teks dengan cara mencocokkan pola karakter per
baris dengan pola yang telah tersimpan dalam database aplikasi.Misalnya
user menggambar suatu karakter alphabet pada bidang yang ditentukan
kemudian OCR akan mendeteksi apakah yang digambarkan tersebut mendekati
suatu karakter alphabet tertentu.Hasil dari proses OCR adalah berupa
teks sesuai yang tampak pada gambar output scanner dimana tingkat
keakuratan penerjemahan karakter tergantung dari tingkat kejelasan
gambar.
Weakness OCR ?
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.
Image processing
Image processing adalah suatu bentuk pengolahan atau pemrosesan
sinyal dengan input berupa gambar (image) dan ditransformasikan menjadi
gambar lain sebagai keluarannya dengan teknik tertentu. Image processing
dilakukan untuk memperbaiki kesalahan data sinyal gambar yang terjadi
akibat transmisi dan selama akuisisi sinyal, serta untuk meningkatkan
kualitas penampakan gambar agar lebih mudah diinterpretasi oleh sistem
penglihatan manusia baik dengan melakukan manipulasi dan juga
penganalisisan terhadap gambar.
Ok di karenakan limit kata postingan di batasi di web dcc jadi mungkin sedikit theory dari si penulis untuk postingan di sini selanjutnya kalian bisa melanjutkan membacanya dan melihat bagaimana cara captcha di broke dan di bypass mudah !! dengan example code code SMS SPAMMING !! dan juga solusi2 terbaru untuk model captcha yang baik langsung di blog si penulis !! jangan di lewatkan ... :P :
http://jimmyromanticdevil.wordpress.com/2011/12/18/the-secret-of-captchabreaking-captcha-n-new-captcha-solution/
|