studiu de caz : captcha
DESCRIPTION
O prezentare a programelor anti spam de tip CAPTCHA, reCAPTCHA precum si a altor modalitati de prevenire a atacurilor spam.TRANSCRIPT
CAPTCHA
CompletelyAutomatedPublic Turing Test To Tell Computers andHumans Apart
Pentru a preveni spam-ul(abuzuri, worm spreading, creare de multiple conturi de email, in mod automat, postare de mesaje automate
pe diverse site-uri, blog-uri etc
Utilizatorilor li se cere sa scrie o serie de caractere generate automat sub forma de
imagine asupra careia i se aplica o serie de transformari(rotiri, deformari). Pentru omul
obisnuit acest lucru nu e un mare impas dar pentru un bot de spam, spre exemplu,
interpretarea acelei imagini este dificila, daca nu imposibila.
Aproximativ 100 de milioane de CAPTCHAs sunt completate zilnic.
Pentru a nu pierde aceasta pretioasa munca umana, a aparut reCAPTCHA.
reCaptcha este fratele mai mic al proiectului CAPTCHA. In loc de 1 cuvant sub forma unor caractere alfanumerice, acum apar 2 cuvinte
amandoua din dictionarul englez. Twist-ul este acela unul din cuvinte este cuvantul de control, a carei secvente de litere se cunoaste, iar celalt este un cuvant scanat din una din zecile de mii de carti vechi ce urmeaza a intra in biblioteca
virtuala universala dar care nu a putut fi transcris automat de catre softul folosit.
reCAPTCHA : Cum functioneaza?
Pentru unul dintre cuvinte se stie deja raspunsul. Pentru celalalt nu. Cand o
persoana introduce cuvantul de control corect, celalalt cuvant introdus intra datorita
unui algoritm, in categoria de "maybe is valid". In cazul in care mai multi utilizatori
introduc aceleasi caractere pentru cuvantul necunoscut, cuvantul devine un "is valid". In cazul in care acelasi cuvant necunoscut este introdus in mai multe forme gresite, el intra in categoria "suspicious" si urmeaza sa fie trimis
in continuare ca un cuvant necunoscut.
Doar in cazul in care 3 utilizatori dau consecutiv aceeasi traducere cuvantului necunoscut, cuvantul necunoscut devine valid si este
introdus drept un cuvant de control.
Aceasta forta enorma de munca umana voluntara inseamna ~1.2 miliarde de cuvinte
introduse din care au rezultat aproximativ 440 de milioane de cuvinte traduse corect care, mai
tarziu, au intrat in posesia celor aproximativ 17600 de carti digitalizate.
Pentru a vedea cat de benefica este influenta reCAPTCHA, o serie de 50 de articole din 5 ani diferiti(1860, 1865, 1908, 1935) din publicatia New York Times a fost transcrisa manual de catre 2 profesionisti. Numarul total de cuvinte transcrise a fost de 24080. Acelasi lucru s-a
facut cu ajutorul reCAPTCHA.
Rata de erori a programului reCAPTCHA a fost de 0.9 % (216 greseli), deci o rata de succes de
99.1 %! Rata de erori a celor 2 profesionisti a fost putin mai mica(189 greseli)
Vulnerabilitati
Folosirea site-urilor pornografice pentru a rezolva multiple captcha. Cum? Atacatorii pot crea niste site-uri cu content pornografic pe
care apoi, o data la cateva minute, utilizatorii sa fie nevoiti sa rezolve CAPTCHA's pentru a
continua vizionarea pe site. Aceste rezolvari sunt trimise apoi robotilor si introduse ca fiind
corecte.
Folosirea fortei de munca din tarile de lumea a III-a pentru a rezolva captcha 8 - 10 ore pe zi, ca apoi acestea sa fie introduse intr-o baza de
date si folosite de catre bots.
Altele...
Alternative CAPTCHA
Unii programatori s-au gandit ca in loc de CAPTCHA sa foloseasca o intrebare simpla
sub forma unei ecuatii matematice(ex : 2 + 2 = ) si sa introduca raspunsul.
Altii s-au gandit sa puna o intrebare usoara sub forma "What is the second letter in the English
alphabet?"
O abordare ingenioasa a fost si aceea de a introduce intr-un formular de inregistrare o
optiune bifata cu textul afisat "Uncheck this if you are human".
Iar o solutie care imi place foarte mult este aceea ca in cadrul unui formular sa ai niste
field-uri ascunse pe care botii le completeaza iar oamenii nu pot.
Altele:
-verificare sms-contorizarea timpului petrecut pentru completarea formularului-detectarea incarcarii in pagina a JavaScriptului
Sfarsit.