مهاجمة ذاكرة البرنامج
فيض المخزن المؤقت (Buffer Overflow) هو ثغرة كلاسيكية وخطيرة جداً. وتحدث عندما يحاول برنامج كتابة بيانات في كتلة ذاكرة (مخزن مؤقت - buffer) أكثر مما صُمم لاستيعابه.
الآلية
- مخزن مؤقت ثابت الحجم: يخصص برنامج 10 بايت من الذاكرة لاسم مستخدم.
- المدخلات تتجاوز الحد: يقدم المهاجم 50 بايت من المدخلات.
- الفيض: الـ 40 بايت الزائدة تفيض لتصل إلى الذاكرة المجاورة، وعادة ما تكتب فوق بيانات حيوية مثل عنوان العودة (return address) للدالة.
- إعادة التوجيه: عندما تنتهي الدالة، يحاول البرنامج القفز إلى عنوان العودة الذي تمت الكتابة فوقه، والذي استبدله المهاجم بعنوان ذاكرة الكود الخبيث الخاص به (shellcode).
الأثر الأمني
تؤدي هجمات فيض المخزن المؤقت مباشرة إلى تنفيذ كود عشوائي (RCE) وغالباً ما تُستخدم لرفع الصلاحيات.