أخبار عامةالعملات الرقمية

فريق أمان CoinEx : المخاطر الأمنية لسلسلة THORChain (RUNE)

thunderforex

 فريق أمان CoinEx : المخاطر الأمنية لسلسلة THORChain (RUNE)

في 1 أبريل ، أعلنت سلسلة THORChain رسميًا عن تقريرها المالي للربع الأول لعام 2022.، على الرغم من تأثير ظروف تباطؤ السوق المستمر والعوامل الجيوسياسية غير المستقرة للغاية ، فقد حققت السلسلة نموًا في الإيرادات. ووفقا البيانات العامة ، بلغت إيرادات THORChain 2.17 مليار دولار في الربع الأول من عام 2022.

سلسلةTHORChain ، التي اشتهرت بكونها “نسخة” عبر سلسلة من  UniSwap ، دخلت بنجاح في سوق التداول عبر السلاسل بالاعتماد على مزاياها الفريدة وحصلت على تقدير واسع بين المستثمرين.

وراء كل هذه لأنباء السارة ، عانت THORChain من الإختراق. حيث تعرضت السلسلة لانتهاكات أمنية متكررة منذ إطلاقها على شبكة الإثريوم Ethereum ، وهي حقيقة تلقي بظلال من الشك على نواحي أمنها.

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

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

ما مدى أمان سلسة THORChain (RUNE

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

للبدء ، دعنا نتحقق من كود عقد THORChain (RUNE):

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

يمكننا القول أن RUNE هو توكن من فئة ERC-20. و تجدر الإشارة إلى أنه بالاضافة إلي واجهة ERC-20 ، توفر سلسلة THORChain (RUNE) واجهة إضافية:

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

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

في هذه الحالة، msg.sender = account.address و tx.origin = account.address ،

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

ما يلي هو ما يحدث عندما يتصل الحساب بالعقد أ ، والعقد أ يتصل العقد ب:

فريق أمان CoinEx : المخاطر الأمنية لسلسلة THORChain (RUNE)

كما هو موضح أعلاه ، عندما يتصل العقد A بالعقد B ، يمكننا أن نقول: لا يوجد فرق بين msg.sender و tx.origin في العقد A.

ولكن ، في العقد B ، msg.sender = ContractA.address، بينما tx.origin = account.address. لذلك ، يشبه tx.origin متغيرًا شاملاً يجتاز مكدس الاتصال بالكامل ويعيد عنوان الحساب الذي أرسل المعاملة في الأصل. هذه هي المشكلة الرئيسية: حتى الآن ، جميع الهجمات المعروفة ضد سلسلة (THORChain (RUNE تقريبًا ترتبط بـ tx.origin.

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

 

الهجوم رقم 1: سرقة عنزة من القطيع

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

في ضوء خصائص tx.origin ، يمكن للمهاجم إنشاء عقد هجوم:

فريق أمان CoinEx : المخاطر الأمنية لسلسلة THORChain (RUNE)

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

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

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

يستخدم توكن AMP معيار ERC-1820 لإدارة تسجيل الخُطَّاف ( الرابط ) وفحص ما إذا كان الخُطَّاف مسجلاً عند كل عملية تحويل. فإذا تم تسجيله ،، فسيتم الاتصال بالخُطَّاف.

يوضح كود العقد الخاص بتوكن AMP أن التنفيذ النهائي للتحويل هو: _transferByPartition. في غضون ذلك ، هناك اتصالان يتضمنان TransferHook  : الأول ( قبل التحويل)   _callPreTransferHooks و الثاني (بعد التحويل) _callPostTransferHooks . على وجه الخصوص ، _callPreTransferHooks مُخصص لعنوان الراسل ، بينما _callPostTransferHooks خاص بعنوان المُستلم (أي عنوان الاستلام).

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

IAmpTokensRecipient(recipientImplementation).tokensReceived()

يمكننا أن نقول أن الاتصال الوحيد الذي يمكن للمهاجمين استغلاله هو

IAmpTokensRecipient(recipientImplementation).tokensReceived()

فيمايلي ، سنوضح كيف يمكن استخدام هذا الاتصال لتحويل توكن RUNE الخاص بالمُستخدم أثناء إجراء تحويل AMP Token.

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

فريق أمان CoinEx : المخاطر الأمنية لسلسلة THORChain (RUNE)

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

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

عنوان ERC-1820 :  0x1820a4B7618BdE71Dce8cdc73aAB6C95905faD24

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

و على وجه الخصوص، toAddr هو عنوان استلام تحويل AMP ،

interfaceHash هي هاش مستلم التوكن  AmpTokensRecipient:

0xfa352d6368bbc643bcf9d528ffaba5dd3e826137bc42f935045c6c227bd4c72a

المنفذ : هو عنوان الهجوم الذي تم الحصول عليه في الخطوة 2.

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

الهجوم رقم 3: رمي الطُعمْ

كما يوحي الأسم ، في هجوم رمي الطُعمْ الاحتيالي ، يُقدم المُهاجم مزايا لا تُصدق لإغراء المُستخدمين لتنفيذ عمليات تعاقد معينة. هنا ، يقوم بهجوم رمي الطُعمْ المعروف.

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

فريق أمان CoinEx : المخاطر الأمنية لسلسلة THORChain (RUNE)

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

الخطوة 3: يمنح توزيع مجاني  airdrops لجميع المستخدمين / العناوين حاملي رموز RUNE ؛

و هكذا ، يتم الانتهاء من العمل الأولي لهجوم رمي الطُعمْ الاحتيالي بشكل أساسي من خلال الخطوات المذكورة أعلاه. بعد ذلك ، يتعين على المهاجم فقط انتظار المستخدمين لبدء التداول على المبادلة ، وهنا ، يخاطر المستخدمون بفقدان توكنات RUNE بمجرد قيامهم بعمليات مثل الموافقة ، و التحويل ، وما إلى ذلك.

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

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

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

 في هذا الصدد ، يقدم فريق أمان CoinEx الاقتراحات التالية:

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

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

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

اترك تعليقاً

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

زر الذهاب إلى الأعلى
Open chat
الاعلان معنا في الموقع
تواصل معنا

أنت تستخدم مانع للإعلانات

يعتمد الموقع على الإعلانات من أجل دفع النفقات تعطيل مانع الإعلانات يساهم في تحسين جودة المحتوى شكرا