ثغرات العقود الذكية: دليل الأمان لعام 2026 للمطورين ومشاريع التمويل اللامركزي

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

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

لماذا تهم ثغرات العقود الذكية أكثر من أي وقت مضى

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

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

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

العشرة ثغرات حرجة في العقود الذكية: تحليلها

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

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

إعادة الدخول (Reentrancy) تظل أخطر ثغرة. تسمح هذه الثغرة لعقد خارجي باستدعاء العقد الأصلي مرارًا وتكرارًا قبل إتمام المعاملة الأولى. المهاجم ينهب الأموال عبر استدعاءات متكررة.

حادثة هجوم DAO في 2016 توضح ذلك: استغل المهاجمون ثغرة إعادة الدخول لاستخراج 60 مليون دولار من إيثيريوم من صندوق استثمار لامركزي. الخطأ كان في عدم تحديث الأرصدة الداخلية قبل تحويل الأموال. استراتيجيات التخفيف تشمل نمط “التحقق-تأثيرات-التفاعلات” (التحقق من الشروط، تحديث الحالة، ثم تنفيذ الاستدعاءات الخارجية) واستخدام حواجز إعادة الدخول.

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

حادثة اختراق محفظة Parity تظهر هذا الخطر. تنفيذ غير صحيح لدور المالك سمح للمهاجمين بالسيطرة على مئات الملايين من الأصول. الوقاية تتطلب تطبيق نظام تحكم في الوصول قائم على الأدوار (RBAC)، واستخدام مكتبات موثوقة مثل OpenZeppelin’s AccessControl، والحفاظ على توثيق واضح لهياكل الصلاحيات.

تلاعب الأوراكل وهجمات تغذية الأسعار

غالبًا تعتمد العقود الذكية على بيانات خارجية—أسعار، معلومات الطقس، أو مقاييس أخرى غير داخلية. هذا يخلق سطح هجوم جديد يُعرف بتلاعب الأوراكل.

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

استراتيجيات الدفاع تشمل:

  • نشر عدة أوراكل مستقلة واستخدام متوسط السعر
  • تطبيق فحوصات استقرار السعر وحدود الانحراف الأقصى
  • التحقق من حداثة البيانات ومصداقية المصدر
  • استخدام شبكات أوراكل لامركزية مثل Chainlink لضمان التكرار

تجاوزات الأعداد الصحيحة والأخطاء الحسابية

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

يستغل المهاجمون ذلك للتلاعب بالأرصدة، وتجاوز حدود الأمان، أو إحداث انتقالات حالة غير متوقعة. العقود القديمة لـ ERC20 لا تزال عرضة لهذا الهجوم. Solidity الحديثة تتضمن حماية مدمجة من تجاوز الأعداد، لكن العقود القديمة أو المخصصة تتطلب فحوصات خارجية باستخدام مكتبات مثل SafeMath.

هجمات رفض الخدمة (DoS) واستغلال الغاز

هجمات DoS تعيق وظائف العقد الحيوية عبر استغلال آليات استهلاك الغاز. المهاجم قد:

  • يرسل معاملات بكميات عالية من البيانات، مما يسبب ازدحامًا
  • يطلق عمليات مكلفة من حيث استهلاك الغاز ضمن معاملة واحدة
  • يفرض حلقات تتجاوز حد غاز الكتلة، مما يمنع تنفيذ العقد

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

الهجمات الأمامية (Front-Running) وترتيب المعاملات

تُوضع معاملات البلوكشين في قائمة الانتظار قبل تضمينها في الكتل. المهاجمون المتمرسون يراقبون المعاملات المعلقة ويدفعون رسوم غاز أعلى للتقدم في الصف—مما يغير نتائج التداول، عمليات التصفية، أو فرص التحكيم.

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

أخطاء المنطق والوظائف غير المحمية

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

المراجعة الدقيقة للكود، الاختبار الشامل، وأدوات التحليل الثابت تساعد على كشف هذه المشكلات قبل النشر.

العشوائية غير الآمنة والنتائج المتوقعة

عقود الألعاب واليانصيب غالبًا تتطلب عشوائية. لكن الاعتماد على متغيرات عامة في البلوكشين (مثل هاش الكتلة، الطابع الزمني، رقم الكتلة) يسمح للمهاجمين بالتنبؤ بالنتائج.

