Kompletně automatizovaný veřejný Turingův test (Completely Automated Public Turing test to tell Computers and Humans Apart) byl původně navržen tak, aby zabránil botům, malwaru a umělé inteligenci v interakci s webovou stránkou. V 90. letech to znamenalo zabránit spamovým botům. V dnešní době jej organizace používají ve snaze zabránit hrozivějším automatizovaným útokům, jako je například vycpávání přihlašovacích údajů.

Téměř ihned po jeho zavedení však kyberzločinci vyvinuli účinné metody, jak jej obejít. Dobráci odpověděli „tvrdšími“ s, ale výsledek zůstává stejný: test, který se pokouší automatizaci zastavit, je obcházen pomocí automatizace.

Překonat se dá více způsoby. Běžnou metodou je použití řešitelské služby, která k řešení obrázků využívá levnou lidskou práci v rozvojových zemích. Kyberzločinci si předplatí službu pro řešení, která se prostřednictvím rozhraní API zefektivní do jejich automatizačních nástrojů a vyplní odpovědi na cílové webové stránce. Tyto pochybné podniky jsou tak všudypřítomné, že mnohé z nich lze najít pomocí rychlého vyhledávání na Googlu, včetně:

  • Deathby
  • 2
  • Kolotibablo
  • ProTypers
  • Antigate

Tento článek bude používat 2 k demonstraci toho, jak útočníci integrují řešení k organizování útoků typu credential stuffing.

2

Při vstupu na web 2.com je návštěvník uvítán níže uvedeným obrázkem s dotazem, zda chce 1) pracovat pro 2 nebo 2) zakoupit 2 jako službu.

Možnost 1 – Práce pro 2

Chcete-li pracovat pro 2, stačí se zaregistrovat k účtu, uvést e-mailovou adresu a účet PayPal pro zálohy na platby. Během testu byl účet potvrzen během několika minut.

Noví pracovníci musí absolvovat jednorázové školení, které je naučí rychle řešit s. Poskytuje také rady, například kdy na případu záleží a kdy ne. Po absolvování školení s dostatečnou přesností může pracovník začít vydělávat peníze.

Po výběru možnosti „Začít pracovat“ se pracovník dostane na obrazovku pracovního prostoru, která je zobrazena výše. Poté je pracovník vybaven a vyzván k odeslání řešení. Po správném vyřešení se peníze uloží do elektronické „peněženky“ a pracovník může kdykoli požádat o výplatu. Počet s, která se objevují v pracovním prostoru, zdánlivě nemá konce, což svědčí o stálé poptávce po této službě.

2 pracovníci jsou motivováni k předkládání správných řešení podobně jako řidič Uberu k poskytování vynikajících služeb – hodnocení zákazníků. 2 Zákazníci hodnotí správnost řešení, která obdrželi. Pokud hodnocení pracovníka 2 klesne pod určitou hranici, bude z platformy vyřazen. Naopak pracovníci s nejvyšším hodnocením budou v době nízké poptávky odměněni tím, že dostanou přednost při distribuci.

Možnost 2 – 2 jako služba

Chcete-li používat 2 jako službu, musí zákazník (tj, útočník) integruje rozhraní API 2 do svého útoku a vytvoří digitální dodavatelský řetězec, který automaticky přivádí hádanky z cílového webu a přijímá řešení pro vstup do cílového webu.

2 užitečně poskytuje příklady skriptů pro generování volání API v různých programovacích jazycích, včetně jazyků C#, JavaScript, PHP, Python a dalších. Příklad kódu napsaný v jazyce Python byl reprodukován níže:

Zapojení 2 do automatizovaného útoku

Jak by útočník použil 2 při útoku typu credential stuffing? Následující schéma ukazuje, jak jednotlivé entity interagují v procesu obcházení:

Technický proces:

  1. Útočník si vyžádá zdroj iframe a adresu URL použitou k vložení obrázku z cílového webu a uloží ji lokálně
  2. Útočník si vyžádá token API z webu 2
  3. Útočník odešle službě 2 pomocí HTTP POST a obdrží ID, což je číselný identifikátor přiřazený obrázku, který byl odeslán na 2. ID se použije v kroku 5 pro požadavek API GET na 2 k získání vyřešeného .
  4. 2 přidělí pracovníkovi, který jej pak vyřeší a odešle řešení na 2.
  5. Attacker naprogramuje skript, který bude pingovat na 2 pomocí ID (každých 5 sekund, dokud nebude vyřešeno). 2 pak odešle vyřešené . Pokud se řešení stále řeší, útočník obdrží od 2 příspěvek s označením „_NOT_READY“ a program se o 5 sekund později pokusí znovu.
  6. Útočník odešle na cílovou stránku požadavek na přihlášení s vyplněnými poli (tj. sadou přihlašovacích údajů z ukradeného seznamu) spolu s řešením.
  7. Útočník tento proces opakuje s každým obrázkem.

V kombinaci s webovými testovacími rámci, jako je Selenium nebo PhantomJS, se útočník může tvářit, že s cílovou webovou stránkou komunikuje jako člověk, a efektivně tak obejít mnoho stávajících bezpečnostních opatření a provést útok typu credential stuffing.

Monetizace &Zločinný ekosystém

Jak s takovým elegantním řešením vypadá finanční ekosystém a jak jednotlivé strany vydělávají peníze?

Monetizace: řešitel

Práce řešitele zdaleka není lukrativní. Na základě metrik uvedených na webových stránkách společnosti 2 je možné vypočítat následující výplatu:

