مؤخراً، شارك خبير أمان درساً حول أمان التمويل اللامركزي لأعضاء المجتمع. استعرض الأحداث الأمنية الكبرى التي واجهتها صناعة Web3 على مدار العام الماضي، واستكشف أسباب حدوث هذه الأحداث وكيفية تجنبها، وخلص إلى الثغرات الأمنية الشائعة في العقود الذكية وتدابير الوقاية، وقدّم بعض النصائح الأمنية للجهات المعنية والمستخدمين العاديين.
تشمل أنواع الثغرات الشائعة في التمويل اللامركزي القروض الفورية، والتلاعب بالأسعار، ومشاكل صلاحيات الدوال، والاستدعاءات الخارجية العشوائية، ومشاكل دالة fallback، وثغرات منطق الأعمال، وتسرب المفاتيح الخاصة، وهجمات إعادة الإدخال. ستتناول هذه المقالة بالتركيز القروض الفورية، والتلاعب بالأسعار، وهجمات إعادة الإدخال.
القرض الفوري
القروض الفورية هي ابتكار في التمويل اللامركزي، لكنها أيضًا سهلة الاستغلال من قبل الهاكرز. يقوم المهاجمون عادةً باقتراض كميات كبيرة من الأموال من خلال القروض الفورية، للتلاعب بالأسعار أو مهاجمة منطق العمل. يحتاج المطورون إلى التفكير في ما إذا كانت وظائف العقد ستؤدي إلى سلوك غير طبيعي بسبب الأموال الضخمة، أو إذا كان من الممكن استغلالها للحصول على مكافآت غير مستحقة.
تبدو العديد من مشاريع التمويل اللامركزي ذات عوائد مرتفعة، لكن في الواقع فإن مستوى المشروع يختلف بشكل كبير. قد يكون كود بعض المشاريع مشتراً، وحتى لو لم يكن هناك ثغرات في الكود نفسه، فقد توجد مشاكل من الناحية المنطقية. على سبيل المثال، تقوم بعض المشاريع بتوزيع المكافآت في أوقات محددة بناءً على عدد الرموز المميزة التي يمتلكها حاملوها، لكن يتم استغلال ذلك من قبل المهاجمين باستخدام القروض الفورية لشراء كميات كبيرة من الرموز، وبالتالي الحصول على معظم المكافآت.
التحكم في الأسعار
تتعلق مشكلات التحكم في الأسعار ارتباطًا وثيقًا بالقروض الفورية، ويرجع ذلك أساسًا إلى أنه يمكن التحكم في بعض المعلمات أثناء حساب السعر بواسطة المستخدمين. هناك نوعان شائعان من المشكلات:
يتم استخدام بيانات الطرف الثالث عند حساب الأسعار، ولكن يتم استخدامها بطريقة غير صحيحة أو تفتقر إلى الفحص، مما يؤدي إلى التحكم الضار في الأسعار.
استخدام عدد الرموز في بعض العناوين كمتغيرات حسابية، حيث يمكن زيادة أو تقليل رصيد الرموز في تلك العناوين مؤقتًا.
هجوم إعادة الدخول
أحد المخاطر الرئيسية لاستدعاء العقود الخارجية هو أنها قد تستولي على تدفق التحكم وتقوم بتغييرات غير متوقعة على البيانات. على سبيل المثال، في دالة السحب، إذا كان تحديث رصيد المستخدم يحدث بعد تحويل الأموال، فقد يؤدي ذلك إلى سحب متكرر.
لحل مشكلة إعادة الدخول يجب الانتباه للنقاط التالية:
يجب أن نمنع ليس فقط مشكلة إعادة الدخول لوظيفة واحدة.
اتبع نمط Checks-Effects-Interactions في البرمجة.
استخدم مُعدل منع إعادة الإدخال الذي تم التحقق من صحته عبر الزمن.
من المهم ملاحظة أن إعادة اختراع العجلة غالبًا ما تكون غير ضرورية. استخدام حلول ناضجة تم التحقق منها بشكل كامل أكثر أمانًا من تطويرها بنفسك.
نصائح الأمان
نصائح أمنية من الفريق المشروع
اتبع أفضل الممارسات الأمنية في تطوير العقود.
تحقيق إمكانية ترقية العقد وإيقافه.
اعتماد آلية قفل الوقت.
زيادة الاستثمارات في الأمان، وإنشاء نظام أمان متكامل.
تعزيز الوعي الأمني لجميع الموظفين.
منع الأذى الداخلي، مع تعزيز كفاءة التحكم في المخاطر.
توخى الحذر عند إدخال مكونات الطرف الثالث، وتأكد من سلامتها.
كيف يمكن للمستخدمين تحديد أمان العقود الذكية
تحقق مما إذا كانت العقد مفتوحة المصدر.
تأكيد ما إذا كان المالك قد اعتمد آلية متعددة التوقيع اللامركزية.
عرض حالة التداول الحالية للعقد.
تأكد مما إذا كان العقد هو عقد وكيل، وما إذا كان يمكن ترقيته، وما إذا كان لديه قفل زمني.
تحقق مما إذا كانت العقد قد تم تدقيقها من قبل عدة وكالات، وما إذا كانت صلاحيات المالك كبيرة جدًا.
انتبه لمدى موثوقية الأوركل الذي يستخدمه المشروع.
من خلال التركيز على هذه الجوانب، يمكن للمستخدمين تقييم أمان العقود الذكية بشكل أفضل، وتقليل احتمال المشاركة في مشاريع عالية المخاطر.
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
التمويل اللامركزي 101: العمق في تحليل الثغرات الشائعة واستراتيجيات الحماية
التمويل اللامركزي 常见安全漏洞及预防措施
مؤخراً، شارك خبير أمان درساً حول أمان التمويل اللامركزي لأعضاء المجتمع. استعرض الأحداث الأمنية الكبرى التي واجهتها صناعة Web3 على مدار العام الماضي، واستكشف أسباب حدوث هذه الأحداث وكيفية تجنبها، وخلص إلى الثغرات الأمنية الشائعة في العقود الذكية وتدابير الوقاية، وقدّم بعض النصائح الأمنية للجهات المعنية والمستخدمين العاديين.
تشمل أنواع الثغرات الشائعة في التمويل اللامركزي القروض الفورية، والتلاعب بالأسعار، ومشاكل صلاحيات الدوال، والاستدعاءات الخارجية العشوائية، ومشاكل دالة fallback، وثغرات منطق الأعمال، وتسرب المفاتيح الخاصة، وهجمات إعادة الإدخال. ستتناول هذه المقالة بالتركيز القروض الفورية، والتلاعب بالأسعار، وهجمات إعادة الإدخال.
القرض الفوري
القروض الفورية هي ابتكار في التمويل اللامركزي، لكنها أيضًا سهلة الاستغلال من قبل الهاكرز. يقوم المهاجمون عادةً باقتراض كميات كبيرة من الأموال من خلال القروض الفورية، للتلاعب بالأسعار أو مهاجمة منطق العمل. يحتاج المطورون إلى التفكير في ما إذا كانت وظائف العقد ستؤدي إلى سلوك غير طبيعي بسبب الأموال الضخمة، أو إذا كان من الممكن استغلالها للحصول على مكافآت غير مستحقة.
تبدو العديد من مشاريع التمويل اللامركزي ذات عوائد مرتفعة، لكن في الواقع فإن مستوى المشروع يختلف بشكل كبير. قد يكون كود بعض المشاريع مشتراً، وحتى لو لم يكن هناك ثغرات في الكود نفسه، فقد توجد مشاكل من الناحية المنطقية. على سبيل المثال، تقوم بعض المشاريع بتوزيع المكافآت في أوقات محددة بناءً على عدد الرموز المميزة التي يمتلكها حاملوها، لكن يتم استغلال ذلك من قبل المهاجمين باستخدام القروض الفورية لشراء كميات كبيرة من الرموز، وبالتالي الحصول على معظم المكافآت.
التحكم في الأسعار
تتعلق مشكلات التحكم في الأسعار ارتباطًا وثيقًا بالقروض الفورية، ويرجع ذلك أساسًا إلى أنه يمكن التحكم في بعض المعلمات أثناء حساب السعر بواسطة المستخدمين. هناك نوعان شائعان من المشكلات:
هجوم إعادة الدخول
أحد المخاطر الرئيسية لاستدعاء العقود الخارجية هو أنها قد تستولي على تدفق التحكم وتقوم بتغييرات غير متوقعة على البيانات. على سبيل المثال، في دالة السحب، إذا كان تحديث رصيد المستخدم يحدث بعد تحويل الأموال، فقد يؤدي ذلك إلى سحب متكرر.
لحل مشكلة إعادة الدخول يجب الانتباه للنقاط التالية:
من المهم ملاحظة أن إعادة اختراع العجلة غالبًا ما تكون غير ضرورية. استخدام حلول ناضجة تم التحقق منها بشكل كامل أكثر أمانًا من تطويرها بنفسك.
نصائح الأمان
نصائح أمنية من الفريق المشروع
كيف يمكن للمستخدمين تحديد أمان العقود الذكية
من خلال التركيز على هذه الجوانب، يمكن للمستخدمين تقييم أمان العقود الذكية بشكل أفضل، وتقليل احتمال المشاركة في مشاريع عالية المخاطر.