Preskoči do glavnog sadržaja

Kontakt obrasce i druge forme često muče boljku za spamovima. Čišćenje neželjene pošte je naporno i troši vaše vrijeme, a ako imate stvarno puno spama prave poruke vam mogu i promaknuti. Potrebna nam je neka zaštita kako bi spamove dobivene preko web stranice smanjili na najmanju moguću mjeru ili čak posve eliminirali.

Što je CAPTCHA i kakva joj je namjena?

CAPTCHA (čita se kapča) je vrsta sigurnosne mjere koja se koristi da bi se odredilo je li korisnik čovjek ili robot, s ciljem da se spriječi pristup zlonamjernim računalnim botovima. Ako sustav zaključi da je korisnik stvarna osoba dopusti mu se prolaz, dok ako zaključi da je robot blokira mu se prolaz se sve dok ne prođe provjeru.

Neki od primjera gdje se koriste CAPTCHA testiranja:

  • spriječavanje objavljivanja neprimjerenih komentara i reklama na web stranicama
  • spriječavanje sirovih napada (eng. brute force) kojim botovi isprobavaju ogroman broj svih mogućih kombinacija korisničkog imena i lozinke sve dok jednom ne upadnu u sustav
  • spriječavanje automatskog prikupljanja podataka s web stranica, primjerice email adresa ili brojeva telefona
  • spriječavanje zloupotrebe usluga na stranicama, npr. kada botovi registriraju stotine korisničkih računa i automatizirano se prijavljuju u sustave te stvaraju štetu
  • spriječavanje manipulacije anketama, jer automatizirano glasanje za određenu stavku računalnim programom narušava vjerodostojnost rezultata

CAPTCHA ima nekoliko nedostataka a glavni je da takve testove ne odlikuje dobra pristupačnost jer su nepovoljni za osobe s invaliditetom (slabi vid, sljepoća). Dodatni problem je da ovakve zaštite smanjuju broj poslanih upita (prema nekim istraživanjima za oko 3%) jer dio korisnika izgubi volju za njihovim riješavanjem.

Tipovi CAPTCHA zaštite kroz povijest

Rani začeci

Prvi tip takve provjere bio je implementiran davne 1995. na sveučilištu u Hong Kongu kada su u anketi korisnici mogli glasati za najbolju pjesmu na stranici nacionalne radiotelevizije. Da bi se spriječilo računalno podizanje glasova korisnici su trebali prepoznati i unijeti šesteroznamenkastog broj koji je bio prikazan na slici prije nego što su bi im se omogućio glasovanje u anketi.

Drugi nama poznat test kreiran je 1997. za potrebe tadašnje popularne tražilice AltaVista, kako bi se botovima onemogućao automatiziran unos URL adresa u bazu podataka njegovog web pretraživača. Test je koristio generirane slike sa nasumičnim tekstom a uspio je smanjiti zloupotrebu tražilice za impresivnih 95%. Međutim, od tih vremena je i tehnologija botova unaprijeđena i morali su biti izmišljeni novi sustavi zaštite.

reCAPTCHA v1

Na sveučilištu Carnegie Mellon University u američkoj saveznoj državi Pennsylvaniji softverski inženjeri tražili su načine koji bi spriječili botove od pridruživanja chat sobama te spamanje reklamama. Došli su ideje da prikažu generirane znakove kao blago iskrivljen sliku – deformacijom i zaobljivanjem valovitom putanjom, zamućivanjem, mrljama i prekoračenim linijama, različitim veličinama znakova i prikazom znakova koji se međusobno djelomično prekrivaju, međutim ipak tek toliko jasno da korisnik može pročitati takvu riječ i točno je upisati za prolazak.

Ovaj test nazvali su CAPTCHA što je skraćenica od engleskog naziva Completely Automated Public Turing test to tell Computers and Humans Apart. Riječ Turing u nazivu odnosi se na britanskog matematičara Alan Turinga (1912. – 1954.) koji se smatra ocem modernog računarstva a glasovit je Turingov test kojim se testirala umjetna inteligencija.

