اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

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

وأنواع الثغرات الأمنية الشائعة في تطبيقات Apex، هي كالتالي:

  1. حقن SQL والتي تحدث عندما يتمكن المهاجم من إدخال تعليمات برمجية SQL ضارة في طلبات قاعدة البيانات مثل البيانات التي يتم إرسالها من خلال نموذج form، مما يسمح له بالوصول إلى البيانات الحساسة أو تعديلها أو حذفها.
  2. التنفيذ التعسفي للأوامرACE ويحدث من خلال تمكن المهاجم من إرسال تعليمات برمجية ضارة إلى التطبيق، مما يسمح له بتنفيذ تلك التعليمات على خادم Salesforce.
  3. التقاط Cross-Site Scripting (XSS) وسببها هو إدخال نصوص JavaScript ضارة في صفحات الويب، مما يسمح بسرقة بيانات المستخدم أو التحكم في متصفح المستخدم.
  4. التصريح غير المصرح به بالوصول إلى البيانات وتحدث الثغرة عندما يتمكن المستخدم من الوصول إلى البيانات التي ليس لديه حق الوصول إليها.
  • 0
نشر

هذه بعض الحلول لبعض الثغرات :
الوصول غير المصرح به (Unauthorized Access): يمكنك التحقق من صحة هوية الحساب  لضمان أن المستخدمين يتمكنون فقط من الوصول إلى الموارد التي يجب عليهم الوصول إليها.
تجاوز الصلاحيات (Privilege Escalation): يمكنك التحقق من صلاحيات المستخدمين لضمان أنهم لا يمكنهم الوصول إلى ميزات أو بيانات ليس لديهم حق الوصول اليها .
التعرض للاختراق (SQL Injection): يمكنك استخدام باراميترات مربوطة وعبارات معيارية لتجنب استغلال ثغرات حقل الإدخال في عمليات قاعدة البيانات.و هذا مثال يوضحالفكرة:
لو فرضًنا أن لديك جدولًا اسمه users  يحتوي على حقلين username  و password، ونرغب في تنفيذ استعلام SQL للتحقق مما إذا كان المستخدم موجودًا في الجدول أم لا باستخدام اسم المستخدم وكلمة المرور المدخلة.

DECLARE
    l_username VARCHAR2(100) := :P1_USERNAME; 
    l_password VARCHAR2(100) := :P1_PASSWORD; 
    l_user_id NUMBER;
BEGIN
    SELECT user_id INTO l_user_id
    FROM users
    WHERE username = l_username
    AND password = l_password;

EXCEPTION
    WHEN NO_DATA_FOUND THEN
        raise_application_error(-20001, 'Invalid username or password.');
END;

البرمجيات الضارة (Cross-Site Scripting XSS): يمكنك تنقيح الإدخالات والمخرجات لمنع  تنفيذ السكربتات الضارة في المتصفح
و هناك عدة طرق لعمل ذلك منها:

  • التطهير (Sanitization): وهي عملية تنقيح البيانات لتنظيف الإدخالات من الأحرف والعلامات الغير مرغوب فيها
  • التعقيد (Encoding):تحويل الأحرف الخاصة إلى رموز مشفرة للحفاظ على سلامة البيانات.
  • التحقق من الصحة (Validation):التحقق من صحة البيانات المدخلة لضمان أنها تتوافق مع الصيغة المتوقعة.
  • 0
نشر

تطبيقات apex معروفة بتوفر ميزات امان عالية وقوية بها  ولكن مثل اي تطبيق اخر قد تحتوي على ثغرات امنية وهذه قائمة باشهرها متحدثة عنهم باختصار

  • Injection Attacks : حيق يستطيع المهاجمون من خلالها تنفيذ أوامر غير مصرح بها أو سرقة بيانات المستخدمين
  • Weak Authentication and Session Management : عندما لا تقوم بادارة الجلسات بشكل صحيح قد يؤدي ذلك الى اختراق تطبيقك 
  • Insecure Direct Object References : وصول المهاجمين الى موارد غير مصرح لهم بها عن طريق تعديل بيانات الطلبات 
  • Cross-Site Request Forgery (CSRF) يمكن للمهاجمين إجبار المستخدمين على تنفيذ أوامر غير مصرح بها عن طريق إرسال طلبات مزورة

والان بعد ما قمنا بالتعرف على اشهر الثغرات دعنا نأخذ اهم طرق حلها واكتشافها :

  • تحديث البرامج : تأكد دائما من استخدامك لاحدث النسخ من البرامج والمكتبات التي تستخدمها في مشروعك لضمان وصول تحديثات الامان لديك 
  • استخدام ادوات تقييم الامان استخدام أدوات تقييم الأمان مثل Oracle Application Express Advisor لتحليل تطبيقك واكتشاف الثغرات المحتملة
  • استخدام مبادئ الأمان : وذلك عبر  تنقيح المدخلات وتجنب استخدام المدخلات الضارة
  •  التحقق من الهوية وإدارة الجلسات : استخدام إجراءات اعتماد قوية مثل تعقب الجلسات واستخدام الجلسات المؤقتة

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

https://academy.hsoub.com/devops/security/

وبالتوفيق لك 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...