Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • Windows 10
  • Predugo ste unijeli captcha. Kako se dosadna CAPTCHA pretvara u apsolutno zlo

Predugo ste unijeli captcha. Kako se dosadna CAPTCHA pretvara u apsolutno zlo

Pozdrav dragi čitatelji i gosti mog bloga. Danas ću vam reći kako zaštititi svoj resurs od neželjene pošte i spriječiti njegovo širenje. Razmislite o postupku instaliranja i korištenja testnih proširenja na vašoj web-lokaciji.

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

Captcha - što je to

captcha- Ovo je programski generiran test koji se koristi za utvrđivanje tko je korisnik: bot koji se koristi za slanje neželjenih poruka ili osoba (iz engleskog Captcha). U većini slučajeva radi se o slici s iskrivljenim skupom slova. Uz sliku je polje u koje mora unijeti znakove sa slike. U posljednje vrijeme često se koriste i druge vrste captcha. Treba izabrati jednu prikladnu sliku od nekoliko ponuđenih ili staviti kvačicu na određeno mjesto na ekranu.

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

Captcha je vrlo korisna za vlasnike resursa, jer je to jedini način za uklanjanje neželjene pošte. Da nije bilo zaštite u vidu uvođenja provjere koda, tada bi većina popularnih portala i foruma imala puno botova koji šalju neželjene poruke.

Kako koristiti google captcha na svojoj web stranici

Google nudi besplatnu Google reCAPTCHA uslugu, koja pruža captcha za osiguranje različitih oblika 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 svog portala. Zatim kliknite na gumb "Registracija", nakon čega će se otvoriti stranica s generiranim ključevima;
  • Ako imate znanja iz programiranja, reCAPTCHA integraciju možete napraviti sami. Inače, trebate koristiti posebne dodatke koje je potrebno instalirati i aktivirati;
  • Sljedeći korak je postavljanje.Da biste to učinili, u bočnom izborniku administratorske ploče potrebno je kliknuti na instalirani dodatak, nakon čega se pojavljuju obrasci koje je potrebno ispuniti API ključevima;
  • Za one koji koriste reCAPTCHA, dostupne su sljedeće postavke: mogućnost uključivanja i isključivanja captcha tijekom autorizacije i registracije, promjena sheme boja, promjena postavljenog jezika.

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

Primjeri proširenja za instaliranje captcha

Danas postoji veliki broj captca dodataka za WordPress sustav. Neki od najpopularnijih alata iz ove kategorije zaslužuju posebnu pozornost. Svaki od ovih dodataka ima različite konceptualne poglede 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 učinkovite logičke sheme, dodatak može u potpunosti zaštititi vaš portal od neželjene pošte. Njegove glavne prednosti su:

  • Potpuna kompatibilnost s 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 unijeti prikazuje se kao plava slova i brojevi s precrtanim linijama koje štite od raznih programa za prepoznavanje. Zbog toga se neželjena pošta na resursima na kojima je instaliran ovaj dodatak gotovo i ne pojavljuje. 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 oblike treba biti prikazan. Glavne prednosti:

  • Postavljanje brzine;
  • Čitljivost teksta;
  • Dodatak je teško zaobići OCR programe.

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 unijeti točan kod prvi put. Administratori mogu promijeniti dizajn captcha prozora, kao i staviti ga u bilo koji oblik. Glavne prednosti su sljedeće:

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

Stvarno jednostavan CAPTCHA

Razlikuje se po jednostavnosti instalacije i upravljanja. U početku je ovaj portal kreiran kao dodatni modul za plugin Kontakt obrazac. Sve captcha koje se pojavljuju prilikom ispunjavanja obrazaca spremaju se u privremenu mapu i teže nekoliko kilobajta. Među prednostima su:

  • Ozbiljna prepreka za botove;
  • Jednostavnost prepoznavanja teksta;
  • Podrška za mnoge jezike.

Sigurna CAPTCHA

Dodatak se razlikuje po tome što koristi ručno pisani kod, što značajno komplicira 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 mjestu programera i dobiti posebne ključeve.

Kako zaraditi na captcha

Zarada na captcha jedan je od najjednostavnijih i najlakših načina zarade 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 unosom captcha. Među širokim izborom web-mjesta za zaradu captcha, može se izdvojiti 5 najboljih. Na njima je uplata veća, a postoji i garancija da će vaš robot biti plaćen.

RuCaptcha

RuCaptcha je najpopularnija stranica za zarađivanje novca u Runetu. Usluga rješava probleme vezane uz dešifriranje 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 rubalja.

Jedna od glavnih značajki je da se noću cijena rada povećava za 2 puta. Također, ako izvođač ima visoku ocjenu, nailazi na captcha s većom cijenom. Znakove morate unositi s oprezom, jer usluga ima negativan stav prema greškama. Na prve pogreške korisnik će biti upozoren, s naknadnim pogreškama račun može biti blokiran na neko vrijeme, od nekoliko minuta do dva dana. U usporedbi s drugim uslugama zarađivanja novca, RuCaptcha ima sljedeće prednosti:

  • Zgodno vanjsko sučelje;
  • Plaćanje zarađenog novca moguće je na takvim sustavima 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. Eksterijer je ukrašen istom stelom jaka i RuCaptcha. Na stranici stalno radi nekoliko stotina tisuća korisnika. Algoritam rada je sljedeći: Korisnik ulazi u sustav, 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 doseći i 80 centi za unos složenijih captcha.

2Captcha je pouzdana stranica koja nikada nema kašnjenja u isplati novca. Minimalna vrijednost isplate je 0,5 USD. Isplata se može izvršiti na WebMoney, PayPal, kao i na Visa i Mastercard bankovne kartice.

Megatipi

Ovaj portal nastao je relativno nedavno, ali je u kratkom vremenu jedan od najpopularnijih. Portal je strani, pa je sučelje u potpunosti na engleskom jeziku. Za razliku od drugih stranica, korisnici mogu zarađivati ​​na ovoj stranici prepoznavanjem audio captcha. Također, stranica ima prilično dobro implementiran referalni sustav, koji izvođaču s velikim brojem preporuka omogućuje da dobije dobre dividende. Da biste registrirali račun na Megatypers, morate unijeti pozivni kod. Captcha naknade mogu doseći 0,01 USD. Minimalni iznos za isplatu je 3 USD. Novac se isplaćuje svakog ponedjeljka.

Kolotibablo

Ova je usluga prva među stranicama koje su specijalizirane za unos captcha. S vremenom je moderniziran, a sada ima jako lijep dizajn. Captcha je dostupna i na ćirilici i na latinici. U prosjeku, cijena 1000 captcha je 0,7 USD. Za složenije zadatke možete zaraditi do 1,5 USD. e. Plaćanje se vrši na Yandex.Money, Qiwi Wallet, Paypal, Payza s minimalnim iznosom od 1 USD.

