Web3 phishing

Web3 phishing

Prečo je phishing vo web3 iný (a nebezpečnejší)

Vo web3 neoverujete iba heslo. Podpisujete správy a transakcie, ktoré môžu udeliť neodvolateľné práva nad vašimi aktívami (napr. permit, setApprovalForAll, increaseAllowance, delegate). Phisher nepotrebuje poznať vašu seed frázu: často stačí, aby ste raz podpísali zlý objekt. Navyše útok býva multikanálový (DM v Discorde/Telegrame/Twitteri, falošný support, klon webu, škodlivé rozšírenie, kompromitovaný oficiálny účet), a býva načasovaný počas udalostí (airdropy, minty, governance hlasovania).

Mapa hrozieb: čo útočník reálne potrebuje

  • Podpis bez výdavkov (EIP-191/EIP-712, SIWE): vyžiadanie si „nevinného“ podpisu, ktorý v spojení s backendom otvorí dvere (session hijack, API prístup, relay).
  • Schválenie prevodu (permit, allowance, setApprovalForAll): trvalé právo míňať vaše tokeny/NFT.
  • Transakcia s bočným efektom: neintuitívne volania (proxy, multicall, delegatecall) maskované ako „claim“ alebo „bridge“.
  • Únos identity: prevzatie komunikačného kanála (kompromitovaný Twitter/Discord bot) a šírenie klamlivých odkazov.
  • Malvér/rozšírenie: keylogger, injekcia do web peňaženky, manipulácia UI podpisu.

Podpisy, ktoré sú kritické: čo musíte vedieť aj bez kódu

  • EIP-712 (typed data): čitateľný podpis so štruktúrou. Skontrolujte doménu (name, version, chainId, verifyingContract). Nesúlad s navštíveným webom je červená vlajka.
  • Permit / Permit2: udelenie allowance bez on-chain tx. Pozrite spender, amount, deadline. Ak nechápete prečo je to potrebné, odmietnite.
  • setApprovalForAll (ERC-721/1155): globálny prístup k všetkým NFT v kolekcii. Nikdy nepovoľujte neznámemu kontraktu/marketu.
  • SIWE (Sign-In With Ethereum): bezpečné, ak je správne implementované. Skontrolujte origin, statement, nonce, chainId, expiration. Žiadne „prázdne“ statementy.
  • Multicall: viac volaní v jednom podpise. Peňaženka má ukázať každý krok. Ak vidíte iba „Contract Interaction“, je to rizikové.

Klamlivé stránky: ako vyzerajú a prečo fungujú

  • Doménové triky: vizuálne podobné názvy (l1nks, 0 vs o, .cm/.co/.ai namiesto .com), subdoménové pasce (app.project.com.attacker.xyz).
  • SEO/Ads hijack: platené reklamné odkazy nad organickým výsledkom, mirror blogy s falošným „Oficiálny link“.
  • „Mint/Claim“ landingy: odpočet, FOMO, „len dnes“; bez prelinkovania na GitHub/audity; kontrakt bez verifikácie.
  • Falošný support: Live chat premostený na Telegram, žiadajú seed alebo „diagnostický podpis“.

Urgentné DM: sociálne inžinierstvo v praxi

  • „Critical vulnerability – connect wallet to secure funds“: legitímne projekty nikdy nežiadajú pripojenie peňaženky cez DM.
  • „Moderator“ s rovnakým avatarom: skontrolujte user ID, históriu príspevkov, rolu v oficiálnom serveri.
  • „Prijali ste allowlist – potvrďte do 10 minút“: klasický FOMO tlak. Overte URL na oficiálnych kanáloch (fixované tweety, web).

UI/UX ochrany, ktoré máte mať zapnuté

  • Simulácia transakcií: používajte peňaženky a rozšírenia, ktoré simulujú volania a ukazujú meny/tokeny odchádzajúce z účtu.
  • Podpisový náhľad: čitateľné EIP-712, varovania pri setApprovalForAll/permit. Bez čitateľnosti – nepodpisujte.
  • Blocklist/Allowlist: automatické blokovanie známych drainerov; allowlist dôveryhodných kontraktov/domén.
  • Revoke panel: priamy prístup na odvolanie allowances; pravidelný „úklid“.

Prevencia na úrovni operačnej hygieny

  • Oddelenie účtov: mint peňaženka (nízky zostatok, bez cenných NFT), trezor (hardware, offline), výplatná (stables). Neprepájajte ich bezdôvodne.
  • Hardware peňaženka: vyžaduje fyzické potvrdenie; čítajte text na displeji, nie iba v prehliadači.
  • Sandbox pre minty: samostatný profil prehliadača, žiadne ďalšie rozšírenia, čistá cache.
  • Rozšírenia: minimalizujte počet, pravidelne auditujte, inštalujte len z overených zdrojov.
  • DNS/HTTPS: ručne zapisujte URL alebo používajte záložky; vždy kontrolujte certifikát/doménu.

Incident response: čo robiť, keď ste niečo podpísali

  1. Odpojte sa: okamžite zatvorte stránku/rozšírenie, prepnete sieť v peňaženke (zruší pending).
  2. Revoke: cez dôveryhodný nástroj odvolajte allowances (ERC-20, ERC-721, ERC-1155), najmä spender z posledných interakcií.
  3. Presuňte aktíva: zo „znečistenej“ adresy na bezpečnú (hardware) – pozor na reentrancy/poison tokeny, posúďte riziko.
  4. Rotujte kľúče: ak máte smart účet s session keys alebo guardians, zmeňte konfiguráciu; pri EOAs zvážte migráciu.
  5. Oznámte: projektu/komunite (aby zablokovali linky), burze (ak je šanca na zmrazenie), sledovacím službám.
  6. Forenzika: uložte tx hash, doménu, obsah podpisu (ak ho máte), screenshoty; pomôžu pri varovaní ostatných.

Konkrétne červené vlajky pri podpise

  • Podpis spomína neznámy kontrakt v poli verifyingContract alebo iný chainId než máte v peňaženke.
  • Žiada sa neobmedzený allowance (MaxUint256) pre token, s ktorým by stránka nemala pracovať.
  • Podpis neobsahuje nonce/deadline (večné práva), alebo má nezmyselnú expiráciu ďaleko v budúcnosti.
  • Peňaženka ukazuje iba „Contract Interaction“ bez detailov napriek tomu, že by mala zobraziť rozpis EIP-712.

Phishingové DM: vzorové texty a správne reakcie

  • „Hi Admin from <Project>, detected unusual activity. Verify here: <link> within 5 min.“ – Ignorujte, nahláste. Overujte iba na oficiálnom webe z vlastnej záložky.
  • „You won allowlist! Connect wallet to confirm.“ – Overte v oficiálnom kanáli (fixnutý príspevok). Nikdy neklikajte na link z DM.
  • „We’re from support, send seed phrase / private key to recover.“ – Nikdy. Legitímny support nežiada seed ani súkromný kľúč.

Špecifiká DeFi a NFT útokov

  • DeFi: podvrhnuté „claim rewards“, ktoré obsahujú approve na drainer; falošné „bridge“ dApps so multicall.
  • NFT: klony marketplace, ktoré vyžadujú setApprovalForAll; airdropy „poison NFT“ s URL v metadátach.

Governance a tímové procesy proti phishingu

  • Komunikačná politika: projekt nikdy neposiela linky cez DM; všetky oficiálne odkazy sú v one-pageri a fixnuté.
  • Change management: pred spustením mintu/claimu 24–48h vopred publikujte kontrakt adresu, chain, audit odkazy.
  • Role a práva: použite multisig na dôležité zmeny; oddelené účty pre social media s 2FA/hardware kľúčmi.
  • Incident drill: pripravené šablóny oznámení, kontakty na indexerov, poskytovateľov RPC, monitoring (alerty na nové schválenia).

Checklist pred kliknutím na „Sign“

  1. URL/doména sedí s oficiálnym zdrojom? Nie je to subdoména cudzej domény?
  2. Je podpis zrozumiteľný (EIP-712 čitateľný), a chápem prečo ho dávam?
  3. Je spender/verifyingContract známy a auditovaný? Viem obmedziť amount a deadline?
  4. Simulácia transakcie dáva očakávaný výsledok (žiadne odlivy tokenov, žiadne skryté volania)?
  5. Mám aktívny revoke nástroj a nízky zostatok v tejto peňaženke?

Dobrý návyk: pravidelné odvolávanie oprávnení (revoke)

Raz za týždeň/po väčších eventoch skontrolujte a odvolajte nepotrebné allowances/approvals. Sledujte najmä univerzálne schválenia (setApprovalForAll) a neobmedzené allowance voči kontraktom, ktoré už nepoužívate.

Vzdelávanie tímu a komunity: čo komunikovať

  • „Nikdy DM s linkom od nás.“ – opakujte to pri každom veľkom ozname.
  • „Žiadny support nežiada seed, private key, remote desktop.“
  • „Pravidelne publikujeme zoznam oficiálnych odkazov a známych phishing domén.“
  • „Zverejníme adresy kontraktov pred spustením; čokoľvek iné je falošné.“

Zhrnutie pre rozhodovateľov

Phishing vo web3 sa opiera o podpisy a schválenia, nie iba o heslá. Ochrana nie je jednorazová – je to kombinácia technických opatrení (simulácia, čitateľné EIP-712, revoke, oddelené peňaženky), procesov (komunikačná politika, incident drill, audit rozšírení) a vzdelávania (anti-DM, overovanie odkazov, červené vlajky). Bez ohľadu na to, aký je lákavý airdrop či „urgentná ponuka“, platí: ak si nie ste istí, nepodpisujte.

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *