Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Windows 10
  • Trebalo vam je predugo da unesete captcha. Kako se dosadna CAPTCHA pretvara u apsolutno zlo

Trebalo vam je predugo da unesete captcha. Kako se dosadna CAPTCHA pretvara u apsolutno zlo

Pozdrav dragi čitaoci i gosti mog bloga. Danas ću vam reći kako zaštititi svoj resurs od neželjene pošte i spriječiti njegovo širenje. Pogledajmo proces instaliranja i korištenja ekstenzija za provjeru na vašoj web stranici.

Svaki dan se mnogi korisnici interneta susreću sa takvom stvari kao što je captcha. Ovaj članak će govoriti o tome što je captcha i zašto je potrebna.

Captcha - šta je to?

Captcha je verifikacioni test koji generiše program koji se koristi za utvrđivanje ko je korisnik: bot, koji se koristi za slanje neželjenih poruka, ili osoba (sa engleskog Captcha). U većini slučajeva to je slika sa iskrivljenim skupom slova. Pored slike nalazi se polje u koje mora uneti znakove sa slike. U posljednje vrijeme često se koriste i druge vrste captcha. Potrebno je da od nekoliko ponuđenih odabere jednu odgovarajuću sliku ili da stavi kvačicu na određeno mjesto na ekranu.

Njegova glavna svrha je da zaštiti određene dijelove resursa od robota koji su napisani za raščlanjivanje i slanje neželjene pošte. Činjenica je da su sada svi sistemi reklamne pošte već automatizirani, a ljudi koji šalju neželjenu poštu ne moraju sami registrirati račune.

Captcha je vrlo korisna za vlasnike resursa, jer se spam može ukloniti samo na ovaj način. Da nije bilo zaštite u vidu uvođenja provjere koda, tada bi na najpopularnijim portalima i forumima bilo mnogo botova koji šalju neželjene poruke.

Kako koristiti Google captcha na svojoj web stranici

Google nudi besplatnu uslugu pod nazivom Google reCAPTCHA, koja pruža captcha zaštitu za različite oblike unosa podataka.

Kako instalirati captcha na svoj resurs? Da biste koristili ovu uslugu na svom forumu, morate izvršiti niz radnji o kojima će biti riječi u nastavku:

  • Morate se prijaviti na postojeći ili registrirati novi Google račun;
  • Zatim morate otići na stranicu usluge reCAPTCHA i u polje koje se pojavi unesite adresu vašeg portala. Zatim kliknite na dugme "Registracija", nakon čega će se otvoriti stranica s generiranim ključevima;
  • Ako imate određeno znanje iz programiranja, možete sami obaviti reCAPTCHA integraciju. U suprotnom, morate koristiti posebne dodatke koje je potrebno instalirati i aktivirati;
  • Sljedeća faza je podešavanje.Da biste to učinili, u bočnom meniju admin panela potrebno je kliknuti na instalirani dodatak, nakon čega se pojavljuju obrasci koje je potrebno popuniti API ključevima;
  • Za one koji koriste reCAPTCHA, dostupna su sljedeća podešavanja: mogućnost uključivanja i isključivanja captcha kucanja tokom autorizacije i registracije, promjena šeme boja, promjene jezika kucanja.

Priložit ću video o postavljanju ove komponente na mojoj web stranici:

Primjeri ekstenzija za instaliranje captcha

Danas postoji veliki broj captca dodataka za WordPress sistem. Nekoliko najpopularnijih alata u ovoj kategoriji zaslužuju posebnu pažnju. Svaki od ovih dodataka ima drugačiji konceptualni pogled i ima niz prednosti.

Captcha

Ovo je jedan od najpopularnijih dodataka, jer je jednostavan i jednostavan za korištenje, u njemu nema ništa suvišno. Koristeći efikasne logičke sklopove, dodatak može u potpunosti zaštititi vaš portal od neželjene pošte. Njegove glavne prednosti su:

  • Potpuno kompatibilan sa ContacForm-om;
  • Jednostavnost instalacije;
  • Mogućnost korištenja digitalnog, verbalnog ili mješovitog prikaza.

Captcha kod

Dodatak može dodati zaštitu svim obrascima na resursu. Tekst koji treba da unesete prikazuje se kao plava slova i brojevi sa precrtanim linijama, koje štite od raznih programa za prepoznavanje. Zahvaljujući tome, spam se gotovo nikada ne pojavljuje na resursima na kojima je instaliran ovaj dodatak. Izvođačima je prilično lako prepoznati kod. Dodatak ima mnogo postavki - administrator može odabrati broj znakova u captcha, kao i za koje forme će ga prikazati. Glavne prednosti:

  • Brzina podešavanja;
  • Čitljivost teksta;
  • Programi za prepoznavanje teksta teško mogu zaobići dodatak.

WP-reCAPTCHA

Ovaj dodatak je jedan od najpopularnijih jer pruža najbolju zaštitu, ali u nekim slučajevima neće svi izvođači moći prvi put unijeti ispravan kod. Administratori mogu promijeniti dizajn captcha prozora, kao i postaviti ga u bilo kojem obliku. Glavne prednosti su sljedeće:

  • Najbolja zaštita za lot botove;
  • Podrška za više jezika;
  • Sposobnost slušanja koda.

Zaista jednostavna CAPTCHA

Odlikuje se lakoćom instalacije i konfiguracije. U početku je ovaj portal kreiran kao dodatni modul za plugin Kontakt obrazac. Sve captcha koje se pojavljuju prilikom popunjavanja obrazaca spremaju se u privremenu mapu i teže nekoliko kilobajta. Među prednostima su:

  • Ozbiljna prepreka za botove;
  • Lakoća prepoznavanja teksta;
  • Podržava više jezika.

Sigurna CAPTCHA

Dodatak se razlikuje po tome što koristi ručno pisani kod, što značajno otežava rad programa za dešifriranje za hakiranje. Za izvođače će takva captcha također biti pomalo teška. Da biste instalirali ovaj dodatak, morate se registrirati na web stranici programera i dobiti posebne ključeve.

Kako zaraditi na captcha

Zarada na captcha jedan je od najjednostavnijih i najlakših načina da zaradite novac na internetu, jer korisniku nisu potrebne nikakve profesionalne vještine. Plaćanje za jedan captcha je prilično nisko. Ako tome posvetite nekoliko sati dnevno, možete zaraditi prilično dobar iznos novca unosom captcha. Među širokim izborom stranica za zaradu captcha, možemo izdvojiti 5 najboljih. Plaćaju više, a postoji i garancija da će vaš rad biti plaćen.

RuCaptcha

RuCaptcha je najpopularnija stranica za zarađivanje novca na RuNetu. Servis rješava probleme vezane za dekodiranje različitih slika koje koriste različiti resursi za zaštitu od programa, što webmastera oslobađa monotonog rada. Minimalna cijena za captcha je 0,01 rub.

Jedna od glavnih karakteristika je da se noću cijena rada udvostručuje. Takođe, ako izvođač ima visoku ocjenu, nailazi na captcha s većom vrijednošću. Morate unositi znakove sa oprezom, jer usluga ne toleriše greške. Na prve greške korisnik će biti upozoren, a kod narednih grešaka nalog može biti blokiran na neko vrijeme, od nekoliko minuta do dva dana. U poređenju sa drugim servisima za zaradu, RuCaptcha ima sledeće prednosti:

  • Pogodan eksterni interfejs;
  • Isplata zarađenog novca je moguća na takve sisteme plaćanja - Yandex.Money, WebMoney, OKPAY;
  • Za unos složenih captcha, korisnik može dobiti dodatni novac;
  • Mogućnost odabira captcha samo na ruskom ili engleskom jeziku;
  • RuCaptcha se stalno poboljšava.

2Captcha

2Captcha je portal na engleskom jeziku za zaradu na captcha, koji je jedan od prvih koji se pojavljuje na ovim prostorima. Izgled je uređen u istom stilu kao Yak i RuCaptcha. Na stranici stalno radi nekoliko stotina hiljada korisnika. Algoritam rada je sljedeći: Korisnik se prijavljuje u sistem, nakon čega mu webmaster šalje zadatak. Ako ima više izvođača, zadatak se šalje onome koji najduže čeka. Cijena 1000 unesenih captcha počinje od 35 centi, a može dostići i 80 centi za unos složenijih captcha.

2Captcha je provjerena stranica na kojoj nikada nema kašnjenja u isplati novca. Minimalni trošak povlačenja je 0,5 USD. Isplata se može izvršiti na WebMoney, PayPal, kao i na Visa i MasterCard bankovne kartice.

Megatipovi

Ovaj portal je nastao relativno nedavno, ali je za kratko vrijeme postao jedan od najpopularnijih. Portal je strani, tako da je interfejs u potpunosti na engleskom jeziku. Za razliku od drugih stranica, na ovoj stranici korisnici mogu zaraditi novac prepoznavanjem audio captcha. Sajt takođe ima prilično dobro implementiran sistem preporuka, koji omogućava izvođaču sa velikim brojem preporuka da dobije dobre dividende. Za registraciju naloga na Megatypers morate unijeti pozivni kod. Naknada za captcha može biti do 0,01 USD. Minimalni iznos za isplatu je 3 USD. Novac se isplaćuje svakog ponedjeljka.

Kolotibablo

Ova usluga je prva među stranicama koje su specijalizirane za unos captcha. Vremenom je modernizovan i sada ima veoma lep dizajn. Captcha su dostupne i na ćirilici i na latinici. U prosjeku, cijena 1000 captcha je 0,7 dolara. Za složenije zadatke možete zaraditi do 1,5 USD. e. Plaćanje se vrši na Yandex.Money, Qiwi Wallet, Paypal, Payza sa minimalnim iznosom od 1 dolara.

Antigate

Antigate je popularan portal na RuNetu koji je funkcionalno vrlo sličan Kolotibablu. Za jednu unesenu captcha, izvođač prima 0,02 rubalja ili više. Antigate ima partnerski program koji obezbeđuje 10% plaćanja za izvođače pozvane u sistem. Povlačenje zarađenih sredstava vrši se putem platnog sistema WebMoney. Isplate počinju od $2.

Koristite ove metode i ne propustite neželjenu poštu na svom resursu, a ako imate slobodnog vremena, ne zaboravite dodatno zaraditi. Sve najbolje -))).

Odlučio sam da napravim kratku pauzu od objavljivanja ovog PHP okvira i pređem na nešto drugo kao „aktivnu rekreaciju“.

Stoga sam odlučio s vama razgovarati o jednom vrlo uobičajenom mehanizmu cyber odbrane koji vam omogućava da spriječite mnoge automatizirane napade na web stranice i koji se danas koristi do 320 miliona puta dnevno.

Ne možete pogoditi o čemu ćemo razgovarati?

Sve navedeno govori o CAPTCHA-i koju je vjerovatno 90% svih korisnika interneta vidjelo i koristilo, ali, nažalost, ne znaju svi u potpunosti što je captcha i koje probleme može riješiti.

Šta je captcha?

U pretraživačima svaki dan mnogo ljudi unese upit “CAPTCHA prijevod”. Međutim, ni u ovom ni u drugim sličnim člancima nećete naći tačan odgovor na ovo pitanje.

CAPTCHA nije samo neki posebno izmišljen pojam, već skraćenica za riječi Potpuno automatizirani javni Turingov test za razlikovanje računara i ljudi, što doslovno znači „potpuno automatizirani javni Turingov test za prepoznavanje računara i ljudi“. Stoga je ispravno ovu riječ pisati velikim slovima.

U segmentu interneta na ruskom govornom području često se naziva “catcha”, jer Otprilike ovako se CAPTCHA izgovara na ruskom. Velika slova su izostavljena, zbog čega je istorija riječi "captcha" možda nova za neke čitatelje, ali pomaže u praćenju logičke veze između nje i "automatiziranog Turingovog testa".

Mislim da samo dekodiranje kratice savršeno objašnjava šta je CAPTCHA. Jedina nejasnoća je možda Turingov test... Ako mislite da ću vas u ovom trenutku opteretiti gomilom formula i definicija, varate se :)

Reći ću vam par riječi o ovome što je jasnije moguće kako biste proširili vidike, inače možete naići na riječ u križaljci i nećete znati šta je :)

Živeo je jednom davno (naime, početkom 20. veka) engleski matematičar po imenu Alan Turing. Ličnost je, inače, prilično poznata u uskim krugovima, koja je smislila mnogo dobrih stvari, zbog čega su čak i počeli da snimaju filmove o njemu (upravo je to tip koji igra Benedict Cumberbatch u filmu “The Igra imitacije”).

Tako mu je jednog dana pala na pamet misao „može li mašina misliti?“. Kako Alan Turing nije bio glupa osoba, kao što ste možda primijetili, rezultat njegovih razmišljanja bio je test, čija je svrha upravo da utvrdi ko je od sagovornika osoba, a koji kompjuter.

Test je prvi put opisan davne 1950. godine i nazvan je u čast svog tvorca, po kojem je poznat do danas - Turingov test.

Klasični Turingov test je kada osoba (sudija) komunicira sa kompjuterom i stvarnom osobom putem tekstualnih poruka. Ako sudija ne može odrediti “xy od xy”, tj. Ko je od sagovornika čovek, a ko kompjuter, onda se smatra da je mašina položila test.

Ali pogrešno je misliti da je vrlo jednostavno i lako izložiti kompjuter :)

Koriste se razni trikovi da zbune sudiju. Prije svega, sam tekstualni format komunikacije, tako da čovjek ne bi mogao prepoznati mašinu po glasu ili nekim drugim znakovima, a kompjuter da pokaže svoju inteligenciju, a ne sposobnost prepoznavanja ljudskog govora (iako, sudeći po današnjim videa sa robotima, za ove momke uskoro neće biti problema ni sa prvim ni sa drugim).

Osim toga, poruke od osobe i kompjutera šalju se u istim intervalima tako da sudija ne može da pronađe kompjuter na osnovu brzine njegovog odgovora.

Ali, uprkos svim ovim trikovima, već 1966. godine (vau, "već" - 16 godina kasnije!) pojavio se kompjuterski program poetskog imena ELIZA, sposoban da prođe ovaj test. Mnogi pametni ljudi još uvijek sumnjaju da li eksperiment s Elizom treba smatrati Turingovim testom ili ne, ali ostaje činjenica da je komad hardvera mogao zbuniti ljude.

Dakle, CAPTCHA je moderan Turingov test koji pomaže da se roboti automatski odvoje od ljudi. Samo kompjuterski algoritam djeluje kao sudija. Zbog toga se captcha ponekad naziva obrnutim Turingovim testom.

A ako ne prođete ovaj test, onda svojim postupcima govorite da se ne razlikujete od robota bez duše, a ponekad čak i gluplji kada ga je ovaj mogao proći :)

Osim toga, u nekim slučajevima, uz određeni broj neuspješnih pokušaja, i dalje možete biti banovani putem IP adrese na stranici. Nadam se da će vas ovo motivirati da budete odgovorniji kada sljedeći put unosite captcha :)

Inače, uprkos činjenici da je sam Turingov test izmišljen 1950. godine, CAPTCHA je prilično mlad fenomen. Izumi slični modernoj captcha pojavili su se relativno nedavno - 1997. godine, a sam termin je skovan 2003. godine.

Mislim da sada razumijete šta je captcha, kako se pojavio i kada. Jedino pitanje je "Zašto?" To je dobro pitanje, pa neću dugo čekati da odgovorim :)

Postavlja se pitanje: zašto je bilo potrebno, koristeći CAPTCHA, utvrditi ko je posjetio stranicu: osoba ili robot?

Činjenica je da su roboti u svijetu interneta posebni automatizirani programi koji nisu uvijek kreirani da donesu korist. Ovo može biti širenje neželjene pošte ili čak hakovanje resursa.

Usput, čak i ako pokušate automatski pogoditi lozinke ili poslati neželjenu poštu na nezaštićene stranice, možete im nanijeti ozbiljnu štetu, stvarajući veliko opterećenje na serveru, što će uzrokovati da stranica prestane raditi.

Stoga je najvažnija svrha captcha-e osigurati sigurnost stranice blokiranjem napada i izvođenjem automatskih radnji pomoću raznih zlonamjernih programa.

Još jedan odgovor na pitanje zašto je potrebna CAPTCHA je prepoznavanje skeniranih knjiga i drugih štampanih publikacija. Kako?

Ako ste i sami ikada pokušali sami digitalizirati knjige koristeći Adobe FineReader ili sličan program (ne znam za vas, ali u studentskim godinama sam to često radio kada sam pisao eseje i nastavne radove 🙂), onda znate da je prepoznavanje daleko od 100%.

Ovo je uprkos činjenici da se većina knjiga štampa standardnim štamparskim fontom. Za rukopise, programsko prepoznavanje je praktično nula.

Dakle, kreatori CAPTCHA (posebno kreatori Google reCAPTCHA prvi su koristili ovaj mehanizam u tu svrhu) odlučili su iskoristiti ovu okolnost. Sastavljali su riječi koje program nije prepoznao, a zatim su prikazivane kao captcha slike tražeći od stvarnih ljudi da unesu ono što vide.

Na ovaj način prikupljena je baza podataka opcija za dekodiranje teško prepoznatljivih riječi i istovremeno korisnici dokazali da su stvarni ljudi, jer uspjeli prepoznati ono što su vidjeli, što nas razlikuje od robota. Što se mene tiče, briljantan je, kao i sve ostalo na Guglu, striktno govoreći :)

