x32x01
أدارة أكتب كود
- بواسطة x32x01 ||
هو نوع من هجمات الحقن يتم فيه استغلال ضعف في برنامج أو نظام لتجاوز الحدود المحددة للمخزن المؤقت (buffer)
عندما يتم تخصيص مساحة في الذاكرة لتخزين بيانات معينة، فقد يتم تعيين مساحة أصغر بقليل من البيانات المراد تخزينها في المخزن المؤقت، يتم عادة استغلال هذه الفجوة لكتابة بيانات إضافية خارج حدود المخزن المؤقت، مما يشمل تجاوز البيانات المخزنة والكتابة فوق نطاقها.
غالباً ما يتم استخدام هجوم تجاوز سعة المخزن المؤقت لأغراض خبيثة مثل تنفيذ برامج ضارة أو تعديل سلوك برنامج معين فيمكن للمهاجم استغلال الهجوم من خلال إدخال بيانات تؤدي إلى تغير سلوك البرنامج أو تنفيذ شفرة ضارة أو تعيين قيم غير صحيحة للمتغيرات التي تؤدي إلى حدوث تعطل أو انهيار في البرنامج.
على سبيل المثال، قد يتم تصميم المخزن المؤقت لبيانات اعتماد تسجيل الدخول بحيث يتوقع مدخلات اسم المستخدم وكلمة المرور من 8 بايت، لذلك إذا كانت المعاملة تتضمن إدخالاً بمقدار 10 بايت أي 2 بايت أكثر من المتوقع، فقد يكتب البرنامج الفائض البيانات التي تتجاوز حدود المخزن المؤقت.
الهجوم يعتمد على استغلال ثغرات البرامج التي تسمح بزيادة حجم المخزن المؤقت بدون فحص أو إدارة صحيحة، ويمكن للمهاجم استغلال هذه الثغرات من خلال إدخال بيانات تضخم حجم المخزن المؤقت والكتابة فوق الذاكرة القريبة منه.
ما هي لغات البرمجة الأكثر عرضة لخطر هذا الهجوم؟
الـ (C++،C) لغات برمجة عالية الاداء وتمتاز بالسرعة في انشاء البرامج، وهما معرضتان بدرجة كبيرة لهجمات تجاوز سعة المخزن المؤقت، حيث لا تحتويان على وسائل حماية مضمنة ضد الكتابة فوق البيانات الموجودة في ذاكرتهم أو الوصول إليها.
لمنع هجمات تجاوز سعة المخزن المؤقت، يجب على المطورين اتخاذ تدابير الأمان اللازمة مثل فحص حجم البيانات المخزنة في المخازن المؤقت والتأكد من أنها لا تتجاوز الحدود، وتحقيق المتطلبات الأمنية للبرمجيات، واستخدام تقنيات التحقق من الأمان مثل إدارة التجزئة وتقييد الوصول إلى المخازن المؤقتة.
عندما يتم تخصيص مساحة في الذاكرة لتخزين بيانات معينة، فقد يتم تعيين مساحة أصغر بقليل من البيانات المراد تخزينها في المخزن المؤقت، يتم عادة استغلال هذه الفجوة لكتابة بيانات إضافية خارج حدود المخزن المؤقت، مما يشمل تجاوز البيانات المخزنة والكتابة فوق نطاقها.
غالباً ما يتم استخدام هجوم تجاوز سعة المخزن المؤقت لأغراض خبيثة مثل تنفيذ برامج ضارة أو تعديل سلوك برنامج معين فيمكن للمهاجم استغلال الهجوم من خلال إدخال بيانات تؤدي إلى تغير سلوك البرنامج أو تنفيذ شفرة ضارة أو تعيين قيم غير صحيحة للمتغيرات التي تؤدي إلى حدوث تعطل أو انهيار في البرنامج.
على سبيل المثال، قد يتم تصميم المخزن المؤقت لبيانات اعتماد تسجيل الدخول بحيث يتوقع مدخلات اسم المستخدم وكلمة المرور من 8 بايت، لذلك إذا كانت المعاملة تتضمن إدخالاً بمقدار 10 بايت أي 2 بايت أكثر من المتوقع، فقد يكتب البرنامج الفائض البيانات التي تتجاوز حدود المخزن المؤقت.
الهجوم يعتمد على استغلال ثغرات البرامج التي تسمح بزيادة حجم المخزن المؤقت بدون فحص أو إدارة صحيحة، ويمكن للمهاجم استغلال هذه الثغرات من خلال إدخال بيانات تضخم حجم المخزن المؤقت والكتابة فوق الذاكرة القريبة منه.
ما هي لغات البرمجة الأكثر عرضة لخطر هذا الهجوم؟
الـ (C++،C) لغات برمجة عالية الاداء وتمتاز بالسرعة في انشاء البرامج، وهما معرضتان بدرجة كبيرة لهجمات تجاوز سعة المخزن المؤقت، حيث لا تحتويان على وسائل حماية مضمنة ضد الكتابة فوق البيانات الموجودة في ذاكرتهم أو الوصول إليها.
لمنع هجمات تجاوز سعة المخزن المؤقت، يجب على المطورين اتخاذ تدابير الأمان اللازمة مثل فحص حجم البيانات المخزنة في المخازن المؤقت والتأكد من أنها لا تتجاوز الحدود، وتحقيق المتطلبات الأمنية للبرمجيات، واستخدام تقنيات التحقق من الأمان مثل إدارة التجزئة وتقييد الوصول إلى المخازن المؤقتة.