المخاطر الأمنية لـ شبكة THORChain (RUNE) وكيفية تجنبها مقدمة من فريق أمان CoinEx

المخاطر الأمنية لـ شبكة THORChain (RUNE) وكيفية تجنبها مقدمة من فريق أمان CoinEx

وفقًا لتقرير شبكة THORChain (RUNE) للربع الأول من عام 2022 الصادر في 1 أبريل، سجلت الشبكة نمواً في الإيرادات على الرغم من التأثير السوق المستمر والعوامل الجيوسياسية غير المستقرة للغاية. وتُظهر البيانات العامة أن THORChain سجلت إيرادات بقيمة 2.17 مليار دولار في الربع الأول من عام 2022. واكتسبت شبكة THORChain (RUNE) التي اشتهرت بأنها نسخة عبر سلسلة من UniSwap، بأنها موطئ قدم في سوق التداول عبر السلاسل بالاعتماد على مزاياها الفريدة، كما أنها حصلت على تقدير واسع بين المستثمرين.

تعاني شبكة THORChain (RUNE) من الاختراقات الأمنية

وراء كل هذه النجاحات، تعاني شبكة THORChain (RUNE) أيضًا من المخترقين، فقد تعرضت السلسلة لانتهاكات أمنية متكررة منذ إطلاقها على اثيريوم، وهي حقيقة تشكك في مدى أمنها.

ففي 11 أبريل، غردت شبكة THORChain (RUNE) حول هجمات التصيد الاحتيالي، محذرة المستخدمين من التفاعل مع [DeTHOR] أو الرموز المميزة الأخرى غير المعروفة داخل محافظهم، الأمر الذي أثار مخاوف المستخدمين بشأن مشاكلها الأمنية.

المخاطر الأمنية لـ شبكة THORChain (RUNE) مقدمة من فريق أمان CoinEx

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

وذلك بهدف تحسين معايير الأمان لقطاع بلوكتشين، حيث قام فريق أمان CoinEx بتحليل المخاطر الأمنية لـ شبكة THORChain (RUNE). ويأمل الفريق أن تتمكن THORChain من ملاحظة المخاطر التالية والتخفيف من حدتها، من خلال تحسين رموز العقود الذكية ذات الصلة. بالإضافة إلى ذلك، تعد هذه المقالة أيضًا تحذيراً للمستخدمين، لتذكيرهم بأن يكونوا أكثر وعياً بأمان الأصول وتجنب خسائر الأصول.

 

ما مدى أمان شبكة THORChain (RUNE)؟

من خلال تحليل رمز العقد وآلية عمل شبكة THORChain (RUNE)، وجد فريق أمان CoinEx المخاطر التالية:

للبدء، دعنا نتحقق من رمز عقد شبكة THORChain (RUNE):

https://etherscan.io/address/0x3155ba85d5f96b2d030a4966af206230e46849cb

يمكننا أن نقول أن RUNE هو رمز مميز من معيار ERC-20، وبصرف النظر عن واجهة ERC-20 توفر شبكة THORChain (RUNE) واجهة إضافية:

المخاطر الأمنية لـ شبكة THORChain (RUNE) مقدمة من فريق أمان CoinEx

ووفقاً لـ TransferTo (كما هو موضح في الصورة أعلاه)، فأن شبكة THORChain (RUNE) تستخدم tx.origin، وهو أحد الأسباب الكامنة وراء مخاطر الأمان. وهنا يجب أن نشرح الفرق بين tx.origin و msg.sender:

توضح الصورة أدناه ما يحدث عندما يتصل العنوان العادي بالعقد الذكي:

المخاطر الأمنية لـ شبكة THORChain (RUNE) مقدمة من فريق أمان CoinEx

في مثل هذه الحالات يكون

msg.sender = account.address و tx.origin = account.address

مما يعني أن msg.sender هو نفسه tx.origin.

وفيما يلي ما يحدث عندما يقوم الحساب باستداعاء العقد A، والعقد A باستدعاء العقد B:

المخاطر الأمنية لـ شبكة THORChain (RUNE) مقدمة من فريق أمان CoinEx

عندما يستدعي العقد A العقد B (كما هو موضح أعلاه)، يمكننا أن نقول أن مرسل الرسالة يساوي tx.origin في العقد A.