يجب أن تأتي العشوائية من مصادر خارجية موثوقة، عبر حلول مثل Chainlink VRF أو إثباتات عدم المعرفة (Zero-Knowledge Proofs).

griefing الغاز واستنزاف الموارد

بعيدًا عن هجمات DoS التقليدية، يستغل المهاجمون آليات الغاز لمنع عمليات معينة. عبر استهداف وظائف ذات تكاليف غاز مرتفعة، يستهلكون الموارد المتاحة، مما يوقف تفاعلات المستخدمين الشرعيين.

ينبغي على العقود تحديد عدد التكرارات في الحلقات، تجنب الاستدعاءات المتداخلة، والتحقق من المدخلات الخارجية لمنع استنزاف الموارد.

استدعاءات خارجية غير آمنة والعقود الخبيثة

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

دائمًا تحقق من نتائج الاستدعاءات الخارجية، طبق نمط try-catch، وقيد العناوين الخارجية التي يمكنها التنفيذ داخل عقدك.

من DAO إلى التمويل اللامركزي: كيف شكّلت ثغرات العقود الذكية تاريخ البلوكشين

الدروس المستفادة من الهجمات الواقعية مهمة جدًا. فهم هذه الحوادث يكشف تطور ثغرات العقود الذكية واستجابات الصناعة الدفاعية.

هجوم DAO: اللحظة الحاسمة (2016)

كان هجوم DAO بمثابة جرس إنذار للبلوكشين. استغل المهاجمون ثغرة إعادة الدخول لسرقة أكثر من 60 مليون دولار من ETH. أدت الحادثة إلى قرار غير مسبوق: التفرع الصلب (Hard Fork) لإعادة الأموال المسروقة.

الدروس المستفادة:

  • يجب أن تسبق التدقيقات الأمنية النشر
  • تصميم أنماط السحب يتطلب الحذر لمنع إعادة الدخول
  • يمكن للمجتمع التدخل عبر الحوكمة في حالات الأزمات
  • مبدأ عدم القابلية للعكس له حدود عندما يتطلب الإجماع المجتمعي ذلك

حادثة محفظة Parity: فشل التحكم في الوصول

أظهرت حادثة Parity أن الإهمال في إدارة صلاحيات الوصول يمكن أن يكون كارثيًا. استغل المهاجمون سوء إدارة دور المالك، مما أدى إلى تجميد أصول بمئات الملايين.

الدروس المستفادة:

  • يجب حماية الوظائف الإدارية بشكل محكم
  • استخدام التوقيعات المتعددة يمنع نقطة ضعف واحدة
  • وجود هياكل صلاحيات واضحة وتوثيقها ضروري

اختراق بروتوكول التمويل اللامركزي 2022: ثغرات الأوراكل

تعرض بروتوكول رئيسي لخسائر تزيد عن 100 مليون دولار عندما تلاعب المهاجمون بسعر الأوراكل. استغلوا مصدر سعر واحد، مما أدى إلى تفريغ مجمعات السيولة دون اكتشاف.

الدروس المستفادة:

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

اكتشاف ومنع ثغرات العقود الذكية: استراتيجيات التدقيق الفعالة

اكتشاف الثغرات يتطلب نهجًا متعدد الطبقات يجمع بين أدوات آلية وخبرة بشرية.

الفحص الآلي: السرعة والتغطية

تستخدم أدوات الأمان الآلية لفحص أنماط الثغرات المعروفة بسرعة. أدوات مثل MythX، Slither، و Oyente تحلل كود Solidity، وتحدد المشاكل الشائعة خلال ثوانٍ.

هذه الأدوات تتفوق في:

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

لكن، لا يمكن للأدوات الآلية التعرف على أخطاء منطقية معقدة أو أنماط هجوم جديدة. هي خط الدفاع الأول، وليست الحل النهائي.

المراجعة اليدوية والتدقيق من طرف ثالث

الخبراء الأمنيون يقرؤون الكود ويكتشفون الثغرات الدقيقة، والعيوب المعمارية، وهجمات متقدمة قد تغفل عنها الأدوات. تشمل المراجعة اليدوية:

  • مراجعة الهيكلية: تقييم تصميم العقد وتفاعلاته
  • تحليل المنطق: التحقق من أن الكود يعمل كما هو متوقع في جميع السيناريوهات
  • محاكاة الهجمات: التفكير كهاجم لاكتشاف مسارات استغلال غير تقليدية
  • مراجعة التوثيق: التأكد من تطابق التعليقات مع السلوك الفعلي

التدقيق من طرف ثالث يمنح استقلالية وموثوقية، ويزيد ثقة المستثمرين والمستخدمين عندما يراجع خبراء أمن موثوقون الكود.

خارطة طريق عملية للتدقيق

قبل النشر:

  1. تشغيل أدوات الفحص الآلي ومعالجة المشاكل المحددة
  2. إجراء مراجعة واختبار داخلي
  3. التعاقد مع مدققين خارجيين لإجراء تقييم شامل
  4. تنفيذ توصيات التدقيق وإعادة الاختبار
  5. النشر فقط بعد اعتماد التدقيق

بعد النشر:

  1. مراقبة نشاط العقد عبر تحليلات فورية
  2. إجراء فحوصات أمنية دورية للكشف عن تهديدات جديدة
  3. الحفاظ على برنامج مكافآت الثغرات
  4. الاستجابة فورًا لأي شذوذ مكتشف
  5. جدولة تقييمات أمنية سنوية

الحماية الفورية من ثغرات العقود الذكية

الوقاية أفضل من العلاج، لكن أنظمة الكشف والاستجابة توفر شبكات أمان مهمة.

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

المنصات المتقدمة تدمج:

  • تحليلات على السلسلة والتعرف على الأنماط
  • تنبيهات تعتمد على العتبات مرتبطة بأحداث العقد
  • آليات استجابة تلقائية (إيقاف الوظائف الحيوية، تفعيل بروتوكولات الطوارئ)
  • تكامل مع فرق الاستجابة الأمنية

المراقبة الفورية أقل تكلفة بكثير من استرداد الأموال بعد الاختراق. الآن، تعتبر المراقبة المستمرة للأمان من البنى التحتية الأساسية لمنصات التمويل اللامركزي الرائدة.

بناء عقود لا تقهر: قائمة فحص للمطورين حول ثغرات العقود الذكية

لفرق التطوير، إطار عملي يسرع بناء عقود آمنة يشمل:

  • مرحلة التصميم:
    • رسم جميع وظائف العقد وأنماط الوصول
    • تحديد الاعتمادات الخارجية ومتطلبات الأوراكل
    • تصميم لسهولة التحديث والإيقاف الطارئ
    • توثيق الافتراضات والقيود الأمنية
  • مرحلة التطوير:
    • اعتماد ممارسات ترميز موحدة (مثل معايير OpenZeppelin)
    • تنفيذ التحقق من صحة المدخلات في جميع الوظائف
    • استخدام مكتبات موثوقة بدلًا من الحلول المخصصة
    • تطبيق مبدأ أقل الامتيازات على جميع الصلاحيات
    • بناء مجموعات اختبار شاملة تغطي الحالات الحديّة وفشل النظام
  • مرحلة الاختبار:
    • اختبارات الوحدة لكل وظيفة
    • اختبارات التكامل
    • اختبار التلقيم (Fuzzing) بمدخلات عشوائية
    • محاكاة هجمات اقتصادية (مثل هجمات الساندويتش، تسلسلات التصفية)
    • التحقق الرسمي للوظائف الحرجة إذا سمح الميزانية
  • قبل الإطلاق:
    1. مراجعة الكود داخليًا وفق قائمة الثغرات
    2. تدقيق أمني خارجي من جهة موثوقة
    3. برنامج مكافآت الثغرات (باحثو الثغرات يكتشفون الثغرات مقابل مكافأة)
    4. نشر تدريجي مع زيادة تدريجية للقيمة
  • بعد الإطلاق:
    1. مراقبة مستمرة وتنبيهات
    2. اختبار الاختراق المنتظم
    3. تحديثات أمنية وتصحيحات خلال 48 ساعة
    4. وجود بروتوكولات واضحة للاستجابة للحوادث