Antigate

Antigate je popularan portal u Runetu, koji je funkcionalno vrlo sličan Kolotibablu. Za jedan uneseni captcha, izvođač dobiva od 0,02 rubalja ili više. Antigate ima affiliate program koji osigurava isplatu od 10% za umjetnike pozvane u sustav. Povlačenje zarađenih sredstava vrši se putem platnog sustava WebMoney. Isplata počinje 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 napraviti kratku pauzu u publikacijama o ovom PHP frameworku i prebaciti se na nešto drugo kao "aktivan odmor".

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

Nemate pojma o čemu pričamo?

Sve navedeno govori o CAPTCHA-i koju je vjerojatno 90% svih korisnika interneta vidjelo i koristilo, ali, nažalost, ne znaju svi temeljito što je captcha i koje zadatke vam omogućuje da riješite.

Što je captcha?

U tražilicama puno ljudi svaki dan unese upit "CAPTCHA prijevod". Međutim, ni u ovom ni u drugim sličnim člancima nećete pronaći točan odgovor na ovo pitanje.

CAPTCHA nije samo neki posebno izmišljen izraz, već skraćenica od riječi Completely Automated Public Turing test to tell Computers and Humans Apart, što doslovno znači “potpuno automatizirani javni Turingov test za prepoznavanje računala i ljudi”. Stoga je ova riječ ispravno napisana velikim slovima.

U ruskom govornom području interneta često se naziva "captcha", jer. nešto poput CAPTCHA se izgovara na ruskom. Velika slova su izostavljena, zbog čega je za neke čitatelje priča o podrijetlu riječi "captcha" možda nova, ali pomaže u pronalaženju logične veze između nje i "automatiziranog Turingovog testa".

Mislim da samo dekodiranje kratice savršeno govori što je CAPTCHA. Jedina nejasnoća može biti Turingov test... Ako mislite da ću vas u ovom trenutku natovariti s hrpom formula i definicija, onda ste u krivu 🙂

Reći ću vam par riječi o tome što je jasnije moguće kako biste proširili vidike, inače ćete odjednom naići na riječ u križaljci i nećete znati što je to 🙂

U svijetu je živio (naime, početkom 20. stoljeća) engleski matematičar po imenu Alan Turing. Osoba je, inače, prilično poznata u uskim krugovima, koja je smislila puno dobrih stvari, za što su se čak počeli snimati i filmovi o njemu (to je upravo čovjek kojeg glumi Benedict Cumberbatch u filmu “ Igra imitacije”).

Tako mu je jednog dana pala na pamet misao “može li stroj misliti?”. Budući da Alan Turing nije bio glupa osoba, kao što ste možda primijetili, rezultat njegovih razmišljanja bio je test, čija je svrha upravo utvrditi tko je od sugovornika osoba, a tko računalo.

Test je prvi put opisan davne 1950. godine i dobio je ime po svom tvorcu, po čemu je poznat do danas - Turingov test.

Klasični Turingov test je situacija u kojoj osoba (sudac) komunicira s računalom i stvarnom osobom putem tekstualnih poruka. Ako sudac ne može odrediti "xy od xy", t.j. tko je od sugovornika osoba, a koji računalo, smatra se da je stroj prošao test.

Ali pogrešno je misliti da je vrlo jednostavno i lako izložiti računalo 🙂

Koriste se razni trikovi da se suca zbuni. Prije svega, sam tekstualni format komunikacije, tako da osoba ne bi mogla prepoznati auto po glasu ili nekim drugim karakteristikama, a računalo bi moglo pokazati svoju inteligenciju, a ne sposobnost prepoznavanja ljudskog govora (iako, ako je suditi po današnjim videima s robotima, ovi dečki će uskoro neće biti problema ni s prvim ni s drugim).

Osim toga, poruke od čovjeka i računala šalju se u istim intervalima tako da sudac brzinom odgovora ne može pronaći računalo.

No, unatoč svim tim trikovima, već 1966. godine (vau, "već" - nakon 16 godina!) pojavio se računalni program s poetskim imenom ELIZA, sposoban proći ovaj test. Mnogi zamućeni suborci još uvijek sumnjaju treba li eksperiment s Elizom smatrati Turingovim testom ili ne, ali ostaje činjenica da je komad željeza mogao zbuniti ljude.

Dakle, CAPTCHA je moderni Turingov test koji pomaže da se roboti automatski odvoje od ljudi. Samo računalni algoritam djeluje kao sudac. Zbog toga se captcha ponekad naziva obrnutim Turingovim testom.

A ako ne prođete ovaj test, onda svojim djelima recite da se ne razlikujete od robota bez duše, a ponekad čak i gluplji kada ga je ovaj uspio proći 🙂

Osim toga, u nekim slučajevima, uz određeni broj neuspješnih pokušaja, još uvijek možete dobiti zabranu IP adrese na stranici. Nadam se da će vas ovo motivirati da sljedeći put pristupite unosu captcha odgovornije 🙂

Usput, unatoč činjenici da je sam Turingov test izmišljen 1950. godine, CAPTCHA je prilično mlad fenomen. Izumi slični modernoj captchi pojavili su se relativno nedavno - 1997. godine, a sam izraz skovan je 2003. godine.

Mislim da vam je sada postalo jasno što je captcha, kako se pojavio i kada. Pitanje je samo "Zašto?". Dobro pitanje, pa neću odugovlačiti s odgovorom 🙂

Postavlja se pitanje zašto je uopće bilo potrebno, koristeći CAPTCHA, utvrditi tko je otišao na stranicu: osoba ili robot?

Činjenica je da su roboti u svijetu Interneta posebni automatizirani programi koji nisu uvijek stvoreni da donose dobrobit. To može biti distribucija neželjene pošte, pa čak i hakiranje resursa.

Usput, čak i ako pokušate automatski pogoditi lozinke ili poslati neželjenu poštu na nezaštićene stranice, već im možete nanijeti ozbiljnu štetu stvaranjem velikog opterećenja na poslužitelju, što će uzrokovati prestanak rada stranice.

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

Drugi odgovor na pitanje zašto je CAPTCHA potreban je prepoznavanje skeniranih knjiga i drugih tiskanih publikacija. Kako?

Ako ste i sami ikada sami pokušali digitalizirati knjige koristeći Adobe FineReader ili slično (ne znam za vas, ali u studentskim godinama sam to često radio pri pisanju eseja i seminarskih radova 🙂), onda znate da je prepoznavanje daleko od 100%.

I to unatoč činjenici da je većina knjiga tiskana standardnim tipografskim fontom. Za rukopise je programsko prepoznavanje praktički na nuli.

