المؤلف: Salus Insights
هناك عدد كبير من المخاطر الأمنية في مجال التمويل اللامركزي (DeFi)، والتي قد تسبب ضررًا جسيمًا للمستخدمين والمنصات والنظام البيئي المالي بأكمله. لقد لخصنا ثلاثة أنواع من المخاطر الأمنية لـ DeFi، وشرحنا عملية هجمات القراصنة والاستجابات المقابلة لها من خلال تحليل الحوادث الأمنية الحقيقية الأخيرة. الحل.
1. مخاطر التلاعب بالأسعار
في DeFi ، تشير مخاطر التلاعب بالأسعار إلى الجهات الفاعلة الخبيثة التي تحاول الربح أو التأثير على السوق من خلال التلاعب بسعر الأصل. مثل هذا التلاعب قد يؤدي إلى تغيرات غير طبيعية في أسعار السوق ويتسبب في خسائر للمشاركين الآخرين. نلخص أدناه ثلاثة مواقف قد تحدث فيها مخاطر التلاعب بالأسعار في التمويل اللامركزي:
هجوم الإعارة الخاطف
هجوم الساندويتش
هجوم أوراكل
1.1 هجوم القروض السريعة
هجوم القروض الفلاش هو أسلوب هجوم يظهر في تطبيقات التمويل اللامركزي. إنها تستفيد من القروض السريعة، وهي عملية مالية تسمح لك باقتراض الأموال دون تقديم ضمانات. استعار المهاجم مبالغ كبيرة من الأموال من خلال القروض السريعة وأجرى سلسلة من العمليات في نفس المعاملة لارتكاب عمليات احتيال.
ShidoGlobal هجوم القروض السريع
في 23 يونيو 2023، وقع هجوم قرض سريع من ShidoGlobal على BSC (Binance Smart Chain). حقق المهاجم تحكيمًا رمزيًا من خلال آلية القفل والمطالبة، بالإضافة إلى فرق السعر بين المجموعتين، ونجح في سرقة 976 WBNB.
هجوم تكساس:
https://explorer.phalcon.xyz /tx/bsc/0x72f8dd2bcfe2c9fbf0d933678170417802ac8a0d8995ff9a56bfbabe3aa712d6
كيف ينفذ المهاجم هجوم القروض السريعة؟


عندما يستدعي مهاجم وظيفة lockTokens في عقد ShidoLock، فإنه سيفعل ذلك 10,436, 972, 685.676390697 Shido Inu: رموز SHIDO مقفلة في العقد. وهذا يعني أنه لا يمكن نقل هذه الرموز أو تداولها حتى يتم استيفاء شروط معينة. من خلال قفل الرمز المميز، يمكن للمهاجم الحفاظ على استقرار سعر الرمز المميز إلى حد معين.
يقوم المهاجم باستدعاء وظيفةclaimTokens لتحويل الرموز المميزة المقفلة إلى 10, 436, 986, 704, 133, 494, 387, 000, 000, 000 SHIDO الرموز. تؤدي هذه الخطوة فعليًا إلى زيادة عدد المنازل العشرية لرمز SHIDO المميز من 9 إلى 18 رقمًا، مما يزيد من إجمالي عرض الرمز المميز.

من خلال قفل الآلية والمطالبة بها، يوجد فرق في السعر بين تجمع PancakeSwapV2: SHIDO-WBNB وتجمع PancakeSwapV2:SHIDO28. على وجه التحديد، انخفض السعر بسبب زيادة المعروض من رموز SHIDO في مجموعة PancakeSwap V2: SHIDO-WBNB. في PancakeSwapV2: SHIDO 28 pool، السعر مرتفع نسبيًا لأن العرض لم يزد. استغل المهاجم فرق السعر هذا لمبادلة العملات بين المجموعتين، ونقل 10، 436، 986، 704، 133، 494، بسعر أفضل. 387,000,000,000 رمز SHIDO ( 18 منزلة عشرية) تم استبدالها بـ 1,016 WBNB.


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

