Home » Грешка в блокчейна Solana (SOL) може да е причинила загубата на стотици милиони долари

Грешка в блокчейна Solana (SOL) може да е причинила загубата на стотици милиони долари

by v

Потребителите на екосистемата Solana могат да благодарят на екипа от експерти по сигурността в Neodyme за откриването и отстраняването на грешка, която позволяваше на всеки да краде хиляди долари в секунда от множество протоколи. Те откриха и отстраниха грешка, която позволяваше на всеки да краде хиляди долари в секунда от множество протоколи.

Докладван, но неотстранен бъг

Neodyme е екип от изследователи в областта на киберсигурността с опит в различни технологии, включително блокчейн и интелигентни договори. В изявление, публикувано в блога на компанията, Neodyme разкрива, че наскоро е открила критичен недостатък в протокола Solana Program Library (SPL).

Първоначално грешката е открита през юни миналата година от изследовател от екипа на Neodyme и е публикувана в GitHub. Той обаче обяснява, че по това време е било невъзможно да се определи дали грешката може да бъде използвана. Затова е останал незабелязан.

На 1 декември обаче същият изследовател установи, че недостатъкът все още е налице и че не е направено нищо за отстраняването му. Освен това тя застрашава много протоколи от екосистемата Solana (SOL), като например агрегатора на доходност Tulip Protocol и платформите за кредитиране Solend и Larix. Проекти, които понастоящем управляват средства в размер на 1,7 млрд. долара.

Поради това екипът на Neodyme проведе серия от тестове, за да провери дали този недостатък може да бъде използван и евентуално отстранен. Според прессъобщението работата на изследователите и приносът на екипите на съответните протоколи са позволили бързо да се коригира ситуацията и да се защитят потребителите. Но каква е била грешката и какво е можело да се случи?

Обикновена грешка при закръгляването…

В останалата част на изданието Neodymium обяснява как е работил бъгът, който е застрашил библиотеката на програмата Solana. Казано по-просто, когато депозирате средства в протокол, стойността на активите ви се променя с течение на времето. В момента на изтеглянето тя може да има много цифри след десетичната запетая. Ето защо някои протоколи разчитат на SPL, за да закръглят върнатата сума до най-близкия десетичен знак.

Разгледайте най-малката референтна единица в екосистемата Solana. Тя се нарича Lamport и е на стойност 0,000000001 SOL (на същия принцип като сатоши – най-малката единица в биткойн). Ако депозирате сума в размер на 1,5 ламарини в протокол за заем, при изтегляне ще получите 2 ламарини. И обратното, ако тази сума струва само 1,4 Лампорта при изтегляне, ще получите само 1 Лампорт. Средно това трябва да се балансира, като се създава толкова стойност, колкото се премахва.

Изследователите обаче са доказали, че при много бърза работа с тази система е възможно да се възстановяват малки суми пари при всеки депозит и теглене. При многократно повтаряне на операцията общата възстановена сума може да бъде наистина значителна.

Това можеше да струва стотици милиони долари!

Тествайки теорията си върху реплика на блокчейн, експертите на Neodyme успяват да откраднат 0,000001 BTC (0,047 USD). Те смятат, че могат да изпълнят този бъг 150-200 пъти в една транзакция и да поставят няколко от тези транзакции в един блок. Така подобна стратегия може да открадне средства със скорост 7 500 долара в секунда или 27 милиона долара на час.

Що се отнася до общата сума, която е могла да бъде открадната, тя очевидно зависи от това колко дълго е бил използван недостатъкът, преди да бъде забелязан и да бъдат въведени защити:

Нападението е продължило няколко дни, така че е можело да бъде прекъснато до момента на забелязването му. Но е много трудно да се забележи и не сме сигурни, че някой има достатъчен надзор, особено когато атаката се извършва бавно и внимателно“, се казва в изявлението.

Проучването на екипа на Neodyme идентифицира шест протокола, потенциално изложени на риск от пробива: Larix, Tulip, Port, Solend, Soda и Acumen. Общата стойност на активите, които се управляват и следователно са изложени на риск, е приблизително 1,7 милиарда долара. Всъщност не всички от тях са били изложени на риск, но според оценките на Neodyme потенциалната печалба все пак е била в размер на стотици милиони долари.

Related Posts

Leave a Comment