يساعد الحد من أذونات قاعدة البيانات على منع هجمات حقن SQL (SQLI) في المقام الأول عن طريق تقليل الضرر المحتمل الذي يمكن أن يسببه المهاجم إذا تمكنت من استغلال الضعف. يستند هذا النهج إلى مبدأ الامتياز الأقل ، مما يعني منح المستخدمين أو حسابات التطبيق فقط الحد الأدنى للأذونات اللازمة لأداء مهامهم ، وليس أكثر.
فيما يلي شرح مفصل لكيفية مساعدة الأذونات المحددة:
** 1. يقيد نطاق الإجراءات التي يمكن للمهاجم أداءها
إذا كان لدى تطبيق أو حساب مستخدم متصل بقاعدة البيانات وصول فقط للقراءة فقط إلى جداول محددة ، فإن المهاجم الذي يستغل حقن SQL من خلال هذا الحساب لا يمكن تعديل البيانات أو حذفها أو إدراجها. يحد هذا الاحتواء من "نصف قطر الانفجار" للهجوم ، مما يمنع فساد البيانات أو التغييرات غير المصرح بها [3] [9]. على سبيل المثال ، إذا كان الحساب يحتاج فقط إلى تشغيل استفسارات محددة ، فلا ينبغي أن يكون له إدراج أو تحديث أو حذف أو امتيازات إدارية.
** 2. يمنع الوصول غير المصرح به للبيانات بما يتجاوز الضرورة
من خلال تقييد أذونات قاعدة البيانات على الجداول والعمليات اللازمة فقط ، لا يمكن للمهاجمين الوصول إلى البيانات الحساسة خارج نطاق الاحتياجات المشروعة للتطبيق. هذا يعني حتى لو كان حقن SQL ناجحًا ، فإن قدرة المهاجم على استخراج البيانات أو معالجتها تقتصر على ما يمكن أن يصل إليه الحساب المخترق [1] [2] [7].
** 3. يحد من استغلال ميزات قاعدة البيانات الخطرة
يمكن استغلال بعض وظائف قاعدة البيانات ، مثل تنفيذ أوامر نظام التشغيل أو تشغيل الإجراءات المخزنة غير المقيدة ، إذا كانت الأذونات واسعة جدًا. يعطل الحد من الأذونات أو يقيد الوصول إلى هذه الميزات ، مما يقلل من سطح الهجوم لحقن SQL والمآثر ذات الصلة [2] [9].
** 4. يقلل من خطر تصعيد الامتياز
إذا كان مستخدم قاعدة البيانات يعمل بامتيازات عالية (على سبيل المثال ، أدوار المسؤول أو DBA) ، يمكن أن يؤدي حقن SQL الناجح إلى التحكم الكامل في قاعدة البيانات ، بما في ذلك إنشاء أو إسقاط الجداول ، أو حتى تنفيذ الأوامر على الخادم. يمنع الحد من الأذونات للمهاجمين من تصعيد وصولهم إلى ما وراء ما يتطلبه التطبيق بشكل شرعي [1] [6] [9].
** 5. يدعم الدفاع بعمق
على الرغم من أن الحد من الأذونات وحدها لا يمنع حقن SQL ، إلا أن طبقة الدفاع الحرجة تعمل جنبًا إلى جنب مع التحقق من صحة المدخلات والاستعلامات المعلمة والإجراءات المخزنة وجدران الحماية على تطبيق الويب. يضمن هذا النهج الطبقات أنه حتى إذا فشل أحد التحكم ، فإن الآخرين يساعدون على احتواء الهجوم [3] [7].
باختصار ، يقلل الحد من أذونات قاعدة البيانات من التأثير المحتمل لحقن SQL من خلال التأكد من أن الحسابات المعرضة للخطر لا يمكن أن تنفذ إجراءات ضارة تتجاوز نطاقها المقصود. يساعد هذا الاحتواء على منع فقدان البيانات ، وتعديل البيانات غير المصرح به ، وتصعيد الامتياز ، مما يجعل هجمات حقن SQL أقل ضررًا وأسهل في الإدارة [1] [2] [3] [6] [9].
الاستشهادات:
[1] https://cheatsheetseries.owasp.org/cheatsheets/sql_injection_prevention_cheat_sheet.html
[2]
[3] https://www.legitsecurity.com/aspm-knowledge-base/how-to-prevent-sql injection
[4] https://users.soe.ucsc.edu/~eaugusti/archive/365-spring16/365-files/lectures/365-lec14-security.pdf
[5]
[6] https://security.stackexchange.com/questions/90247/sql injection-attack-why-not-just-adjust-permissions
[7]
[8] https://stackoverflow.com/questions/1263218/if-my-database-user-is-read-only-why-do-i-need-to-about-about-sql injection
[9] https://www.enterprisedb.com/blog/proting-against-sql injection