ومع ذلك، في ContractB ، msg.sender = عنوان ContractA طالما أن tx.origin = عنوان العقد

ولذلك يشبه tx.origin متغيراً شاملاً يجتاز مكدس الاستدعاءات بالكامل، ويعيد عنوان الحساب الذي أرسل المعاملة في الأصل، وهذه هي المشكلة الرئيسية. وحتى الآن، ترتبط جميع الهجمات المعروفة تقريباً ضد شبكة THORChain (RUNE)  بـ tx.origin.

دعنا الآن نكتشف كيف يسرق المهاجمون رموز RUNE للمستخدمين من خلال tx.origin:

🔶 الهجوم رقم 1: سرقة جزء من الكل 

يتم تقسيم العناوين الموجودة على Ethereum إلى عناوين خارجية وعناوين عقود. يختلف نقل ETH إلى هذين النوعين من العناوين اختلافاً جوهرياً. وتنص الوثائق الرسمية ل solidity على أن عنوان العقد يجب أن ينفذ وظيفة استلام إيثر قبل إجراء التحويلات.

وفي ضوء ميزات tx.origin، يتمكن القراصنة إنشاء عقد هجوم:

المخاطر الأمنية لـ شبكة THORChain (RUNE) مقدمة من فريق أمان CoinEx

وعندما يتلقى عقد الهجوم تحويل ETH من مستخدم، فإنه يسرق جزء من الكل، ويقوم العقد بسرقة رموز RUNE الخاصة بالمستخدم في هذه العملية.

🔶 الهجوم رقم 2: هجوم داخلي

الهجوم الداخلي هو نوع خاص من أنواع هجوم القراصنة. عند محاولة سرقة RUNE للمستخدم من خلال هجوم داخلي، يجب أن يمتلك المخترق رمزاً مميزاً للوسيط. بالإضافة إلى ذلك، يجب أن يستدعي الرمز أيضًا عقود الطرف الثالث.

ووفقًا لسجلات نقل RUNE على Ethereum، فقد اخترق بعض المهاجمين RUNE من خلال عمليات نقل AMP Token.

حيث تستخدم AMP Token بمعيار ERC-1820 لإدارة تسجيل Hook وفحص ما إذا كان Hook مسجلاً عند كل عملية نقل. إذا تم تسجيل Hook، فسيتم استدعاء Hook.

يوضح رمز العقد الخاص برمز AMP أن التنفيذ النهائي للنقل هو: _transferByPartition.

وفي غضون ذلك، هناك مكالمتان تتضمنان TransferHook:

  • _callPreTransferHooks (قبل النقل)
  • _callPostTransferHooks (بعد التحويل)

على وجه الخصوص، فإن _callPreTransferHooks مخصص لعنوان الاستقبال، بينما _callPostTransferHooks وهو لعنوان الاستلام (to).

بالنسبة للمستخدمين العاديين، فإن سرقة الرموز المميزة بمساعدتهم أمر لا مهرب منه. لذلك، قد يستغل المهاجمون _callPostTransferHooks.

والآن دعنا الآن نتحقق من أكواد _callPostTransferHooks.

المخاطر الأمنية لـ شبكة THORChain (RUNE) مقدمة من فريق أمان CoinEx

كيفية تحويل RUNE أثناء تحويل رمز AMP

يمكننا أن نقول أن رد الاتصال الوحيد الذي يمكن للمهاجمين استغلاله هو IAmpTokensRecipient (تطبيق المتلقي).

وبعد ذلك، سنوضح كيف يمكن استخدام هذه الطريقة لتحويل RUNE للمستخدم أثناء إجراء تحويل رمز AMP

الخطوة 1: مطلوب عقد اتصال (كما هو موضح أدناه):

المخاطر الأمنية لـ شبكة THORChain (RUNE) مقدمة من فريق أمان CoinEx

الخطوة 2: نشر العقد للحصول على عنوان الهجوم.

الخطوة 3: اتصل بواجهة عقد ERC-1820 (setInterfaceImplementer) لتسجيل الواجهة.

ERC-1820 Address: 0x1820a4B7618BdE71Dce8cdc73aAB6C95905faD24

واجهة العقد: setInterfaceImplementer (العنوان  toAddr، واجهة هاش 32 بايت، عنوان المنفذ)

  • toAddr هو عنوان استلام تحويل AMP.
  • واجهة الهاش هي معدل الهاش في AmpTokensRecipient:
    0xfa352d6368bbc643bcf9d528ffaba5dd3e826137bc42f935045c6c227bd4c72a
  • عنوان المنفذ هو عنوان الهجوم الذي تم الحصول عليه في الخطوة 2.

الخطوة 4: قم باقناع المستخدم بنقل AMP إلى toAddr لتشغيل رد اتصال، وسرقة RUNE الخاص به في نفس الوقت.

🔶 الهجوم رقم 3: هجوم التصيد

في هجوم التصيد الاحتيالي، يقوم المهاجم بإعطاء وعود عن فوائد لا تصدق لجذب المستخدمين إلى القيام بعمليات معينة. وهنا سنشرح هجوم تصيد شائع.

الخطوة 1: يُصدر المهاجم رمزاً مميزاً ERC-20، وقد يكتبه في أي واجهة عقد تتضمن توقيعات.

المخاطر الأمنية لـ شبكة THORChain (RUNE) مقدمة من فريق أمان CoinEx

الخطوة 2: يقوم بإنشاء زوج تداول على Uniswap أو أي منصة لا مركزية أخرى.

الخطوة 3: إطلاق ايردروب لجميع المستخدمين أو العناوين التي لديها رموز RUNE.

وبعد ذلك، يتعين على المهاجم فقط انتظار المستخدمين للتداول على المنصة، وبعدها سيفقد المستخدمون RUNE الخاصة به بمجرد قيامهم بعمليات مثل الموافقة، والنقل وغيرها.

 

كيف ينبغي لفريق المشروع تحسين رمز العقد لجعله أكثر أماناً وحماية لأصول المستخدمين؟

الجواب الوحيد هو توخي الحذر بشأن استخدام tx.origin.

كيف يمكن للمستخدمين العاديين التخفيف من المخاطر وحماية أصولهم في مواجهة الهجمات التي لا يمكن تجنبها؟

يقدم فريق أمان CoinEx الاقتراحات التالية:

  1. للهجوم رقم 1: عند إجراء التحويل، تتبع استهلاك الغاز المقدر، وبالنسبة إلى تحويل ETH المنتظم، فإن رسوم الغاز البالغة 21000 أكثر من كافية. لذلك كن حذراً إذا كان استهلاك الغاز يتجاوز هذا الرقم بكثير.
  2. للهجوم رقم 2: عزل الرموز المميزة الخاصة بك عن طريق اعتماد محافظ مختلفة، حيث يمكنك تخزين رموز مختلفة في عناوين مختلفة. ويجب الحذر عندما يتعلق الأمر بعنوان المحفظة الساخنة في المنصات.
  3.  للهجوم رقم 3:  لا تشارك بشكل أعمى في أي ايردروب.

لطالما كان الأمن مصدر قلق كبير في مجال بلوكتشين، وللحفاظ على الرموز أمنة يجب على فرق المشروع والمنصات، إعطاء الأولوية للأمان أثناء تشغيل المشروع، والحفاظ على أصول المستخدمين آمنة، ويجب على المستخدمين اتباع تدابير الأمان، مما يساهم في تعزيز النمو صناعة البلوكتشين بشكل مشترك.

 

اقرأ المزيد:

https://satoshiat.com/%d8%aa%d8%b7%d8%a8%d9%8a%d9%82-stepn/

https://satoshiat.com/%d8%ae%d8%af%d9%85%d8%a9-coinex-dock/

https://satoshiat.com/%d8%aa%d8%af%d8%a7%d9%88%d9%84-%d8%a7%d9%84%d8%b9%d9%82%d9%88%d8%af-%d8%a7%d9%84%d8%a2%d8%ac%d9%84%d8%a9-%d8%b9%d9%84%d9%89-coinex/

https://satoshiat.com/%d8%b1%d8%b3%d9%88%d9%85-%d8%ae%d8%af%d9%85%d8%a9-%d8%aa%d8%af%d8%a7%d9%88%d9%84-%d8%a7%d9%84%d8%b9%d9%82%d9%88%d8%af-%d8%a7%d9%84%d8%a2%d8%ac%d9%84%d8%a9/

 

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *