Data z Etherscan ukazují, že někteří krypto podvodní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 objevila novou techniku v prosinci a odhalila ji v blogovém příspěvku. 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.
Nedávno jsme od komunity obdrželi zprávy o novém typu podvodu: Zero Transfer Scam. Buďte opatrní, pokud v záznamu peněženky uvidíte podezřelý převod 0:1/10
— Veronica (@V_SafePal) 14. prosince 2022
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. Funkce „záložka smlouvy“ společnosti Etherscan však odhaluje, že v některých tokenových smlouvách existuje mezera, která může útočníkovi umožnit 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íka 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 naprosto jakékoli peněženky, kterou chce, 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. Lze jej dokonce nalézt v příkladech smluv propojený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 použil neověřenou inteligentní smlouvu k provedení více než 80 balíčků transakcí 12. ledna, přičemž každý balíček obsahoval 50 transakcí s nulovou hodnotou, což představuje celkem 4 000 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 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í historii transakcí, 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 Wongová varovala uživatele SafePal, že její 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.
(6/10) Na základě toho jsme podnikli kroky:1) V nejnovější aktualizaci V3.7.3 jsme upravili délku adresy peněženky zobrazené v historii transakcí. Ve výchozím nastavení se zobrazí prvních a posledních 10 číslic adresy peněženky pro účely kontroly adresy
— Veronica (@V_SafePal) 14. prosince 2022
V prosinci také jeden uživatel nahlásil, že jeho peněženka Trezor zobrazuje 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 byli uživatelé 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 kontrolovali 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:
"Buďte opatrní a ověřte adresu před provedením jakékoli transakce."
"Využijte funkci whitelistu ve své peněžence, abyste zabránili odesílání prostředků na nesprávné adresy."
"Zůstaňte ostražití a informováni. 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ů."
"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 být klamné.


