وقت خواندن: 4 دقیقه
خلاصه:
در 7 اکتبر 2022، سوء استفادهای روی پل زنجیرهای متقاطع بومی به نام «BSC Token Hub» روی داد. اشکال در تأیید کننده اثبات پل است. در مجموع 2 میلیون BNB برداشت شد و بایننس به طور موقت شبکه BSC را متوقف کرد تا از آسیب های بیشتر جلوگیری شود. وجوه خارج شده از BSC بین 100 تا 110 میلیون دلار تخمین زده می شود.
آشنایی با زنجیره هوشمند بایننس و پل توکن هاب:
زنجیره هوشمند بایننس (BSC) یک شبکه مبتنی بر بلاک چین است که برای اجرای برنامه های کاربردی که ریشه در قراردادهای هوشمند دارند استفاده می شود. BSC به موازات زنجیره بایننس (BC) بومی بایننس کار می کند و به کاربران امکان می دهد از ظرفیت تراکنش سریع BC و همچنین ویژگی های قرارداد هوشمند BSC استفاده کنند.
- BNB Beacon Chain (قبلاً زنجیره بایننس) - حاکمیت زنجیره ای BNB (سهم بندی، رای گیری)
- زنجیره هوشمند BNB (BSC) (زنجیره هوشمند قبلی بایننس) - سازگار با EVM، لایههای اجماع و با هاب به چند زنجیره
ما را بررسی کنید مقاله برای جزئیات بیشتر.
BSC Token Hub:
BSC Token Hub پل زنجیره ای بین BNB Beacon Chain (BEP2) و BNB Chain (BEP20 یا BSC) است. رسمی را بررسی کنید مستندات از Binance برای جزئیات بیشتر.
تجزیه و تحلیل آسیب پذیری و تاثیر:
جزئیات تراکنش حمله:
آدرس هکر: 0x489a8756c18c0b8b24ec2a2b9ff3d4d447f79bec
هش Txn اول: 0xebf83628ba893hd35b496121fb8201666b8e09f3cbadf0e269162baa72efe3b8b
هش Txn دوم: 0x05356fd06ce56a9ec5b4eaf9c075abd740cae4c21eab1676440ab5cd2fe5c57a
قرارداد BSC Token Hub: 0x0000000000000000000000000000000000001004
هش اصلی Txn (با ارتفاع بلوک 110217401): 0x79575ff791606ef2c7d69f430d1fee1c25ef8d56275da94e6ac49c9c4cc5f433
حشره:
BSC Token Hub از یک قرارداد از پیش کامپایل شده برای اعتبارسنجی درختان IAVL (AVL غیرقابل تغییر) هنگام انجام تأیید تراکنش زنجیره ای متقابل استفاده می کند. بهرهبردار از یک خطا در منطق تأیید اثبات استفاده کرد و یک اثبات قانونی را برای ساخت پل ضرابخانه 2M BNB با آنها تطبیق داد.
به نظر می رسد علت اصلی این باشد خط:
مشکل این است که lpath.Right می تواند در محاسبه هش ریشه درخت استفاده نشود.
برای رفع این مشکل، خط باید تغییر کند
از جانب:
```
if !bytes.Equal(derivedRoot, lpath.Right) ...
به چیزی شبیه به:
""
به:
```
expectedHash := lpath.Left
if len(lpath.Left) == 0 {
expectedHash = lpath.Right }
if !bytes.Equal(derivedRoot, expectedHash) ...
""
حمله:
1. مهاجم از هش یک بلوک ارسال شده با موفقیت استفاده کرد که 2 سال پیش ساخته شده بود (بلوک مشخص شده: 110217401) برای ساخت یک بار به عنوان یک گره برگ برای تأیید درخت IAVL. جزئیات معامله اصلی این را می توان یافت اینجا کلیک نمایید.
2. مهاجم یک گره برگ را تزریق کرد که به عنوان کلید حاوی packageSequence فعلی و به عنوان Value هش بار بد است (یعنی برش 1M BNB به آدرس خود). سپس یک گره داخلی خالی به برگ اضافه کرد تا اثبات پیاده سازی را برآورده کند.
3. مهاجم در مسیر سمت چپ به عنوان Right در هش گره برگ که تازه ایجاد شده است قرار می دهد تا هش ریشه برابر با هش ریشه با موفقیت ارسال شده باشد و در نهایت اثبات خروج را برای بلوک خاص ساخته و تراکنش را ارسال کند.
4. پس از ارسال موفقیت آمیز تراکنش و دریافت 1 میلیون دلار BNB. مهاجم دوباره مراحل را تکرار کرد و 1 میلیون BNB اضافی به دست آورد. که مجموع آن بالغ بر 2 میلیون BNB یعنی 570 میلیون دلار بوده است.
مهاجم 17 بار تلاش کرد تا 1M BNB ضرب کند اما آنها 15 بار شکست خوردند و تنها 2M BNB ضرب کردند. دلیل این امر این بود که آنها با دیگر تراکنشهای قانونی رقابت داشتند که با استفاده از همان packageSequence، بهرهبردار tx را پیشروی میکردند.
پس از اکسپلویت:
چند ساعت پس از حمله، مدیر عامل Binance CZ از طریق توییتی این حادثه را اعلام کرد و شبکه BSC را برای جلوگیری از آسیب بیشتر متوقف کرد.
چند ساعت بعد، بایننس این مشکل را با آخرین نسخه نسخه 1.1.15 حل کرد. با قرار دادن آدرس مهاجم در لیست سیاه، جریان وجوه مهاجمان را مسدود کرد.
بایننس اخیراً آدرس مهاجم را در لیست سیاه قرار داده است مرتکب شدن.
وضعیت صندوق ها:
دارایی های جاری که توسط مهاجم در زنجیره های مختلف نگهداری می شود:
جریان وجوه:
منبع تصویر: https://twitter.com/BeosinAlert/status/1578290676793384961/photo/1
مرجع / اعتبار بیشتر:
https://github.com/emilianobonassi/bsc-hack-analysis-2022-10-06
امنیت Web3 - نیاز به زمان
چرا QuillAudits برای امنیت Web3؟
QuillAudits به خوبی مجهز به ابزار و تخصص برای ارائه راهحلهای امنیت سایبری است که در از دست دادن میلیونها سرمایه صرفهجویی میکند.
9 نمایش ها
- زنجیره بینه
- بیت کوین
- بلاکچین
- انطباق با بلاک چین
- کنفرانس بلاکچین
- coinbase
- coingenius
- اجماع
- کنفرانس رمزنگاری
- معدنکاری رمز گشایی
- کریپتو کارنسی (رمز ارزها )
- غیر متمرکز
- DEFI
- دارایی های دیجیتال
- ethereum
- فراگیری ماشین
- رمز غیر قابل شستشو
- افلاطون
- افلاطون آی
- هوش داده افلاطون
- پلاتوبلاک چین
- PlatoData
- بازی پلاتو
- چند ضلعی
- اثبات سهام
- کویل هاش
- امنیت قرارداد هوشمند
- روند
- W3
- زفیرنت