Dakle, kreatori CAPTCHA (posebno kreatori Google reCAPTCHA prvi su upotrijebili ovaj mehanizam u tu svrhu) odlučili su iskoristiti ovu okolnost. Sastavljali su riječi koje nisu bile programski prepoznate, a koje su se zatim prikazivale kao captcha slike tražeći od stvarnih ljudi da unesu ono što vide.

Na taj način sastavljena je baza opcija za dešifriranje teško prepoznatljivih riječi, a ujedno su korisnici dokazali da su stvarni ljudi, jer. uspjeli prepoznati ono što su vidjeli, što nas razlikuje od robota. Što se mene tiče - briljantno, kao i sve u Googleu, zapravo 🙂

Jedini trenutak koji je meni osobno u cijeloj ovoj priči ostao nejasan - kako su ljudi prolazili kroz captchu s teško prepoznatljivim likovima, ako uopće može postojati nekoliko točnih odgovora za takve? Google, naravno, neće otkriti svoje tajne.

Ali da sam osobno razvio ovaj mehanizam za prepoznavanje teksta od strane korisnika koji koriste captcha, odabrao bih neku manje-više sličnu verziju onoga što je prikazano na slici kako bih s njom mogao provjeriti odgovor korisnika.

Ili je jednostavno opciju koju je korisnik unio kao opciju odgovora, a korisniku bi se očito ponudilo da ponovno unese captcha s već čitljivijim slijedom znakova za koje postoji odgovor, kako korisnik ne bi razmišljao da ga se zavarava i ne proizvede broj netočnih pokušaja, zbog kojih ponekad dobiju zabranu.

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

Zahvaljujući svemu navedenom, kreatori reCAPTCHA promoviraju svoj projekt pod sloganom „Stop spamu – čitaj knjige!“. I moram reći - radi 🙂

Prema tvorcu reCAPTCHA, Louisu von Ahnu, njegova se captcha koristi do 100 milijuna puta dnevno, što rezultira otprilike 2,5 milijuna 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 prepoznavati brojeve zgrada i slike s Google Maps i Google Street Views, što je još jedan zadatak koji se može riješiti pomoću captcha.

Zašto sam odjednom odlučio selektivno govoriti o Google reCAPTCHA? Da, jer je riječ o Googleovom proizvodu koji se smatra generatorom raznih standarda u području weba, kibernetičke sigurnosti i drugih područja. Stoga je reCAPTCHA danas neslužbeni captcha standard - sve je jednostavno 🙂

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

Vrste captcha

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

U pravilu, zadatak je odabran ne baš težak, tako da se većina ljudi može nositi s njim. Na kraju, svrha captcha nije odrediti inteligenciju korisnika, već jednostavno njegovu sposobnost prepoznavanja onoga što je vidio ili čuo i pomislio.

Mada, neću se začuditi da na nekom matematičkom forumu možete pronaći captcha u obliku diferencijalne jednadžbe ili neki zadatak iz Eysenckovog testa (i to uvijek na neko vrijeme) kako biste izbacili ljude s niskim IQ-om 🙂

U početku, da bi se postigao ovaj cilj, CAPTCHA je bio niz iskrivljenih slova, brojeva i drugih simbola koji su posebno prolazili kroz različite filtere za buku, rotirali i savijali. No, s vremenom su se pojavile druge vrste CAPTCHA, koje su od ljudi odvajale robote uz pomoć drugih zadataka.

1. Grafička captcha

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

Navedeni redak teksta implementiran je kao slika, gdje su slova nagnuta, prekrižena, na slici su postavljeni različiti filteri boja i šuma. Sve što je potrebno učiniti da riješite captcha u ovom slučaju je upisati znakove prikazane na slikama u posebno polje u tekstualnom obliku.

Do sada su ga uspješno koristili resursi kao što su Yandex i Vkontakte.

I sam sam bio iznenađen tako lijepom verzijom Yandex captcha, na koju sam naišao upravo u vrijeme pisanja ovog članka 🙂

2. Logic captcha

U ovom slučaju captcha provjerava prisutnost logike kod onoga tko je položi, a time i sposobnost razmišljanja uz pomoć raznih zadataka.

To može biti:

  • aritmetički primjeri (na primjer, 2+3=?);
  • zadaci za odabir određenih predmeta od predloženih (nađite ženu na svim fotografijama, muškarca s podignutom rukom, životinje, automobile itd.);
  • navođenje određene znamenke iz niza brojeva (na primjer, odaberite treću znamenku od 2312145);
  • odabir riječi koja počinje određenim slovom (na primjer, trebate odabrati riječ koja počinje na "s" među "žvakaća guma, daska, stolica");
  • broj sa slike napiši 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. Bihevioralna captcha

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

Može biti bilo što. Počevši od jednostavnog označavanja polja "Slažem se s uvjetima ugovora", koje su mnogi od vas vidjeli i koje je, zapravo, također captcha. I na kraju s nečim sofisticiranijim 🙂

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

  • pomicanje klizača u određeni položaj;
  • zarotirajte sliku na zadanu poziciju (okomito, vodoravno).

Ranije su bihevioralne i logičke captcha bile vrlo popularne u isto vrijeme sastavljanjem slike od fragmenata (tzv. puzzle captcha, jer je radila po tom principu).

Ali najzanimljivija bihevioralna captcha na koju sam naišao je specijalizirana radiotehnička captcha koju mogu proći samo stručnjaci za radiotehniku. Ali postoji poticaj za upis na Fakultet radiotehnike i studiranje 5 godina na fakultetu 🙂

4. Zvuk Captcha

Sve gore navedene CAPTCHA opcije nisu teške za stvarne korisnike stranice, jer. za njihovo rješavanje dovoljna je vizualna percepcija osobe koju računalni programi nemaju.

Ali ovdje se postavlja pitanje: što je s slabovidnim korisnicima računala ili čak slijepima? Upravo za ovu kategoriju ljudi napravljena je audio captcha.

Da budem iskren, osobno ne razumijem kako će slijepa osoba uopće doći do gumba za uključivanje zvučne captche i vidjeti gdje će unijeti znakove, ali barem će to moći proći, tvrde programeri.

Svi su to vjerojatno vidjeli na Google reCAPTCHA.

Da budem iskren, nisam vidio neovisnu zvučnu captchu. Možda je na nekim resursima za slabovidne, ali ja tamo nisam čest posjetitelj.

Iz tog razloga sam ovu vrstu CAPTCHA stavio 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 captche, već 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. Oni. jedan stupanj zaštite u njemu je postao više.

Gdje mogu pronaći captcha na stranici

Kako smo već doznali, CAPTCHA se koristi na web stranicama kako bi se identificirali roboti i spriječilo njihovo djelovanje. Stoga, kako biste utvrdili gdje se koristi captcha, morate napraviti popis radnji koje roboti najčešće izvode na stranicama.