في أعلاه نموذج التعليمات البرمجية، قمنا بوضع بعض القيود للحد من استخدام وظيفة القرض السريع، مثل الحد الأدنى لمبلغ القرض والحد الأقصى لمبلغ القرض ووقت القرض. قبل إجراء عملية القرض السريع، نقوم أولاً بحساب وتحصيل نسبة معينة من رسوم المناولة.
1.2 هجوم الساندويتش
هجوم الساندويتش هو أحد أساليب الهجوم التي تستغل المعلومات عدم التماثل في التبادلات اللامركزية (DEX). يستغل المهاجم فرق السعر لتحقيق الربح عن طريق إدخال معاملة ضارة بين الصفقتين.
CurveFinance هجوم الساندويتش
< span style = "display: inline !important;">في 2 أغسطس 2023، شنت أنظمة Hypernative هجومًا شطيريًا على Curve Finance. حصل المهاجم على 36.8 ألف دولار أمريكي عن طريق إدخال معاملات ضارة بين معاملتين أضافت السيولة وأزالت السيولة.
هجوم Tx:
https://explorer .phalcon.xyz/tx/eth/0xd493c73397952049644c531309df3dd4134bf3db1e64eb6f0b68b016ee0bffde
كيف ينفذ المهاجم هجوم الساندويتش؟







في هذه العملية، تشير المعاملات الضارة إلى أنه كان المهاجم الذي قام بإزالة كمية كبيرة من سيولة DAI وUSDC من مجمع تعدين Curve DAI/USDC/USDT ودمر معاملة 3 رموز CRV LP. جعلت هذه المعاملة المجمع غير متوازن للغاية، مع وجود مبلغ نسبي أعلى من USDT، مما أدى إلى انخفاض القيمة.
تشير الصفقتان الأخريان إلى المعاملات التي يضيف فيها المهاجم السيولة ويسحبها. استغل المهاجم فرق السعر للحصول على كمية أكبر من 3 رموز CRV LP عن طريق إضافة ممتلكات السيولة الخاصة بـ DAI وUSDC إلى مجمع Curve DAI/USDC/USDT وسحبها بسعر العلاوة.
وبهذه الطريقة، يقوم المهاجم بتغليف المعاملة الضارة مع معاملتين أخريين من خلال هجوم الساندويتش معًا، قم بشراء سيولة USDT بسعر منخفض ثم قم ببيعها بسعر مرتفع لتحقيق الأرباح.
تقييد أمر المعاملة
عندما يتعلق الأمر بمنع هجمات الساندويتش، قد يتضمن تنفيذ التعليمات البرمجية عقودًا ذكية معقدة ومنطق معاملات. فيما يلي مثال مبسط يوضح كيفية منع هجمات الساندويتش عن طريق الحد من ترتيب المعاملات وتأخير المعاملات.

في هذا في على سبيل المثال، نفترض أن هناك عقدًا ذكيًا اسمه SandwichAttackPrevention، يُستخدم لإدارة رصيد المستخدم وعمليات المعاملات. لمنع هجمات الساندويتش، نقدم آليتين دفاعيتين رئيسيتين.
أولاً وقبل كل شيء، في وظيفةallowTransaction، لا يستطيع سوى مالك العقد تعيين isTransactionAllowed صحيح، مما يسمح للمستخدم بإجراء المعاملات. وهذا يضمن تنفيذ المعاملات بالترتيب الصحيح ولا يسمح للمهاجم بإدخال معاملات ضارة بين معاملتين.
ثانيًا، في وظيفة تنفيذ المعاملات، نقدم مفهوم تأخير المعاملة. لا يمكن للمستخدمين تنفيذ المعاملات إلا بعد أن يتجاوز وقت الحظر الحالي وقت التأخير المحدد. وهذا يمنح المستخدمين الآخرين الوقت الكافي لتنفيذ المعاملات وتحديث الأسعار، مما يقلل من فرصة المهاجمين لاستغلال فروق الأسعار.
1.3 هجوم أوراكل
أوراكل السعر هو مصدر بيانات تشفير لـ معلومات الأسعار في الوقت الحقيقي للعملة. تعتبر هذه المعلومات ضرورية للتشغيل السليم للعديد من بروتوكولات DeFi. تشير هجمات Oracle إلى قيام مهاجمين بتغيير البيانات المقدمة من Oracle بشكل مصطنع من أجل الاستفادة من المعاملات القائمة على التلاعب بالأسعار.
حادثة الهجوم على شركة Rodeo Finance Oracle
Rodeo عبارة عن منصة DeFi توفر خدمات أوراكل بأسعار معقولة. في 11 يوليو 2023، أدى التلاعب بالأسعار إلى قيام المتسللين بسرقة ما يقرب من 472 إيثريوم (حوالي 888000 دولار أمريكي) من بروتوكول روديو.
هجوم تكساس:
https://explorer.phalcon.xyz /tx/arbitrum/0xb1be5dee3852c818af742f5dd44def285b497ffc5c2eda0d893af542a09fb25a
كيف يتم التلاعب ببيانات الأسعار؟
مفتاح هجوم Rodeo Finance هو Rodeo TWAP Oracle. يتم استخدام هذه الأوراكل لتتبع نسبة السعر بين ETH وunshETH.
تحليل معاملات الهجوم: تبدأ عملية الهجوم بتنفيذ المهاجم لعملية المعاملات المخططة بعناية. استفاد المهاجمون من الفهم العميق لبنية النظام الأساسي ونقاط الضعف المحتملة في أوراكل لمتوسط السعر المرجح (TWAP) لشن الهجوم.
التلاعب بـ TWAPOracles: يمكن للمهاجم استخدام وظيفة الكسب المرتبطة بعنوان سياسة غير مكون، وفرض التبادل USDC ;ل unshETH. يتجاوز هذا التلاعب بشكل فعال التحكم في الانزلاق الناتج عن أوراكل سعر unshETH المعيب. بشكل أساسي، تُجبر وظيفة الكسب على التغيير من USDC إلى WETH، ثم إلى إلغاء ETH.
احسب أسعار TWAP: يتم حساب أسعار TWAP عن طريق حساب متوسط أسعار التحديثات الأربعة الأخيرة، كل فاصل زمني للتحديث هو ;45 دقيقة. ومع ذلك، أعادت أوراكل السعر المعيب سعرًا تم التلاعب به، مما دفع العقد الذكي إلى اعتبار الوضع صحيًا.
فتح مركز ذو رافعة مالية: يتلاعب المهاجم بـTWAPOracle عبر هجوم الساندويتش، ثم عن طريق الاتصال من عقد المستثمر ;كسب وظيفة لفتح مركز ذو رافعة مالية. لقد اقترضوا ما قيمته 400000 دولار من USDC.

