ایل بلوم: باگ ۱۲ سالهای که کیفپولهای رمزارز رو لو داد
خلاصهٔ کاملتر
به گفتهٔ Coinspect، ماجرا از می ۲۰۲۶ شروع شد؛ اونها داشتن یه حادثهٔ خالی شدن کیفپول تو چند شبکهٔ مختلف رو بررسی میکردن. چیزی که اولش به یه محصول خاص نسبت داده میشد، آخرش به یه ضعف عمومیتر تو فرآیند ساخت کیفپول رسید. تو این مقاله اومده که این باگ بیشتر از یه دهه بدون اینکه کسی متوجهش بشه دووم آورده و وسط تحقیق، مهاجمها هم داشتن فعالانه ازش سوءاستفاده میکردن. اسم این تحقیق رو Ill Bloom گذاشتن.
ریشهٔ ماجرا برمیگرده به تابع تولید عدد تصادفی تو کتابخونهٔ CryptoJS. وقتی آنتروپی به اندازهٔ کافی تصادفی نباشه، فضای عبارتهای بازیابی اونقدر کوچیک میشه که میشه حدسش زد. تیم تحقیق دقیقاً همینو انجام داد: با همون تابع معیوب کلی عبارت کاندید تولید کرد، آدرسهاشون رو استخراج کرد و با دادههای روی زنجیره مقایسه کرد تا بفهمه کدومهاشون واقعاً تو حسابهای واقعی استفاده شدن.
پیدا کردن آدرس آسیبپذیر یه چیزه، فهمیدن اینکه کدوم اپلیکیشن اون رو ساخته یه چیز دیگه. برای همین تحلیل روی زنجیره رو با بررسی سورسکد عمومی، ردیابی وابستگیها و مهندسی معکوس نسخههای قدیمی ترکیب کردن. این کار برای کیفپولهای کلوزسورس یا متوقفشده سختتر بود، چون نسخههای مربوطه دیگه در دسترس نبودن. آخرش چند اپلیکیشن آسیبدیده تأیید شد؛ بعضیهاشون وصله دادن و بعضیها اصلاً دیگه نگهداری نمیشن.
نویسنده میگه سختترین بخش ماجرا محافظت از قربانیهایی بود که هویتشون معلوم نبود؛ یه آدرس لو رفته بهت نمیگه صاحبش کیه. برای همین Coinspect یه ابزار بررسی آدرس عمومی منتشر کرد و آدرسهای آسیبپذیر رو با نهادهای واکنش اضطراری به اشتراک گذاشت. دربارهٔ انتشار جزئیات فنی هم میگن چون این ضعف از قبل عمومی بود، شش سال پیش وصله شده بود و سوءاستفاده هم شروع شده بود، پنهون کردنش تهدید رو کم نمیکرد.
درس این ماجرا فراتر از دنیای رمزارزه: CryptoJS از ۲۰۲۳ عملاً بدون نگهدارندهست، ولی هنوز پکیجهایی هستن که به نسخههای قدیمی و ناامنش وابستهن. یه وابستگی متروکه تو عمق درخت وابستگیها میتونه سالها بعد به یه رخنهٔ جدی تبدیل بشه.
نکات کلیدی:
- ضعف تولید عدد تصادفی تو CryptoJS باعث میشه عبارت بازیابی بعضی کیفپولها قابل بازتولید باشه
- باگ بیشتر از ۱۲ سال وجود داشته و ۶ سال پیش وصله شده، ولی کدهای قدیمی هنوز ازش استفاده میکردن
- شناسایی کیفپولهای آسیبدیده به ترکیب تحلیل روی زنجیره، بررسی سورس و مهندسی معکوس نیاز داشت
- Coinspect یه ابزار بررسی آدرس عمومی منتشر کرده تا کاربرا وضعیت خودشون رو چک کنن
- وابستگیهای متروکه تو زنجیرهٔ تأمین نرمافزار یه ریسک امنیتی بلندمدتن




