Insights

باگ بانتی‌های کریپتو: دریافت پاداش در ازای هک کردن بلاک‌چین

پیش از بلاک‌چین، نت‌اسکیپ، گوگل و هارت‌بلید بودند. اکنون ایمیونیفای، پاداش‌های ده‌میلیون دلاری و قراردادهای هوشمندی وجود دارند که در انتظار کالبدشکافی هستند.

منتشر شده تیم Netts 20 دقیقه مطالعه

زبان‌های دیگر: EnglishРусскийEspañol中文ไทยFrançaisУкраїнськаTürkçeहिंदीالعربيةHausaPortuguêsTiếng Việt한국어日本語Bahasa IndonesiaDeutschTagalog

باگ بانتی‌های کریپتو: دریافت پاداش در ازای هک کردن بلاک‌چین
فهرست مطالب
  1. چرا کریپتو بیش از هر حوزه دیگری به کلاه سفیدها نیاز دارد
  2. محاسبات مدیریتی میان هزار دلار یا یک میلیون
  3. اکوسیستم: پلتفرم‌ها، برنامه‌ها و رکوردهای پرداخت پاداش
  4. تحلیل مهارت و اینکه چرا رسیدن به این پول آسان نیست

کلیشه‌ای که کلمه «هکر» تداعی می‌کند، به‌طرز حیرت‌آوری پایدار است: جوانی با هودی مشکی که در اتاقی با نور شدید به صفحه نمایش خیره شده و رمز عبور افرادی را که بیش از حد به اینترنت اعتماد کرده‌اند، می‌رباید. این تصویر در طول دهه‌ها فرهنگ امنیت در دنیای واقعی دوام آورده است، زیرا راهی آسان برای تبدیل موضوعی پیچیده به یک «شرور» است؛ و شرورها همیشه کاربردی هستند. آنچه معمولاً کمتر درباره‌اش می‌شنوید این است که برخی از بهترین هکرها در سمت دیگر این معامله قرار دارند؛ آن‌ها پیش از کلاهبرداران، حفره‌ها را پیدا می‌کنند (و بابت زحماتشان پاداش می‌گیرند). این فعالیت نامی دارد، دارای حافظه سازمانی و ساختاری حرفه‌ای است که قدمت آن به چندین دهه پیش از پیدایش بلاک‌چین بازمی‌گردد.

اولین برنامه مدرن و سازمان‌یافته «پاداش در ازای باگ» (Bug Bounty) در ۱۰ اکتبر ۱۹۹۵ توسط نت‌اسکیپ (Netscape) آغاز شد. این شرکت در حال کار بر روی Navigator 2.0، مرورگر پیشرو آن زمان خود بود و فراخوانی عمومی داد: یک باگ امنیتی پیدا کنید، آن آسیب‌پذیری را مسئولانه به شرکت گزارش دهید و بابت تلاش خود پاداش بگیرید. اگرچه بودجه در مقایسه با استانداردهای امروزی اندک بود — ۵۰,۰۰۰ دلار برای کل این فراخوان — اما خودِ ایده واقعاً نوآورانه بود. نت‌اسکیپ در واقع علناً اعتراف می‌کرد که نرم‌افزارش دارای آسیب‌پذیری‌هایی است که خودش نمی‌تواند در داخل شرکت شناسایی کند و افراد بیرونی ممکن است در موقعیت بهتری برای کشف آن‌ها باشند. فراتر از پول، اهمیت در پیامی بود که این اعتراف ضمنی با خود داشت.

این روند در طول دهه ۲۰۰۰ شروعی کند داشت و با پیوستن پلتفرم‌های بزرگ شتاب گرفت. در سال ۲۰۱۰، گوگل «برنامه پاداش آسیب‌پذیری» خود را معرفی کرد که امروزه به تنهایی سالانه بیش از ۱۲,۰۰۰,۰۰۰ دلار به محققان پرداخت می‌کند و مجموع پرداختی‌های آن تا به امروز به بیش از ۵۰,۰۰۰,۰۰۰ دلار رسیده است. تا سال ۲۰۱۳ طول کشید تا مایکروسافت با یک برنامه رسمی از این روند پیروی کند و اپل نیز که مدت‌ها در برابر این ایده مقاومت کرده بود، سرانجام در سال ۲۰۲۰ برنامه عمومی خود را راه‌اندازی کرد.

تا اواسط دهه ۲۰۱۰، برنامه‌های پاداش در ازای کشف باگ (Bug Bounty) برای هر شرکت فناوری که امنیت خود را جدی می‌گرفت، به امری رایج تبدیل شده بود. در این میان، سرویس‌هایی مانند HackerOne و Bugcrowd پدید آمدند تا با متصل کردن شرکت‌ها به محققان امنیتی مستقل که به‌صورت تمام‌وقت به دنبال شناسایی آسیب‌پذیری‌ها هستند، اجرای این برنامه‌ها را در مقیاس وسیع تسهیل کنند.

با این حال، تمام اکتشافات امنیتی بزرگ در قالب یک برنامه پاداش رسمی رخ ندادند و برخی از تأثیرگذارترین آن‌ها نشان دادند که در صورت نبود چنین برنامه‌هایی، چه اتفاقاتی ممکن است بیفتد. در سال ۲۰۱۴، دو تیم — نیل مهتا از گوگل و تیمی در شرکت فنلاندی Codenomicon — به‌طور مستقل یک نقص جدی را در OpenSSL کشف کردند؛ کتابخانه رمزنگاری که زیربنای بخش بزرگی از تمام ترافیک رمزگذاری‌شده اینترنت است. این نقصِ تازه‌کشف‌شده که «هارت‌بلید» (Heartbleed) نامیده شد، به مهاجم اجازه می‌داد تا حافظه یک سرور را بخواند (در حالی که نباید به آن دسترسی می‌داشت) و از این طریق، کلیدهای خصوصی، اطلاعات هویتی مورد استفاده در ده‌ها هزار سرویس و داده‌های کاربران را به‌صورت متن آشکار (Clear Text) فاش کند. هیچ پاداشی برای دریافت وجود نداشت. اگرچه این آسیب‌پذیری به‌صورت مسئولانه گزارش شد، اما فاصله زمانی بین کشف تا ارائه وصله امنیتی، بیش از آن چیزی بود که کسی بخواهد به آن فکر کند؛ و پیامد آن، ماه‌ها تکاپوی جهانی برای همه‌چیز، از وصله‌های نرم‌افزاری و به‌روزرسانی‌های محتوا گرفته تا حتی بازنشانی تنظیمات امنیتی بود. سناریوی جایگزین — اینکه اگر یک سرویس اطلاعاتی دولتی یا یک گروه مجرمانه زودتر آن را کشف می‌کرد چه می‌شد — به قدری نگران‌کننده بود که باعث تسریع در اجرای برنامه‌های افشای ساختاریافته در سراسر این صنعت شد.

چرا کریپتو بیش از هر حوزه دیگری به کلاه سفیدها نیاز دارد

از این رو، مشکل امنیتی در بلاک‌چین از نظر ساختاری متفاوت (و به‌طور بنیادی پیچیده‌تر) از مشکلات امنیتی نرم‌افزارهای معمولی است؛ موضوعی که هنگام توضیح چرایی تبدیل شدن «باگ بانتی‌ها» به بخشی محوری از فضای این صنعت، اهمیت می‌یابد.

در نرم‌افزارهای سنتی، یک آسیب‌پذیری هرچند جدی است، اما محدود است. اپلیکیشن وب هک‌شده‌ی یک بانک ممکن است باعث نشت داده‌ها یا بروز کلاهبرداری شود، اما خسارت در سیستمی مهار می‌شود که دارای قوانین، بیمه، تشخیص کلاهبرداری و قابلیت بازگرداندن تراکنش‌های غیرقانونی است. پول دارای ردپای مستند است و مهاجم در خلاء عمل نمی‌کند.

اما در سناریوهای ضرر در دیفای (DeFi)، یک اکسپلویت موفق (یا حتی ناموفق) تقریباً در تمام ابعاد به شکلی متفاوت رقم می‌خورد. در عرض چند ثانیه، اگر نفوذگری از یک نقص زمان‌بندی در قرارداد هوشمند سوءاستفاده کند، تمام دارایی‌های موجود در یک پروتکل می‌تواند تخلیه شود. در صورت موفقیت، مهاجم ارز دیجیتالی به دست آورده است که نه تنها ردیابی آن دشوار است، بلکه بازیابی آن بدون همکاری مالک آن تقریباً غیرممکن است. هیچ‌کس نمی‌تواند تراکنش را لغو کند زیرا هیچ مرجع مرکزی وجود ندارد. در هر لحظه، میلیاردها دلار به‌طور تغییرناپذیر در این قراردادهای هوشمند که برای عموم قابل خواندن هستند و به‌صورت خودمختار عمل می‌کنند، قرار دارند. کد شما محصول شماست و محصول شما یک گاوصندوق است. در اکثر مکانیزم‌ها، اولویت با اولین کسی است که اقدام کند و تنها راه چاره، سوابق تغییرناپذیر درون‌زنجیره‌ای است.