Jedan problem je bio da korisni troše mnogo vremena za riješavanje takvih testova, postotak prolaznosti za ljude bio je tek 60-80% te su korisnici morali više puta raditi takve provjere da bi mogli obaviti ciljanu radnju što je dovodilo do frustracija. Prema istraživanju WebAIM-a takva Captcha je bila uvjerljivo najveći problem za pristupačnost korisnicima s ograničenjima (slabovidnost, sljepoća). Da bi CAPTCHA bila učinkovita protiv botova, potrebno je povećati deformacije u slikovnom i audio zapisu, što korisnicima dodatno otežavanja njihovo pogađanje. Drugi problem je bio da su botovi postali napredniji te su uspijevali probiti takve zaštite.

Tim je potom shvatio da bi mogli koristiti OCR tehniku (optičko prepoznavanje znakova, eng. Optical Character Recognition) kojom računalni softver skenira tekst iz knjige i prenosi ga u digitalni format. Prikazivanjem takvih isječka iz knjige, riječ po riječ, korisnici bi riješavanjem CAPTCHA-e pomogli sustavu da razvije inteligenciju toliko dobro da uspješno prenese cijelu književnu građu.

Takav sustav koristi poseban pristup za stvaranje takvih testova sačinjen od dva dijela: prva riječ je CAPTCHA test za koji u sustavu ne postoji točan odgovor, dok je drugi dio isti takav CAPTCHA test sustav zna točan odgovor. Korisnik treba odgovoriti na oba testa. Riješavanjem prvog dijela pomaže u digitaliziranju knjiga, dok drugi dio služi kao stvarni CAPTCHA test. Ovakav isti test se prikazuje velikom broju ljudi te se za odabire odgovor koji je ponudio najveći broj korisnika jer je on vjerojatno i točan.

Ishod je bio toliko uspješan da je New York Times 20 godina bio digitaliziran u roku nekoliko mjeseci a privukao je i Google kojem se sustav činio od velike koristi za svoje komercijalne ciljeve, te je stoga kupio radi digitalizacije Google books.

reCAPTCHA v1 službeno je prestala s radom 2018. pa ukoliko ste ju negdje imali implementirano potrebno ju je nadograditi.

reCAPTCHA v2

Krajem 2012. Google je objavio reCaptcha v2 što je znatno pojednostavilo cjelokupnu provjeru. Implentacija je prikazivala jednostavni potvrdni okvir “Nisam robot” koji je korisnik trebao samo kliknuti što je znatno olakšalo zadatak i ubrzalo cjelokupnu provjeru. Ako se pokaže sumnja da korisnik ipak možda nije čovjek, prikaže mu se dodatni test u obliku kviza i dodatno se traži da identificira par slika koje moraju zadovoljiti određeni upit – primjerice korisnik treba označiti sve mostove, brežuljke ili izloge trgovine između ponuđenih nasumičnih slika. Takve slike su obično bile preuzete iz projekta Google Street View.

Ovaj sustav je zbog jednostavnosti bio odlično prihvaćen te su ga brzo implementirale brojne tvrtke. Međutim ovakva reCAPTCHA je kritizirana zbog oslanjanja na praćenje kolačića čime se dovelo do pitanja privatnosti korisnika te na hoćeš-nećeš korištenje Google usluga, a otkriveno je da sustav favorizira one koji imaju aktivnu prijavu na Google račun a veći rizik onima koji su u inkognito modu ili koriste VPN usluge. Sustav koristi različite tipova prepoznavanja obrasca ljudskog ponašanja između ostalog i praćenje pozicije miša, točne pozicije na koje korisnici kliknu, koliko dugo se zadržavaju nad potvrdnim okvirom, zatim dalje sve kolačiće koje je Google postavio u zadnjih mjesec dana, tip i rezoluciju ekrana, datum, jezik, ekstenzije preglednika, IP adresu…

