به گفته محققان امنیتی شرکت Neodyme، باگی در کتابخانه سولانا وجود داشته است که هکرها با آن میتوانستند در هر ساعت ۲۷ میلیون دلار به سرقت ببرند.
به گزارش میهن بلاکچین و به نقل از بلاک کرپیتو، بر اساس پست وبلاگی شرکت Neodyme، این باگ اولین بار توسط یکی از محققان این شرکت به نام سایمون در ماه ژوئن کشف شد و وی بلافاصله آن را بهصورت عمومی در گیت هاب به اشتراک گذاشت. با این حال، در آن زمان محققان امنیتی چندان در رابطه با عملی بودن سوءاستفاده از این باگ اطمینان نداشتند و بدون توجه ویژهای به آن، باگ را به حال خود باقی گذاشتند.
چند ماه بعد و در تاریخ ۱ دسامبر، سایمون مجدداً مشاهده کرد که باگ گزارششده همچنان وجود دارد. با توجه به نگرانیهای وی، محققان امنیتی در شرکت Neodyme تصمیم گرفتند تا این باگ را آزمایش کنند تا میزان جدی بودن آن را بسنجند. به گفته این شرکت، این باگ یک «خطای گرد کردن به ظاهر بیضرر» بوده است. با این حال، محققان دریافتند که پتانسیل سرقت میلیونها دلار از طریق این باگ در شبکه سولانا وجود دارد.
به زبان ساده، برای برنامههای شبکه سولانا، مکانیسمی برای زمانی که کاربری دارایی خود را واریز و برداشت میکند وجود دارد. اگر پروتکلها از کتابخانه سولانا پیروی کنند، بایستی هنگام برداشت وجه، آن را به نزدیکترین عدد کامل گرد کنند و بهحساب کاربر واریز نمایند. این مشکل زمانی پدیدار میشود که کاربر تنها بخشی از کوچکترین واحد رمز ارز را داشته باشد و برای برداشت آن اقدام کند. کوچکترین واحد رمز ارز سولانا Lamport نام دارد که میتوان آن را مشابه ساتوشی برای بیت کوین در نظر گرفت.
این مکانیسم در حقیقت یک شمشیر دولبه است. برخی از افراد ممکن است مبلغ ناچیزی کمتر از پول اصلی خود دریافت کنند و عدهای دیگر ممکن است مقداری بیشتر به دست آورند. البته این مقدار آنقدر ناچیز است که میتوان آن را نادیده گرفت.
با این حال، محققان به این فکر فرو رفتند که آیا میتوان با این باگ بهظاهر کوچک، شخصی چندین هزار بار از این مقادیر کوچک را به دست آورد و پول هنگفتی به جیب بزند؟
برای سنجیدن این نظریه، محققان امنیتی نظریه خود را بر نسخه کپی بلاکچین سولانا آزمایش کردند. برای این منظور این افراد تراکنشی را ارائه کردند که برای سوءاستفاده از این باگ طراحی شده بود؛ تراکنشی که به دلیل باگ گرد کردن در شبکه سولانا توانست ۰.۰۰۰۰۰۱ واحد بیت کوین معادل ۰.۰۴۷ دلار به سرقت ببرد.
محققان تخمین زدند که میتوانند این باگ را ۱۵۰ تا ۲۰۰ بار در یک تراکنش واحد اجرا کنند و بسیاری از این تراکنشها را در یک بلاک واحد قرار دهند. به گفته آنها، چنین باگی میتواند باعث سرقت ۷۵۰۰ دلار در ثانیه و یا ۲۷ میلیون دلار در ساعت شود. ارزش کل قفل شده (TVL) در معرض خطر، ۲.۶ میلیارد دلار محاسبه شده است.
این که در مجموع چند میلیون دلار میتوانست به سرقت برود، سوالی است که پاسخ مشخصی ندارد چراکه بستگی به این دارد که این باگ تا چه مدتی میتوانست باز بماند و سرعت مهاجمان نیز در این بین دخیل است. با این حال، محققان خاطرنشان کردند که بیش از یک میلیارد دلار از طریق این باگ در خطر قرار داشت.
در همین راستا کارشناسان امنیتی شرکت Neodyme به سرعت با چندین پروژه سولانا که معتقد بودند تحت تاثیر این باگ قرار گرفته بودند تماس گرفتند و با ارتباط با پروژههای Solend، Tulip و Larix این مشکل را برطرف کردند.
از زمانی که این باگ به صورت عمومی منتشر شده است، سولانا اسناد مرجع را اصلاح کرده تا مطمئن شود پروژههای جدید دیگر با این مشکل روبهرو نخواهند شد.