Među njima:

  1. Slanje neželjene pošte u obliku komentara s poveznicama na druge resurse.
  2. Registracija korisnika za obavljanje raznih radnji u cilju hakiranja stranice i, opet, slanja neželjene pošte.
  3. Odabir lozinke za ulazak na stranicu pod računom postojećeg korisnika.
  4. Varati lajkove, prijatelje, preglede, preuzimanja i druge radnje za koje možete dobiti novac za zaradu bez izvođenja ikakvih radnji.
  5. Parser roboti koji kradu sadržaj web stranice. Sada za takve stvari možete dobiti zabranu od tražilica, ali neke internetske trgovine, mislim, to još uvijek rade.

Stoga je captcha postavljena da spriječi automatsko izvršavanje ovih radnji i stoga se captcha najčešće može pronaći na sljedećim mjestima:

  1. Obrazac za registraciju web stranice.
  2. Obrazac za autorizaciju resursa.
  3. Obrazac za dodavanje komentara.
  4. Obrazac za oporavak lozinke.
  5. Obrazac za preuzimanje datoteke.

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

No, najvećim dijelom, kao što ste možda primijetili, captcha je još uvijek neizostavan element raznih web oblika putem kojih korisnik komunicira sa stranicom. Ako ste zainteresirani, preporučujem da pročitate članak na poveznici, koji, osim opisa principa rada, sadrži 2 radna primjera instaliranja captcha na web mjesto vlastitim rukama.

Na ovome završava današnji članak o tome što je captcha. U njemu sam vam na najrazumljivijem i najpristupačnijem jeziku pokušao ispričati što je CAPTCHA, a razgovarali smo i o tome zašto je potreban i koje se vrste captcha danas mogu pronaći.

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

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

A za desert vam skrećem pozornost na video koji me inspirirao da napišem ovaj članak i dovoljno detaljno govori o captchi, a posebno o Google reCAPTCHA.

Opskrbite se kokicama i uživajte u gledanju.

Pozdrav, dragi čitatelji blog stranice! Još jedan koncept s kojim se prije ili kasnije susreću gotovo svi korisnici interneta i s kojim bih vas želio upoznati je captcha. Mislim da su mnogi, prilikom registracije ili autorizacije na stranicama (i ne samo), već morali dodatno popuniti dodatni stupac.

Za uspješno dovršenje procesa obično je potrebno unijeti brojeve, slova, pa čak i cijele riječi, koje su prikazane na ponuđenoj slici, u većini slučajeva u iskrivljenom obliku (zamućenjem, primjenom raznih vrsta efekata itd.). ).

Takve neobične zagonetke mogu biti sve. Na primjer, vjerojatno će se od vas tražiti da unesete rezultat jednostavne aritmetičke operacije ili poredate slike određenim redoslijedom povlačenjem i ispuštanjem.

Što je captcha i vrste ove zaštite od automatske neželjene pošte

Svi ti genijalni zadaci i testovi koji zahtijevaju izvođenje radnji svojstvenih osobi nastaju, naravno, ne samo tako, već slijede određeni cilj. Koji? O tome će biti riječi kasnije u ovoj publikaciji.

Dakle, pokušajmo odmah razjasniti. Ruska riječ "captcha" dolazi od složene engleske kratice CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart), što u punom prijevodu na ruski znači "potpuno automatizirani javni Turingov test za prepoznavanje računala i ljudi".

Zašto je osmišljen ovaj test? Činjenica je da među njima nema sasvim (ili čak uopće) 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 u potpunosti koriste sva raspoloživa sredstva. U tu svrhu masovno se registriraju 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 pojedinosti o ovoj društvenoj mreži).

Međutim, ručno na ovaj način ne možete puno varati, kao što razumijete. Stoga predstavnici ovog kontingenta uvelike koriste softver. postaviti automatsko slanje neželjene pošte. A ovo je potpuno drugačiji kaliko. Uostalom, program (robot) može raditi bez spavanja i odmora, te stoga ima neospornu prednost.

Ovako se na korisnike obrušava lavina neželjenih poruka. Ova metoda posebno nervira one koji se profesionalno koriste internetom, kažu isti webmasteri.

Vlasnici web-mjesta (koje postoje na mreži) iz prve ruke znaju kako proizvodi pošiljatelja neželjene pošte mogu biti uznemirujući i uznemirujući. Usput, na kraju članka savjetovati ću vam, 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 užarenim željezom ugušiti nekažnjenu aktivnost spamera. .

Naravno, vidljivi su pozitivni pomaci kao rezultat korištenja CAPTCHA, no rezultat nije tako ružičast kao što bi se moglo očekivati. Život ne miruje, pa stoga stalno postoje izvješća o razvoju novog softvera koji može zaobići bilo koju captchu. Potražnja stvara ponudu, jer spameri neće odustati i baciti "zlatni rudnik".

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

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

Koje vrste captcha postoje

Pa, ostavimo zasad filozofske maksime i prijeđimo na posao. Dakle, ustanovili smo što je CAPTCHA, koja služi kao vrlo učinkovit alat protiv automatske neželjene pošte. Ali koliko je to uopće učinkovito? Mnogo ovisi o profesionalnosti i kvalifikacijama web developera, kao i o softverskim algoritmima koje koriste.

Uostalom, sama bit captcha je da se stroju što je više moguće oteža da završi test, koji bi običan čovjek trebao lako proći. Nažalost, takav idealan omjer teško je postići kroz dulje vrijeme zbog postojećeg vječnog suprotstavljanja navedenog.

Vrlo često, korisnici pljuju, prisiljeni proći kroz ponekad teško riješiti captcha. Pogodite što će normalan korisnik učiniti kada vidi nešto poput ovoga:

Tako je, ostavit će takav resurs, jer uvijek postoji alternativa na mreži. Dakle, kada se koriste takve vrste CAPTCHA, sami vlasnici stranica pate, njihova konverzija se smanjuje, posjećenost pada, gubi se potencijalni pretplatnici i kupci.

Dakle, znajući čemu služi ova zaštita od neželjene pošte, možemo formulirati osnovne uvjete koji bi trebali biti temelj za stvaranje savršena captcha(ideal je, kao što znate, nedostižan u stvarnom životu, ali moramo težiti tome):

  • razvoj testa s kojim bi se svaka osoba snašla u minimalnom roku, a botu bi bio apsolutno nedostupan;
  • minimiziranje unosa bilo kakvih podataka;
  • vodeći računa o interesima korisnika s tjelesnim invaliditetom (npr. implementacija audio podrške za slabovidne).

Možete jednostavno procijeniti koji od captcha koje ste susreli na internetu u najvećoj mjeri zadovoljavaju gore navedene karakteristike. Pa, sada je vrijeme da se upoznate s glavnim i najpopularnijim vrstama testova koji se trenutno implementiraju u jednom ili drugom captcha:

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


Problem s ovom vrstom je što će previše iskrivljenih znakova teksta komplicirati njihov unos ne samo za botove, već i za obične smrtnike poput vas i mene.

2. Radnje sa slikama. Primjerice, odabir prikladnih slika (slika) od nekoliko predloženih koje bi zadovoljile određene kriterije. Recimo, da biste riješili captcha naveden kao primjer u nastavku, trebali biste odabrati sve slike na kojima je prisutna trava:

Ova vrsta unosa je teža za programe jer uključuje analizu slike. A ovaj im predstavlja ozbiljnu prepreku, iako su nedavno anti-captcha programeri napravili korak naprijed kako bi otklonili ovaj nedostatak.

To također može uključivati sastavljanje holističke slike od različitih dijelova, što je inherentna ljudska sposobnost logičkog i analitičkog mišljenja. Pomicanjem detalja mišem na prava mjesta dobivamo željenu sliku (u ovom slučaju ljudsko lice):


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

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


ovdje je opet važno ne pretjerivati ​​i ne tjerati korisnika da bezuspješno "naborava mozak", kao u primjeru prikazanom na petoj snimci zaslona iznad odavde.

4. ReCAPTCHA. Ova vrsta Turingovog testa privlačnija je širokom krugu korisnika, jer uzima u obzir interese osoba s invaliditetom (vidi popis uvjeta za postizanje "savršenog captcha" nekoliko pasusa iznad), uz vizualnu opciju , nudi audio reprodukciju teksta koji se nalazi na slici:

ReCAPTCHA je prilično pouzdan i ima visok stupanj zaštite od spamera, pa se već dugo koristi na mnogim velikim web resursima, uključujući i Google stranicu za registraciju. Istina, gornji primjer nije sasvim uspješan, budući da je u ovom obliku prikazani tekst previše iskrivljen i teško ga je reproducirati jednostavna osoba.

