وحدة 4 / 11

فحص الثغرات الأمنية: أنماط الثغرات الأمنية الشائعة والتحليل الآلي

المكاسب:

  • القدرة على التعرف على أنماط الثغرات الأمنية الشائعة مثل إعادة الدخول والتحكم في الوصول ومعالجة Oracle والتشغيل الأمامي وفحصها باستخدام أداة تحليل ثابتة + الذكاء الاصطناعي + الإنسان
  • القدرة على التمييز بين نقاط قوة الذكاء الاصطناعي في شرح مخرجات الأداة وتحديد أولويات الإيجابيات ونقاط الضعف الكاذبة في MEV ومنطق الأعمال
  • افهم أن "الفحص النظيف" ليس شهادة أمان، وأن الفحص مجرد طبقة واحدة من التحكم

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

المسح الثابت والديناميكي

المسح هو من نوعين. التحليل الثابت - فحص الكود دون تشغيله: تقوم أدوات مثل Slither وMythril بمسح كود العقد وتحديد الأنماط المعروفة. التحليل الديناميكي/الرمزي (تشغيل الكود بمدخلات مختلفة أو استكشافه رياضيًا): يقع التشويش (القصف بإدخال عشوائي) والتنفيذ الرمزي (استكشاف جميع المسارات الممكنة) ضمن هذه المجموعة.

لا يحل الذكاء الاصطناعي محل هذه الأدوات، بل يكملها: عندما تصدر السيارة تحذيرًا، يشرح الذكاء الاصطناعي التحذير بلغة واضحة؛ يمكن للذكاء الاصطناعي التذكير عندما تفوت الأداة نمطًا ما؛ لكن الذكاء الاصطناعي وحده لا يستطيع ضمان مقدار ما يقوم بمسحه. سير العمل الصحيح: الأداة + الذكاء الاصطناعي + الإنسان.

نصيحة: امنح الذكاء الاصطناعي مخرجات أداة تحليل ثابتة (مثل تقرير Slither) واسأل "اشرح كل تنبيه بلغة واضحة، ما هي المخاطر الحقيقية وأيها يمكن أن تكون إيجابيات كاذبة؟" بسأل. إن الذكاء الاصطناعي لا يقدر بثمن في جعل مخرجات الأدوات الأولية مفهومة وقابلة للأولوية بالنسبة للبشر.

أنماط الضعف الأكثر شيوعًا

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

2. عدم التحكم في الوصول. يتم الإعلان عن وظيفة مهمة (الانسحاب، والانسحاب، والترقية) عن طريق الخطأ. وهو من الأخطاء الأكثر شيوعًا والمكلفة.

3. التلاعب أوراكل. اعتماد العقد الأعمى على مصدر سعر خارجي (Oracle). يتلاعب المهاجم بالسعر على الفور ويخدع البروتوكول. الحل: متوسط ​​السعر المرجح بالوقت (TWAP)، متعدد المصادر.

4. تجاوز عدد صحيح/نقصان. عندما يتجاوز الرقم الحد الأقصى المسموح به ويعود إلى البداية. تلتقط Modern Solidity معظمها تلقائيًا، لكن الخطر يظل في كود (التجميع) منخفض المستوى.

5. الجري الأمامي. تظهر المعاملات في المجمع العام (مجمع الذاكرة) قبل تأكيدها؛ يمكن للمهاجم رؤية معاملتك وإدراج معاملته الخاصة أمامها. MEV (القيمة القصوى القابلة للاستخراج — القيمة المستخرجة من تسلسل المعاملة) هو الاسم العام لهذا الموضوع.

6. رفض الخدمة (DoS). تصبح الحلقة مكلفة للغاية وتجعل الوظيفة غير قابلة للاستخدام، أو تصبح التبعية على العنوان مقفلة.

7. ترقية المخاطر. تصادم التخزين وإساءة استخدام السلطة في العقود القابلة للترقية.

الضعف

الثقة في مسح الذكاء الاصطناعي

لماذا

إعادة الدخول

عالية

نمط معروف وواضح

التحكم في الوصول

عالية

يمكن مسح القالب

عمليات الأعداد الصحيحة

عالية

التحكم القياسي

التلاعب أوراكل

متوسطة

يتطلب السياق

التشغيل الأمامي/MEV

متوسطة ومنخفضة

بروتوكول محدد

خطأ في منطق الأعمال

منخفض

أصيلة، سياقية

موجه ضعيف / موجه قوي

حث ضعيف:

هل هناك ثغرة في هذا الكود؟

مطالبة قوية:

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

أربعة قوالب قابلة للنسخ

1) وصف مخرجات الأداة:

فيما يلي تقرير أداة التحليل الثابت (Slither). اشرح كل تنبيه بلغة واضحة: ماذا يعني، هل هو خطر حقيقي أم نتيجة إيجابية كاذبة محتملة، وما هي أولويته؟ لا تتخذ قراراً حازماً؛ إعطاء الأولوية لتأكيد المدقق.

2) الفحص الذي يركز على إعادة الدخول:

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

3) خريطة التحكم في الوصول:

قم بإدراج جميع الوظائف الخارجية/العامة في هذا العقد وحدد "من يمكنه الاتصال" (الجميع/المالك/الدور) لكل منها. تنفيذ العمليات الحرجة (السحب والطباعة والترقية) ووضع علامة على العمليات التي لديها تحكم ضعيف في الوصول. قدمها مع طاولة.