Pokud to trvá 6 sekund za , může pracovník odevzdat 10 s za minutu nebo 600 s za hodinu. Za 8 hodin denně je to 4800 s. Na základě toho, co jsme si vydělali během našeho zkušebního provozu jako zaměstnanci 2 (zhruba 0,0004 dolaru za řešení), to odpovídá 1,92 dolaru za den.

Pro jednotlivce ve vyspělých zemích je to ztráta času, ale pro ty, kteří žijí v lokalitách, kde pár dolarů denně může jít relativně daleko, jsou řešitelské služby snadným způsobem, jak vydělat peníze.

Monetizace: Útočník

Útočník platí třetí straně 2 za řešení v balíčcích po 1000. Útočníci nabízejí řešení a platí od 1 do 5 dolarů za svazek.

Mnozí útočníci používají -řešitelské služby jako součást většího útoku typu credential stuffing, což ospravedlňuje náklady. Předpokládejme například, že útočník provádí útok, při kterém chce na cílovém webu otestovat jeden milion pověření z Pastebinu. V tomto scénáři potřebuje útočník s každou sadou pověření obejít jedno, což by stálo zhruba 1000 dolarů. Za předpokladu 1,5% úspěšnosti opakovaného použití pověření může útočník převzít přes 15 000 účtů, které lze všechny zpeněžit.

Zpeněžení: 2

2 obdrží od útočníka platbu za 1000. Jak bylo uvedeno výše, zákazníci (tj. útočníci) platí mezi 1 a 5 dolary za 1000 s. Služby jako 2 si pak z ceny nabídky odečtou část a zbytek rozdělí své lidské pracovní síle. Vzhledem k tomu, že se řešitelské služby používají jako řešení ve velkém měřítku, zisky se pěkně sčítají. I když 2 obdrží pouze 1 USD za 1000 s vyřešených úloh, inkasuje minimálně 60 centů za svazek. Majitelé těchto stránek jsou často sami v rozvojových zemích, takže zdánlivě nízký příjem je značný.

A co neviditelná re společnosti Google?

V březnu tohoto roku společnost Google vydala vylepšenou verzi své re s názvem „Invisible re“. Na rozdíl od „no re“, které vyžadovalo, aby všichni uživatelé klikli na nechvalně známé tlačítko „Nejsem robot“, umožňuje „Invisible re“ známým lidským uživatelům projít, zatímco podezřelým uživatelům zobrazuje pouze výzvu s obrázkem re.

Mohlo by se zdát, že to útočníky zarazí, protože nebudou schopni zjistit, kdy jsou testováni. Přesto jen den poté, co společnost Google představila neviditelný re, napsala na svůj blog příspěvek 2 o tom, jak jej překonat.

Způsob, jakým Google pozná, že uživatel je člověk, je, že uživatel již dříve navštívil požadovanou stránku, což Google zjistí kontrolou souborů cookie prohlížeče. Pokud tentýž uživatel začal používat nové zařízení nebo nedávno vymazal mezipaměť, Google tuto informaci nemá a je nucen vydat novou výzvu.

Aby útočník mohl automatizovat útok typu credential stuffing pomocí 2, musí zaručit výzvu. Jedním ze způsobů, jak obejít Invisible re, je tedy přidat do útočného skriptu řádek kódu, který při každém požadavku vyčistí prohlížeč a zaručí tak řešitelnou výzvu re.

Mírně záludné na Invisible re je to, že výzva je skrytá, ale existuje řešení. Lze ji „najít“ pomocí nástroje prohlížeče „inspect element“. Útočník tedy může odeslat POST na adresu 2, který obsahuje parametr s podrobnými informacemi o tom, kde se skrytý nachází. Jakmile útočník obdrží řešení od 2, lze Invisible re porazit pomocí automatizace jedním ze dvou způsobů:

  1. JavaScriptová akce, která zavolá funkci pro dodání vyřešeného tokenu s odesláním formuláře stránky
  2. Změna kódu HTML přímo na webové stránce, která nahradí kousek normálního kódu zadáním vyřešeného tokenu.

To, že lze Invisible re obejít, není proto, že by v návrhu novějšího . Je to tím, že jakýkoli reverzní Turingův test je ze své podstaty překonatelný, pokud jsou známy podmínky průchodu.

Dokud budou existovat s, budou existovat služby jako 2, protože ekonomika hraje zločincům do karet. Využití levné lidské práce minimalizuje náklady na podnikání a umožňuje kyberzločincům sklízet zisky, které mohou ve velkém měřítku dosahovat až milionů dolarů. A vždy budou existovat oblasti světa s levnými náklady na pracovní sílu, takže stálá poptávka zajišťuje stálou nabídku na straně 2.

Svět nepotřebuje vyvinout lepší , protože celý tento přístup má zásadní omezení. Místo toho bychom měli tato omezení vzít na vědomí a zavést obranu, kde podmínky průchodu nejsou známy nebo jsou pro útočníky alespoň obtížně zjistitelné.

Zdroje

Holmes, Tamara E. „Prepaid Card and Gift Card Statistics“. CreditCards.com. Creditcards.com, 1. prosince 2015. Web.

Hunt, Troy. „Rozchod s automatizovanými lidmi.“ Příspěvek na blogu. Troy Hunt. Troy Hunt, 22. ledna 2012. Web.

Motoyama, Marti, Kirill Levchenko, Chris Kanich a Stefan Savage. Re: s-porozumění -řešení služeb v ekonomickém kontextu. Proc. of 19th USENIX Security Symposium, Washington DC. Tisk.

Zjistěte více

Podívejte se na video „Zjistěte, jak kyberzločinci porážejí“

.

admin

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.

lg