تبادل الأصول: يقوم المهاجم بتبادل الأصول المقترضة مع مجمع CamelotDEX الأساسي، وفي الوقت نفسه يبيع unshETH المجهز مرة أخرى إلى المجمع.
تجاوز التحقق من التنفيذ: تتحقق العقود عادةً من صلاحية العملية. ومع ذلك، نظرًا لأن المهاجمين سيطروا على هذه الإستراتيجية، فقد تجاوزوا هذا الفحص بسهولة. يتيح ذلك للمهاجمين استغلال المراكز التي تم التلاعب بها عن طريق بيع unshETH المجهز مرة أخرى إلى المجمع، مما يؤدي إلى استخراج السيولة بشكل فعال من المنصة.
تحويل الأموال المسروقة: قام المهاجم بتحويل الأموال المسروقة من Arbitrum إلى Ethereum، ونقل 285 ETH واستبدالها بـ unshETH ومن ثم نقلهم إلى Arbitrum لمواصلة الهجوم. تم تحويل الأموال المسروقة، التي تبلغ قيمتها 150 إيثريوم، لاحقًا إلى Tornado Cash، وهي خدمة خلط إيثريوم تركز على الخصوصية. لا يزال مبلغ 371.2 ETH المتبقي (ما يعادل 701 دولارًا تقريبًا، 679 دولارًا أمريكيًا) محتجزًا بواسطة عناوين يتحكم فيها المهاجم.
الثغرة الرئيسية في هذا الهجوم هي Rodeo TWAP Oracle تنفيذ معيب. تعتمد أوراكل على احتياطيات زوج التداول WETH/unshETH، الذي يتمتع بسيولة منخفضة وبالتالي تقلبات عالية في الأسعار.
حساب الأسعار بناءً على أوراكل متعددة
تأكد من موثوقية استعلامات الأسعار. يجب أن تستخدم Oracle الموثوقة أوراكل متعددة أو خلاصات أسعار مجمعة لحساب الأسعار، ولا تعتمد فقط على نسب المقارنة الرمزية. خاصة في المواقف التي تكون فيها سيولة مجمع التعدين منخفضة، يمكن لهذا المصدر المتنوع لمعلومات التسعير أن يحسن دقة بيانات الأسعار ويجعل من الصعب على المهاجمين التعامل مع البيانات.
لتحقيق هذا الهدف، أحد الحلول الممكنة هو استخدام أوراكل لامركزي، مثل Chainlink. يمكن لأوراكل Chainlink جمع البيانات من مصادر البيانات المختلفة واستخدام تقنية blockchain للتحقق من دقة البيانات وتأكيدها. باستخدام مصادر بيانات متعددة، تقلل Chainlink من احتمالية حدوث نقاط فشل فردية وتجعل من الصعب على المهاجمين التعامل مع البيانات.
في ما يلي نموذج رمز يستخدم عقد تجميع Chainlink للحصول على بيانات السعر:span>