Jedina stvar koja meni lično ostaje nejasna u cijeloj ovoj priči je kako su ljudi položili captcha sa teško prepoznatljivim znakovima, ako za takve možda postoji nekoliko mogućih tačnih odgovora? Google, naravno, neće otkriti svoje tajne.

Ali da sam lično razvijao ovaj mehanizam za prepoznavanje teksta od strane korisnika koji koriste captcha, onda bih odabrao neku manje-više sličnu verziju onoga što je prikazano na slici, kako bi se njome moglo provjeriti odgovor korisnika.

Ili bi jednostavno tu opciju koju je korisnik unio kao opciju odgovora i svjesno tražilo od korisnika da ponovo unese captcha s čitljivijim nizom znakova za koje postoji odgovor, kako korisnik ne bi pomislio da je je bio prevaren i ne bi povećao broj pogrešnih pokušaja, zbog kojih ponekad dobiju zabranu.

Inače, druga opcija mi se mnogo više sviđa, jer... uz njegovu pomoć možete prikupiti bazu tačnih korisničkih odgovora, s oko 10 gotovih captcha s odgovorima na ulazu. Ostatak će biti naplaćen automatski. Sve što trebamo je analizirati i obraditi odgovore korisnika.

Zahvaljujući svemu navedenom, kreatori reCAPTCHA promovišu svoj projekat pod sloganom “Stop spamu – čitaj knjige!” I moram reći - radi :)

Prema zvaničnim informacijama kreatora reCAPTCHA, Louisa von Ahna, njegova captcha se koristi do 100 miliona puta svaki dan, što dovodi do otprilike 2,5 miliona pročitanih knjiga godišnje.

Google je kupio reCAPTCHA 2009. i počeo ga koristiti za digitalizaciju arhive novina New York Timesa od 1851. do danas i knjiga iz Google Booksa do 2011. godine. 2012. godine, kada su ti resursi iscrpljeni, Google je počeo da prepoznaje brojeve zgrada i slike sa Google mapa i Google Street Viewa, što je još jedan zadatak koji se može riješiti korištenjem captcha.

Zašto sam odjednom odlučio da selektivno pričam o Google reCAPTCHA? Da, jer se radi o Googleovom proizvodu, koji se smatra generatorom raznih standarda u području weba, cyber sigurnosti i drugih područja. Stoga je reCAPTCHA današnji nezvanični captcha standard - jednostavno je :)

Stoga će se pojaviti više puta u tekstu ovog članka.

Vrste captcha

Captcha se temelji na gore opisanom principu: kreirajte zadatak koji osoba može podnijeti, ali program ne može.

U pravilu, odabrani zadatak nije jako težak, tako da se većina ljudi može nositi s njim. Na kraju krajeva, svrha captcha nije da odredi korisnikovu inteligenciju, već jednostavno njegovu sposobnost da prepozna ono što vidi ili čuje i misli.

Mada, ne bi me iznenadilo da na nekom matematičkom forumu možete pronaći captcha u obliku diferencijalne jednadžbe ili neki problem iz Eysenckovog testa (i uvijek tempiran) s ciljem da izbacite ljude sa niskim IQ-om :)

U početku, da bi se postigao ovaj cilj, CAPTCHA je bio niz izobličenih slova, brojeva i drugih simbola koji su posebno prolazili kroz različite filtere za buku, rotirali i zakrivili. Ali s vremenom su se pojavile druge vrste CAPTCHA-a koje odvajaju robote od ljudi koji koriste druge zadatke.

1. Grafički captcha

Kao što je već spomenuto, najstarija vrsta captcha. To je slika sa nizom iskrivljenih znakova (slova, brojevi i specijalni znakovi).

Navedeni tekstualni niz implementiran je u obliku slike, gdje su slova nagnuta, precrtana, a na sliku se primjenjuju različiti filteri boja i šuma. Sve što trebate učiniti da riješite captcha u ovom slučaju je da unesete znakove prikazane na slici u posebno polje u tekstualnom obliku.

Još uvijek ga uspješno koriste resursi kao što su Yandex i Vkontakte.

I mene je iznenadila tako lijepa verzija Yandex captcha, na koju sam naišao upravo dok sam pisao ovaj članak :)

2. Logički captcha

U ovom slučaju, captcha provjerava prisutnost logike kod osobe koja je položi, a samim tim i sposobnost razmišljanja koristeći različite zadatke.

To može biti:

  • aritmetički primjeri (na primjer, 2+3=?);
  • zadaci odabira određenih objekata od predloženih (pronaći ženu na svim fotografijama, muškarca s podignutom rukom, životinje, automobile, itd.);
  • navođenje određene cifre iz niza brojeva (na primjer, odaberite treću cifru iz broja 2312145);
  • odabir riječi koja počinje na određeno slovo (na primjer, trebate odabrati riječ koja počinje na “c” među “žvakaća guma, daska, stolica”);
  • Broj sa slike napišite slovima i obrnuto.

Najzanimljivija logička captcha koju sam vidio je Facebook CAPTCHA, koja zahtijeva da odaberete ime svog prijatelja na fotografiji. izgleda ovako:

3. Behavioral captcha

U tom slučaju, korisnik je dužan izvršiti određenu radnju kako bi dokazao da nije robot.

Može biti bilo šta. Počevši od banalnog polja za potvrdu pored polja „Slažem se sa uslovima ugovora“, koji su mnogi od vas vidjeli i koji je, u stvari, također captcha. I za kraj sa nečim sofisticiranijim :)

Među najčešćim primjerima bihevioralnog captcha su sljedeći:

  • pomicanje klizača u određeni položaj;
  • Rotirajte sliku na određenu poziciju (vertikalno, horizontalno).

Ranije je bihevioralna i logička captcha koja se istovremeno koristila za sastavljanje slike od fragmenata (tzv. captcha slagalica, jer je radila na ovom principu) još uvijek bila vrlo popularna.

Ali najzanimljivija bihevioralna captcha na koju sam naišao je specijalizirana radiotehnička captcha, koju mogu ispuniti samo stručnjaci za radiotehniku. Ali postoji podsticaj da se upiše na radiotehnički fakultet i studira 5 godina na fakultetu :)

4. Zvuk captcha

Sve gore navedene CAPTCHA opcije ne predstavljaju poteškoće stvarnim korisnicima web stranice, jer... Za njihovo rješavanje dovoljna je ljudska vizualna percepcija, koju kompjuterski programi nemaju.

Ali ovdje se postavlja pitanje: šta je sa slabovidnim korisnicima računara ili čak slijepim osobama? Upravo za ovu kategoriju ljudi kreirana je audio captcha.

Da budem iskren, meni lično nije jasno kako će slijepa osoba uopće doći do gumba da uključi audio captcha i vidi gdje da unese znakove, ali će barem moći to dovršiti, kako tvrde programeri .

Svi su to vjerovatno vidjeli na Google reCAPTCHA.

Da budem iskren, nikada nisam vidio nezavisnu audio captcha. Možda je dostupan na nekim resursima za slabovide, ali ja tamo nisam čest posjetilac.

Iz tog razloga, stavio sam ovu vrstu CAPTCHA na kraj liste.

Što se tiče sada popularne Google reCAPTCHA - ako ste je pažljivo proučili, mogli biste se uvjeriti da ne pripada nijednoj specifičnoj vrsti captcha, već da je kombinirana.

U prvoj verziji reCAPTCHA kombinirao je grafički i audio captcha, a od 2015. godine, kada se pojavio noCAPTCHA reCAPTCHA, postao je bihevioralni, logički i audio captcha u isto vrijeme. One. ima još jedan stepen zaštite.

Gdje možete pronaći captcha na stranici?

Kako smo već saznali, CAPTCHA se koristi na web stranicama za identifikaciju robota i sprječavanje njihovih radnji. Stoga, kako biste utvrdili gdje se koristi captcha, morate napraviti popis radnji koje roboti najčešće izvode na web stranicama.

Među njima:

  1. Slanje neželjene pošte u obliku komentara sa linkovima na druge resurse.
  2. Registracija korisnika za obavljanje raznih radnji sa ciljem hakovanja sajta i ponovnog slanja neželjene pošte.
  3. Odabir lozinke za prijavu na stranicu pod računom postojećeg korisnika.
  4. Varanje lajkova, prijatelja, pregleda, preuzimanja i drugih radnji za koje možete dobiti novac kako biste zaradili novac bez izvođenja ikakvih radnji.
  5. Parser roboti koji kradu sadržaj web stranice. Sada možete dobiti zabranu na pretraživačima zbog takvih stvari, ali mislim da neke online trgovine to još uvijek rade.

Shodno tome, captcha se instalira kako bi se spriječilo automatsko izvršavanje određenih radnji i stoga se captcha najčešće može naći na sljedećim mjestima:

  1. Obrazac za registraciju na sajtu.
  2. Obrazac autorizacije na resursu.
  3. Obrazac za komentare.
  4. Obrazac za oporavak lozinke.
  5. Obrazac za preuzimanje fajla.

