هذه المقالة من إسهامات المجتمع. وقد كتبها مينزي هي، وهو مُدقِق في شركة سيرتك.
الآراء والأفكار المطروحة في هذه المقالة تُمثل المؤلف/الكاتب ولا تعكس بالضرورة آراء أكاديمية Binance.
الموجز
لجسور الربط بين سلاسل بلوكشين أهمية بالغة في تحقيق التوافق التشغيلي على مستوى منظومة البلوكشين بأكملها. لذلك، فإن أمن هذه الجسور ذو أهمية قصوى. وتشمل الثغرات الأمنية الشائعة في جسور الربط ضعف التدقيق على السلسلة وخارجها، والتعامل غير الصحيح مع الرموز المميزة الأصلية، والتكوينات الخاطئة. ويُوصَى باختبار الجسور للتحقق من مقاومتها لكل مصادر التهديد المحتملة من أجل ضمان اتباع منطق تحقق سليم.
المقدمة
جسر الربط بين سلاسل البلوكشين هو بروتوكول يتيح الربط بين سلسلتي بلوكشين بهدف تمكين المستخدمين من إجراء العمليات بينهما. فلو افترضنا أن لديك عملات بيتكوين وترغب في المشاركة في أحد أنشطة التمويل اللامركزي على شبكة إيثريوم، فإن جسر الربط بين سلاسل البلوكشين سيتيح لك فعل ذلك دون الحاجة إلى بيع عملات البيتكوين التي بحوزتك.
وتلعب جسور الربط بين سلاسل بلوكشين دورًا أساسيًّا في تحقيق التوافق التشغيلي على مستوى منظومة البلوكشين بأكملها. وتعمل هذه الجسور عن طريق العديد من عمليات التصديق على السلسلة وخارجها، ومن ثم فإنها تنطوي على ثغرات أمنية مختلفة.
ما سبب الأهمية البالغة لجسور الربط؟
في العادة، جسر الربط هو الذي يحمل الرمز المميز الذي يريد المستخدم تحويله من سلسلة إلى أخرى. وتُستخدَم الجسور غالبًا بوصفها عقود ذكية، وتحمل كمية كبيرة من الرموز المميزة مع تراكم التحويلات بين السلاسل، ما يجعلها أهدافًا مُربِحة للمخترقين.
علاوة على ذلك، تتضمن جسور الربط بين سلاسل البلوكشين مساحة هجوم كبيرة نظرًا لاحتوائها على الكثير من المكونات. ومع وضع ذلك في الاعتبار، يكون لدى أصحاب النوايا السيئة دوافع قوية لاستهداف التطبيقات بين السلاسل للاستيلاء على مبالغ كبيرة من الأموال.
وقد أسفرت الهجمات على جسور الربط عن خسائر تزيد عن 1.3 مليار دولار أمريكي في عام 2022، وهو ما يمثِّل 36% من إجمالي خسائر ذلك العام، وفقًا لتقديرات شركة CertiK.
الثغرات الأمنية الشائعة في جسور الربط
لضمان أمان جسور الربط، من الضروري فهم الثغرات الأمنية الشائعة التي تتعرض لها هذه الجسور واختبارها لمعرفة مدى مقاومتها لها قبل إطلاقها. ويمكن تصنيف هذه الثغرات إلى الأنواع الأربعة التالية.
ضعف التدقيق على السلسلة
في حالة الجسور البسيطة، لا سيما تلك المُصمَمة لتطبيقات لامركزية معينة، يكون التدقيق على السلسلة في أدنى حد له. وتعتمد هذه الجسور على واجهة خلفية مركزية لتنفيذ العمليات الأساسية، مثل التعدين والحرق وتحويل الرموز المميزة، مع إجراء كل عمليات التحقق خارج السلسلة.
في المقابل، تستخدم أنواع أخرى من الجسور العقود الذكية لتدقيق الرسائل وإجراء عمليات التحقق خارج السلسلة. في هذه الحالة، عندما يُودِع مستخدم أموالًا في السلسلة، يُنتِج العقد الذكي رسالة مُوقَّعة ويُعيد التوقيع في المعاملة. ويُحفَظ هذا التوقيع كدليل على الإيداع، ويُستخدَم للتحقق من طلب السحب الذي قدَّمه المستخدم على سلسلة أخرى. ومن المفترض أن تمنع هذه العملية الهجمات الأمنية المختلفة، بما في ذلك هجمات إعادة التشغيل وسجلات الإيداع المُزوَّرة.
لكن إذا حدثت ثغرة أثناء عملية التدقيق على السلسلة، فيمكن أن يتسبب المهاجم في أضرار جسيمة. على سبيل المثال، إذا كان الجسر يستخدم شجرة Merkle للتدقيق في سجل المعاملات، فيمكن أن يُنتِج المهاجم أدلة مُزوَّرة. هذا يعني أن بإمكان المهاجم تجاوز التدقيق في صحة الدليل وسك رموز مميزة جديدة وإضافتها إلى حسابه، إذا كانت عملية التدقيق بها ثغرات.
تُطبِّق بعض الجسور مفهوم "الرموز المميزة المربوطة." على سبيل المثال، عندما يُحوِّل مستخدم رموز DAI من شبكة إيثريوم إلى سلسلة BNB، فإن رموز DAI تُؤخَذ من عقد Ethereum وتَصدُر كمية مساوية من رموز DAI المربوطة على سلسلة BNB.
لكن إذا لم يتم التدقيق في هذه المعاملة كما ينبغي، يمكن لأي مهاجم نشر عقد ضار لتوجيه الرموز المميزة المربوطة من الجسر إلى عنوان غير صحيح عن طريق التلاعب في الوظيفة.
يحتاج المهاجمون أيضًا إلى أن يوافق الضحايا على عقد الجسر لتحويل الرموز المميزة باستخدام الدالة "transferFrom" بهدف الاستيلاء على الأموال من عقد الجسر.
ولسوء الحظ، يزداد الأمر سوءًا نظرًا لأن الكثير من الجسور تطلب موافقة غير محدودة للوصول إلى الرموز المميزة من مستخدمي التطبيقات اللامركزية. وهذه ممارسة شائعة تقلل من رسوم التحويل على الشبكة، لكنها تتسبب في مخاطر إضافية عن طريق السماح للعقود الذكية بالوصول إلى عدد غير محدود من الرموز المميزة من محفظة المستخدم. ويستطيع المهاجمون استغلال نقص التدقيق والزيادة المفرطة في الموافقة في تحويل الرموز المميزة من مستخدمين آخرين إلى أنفسهم.
ضعف التدقيق خارج السلسلة
في بعض أنظمة جسور الربط، يلعب الخادم الخلفي خارج السلسلة دورًا محوريًّا في التحقق من شرعية الرسائل المُرسَلة من سلسلة البلوكشين. ونحن في هذه الحالة نركز على التحقق من معاملات الإيداع.
يعمل جسر الربط بين سلاسل البلوكشين الخاضع للتدقيق خارج السلسلة على النحو التالي:
يتفاعل المستخدمون مع التطبيق اللامركزي لإيداع الرموز المميزة في العقد الذكي على سلسلة المصدر.
بعد ذلك، يرسل التطبيق اللامركزي تجزئة معاملة الإيداع إلى الخادم الخلفي عن طريق واجهة برمجة التطبيق.
تخضع تجزئة المعاملة للعديد من عمليات التدقيق التي يجريها الخادم. وفي حالة اعتبارها قانونية، يُوقِّع مُوقِّعٌ رسالة ويرسل التوقيع إلى واجهة المستخدم عن طريق واجهة برمجة التطبيق.
عند تلقي التوقيع، يتحقق التطبيق اللامركزي من صحته ويسمح للمستخدم بسحب الرموز المميزة من السلسلة المستهدفة.
يجب أن يضمن الخادم الخلفي أن معاملة الإيداع التي يعالجها قد حدثت بالفعل وليست مزورة. ويحدد هذا الخادم الخلفي ما إذا كان بإمكان المستخدم سحب الرموز المميزة على السلسلة المستهدفة، ومن ثم ما إذا كان هدفٌ عالي القيمة للمهاجمين.
يحتاج الخادم الخلفي إلى التدقيق في بنية الحدث الناتج عن المعاملة، وكذلك في عنوان العقد الناتج عن الحدث. وفي حالة تجاهل التدقيق الأخير، يمكن لأي مهاجم نشر عقد ضار لتزوير حدث إيداع بنفس البنية بوصفه حدث الإيداع المشروع.
إذا لم يتحقق الخادم الخلفي من العنوان الذي نتج عنه الحدث، فسيعتبر ذلك معاملة صحيحة ويُوقِّع الرسالة. وحينئذٍ يمكن للمهاجم إرسال تجزئة المعاملة إلى الواجهة الخلفية، وتجاوز التدقيق، ما يسمح له بسحب الرموز المميزة من السلسلة المستهدفة.
التعامل غير الصحيح مع الرموز المميزة الأصلية
تتبع جسور الربط أساليب مختلفة في التعامل مع الرموز المميزة الأصلية ورموز الخدمة. على سبيل المثال، الرمز المميز الأصلي على شبكة إيثريوم هو ETH، ومعظم رموز الخدمة تلتزم بمعيار ERC-20.
عندما ينوي مستخدم تحويل رموز ETH إلى سلسلة أخرى، ينبغي عليه أولًا إيداعها في عقد الجسر. ولتحقيق ذلك، يربط المستخدم ببساطة رموز ETH بالمعاملة، ويمكن استرجاع كمية رموز ETH عن طريق قراءة حقل "msg.value" (قيمة الرسالة) في المعاملة.
يختلف إيداع رموز ERC-20 اختلافًا كبيرًا عن إيداع ETH. فلإيداع رمز ERC-20، يجب على المستخدم أن يسمح أولًا لعقد الجسر بأن ينفق رموزه المميزة. وبعد أن يوافق المستخدم على ذلك ويودِع الرموز المميزة في عقد الجسر، يحرق الجسر رموز المستخدم باستخدام دالة "burnFrom()" (حرق من ()) أو يحوّل هذه الرموز إلى العقد باستخدام دالة "transferFrom()" (تحويل من ()).
من الأساليب التي يمكن اتباعها لتمييز ذلك استخدام عبارة "إذا-بخلاف ذلك" داخل الدالة نفسها. وثمة أسلوب آخر، وهو إنشاء دالتين منفصلتين للتعامل مع كل حالة. فمحاولة إيداع رموز ETH باستخدام دالة إيداع رموز ERC-20 يمكن أن تؤدي إلى خسارة هذه الأموال.
عند التعامل مع طلبات إيداع رموز ERC-20، يُقدِّم المستخدمون عادةً عنوان الرمز المميز كمُدخَل في دالة الإيداع. وينطوي على ذلك خطرًا كبيرًا نظرًا لإمكانية حدوث استدعاءات خارجية أثناء المعاملة. ومن الممارسات الشائعة للحد من هذا الخطر استخدام قائمة بيضاء تتضمن فقط الرموز المميزة المدعومة من الجسر. ولا يُسمَح سوى للعناوين المدرجة في القائمة البيضاء بأن تُمرَر كبراهين. ويمنع ذلك الاستدعاءات الخارجية نظرًا لأن فريق المشروع يكون قد قام بالفعل بتصفية عنوان الرمز المميز.
رغم ذلك، يمكن أن تنشأ مشكلات عندما تتعامل الجسور مع تحويل الرموز المميزة الأصلية بين السلاسل، لأن الرمز المميز الأصلي ليس له عنوان. ويُمثِّل العنوان الصفري (0x000...0) الرمز المميز. ويمكن أن يسفر ذلك عن مشكلات لأن تمرير العنوان الصفري كدالة يمكن أن يتخطى عملية تحقق القائمة البيضاء حتى وإن طُبِق على نحو غير صحيح.
عندما يستدعي عقد الجسر دالة “transferFrom” (تحويل من) لتحويل أصول المستخدم إلى العقد، يكون الاستدعاء الخارجي إلى العنوان الصفري خاطئًا نظرًا لأنه لا توجد دالة “transferFrom” مُطبَّقة في العنوان الصفري. ومع ذلك، يظل من الممكن أن تحدث المعاملة إذا لم يتعامل العقد مع قيمة الإرجاع على نحو صحيح. ويتيح ذلك الفرصة للمهاجمين لتنفيذ المعاملة دون تحويل أي رموز إلى العقد.
التكوين الخاطئ
في معظم جسور الربط بين سلاسل البلوكشين، يتحمل دور مميز مسؤولية إعداد قوائم بيضاء أو سوداء بالرموز المميزة والعناوين، وتعيين الموقِّعين أو تغييرهم، وغيرها من التكوينات الأخرى المهمة. وضمان دقة كل عمليات التكوين أمرٌ بالغ الأهمية لأنه حتى الهفوات التي قد تبدو بسيطة يمكن أن تسفر عن خسائر فادحة.
في الواقع، نجح مهاجم مرة في تجاوز عملية التحقق من سجل التحويلات بسبب خطأ في التكوين، إذ كان فريق المشروع قد طبَّق ترقية للبروتوكول قبل بضعة أيام من الاختراق، وتضمنت هذه الترقية تغيير مُتغير. وكان هذا المتغير يُستخدَم لتمثيل القيمة الافتراضية للرسالة الموثوقة. وأدى التغيير الذي أجراه الفريق إلى إلى اعتبار كل الرسائل مثبتة تلقائيًّا، ما سمح للمهاجم بإرسال رسالة عشوائية وتجاوز عملية التحقق.
كيفية تحسين أمن جسور الربط
توضح الثغرات الأربع الشائعة في جسور الربط الموضحة أعلاه التحديات التي تحول دون ضمان الأمن في منظومات سلاسل البلوكشين المترابطة. وتوجد اعتبارات مهمة للتعامل مع كل من هذه الثغرات، ولا تنطبق إرشادات واحدة عليها كلها.
على سبيل المثال، يُعَد تقديم إرشادات عامة لضمان سير عملية التحقق دون أخطاء أمرًا صعبًا لأن كل جسر له متطلبات تحقق فريدة خاصة به. والنهج الأكثر فعالية لمنع تجاوز عملية التحقق هو اختبار الجسر بدقة لمعرفة مدى مقاومته لكل مصادر التهديد المحتملة والتأكد من سلامة منطق عملية التحقق.
لتلخيص ما سبق، من الضروري إجراء اختبار دقيق لمعرفة مدى المقاومة للهجمات المحتملة وإيلاء اهتمام خاص لأكثر الثغرات الأمنية شيوعًا في الجسور.
أفكار ختامية
ونظرًا إلى أنّ جسور الربط تتمتع بين السلاسل بقيمة عالية، فكانت دائمًا هدفًا للمهاجمين. ويمكن لمطوري هذه الجسور تعزيز أمنها عن طريق إجراء اختبار دقيق قبل النشر والمشاركة في عمليات تدقيق تجريها أطراف خارجية، ما يقلل من خطر الاختراقات المدمرة التي عانت منها جسور الربط على مدار السنوات القليلة الماضية. فللجسور أهمية بالغة في عالم السلاسل المتعددة، لكن الأمن يجب أن يكون من الأولويات عند تصميم بنية تحتية فعالة للويب 3 وبنائها.
مقالات ذات صلة
ما المقصود بجسور الربط بين سلاسل بلوكشين؟
ما هو التوافق التشغيلي بين سلاسل البلوكشين؟
جسور العملات الرقمية الثلاثة الشهيرة وكيفية عملها
ما هي الرموز المميزة المربوطة؟
إخلاء المسؤولية وتحذير المخاطر: يُعرض هذا المحتوى لك "كما هو" بهدف تقديم معلومات عامة وللأغراض التعليمية فقط، دون أي إقرارات أو ضمانات من أي نوع. ولا ينبغي تفسيره على أنه نصيحة مالية أو قانونية أو مشورة مهنية، ولا يُقصد به التوصية بشراء أي منتج أو خدمة بعينها. ويجب عليك طلب مشورة خاصة من الاستشاريين المهنيين المناسبين. في حالة كانت المقالة مقدمة من طرف خارجي، يُرجى العلم أن عدد المشاهدات خاص بهذا الطرف الخارجي ولا يعكس بالضرورة عدد المشاهدات على أكاديمية Binance. يُرجى قراءة إخلاء المسؤولية بالكامل هنا للمزيد من التفاصيل. قد تتعرض الأصول الرقمية لتقلبات الأسعار. وقد تزداد قيمة استثمارك أو تنخفض، بل وقد لا تسترد المبلغ الذي استثمرته. وتتحمل وحدك مسؤولية قراراتك الاستثمارية ولا تتحمل أكاديمية Binance مسؤولية أي خسائر قد تتكبدها. ولا يجب تفسير هذه المقالة على أنها نصيحة مالية أو قانونية أو مشورة مهنية. للمزيد من المعلومات، يُرجى الاطلاع على شروط الاستخدام وتحذير المخاطر.