این همان چیزی است که پویایی «نیزه در برابر سپر» را در کریپتو تا این حد مبرم و فوری جلوه می‌دهد. از لحظه‌ای که هر پروتکل دارای ارزشی را مستقر می‌کنید، آن پروتکل از همان روز اول به عنوان یک بردار حمله عمل می‌کند. مهاجمان فاقد سازماندهی نیستند.

برخی به دولت-ملت‌ها وابسته هستند، برخی سازمان‌های جنایی پیشرفته‌اند و بسیاری دیگر صرفاً نقشه‌ای از بی‌اخلاقی و سکنی گزیدن در سولیدیتی را در دست دارند؛ آن‌ها نقدینگی آماده دارند و مانند شاهین، هر آنچه در شبکه مستقر می‌شود را زیر نظر می‌گیرند. انتظار برای ریزش کاربران به دلیل مسائل امنیتی، یک استراتژی تجاری پایدار نیست. خیر، تنها گزینه این است که آن آسیب‌پذیری‌ها را پیش از دیگران بیابید — و افرادی را استخدام کنید که به اندازه کافی برای یافتن آن‌ها بااستعداد باشند.

حسابرسی (آدیت) و تست نفوذ — یعنی سپردن کد به یک شرکت امنیتی برای بررسی پیش از استقرار — لازم است، اما به هیچ وجه کافی نیست. حسابرسی‌ها معمولاً محدود به زمان هستند و توسط تیم‌هایی با اندازه محدود انجام می‌شوند. یک سیستم قرارداد «هوشمند» می‌تواند میلیون‌ها مسیر بالقوه برای تعامل داشته باشد و یک تیم حسابرسی تحت محدودیت زمانی، تنها موارد بدیهی‌تر را پوشش خواهد داد. این برنامه‌های پاداش در ازای باگ (Bug Bounty)، جستجو را به افق بسیار وسیع‌تری می‌برند و از ظرفیت مجموعه‌ای جهانی از پژوهشگران با پیشینه‌های مختلف، مدل‌های ذهنی متفاوت و زمانی نامحدود بهره می‌گیرند. ترکیبی از هر دو — حسابرسی داخلی جامع پیش از راه‌اندازی شبکه اصلی (Mainnet) و سپس یک برنامه پاداش دائمی — امروزه به یک راهکار استاندارد برای کسانی تبدیل شده است که دغدغه امنیت پروتکل را دارند.

محاسبات مدیریتی میان هزار دلار یا یک میلیون

منطق اقتصادی برنامه‌های پاداش در ازای باگ به قدری ساده است که نیازی به توضیح ندارد؛ با این حال، در عمل به توضیح نیاز دارد، زیرا هزینه آن اکنون محقق می‌شود، در حالی که صرفه‌جویی حاصل از آن تئوریک بوده و در بازه‌ای طولانی توزیع شده است.

پروتکلی که ۱۰,۰۰۰ دلار پاداش برای یک آسیب‌پذیری حیاتی تعیین کرده، در واقع ۱۰ هزار دلار صرف امنیت خود کرده است. این همان پروتکلی است که ممکن بود هیچ آسیب‌پذیری‌ای را فاش نکند (همان‌طور که شاهد بودیم یک عامل مخرب از این موضوع سوءاستفاده کرد) و اکنون ممکن است تمام دارایی خود را از دست بدهد؛ ده‌ها میلیون دلار که به سرعت از بین می‌رود، آن هم با پیچیدگی‌های بسیار بیشتری که باید نگرانشان بود و در واقع، احتمال توقف کامل فعالیت‌ها نیز وجود دارد. این پاداش یک هزینه نبود — بلکه پرداختی پیشگیرانه برای بیمه بود، پیش از آنکه حادثه تحت پوشش بیمه اصلاً رخ دهد.

هیچ بحث و جدلی نمی‌تواند بینش لازم برای توضیح این محاسبات پیش از راه‌اندازی را فراهم کند؛ هر مدیرعاملی که یک اکسپلویت بزرگ را تجربه کرده باشد، این موضوع را با تمام وجود درک می‌کند. کسانی که چنین تجربه‌ای نداشته‌اند، هزینه‌های امنیتی را صرفاً یک هزینه عملیاتی دیگر می‌بینند که باید برای تیک زدن چک‌لیست‌های انطباق، به حداقل برسد.

