Novi pristup u izgradnji CAPTCHA testova!

U posljednjih nekoliko godina sve više napora se ulaže u razvoj novih CAPTCHA sistema. Novi sistemi trebali bi biti otporniji na napade probijanja CAPTCHA testova, ali i dalje omogućiti ljudskim korisnicima da ih vrlo uspješno rješavaju. Neki od novih pristupa u izgradnji takvih sistema su primjena animiranog teksta, primjena 3D modela za stvaranje slika i primjena problema iz logičkih igara.
Animiranje teksta odnosi se na postupke stvaranja pokretnog teksta, odnosno teksta koji s vremenom mijenja svoja svojstva u prostoru. Na primjer, promjenom veličine, boje i pozicije animirani tekst može se koristiti za posticanje određenih tipova ugođaja prilikom čitanja teksta te naglašavanja pojedinih dijelova teksta. Stoga se pokretni tekst često koristi u umjetničkim djelima, te vizualnim djelima naglašenog dizajna. Sljedeća slika prikazuje nekoliko primjera isječaka animiranog teksta "Once upon a time".

Once upon a time

Animirani tekst može se koristiti za razvoj CAPTCHA sistema nove generacije. Naime, kao i kod CAPTCHA sistema zasnovanih na statičnom tekstu, i u sistemima s animiranim tekstom korisniku bi se prikazala slika teksta kojeg korisnik treba raspoznati. No za razliku od statičnog, animirani tekstualni CAPTCHA tekst mijenjao bi se u vremenu i time znatno otežavao razvoj računarskih programa koji bi probijali ovakvu zaštitu. Na primjer, znakovni elementi teksta bi se mogli pojavljivati različitim redoslijedom ili mijenjati svoju veličinu. Iako bi ovakva dinamična slika bila izuzetno težak problem za savremene sisteme za raspoznavanje teksta, pokazuje se da ljudi bez poteškoća pravilno raspoznaju prikazani tekst. Osim toga, isti tekst moguće je animirati na više načina, koristeći različite uzorke animiranja pojedinih znakova ili teksta u cjelini. Na taj način moguće je stvoriti jako velik broj CAPTCHA testova uz iznimno malu bazu znanja. Zbog opisanih svojstva, animirani tekst se pokazuje kao dobra osnova za stvaranje boljih CAPTCHA sistema.
Jedan od osnovnih nedostataka CAPTCHA sistema koji se zasnivaju na naprednom raspoznavanju elemenata fotografija i slika je otežano stvaranje velike baze znanja. Naime, kako bi se otežalo probijanje zaštite, potrebno je stvoriti dovoljno veliku bazu znanja što zahtijeva opisivanje svake slike u bazi bitnim osobinama, na primjer prikazanim elementima. Za proizvoljne fotografije i slike, ovaj postupak je izuzetno teško automatizirati, stoga ga načešće provode ljudi, zbog čega postupak postaje dugotrajan, mukotrpan, a ponekad i financijski neisplativ.

S ciljem rješavanja opisanih problema, počinju se razvijati CAPTCHA sistemi zasnovani na raspoznavanju elemenata slika koji automatski stvaraju bazu znanja. Primjer takvog sistema je i 3d-CAPTCHA sistem koji koristi jednostavne trodimenzionalne modele za automatsko stvaranje kompleksnih slika. Stvaranje i ocjenjivanje testova u 3d-CAPTCHA sisetemu može se podijeliti u četiri koraka: stvaranje biblioteke jednostavnih trodimenzionalnih modela, opisivanje osobina jednostavnih modela, stvaranje slike koja sadrži skup jednostavnih modela, odabir elemenata slike koje korisnik treba raspoznati u CAPTCHA testu. U prvom koraku, administrator 3d-CAPTCHA sistema samostalno razvija skup jednostavnih trodimenzionalnih modela. Razvijeni modeli stvaraju se primjenom primitivnih elemenata poput sfera, kocki i piramida. U drugom koraku razvijeni modeli formalno se opisuju skupom osobina s ciljem raščlanjenja na manje dijelove. U primjeru prikazanom na slici koja slijedi model čovjeka u pokretu opisan je skupom osobina, čime je model raščlanjen na dijelove ljudskog tijela, poput ruku, nogu i glave.

3d model čovjeka u pokretu opisan skupom osobina

Treći i četvrti korak rada 3d-CAPTCHA sistema potpuno su računarski automatizovani. U trećem koraku iz biblioteke se odabire skup jednostavnih modela te se modeli sastavljaju u jedinstvenu sliku raspoređivanjem po trodimenzionalnoj sceni. Odabir elemenata, raspored na sceni, te ugao gledanja scene može se napraviti na iznimno velik broj načina, čime se ujedno i jamči veliki broj različito stvorenih testova. Primjer na sljedećoj slici prikazuje dvije slike iste scene, ali promatrane iz dva različita ugla gledanja.

slika1 slika2

U četvrtom koraku, 3d-CAPTCHA istem odabire skup elemenata scene, te od korisnika traži da na prikazanoj slici pronađe zadane elemente. Ako su svi elementi na sceni obilježeni slovima abecede, od korisnika se traži da unese pravilnim redoslijedom slova koja odgovaraju traženim elementima. Primjer na sljedećoj slici scene na kojoj su svi elementi modela obilježeni slovima engleske abecede. Ako se za primjer na slici od korisnika traži da unese slova koja odgovaraju elementima vaze, glave čovjeka u pokretu, te naslona stolca, pravilan odgovor bio bi CT.

slika3

Osim prikazanih znanstvenih pristupa, krajnji korisnici Interneta počeli su zamišljati nove vrste CAPTCHA sistema. Primjer jednog od takvih sistama je i zamišljeni CAPTCHA sistem koji pred korisnika predstavlja težak šahovski problem, te traži da se odabere najbolji idući potez. Ovakvi sistemi su nepraktični budući da zahtjevaju ručno stvaranje šahovskih problema za koje će većina korisnika odabrati jednako rješenje, a računar neće. Primjer jednog takvog problema prikazan je na slici koja slijedi. U situaciji prikazanoj slikom, od korisnika se traži da odabere idući potez za bijele figure. Iako na prvi pogled izgleda da je najbolji potez da B4-A5, taj potez zapravo vrlo vjerojatno vodi ka porazu igrača koji vodi bijele figure. Najbolji potez za bijelog igrača je da ponudi podjelu bodova, budući da sa zadanim figurama ne može matirati protivnika, dok bi protivnik to mogao samo u slučaju da se naruši trenutni raspored pijuna. Upravo zbog složenosti opisane situacije, lošiji računrski programi sigurno bi odabrali potez B4-A5. Nažalost, taj potez odabrala bi i većina ljudskih korisnika.

Primjer šahovskog problema koji se može koristiti kao CAPTCHA test