پلیمارکت جزئیات بیشتری از نفوذ شخص ثالث که پلتفرم بینالمللی آن را در ۲۹ اکتبر مختل کرد، منتشر کرده است. این بهروزرسانی تمرکز را از بازگشایی معاملات به نحوه عملکرد حمله و چگونگی جبران خسارت مشتریان معطوف میکند.
توضیحات این شرکت همچنین یادآوری میکند که یک برنامه مبتنی بر بلاکچین میتواند به اجزای وبسایت خارج از زنجیره (offchain) با دسترسی به جلسات فعال کاربر وابسته باشد.
جبران خسارت فراتر از وجوه برداشت شده
در گزارش جزئیات حادثه در ۳۰ اکتبر، پلیمارکت اعلام کرد که ۳.۹ میلیون دلار بازپرداخت خواهد کرد: ۲.۷ میلیون دلار مربوط به حمله و ۱.۲ میلیون دلار دیگر برای خسارات ناشی از توقف معاملات. این شرکت گزارش داد که تا بعدازظهر همان روز، ۹۵ درصد از کیف پولهای تحت تأثیر به طور کامل بازپرداخت شده بودند.
این شرکت اظهار داشت که یک اسکریپت معیوب نظارت بر عملکرد، از برخی جلسات فعال برای فروش موقعیتها و انتقال وجوه استفاده کرده است. اقدامات اصلاحی شامل حذف اسکریپت، پاک کردن حافظه پنهان، بازنشانی جلسات و توقف موقت معاملات و فعالیت رلهگرها بوده است. رقم ۹۵ درصد یک گزارش زمانی مشخص از سوی شرکت است و نباید به عنوان نرخ تکمیل بازپرداخت زنده یا اثباتی بر حل و فصل تمام مبالغ مورد اختلاف مشتریان ارائه شود.
کد وبسایت بخشی از مرز مالی میشود
یک اسکریپت شخص ثالث زمانی اجرا میشود که یک وبسایت آن را بارگذاری کند. بسته به مجوزها و محیط اجرای آن، این اسکریپت ممکن است با بخشهایی از صفحه و جلسه مرورگر که کاربران با برنامه مورد اعتماد مرتبط میدانند، تعامل داشته باشد.
مستندات موزیلا در مورد یکپارچگی منابع فرعی (subresource integrity) یکی از روشهای دفاعی را شرح میدهد: مرورگر میتواند یک منبع دانلود شده را با هش رمزنگاری مورد انتظار مقایسه کند و محتوایی را که مطابقت ندارد، رد کند. این مکانیسم به جداسازی یک فایل تأیید شده از فایلی تغییر یافته که از طریق همان آدرس ارائه میشود، کمک میکند.
این سازوکار مفید است اما محدودیتهایی دارد. این مکانیسم تعیین نمیکند که آیا کد تأیید شده ایمن بوده است یا خیر، و یک برنامه همچنان به یک فرآیند معقول برای بررسی بهروزرسانیها و کنترل اینکه کدام منابع مجاز به اجرا هستند، نیاز دارد.
توقف معاملات دستهبندی دومی از خسارت ایجاد میکند
در بازاری که به نتایج حساس به زمان گره خورده است، توقف تراکنشها میتواند حتی به کاربرانی که کیف پولشان مستقیماً برداشت نشده است، آسیب برساند. یک موقعیت ممکن است در طول دوره قطعی، تسویه شود یا ارزش بازار آن قبل از از سرگیری معاملات تغییر کند.
جبران خسارات ناشی از این اثرات نیازمند یک نقطه مرجع تعریف شده است. اپراتور باید برچسب زمانی، اندازه موقعیت و روش ارزشگذاری مربوطه را تعیین کند، سپس همان رویکرد را به طور مداوم اعمال کند. در غیر این صورت، یک تیتر بازپرداخت میتواند اختلاف نظر در مورد اینکه کدام خسارات گنجانده شده است را پنهان کند.
این امر به ویژه زمانی اهمیت دارد که فروشهای اجباری با نقدینگی پایین تعامل داشته باشند. تفاوت بین یک قیمت نمایش داده شده و یک قیمت قابل اجرا دقیقاً در زمانی که پلتفرم تحت فشار است، میتواند مادی شود.
آزمون ماندگار، سیستم کنترل جایگزین است
حذف فایل مخرب، مسیر فوری شرح داده شده در گزارش حادثه را میبندد. سوال بلندمدت این است که چگونه تغییرات آینده کد تأیید میشوند، اسکریپتهای خارجی چه امتیازاتی را حفظ میکنند و فعالیتهای غیرعادی با چه سرعتی شناسایی میشوند.
یک سلسله مراتب منطقی در اینجا وجود دارد. جلوگیری از رسیدن یک اسکریپت غیر ضروری به یک صفحه حساس با شناسایی رفتار مخرب پس از شروع آن متفاوت است. هر دو میتوانند مفید باشند، اما نباید به عنوان حفاظتهای قابل تعویض در نظر گرفته شوند.
کاربران و طرفهای مقابل نیز از تسویه شفاف بازپرداختهای تکمیل شده و هرگونه اختلاف باقیمانده بهرهمند خواهند شد. یک حادثه ممکن است از نظر عملی حل و فصل شود در حالی که کار حسابداری ادامه دارد.
بهروزرسانی پلیمارکت اطلاعات ملموسی در مورد این وظایف مجزا ارائه میدهد. ارزیابی بعدی باید بر نتایج جبران خسارت تأیید شده و اثربخشی کنترلهای اصلاح شده تمرکز کند، بدون اینکه فرض شود تسویه بلاکچین به تنهایی کاربر را از تمام اجزای برنامه مورد استفاده برای دستیابی به آن محافظت میکند.