Zatim morate odabrati drugu sliku pomoću gumba za osvježavanje (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 svjetskog lidera pretraživanja, vrijedi spomenuti Yandex, koji je njegov glavni konkurent na Runetu () i također koristi izvornu zaštitu od spamera (YaCAPTCHA), gdje se može ponuditi kodna riječ ili jednostavan skup slova na ćirilici :

Naravno, vrste captcha koje sam ovdje naveo samo su mali dio njihove raznolikosti. Štoviše, klasificirao sam ih prema onim znakovima koji pokazuju varijabilnost. Isto možete učiniti i sami identificiranjem drugih temeljnih karakteristika prema kojima možete klasificirati.

Za one koji preferiraju video materijale tekstualnih informacija, možete pogledati vrlo popularan video o raznim vrstama captcha:

");">

Unos captcha i procjena mogućnosti zaobilaženja

Dakle, ustanovili smo što znači captcha. Ovo nije ništa drugo nego prilično učinkovito sredstvo zaštite od automatske neželjene pošte. A ako ispred sebe vidite rečenicu poput "unesi captcha", onda morate riješiti jednostavan rebus, rješavanjem kojeg potvrđujete da ste živa osoba, čime ćete omogućiti prolaz u sustav.

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 dovršavanje koda.

Na primjer, na nekim resursima, ako neispravno unesete znakove i rezultirajuću pogrešku, vrlo je vjerojatno da je ovo slika:

"Captcha test nije uspio" prevedeno s 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 pogreška, pokušajte ponovno" - pogreška u unosu captcha, pokušajte ponovno;
  • "ispravno ispunite CAPTCHA" - molimo vas da ispravno ispunite captchu.

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

Sljedeće pitanje je: kako zaobići captcha ili je čak ukloniti i što je potrebno učiniti da se to postigne? Odmah da vam kažem da to nije moguće. 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, međutim, nitko nije ostvario odlučujuću prednost, a mislim da će se i u budućnosti zadržati postojeći paritet uz neke promjene u ovom ili onom smjeru. To je zbog interesa obiju strana (i vlasnika internetskih resursa koji se žele zaštititi od bombardiranja neželjenih poruka i pošiljatelja neželjene pošte koji ne žele propustiti isplativo sredstvo za obogaćivanje).

Dakle, neželjena pošta sigurno prolazi, osobito s najnovijim plaćenim softverom. No, učinkovitost čak i najboljih automatskih programa daleko je od 100%, o tome svjedoči i činjenica da cvjetaju online usluge (anti-captcha), gdje captcha prepoznaju stvarni ljudi, naravno, uz naknadu.

U ovom slučaju, učinkovitost teži maksimumu iz očitih 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. Za sve u ovom životu morate platiti.

S druge strane, na takvim uslugama možete zaraditi ako se prijavite kao zaposlenik. Najpopularniji i, možda,. Novac koji ćete tamo dobiti nije velik, prije je dodatni izvor prihoda.

Mora se imati na umu da ovaj posao ne podrazumijeva nikakve posebne vještine i znanja, to može učiniti svatko tko ima jednostavnu internetsku vezu. A nekvalificirana radna snaga standardno nije visoko cijenjena. Ali ako ti se ne sviđa, uvijek možeš odustati.

Najbolje rješenje za web stranice - instaliranje reCAPTCHA

Pa, na kraju objave, ne mogu a da se ne dotaknem problema korištenja najučinkovitije captcha na mojoj web stranici ili blogu (). Uostalom, svi webmasteri iz prve ruke poznaju "čar" komunikacije sa spamerima.

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

Također sam instalirao reCAPTCHA na neke od svojih online projekata. Ovaj anti-spam alat još nije dostupan na stranici iz jednostavnog razloga što sam općenito zadovoljan radom koji odgovara mojoj strukturi komentara.

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

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

Dakle, razriješeni alati i motivi hakera. Pogledajmo sada najčešće načine zaobilaženja captche, razvrstavajući ih u dvije skupine: one koji su mogući 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 od kojih još nisu smislili načine zaštite.

Da napravim intrigu, reći ću da ih trenutno ima čak troje.

Captcha zaobići zbog pogrešaka u implementaciji

Ako kreatore njihovih vlastitih implementacija CAPTCHA pitate kako zaobići captcha, oni će vam reći barem nekoliko načina. No, najzanimljivije je da i sami ponekad ostavljaju prozore i vrata u svojim kreacijama da ih razbiju.

To se često događa zbog krivnje ljudskog faktora, odnosno uobičajene nepažnje tijekom razvoja i nedovoljne temeljitosti pri testiranju sigurnosti captcha.

No, ponekad postoji i neiskustvo, zbog kojeg programer jednostavno nije znao za neke načine zaobići captcha u vrijeme razvoja.

Kao što sam obećao, u ovom odjeljku razmotrit ću one najčešće, kao i načine zaštite od njih. I krenimo, kao što smo obećali, od samog primitivca.

Zaobiđite captcha s fiksnim skupom zadataka

U zoru pojave captcha kao sredstva za borbu protiv botova, samostalno napisane captche bile su vrlo popularne, jer. svi su htjeli isprobati novu tehnologiju, a kao rezultat toga, captche su izmislili svi i svi.

U slučaju korištenja samonapisanih captcha, tijekom čije su implementacije programeri odlučili ne zamarati se velikom bazom podataka slika, pitanja ili drugih vrsta zadataka, za ciljani automatski napad na web-mjesto s takvim CAPTCHA, jednostavno morate saznati odgovore u ručnom načinu rada.

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

No, srećom, u suvremenom svijetu neće se moći susresti mnoge takve situacije, jer. kibernetička sigurnost je otada dosegla vrlo solidnu razinu i nitko ne stvara takve primitive.

A ako takvih ima, onda vrlo brzo uče na svojim greškama kada izgube kontrolu nad svojom web lokacijom ili kupcima koji su hakirani zbog takvih kreacija.

Zaštita: nikada ne stvarajte captcha sa skupom zadataka čija se rješenja mogu odabrati ručno. Ako za rješavanje captcha trebate 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 će naziv polja, na primjer, uvijek biti "captcha", tada će napadaču biti lakše probiti takav captcha. Njegov bot će samo poslati zahtjev poslužiteljskoj skripti navedenoj u HTML atributu "action" obrasca, koji sadrži potrebnu vrijednost captcha.

Ako je u ovoj situaciji naziv polja captcha cijelo vrijeme isti, tada će haker jednostavno koristiti bazu podataka najčešćih naziva captcha polja, koju možete sami stvoriti prilikom proučavanja raznih web-mjesta ili je preuzeti gotovu iz specijaliziranih izvora ( Neću ih nabrajati da promoviraju hakiranje).

Ako će se naziv polja, kao i sam zadatak za prosljeđivanje captcha, generirati na poslužitelju, onda nikakva baza captcha imena neće pomoći. Kako bi se koristio naziv dinamičkog polja, u praksi captcha generira jedna skripta, 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 naziv polja captcha. To se najčešće radi korištenjem skrivenog unosa obrasca, atributa podataka ili njihovim prosljeđivanjem kroz kolačiće ili sesiju.

Ključna stvar je da naziv ne možete proslijediti izravno, tj. captcha polje se zove "captcha_mysite", a skriveno polje je postavljeno na "captcha_mysite" ili "site". Mora biti šifriran, a dešifriranje se mora dogoditi koristeći isti algoritam kao i šifriranje.

Budući da će algoritam enkripcije biti pohranjen na poslužitelju, napadač to neće moći tek tako saznati (osim ako ne dobije pristup sadržaju poslužiteljske skripte).

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

Zaobiđite captcha korištenjem sesija

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

Stoga mogu lako pokupiti algoritam šifriranja i koristiti ga za daljnje automatizirane napade grubom silom pomoću botova.

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

Zbog ovog propusta, takve se captcha mogu proslijediti ubacivanjem nepostojećih ID-ova sesije i praznih vrijednosti captcha.

Zaštita: Koliko god željeli prestati koristiti sesije za prosljeđivanje captcha vrijednosti, to je velika cijena za zaštitu captcha od hakova. Stoga sesije, vrijednosti njihovih varijabli i identifikatora samo trebaju biti pažljivo zaštićeni kako haker ne bi mogao koristiti informacije pohranjene u njima.

Također je vrijedno učiniti sve banalne, ali takve potrebne provjere varijabli postojanja i praznine njihovih vrijednosti.

Pucanje captcha zbog tajnih podataka u kodu klijenta

Ponekad se captcha izrađuje na način da prilikom prijenosa korisničkih vrijednosti na poslužitelj koriste enkripciju 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 znakova.

A glavni uvjet za rješavanje captcha je da šifrirana CAPTCHA vrijednost koju je unio korisnik odgovara njenoj ispravnoj vrijednosti, koja je generirana kada je stranica otvorena i zapisana u sesiju ili drugu pohranu za daljnji prijenos na poslužitelj.

Podudarnost ovih vrijednosti najvjerojatnije će ukazivati ​​na to da je korisnik stvarna osoba koja je upisala captcha generiranu tijekom komunikacijske sesije, na kraju koje ju je riješio i s istog računala na kojem je prvi put vidio captcha.

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

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

Zaštita: kada sami implementirate CAPTCHA, morate uzeti u obzir ovu sigurnosnu rupu i, ako trebate uzeti u obzir vrijednost nekog jedinstvenog identifikatora za rješavanje captcha, onda morate paziti da se ne spominje ni u JS-u ili u HTML kodu koji se može vidjeti u pregledniku.

Također morate regenerirati ID sesije i generirati druge jedinstvene vrijednosti (uključujući i sam CAPTCHA, ako je moguće) nakon svakog pokušaja unosa captcha, što će vas uštedjeti ili barem otežati hakerima hakiranje stranice automatski odabir ispravne vrijednosti.

Drugi način zaštite je, ako je moguće, blokiranje radnji putem IP-a i broja pokušaja.

Kako zaobići captcha bez promjene IP-a

Brute force napad je učinkovit način zaobilaženja captcha ne samo u slučajevima kada se provodi s fiksnim skupom zadataka i njihovim rješenjima.

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

U tom slučaju bit će moguće zaobići captchu pomoću posebnog programa koji će prikupiti bazu podataka ili odabrati odgovore s postojećeg popisa. Štoviše, sve će se to raditi automatski zahvaljujući suvremenim metodama strojnog učenja i razvoju u području umjetne inteligencije, koji su posljednjih godina napravili veliki korak naprijed.

Zaštita: kada implementirate uistinu sigurnu captchu, 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, tada takvog korisnika smatrajte robotom i prikažite odgovarajuću poruku na ekranu. Tekst poruke trebao bi sadržavati upute stvarnim korisnicima da unos ne bi trebao biti tako brz (u slučaju da je osoba fizički sposobna brže unijeti odgovor).

Ako se doista radilo o osobi, tada će poduzeti odgovarajuće mjere, a ako se radilo o robotu, nastavit će pokušavati zaobići captchu.

Takve pokušaje treba smatrati netočnim s fiksiranjem njihovog broja u varijabli sesije i blokiranjem daljnjih radnji za korisnike putem njihovog IP-a. Također bi bilo korisno da takve blokirane adrese izdaju poruku umjesto captcha za kontaktiranje administratora ako je blokirani korisnik stvarna osoba.

Još jedan učinkovit način rješavanja problema s botovima je uvođenje ograničenja za određene radnje na stranici. Na primjer, jedna registracija s jednog IP-a. Ovdje je glavna stvar ne koketirati i ne doseći granice broja komentara za jednog jedinstvenog korisnika.

Ali, istina, ove mjere neće puno pomoći zbog postojanja proxy poslužitelja.

Zaobiđite captcha pomoću proxyja

Čak iu situacijama kada se blokira veliki broj pokušaja rješavanja captcha putem IP-a i dalje događa, ovaj događaj ne pruža 100% zaštitu od robota.

Za sve je kriv proxy poslužitelj i programi anonimizatori koji rade na njihovoj osnovi, a koji su poznati, možda, svakom modernom studentu koji traži načine kako zaobići roditeljsku kontrolu i blokirati zabranjene stranice.

Anonimizatori vam omogućuju sakrivanje računalnih podataka prilikom korištenja stranice, uključujući željenu IP adresu, pomoću koje se klijent može izračunati i blokirati.

Shema je jednostavna: korisnik se povezuje na proxy poslužitelj, gdje su njegovi podaci šifrirani ili lažirani od strane drugih (na primjer, može vam biti dodijeljena IP adresa druge zemlje), a zatim se šalje zahtjev ciljnoj stranici na koju klijent se želi povezati.

Tako će napadač lako zaobići sve vaše IP blokove i odabrati ispravno captcha rješenje 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, na VK-u prilikom dodavanja velikog broja prijatelja), možda se uopće neće pojaviti ako se svaka radnja izvodi s novog IP-a i podliježe vremenskim ograničenjima između pokušaja rješavanja captcha, tako da je ponašanje bota slično ponašanju stvarne osobe.