Postavilo se pitanje želi li Google samo identificirati jeste li čovjek, već zapravo točnije odrediti koji ste čovjek. Kombinacija kolačića i tzv. otiska u pregledniku može se povezati s određenim pojedincem a da većina korisnika ovim jednostavnim klikom na “Nisam robot” neće ni znati što se zapravo događa iza kulisa. No, otom potom…

Napredni botovi mogu uspjeti prepoznati koji objekt se nalazi na slici (auto, mačka itd.) te su i sustavi zaštite morali smišljavati nove zamke.

reCAPTCHA v3

Krajem 2018. Google je pustio u javnost treću verziju reCAPTCHA-e koji omogućuje vam provjeru je li korisnik pravi čovjek bez traženja ikakve njegove interakcije. Umjesto toga, takva CAPTCHA aktivno nadgleda radnje korisnika u cijelom sustavu i vraća rezultat vjerojatnosti radi li se o čovjeku ili botu. Dakle, implementacija takve verzije mora biti aktualna na svim web stranicama projekta, ne može se implementirati samo npr. na kontakt stranici. Google prikuplja sve moguće podatke o hardveru i softveru na kojem korisnik gleda stranice te podatke o samim web stranicama kao što su JavaScript skripte i CSS stilovi.

Je li Google time zadirnuo još više u privatnost korisnika? Moguće. Svakako ako koristite takve sustave zaštite trebali bi to napomenuti korisniku u izjavi o privatnosti.

Alternativne zaštite od neželjenih radnji

Postoji velik broj raznih CAPTCHA sustava i obično su više usmjereni na zaštitu privatnosti korisnika. Moguća su i neka alternativna rješenja za sprečavanje neželjene pošte.

hCaptcha

hCaptcha je sustav provjere autentifikacije koji kao i Google reCAPTCHA v2 ima provjeru pomoću slika koje korisnik treba označiti kako bi prošao test. Dodatno omogućuje provjeru čime se traži da korisnik odredi granice nekog predmeta na slici spajanjem točaka ali pruža i nevidljivu zaštitu baš kao reCAPTCHA v3.

Glavna razlika između ovog i Google rješenja je da hCaptcha drži do privatnosti i ne prati osobne podatke korisnika. Upravo svjetski popularni DNS servis Cloudflare prebacio se na hCaptchu navodeći zabrinutost zbog zadiranja Google sustava u privatnost korisnika.

Honeypot

Jedna od starijih metoda. Radi se o postavljanju praznih polja za unos koja su sakrivena korisnicima ali su vidljiva botovima jer se nalaze unutar koda. Ako se takva polja popune podacima, znak je da se vjerojatno radi o botu i sustav onemogućuje daljnji prolaz. Ako ostanu prazna, korisnik ih nije ispunio i poruka se šalje.

Pristupačnost ove metode može biti dobra ako se čitaču ekrana pravilno formatira kod pomoću ARIA tagova i korisnika upozori. Slabije sofisticirani botovi na ovakve zamke padaju, no u konačnici ovakva zaštita nije u potpunosti djelotvorna.

Brzina punjenja forme

Ova tehnika sastoji se u mjerenju vremena koje je potrebno da korisnik ispuni obrazac. Ako je taj proces vrlo brz, postoji velika vjerojatnost da se radi o zlonamjernom softveru. Ovakvu zaštitu je pogodno imati implementirano ali nije dovoljna da se na nju oslanjamo.

Akismet

Ukoliko su vam web stranice građene na WordPress platformi i kontakt forme su riješene preko Contact Form 7 dodatka, spam preko kontakt forma možete smanjiti instalacijom Akismet dodatka. Nakon instalacije potrebno je registrirati se na Akismet stranici te povezati polja za unos s Akismetovim opcijama. Akismet se može besplatno koristiti u nekomercijalne svrhe dok se za poslovne i komercijalne svrhe plaća na mjesečnoj bazi.

Sažetak

Dobivate li spam poruke preko kontakt obrasca? Slobodno nam se javite kako bi vašim osigurali zaštitu od takvih neželjenih poruka.

PODIJELI S PRIJATELJIMA:
Idi  na  vrh