Ponekad se CAPTCHA pojavljuje kada prečesto izvodite neku radnju (kao, dodavanje prijatelja, klik na oglas, itd.).

Ali najvećim dijelom, kao što ste možda primijetili, captcha je još uvijek obavezan element raznih web formi putem kojih korisnik stupa u interakciju s web-mjestom. Ako ste zainteresirani, preporučujem da pročitate članak na linku, koji osim opisa principa rada sadrži 2 radna primjera instaliranja captcha na web stranicu vlastitim rukama.

Ovim je završen današnji članak o tome što je captcha. U njemu sam na najrazumljivijem i najpristupačnijem jeziku pokušao da vam kažem šta je CAPTCHA, a razgovarali smo i o tome zašto je potrebna i koje vrste captcha se danas mogu naći.

U sljedećim publikacijama reći ću vam kako captcha funkcionira, razmotriti proces instaliranja reCAPTCHA na web stranicu i kako ga razviti od nule, kao i informacije za webmastere i obične korisnike bez web stranice i posebnog znanja.

Podijelite svoje mišljenje u komentarima ispod članka i ne zaboravite se pretplatiti na ažuriranja projekta kako biste bili informirani o objavljivanju novih članaka.

A za desert, skrećem vam pažnju na video koji me inspirisao da napišem ovaj članak i dovoljno detaljno govori o captcha, a posebno o Google reCAPTCHA.

Nabavite kokice i uživajte u gledanju.

Pozdrav, dragi čitaoci blog stranice! Još jedan koncept s kojim se skoro svi korisnici interneta susreću prije ili kasnije i s kojim bih vas želio upoznati je captcha. Mislim da su mnogi, prilikom registracije ili prijavljivanja na web stranice (i ne samo) već morali popuniti dodatnu kolonu.

Da biste uspješno dovršili proces, obično trebate unijeti brojeve, slova ili čak cijele riječi, prikazane na slici koja se odmah nudi, u većini slučajeva u iskrivljenom obliku (koristeći zamućenje, primjenom raznih vrsta efekata itd.).

Takve jedinstvene zagonetke mogu biti bilo šta. Na primjer, vjerovatno će od vas biti zatraženo da unesete rezultat jednostavne aritmetičke operacije ili da rasporedite slike po određenom redoslijedu povlačenjem i ispuštanjem.

Šta je captcha i vrste ove zaštite od automatizovane neželjene pošte

Svi ovi genijalni zadaci i testovi koji zahtijevaju izvođenje radnji svojstvenih osobi stvoreni su, naravno, s razlogom, ali imaju određeni cilj. Koji? O tome će biti riječi u nastavku u ovoj publikaciji.

Dakle, hajde da odmah razjasnimo stvari. Riječ "captcha" na ruskom jeziku dolazi od složene engleske skraćenice CAPTCHA (Potpuno automatizirani javni Turingov test za razlikovanje računara i ljudi), što u punom prijevodu na ruski znači "potpuno automatizirani javni Turingov test za prepoznavanje računara i ljudi".

Zašto je osmišljen ovaj test? Činjenica je da među njima nema sasvim (pa čak ni nimalo) legalnih, čiji je važan dio slanje neželjene pošte (), što je prava katastrofa za korisnike World Wide Weba.

Kako bi se obogatili, spameri maksimalno koriste sva raspoloživa sredstva. U tu svrhu masovno se registruju na raznim resursima, uključujući forume i društvene mreže. Na primjer, u RuNetu je stranica VKontakte posebno popularna u tom pogledu (i detalji o ovoj društvenoj mreži).

Međutim, kao što razumijete, ne možete mnogo toga izvući ručno. Stoga predstavnici ovog kontingenta svim silama koriste softver i koristite ga za podešavanje automatskog slanja neželjene pošte. A ovo je potpuno drugačiji kaliko. Na kraju krajeva, program (robot) može raditi bez spavanja ili odmora, te stoga ima neospornu prednost.

Ovako lavina neželjenih poruka pogađa korisnike. Ova metoda je posebno neugodna za one koji profesionalno koriste internet, na primjer, webmastere.

Vlasnici web stranica (postojećih na internetu) iz prve ruke znaju kako proizvodi spamera mogu iritirati i uznemiriti. Inače, na kraju članka ću vam savjetovati, po mom mišljenju, trenutno najoptimalniji anti-spam alat koji možete koristiti na svojoj web stranici.

Stoga je sasvim logično da se pojavio zaštitni alat u obliku Turingovog testa zvanog captcha (prije ili kasnije se to moralo dogoditi), čiji je plemeniti cilj vrućim željezom spaliti nekažnjenu spam aktivnost u začetku.

Naravno, postoje pozitivne promjene kao rezultat korištenja CAPTCHA, međutim, rezultat nije tako ružičast kao što bi se moglo očekivati. Život ne miruje i stoga se stalno javljaju poruke o razvoju novog softvera koji može zaobići bilo koju captcha. Potražnja stvara ponudu, jer spameri neće odustati i napustiti svoj „rudnik zlata“.

Nasuprot tome, poboljšavaju se i mehanizmi različitih oblika CAPTCHA, o čemu ćemo govoriti u nastavku. To me podsjeća na sukob oružja napada i odbrane koji traje već nekoliko stoljeća.

Na primjer, kao odgovor na upotrebu kopalja, sjekira i strijela, izmišljen je oklop, izmišljen je oklop protiv projektila, a zatim projektil za probijanje oklopa i tako dalje. Naš svijet se uglavnom razvija zahvaljujući borbi suprotnosti.

Koje vrste captcha postoje?

Pa, dobro, ostavimo filozofske maksime za sada i pređimo na posao. Dakle, ustanovili smo šta je CAPTCHA, koja služi kao veoma efikasan alat protiv automatizovane neželjene pošte. Ali koliko je efikasan? Mnogo ovisi o profesionalnosti i kvalifikacijama web programera, kao i softverskih algoritama koje koriste.

Na kraju krajeva, sama suština captcha je da se što je više moguće oteža mašini da izvrši test koji bi obična osoba trebala lako proći. Nažalost, ovakav idealan omjer je teško postići u dužem vremenskom periodu zbog postojeće vječne konfrontacije koja je gore spomenuta.

Vrlo često korisnici pljuju, prisiljeni da prolaze kroz captcha koju je ponekad teško riješiti. Pogodite šta će učiniti običan korisnik kada vidi nešto poput ovoga:

Tako je, ostavit će takav resurs, jer uvijek postoji alternativa na internetu. Dakle, kada se koriste ove vrste CAPTCHA, sami vlasnici web stranica trpe, jer se stope konverzije smanjuju, promet pada, a potencijalni pretplatnici i klijenti se gube.

Dakle, znajući za šta se koristi ova anti-spam zaštita, možemo formulisati osnovne uslove koji bi trebalo da budu osnova za kreiranje savršena captcha(ideal je, kao što znamo, nedostižan u stvarnom životu, ali mu moramo težiti):

  • razvijanje testa sa kojim bi se svaka osoba mogla nositi u minimalnom vremenskom periodu, a koji bi bio apsolutno nedostupan botu;
  • minimiziranje unosa podataka;
  • vodeći računa o interesima korisnika sa fizičkim invaliditetom (na primer, implementacija audio podrške za slabovide).

Lako možete sami procijeniti koje captcha koje ste naišli na internetu najbolje zadovoljavaju gore navedene karakteristike. Pa, sada je vrijeme da se upoznate s glavnim i najpopularnijim tipovima testova danas, implementiranim u jednom ili drugom captcha:

1. Unos teksta u obliku slova, brojeva, riječi ili fraza:


Problem sa ovim tipom je što će tekstualni znakovi koji su previše izobličeni otežati ulazak ne samo za botove, već i za obične smrtnike poput vas i mene.

2. Akcije sa slikama. Na primjer, odabir odgovarajućih slika (slika) od nekoliko predloženih koje bi zadovoljile određene kriterije. Recimo, da biste riješili captcha naveden kao primjer ispod, trebali biste odabrati sve slike na kojima je prisutna trava:

Ovaj tip unosa je složeniji za programe jer uključuje analizu slike. I to im predstavlja ozbiljnu prepreku, iako su nedavno anti-captcha programeri napravili korak naprijed da otklone ovaj nedostatak.

Ovo takođe uključuje sastavljanje kompletne slike od različitih delova, što je inherentna ljudska sposobnost za logičko i analitičko mišljenje. Pomeranjem detalja mišem na prava mesta dobijamo željenu sliku (u ovom slučaju ljudsko lice):


Opet, rješavanje ovakvog problema nije nepremostiva prepreka za živog korisnika, ali ipak oduzima dragocjeno vrijeme koje je oduvijek zlata vrijedno.

3. Aplikacija aritmetičke ili matematičke operacije za unos CAPTCHA:


i ovdje je važno ne pretjerati i ne prisiljavati korisnika da bezuspješno „nabora mozak“, kao u primjeru prikazanom na petom snimku ekrana iznad.

4. ReCAPTCHA. Ova vrsta Turingovog testa je privlačnija širokom krugu korisnika, jer uzima u obzir interese osoba sa invaliditetom (vidi listu uslova za postizanje “idealnog captcha” koja se nalazi nekoliko pasusa iznad), nudeći, uz vizuelna opcija, audio reprodukcija teksta koji se nalazi na slici:

ReCAPTCHA je prilično pouzdan i ima visok stepen zaštite od spamera, tako da se već dugo koristi na mnogim velikim web resursima, uključujući i Google stranicu za registraciju. Istina, gornji primjer nije sasvim uspješan, jer je u ovom obliku prikazani tekst previše izobličen i običnom čovjeku ga je teško reproducirati.

Zatim morate ili odabrati drugu sliku pomoću dugmeta za ažuriranje (kružna strelica) ili koristiti glasovnu (audio) reprodukciju (ikona zvučnika).

U ovom obliku, naravno, captcha je privlačnija i ne uzrokuje očito odbijanje.

Uz lidera svjetske pretrage, vrijedi spomenuti Yandex, koji je njegov glavni konkurent na ruskom Internetu () i također koristi originalnu zaštitu od spamera (YaCAPTCHA), gdje se može ponuditi kodna riječ ili jednostavan skup slova. na ćirilici:

Naravno, tipovi captcha koje sam ovdje dao samo su mali dio njihove cjelokupne raznolikosti. Štaviše, klasifikovao sam ih prema onim karakteristikama koje pokazuju varijabilnost. I sami možete učiniti isto tako što ćete identifikovati druge osnovne karakteristike prema kojima se može izvršiti klasifikacija.

Za one koji više vole video materijale nego tekstualne informacije, možete pogledati vrlo popularan video o raznim vrstama captcha:

");">

Unošenje captcha i procjena mogućnosti zaobilaženja

Dakle, ustanovili smo šta captcha znači. Ovo nije ništa drugo do prilično efikasno sredstvo zaštite od automatizovane neželjene pošte. A ako ispred sebe vidite rečenicu poput "unesite captcha", onda morate riješiti jednostavnu zagonetku, čije rješenje potvrđuje da ste živa osoba, čime se osigurava pristup sistemu.

Tajna je u tome što korisnici RuNeta često posjećuju strane stranice, gdje se CAPTCHA također može naći u ovom ili onom obliku. Stoga bi bilo korisno dati prijevod nekih izraza koji se mogu pojaviti u porukama koje prate završetak koda.

Na primjer, na nekim resursima, ako neispravno unesete znakove i rezultirajuću grešku, vjerovatno ćete vidjeti nešto poput ovoga:

"Captcha test nije uspio" prevedeno sa engleskog na ruski znači "captcha test nije uspio." Mogu biti prisutni i sljedeći izrazi (njihov prijevod na ruski je na desnoj strani):

  • “CAPTCHA greška, pokušajte ponovo” - greška prilikom unosa captcha, molimo pokušajte ponovo;
  • “molimo ispravno popunite CAPTCHA” - molimo vas da ispravno popunite captcha.

U ovom slučaju, samo trebate pokušati ponovo.

Slijedi pitanje: kako zaobići captcha ili je čak ukloniti, i šta je potrebno učiniti za ovo? Odmah ću reći da to neće biti moguće učiniti u potpunosti. Već sam spomenuo u današnjem članku da postoji stalna borba između kreatora softvera koji može prepoznati složene znakove i, zapravo, autora raznih vrsta softverskih testova.

U ovoj fazi niko nije ostvario odlučujuću prednost, međutim, mislim da će u budućnosti postojeći paritet ostati sa nekim promjenama u ovom ili onom smjeru. To se objašnjava interesom obje strane (kako vlasnika internetskih resursa, koji se žele zaštititi od bombardiranja neželjenih poruka, tako i spamera, koji ne žele da propuste isplativo sredstvo za obogaćivanje).

Stoga, neželjena pošta, naravno, prolazi, posebno kada se koristi najsavremeniji plaćeni softver. Ali efikasnost čak i najboljih automatskih programa daleko je od stopostotne, o čemu svjedoči i činjenica da napreduju online servisi (anti-captcha) gdje captcha prepoznaju stvarni ljudi, naravno, uz naknadu.

U ovom slučaju efikasnost teži maksimalnom iz očiglednih razloga. Međutim, ako imate potrebu za masovnim prepoznavanjem captcha, trebali biste biti spremni na činjenicu da ćete se odvojiti od dijela svog teško zarađenog novca. Morate platiti za sve u ovom životu.

S druge strane, na takvim uslugama možete zaraditi ako se registrujete kao zaposlenik. Najpopularniji i, možda, . Novac koji ćete tamo dobiti neće biti veliki, već je to dodatni izvor prihoda.

Treba imati na umu da ovaj posao ne zahtijeva posebne vještine ili znanja, može ga obaviti svako ko ima jednostavnu internet vezu. A nekvalifikovana radna snaga nije visoko cijenjena po defaultu. Ali ako vam se ne sviđa, uvijek možete odustati od ove ideje.

Optimalno rješenje za web stranice je instaliranje reCAPTCHA

Pa, na kraju publikacije, ne mogu a da se ne dotaknem pitanja korištenja najefikasnije captcha na mojoj web stranici ili blogu. Na kraju krajeva, svi webmasteri iz prve ruke znaju „čar“ komunikacije sa spamerima.

Možda se upravo u ovoj fazi pojavio prilično produktivan lijek u obliku najnovija verzija reCAPTCHA(spomenut gore), koji već koriste veliki svjetski servisi, uključujući, naravno, Google. Razlika u odnosu na staru verziju je u tome što korisnik treba samo označiti okvir naspram natpisa "Ja nisam robot":

Takođe sam instalirao reCAPTCHA na neke od mojih onlajn projekata. Ovaj antispam alat još nije dostupan na sajtu iz jednostavnog razloga što sam generalno zadovoljan radom, što je pogodno za moju strukturu komentara.

Ali možete lako instalirati reCAPTCHA, na primjer, na svoj WordPress blog kako biste filtrirali iste komentare s plemenitim ciljem da olakšate život svojim posjetiteljima. U zaključku još jedan super video

Pa, u slučajevima kada nije moguće programski izbjeći captcha, CAPTCHA se unosi ručno uz rad stvarnih ljudi koji te podatke šalju napadaču ili rješavaju captcha u realnom vremenu zahvaljujući API-ju.

Dakle, otkrili smo alate i motive hakera. Pogledajmo sada najčešće metode zaobilaženja CAPTCHA, sortirajući ih u dvije grupe: one koje su moguće zbog grešaka programera prilikom implementacije CAPTCHA i one za koje se koriste moderne tehnologije.

Počnimo redom, a ja ću ih pokušati postaviti po sve većoj složenosti zaštite od njih, počevši od najprimitivnijih i završavajući s onima za koje metode zaštite još nisu izmišljene.

Da stvorim intrigu, reći ću da ih trenutno ima tri.

Zaobilaženje captcha zbog grešaka u implementaciji

Ako pitate kreatore njihovih vlastitih CAPTCHA implementacija o tome kako zaobići captcha, oni će vam reći barem nekoliko načina. Ali najzanimljivije je to što oni sami ponekad ostavljaju prozore i vrata u svojim kreacijama radi hakovanja.

To se često dešava zbog greške ljudskog faktora, odnosno obične nepažnje tokom razvoja i nepotpunosti prilikom testiranja sigurnosti captcha.

Ali ponekad postoji i neiskustvo, zbog čega programer jednostavno nije bio svjestan nekih metoda zaobilaženja captcha u vrijeme razvoja.

Kao što sam obećao, u ovom dijelu ću pogledati one najčešće, kao i načine zaštite od njih. I počnimo, kao što smo obećali, od najprimitivnije stvari.

Zaobilaženje captcha s fiksnim skupom zadataka

U zoru captcha, samostalno pisane captcha bile su veoma popularne kao sredstvo borbe protiv botova, jer svi su htjeli isprobati novu tehnologiju, a kao rezultat toga, captcha su izmislili svi koji nisu bili previše lijeni.

U slučaju korištenja samostalno napisanih captcha, u čijoj su implementaciji programeri odlučili da se ne zamaraju velikom bazom slika, pitanja ili drugih vrsta zadataka, za ciljani automatski napad na web mjesto s takvim CAPTCHA, jednostavno morate ručno saznati odgovore.

One. idemo na takvu stranicu, biramo odgovore, sastavljamo bazu podataka sa zadacima i ispravnim rješenjima i pišemo bota za napade grubom silom koji će odabrati odgovarajuće opcije.