داده‌های مربوط به هزینه‌ها توسط تاریخچه اکسپلویت‌های دیفای (DeFi) ارائه شده است. به عنوان مثال، تنها در سال ۲۰۲۲، پل در شبکه Ronin متحمل خسارتی ۶۲۵ میلیون دلاری شد. و پل دیگری به نام Wormhole، در ماه ژانویه با هزینه‌ای معادل ۳۲۰ میلیون دلار هک شد. پل Nomad — ۱۹۰ میلیون دلار از دست رفت، چرا که پس از مشخص شدن الگوی اولیه حمله، هر کاربری می‌توانست پروتکل را خالی کند؛ آسیب‌پذیری‌ای که کشف و رفع آن در قالب برنامه‌های پاداش باگ (Bounty) احتمالاً تنها ۵۰,۰۰۰ دلار هزینه داشت. این‌ها موارد استثنایی نیستند. این‌ها سوابق رسمی اتفاقاتی است که در یک محیط با ارزش بالا رخ می‌دهد؛ جایی که یافتن «حفره‌های» تیم قرمز (Red Teaming) پاداش بسیار خوبی دارد و هزینه بهره‌جویی صفر است.

ریسکی که کمتر به آن اشاره می‌شود، در واقع در جهت مخالف است. پروتکلی که پیش از آمادگی کافی، برنامه پاداش باگ را آغاز می‌کند، در واقع هزینه‌ای را برای یک دعوت همگانی جهت یافتن تمام مواردی که تیم داخلی‌اش نادیده گرفته، پرداخت می‌کند؛ و اگر کد منبع (Codebase) به درستی حسابرسی (Audit) نشده باشد، این موارد می‌تواند تقریباً شامل همه چیز شود. به عنوان مثال، یک برنامه با سقف ۱۰۰,۰۰۰ دلار که برای سیستمی از قراردادها با بیست آسیب‌پذیری حیاتی راه‌اندازی می‌شود، ممکن است با افشای همزمان باگ‌هایی مواجه شود که کل بودجه پاداش را ظرف چند روز تخلیه کند؛ و در عین حال، عملکرد امن پروتکل را مختل سازد.

تصور کنید این سناریو به ما اجازه می‌دهد بگوییم بسیاری از پروژه‌های اولیه دیفای (DeFi) تقریباً در چنین وضعیتی قرار گرفتند: یک برنامه پاداش در ازای باگ (باگ بانتی) به صورت عمومی اعلام می‌شود و گزارش‌هایی سرازیر می‌شوند که نشان می‌دهند بازبینی امنیتی داخلی صرفاً یک بررسی اجمالی بوده است؛ با این حال، هزینه‌های اصلاح به سرعت از بودجه‌ای که تیم برای کل رویکرد امنیتی خود کنار گذاشته بود، فراتر می‌رود. نکته اصلی داستان این نیست که برنامه‌های باگ بانتی خطرناک هستند، بلکه این است که آن‌ها مستلزم رعایت حداقل استاندارد کیفیت کد هستند. پروتکل‌ها بدترین مشکلات خود را به بدترین شکل ممکن کشف می‌کنند؛ یعنی با راه‌اندازی یک برنامه باگ بانتی به عنوان جایگزینی برای اقدامات امنیتی داخلیِ اساسی، به جای آنکه آن را به عنوان مکملی برای این اقدامات در نظر بگیرند.

درک این یافته‌ها منجر به شکل‌گیری توالی واقعی زیر شده است: بازبینی داخلی، یک یا چند حسابرسی خارجی توسط شرکت‌های معتبر، و سپس ورود به مرحله عملیاتی همراه با یک برنامه باگ بانتی فعال. برخی دیگر، اقدام اضافیِ «عرضه مرحله‌ای» را به کار می‌گیرند؛ به این صورت که حداکثر ارزش در معرض خطر (VaR) پروتکل را برای مدتی مشخص در حین فعال بودن برنامه باگ بانتی محدود می‌کنند و تنها زمانی نقدینگی را افزایش می‌دهند که هیچ نقص بحرانی بروز نکرده باشد. این روش کندتر و اغلب پرهزینه‌تر از عرضه مستقیم محصول است. اما جایگزین آن، گاهی اوقات فاجعه‌بار است.

اکوسیستم: پلتفرم‌ها، برنامه‌ها و رکوردهای پرداخت پاداش

زیرساخت‌های باگ بانتی در حوزه کریپتو از روزهای اولیه که شامل ایمیل‌های افشای غیررسمی و پاداش‌های موردی بود، به میزان قابل‌توجهی تکامل یافته و بالغ شده است.

ایمیون‌فای (Immunefi) بزرگترین پلتفرم در این حوزه است که در دسامبر ۲۰۲۰ راه‌اندازی شد. این پلتفرم تاکنون بیش از ۱۰۰ میلیون دلار به محققان برای بیش از ۳۰۰۰ گزارش باگ پرداخت کرده است و ادعا می‌کند که تا اوایل سال ۲۰۲۶ به جلوگیری از ضرر بیش از ۲۵ میلیارد دلاری در حداقل ۵۰۰ پروتکل کمک کرده است. این پلتفرم به جامعه‌ای متشکل از حدود ۴۵,۰۰۰ محقق امنیتی ثبت‌نام شده خدمات ارائه می‌دهد، از فرآیندهای افشای ساختاریافته پشتیبانی می‌کند و در مذاکراتی که بین محققان و پروتکل‌ها در مورد طبقه‌بندی شدت باگ و مبالغ پرداختی صورت می‌گیرد، میانجی‌گری می‌کند.

Immunefi بخشی از مبالغ پاداش‌های باگ (bounty) را به عنوان سهم خود برمی‌دارد که به شکلی منطقی منافع آن‌ها را با هر دو طرف بازار همسو می‌کند: آن‌ها زمانی عملکرد بهتری دارند که محققان باگ‌های واقعی را پیدا کنند و پروتکل‌ها بابت آن‌ها هزینه بپردازند.

بزرگ‌ترین پرداخت تکی در تاریخ این پلتفرم همچنان پاداش ۱۰ میلیون دلاری است که در فوریه ۲۰۲۲ به یکی از محققان آن با نام مستعار "satya0x" برای یافتن یک آسیب‌پذیری «پراکسی مقداردهی‌نشده» (uninitialized proxy) در پل ورم‌هول (Wormhole) پرداخت شد. این آسیب‌پذیری در صورت بهره‌برداری، می‌توانست منابع قفل‌شده‌ای به ارزش تقریبی ۷۳۶ میلیون دلار را در معرض خطر قرار دهد. این محقق با رعایت مسئولیت‌پذیری آن را افشا کرد و پاداشی را دریافت نمود که در آن زمان بزرگ‌ترین پرداخت پاداش باگ شناخته‌شده در تاریخ بود. در دسامبر ۲۰۲۱، پالیگان (Polygon) یک باگ حیاتی را از محققی به نام لئون اسپیس‌واکر (Leon Spacewalker) به مبلغ ۲.۲ میلیون دلار خریداری کرد که می‌توانست امکان ضرب (mint) تا ۹.۳ میلیارد توکن MATIC را فراهم کند؛ مبلغی که با توجه به قیمت‌های ارز در آن زمان، معادل میلیاردها دلار بود. محاسبات از هر دو جهت کاملاً روشن است: این پاداش از نظر مطلق رقم بزرگی بود، اما در مقایسه با آنچه ممکن بود در اثر حملاتِ پیشگیری‌شده از دست برود، ناچیز به نظر می‌رسید.

برنامه‌های تشویقی اختصاصی که در سطح پروتکل اجرا می‌شوند، اکنون به ارقامی رسیده‌اند که تصور آن‌ها تا همین چند سال پیش دشوار بود. حداکثر پاداش برای آسیب‌پذیری‌های حیاتی در برنامه نسخه ۴ (v4) یونی‌سواپ (Uniswap)، ۱۵.۵ میلیون دلار است. لیرزیرو (LayerZero) پاداش‌های فعالی تا سقف ۱۵ میلیون دلار دارد. در سال ۲۰۲۶، حداکثر پاداش بنیاد اتریوم به ۱ میلیون دلار افزایش یافت.

نه تنها این ارقام باید با ارزش آنچه این پروتکل‌ها سعی در محافظت از آن دارند همخوانی داشته باشند، بلکه باید با سطح محققی که می‌خواهید جذب کنید نیز متناسب باشند؛ تعیین سقف ۱,۰۰۰ دلاری برای کسی که قادر به اکسپلویت کردن یک آسیب‌پذیری حیاتی در یک پروتکل چند میلیارد دلاری است، انگیزه‌ای ایجاد نخواهد کرد.

پلتفرم‌های Code4rena و Sherlock کمی متفاوت هستند؛ شما یک مسابقه حسابرسی رقابتی را در یک بازه زمانی مشخص برگزار می‌کنید، چندین محقق به‌طور همزمان پایگاه کد (codebase) را بررسی می‌کنند و کل استخر جوایز بر اساس شدت و اعتبار یافته‌ها تقسیم می‌شود. با جامعه‌ای متشکل از بیش از ۸,۳۰۰ حسابرس ثبت‌نام شده و بیش از ۲۴,۰۰۰ یافته منحصربه‌فرد در تمامی حسابرسی‌های Code4rena، و برگزاری بیش از ۱۷۵ مسابقه مشابه توسط Sherlock، یک فرمت رقابتی ساختار انگیزشی را تغییر می‌دهد؛ محققان ترغیب می‌شوند تا به دنبال مشکلاتی بگردند که دیگران ممکن است از آن‌ها سرسری بگذرند، چرا که یافته‌های تکراری در چنین حجم‌های قابل‌توجهی اغلب پاداش ناچیز یا هیچ پاداشی دریافت نمی‌کنند. به‌طور کلی، این روش همچنین مشکلاتی را در مقیاس بزرگ‌تر نسبت به حسابرسی‌های متوالی یا برنامه‌های پاداش باگ (bug bounty) بی‌پایان آشکار می‌کند. برنامه‌های کریپتویی برای سایر دارندگان بیت‌کوین کش مانند Coinbase و MakerDAO همچنان در گیت‌هاب میزبانی می‌شوند. در کل بازار فعال پاداش باگ در وب۳، اکنون بیش از ۱۶۲ میلیون دلار پاداش برای مواقعی که اوضاع طبق برنامه پیش نرود پیشنهاد شده است که هم نشان‌دهنده حجم دارایی‌های در معرض خطر و هم نشانه‌ای از مسیر حرفه‌ای‌گری است که بسیاری از محققان در آن گام نهاده‌اند.

تحلیل مهارت و اینکه چرا رسیدن به این پول آسان نیست

تصویری که از یک شکارچی پاداش باگ به عنوان کسی که یک بعدازظهر آسیب‌پذیری را پیدا کرده و پاداشی شش‌رقمی به جیب می‌زند وجود دارد، با واقعیت این کار همخوانی ندارد. متخصصانی که از طریق تحقیق در زمینه امنیت در فضای رمزارز امرار معاش مستمر دارند، معمولاً افرادی خبره هستند که مسیر دستیابی به این جایگاه مستلزم سال‌ها آمادگی فنی در حوزه‌هایی است که اکثر توسعه‌دهندگان به‌ندرت به آن‌ها ورود می‌کنند.

یافتن نقص‌هایی با بالاترین سطح شدت در کدهای قرارداد هوشمند در محیط عملیاتی، نیازمند تخصص در ماشین مجازی اتریوم (EVM) است؛ این امر تنها به معنای دانستن نحوه نگارش سالیدیتی نیست، بلکه شامل درک این موضوع است که کد به چه چیزی کامپایل می‌شود، EVM هنگام اجرای بایت‌کد دقیقاً چه کاری انجام می‌دهد و کدام ویژگی‌های زبان توسط کامپایلر تضمین یا اجرا می‌شوند، در مقابلِ موارد خاصی (edge cases) که وقتی با انتخاب‌های بهینه‌سازی گس توسط توسعه‌دهندگانِ تحت فشارِ بودجه و زمان ترکیب می‌شوند، می‌توانند به مشکلات امنیتی تبدیل گردند. این کار نه تنها مستلزم درک دسته‌بندی‌های رایج آسیب‌پذیری — مانند ورود مجدد (reentrancy)، سرریز عدد صحیح (integer overflow)، دست‌کاری وام آنی (flash loan manipulation)، دست‌کاری قیمت اوراکل، نقص در کنترل دسترسی و آسیب‌پذیری‌های مقداردهی اولیه — است، بلکه نیازمند توانایی شناسایی بردارهای حمله جدیدی است که با هیچ‌یک از الگوهای شناخته‌شده مطابقت ندارند. مفیدترین یافته‌ها مواردی هستند که حتی هیچ‌کس به دنبال آن‌ها نبوده است.

مجموعه ابزاری که محققان در این کار از آن بهره می‌برند، به طرز قابل توجهی تکامل یافته است و اکنون شامل ابزارهایی است که در بیشتر موارد از آنچه یک عامل مخرب به کار می‌گیرد، غیرقابل تشخیص هستند:

اسلیتر (Slither)، یک چارچوب تحلیل ایستا که توسط Trail of Bits توسعه یافته است، می‌تواند کد سالیدیتی شما را بر اساس ۴۰ الگوی آسیب‌پذیری شناخته‌شده اسکن کرده و خروجی مرتب‌شده‌ای به شما ارائه دهد. این یک گام اولیه است، نه گام نهایی؛ چرا که دارای موارد مثبت کاذب است و آسیب‌پذیری‌های لایه منطق را به کلی نادیده می‌گیرد.

میثریل (Mythril) از اجرای نمادین (symbolic execution) برای پیمایش حالت‌های ممکن یک قرارداد استفاده می‌کند و بررسی می‌کند که آیا هیچ‌یک از حالت‌های قابل دسترس، ویژگی‌های امنیتی خاص تعیین‌شده توسط محقق را نقض می‌کنند یا خیر. با این حال، این ابزار از نظر محاسباتی سنگین است و تنها اجازه تحلیل سطحی قراردادهای پیچیده را می‌دهد.

