
ویجی خانا، مدیر مهندسی ریپل، در تاریخ ۲ آگوست از اپراتورهای نود XRP Ledger خواست تا xrpld نسخه ۳.۲.۱ را پس از مشاهده سیل مانیفست اعتبارسنجی توسط توسعهدهندگان در تاریخ ۳۱ جولای نصب کنند.
این هاتفیکس نحوه پردازش، ذخیرهسازی و اشتراکگذاری دادههای دریافتی از هویتهای اعتبارسنج ناشناس توسط نودها را محدود میکند.
بر اساس گزارش عملیات XRP Ledger، در طول این رویداد، XRP Ledger به طور عادی به بستن دفاتر کل ادامه داد. بنابراین شواهد موجود به فشار بر منابع نود و ارتباطات همتا به همتا اشاره دارد، نه از دست دادن تأیید شده وجوه، تراکنشهای تغییر یافته یا شکست اجماع دفتر کل. توسعهدهندگان یک شناسهی CVE یا برآورد زیان مالی مرتبط با این حادثه را منتشر نکردهاند.
مانیفستهای اعتبارسنجی سوابق امضا شده رمزنگاری هستند که هویت اصلی پایدار یک اعتبارسنج را به کلید موقتی که برای پیامهای اعتبارسنجی روزانه استفاده میکند، متصل میکنند. هنگامی که اپراتورها این کلیدهای موقتی را چرخش میدهند، یک مانیفست جدید امضا شده توسط کلید اصلی را منتشر میکنند تا نودهای دیگر بتوانند تغییر را تأیید کنند.
پیش از این هاتفیکس، نودها میتوانستند مانیفستهای با ساختار معتبر مرتبط با کلیدهای اعتبارسنجی را که شناسایی نمیکردند، قبول، کش و دوباره منتشر کنند. یک مهاجم میتوانست با تولید هویتهای ناشناس متعدد و وادار کردن همتایان به صرف حافظه، فضای ذخیرهسازی، پهنای باند و ظرفیت پردازش برای مدیریت دادهها، از این رفتار سوءاستفاده کند. رکورد کد عمومی این نقص را به عنوان مشکلی در انتشار مانیفست توصیف میکند.
نسخه رسمی xrpld 3.2.1 در ۳۱ جولای منتشر شد و در اوایل ۱ آگوست به عنوان آخرین نسخه امضا شده منتشر گردید. این نسخه شامل شش کامیت در ۱۳ فایل تغییر یافته است، از جمله چهار کامیت که مستقیماً مدیریت مانیفستهای نامعتبر را محدود میکنند.
اولین اقدام حفاظتی یک مانیفست اعتبارسنج بیش از حد بزرگ را قبل از اینکه نود آن را به طور کامل دیکد کند، رد میکند. این کار، حجم کاری پردازشی را که یک مهاجم میتواند با ارسال اشیاء منفرد بزرگتر از انتظار نرمافزار ایجاد کند، کاهش میدهد.
دومین اقدام تعداد مانیفستهای نامعتبر موجود در یک پیام شبکه را محدود میکند. این محدودیت زمانی اعمال میشود که نودها دادهها را دریافت میکنند و زمانی که پیامهای مانیفست را برای همتایان آماده میکنند. دستههای بزرگتر بدون قطع اتصال خودکار یک همتای وصلهنشده حذف میشوند، که به نودهای ارتقا یافته و قدیمی کمک میکند تا در طول فرایند انتشار متصل باقی بمانند.
تغییر سوم تعداد هویتهای اعتبارسنج ناشناس نگهداری شده در حافظه کش مانیفست نود را محدود میکند. کد نهایی حداکثر را ۱۰۰ تعیین میکند. هنگامی که این ظرفیت پر شود، نرمافزار مانیفستهای مرتبط با کلیدهای فهرستنشده جدید را رد میکند در حالی که به پردازش اعتبارسنجهای قابل اعتماد یا قبلاً شناسایی شده ادامه میدهد.
این وصله همچنین نحوه نگهداری و انتشار اطلاعات مانیفست نامعتبر را تغییر میدهد. دادههای اعتبارسنج قابل اعتماد در دسترس باقی میمانند زیرا محدودیتها، شایعات همتایان فهرستنشده را هدف قرار میدهند نه مانیفستهای اعتبارسنجهای پیکربندی شده یا تأیید شده. این تمایز به چرخش عادی کلید اعتبارسنج اجازه میدهد تا ادامه یابد در حالی که از رشد کنترلنشده حافظه کش جلوگیری میکند.
خانا به اعتبارسنجها و سایر اپراتورهای زیرساخت توصیه کرد که "در اسرع وقت" به نسخه ۳.۲.۱ ارتقا دهند. دستورالعملهای او شامل یک بهروزرسانی نرمافزاری عادی، سپس یک تا دو دقیقه انتظار و بررسی فعال بودن xrpld است. اپراتورها باید سپس سرویس را دوباره راهاندازی کنند.
راهاندازی مجدد دوم برای نودهایی که ممکن است مانیفستهای ناشناس را قبل از نصب رفع مشکل حفظ کرده باشند، مهم است. بهروزرسانی، مدیریت آینده را تغییر میدهد، در حالی که راهاندازی مجدد سرور اصلاح شده کمک میکند تا اطمینان حاصل شود که دادههای قدیمی در حافظه یا دادههای قبلاً حفظ شده بر عملیات تأثیر نمیگذارند.
اپراتورها همچنین ممکن است نیاز داشته باشند تا تأیید کنند که سیستمهایشان به کلید امضای بسته فعلی ریپل اعتماد دارند. یادداشتهای انتشار نشان میدهند که ریپل کلید GPG مورد استفاده برای امضای بستههای xrpld را در ۱۸ فوریه چرخش داده است. نصبهای موجود که به کلید جایگزین اعتماد نکردهاند ممکن است بهروزرسانیهای خودکار را با موفقیت دریافت نکنند.
این بهروزرسانی برای ارائهدهندگان زیرساخت اعمال میشود، نه برای دارندگان عادی XRP. کاربران به دلیل مشکل مانیفست نیازی به جابجایی XRP، تغییر کلیدهای کیف پول یا ایجاد حسابهای جدید ندارند. صرافیها، متولیان، بکاند کیف پولها، ارائهدهندگان داده و کسبوکارهایی که سرورهای XRPL خود را اجرا میکنند، باید به جای آن نسخههای نود خود و وضعیت راهاندازی مجدد را تأیید کنند.
عملیات XRP Ledger اعلام کرد که یک "بررسی فنی پس از حادثه به زودی انجام خواهد شد." تا تاریخ ۲ آگوست، این پروژه گزارشی منتشر نکرده بود، بنابراین هویت فرستنده، حجم مانیفستهای ارسال شده و استفاده دقیق از منابع در نودهای آسیبدیده فاش نشده است.
این گزارش همچنین باید مشخص کند که توسعهدهندگان اولین بار چه زمانی این فعالیت را شناسایی کردند، آیا نودی از دسترس خارج شد و اپراتورها با چه سرعتی نسخه ۳.۲.۱ را پذیرفتند. اگرچه دفاتر کل به بستهشدن ادامه دادند، اما پذیرش کند وصله میتواند سرورهای منفرد را در معرض سیل مجدد قرار دهد، حتی زمانی که دفتر کل مشترک عملیاتی باقی بماند.
این هاتفیکس اندکی پس از انتشار گستردهتر XRPL نسخه ۳.۲.۰ منتشر شد. آن نسخه که در ۱۵ ژوئن منتشر شد، نام سرور مرجع را از rippled به xrpld تغییر داد و تغییرات زیرساختی را معرفی کرد که اپراتورها را ملزم به بهروزرسانی نرمافزار و پیکربندی خدمات میکرد.
همانطور که قبلاً گزارش شده بود، نسخه ۳.۲.۰ در ابتدا با سرعت بیشتری در میان اعتبارسنجها نسبت به شبکه نود گستردهتر توزیع شد. سیل مانیفست دلیل جدیدی را برای اپراتورهای باقیمانده اضافه میکند تا فراتر از آن نسخه حرکت کرده و هاتفیکس را نصب کنند.
در همین حال، در پوشش مرتبط، دیوید شوارتز زیرساخت XRPL خود را به نسخه ۳.۲.۰ منتقل کرد در حالی که توسعهدهندگان شبکه را برای نامگذاری جدید سرور و ویژگیهای پروتکل آماده میکردند. پیشتر، همانطور که crypto.news گزارش داده بود، اپراتورهای نود نیز با مهلت نسخه ۳.۱.۳ مرتبط با فعالسازی یک اصلاحیه مواجه بودند.
بهروزرسانیهای تأیید شده بعدی، گزارش پس از حادثه وعده داده شده و دادههای جدید پذیرش نرمافزار خواهد بود. تا آن زمان، پاسخ تأیید شده به انتشار نسخه ۳.۲.۱، چهار کنترل مانیفست آن و درخواست از اپراتورها برای تکمیل فرایند ارتقا و راهاندازی مجدد محدود میشود.