Podvodníci se zaměřují na uživatele kryptoměn pomocí nového triku „Převod z nulové hodnoty“.

Data z Etherscan ukazují, že někteří kryptopodvodníci se zaměřují na uživatele pomocí nového triku, který jim umožňuje potvrdit transakci z peněženky oběti, ale bez soukromého klíče oběti. Útok lze provést pouze pro transakce s hodnotou 0. Může však způsobit, že někteří uživatelé náhodně odešlou tokeny útočníkovi v důsledku vyjmutí a vložení z ukradené historie transakcí.

Blockchain bezpečnostní firma SlowMist objevil novou techniku ​​v prosinci a odhalil ji v příspěvku na blogu. Od té doby SafePal i Etherscan přijaly zmírňující techniky, aby omezily jeho účinek na uživatele, ale někteří uživatelé si stále nemusí být vědomi jeho existence.

Podle příspěvku od SlowMist podvod funguje tak, že se z peněženky oběti odešle transakce nula tokenů na adresu, která vypadá podobně jako ta, na kterou oběť předtím tokeny poslala.

Pokud například oběť poslala 100 coinů na depozitní adresu, útočník může poslat nula coinů z peněženky oběti na adresu, která vypadá podobně, ale ve skutečnosti je pod kontrolou útočníka. Oběť může vidět tuto transakci ve své transakční historii a dojít k závěru, že zobrazená adresa je správná adresa pro vklad. V důsledku toho mohou poslat své mince přímo útočníkovi.

Odeslání transakce bez souhlasu vlastníka 

Za normálních okolností potřebuje útočník soukromý klíč oběti k odeslání transakce z peněženky oběti. Ale funkce „záložka kontraktu“ Etherscan odhaluje, že v některých tokenových smlouvách je mezera, která umožňuje útočníkovi odeslat transakci z jakékoli peněženky.

Například kód pro USD Coin (USDC) na Etherscan ukazuje že funkce „TransferFrom“ umožňuje jakékoli osobě přesunout mince z peněženky jiné osoby, pokud je množství mincí, které odesílají, menší nebo rovné množství povolenému vlastníkem adresy.

To obvykle znamená, že útočník nemůže provést transakci z adresy jiné osoby, pokud mu vlastník neschválí povolenku.

V tomto omezení je však mezera. Povolená částka je definována jako číslo (nazývané „typ uint256“), což znamená, že je interpretováno jako nula, pokud není specificky nastaveno na nějaké jiné číslo. To lze vidět ve funkci „příspěvek“.

Výsledkem je, že pokud je hodnota transakce útočníka menší nebo rovna nule, může odeslat transakci z absolutně libovolné peněženky, aniž by potřeboval soukromý klíč nebo předchozí souhlas vlastníka.

USDC není jediný token, který to umožňuje. Podobný kód lze nalézt ve většině tokenových smluv. Dokonce může být nalezeno ve vzorových smlouvách odkazovaných z oficiálních stránek Ethereum Foundation.

Příklady podvodu s převodem nulové hodnoty

Etherscan ukazuje, že některé adresy peněženek odesílají denně tisíce transakcí s nulovou hodnotou z peněženek různých obětí bez jejich souhlasu.

Například účet označený jako Fake_Phishing7974 k tomu použil neověřenou inteligentní smlouvu provést více než 80 balíčků transakcí 12. ledna, s každým balíčkem obsahující 50 transakcí s nulovou hodnotou pro celkem 4,000 XNUMX neautorizovaných transakcí za jeden den.

Zavádějící adresy

Bližší pohled na každou transakci odhalí motiv tohoto spamu: Útočník posílá transakce s nulovou hodnotou na adresy, které vypadají velmi podobně jako ty, na které oběti dříve posílaly finanční prostředky.

Etherscan například ukazuje, že jedna z uživatelských adres, na které se útočník zaměřuje, je následující:

0x20d7f90d9c40901488a935870e1e80127de11d74.

Dne 29. ledna tento účet povolil odeslání 5,000 XNUMX Tetherů (USDT) na tuto přijímací adresu:

0xa541efe60f274f813a834afd31e896348810bb09.

Ihned poté Fake_Phishing7974 odeslal transakci s nulovou hodnotou z peněženky oběti na tuto adresu:

0xA545c8659B0CD5B426A027509E55220FDa10bB09.

Prvních pět znaků a posledních šest znaků z těchto dvou přijímacích adres je úplně stejných, ale všechny znaky uprostřed jsou úplně jiné. Útočník mohl mít v úmyslu, aby uživatel poslal USDT na tuto druhou (falešnou) adresu namísto skutečné adresy, a dal tak své mince útočníkovi.

V tomto konkrétním případě se zdá, že podvod nefungoval, protože Etherscan neukazuje žádné transakce z této adresy na jednu z falešných adres vytvořených podvodníkem. Ale vzhledem k objemu transakcí s nulovou hodnotou provedených tímto účtem mohl plán fungovat v jiných případech.

Peněženky a průzkumníci bloků se mohou výrazně lišit v tom, jak nebo zda zobrazují zavádějící transakce.

Peněženky

Některé peněženky nemusí vůbec zobrazovat spamové transakce. Například MetaMask neukazuje žádnou historii transakcí, pokud je přeinstalován, i když samotný účet má na blockchainu stovky transakcí. To znamená, že ukládá svou vlastní transakční historii spíše než tahání dat z blockchainu. To by mělo zabránit tomu, aby se spamové transakce zobrazovaly v historii transakcí peněženky.

Na druhou stranu, pokud peněženka stahuje data přímo z blockchainu, mohou se spamové transakce zobrazit na displeji peněženky. V oznámení z 13. prosince na Twitteru generální ředitelka SafePal Veronica Wong Varoval Uživatelé SafePal, že jejich peněženka může zobrazovat transakce. Aby se toto riziko zmírnilo, uvedla, že SafePal mění způsob zobrazení adres v novějších verzích své peněženky, aby uživatelům usnadnil kontrolu adres.

V prosinci jeden uživatel také oznámil, že jeho peněženka Trezor byla zobrazování zavádějící transakce.

Cointelegraph oslovil e-mailem vývojáře Trezor SatoshiLabs, aby se k němu vyjádřil. V reakci na to zástupce uvedl, že peněženka stahuje svou historii transakcí přímo z blockchainu „pokaždé, když uživatelé připojí svou peněženku Trezor“.

Tým však podniká kroky k ochraně uživatelů před podvodem. V nadcházející aktualizaci Trezor Suite software „označí podezřelé transakce s nulovou hodnotou, aby uživatelé byli upozorněni, že takové transakce jsou potenciálně podvodné“. Společnost také uvedla, že peněženka vždy zobrazuje úplnou adresu každé transakce a že „důrazně doporučují, aby uživatelé vždy zkontrolovali celou adresu, nejen první a poslední znaky“.

Blokovat průzkumníky

Kromě peněženek jsou průzkumníci bloků dalším typem softwaru, který lze použít k zobrazení historie transakcí. Někteří průzkumníci mohou tyto transakce zobrazovat tak, aby uživatele nechtěně uvedli v omyl, stejně jako některé peněženky.

Pro zmírnění této hrozby začal Etherscan zašednout transakce tokenů s nulovou hodnotou, které nejsou iniciovány uživatelem. Tyto transakce také označí upozorněním, které říká: „Toto je převod tokenu s nulovou hodnotou iniciovaný jinou adresou“, jak dokládá obrázek níže.

Jiní průzkumníci bloků možná provedli stejné kroky jako Etherscan, aby upozornili uživatele na tyto transakce, ale někteří možná ještě tyto kroky neimplementovali.

Tipy, jak se vyhnout triku „převod z nulové hodnoty“.

Cointelegraph požádal SlowMist o radu, jak se vyhnout triku s „nulovou hodnotou TransferFrom“.

Zástupce společnosti dal Cointelegraphu seznam tipů, jak se nestát obětí útoku:

  1. "Buďte opatrní a ověřte adresu před provedením jakékoli transakce."
  2. "Využijte funkci whitelistu ve své peněžence, abyste zabránili odesílání prostředků na nesprávné adresy."
  3. „Zůstaňte bdělí a informovaní. Pokud narazíte na nějaké podezřelé převody, věnujte čas tomu, abyste záležitost v klidu prošetřili, abyste se nestali obětí podvodníků.“
  4. "Udržujte si zdravou úroveň skepticismu, buďte vždy opatrní a bdělí."

Soudě podle této rady je nejdůležitější věcí, kterou si uživatelé kryptoměn zapamatují, vždy před odesláním kryptoměny zkontrolovat adresu. I když se zdá, že záznam transakce naznačoval, že jste již dříve poslali kryptoměnu na adresu, toto zdání může klamat.