Hledam tip jak prijit na to, ze nekdo vyplnuje registraci s nesmyslnymi udaji.
Tohle je typicky priklad. Je potreba vzit v uvahu, ze mame klienty uplne z celeho sveta. To znamena, ze treba nemuzeme jednoduse kontrolovat treba krestni jmeno vuci nejake databazi krestnich jmen.
Nechceme zneprijemnovat zivot vetsine slusnych klientu, ale zaroven chceme presne odchytnout tyto pripady viz. obrazek.
Mate nekdo nejaky prakticky napad jak to vyresit?
Vidím tam dva znaky, podle kterých to lze poznat:
– málo samohlásek
– písmena jsou na anglické klávesnici podezřele blízko sebe
To “podezřele blízko” je dobrý nápad. Existuje Ruby program, který určuje skí³re hesel podle toho, jestli představují nějaký pattern na klávesnici. Možná by se dalo z toho inspirovat: http://digi.ninja/projects/passpat.php
zajimavy
Jeste take velka stejnost pismen napric kolonkami. Mala pismena na zacatku slov (muzou jen lehce ovlivnit spam score). Stejne tak neexistence daneho slova/jmena/mesta/psc ve tve DB muze zhorsit score.
V bezpečnosti se to nazývá Frekvenční analýza. Každý jazyk má pro každé písmeno pravděpodonost, že nastane. Stejně tak existuje frekvenční analýza dvojic, trojic atd. Když se to spojí, dohromady. Mohlo by to být – s jistou pravděpodobností – spolehlivé. Avšak jména apod se nemusí shodovat s jazykem. Nicméně adresa/město je vyhledatelná a pokud neexistuje, také to něco naznačuje.
Frekvenční analýza je ale podle mě použitelná jenom pro větší kusy textu, alespoň několik vět. Z jednoho slova se nic nepozná.
To ano, ale hlouposti typu klklklk by to odhalit mělo.
snad nektery captchy a urcite nektery generatory hesel pouzivaji nejaky algoritmus, co vymysli “slova podobna realnym” asi na motivy nejake velke databaze. Mozna ze se pak i rozdily mezi jazyky setrou, nevim
urcite to odchytat jde, jen si priplatit za algorytmus, co to osetri … pokud se totiz bude opakovat ve vice zaznamech formulare, tak se to da osetrit podle me celkem slusne a vyzvat autora, aby proste vyplnil neco jako re-captcha kod … rekni svemu programatorovi, znam kluka, co s nim tady z CR ze Dvora Kralove maka (pro tebe externe), delal vam vypocty prepravneho (asi celej modul, kecal jsem a ukazoval mi) a at mu to posle, jmenuje se Ludva a at mu posle tenhle pozadavek … ma ted cely novy tym, ti kluci jsou namakani, takze to podle me daji 😉 … ale to se musi asi na miru, nic podobneho jako api neznam, ale jsem zvedav, jestli sem nekdo neco neprida, co by to osetrovalo … mimochodem, mas sklady uz v china? neco tam potrebuju prepravovat z cech ci evropy … testovani byznysu cca ted mesic 🙂
Jde o případy, kdy jde o bota, co se ti tam registruje nebo myslíš, že jde o reálnýho člověka, co pouze vyplní nesmyslný údaje? Na první případ existuje tuna řešení, na druhý už je to trochu složitější. Kontroloval bych to pro začátek jednoduše třeba podle telefonního čísla, které musí mít formát pro danou zemi, stejně tak bych povolil pouze výběr města a státu ze select boxů a přidal několik filtrů na to, jak musí vypadat jméno …
Myslim, ze jde o realneho cloveka co proste jen tak prsty brkne do klavesnice adsf asdf.. a rychle to vyplni. Pokazde muze napsat neco jineho. Je to ale minimalni procento.. a kdyz neco budeme delat automaticky tak nechceme zasahnout stovky/tisice dalsich lidi co treba vyplnuji neco trosku v jinem formatu. Jinak vyber statu mesta podle select boxu neresi nas problem. My chceme zabranit podvodnikum co si takto testuji platebni kartu a snazi se otevrit ucet.
Sledujte čas jak dlouho to vyplňuje a logujte ho. Podle mě ten podvodník bude mít mnohem kratší čas vyplnění. Stejně tak třeba logujte jak dlouho se dívá na stránku ceníku.
podvodnikom nezabranis. ak by som sa na mieste podvodnika snazil otestovat kartu a chcel si otvorit ucet, vymyslel a vyplnil by som realne meno a adresu, napr. nejakeho znameho, neprijemneho suseda, kolegu a pod. 🙂
Jméno zkusit najít přes FB API a adresu přes Google Maps? Pokud ti oboje vrátí prázdný výsledek, tak ty údaje budou pravděpodobně nesmyslné.
No ale to je mysleni treba pro US trh nebo EU trh.. ale co treba Cina, Rusko.. kde ten FB zas tak nefrci
Otevrit treba pres PHP vyhledavani google, vyhledavat “ksfhaksdhfjka”. Kdyz jedno z policek ma malo nalezenych vysledku, tak to predat na kontrolu clovekovi. Te lidske kontrole se asi nevyhnes.
Pokud se přes google vyhledává moc často, tak provoz z dané adresy začne blokovat a zobrazí captchu. Vtipné je, že to dělají i pro mapové podklady na google maps, takže se tam pak nezobrazují mapové podklady. Ale captchu to taky nezobrazí, protože to očekává obrázek…
https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=lklklklklk&qscrl=1 (4000 results)
ak to robi bot tak nie je jednoduchy sposob ako osetrit vstupy, lebo aj ked sa podari osetrit nezmyselne slova, bot moze zacat pouzivat mena z kalendara. najlepsie je pouzivatela overovat napr pomocou potvrdenia emailovej adresy. este lepsie je ziskat od pouzivatela mobilne cislo a poslat mu overovaciu sms, aj ked to asi nebude najjednoduchsie urobitelne pre cely svet’¦ kazdopadne to 100%tne funguje. Iny sposob overenia by este mohol byt pomocou kreditnej karty. jednoducho je potrebne vymysliet overenie takym sposobom, ktore bot nedokaze okabatit.
to iste riesenie by mohlo platit aj v tom pripade, ak tieto udaje vyplna zivy clovek – ak by bol nuteny zadat cislo kreditnej karty, tak zada aj svoje meno.
SMS ping není řešením, je mraky služeb, které mají spousty čísel, které lze k tomu použít a přijaté SMS automaticky zobrazí na webu. Takže se potvrdí existující číslo, ale nikoli to, že ten telefon má někdo konkrétní v ruce…
Blokovat prispevky, ktere jsou odeslane moc rychle od nacteni stranky.
Za jakym ucelem si ti lide ten ucet vytvari, kdyz v nem maji jen same nesmyslne udaje? Na danou adresu a jmeno jim asi nikdy zadnej balik neprijde 🙂
Myslim, ze spolehliva detekce fake uctu bude problem, staci chvili hledat a clovek najde veci jako http://www.fakenamegenerator.com/ ktere generuji zcela verohodne udaje, ktere overit bez skutecneho overeni proti nejakemu registru adres apod.
Chce to sehnat si databázi jmen různých zemí a proti ní to porovnávat. Bohužel, pokud bude kontrola při vyplnění formuláře upozorňovat na nesrovnalosti, tak dojde k tomu, že pak uživatel bude vyplňovat na první pohled správné údaje. Popravdě je to nekonečný boj. Dle mého názoru je lepší to neřešit. Čím lépe bude maskovaná falešná registrace, tím těžší bude jí odhalit. Pálcnutí do klávesnice je viditelné na první pohled.
Skús tam umiestniť link, kde budú zobrazené všetky kroky pri registrácii. Ľudia aj zo zvedavosti skúšajú aké údaje im treba vyplniť v ďalšom kroku. Takto eliminuješ aspoň časť nezmyselných registrácii. 🙂 Napríklad: http://www.nakupyvusa.com/shipito-registracia/
Shodou okolností jsem minulý týden četl o tomhle startupu který něco takového řeší: https://blockscore.com/
Kolik tech registraci denne je? V cen spociva ten problem ze nekdo vypni takovou fake registraci? Objednavaji neco ? Zajimalo by me z jakyho duvodu nekdo vubec vyplni takovou registraci – co mu to prinese?
Se jmenama podle me nic neudelas – dulezita je adresa.
Co takhle manualni overeni ? Najmout si nejakeho “inda” ktery kazdej den zkontroluje registrace?
Pokud to musi byt automaticky tak pres google maps existuje geocoding kterej vraci urcity “zoom” attribute podle ktereho se pozna jak je ktera adresa “presna” – staci to volat pres javascript na tom formularovym okynku. Zaroven i kdyz ten JS vrati neco jako “risk” tak registraci povolit ale poslat nekomu upozorneni at to checkne.
Ja bych asi zkusil par rychlych a jednoduchych score algoritmu jak uz tady bylo navrhovano a podezrele registrace bundlovat rekneme po 100 do tasku a pustit na ne mechanickeho Turka:
https://www.mturk.com
Kazdopadne bych se ale nejdrive opravdu zamyslel nad odstranenim incentiv proc to ty lidi delaji.
Většinou si tyhle lidi nedají práci začínat velkým písmenem..
Použij markovovy řetězce, které natrénuješ na nějaké netriviální množině
jmen. V tomhle konkrétním případě jsou imho využívány poměrně často.
http://cs.wikipedia.org/wiki/Markov%C5%AFv_%C5%99et%C4%9Bzec
Resil bych to jednoduse. Kombinace odeslani registrace od nacteni registracniho formulare + kontrola jmena podle databaze/slovniku vsech jmen.
Pokud jedno z toho neprojde, bude podezrely. Povolil bych registraci dokoncit jenom odelanim fotokopie pasu. Hotovo.
Co třeba testování ZIP (PSČ) a města, zda to odpovídá skutečnosti. Musí existovat databáze ulic, měst a PSČ pro všechna místa světa. A pokud by někdo zadal PSČ neodpovídající danému městu nebo ulici nebo pokud by nezadal žádnou ulici či město, tak by se nešlo registrovat. Viděl jsem to na jednom anglickém webu, kde to fungovalo super. Tohle by vyfiltrovalo hodně podvodníků.
Dalsi co zije v bludu ze ZIP je vsude. Jak ja tyhle naivky nenavidel kdyz jsem bydlel v Irsku, kde ZIP nevedou a v klidu zijou….
Setkal jsem se s těmito objednávkami od konkurence. Tím, že u mne 1x za týden udělali falešnou objednávku, zjistili přesný počet přijatých objednávek a dokázali si udělat představu o obratu. Změnil jsem číslování objednávek, tak aby nebylo číslováno postupně od 1. Předpokládám, že máš tyto čísla zašifrována, třeba se je snaží rozšifrovat.
Co je jednoduché a dá se rychle realizovat je geolokace uživatele vyplňující formulář například pomocí DB/API (https://www.maxmind.com/en/geolocation_landing) a následné porovnání se Zemí/Regionem uvedeným ve formuláři. Pokud nesouhlasí, zařadit k “ručnímu” posouzení.
Toto se dá jednoduše vylepšit o blacklist IP adres / zemí často používaných pro SPAM.
Ja bych zkusil pouzit Bayesovsky SPAM filtr. Kazda emailova sluzba ho pouziva a ac neni dokonaly, dokaze docela dobre odhalit podivne veci a veci v pohode nechat projit. Jedna z ukazek je popsana zde: http://theory.stanford.edu/~dfreeman/papers/namespam.pdf
Generator identity (http://sk.fakenamegenerator.com/) bude asi tazke rozpoznat aj rucne.
Podle mě se to může lišit v rychlosti vyplňování (dá se zjistit pomocí Javascriptu), což by šlo použít jako 1 parametr v scoringovém systému, který by mohl využít i ostatní zde uvedené nápady.
Pro vytvoření prediktivního modelu by šlo pak využít soutěž na http://www.kaggle.com/
Mě to spíš připadá, že od uživatelů chcete při registraci zbytečné
údaje. Kdyby ty údaje k něčemu byly, tak je uživatel bude muset vyplnit
správně.
Myslím, že tyto registrace vznikají, protože lidé chtějí vědět co je uvnitř, ale ještě nejsou rozhodnutí službu používat. Nebo např chtějí vědět kolik je bude něco stát atd… Jestli by nebylo nejlepší udělat tlačítko “login as guest”, kde se to člověka zeptá třeba jenom na zemi (aby se daly počítat poštovné atd) a bude tam ten user jako přihlášený, a bude moct dělat téměř vše, akorát se takové “objednávky” nebudou zpracovávat, ale zahazovat. případně se mu nabídne formulář na registraci. Ale až úplně jako poslední věc.
Pro doplneni par singularit:
http://wookware.org/name.html
http://web.archive.org/web/20130131045037/http://www.codingthewheel.com/archives/radioactive-search-hardened-user-name-for-online-poker
za takymi vecami su casto nakodene roboty, ktore hladaju formulare a automaticky ich vyplnaju (vacsinou so snahou o spamovanie linkami ci za tym ucelom vytvorenej registracie). velmi pekne vie pomoct strasne jednoducha vec – pri nacitani podstranky si ulozit trebars do session cas nacitania a pri pokuse o odoslanie formulara tento cas porovnat s casom odoslania. clovek prakticky nedokaze vyplnit ten formular “rychlo” – trebars za 2s (zalezi na jeho zlozitosti, umiestneni na webe atd) a naopak roboty idu po kode, ako dostanu kod, najdu v nom co potrebuju a odosielaju request rpakticky hned (len velmi malo je ich sofistikovanejsich a s tymto druhom ochrany rata).
Johne a není nejprve lepší jako první krok zjistit kdo se takto registruje a proč?
* pokud je to spambot je to jasné, je třeba ho blokovat
* pokud zvědavý uživatel/zájemce, možná stojí za zvážení varianta Logon as Guest
případně zjistit/zvážit jiné důvody a na ně reagovat …
Podvody s kreditkou.. zaregistruji se takto jen z duvodu aby zjistil, jestli nejaka kradena kreditka funguje.
a nevíš jestli to je člověk? nebo nějaký bot? když se tak ptáš tak asi člověk … pak asi nejlepší bude použít nějaký algoritmus co byl navržen výše a řeší:
– málo samohlásek
– písmena jsou na anglické klávesnici podezřele blízko sebe
co mne ještě napadá a neuvádíš v dotazu – co požadovat pro registraci ověření skrze email?
Skusil som vytvorit nastroj pre automaticku detekciu slov, ktore vyzeraju nahodne. Aj napriek svojej jednoduchosti funguje algoritmus celkom dobre.
Blog post: http://marcelkrcah.net/blog/random-word-detector/
Interaktivna verzia: http://random-text-detector.herokuapp.com
Zdrojaky: https://github.com/mkrcah/random-text-detector.