كل يوم ، يكتشف المتسللون في جميع أنحاء العالم ويستغلون نقاط ضعف جديدة في مواقع الويب والتطبيقات وحتى بنية النظام. أحد الأشياء الشائعة في جميع الأجهزة الإلكترونية ، القديمة والجديدة ، هو أنها تدار بواسطة برامج مخزنة في الذاكرة. لقد استغل المتسللون هذا ووجدوا ثغرات تُعرف باسم فيضانات المخزن المؤقت.
على الرغم من أنها ليست جديدة ، إلا أن هجمات تجاوز سعة المخزن المؤقت ونقاط الضعف كانت تعيث فسادًا في الفضاء الإلكتروني. سنشرح لك هنا ماهية هجمات تجاوز سعة المخزن المؤقت وكيف يمكنك منعها.
فهم المخازن المؤقتة وذاكرة النظام
لفهم ماهية هجوم تجاوز سعة المخزن المؤقت وكيف يعمل ، تحتاج إلى معرفة ما هو المخزن المؤقت وكيف تعمل ذاكرة الكمبيوتر.
كومة وذاكرة الكومة هما سمتان رئيسيتان لذاكرة الكمبيوتر. هم هياكل البيانات المستخدمة لتخصيص الذاكرة. على الرغم من أنها متشابهة ، المكدس وذاكرة الكومة تختلف بطرق متعددة.
يتم استخدام المكدس ، الذي يستخدم مفهوم Last-in ، First-out (LIFO) ، في ذاكرة الوصول العشوائي (ذاكرة الوصول العشوائي) تخزين عمليات تنفيذ البرنامج مؤقتًا ، بينما تقوم الكومة بتعيين الذاكرة باستخدام التخصيص الديناميكي إلى العمومية المتغيرات. لكن الشيء الوحيد المشترك بينهما هو المخزن المؤقت.
ما هو المخزن المؤقت؟
المخزن المؤقت هو منطقة من الذاكرة تستخدم لتخزين البيانات ، على الأرجح في ذاكرة الوصول العشوائي للكمبيوتر ، أثناء نقلها من موقع إلى آخر. عادة ما تكون هذه البيانات برامج تحتاج إلى التنفيذ. يتم تخزين المخازن المؤقتة في المكدس أو الكومة. تحسين تنفيذ البيانات.
ما هو تجاوز سعة المخزن المؤقت؟
يحدث تجاوز سعة المخزن المؤقت عندما يتلقى المخزن المؤقت بيانات أكثر من سعته التخزينية. نظرًا لأنه غير قادر على معالجة هذا القدر من البيانات ، فإنه يفيض.
الآن ، في ذاكرة الكمبيوتر ، مباشرة بعد المخزن المؤقت أو مساحة المخزن المؤقت هو عنوان المرسل. يسمى عنوان المرسل هذا في الواقع مؤشر التعليمات الموسعة (EIP). وتتمثل مهمتها في توجيه الكمبيوتر إلى برنامج محدد عند ملؤه. عندما يحتوي المخزن المؤقت على بيانات أكثر مما يمكنه الاحتفاظ به ويفيض ، فإنه يفيض إلى عنوان المرسل.
لفهم هذا ، دعنا نفترض أن لديك مساحة عازلة يمكنها استيعاب خمسة أحرف فقط. لذلك إذا قمت بملء كلمات مثل "سكر" أو "سلام" ، يمكن أن يحتويها التدفق العازل. ولكن عندما يكون لديك كلمة مثل "المصادقة" ، فمن المؤكد أنها ستنتشر. هذا يؤدي إلى خلل أو تعطل في النظام. لكن يمكن للقراصنة استغلال هذه الثغرة الأمنية لبدء هجوم تجاوز سعة المخزن المؤقت.
ما هو هجوم تجاوز سعة المخزن المؤقت وكيف يعمل؟
تحدث هجمات تجاوز سعة المخزن المؤقت عندما يتحكم المتسلل في عنوان المرسل أو EIP. عندما يعرف المهاجم حجم ذاكرة النظام ، يمكنه عن عمد كتابة البيانات في هذا النظام لمجرد تجاوزها. ثم يتأكدون من كتابة عنوان EIP أو عنوان المرسل للإشارة إلى برنامج يمكن أن يمنحهم إمكانية الوصول إلى النظام أو الكشف عن معلومات حساسة مخزنة على النظام.
يمكن للمهاجم حتى كتابة بعض البيانات التي تحتوي على تعليمات برمجية ضارة والتسبب في تجاوز سعة المخزن المؤقت. تتم كتابة EIP بعد ذلك لإعادة توجيه النظام مرة أخرى إلى التعليمات البرمجية الضارة ، ويتم تشغيله. بعد ذلك ، يتحكم المخترق في النظام.
هناك خمس خطوات رئيسية في هجمات تجاوز سعة المخزن المؤقت:
- ارتفاع
- تشوش
- إيجاد الإزاحة
- الكتابة فوق EIP أو عنوان المرسل
- استغلال الثغرة الأمنية
الضرب هو الخطوة الأولى. هنا ، يجد المتسللون جزءًا من ذاكرة البرنامج عرضة لفيضان المخزن المؤقت. ثم يأتي الغموض الذي يشبه الضرب ، ولكن هنا يرسل المخترق الأحرف إلى البرنامج ليرى ما إذا كان يمكن كسره. بمجرد النجاح ، يواصل المهاجم العثور على الإزاحة ، حيث فاض المخزن المؤقت. يتم ذلك لمعرفة حجم المخزن المؤقت وعنوان المرسل. بعد ذلك ، يقوم المخترق بإدخال رمز قشرة ضار ويتحكم في النظام.
ما هي أنواع هجمات تجاوز سعة المخزن المؤقت؟
هناك نوعان رئيسيان من هجمات تجاوز سعة المخزن المؤقت: الهجمات المستندة إلى المكدس والهجمات القائمة على الكومة.
1. هجمات تجاوز سعة المخزن المؤقت المستندة إلى المكدس
تعد هجمات تجاوز سعة المخزن المؤقت المستندة إلى المكدس أكثر أنواع هجمات تجاوز سعة المخزن المؤقت شيوعًا. تحدث عندما يتم تجاوز ذاكرة مكدس النظام واستغلالها. يُعرف أيضًا باسم تحطيم المكدس.
2. هجمات تجاوز سعة المخزن المؤقت المستندة إلى الكومة
هذا النوع من تجاوز المكدس ليس شائعًا جدًا ، حيث يصعب تنفيذه واستغلاله. يحدث عندما تفيض الذاكرة المخصصة لبرنامج ما. في كانون الثاني (يناير) 2021 ، اكتشفت Google تجاوز سعة المخزن المؤقت المستند إلى الكومة الضعف في مكون V8 من Chrome.
كيف يمكنك منع هجمات تجاوز سعة المخزن المؤقت؟
يمكن التخفيف من هجمات تجاوز سعة المخزن المؤقت باستخدام حماية وقت تشغيل نظام التشغيل ، ولغات البرمجة الآمنة ، والعشوائية في تخطيط مساحة العنوان ، وضمان تدابير الأمان المناسبة بشكل عام.
1. استخدام حماية وقت تشغيل نظام التشغيل
تُعرف الحماية وقت التشغيل أيضًا باسم فحص حدود مصفوفة وقت التشغيل. هذا يضمن أن كل برنامج يتم تشغيله داخل مساحة المخزن المؤقت أو الذاكرة المتاحة. ويقوم بفحص كل البيانات المكتوبة في ذاكرة النظام. هذا يجعل من الصعب على المتسللين الكتابة فوق البيانات في النظام واستغلال الثغرة الأمنية.
2. استخدام لغات البرمجة الآمنة
لا تطبق لغات البرمجة مثل C و C ++ فحص حدود مصفوفة وقت التشغيل لأنها تتطلب رمزًا إضافيًا للتحقق من كل برنامج مكتوب في النظام وإبطائه. لذلك ، فهم أكثر عرضة لهجمات تجاوز سعة المخزن المؤقت. يعد استخدام لغات أكثر أمانًا مثل C # و Java و Python أفضل لأنها تنطوي على مخاطر أقل لحدوث هجمات تجاوز سعة المخزن المؤقت.
3. استخدام عشوائي لتخطيط مساحة العنوان (ASLR)
يخصص مقياس الأمان هذا بشكل عشوائي عناوين البرامج والوظائف الموجودة في ذاكرة النظام إلى مناطق البيانات المختلفة. يجعل من الصعب على المهاجم التنقل عبر الوظائف الحساسة في الذاكرة.
4. ضمان سياسات أمنية صارمة
يتضمن ذلك تحديث النظام بانتظام ، والتحقق من صحة كل البيانات المكتوبة في النظام ، وتخصيص أقل الامتيازات للمستخدمين. مع وجود سياسات الأمان المناسبة ، لا داعي للقلق بشأن هجوم تجاوز سعة المخزن المؤقت.
الحفاظ على الأمن مشدودًا أمرًا ضروريًا لمكافحة هجمات تجاوز المخزن المؤقت
وفقًا لمثل شائع في مجال الأمن ، "طالما أن النظام يستخدم من قبل البشر ، توجد ثغرة أمنية" ، وهذا صحيح ولا مفر منه. ومع ذلك ، يمكن للمرء دائمًا تقليل فرص الهجوم من خلال ضمان وجود تدابير أمنية مناسبة والالتزام الصارم بها.
تذكر أن المتسللين يجدون باستمرار طرقًا جديدة لاستغلال نقاط الضعف مثل هذه. لذلك ، عليك أن تظل في المقدمة من خلال متابعة أحدث التطورات في مجال الأمن السيبراني.