تم إدخال Bitcoin Core 32.0 في قائمة الإصدارات المرشحة للاختبار. تتعلق إحدى الإصلاحات بمشكلة أمان هذه المرة، وليست تسريبًا للمفتاح الخاص؛ بل إنها تقوم بتمكين العقد التي تستخدم walletnotify، والتي قد يتم تشغيلها بواسطة أسماء محافظ خاصة وقد تؤدي إلى تنفيذ أوامر نظامية.

لا يعتبر السيناريو معقدًا: مستخدم تمكّن من اجتياز مصادقة RPC، ويمتلك كذلك صلاحية إنشاء المحافظ، يقوم بتعيين اسم محفظة مُصاغ بشكل مُسبق. عند ظهور المعاملة ذات الصلة، سيقوم walletnotify تلقائيًا بتشغيل السكربت المحدد مسبقًا. إذا لم يتعامل البرنامج مع اسم المحفظة باعتباره نصًا عاديًا بشكل صارم، فقد تُفسَّر الأحرف الخاصة على أنها أوامر إضافية.

هذا لا يعني أن "Bitcoin قد تم اختراقها". يحتاج المهاجم أولًا إلى الحصول على صلاحيات RPC الخاصة بالعقد، كما يجب أن تكون walletnotify مفعلة في العقد. ومع ذلك، فإنه يكشف عن مسار هجوم غالبًا ما يُهمل: المعاملات على السلسلة ليست مشكلة، ولا يتم فقدان المفاتيح الخاصة، لكن الثغرة يمكن أن تتسلل عبر صلاحيات RPC واسم المحفظة ووفقًا لسكربتات نظام التشغيل حتى تصل إلى المضيف الخاص بالعقد.

في الإصدار 32.0 تم أيضًا تحسين تقدير الرسوم وقراءة بيانات الكتل. ستستفيد الطريقة الجديدة بشكل أكبر من المعاملات الآنية الموجودة في mempool، مما يجعل اقتراح الرسوم ينخفض بشكل أسرع بعد تراجع الازدحام؛ كما يمكن للعقد قراءة جزء من البيانات بشكل متوازٍ، لتسريع التحقق من الكتل والمزامنة.

عند تشغيل عقدة Bitcoin Core، لا تعرِض RPC مباشرةً على الإنترنت؛ وقم بتعطيل walletnotify غير الضرورية؛ واستخدم السكربتات التلقائية مع معاملات ثابتة وبأقل صلاحيات ممكنة للنظام. ينبغي اختبار الإصدار المرشح أولًا في دليل معزول، وعدم استبدال محافظ الإنتاج مباشرةً.

أمان العقد لا يتعلق فقط بالاتفاق (الكونسنس) والمفاتيح الخاصة، بل يعتمد أيضًا على واجهات وربط السكربتات وصلاحيات النظام التي تتصل بها.

#Bitcoin #أمن_المحافظ #أمن_العقد