Ali, srećom, u savremenom svijetu nećete moći naići na mnogo takvih situacija, jer... sajber bezbjednost je od tada dostigla vrlo respektabilan nivo i niko ne stvara takve primitive.

A ako postoje takvi ljudi, onda vrlo brzo uče na svojim greškama kada izgube kontrolu nad svojim sajtom ili klijentima koji su hakovani zbog ovakvih kreacija.

zaštita: nikada ne kreirajte captcha sa skupom zadataka čija se rješenja mogu odabrati ručno. Ako za rješavanje captcha morate riješiti matematički primjer ili unijeti znakove sa slike, tada bi se zadaci i odgovori na njih trebali generirati automatski.

Drugi način zaštite od takvog automatskog unosa captcha je promjena naziva polja obrasca u koje treba unijeti odgovor. Ako je naziv polja, na primjer, uvijek "captcha", tada će napadaču biti lakše da provali takvu captcha. Njegov robotski program će jednostavno poslati zahtjev serverskoj skripti navedenoj u HTML atributu “action” obrasca, koji sadrži potrebnu vrijednost captcha.

Ako je u ovoj situaciji naziv captcha polja cijelo vrijeme isti, tada će haker jednostavno koristiti bazu podataka najčešćih naziva captcha polja, koju možete sami sastaviti dok proučavate razne stranice ili preuzeti gotove na specijaliziranim resurse (neću ih navoditi da promoviraju hakiranje).

Ako se ime polja, kao i sam captcha zadatak, generira na serveru, onda nikakva baza podataka captcha imena neće pomoći. Da bi se koristilo dinamičko ime polja, u praksi se captcha generiše od strane jedne skripte, a obrađuje druga.

U ovom slučaju, implementacija captcha ima jednu značajnu nijansu: skripta koja obrađuje ispravnost svog unosa morat će nekako proći ime polja captcha. To se najčešće radi korištenjem skrivenog obrasca za unos, atributa podataka ili njihovim prosljeđivanjem kroz kolačiće ili sesiju.

Ključna stvar je da ne možete direktno proslijediti ime, tj. captcha polje se zove “captcha_mysite”, a skriveno polje sadrži vrijednost “captcha_mysite” ili “site”. Mora biti šifriran, a dešifriranje se mora odvijati koristeći isti algoritam kao i šifriranje.

Pošto će algoritam šifriranja biti pohranjen na serveru, napadač ga neće moći lako prepoznati (osim ako ne dobije pristup sadržaju serverske skripte).

Inače, dovoljno je koristiti nasumični niz znakova umjesto naziva polja, što je u PHP-u vrlo lako dobiti pomoću funkcije uniqid().

Zaobiđite captcha koristeći sesije

Ako implementacija captcha uključuje pohranjivanje ispravnog odgovora u sesiji, a sesija se ne kreira iznova nakon svakog unosa captcha, tada napadači mogu saznati identifikator sesije i saznati šifriranu vrijednost CAPTCHA.

Tako mogu lako odabrati algoritam šifriranja i koristiti ga za dalje automatizirane napade grubom silom pomoću botova.

Također, ako u kodu za provjeru korisničkog odgovora na serveru programer ne provjeri prazninu varijable sesije u kojoj se prenosi odgovor korisnika, tada haker može koristiti nepostojeći identifikator sesije za koji će varijabla jednostavno ne postoji.

Zbog ovog propusta, takve captcha se mogu riješiti umetanjem nepostojećih ID-ova sesije i praznih captcha vrijednosti.

zaštita: Bez obzira koliko bi neko želio odustati od korištenja sesija za prijenos captcha vrijednosti, ovo je vrlo visoka cijena za osiguranje sigurnosti captcha od hakovanja. Stoga sesije, vrijednosti njihovih varijabli i identifikatora jednostavno moraju biti pažljivo zaštićeni kako haker ne bi mogao koristiti informacije pohranjene u njima.

Također vrijedi izvršiti sve banalne, ali tako neophodne provjere varijabli postojanja i praznine njihovih vrijednosti.

Probijanje captcha zbog tajnih informacija u kodu klijenta

Ponekad se captcha izrađuju na način da se prilikom prijenosa korisničkih vrijednosti na server koristi šifriranje pomoću takozvane „soli“, tj. dodavanje ID-a sesije, IP vrijednosti ili drugih jedinstvenih podataka u CAPTCHA vrijednost. Često to može biti jednostavan nasumični niz simbola.

A glavni uslov za rješavanje captcha-e je da šifrirana CAPTCHA vrijednost koju je unio korisnik odgovara njenoj ispravnoj vrijednosti, koja je generirana prilikom otvaranja stranice i zabilježena u sesiji ili drugom skladištu za daljnji prijenos na server.

Podudarnost ovih vrijednosti najvjerovatnije će ukazivati ​​da je korisnik stvarna osoba koja je unela captcha generiranu tokom komunikacijske sesije, na kraju koje ju je riješio i sa istog kompjutera na kojem je prvi put vidio captcha.

Ako se ove jedinstvene vrijednosti ne podudaraju, najvjerovatnije je robot automatski unio captcha.

Ovaj mehanizam za zaštitu stranice od botova je dobro osmišljen, ali ponekad su ove tajne generirane vrijednosti prisutne u HTML kodu stranice, odakle se mogu lako pročitati. Stoga možete konfigurirati njihovo automatsko čitanje pomoću programa i istog automatskog unosa prilikom prolaska captcha.

zaštita: Kada sami implementirate CAPTCHA, morate uzeti u obzir ovu sigurnosnu rupu, a ako za rješavanje captcha morate uzeti u obzir vrijednost nekog jedinstvenog identifikatora, onda morate biti sigurni da se on ne spominje ni u JS ili u HTML kodu koji se može vidjeti u pretraživaču.

Također morate ponovo kreirati ID sesije i generirati druge jedinstvene vrijednosti (uključujući i samu CAPTCHA, ako je moguće) nakon svakog pokušaja da unesete captcha, što će vas uštedjeti ili barem otežati hakerima da hakuju web lokaciju. automatski bira tačnu vrijednost.

Drugi način zaštite je, ako je moguće, blokiranje akcija po IP-u i broju pokušaja.

Kako zaobići captcha bez promjene IP adrese

Brute force napad je efikasan način da se zaobiđe captcha ne samo kada se implementira sa fiksnim skupom zadataka i njihovim rješenjima.

Još jedna greška u implementaciji CAPTCHA, koja ga čini ranjivim na automatske napade, je nedostatak vremenskih ograničenja za rješavanje captcha i broja pokušaja.

U tom slučaju bit će moguće zaobići captcha pomoću posebnog programa koji će prikupiti bazu podataka pitanja ili odabrati odgovore s dostupne liste. Štaviše, sve će to biti urađeno automatski zahvaljujući savremenim metodama mašinskog učenja i razvoju u oblasti veštačke inteligencije, koji su poslednjih godina napravili veliki iskorak.

zaštita: Kada implementirate zaista sigurnu captcha, morate ograničiti vrijeme za odgovor i broj pokušaja rješavanja captcha s jedne IP adrese kako biste blokirali napade grube sile od strane robota.

Na primjer, ako je između generiranja captcha i odgovora korisnika prošlo manje od 2 sekunde, smatrajte takvog korisnika robotom i prikažite odgovarajuću poruku na ekranu. Tekst poruke treba da sadrži instrukcije stvarnim korisnicima da unos ne treba raditi tako brzo (u slučaju da je osoba fizički bila u mogućnosti da brže unese odgovor).

Ako se zaista radilo o osobi, onda će poduzeti odgovarajuće mjere, a ako se radi o robotu, nastavit će pokušavati zaobići captcha.

Takvi pokušaji bi se trebali smatrati netačnim, s njihovim brojem zabilježenim u varijabli sesije, a daljnje radnje blokirane za korisnike od strane njihove IP adrese. Također bi bilo dobro da takve blokirane adrese izdaju poruku za kontaktiranje administratora umjesto captcha ako je blokirani korisnik stvarna osoba.

I još jedan efikasan način borbe protiv botova je uvođenje ograničenja za određene radnje na stranici. Na primjer, jedna registracija sa jedne IP adrese. Ovdje je glavna stvar ne preigrati se i ne doseći ograničenja u broju komentara za jednog jedinstvenog korisnika.

Ali, istina, ove mjere neće puno pomoći zahvaljujući postojanju proxy servera.

Zaobilaženje captcha pomoću proxyja

Čak i u situacijama kada se blokira veliki broj pokušaja rješavanja captcha putem IP-a, ova mjera ne pruža 100% zaštitu od robota.

To je sve zbog proxy servera i programa anonimajzera koji rade na njihovoj osnovi, a koji su poznati možda svakom modernom školarcu koji traži načine da zaobiđe roditeljski nadzor i blokira zabranjene stranice.

