الكشف عن سرقة ضخمة: أداة الراحة تتحول إلى قاتلة حيث يستولي المتسللون على 270 مليون دولار من الانجراف على Solana Blockchain

لم يكن الهجوم على Drift Protocol بمثابة اختراق بالمعنى التقليدي.
لم يعثر أحد على خطأ أو قام بكسر مفتاح خاص. لم يكن هناك استغلال للقرض السريع أو التلاعب بأوراكل أيضًا.
وبدلاً من ذلك، استخدم أحد المهاجمين ميزة Solana المشروعة، "الأشياء غير الدائمة"، لخداع مجلس أمن Drift للموافقة المسبقة على المعاملات التي سيتم تنفيذها بعد أسابيع، في وقت وفي سياق لم يقصده الموقعون أبدًا.
وكانت النتيجة استنزاف ما لا يقل عن 270 مليون دولار واستغرق تنفيذه أقل من دقيقة ولكن إعداده استغرق أكثر من أسبوع.
ما هي الأشياء غير الدائمة ولماذا توجد؟
في Solana، تتضمن كل معاملة "blockhash حديثة"، وهو في الأساس طابع زمني يثبت أن المعاملة قد تم إنشاؤها مؤخرًا. تنتهي صلاحية blockchain بعد حوالي 60 إلى 90 ثانية. إذا لم يتم إرسال المعاملة إلى الشبكة خلال تلك النافذة، فإنها تصبح غير صالحة. هذه ميزة أمان وتساعد على منع إعادة تشغيل المعاملات القديمة التي لا معنى لها لاحقًا.
تتجاوز الأرقام المتينة ميزة الأمان هذه. إنهم يستبدلون blockchain منتهية الصلاحية بـ "nonce" الثابت، وهو رمز لمرة واحدة يتم تخزينه في حساب خاص على onchain، والذي يبقي المعاملة صالحة إلى أجل غير مسمى حتى يختار شخص ما إرسالها.
الميزة موجودة لأسباب مشروعة. تحتاج محافظ الأجهزة، وإعدادات التوقيع دون اتصال بالإنترنت، وحلول الحفظ المؤسسي، إلى القدرة على إعداد المعاملات والموافقة عليها دون الاضطرار إلى إرسالها في غضون 90 ثانية.
لكن المعاملات الصالحة إلى أجل غير مسمى تخلق مشكلة. إذا تمكن شخص ما من إقناع شخص ما بالتوقيع على معاملة اليوم، فيمكن تنفيذها الأسبوع المقبل أو الشهر المقبل، وفقًا لقواعد النظام المضمنة. لا يملك الموقع أي طريقة لإلغاء موافقته بمجرد منحها، ما لم يتم تقديم حساب nonce يدويًا، وهو ما لا يراقبه معظم المستخدمين.
كيف استخدمها المهاجم
كان بروتوكول Drift محكومًا بـ "Security Council multisig"، وهو نظام يتقاسم فيه عدة أشخاص (في هذه الحالة، خمسة) السيطرة، وأي إجراء يتطلب موافقة اثنين منهم على الأقل. تعد Multisigs ممارسة أمنية قياسية في DeFi، حيث تتمثل الفكرة في أن المساس بشخص واحد لا يكفي لسرقة الأموال.
لكن المهاجم لم يكن بحاجة إلى اختراق مفاتيح أي شخص. كل ما احتاجوه هو توقيعان، ويبدو أنهم حصلوا عليهما من خلال ما يصفه Drift بـ "الموافقات على المعاملات غير المصرح بها أو المشوهة"، مما يعني أن الموقعين اعتقدوا على الأرجح أنهم يوافقون على معاملة روتينية.
إليكم الجدول الزمني Drift الذي تم نشره في منشور الخميس X.
في 23 مارس، تم إنشاء أربعة حسابات غير دائمة. اثنان كانا مرتبطين بأعضاء شرعيين في مجلس أمن الانجراف. تم السيطرة على اثنين من قبل المهاجم. وهذا يعني أن المهاجم قد حصل بالفعل على توقيعات صالحة من اثنين من أعضاء المجلس الخمسة، مقيدين بمعاملات غير دائمة لن تنتهي صلاحيتها.
في 27 مارس، نفذت Drift عملية ترحيل مخططة لمجلس الأمن لمبادلة أحد أعضاء المجلس. المهاجم تكيف. بحلول 30 مارس، ظهر حساب nonce دائم جديد، مرتبط بعضو multisig المحدث، مما يشير إلى أن المهاجم قد أعاد الحصول على عتبة الموافقة المطلوبة البالغة اثنين من خمسة بموجب التكوين الجديد.
وفي 1 أبريل/نيسان، تم إعدام المهاجم.
أولاً، أجرت شركة Drift عملية سحب تجريبية مشروعة من صندوق التأمين الخاص بها. وبعد دقيقة واحدة تقريبًا، قدم المهاجم معاملات nonce الدائمة الموقعة مسبقًا. كانت معاملتان، أربع فتحات متباعدة على blockchain Solana، كافية لإنشاء والموافقة على نقل مسؤول ضار، ثم الموافقة عليه وتنفيذه.
وفي غضون دقائق، أصبح لدى المهاجم سيطرة كاملة على أذونات مستوى بروتوكول Drift. لقد استخدموا تلك السيطرة لإدخال آلية سحب احتيالية واستنزاف الخزائن.
ماذا اخذ وأين ذهب
قام باحثو Onchain بتتبع تدفقات الأموال في الوقت الفعلي. بلغ إجمالي الأصول المسروقة، التي جمعها الباحث الأمني فلاديمير إس، حوالي 270 مليون دولار عبر عشرات من الرموز المميزة.
كانت أكبر فئة منفردة هي 155.6 مليون دولار في رموز JPL، تليها 60.4 مليون دولار في USDC، و11.3 مليون دولار في CBBTC (Coinbase ملفوفة بيتكوين)، و5.65 مليون دولار في USDT، و4.7 مليون دولار في الأثير المغلف، و4.5 مليون دولار في DSOL، و4.4 مليون دولار في WBTC، و4.1 مليون دولار في FARTCOIN، ومبالغ أصغر عبر JUP وJITOSOL وMSOL. BSOL، EURC، وغيرها.
تم تمويل محفظة التجفيف الأساسية قبل ثمانية أيام من الهجوم عبر نوايا بروتوكول NEAR ولكنها ظلت غير نشطة حتى يوم التنفيذ. تم تحويل الأموال المسروقة إلى محافظ وسيطة تم تمويلها في اليوم السابق عبر حقيبة الظهر، وهي عبارة عن بورصة عملات مشفرة لامركزية تتطلب التحقق من الهوية، مما قد يعطي المحققين زمام المبادرة.
ومن هناك، انتقلت الأموال إلى عناوين إيثريوم عبر Wormhole، وهو جسر عبر السلسلة. وقد تم تمويل عناوين إيثريوم هذه مسبقًا باستخدام تورنادو كاش، وهو خلاط الخصوصية المعتمد.
أشار ZachXBT، وهو محقق بارز في مجال onchain، إلى أنه تم تحويل أكثر من 230 مليون دولار أمريكي من عملة USDC من Solana إلى Ethereum عبر CCTP (بروتوكول النقل عبر السلسلة) الخاص بـ Circle عبر أكثر من 100 معاملة.
وانتقد سيركل، المُصدر المركزي لعملة USDC،