4) الإزالة الإيجابية الكاذبة:

ضع في اعتبارك لماذا قد لا يمثل تحذير الفحص هذا خطرًا حقيقيًا (إيجابي كاذب): ما السياق أو شرط الكود الذي قد يبطل هذا التحذير؟ لكن لا تقل "لا توجد مشكلة على الإطلاق"؛ اذكر النقاط التي تحتاج إلى تأكيد.

ثلاث حالات صغيرة (بالأرقام)

الحالة 1 – مضاعفة كفاءة المركبة + الذكاء الاصطناعي. أدار أحد الفرق Slither في مشروع مكون من 12 عقدًا وتلقى 140 تحذيرًا. بمجرد أن طلبنا من الذكاء الاصطناعي شرح التنبيهات وترتيب أولوياتها، تبين أن 95 تنبيهًا من أصل 140 تنبيهًا كانت نتائج إيجابية كاذبة؛ ركز الفريق على 45 مرشحًا حقيقيًا. انخفض وقت الفرز من يومين إلى 5 ساعات. الدرس المستفاد: الذكاء الاصطناعي قوي في إضفاء الطابع الإنساني على مخرجات المركبات.

الحالة 2 - اختطاف الذكاء الاصطناعي MEV. في عقد DEX (التبادل اللامركزي)، وجد الذكاء الاصطناعي أن الأنماط القياسية نظيفة لكنه فشل في اكتشاف ثغرة أمنية في المقدمة؛ لأن هذا كان خاصًا بترتيب عمليات البروتوكول. القبض على المدقق البشري والمحاكاة. الدرس المستفاد: المخاطر الخاصة بالبروتوكول مثل MEV/التشغيل الأمامي هي منطقة ضعف في الذكاء الاصطناعي.

الحالة 3 - تجنب إضاعة الوقت في نتيجة إيجابية كاذبة. تم إنقاذ الفريق من إعادة كتابة غير ضرورية عندما أوضح الذكاء الاصطناعي أن تحذير إعادة الدخول كان في الواقع نتيجة إيجابية كاذبة (كانت الوظيفة محمية بالفعل). لكن الفريق ما زال يؤكد ذلك باختبار واحد. الدرس المستفاد: الذكاء الاصطناعي يحدد الأولويات؛ التأكيد يأتي مرة أخرى مع الاختبار.

حدود المسح

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

تنبيه: التقرير "النظيف" لأداة المسح أو الذكاء الاصطناعي لا يعد شهادة أمان. وتقديمها بهذه الطريقة - وخاصة للمستثمرين - أمر مضلل وغير أخلاقي.

الأخطاء الشائعة

  • استبدال الفحص بالتفتيش. المسح عبارة عن طبقة واحدة، وليس الطبقة بأكملها.
  • استخدام الذكاء الاصطناعي بدون أدوات. التحليل الثابت + الذكاء الاصطناعي + العمل البشري معًا.
  • القضاء على النتائج الإيجابية الكاذبة دون تأكيد. يتم اختبار كل شاشة/التحقق منها بواسطة الإنسان.
  • تجاوز المخاطر الخاصة بالبروتوكول (MEV) بالاعتماد على الذكاء الاصطناعي. منطقة ضعف الذكاء الاصطناعي.
  • التفكير في "المسح النظيف" = "الآمن". ولا يستطيع العثور على المجهول.
  • توليد رمز الاستغلال. وصف المخاطر الدفاعية فقط هو الشرعي.

باختصار

  • يبحث فحص الثغرات الأمنية عن أنماط الثغرات المعروفة في السيارة + الذكاء الاصطناعي + الإنسان.
  • الذكاء الاصطناعي قوي في شرح مخرجات أداة التحليل الثابت وتحديد أولوياتها.
  • يمكن الاعتماد عليها في الأنماط الواضحة مثل إعادة الدخول والتحكم في الوصول؛ ضعيف في MEV ومنطق الأعمال.
  • حتى التخلص من الإيجابيات الكاذبة يتطلب تأكيدًا.
  • "الفحص النظيف" ليس شهادة أمان؛ وهي ليست بديلا عن الإشراف.

مهمة التطبيق

قم بتشغيل أداة تحليل ثابتة على نموذج عقد (إن أمكن) أو ابحث عن تقرير Slither جاهز. قم بتطبيق موجه "وصف إخراج الأداة" على الذكاء الاصطناعي. قم بتقييم ما إذا كان الذكاء الاصطناعي: (1) يشرح التحذيرات بشكل صحيح، (2) منطقي في التمييز بين الإيجابيات الكاذبة، و (3) يخطئ في المخاطرة الخاصة بالبروتوكول. املأ أعمدة "تم العثور على مركبة / شرح الذكاء الاصطناعي / تأكيد بشري" في الجدول.

قائمة مرجعية

  • [ ] قمت بوضع الفتحة كطبقة من عنصر التحكم.
  • [ ] لقد استخدمت أداة التحليل الثابت + الذكاء الاصطناعي + الإنسان معًا.
  • [ ] لقد بحثت فئة حسب الفئة عن الأنماط المعروفة.
  • [ ] لقد قمت بإزالة النتائج الإيجابية الكاذبة مع التأكيد.
  • [ ] لقد اعتمدت على البشر في المجالات الضعيفة مثل MEV/منطق الأعمال.
  • [ ] لم أعرض "المسح النظيف" كضمان.
  • [ ] عملت لأغراض دفاعية فقط؛ أنا لم أخلق مآثر.