Ova metoda je korištena prije pola stoljeća pri pisanju prvih programa kako bi se položio Turingov test, čija je implementacija CAPTCHA.

Opisani principi, inače, koriste svi trenutno poznati programi za automatski unos captcha. Za promjenu IP adrese veze na stranicu koriste se besplatnim i komercijalnim bazama proxy poslužitelja do kojih, ako je internet dostupan, neće biti teško doći.

Zaštita: nažalost, zahvaljujući prisutnosti anonimizatora i otvorenih PROXY baza podataka, nećete se moći zaštititi od hakiranja captcha praćenjem uljeza putem IP-a.

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

Iz tog razloga uopće ne biste trebali odbiti provjeru IP-a. Zahvaljujući vašim mjerama opreza protiv zaobilaženja captcha, bit će moguće prije ili kasnije blokirati hakera na jednoj ili drugoj razini.

A najispravniji zaključak u ovoj situaciji bio bi koristiti, osim ove metode zaštite od hakiranja captcha, i druge koje pomažu razotkriti hakera na drugačiji način.

Automatski unos captcha pomoću emulatora akcija

Ako za prosljeđivanje CAPTCHA-e trebate izvršiti određenu radnju (pritisnuti gumb, pomicati klizač itd.), tada također možete zaobići captchu u ovoj situaciji simulacijom potrebne radnje (klikom na određenu kontrolu ili drugu radnju) .

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

Najlakši način za to je njegovim koordinatama ili položajem u odnosu na neke statičke elemente resursa.

Zaštita: kako biste se u ovom slučaju zaštitili od automatskog unosa captcha, morate stalno mijenjati položaj kontrole koji vam omogućuje rješavanje CAPTCHA. Oni. ako od tri čovječuljčića trebate odabrati samo onog s podignutom rukom, ni u kojem slučaju ga ne smijete stalno postavljati na isto mjesto.

Pa, u slučajevima drugih implementacija captcha, kada to nije moguće (na primjer, za gumb za preuzimanje ili polje "Nisam robot" koje može imati samo jedan točan odgovor), potrebno je koristiti drugu zaštitu metode koje mogu spriječiti robote da automatski rješavaju captcha.

Kako zaobići captcha pomoću visoke tehnologije

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

Ovi slučajevi hakiranja captcha izravni su rezultat suvremenog napretka i razine razvoja računalnih tehnologija, koje se, kao što znate, ne koriste uvijek u dobre svrhe.

Dakle, kako izbjeći captcha uz pomoć modernih tehnologija?

Zaobiđite captcha pomoću OCR-a

OCR (Optical Character Recognition – optičko prepoznavanje znakova) je tehnologija za prepoznavanje tiskanog ili pisanog teksta za daljnju upotrebu u elektroničkom formatu. Najpoznatiji softver koji implementira ovu tehnologiju je Adobe FineReader.

Uspješno se koristi pri izradi programa za automatski unos captcha koji uspješno prepoznaju i rješavaju grafičke captcha, za prolaz 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 s grafikom, prepoznaju captcha i izdati 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 šumova;
  • dijeljenje prikazanog niza na zasebne znakove;
  • usporedba svakog od njih s pripremljenom slikom (uzorkom).

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

Kao što ste možda i pretpostavili, najvažnije je sastaviti bazu podataka slika znakova u raznim varijacijama, s kojima će se zatim usporediti captcha znakovi.

Zaštita: zapravo, kako bi se zbunili OCR programi, koriste se svi neugodni šumovi i izobličenja znakova na slikama, zbog kojih je tekst ponekad teško razabrati čak i za osobu. No, u slučaju robota, to također dobro funkcionira, zbog čega OCR algoritmi ne mogu dati 100% točan rezultat, što pozitivno utječe na sigurnost captcha i stranica koje ga koriste.

Ako se odlučite koristiti grafičke captcha, za čiji prolaz morate unijeti znakove prikazane na slici, tada morate slijediti sljedeće preporuke:

  1. Znakovi na različitim CAPTCHA-ima moraju imati različite koordinate.
  2. Ako koristite neku vrstu efekata buke za stvaranje pozadine, tada njezina boja mora odgovarati boji znakova, inače se pozadina može lako ukloniti isticanjem znakova za prepoznavanje.
  3. Razmak između znakova trebao bi biti minimalan. Možete ih čak i preklopiti jednu na drugu, ali samo bez fanatizma, kako bi ih pravi korisnici mogli 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ćuju promjenu znakova na takav način da će biti nemoguće odabrati font za njihovo softversko prepoznavanje. Primjer takvog rješenja je captcha od kreatora captcha.ru resursa, koji je generiran korištenjem autorskog algoritma za valovito izobličenje karaktera.

Sve ove mjere omogućuju kompliciranje prepoznavanja grafičkog captcha za OCR sustave i smanjenje broja automatskih unosa captcha.

Kako proći captcha pomoću neuronskih mreža

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 polovici prošlog stoljeća (za tehnologije je 50 godina značajna starost). 🙂).

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

Trenutno se umjetna inteligencija neprestano razvija, a svakim danom sve je više izuma koji imaju svojstva koja dosad nisu viđena.

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

Uz njihovu pomoć možete:

  • prepoznati predmete na fotografijama (od spola prikazane osobe i marke njezinih traperica kojoj igri pripada analizirana slika, sa svom svojom paletom boja, nazivom lokacije i što se na njoj događa);
  • upravljati uređajima glasom i gestama;
  • pisati bilješke uz video na temelju onoga što se događa u videu itd.

Naravno, s 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 (podsjetim da je samo 1% točnih odgovora potrebno za rješavanje klasičnog Turingovog testa, a to je CAPTCHA).

Zaštita: Nažalost, nemoguće je obraniti se od ove vrste napada. I srećom, Vicariousov ANN neće se koristiti za ciljane napade kako bi se zaobišli captcha na web stranicama. preskup je za tako male zadatke (sami proizvođači kažu da se radi o klasteru mnogih poslužitelja). Njegovo glavno područje primjene je rješavanje raznih problema u medicini i robotici.

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

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

Zaobiđite captcha koristeći javne usluge

Kako su se OCR i AI sustavi razvijali, mjere za kompliciranje grafičkih captcha postajale su sve složenije, što je omogućilo njihovim programerima da ulože ogromne napore u implementaciji. Ali ipak su se ispostavile kao uzaludne, jer. nisu pružili 100% zaštitu stranica od automatiziranih napada.

Stoga je Google otišao, čini mi se, pravim putem i odlučio jednostavno izmisliti novi noCAPTCHA standard, odbijajući ručno unositi znakove sa slika.

Prilikom razvoja reCAPTCHA noCAPTCHA koristili smo iskustvo borbe protiv robota u eri rađanja captcha i suvremenog razvoja u području umjetne inteligencije, što nam omogućuje da osiguramo odgovarajuću razinu sigurnosti web-lokacije, ali u isto vrijeme nije puno komplicirano život korisnika 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 daleko je od korištenja umjetne inteligencije.

Sve je puno banalnije – da biste položili Google reCAPTCHA, dovoljno je koristiti Googleove vlastite usluge prepoznavanja slike i govora.

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

No, usluge Google Speech Recognition usluge, koje je jedno od Googleovih dostignuća na području umjetne inteligencije, koje smo spominjali u prethodnoj metodi zaobilaženja captcha, bit će vrlo korisne. Budući da usluga pruža API, nije teško izraditi aplikaciju na temelju njega.

Zaštita: Nažalost, u ovoj situaciji, kao iu prethodnoj, gdje su se ANN-ovi koristili za zaobilaženje captcha, nećete se moći zaštititi od zaobilaženja captcha. Jedina pozitivna točka opet je relativna dostupnost odgovarajućih usluga, kao Google daje samo 300 USD testa za njihovu upotrebu.

Nakon njihovog završetka usluge postaju plaćene. No, za hakere to vjerojatno neće biti prepreka, jer. na napadima koji koriste automatski unos captcha, mogu zaraditi još više.

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

Kako proći captcha koristeći ljudski rad

Na kraju popisa načina da zaobiđete captcha, odlučio sam razmotriti onaj koji se ne uklapa ni u jednu od gore navedenih kategorija.

Ne temelji se na korištenju ranjivosti u implementaciji CAPTCHA i korištenju modernih tehnologija, već se temelji na prirodnoj ljudskoj želji za zaradom.

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

Riječ je o jednom od modernih načina izvlačenja novca – koji se, inače, pojavio otprilike u vrijeme kada je CAPTCHA postalo teško programski prepoznati.

Njegova bit leži u činjenici da se stvara posebna usluga koja navodno omogućuje ljudima da zarađuju novac (uglavnom malen, što je možda dovoljno samo Indijancima ili školarcima koji traže bilo kakve načine da dođu do novca) ručnim rješavanjem captcha.

I svatko tko treba 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;
  • kupnja ulaznica i robe u internetskim trgovinama za skuplju preprodaju;
  • hakerske stranice itd.

Za praktičniji proces, usluge čak pružaju API, zahvaljujući kojem se captcha može ispuniti online. Oni. korisnik upisuje captcha putem servisa, a u ovom trenutku njegov odgovor služi za potvrdu online kupnje.

Mnogi obrtnici u području programiranja, usput, mogu koristiti ljudski rad apsolutno besplatno. Na primjer, ovako zarađuju za život vlasnici porno stranica, hostinga datoteka, torrenta i drugih sumnjivih resursa koji pružaju besplatne usluge.

Korisnicima navodno besplatno daju vrijedan sadržaj, zahtijevajući od nas da potvrdimo da ste osoba, a ne robot, uz pomoć kojeg napadači koriste njihove proizvode u vlastite svrhe.

Naravno, ne razmišljamo dugo, jer dobiti priliku za preuzimanje dugo očekivanog filma u HD kvaliteti apsolutno besplatno za stavljanje nekakvih kvačica u okvir "Nisam robot" samo je sitnica. U međuvremenu, vaša se radnja API-ja koristi za zaobilaženje captcha na drugoj web stranici 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 najučinkovitija metoda zaobilaženja captcha, od koje ne postoje sredstva zaštite. I neće biti dok se ne prebace oni koji žele zaraditi lipu teškim radom i ljubitelji besplatnih sadržaja, tj. najvjerojatnije - nikad.

Captcha bypass - zaključci

Tijekom pisanja ovog članka došao sam do zaključka da captcha, unatoč izvrsnoj ideji s kojom je zamišljen, naime, da zaštiti web stranice od robota, odavno više ne ispunjava svoje funkcije.

Ako se još uvijek možete zaštititi od automatiziranih zaobilaženja captcha koji koriste slabosti u implementaciji CAPTCHA eliminirajući sve probleme s njihovom sigurnošću, onda je jednostavno nemoguće zaštititi se od unosa captcha od strane stvarnih korisnika za novac.

U cijeloj ovoj situaciji jedino spašava to što se za ovakav posao plaća smiješan novac i malo tko na to pristaje, pa razmjeri cyber napada korištenjem automatskog unosa captcha nisu toliko katastrofalni koliko bi mogli biti.

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

Istodobno, kako bi se zakomplicirao život hakera, captcha se neprestano "napuhava" novom funkcionalnošću, zbog čega njihov prolazak postaje težak i zamoran zadatak čak i za stvarne korisnike stranice.

Prisjetite se istog Google reCAPTCHA: označite okvir ako se Googleu nešto nije svidjelo, odaberite i potrebne slike (usput, još uvijek imam problema s prometnim znakovima, jer takav zadatak mogu završiti negdje s 5 pokušaja). Nije li velika gužva oko ostavljanja komentara ili registracije na stranici? Lakše je pronaći drugi resurs...

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

Istodobno, činjenica da se CAPTCHA nastavlja koristiti kao tehnologija cyber obrane 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 održavanju postojećih stranica koje koriste captcha potrebno aktivno koristiti navedene preporuke kako bi se hakerima što više otežalo hakiranje softvera.

Vrhunski povezani članci