0Pricing
Cyber Security Academy · درس

تقنيات مراجعة الشيفرة الآمنة

حدّد مشكلات الأمان أثناء مراجعة الشيفرة، مثل تدفقات البيانات وحدود الثقة وواجهات API الخطرة وعناصر التحكم المفقودة

تقنيات مراجعة الشيفرة الآمنة درس مجاني في Cyber Security Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cyber Security Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cyber Security Academy 4 دروس في المجموع.

هدف مراجعة الشيفرة الآمنة

تحدد مراجعة الشيفرة الآمنة الثغرات الأمنية في الشيفرة المصدرية قبل النشر. وعلى خلاف مراجعة الشيفرة الوظيفية، تركز على حدود الثقة، وتدفقات البيانات، وواجهات برمجة التطبيقات الخطرة، وعناصر التحكم المفقودة، وأخطاء المنطق الأمني — لا على الصحة أو الأسلوب.

المراجعة اليدوية مقابل الآلية

تكتشف أدوات SAST الآلية (Semgrep وSonarQube وCodeQL) الأنماط المعروفة بسرعة، لكنها قد تفوّت عيوب منطق الأعمال، والثغرات المعقدة متعددة المكونات، والمشكلات المعتمدة على السياق. أما المراجعة اليدوية فتكتشف ما تفوّته الأتمتة. وكلاهما ضروري.

تحليل نقاط الدخول

ابدؤوا المراجعة الأمنية برسم خريطة لجميع نقاط الدخول: نقاط نهاية HTTP، ومعالجات قوائم الرسائل، وعمليات رفع الملفات، والمهام المجدولة، وخطافات الويب، ومعاملات CLI. كل نقطة دخول تقبل بيانات خارجية هي نقطة حقن محتملة تتطلب التدقيق.

تتبّع تدفق البيانات

تتبّعوا البيانات التي يتحكم فيها المستخدم من نقطة دخولها، مرورًا بالتطبيق، وصولًا إلى استخدامها النهائي. هل تصل إلى استعلام قاعدة بيانات؟ أم إلى أمر shell؟ أم إلى قالب HTML؟ أم إلى استدعاء API؟ اتبعوا تدفق البيانات وتحققوا من كل خطوة تحويل وتعقيم.

تحليل حدود الثقة

تحدث القرارات الأمنية عند حدود الثقة، أي حيث تنتقل البيانات من سياق أقل ثقة (طلب HTTP) إلى سياق أكثر ثقة (قاعدة البيانات أو نظام التشغيل). يجب التحقق من البيانات أو تعقيمها أو التصريح بها عند كل عبور لحدود الثقة.

قائمة التحقق من واجهات برمجة التطبيقات الخطرة

ضعوا علامة على استخدام: eval() وexec() وsystem() وshell_exec() وinnerHTML وdangerouslySetInnerHTML وdeserialize() وpickle.loads() وRuntime.exec() وProcessBuilder، ومحللات XML التي لم يُعطَّل فيها توسيع الكيانات، والأوليات التشفيرية المستخدمة مباشرةً بدلًا من واجهات برمجة التطبيقات عالية المستوى.

مراجعة المصادقة والتخويل

تحققوا مما يلي: هل كل نقطة نهاية حساسة محمية بالمصادقة؟ هل يجري التحقق من التخويل من جانب الخادم لكل إجراء؟ هل يستطيع مستخدم الوصول إلى بيانات مستخدم آخر عبر تغيير معامل المعرّف (IDOR)؟ هل العمليات الحساسة محمية من CSRF؟

مراجعة معالجة الأخطاء

ابحثوا عن كتل catch التي تبتلع الاستثناءات بصمت. تحققوا من أن رسائل الخطأ المعروضة للمستخدمين لا تكشف المسارات الداخلية أو تتبعات المكدس أو بنية قاعدة البيانات. وتحققوا من تسجيل الاستثناءات الأمنية (AuthenticationException) وعدم تجاهلها بهدوء.

مراجعة التشفير

ضعوا علامة على ما يلي: استخدام MD5 أو SHA-1 لتجزئة كلمات المرور (استخدموا bcrypt أو Argon2)، والمفاتيح المتماثلة أو متجهات التهيئة المضمّنة في الشيفرة، وتشفير نمط ECB (استخدموا GCM أو CBC مع HMAC)، وتنفيذات التشفير المخصصة، ومولدات الأرقام العشوائية غير الآمنة تشفيريًا.

مراجعة التبعيات والإعدادات

راجعوا package.json/pom.xml بحثًا عن التبعيات القديمة. وتحققوا من إعدادات التطبيق للتأكد من تعطيل وضع التصحيح في الإنتاج، وعدم عرض صفحات أخطاء مفصلة، وعدم وجود بيانات اعتماد المسؤول في ملفات الإعداد، وعدم غياب ترويسات الأمان (HSTS وCSP وX-Frame-Options).

الأدوات: Semgrep وCodeQL

تطابق قواعد Semgrep أنماط البنية النحوية مع وعي دلالي. اكتبوا قواعد مخصصة للأنماط الخاصة بقاعدة شيفرتكم. ويتعامل CodeQL مع الشيفرة باعتبارها بيانات؛ فاكتبوا استعلامات على AST للعثور على تدفقات البيانات من المصادر إلى المصارف عبر الملفات واستدعاءات الدوال.

اختبار المعرفة

ما ثغرة IDOR، وأين تبحثون عنها في مراجعة الشيفرة؟

الملخص

تجمع مراجعة الشيفرة الآمنة الفعالة بين رسم خريطة نقاط الدخول، وتتبع تدفق البيانات، وتحليل حدود الثقة، واكتشاف واجهات برمجة التطبيقات الخطرة، وأدوات SAST الآلية. وهي تكتشف مشكلات أمنية تفوّتها المراجعة الوظيفية، ولا سيما عيوب منطق الأعمال وثغرات التخويل الدقيقة.

الأسئلة الشائعة

هل درس «تقنيات مراجعة الشيفرة الآمنة» مجاني؟

نعم — نص درس «تقنيات مراجعة الشيفرة الآمنة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cyber Security Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Cyber Security Academy 4 دروس في المجموع.

ماذا ستتعلم في «تقنيات مراجعة الشيفرة الآمنة»؟

حدّد مشكلات الأمان أثناء مراجعة الشيفرة، مثل تدفقات البيانات وحدود الثقة وواجهات API الخطرة وعناصر التحكم المفقودة تتمرن على Cyber Security Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Cyber Security Academy؟

لا تُشترط خبرة سابقة. Cyber Security Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «تقنيات مراجعة الشيفرة الآمنة»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Cyber Security Academy هذا؟

نعم. كل درس في Cyber Security Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. التحقق من المدخلات وترميز المخرجات
  2. إدارة التبعيات بأمان
  3. ‏OWASP ASVS: معيار التحقق من أمان التطبيقات
  4. تقنيات مراجعة الشيفرة الآمنة
← العودة إلى Cyber Security Academy