استراتيجيات أمنية مخصصة للتمويل اللامركزي والمؤسسات

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

مشاريع التمويل اللامركزي يجب أن تركز على:

  • تحكم متعدد التوقيعات وتحديثات مؤجلة زمنياً
  • مراقبة فورية للعقود مع اكتشاف الشذوذ
  • استجابة سريعة للحوادث (إمكانية التراجع، إيقاف الوظائف)
  • قنوات اتصال سريعة للإبلاغ عن الثغرات
  • آليات تعويض المستخدمين والتأمين

التكاملات المؤسسية تتطلب أيضًا:

  • الامتثال التنظيمي (مثل MiCA في أوروبا، الأطر الأمريكية المتطورة)
  • دمج KYC/AML ضمن عمليات العقود
  • سجلات التدقيق وتقارير المعاملات
  • اتفاقيات مستوى خدمة عالية الجودة
  • بيئات نشر خاصة ووصول موجه بالصلاحيات

فريق المطورين ينبغي أن يركز على:

  • التدريب الأمني والتعلم المستمر
  • مراجعة الكود والانضباط
  • بنية اختبار آلية
  • إدارة برامج مكافآت الثغرات

برامج تأمين واسترداد أصول المستخدمين

المستخدمون يواجهون سؤالًا أساسيًا: “ماذا يحدث لأموالي إذا تم استغلال عقد ذكي؟”

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

المنصات الرائدة تقدم الآن تأمينًا على مستوى المنصة مدعومًا بصناديق احتياطية، مما يمنح المستخدمين الثقة بعدم ضياع أموالهم بسبب ثغرات غير متوقعة. عمليات المطالبة الشفافة والدفع السريع تميز مقدمي الخدمة الممتازين عن العروض الأساسية.

ميزات التأمين التي يجب مقارنتها:

  • نطاق التغطية (أي الثغرات؟)
  • زمن استجابة المطالبة (أيام أو شهور)
  • حدود التغطية (نسبة الخسارة أو مبلغ ثابت)
  • متطلبات الإثبات (شهادات التدقيق، التحقيق في الحادث)

الأسئلة الشائعة: الإجابة على أسئلة الثغرات الشائعة في العقود الذكية

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

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

س: كم مرة يجب إعادة تدقيق العقود الذكية للكشف عن ثغرات جديدة؟
ج: بعد النشر، يُنصح بإعادة التدقيق سنويًا أو عند إجراء تغييرات كبيرة على الكود. المراقبة المستمرة توفر ضمانًا دائمًا بين التدقيقات الرسمية.

س: ما الفرق بين الأمان قبل وبعد النشر؟
ج: قبل النشر يركز على الوقاية (التدقيق، الاختبار). بعد النشر، يجمع بين المراقبة (الكشف)، والاستجابة (إدارة الحوادث)، والاسترداد (التأمين، التعويض).

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

خطة عمل لضمان مستقبل آمن للبلوكشين

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

أولوياتك الفورية:

  • فهم مشهد الثغرات المعروض هنا
  • اعتماد طبقات الأمان (الأتمتة + اليدوي + المراقبة + التأمين)
  • الاستثمار في التدقيق الشامل قبل النشر
  • تنفيذ المراقبة المستمرة وقدرات الاستجابة للحوادث
  • الالتزام المستمر بالاختبار والتحسين المستمر

تكلفة الوقاية أقل بكثير من تكلفة الاستغلال. اجعل الدفاع عن الثغرات الذكية جزءًا أساسيًا من ثقافة تطويرك، واطلق فقط كودًا مجربًا، واحمِ مستخدميك عبر استراتيجيات الدفاع العميق.

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


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

شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • تعليق
  • إعادة النشر
  • مشاركة
تعليق
0/400
لا توجد تعليقات
  • Gate Fun الساخن

    عرض المزيد
  • القيمة السوقية:$2.39Kعدد الحائزين:2
    0.07%
  • القيمة السوقية:$2.39Kعدد الحائزين:2
    0.14%
  • القيمة السوقية:$0.1عدد الحائزين:1
    0.00%
  • القيمة السوقية:$0.1عدد الحائزين:0
    0.00%
  • القيمة السوقية:$0.1عدد الحائزين:1
    0.00%
  • تثبيت