• info@dcc-dp.id
  • Alamat: Jl. Perintis Kemerdekaan III, BTN Antara Blok A11/02 Tamalanrea, Makassar, Indonesia

the secret of captcha[breaking captcha n new captcha solution ]

Admins 5 Comments Desember 18, 2011

the secret of captcha[breaking captcha n new captcha solution ]

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 foto. foto 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 foto2 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 foto yang sesuai dengang
       kata yang diharapkan, atau juga mencocokkan foto 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 foto 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 foto atau file foto dan output string.PyTesser menggunakan mesin OCR Tesseract, mengkonversi foto 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 foto untuk interpreter Python kita. lib ini mendukung banyak format file, dan menyediakan pengolahan foto 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/foto 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 - foto. 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 foto 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 foto karakter (image character) menjadi bentuk teks dengan cara mencocokkan pola karakter per baris dengan pola yang telah tersimpan dalam database aplikasi.Misalnya user mengfoto suatu karakter alphabet pada bidang yang ditentukan kemudian OCR akan mendeteksi apakah yang difotokan tersebut mendekati suatu karakter alphabet tertentu.Hasil dari proses OCR adalah berupa teks sesuai yang tampak pada foto output scanner dimana tingkat keakuratan penerjemahan karakter tergantung dari tingkat kejelasan foto.
         
         Weakness OCR ?
         Tidak semua foto 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 foto (image) dan ditransformasikan menjadi foto lain sebagai keluarannya dengan teknik tertentu. Image processing dilakukan untuk memperbaiki kesalahan data sinyal foto yang terjadi akibat transmisi dan selama akuisisi sinyal, serta untuk meningkatkan kualitas penampakan foto agar lebih mudah diinterpretasi oleh sistem penglihatan manusia baik dengan melakukan manipulasi dan juga penganalisisan terhadap foto.


     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/

  • Share: