Një gabim i thjeshtë në kod ka shkaktuar humbjen e rreth 7.8 milionë dollarëve në kriptomonedha, duke treguar edhe një herë se siguria e portofolëve blockchain mund të varet nga komponentë që nuk janë pjesë e vetë portofolit. Sulmi ndodhi të martën në një portofol Gnosis Safe në Ethereum. Sulmuesi arriti të nxirrte rreth 2,900 rsETH, një token me vlerë rreth 7.8 milionë dollarë në momentin e incidentit.
Por hetimet nga kompanitë e sigurisë BlockSec, Blockaid dhe SlowMist treguan se problemi nuk ishte te kontratat kryesore të Safe. Dobësia ndodhej në një kontratë ndihmëse që portofoli e kishte autorizuar për të kryer veprime në emër të tij. Kjo kontratë ishte krijuar për të kontrolluar nëse personi që po kërkonte një veprim kishte autorizimin e duhur. Problemi ishte mënyra se si ishte shkruar ky kontroll: në një situatë të caktuar, kontrata mund të pranonte një kërkesë nga një përdorues që nuk duhej të kishte të drejtë ta kryente atë veprim.
Pasi dobësia u shfrytëzua, rreth 2,900 rsETH u zhvendosën nga portofoli. Sulmuesi më pas i kaloi tokenët në një grup likuiditeti të krijuar vetëm pak minuta më parë. Një bot automatik i njohur si “yoink” e zbuloi transaksionin në radhën publike të Ethereum dhe arriti të vendoste transaksionin e vet përpara tij. Sipas firmave të sigurisë, boti pagoi rreth 47 mijë dollarë për ta përpunuar transaksionin përpara sulmuesit dhe përfundimisht mori pjesën më të madhe të fondeve. Kjo do të thotë se sulmuesi humbi kontrollin mbi një pjesë të madhe të parave që sapo kishte nxjerrë nga portofoli.
Incidenti tregon një problem të rëndësishëm në ekosistemin blockchain: siguria e një portofoli nuk varet gjithmonë vetëm nga kodi i portofolit. Kontratat dhe shërbimet që marrin autorizim për të vepruar në emër të tij mund të krijojnë pika të reja dobësie.
Edhe Kelp DAO, që emeton rsETH, reagoi ndaj incidentit duke vendosur përkohësisht një adresë të lidhur me lëvizjen e dyshimtë të fondeve nën një pauzë 24-orëshe. Kompania tha se kontratat e saj ishin të sigurta.
Në fund, incidenti nuk tregon vetëm se një gabim i vogël në kod mund të shkaktojë humbje prej miliona dollarësh. Ai tregon edhe se, në blockchain, një sistem mund të jetë teknikisht i sigurt, ndërsa një komponent i jashtëm që i është dhënë autorizim mund të bëhet pika më e dobët.



















































Discussion about this post