في ما سبق الكود، نستخدم مصفوفة من نوع AggregatorV3Interface لتخزين مثيلات أوراكل متعددة. يقبل المنشئ مصفوفة من عناوين أوراكل كمعلمة ويقوم بإنشاء مثيل لكل عنوان ككائن AggregatorV3Interface.
يتم استخدام وظيفة getLatestPrice للحصول على أحدث بيانات الأسعار من مصادر بيانات متعددة. فهو يتكرر عبر مصفوفة "priceFeeds" ويحصل على بيانات السعر عن طريق استدعاء وظيفة "latestRoundData" الخاصة بكل Oracle. يتم تخزين جميع بيانات الأسعار في مصفوفة من النوع int وإعادتها إلى المتصل.
وبهذه الطريقة، يمكننا الحصول على بيانات الأسعار من مصادر بيانات متعددة، والتأكد من ذلك تعكس استعلامات الأسعار أسعار الأصول بشكل أكثر دقة.
2. خطر ثغرة أمنية في العقود الذكية
ثغرة أمنية في العقود الذكية ثغرة أمنية في العقود الذكية يشير إلى الثغرات الأمنية أو الأخطاء في التعليمات البرمجية المكتوبة على Ethereum أو منصات العقود الذكية الأخرى. جوهر DeFi هو بروتوكول مالي يعتمد على العقود الذكية، لذا قد تؤدي ثغرات العقود الذكية إلى فقدان أموال المستخدمين، أو التلاعب بالسوق، أو سلوكيات ضارة أخرى.
يعد تحديد نقاط الضعف هذه أمرًا بالغ الأهمية، نحن يغطي التدقيق مجموعة متنوعة من المشكلات المحتملة. يتضمن ذلك، على سبيل المثال لا الحصر، ثغرات إعادة الدخول، وثغرات التحكم في الوصول، ونقاط الضعف في تجاوز الأعداد الصحيحة، ونقاط الضعف في منطق الأعمال. تم تصميم خدمات التدقيق الشاملة لدينا لتعزيز أمان عقودك الذكية والحماية من هذه المخاطر.
يستخدم ما يلي ثغرات التحكم في الوصول كمثال لتوضيح تأثير العقد الذكي نقاط الضعف في DeFi Impact.
ثغرة أمنية في LeetSwap للتحكم في الوصول
تعرض LeetSwap للهجوم،< قوي>تجاوزت الخسارة 340 إيثيريوم. السبب الجذري هو أن عقد LeetSwapV2Pair به ثغرة أمنية في التحكم في الوصول، وأن رؤية وظيفة _transferFeesSupportingTaxTokens عامة.
هجوم تكساس:
https://dashboard.tenderly.co/tx/base /0xbb837d417b76dd237b4418e1695a50941a69259a1c4dee561ea57d982b9f10ec
العقد الضعيف:
https://basescan.org/address/0x94dac4a3ce99814 3 أ a119c05460731da80ad90cf

استدعى المهاجم وظيفة _transferFeesSupportingTaxTokens للتلاعب التجمع، عملية الهجوم هي كما يلي:
تبادل WETH بآخر العملة الرمزية أ.
يتم استدعاء وظيفة _transferFeesSupportingTaxTokens لنقل الرمز المميز A، ويتم استدعاء وظيفة المزامنة لاحقًا، مما يؤدي إلى زيادة سعر الرمز المميز A .
استبدل الرمز المميز A بالمزيد من WETH وأفرغ المجمع.
الحل
لإصلاح وظيفة _transferFeesSupportingTaxTokens ثغرة أمنية في التحكم في الوصول، يجب تغيير رؤية الوظيفة إلى خاصة أو داخلية. قم بتعريف الوظيفة على أنها خاصة بحيث لا يمكن استدعاءها إلا للوظائف الأخرى ضمن العقد. قم بتعريف الوظيفة على أنها داخلية، والتي يمكن الوصول إليها عن طريق العقود التي ترث هذا العقد. عندما ترث العقود الأخرى عقد LeetSwap V2 Pair، يمكنها استدعاء وظيفة _transferFeesSupportingTaxTokens من خلال الكلمة الأساسية super. لا يمكن للمستخدمين الخارجيين الوصول مباشرة إلى هذه الوظيفة، مما يحسن أمان العقد.
من الضروري تحديد كيفية تغيير رؤية الوظيفة بناءً على منطق العقد المحدد ومتطلباته لضمان عدم تأثر التشغيل العادي للعقد مع تحسين الأمن.
يعد تدقيق العقود الذكية خطوة مهمة في تحديد الثغرات الأمنية ومنعها. في Salus،لدينا فريق من مطوري العقود الذكية ذوي الخبرة وخبراء التدقيق الذين يمكنهم مساعدتك في تعزيز أمان عقودك. تسمح لنا خبرتنا بتحديد نقاط الضعف المحتملة وضمان سلامة وموثوقية مشروعك.
3. مخاطر تشغيل المستخدم
في مجال DeFi، مخاطر تشغيل المستخدم ويشير إلى مخاطر خسائر رأس المال الناجمة عن الأخطاء التشغيلية للمستخدمين، أو نقص الوعي الأمني، أو السلوك غير الحكيم عند استخدام منصة DeFi. فيما يلي بعض المخاطر الشائعة التي قد يتخذها المستخدم:
النقر على الروابط الضارة: يمكن أن يتم النقر على الروابط الضارة الخاصة بالمستخدمين عن طريق الخطأ، مما يتسبب في إصابة البرامج الضارة أو الفيروسات بأجهزتهم، والتي يمكن للمهاجمين استخدامها للوصول إلى المعلومات الحساسة للمستخدمين أو السيطرة على محافظهم.
استخدام محفظة غير آمنة: إذا اختار المستخدم استخدام تطبيق محفظة غير آمن أو محفظة أجهزة، فقد يتمكن المهاجمون من استغلال هذه المحفظة ثغرات أمنية لسرقة المفاتيح الخاصة للمستخدمين أو أذونات التشغيل.
تسريب المفتاح الخاص: إذا قام المستخدم بتسريب المفتاح الخاص في بيئة غير مشفرة، أو قام بتخزين المفتاح الخاص في مكان غير آمن ، فيمكن للمهاجم بسهولة الحصول على المفتاح الخاص للمستخدم والتحكم في أمواله.
عمليات المعاملات غير الحكيمة: عندما يقوم المستخدمون بإجراء المعاملات، إذا لم يتحققوا بعناية من تفاصيل المعاملة (مثل العنوان المستهدف وكمية المعاملة ، وما إلى ذلك )، قد يؤدي إلى إرسال الأموال إلى عنوان خاطئ أو إرسال مبلغ خاطئ.
من أجل تقليل مخاطر تشغيل المستخدم، فيما يلي بعض الاقتراحات:
زيادة الوعي الأمني: فهم أساليب التصيد الاحتيالي والبرامج الضارة والاحتيال الشائعة وتعلم كيفية التعرف عليها وتجنبها. كن يقظًا وافحص الروابط والتطبيقات المتعلقة بـ DeFi بعناية.
استخدام محفظة آمنة: اختر استخدام تطبيق المحفظة أو محفظة الأجهزة التي تم تدقيقها أمنيًا وتتمتع بسمعة جيدة. تأكد من تحديث تطبيق المحفظة والبرامج الثابتة الخاصة بك واتباع أفضل ممارسات الأمان.
النسخ الاحتياطي للمفاتيح الخاصة وحمايتها: قم بتخزين المفاتيح الخاصة في مكان آمن وقم بتشفيرها بكلمة مرور قوية. قم بعمل نسخة احتياطية من مفاتيحك الخاصة بانتظام وقم بتخزينها في مكان آمن غير متصل بالإنترنت لمنع فقدان البيانات عن طريق الخطأ.
تحقق من تفاصيل المعاملة بعناية: قبل تنفيذ أي معاملة، تحقق بعناية من تفاصيل المعاملة للتأكد من أن العنوان المستهدف وكمية المعاملة الخ صحيحة. التحقق المزدوج يمكن أن يتجنب خسارة الأموال بسبب الإهمال.
4. الملخص
يرجى ملاحظة أن الحلول لكل من الهجمات ونقاط الضعف المذكورة أعلاه ليست سوى أمثلة بسيطة ولا يمكنها منع الهجمات المقابلة تمامًا أو إصلاح الثغرات الأمنية المقابلة. إذا كنت مهتمًا بتدقيق العقود الذكية، فيرجىالاتصال بنا، وسنعمل معك لتزويدك بخدمات تدقيق احترافية للتأكد من أن عقدك آمن وفعال موثوق . نحن ملتزمون بتزويدك بخدمات عالية الجودة ودعم فني شامل لضمان تشغيل عقودك الذكية في بيئة آمنة وموثوقة.