Anonimizatori vam omogućavaju da sakrijete računarske podatke prilikom korišćenja sajta, uključujući i dragocenu IP adresu, po kojoj se klijent može identifikovati i blokirati.

Shema je jednostavna: korisnik se povezuje na proxy server, gdje se njegovi podaci šifriraju ili zamjenjuju drugim (na primjer, može vam biti dodijeljena IP adresa iz druge zemlje), a zatim se šalje zahtjev ciljnoj stranici na koju klijent želi da se poveže.

Dakle, napadač može lako zaobići sve vaše IP blokove i birat će ispravno rješenje za captcha onoliko dugo koliko mu je potrebno.

A na nekim web-lokacijama na kojima se captcha pojavljuje samo prilikom izvođenja velikog broja identičnih radnji (na primjer, u VK-u kada dodajete veliki broj prijatelja), možda se uopće neće pojaviti ako se svaka radnja izvodi s nove IP adrese i s vremenskim ograničenjima između pokušaja rješavanja captcha, tako da je botovo ponašanje slično ponašanju stvarne osobe.

Ova metoda je korištena prije pola stoljeća pri pisanju prvih programa koji su prošli Turingov test, čija je implementacija CAPTCHA.

Opisani principi, inače, koriste svi trenutno poznati programi za automatski unos captcha. Za promjenu IP adrese povezivanja na neku stranicu koriste besplatne i komercijalne baze podataka proxy servera, do kojih nije teško doći ako imate internet.

zaštita: Nažalost, ne postoji način da se zaštitite od captcha hakovanja praćenjem napadača po IP-u, zahvaljujući prisustvu anonimizatora i otvorenih PROXY baza podataka.

Jedina nada je da sami PROXY serveri mogu nametnuti ograničenja na broj IP-ova koje koristi jedan korisnik i broj konekcija sa svakog od njih.

Iz tog razloga, ne biste trebali potpuno napustiti IP verifikaciju. Zahvaljujući vašim mjerama opreza koje štite od zaobilaženja captcha, moći ćete prije ili kasnije blokirati hakera na jednom ili drugom nivou.

A najispravniji zaključak u ovoj situaciji bi bio da se, pored ove metode zaštite od captcha hakovanja, koriste i drugi koji pomažu razotkrivanju hakera na drugi način.

Automatski unos captcha pomoću emulatora akcije

Ako da biste dovršili CAPTCHA morate izvršiti određenu radnju (klik na dugme, pomicanje klizača, itd.), tada također možete zaobići captcha u ovoj situaciji emuliranjem potrebne radnje (klikom na određeni kontrolni element ili drugu radnju ).

Jedini problem sa kojim se haker može suočiti u ovoj situaciji je kako programski pronaći željenu kontrolu na stranici.

Najlakši način da to učinite je pomoću njegovih koordinata ili položaja u odnosu na neke statičke elemente resursa.

zaštita: Da biste se zaštitili od automatskog unosa captcha u ovom slučaju, morate stalno mijenjati položaj kontrolnog elementa koji vam omogućava da riješite CAPTCHA. One. Ako od tri osobe treba da izaberete samo onog čija je ruka podignuta, ni u kom slučaju ne treba da bude stalno na istom mestu.

Pa, u slučajevima drugih implementacija captcha, kada to nije moguće (na primjer, za dugme za preuzimanje ili polje „Ja nisam robot“, koje može imati samo jedan tačan odgovor), potrebno je koristiti druge metode zaštite koji može spriječiti robote da automatski rješavaju captcha.

Kako zaobići captcha koristeći visoku tehnologiju

Pogledali smo slabe tačke implementacije CAPTCHA, koje su sigurnosne rupe i najčešće su u praksi. Međutim, u praksi, čak i najbesprijekornije captcha ponekad nisu u stanju zaštititi resurs koji ih koristi od hakerskih napada.

Ovi slučajevi captcha hakovanja su direktna posljedica savremenog napretka i stepena razvoja kompjuterske tehnologije, koja se, kao što znamo, ne koristi uvijek u dobre svrhe.

Dakle, kako izbjeći captcha korištenjem moderne tehnologije?

Zaobiđite captcha koristeći OCR

OCR (Optical Character Recognition) je tehnologija za prepoznavanje štampanog ili kucanog teksta za njegovu dalju upotrebu u elektronskom formatu. Najpoznatiji softver koji implementira ovu tehnologiju je Adobe FineReader.

Uspješno se koristi u kreiranju automatskih programa za unos captcha koji uspješno prepoznaju i rješavaju grafičke captcha, za završetak kojih je potrebno unijeti niz znakova prikazanih na slici.

Hakeri, naravno, ne koriste Adobe FineReader (iako ih možda ima 🙂), već pišu posebne skripte koje, koristeći razne gotove biblioteke za rad sa slikama ili koristeći mogućnosti jezika za rad sa grafikom, prepoznaju captcha i proizvesti niz znakova, prikazan na njemu.

Na internetu sam pronašao dovoljan broj primjera takvih skripti. Princip njihovog rada bio je sljedeći:

  • čišćenje slike koja se koristi u grafičkim CAPTCHA od raznih šuma;
  • razdvajanje prikazanog niza na pojedinačne znakove;
  • poređenje svakog od njih sa pripremljenom slikom (uzorkom).

Grafički uzorci su pripremljeni uzimajući u obzir različite fontove i moguća izobličenja (nagibi, rotacije, itd.).

Kao što ste možda pretpostavili, najvažnije je sastaviti bazu podataka slika simbola u različitim varijacijama, s kojima će se zatim upoređivati ​​captcha simboli.

zaštita: zapravo, kako bi se zbunili OCR programi, koriste se dosadni šumovi i izobličenja znakova na slikama, zbog kojih je tekst ponekad teško razumjeti čak i za osobu. Ali, u slučaju robota, ovo također dobro funkcionira, zbog čega OCR algoritmi ne mogu proizvesti 100% tačan rezultat, što ima pozitivan učinak na sigurnost captcha i web lokacija koje ga koriste.

Ako se odlučite za korištenje grafičkih captcha, za koje trebate unijeti znakove prikazane na slici, tada morate slijediti sljedeće preporuke:

  1. Simboli na različitim CAPTCHA-ima moraju imati različite koordinate.
  2. Ako koristite bilo kakve efekte buke za kreiranje pozadine, tada njena boja mora odgovarati boji znakova, inače se pozadina može lako ukloniti isticanjem znakova za prepoznavanje.
  3. Udaljenost između znakova treba biti minimalna. Možete ih čak i preklopiti jedan na drugi, ali samo bez fanatizma, tako da ih pravi korisnici mogu prepoznati.
  4. Koristite različite fontove kako biste otežali odabir pravog za prepoznavanje.
  5. Iskrivite likove na sve moguće načine, promijenite njihov stil i debljinu.
  6. Koristite posebne biblioteke koje vam omogućavaju da promijenite znakove na takav način da će biti nemoguće odabrati font za njihovo softversko prepoznavanje. Primjer takvog rješenja je captcha od kreatora resursa captcha.ru, koja je generirana korištenjem autorskog algoritma izobličenja simbola u obliku valova.

Sve ove mjere omogućavaju kompliciranje prepoznavanja grafičkih captcha za OCR sisteme i smanjenje broja automatskih captcha unosa.

Kako proći captcha koristeći neuronske mreže

Ako je OCR prilično stara tehnologija (prvi patentirani uređaji bili su poznati početkom 20. stoljeća), onda su se umjetne neuronske mreže (ANN) pojavile tek u drugoj polovini prošlog stoljeća (50 godina je značajno doba za tehnologije: )).

Upravo su ANN algoritmi koji su u osnovi umjetne inteligencije (AI), čiji je cilj stvaranje programa i uređaja opremljenih kreativnim funkcijama, tj. stvaranje čovjeka koji je napravio čovjek.

Trenutno se umjetna inteligencija stalno razvija, a svaki dan se pojavljuju novi izumi koji imaju dosad neviđena svojstva.

Na posljednjoj konferenciji o neuronskim mrežama kojoj sam prisustvovao objavljeno je da je Google, koji se aktivno bavi razvojem u ovoj oblasti, već najavio javne usluge u oblaku zasnovane na ANN-ovima.

Koristeći ih možete:

  • prepoznaju objekte na fotografijama (od spola prikazane osobe i marke njegovih farmerki do igre kojoj analizirana slika pripada, sa cijelom paletom boja, nazivom lokacije i onim što se na njoj dešava);
  • upravljanje uređajima glasom i pokretima;
  • pisati napomene za video zapise na osnovu onoga što se dešava u videu, itd.

Naravno, sa ovim mogućnostima, stvaranje programa za automatski unos captcha koristeći ANN principe nije teško za upućene ljude.

Jedan takav proizvod razvio je Vicarious 2014. godine. Neuronska mreža koju je razvila sposobna je prepoznati captcha u 90% slučajeva (da vas podsjetim da je za rješavanje klasičnog Turingovog testa, a to je CAPTCHA, potrebno samo 1% tačnih odgovora).

zaštita: Nažalost, nemoguće je zaštititi se od ove vrste napada. I srećom, ANN iz Vicariousa neće se koristiti za ciljane napade radi zaobilaženja captcha na web stranicama, jer... preskup je za tako male zadatke (sami proizvođači kažu da se radi o klasteru velikog broja servera). Njegovo glavno područje primjene je rješavanje raznih problema u medicini i robotici.

A razbijanje captcha uz njegovu pomoć samo je demonstracija njegovih mogućnosti.

Ali vrijeme prolazi, tehnologije koje su još juče bile skupe postaju jeftinije, a nije daleko vrijeme kada će ANN proizvodi postati široko rasprostranjeni. Stoga je sasvim moguće da će u budućnosti postojati botovi za automatski unos captcha, opremljeni umjetnom inteligencijom.

Zaobiđite captcha koristeći javne usluge

Kako su se OCR i AI sistemi razvijali, složenost grafičkih captcha postajala je sve složenija, što je omogućilo njihovim programerima da ulože ogromne napore tokom implementacije. Ali ipak su se ispostavile kao uzaludne, jer... nisu pružili 100% zaštitu sajtova od automatizovanih napada.

Stoga je Google krenuo, kako mi se čini, pravim putem i odlučio jednostavno izmisliti novi noCAPTCHA standard, napuštajući ručni unos znakova sa slika.

Prilikom razvoja reCAPTCHA noCAPTCHA koristili smo iskustvo borbe protiv robota u eri rađanja captcha i savremenog razvoja u oblasti veštačke inteligencije, što nam omogućava da obezbedimo odgovarajući nivo bezbednosti sajta, ali i da ne otežavamo život previše. za korisnike interneta.

No, unatoč činjenici da se ovaj standard pojavio sasvim nedavno, 2015. godine, već je pronađen način da se on automatski riješi. I ne leži u upotrebi umjetne inteligencije.

Sve je mnogo banalnije - da biste prošli Google reCAPTCHA, samo trebate koristiti Googleove vlastite usluge za prepoznavanje slike i govora.

Malo je vjerovatno da će prepoznavanje slike u slučaju reCAPTCHA v2 (ista noCAPTCHA) pomoći, jer za grafičke zadatke potrebno je odabrati slike koje sadrže potrebne objekte, a ne unositi prikazane simbole, kao što je bio slučaj u prethodnoj verziji.

Ali usluge Google Speech Recognition servisa, koje je jedno od Googleovih dostignuća na polju umjetne inteligencije, koje je spomenuto u prethodnoj metodi zaobilaženja captcha, bit će vrlo korisne. Budući da usluga pruža API, kreiranje aplikacije na osnovu njega nije teško.

zaštita: Nažalost, u ovoj situaciji, kao iu prethodnoj, gdje su ANN korišteni za zaobilaženje captcha, neće biti moguće zaštititi se od zaobilaženja captcha. Jedina pozitivna stvar je opet relativna dostupnost odgovarajućih usluga, jer... Google vam daje samo probnu verziju od 300 USD da ih koristite.

Nakon njihovog završetka usluge se plaćaju. Ali malo je vjerovatno da će to biti smetnja za hakere, jer... Oni mogu zaraditi još više od napada koji koriste automatski unos captcha.

Dakle, u slučaju korištenja usluga prepoznavanja govora i slika za probijanje captcha, jedina nada ostaje budnost njihove administracije, koja može blokirati račun ako otkrije da se koristi isključivo u opisane svrhe.

Kako proći captcha koristeći ljudski rad

Kako bih upotpunio listu načina za zaobilaženje captcha, odlučio sam razmotriti onaj koji se ne uklapa ni u jednu od gore navedenih kategorija.

Ne zasniva se na iskorišćavanju ranjivosti implementacije CAPTCHA i korišćenju modernih tehnologija, već se zasniva na prirodnoj ljudskoj želji za zaradom.

A u isto vrijeme, ova metoda pomaže da se provali captcha bilo koje složenosti u 100% slučajeva i, štoviše, da se to učini bez puno financijskih, fizičkih i moralnih napora.

Riječ je o jednoj od modernih metoda zarađivanja novca – koja se, inače, pojavila otprilike u vrijeme kada je CAPTCHA postalo teško programski prepoznati.

Njegova suština je da se stvara poseban servis koji navodno omogućava ljudima da zarade novac (uglavnom mali, što može biti dovoljno samo za Indijance ili školarce koji traže bilo koji način da dođu do novca) ručnim rješavanjem captcha.

I svako kome su potrebna njihova rješenja može pružiti ove captcha.

U osnovi, to su hakeri koji koriste odgovore stvarnih korisnika u svoje sebične svrhe:

  • automatizacija zarade;
  • slanje neželjene pošte;
  • kupovina karata i robe u online trgovinama za skuplju preprodaju;
  • hakovanje web stranica itd.

Da bi proces bio praktičniji, usluge čak pružaju API, zahvaljujući kojem se captcha može završiti na mreži. One. korisnik unese captcha putem servisa, a u ovom trenutku njegov odgovor se koristi za potvrdu kupovine putem interneta.

Mnogi majstori u oblasti programiranja, inače, mogu koristiti ljudski rad apsolutno besplatno. Na primjer, ovako zarađuju za život vlasnici porno stranica, servisa za razmjenu datoteka, torrenta i drugih sumnjivih resursa koji pružaju besplatne usluge.

Oni navodno besplatno pružaju korisnicima vrijedan sadržaj, zahtijevajući od nas da potvrdimo da ste osoba, a ne robot, uz pomoć kojih napadači koriste njihove proizvode za svoje potrebe.

Naravno, ne razmišljamo dugo, jer... dobiti priliku da preuzmete dugo očekivani film u HD kvaliteti apsolutno besplatno tako što ćete označiti neki kvadratić u polju "Ja nisam robot" je samo sitnica. U međuvremenu, vaša API radnja se koristi za zaobilaženje captcha na drugom web mjestu treće strane.

Otuda i moral: uvijek zapamtite da je besplatni sir samo u mišolovci i ništa nije besplatno.

zaštita: Nažalost, danas je ovo najefikasnija metoda zaobilaženja captcha, od koje ne postoji način zaštite. I to se neće desiti sve dok oni koji žele da zarade teškim radom i ljubitelji besplatnih sadržaja ne odu, odnosno, najverovatnije nikada.

Zaobilaženje captcha - zaključaka

Dok sam pisao ovaj članak, došao sam do zaključka da captcha, unatoč odličnoj ideji s kojom je zamišljen, a to je zaštita stranica od robota, odavno više ne ispunjava svoje funkcije.

Ako se i dalje možete zaštititi od automatskih zaobilaženja captcha koji koriste slabe tačke u implementaciji CAPTCHA tako što ćete eliminirati sve probleme s njihovom sigurnošću, onda je jednostavno nemoguće zaštititi se od unosa captcha od strane stvarnih korisnika za novac.

Jedina spasonosna milost u cijeloj ovoj situaciji je to što plaćaju smiješne svote novca za ovakvu vrstu posla i malo ljudi pristaje na to, tako da razmjer cyber napada korištenjem automatskog unosa captcha nije toliko katastrofalan koliko bi mogao biti.

Također, "nepobjedive" metode zaobilaženja captcha uključuju tehnologije umjetne inteligencije, koje se aktivno razvijaju posljednjih godina.

Istovremeno, kako bi se hakerima otežao život, captcha se stalno „napumpava“ novim funkcionalnostima, što njihovo izvršavanje čini teškim i zamornim zadatkom čak i za stvarne korisnike stranice.

Zapamtite isti Google reCAPTCHA: potvrdite okvir, ako se Googleu nešto nije svidjelo, odaberite potrebne slike (usput, još uvijek imam problema sa putokazima, jer takav zadatak mogu završiti negdje sa 5 pokušaja). Da li je teško ostaviti komentar ili se registrovati na sajtu? Lakše je pronaći drugi resurs...

No, uprkos ovim mjerama opreza, captcha se trenutno ne može nazvati idealnim načinom zaštite od robota, zbog čega je mnogi kritiziraju i pokušavaju tražiti alternative.

Istovremeno, činjenica da se CAPTCHA i dalje koristi kao tehnologija kibernetičke sigurnosti i da se stalno razvija, uključujući i Google, koji neće ulagati novac u sumnjive projekte, sugerira da će ova tehnologija postojati još dugo.

Stoga je pri razvoju i podršci postojećih stranica koje koriste captcha potrebno aktivno koristiti navedene preporuke kako bi hakerima što više otežali život da hakuju njihov softver.

Najbolji članci na ovu temu