Ar trebui să știți cu toții ce reprezintă “captcha” dar cu toate astea hai să facem un scurt istoric. Termenul de “captcha” vine de la “Completely Automated Public Turing test to tell Computers and Humans Apart” și reprezintă o imagine cu o serie de caractere distorsionate pe care un utilizator (uman) trebuie să le introducă înainte de a confirma o acțiune (de regulă login sau postarea unui text). Scopul principal este de a opri uneltele automate (scripturi, boti) să folosească anumite resurse.

Există câteva metode de-a trece un astfel de test, metode care sunt luate în calcul atunci când este dezvoltată o nouă versiune de captcha. În primul rând imaginile trebuie să fie generate automat și să  nu existe un grad ridicat de repetabilitate. În caz contrar, nu este decât o problemă de timp până când un atacator poate găsi perechile (cuvant / imagine) potrivite pentru a trece de test. O altă metodă este folosirea OCR (optical character recognition) pentru “citirea” textului. Asta este problema cea mai mare a implementărilor captcha pentru că textul trebuie să rămână îndeajuns de vizibil pentru a putea fi citit de un om dar trebuie să fie și suficient distorsionat încât să nu poată fi recunoscut de un program specializat. Și cum tehnica avansează destul de rapid acest lucru este din ce în ce mai dificil de realizat.

In February 2008 it was reported that spammers had achieved a success rate of 30% to 35%, using a bot, in responding to CAPTCHAs for Microsoft’s Live Mail service and a success rate of 20% against Google’s Gmail CAPTCHA. A Newcastle University research team has defeated the segmentation part of Microsoft’s CAPTCHA with a 90% success rate, and claim that this could lead to a complete crack with a greater than 60% rate.

O a treia metodă se bazează chiar pe factorul uman. Imaginile testelor captcha sunt folosite pe site-uri cu trafic mare apartinand atacatorului/atacatorilor și rezolvate în acest mod.

Și ajungem la subiectul principal al postului meu. Am urmărit de ceva vreme “buzz”-ul din jurul proiectului autohton AdCaptcha AdCaptcher“. Apărut inițial pe voxpublica unde a și stârnit niște reacții (oarecum copilărești) legate de “jena” de-a introduce anumite texte, proiectul pare a fi lăudat de toată lumea. Eu însă am câteva rezerve legate de funcționalitate și am încercat să aflu câteva detalii mai tehnice legate de proiect.

Cu excepția unei prezentări (100% marketing) și-a folosirii pe voxpublica n-am găsit însă nimic. Însă m-am jucat nițel cu implementarea de pe voxpublica și-am observat următoarea chestiune. Imaginea care formează testul este compusă din 2 jumătăți (imaginea este tăiată pe orizontală) și compusă ulterior cu ajutorul unui script. Deși la prima vedere URL-ul imaginii este generat unic la fiecare apariție a imaginii pe site de fapt acest lucru nu este adevărat. Luăm ca exemplu un link către jumătate de imagine pentru “money.ro”. Link-ul generat este :

http://www.adcaptcher.com/1266545375goIfQK0190110.png

La următoarea întâlnire a imaginii respective vom găsi ceva de genul :

http://www.adcaptcher.com/XXXXXXXgoIfQK0190110.png

Unde “XXXXXX” este un număr aleator cu cel puțin 1 cifră. Deci pot spune cu certitudine că toate link-urile către “xxxxxxgoIfQK0190110.png” duc către testul cu “money.ro”. Problem solved și nici n-am nevoie de OCR. Jumătatea de jos a imaginii complete este similar generată. Ce nu e tocmai ok ? Păi ia să recapitulăm. Avem niște imagini care pot fi ușor recunoscute de un soft OCR (money.ro cu alb pe fond verde e floare la ureche de exemplu). Avem un număr limitat de imagini (cred că n-am numărat mai mult de 10-15 “reclame” diferite) care generază testul captcha și care se bazează doar pe faptul că încă n-au apărut scripturile care să “citească” link-urile care compun imaginea (nu c-ar fi extrem de greu, eu am observat treaba cu link-urile în câteva minute de joacă și la cât de puține imagini sunt este suficient să “verifici” cu un script care-i jumătate de imagine ca să rezolvi testul). Și avem un mare buzz făcut în jurul proiectului. Și zău că nu-mi vine să cred că-s singurul care și-a pus întrebări vis-a-vis de funcționalitatea unui asemenea sistem.

Dacă tot vrem să îmbinăm utilul cu banii ce-ar fi să facem și noi ceva în stilul reCaptcha și să digitalizăm câteva hârțoage de prin bibliotecile naționale. Și putem să folosim în loc de cuvinte de control texte cu reclame. Sau doar fundal cu reclame. Sau mai bine lăsam locul reclamelor în alte zone și încercăm să fim nițel mai serioși cu chestiile legate de securitate că nu sună bine viitorul, zău.