این یک فازر مبتنی بر ویژگی (property-based fuzzer) است: با ارائه مجموعه‌ای از ناوردها (invariants) که یک قرارداد همیشه باید از آن‌ها پیروی کند، محقق آن‌ها را به اکیدنا (Echidna) می‌سپارد؛ این ابزار با بررسی هزاران توالی تراکنش تصادفی، برای شکستن این قواعد تلاش می‌کند. ما به‌ویژه در یافتن موارد مرزی (edge cases) در منطق محاسباتی و مدیریت وضعیت مهارت داریم.

در حال حاضر، بخش عمده‌ای از تحقیقات امنیتی جدی با استفاده از فاوندری (Foundry) انجام می‌شود؛ زیرا این ابزار فاصله بین «فکر می‌کنم این کار می‌کند» تا «می‌توانم ثابت کنم این کار می‌کند» را به حداقل رسانده است، به‌خصوص از آنجایی که اکثر محققان تست‌ها و اکسپلویت‌های خود را مستقیماً با سولیدیتی در محیط فاوندری می‌نویسند.

با ابزارهای تأیید رسمی (formal verification) شرکت سرتورا (Certora)، محققان می‌توانند مشخصات رفتاری قرارداد را در قالب قراردادهای ریاضی تعریف کرده و سپس آن‌ها را با بایت‌کد واقعی تطبیق دهند. این چالش‌برانگیزترین روش است و از نظر مهارت و تلاش، سخت‌ترین شیوه برای پیاده‌سازی محسوب می‌شود.

مانتیکور (Manticore)، یکی دیگر از ابزارهای Trail of Bits، تحلیل پویا انجام می‌دهد و می‌تواند برای تولید خودکار ورودی‌هایی استفاده شود که مسیرهای خاصی از کد را در قرارداد طی می‌کنند؛ چیزی که تحلیل ایستا قادر به دسترسی به آن نیست.

هیچ ابزار واحدی وجود ندارد که به‌طور خودکار آسیب‌پذیری‌های حیاتی را از میان این ابزارها پیدا کند. آن‌ها فقط فضای کاندیداهای احتمالی را محدود کرده و مواردی را برجسته می‌کنند که یک انسان باید آن‌ها را ارزیابی کند. اگر محققی نتواند اسمبلی EVM را بخواند، درباره ترتیب تراکنش‌ها استدلال کند و اقتصاد یک پروتکل دیفای (DeFi) را در سطح سیستم درک کند، نخواهد توانست بهره چندانی از خروجی هیچ‌کدام از این ابزارها ببرد. این ابزارها تقویت‌کننده تخصص هستند، نه جایگزینی برای آن.

این دشواری‌های عملی بسیار فراتر از مسائل فنی است. رقابت بسیار شدید است. در طول یک مسابقه حسابرسی (audit contest) در Code4rena یا Sherlock، ده‌ها توسعه‌دهنده به‌طور هم‌زمان روی یک کدبیس واحد مطالعه می‌کنند.

معمولاً یک پژوهشگر یافته‌ای حیاتی را گزارش می‌کند؛ بقیه افرادی که همان مشکل را پیدا می‌کنند، هیچ‌چیز یا مبلغ ناچیزی دریافت می‌کنند. پژوهشگری که یک هفته وقت صرف یک مسابقه می‌کند و فقط مشکلات با شدت متوسط می‌یابد، ممکن است تنها با چند صد دلار صحنه را ترک کند. نوسان درآمد بالاست و دوره‌های رکود مالی واقعیت دارند. با این حال، اثبات یک نتیجه می‌تواند به اندازه حل کردن آن دشوار باشد. فرد باید نمایشی عملی از قابلیت سوءاستفاده (معمولاً با یک اثبات مفهوم یا PoC واقعی) ارائه دهد. برخی نیز دوباره بر سر طبقه‌بندی شدت یک یافته حیاتی یا متوسط مجادله می‌کنند و استدلال می‌کنند که جنبه‌های خاصی از شدت آن‌ها می‌کاهد. پژوهشگرانی که کارهای خود را با دقت مستند نمی‌کنند و پژوهشگرانی که فاقد اهرم قدرت ناشی از شهرت هستند، ممکن است برای کشفیات مهم خود دستمزد کمی دریافت کنند. و در نهایت، محیط قانونی و مالیاتی خود به یک پیچیدگی تبدیل می‌شود. اکثر پاداش‌ها به شکلی از رمزارز پرداخت می‌شوند؛ خواه تتر (USDT)، یواس‌دی‌سی (USDC)، اتریوم (ETH) یا توکن بومی یک پروتکل باشد. دریافت انتقال تتر به عنوان درآمد، منجر به یک رویداد مشمول مالیات می‌شود که گیرنده را ملزم می‌کند ارزش آن را در زمان دریافت، پیش از تبدیل برای اهداف گزارش‌دهی، پیگیری کند و در صورت پرداخت از طریق نوعی دارایی دیجیتال، با سود سرمایه ناشی از هرگونه نوسان قیمت مواجه شود. پاداش‌های باگ با هزینه‌های جانبی واقعی همراه هستند؛ راه‌اندازی فعالیت در حوزه پاداش باگ، مانند هر کسب‌وکار دیگری، مستلزم ایجاد تعادل بین زمان سرمایه‌گذاری شده و نتایج ملموس است؛ اگر مسائل اداری را نادیده بگیرید، به مشکل دیگری تبدیل می‌شود که به آرامی انباشته می‌گردد. اما چالش عمیق‌تر این است که این کار سقف درآمدی بالا و کف درآمدی صفر دارد. پژوهشگری که تخصص واقعی با سابقه‌ای اثبات‌شده کسب می‌کند — کسی که آسیب‌پذیری‌های حیاتی پروتکل را کشف کرده و نامش در گزارش‌های حسابرسی یا کالبدشکافی‌های پس از حادثه ظاهر می‌شود — می‌تواند درآمدی مشابه حقوق مهندسان ارشد در شرکت‌های بزرگ داشته باشد. رسیدن به این جایگاه یا نیازمند یک پیش‌زمینه ژنتیکی خاص از بدو تولد است، یا سال‌ها صیقل دادن مهارتی ویژه. تقریباً هر کسی که سعی می‌کند صرفاً از این راه امرار معاش کند، به‌سرعت درمی‌یابد که زمان یادگیری بسیار طولانی‌تر از حد انتظار است، رقبا بهتر از آنچه تصور می‌شد آماده شده‌اند و در حین آموزش، درآمد حاصله برای پوشش هزینه‌ها کافی نیست.

این لزوماً به معنای بد بودن این حوزه نیست؛ بلکه آن را به حوزه‌ای صادقانه تبدیل می‌کند. دقیقاً همان مجموعه‌مهارت‌هایی که به یک محقق پاداش باگ (Bug Bounty) اجازه موفقیت می‌دهد — تمرکز فنی عمیق، تفکر سیستمی، خلاقیت در مواجهه با عدم قطعیت و تمایل به ساعت‌ها کار روی چیزی که ممکن است هیچ بازگشت سرمایه‌ای نداشته باشد — دقیقاً همان مهارت‌هایی است که متخصصان امنیت در هر حوزه‌ای به دنبال آن هستند. فردی که این مهارت‌ها را تا سطح لازم برای تحقیق امنیت کریپتو توسعه داده باشد، در موقعیت انتخاب قرار دارد. یکی از این مسیرهای شغلی، مسیر پاداش باگ است که برای معدود افرادی که آن را دنبال می‌کنند، روزبه‌روز جذاب‌تر می‌شود.

این خبر بسیار خوبی برای هر کسی است که یک گردش کار مبتنی بر USDT را مدیریت می‌کند — از تعیین اینکه چه کسی چه مقدار پاداش دریافت کند گرفته تا تقسیم پرداخت‌ها بین چندین همکار، یا صرفاً انتقال پاداش به خارج از پروتکل. ماشین‌حساب انتقال USDT در Netts دقیقاً همین کار را انجام می‌دهد: آدرس‌های فرستنده و گیرنده را وارد کنید تا دقیقاً به شما بگوید چه مقدار انرژی (Energy) و پهنای باند (Bandwidth) برای تراکنش نیاز است، چه مقدار از منابع پیش‌فرض سوزانده می‌شود یا اینکه آیا از منابع موجود استفاده شده است. همچنین مقایسه‌ای از هزینه‌ها برای ارسال به آدرسی که از قبل دارای USDT است (۱۳.۸۴ TRX در مقابل ۲-۳ TRX با انرژی اجاره‌ای) و آدرس‌های جدید (۲۷.۷۰ TRX در مقابل ۴-۵ TRX با منابع اجاره‌ای) ارائه می‌دهد — که در هر دو حالت بیش از ۸۰٪ صرفه‌جویی به همراه دارد!

اشتراک‌گذاری X Telegram LinkedIn Reddit

گام بعدی