forumفتح موضوع جديد
فتح موضوع جديد

نراجع كوداً استلمناه للتو — من أين نبدأ مراجعة الكود وفق قائمة OWASP Top 10؟

MMustafa E***مشاركعضو المجتمع
تاريخ الانضمام
فبراير 2024
رسالة
83
#1

نحن شركة ناشئة في مجال التقنية قوامها 6 أشخاص في Dallas ونطوّر برمجيات لوجستية. اتفقنا مع وكالة برمجيات خارجية وطوروا لنا بوابة عملاء ووحدة لتتبع الطلبات بميزانية قدرها 45.000 USD. تم تسليم المشروع وانتهى عقد الصيانة مع الوكالة واستلمنا قاعدة الكود بالكامل مع اثنين من المطورين لدينا داخلياً.

لا يوجد لدينا مختص أو مدقق مستقل في الأمن السيبراني. لكننا نريد التأكد من خلو النظام من الثغرات الأمنية الأساسية قبل البدء في تقديم الخدمة لعملائنا من الشركات. وفي هذا السياق، قررنا إجراء تدقيق داخلي للشفرة المصدرية بالاعتماد على قائمة OWASP Top 10 كمرجع.

في ظل غياب فريق أمني متخصص، ما المخاطر التي يجب أن نمنحها الأولوية تحديداً أثناء مراجعة الكود وفق OWASP Top 10؟ وإلى جانب أدوات الفحص بالتحليل الساكن، ما الأنماط التي يجب أن نبحث عنها يدوياً في الكود، وعند أي مرحلة يصبح الدعم الخارجي الاحترافي أمراً لا بد منه؟

HHande T***مشارك
المسمى الوظيفي
موظف إدخال بيانات
قطاع
تجارة الجملة للأغذية
نوع المنظمة
ورشة تصنيع
تاريخ الانضمام
أبريل 2025
رسالة
62
الأكثر إفادة#2

باختصار: بالنسبة للفرق البرمجية التي تفتقر لفريق أمني، فإن النقطة الأكثر أهمية للبدء في مراجعة الكود هي التحقق من استخدام المعاملات (parameters) في استعلامات قواعد البيانات والتأكد من ضوابط الصلاحيات. ولكشف ثغرات تجاوز الصلاحيات المنطقية التي تعجز أدوات الفحص التلقائي عن التقاطها، لا بد من مراجعة كود منطق العمل (business logic) يدوياً.

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

المرحلة الثانية والأكثر إرهاقاً هي ضوابط منطق العمل. وأثناء البحث عن ثغرات التحكم بالوصول المعطوبة (Broken Access Control) وهي الأكثر شيوعاً في قائمة OWASP، اتبعوا الخطوات التالية: 1) تحققوا من الطبقة المسؤولة عن مطابقة معرّفات الكائنات القادمة من المستخدم مع هوية الشخص المسجل دخوله، 2) تأكدوا من فرض التحقق من الصلاحيات القائمة على الأدوار من جهة الخادم في كل نقطة نهاية (endpoint) وليس في الواجهة فقط، 3) استبدلوا كافة الاستعلامات الخام المكتوبة بدمج النصوص في استدعاءات قواعد البيانات باستعلامات ذات معاملات (parameterized queries).

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

SSultan Ö***خبير
المسمى الوظيفي
موظف إدخال بيانات
قطاع
الرياضة واللياقة
نوع المنظمة
شركة ناشئة حديثة التأسيس
تاريخ الانضمام
فبراير 2023
رسالة
10
#3

البحث اليدوي عن الأنماط داخل النصوص مفيد جداً: 1) استدعاءات قواعد البيانات التي تدمج المتغيرات مباشرة داخل الاستعلام، 2) المفاتيح السرية المتروكة في الكود دون تشفير، 3) كتل معالجة الأخطاء (catch) التي تُرجع معلومات نظام حساسة إلى العميل. البحث عن هذه الأنماط لن يستغرق سوى بضع ساعات.

SSelin U***مشاركعضو المجتمع
تاريخ الانضمام
مارس 2026
رسالة
2
#4

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

İİsmail K***محارب قديم
المسمى الوظيفي
خبير اختبار
قطاع
تجارة إلكترونية
نوع المنظمة
مؤسسة متوسطة الحجم
تاريخ الانضمام
سبتمبر 2022
رسالة
3
#5

ابدأوا أولاً بتدقيق تبعيات المكتبات الخارجية في المشروع. شغّلوا أوامر التدقيق الأمني المدمجة في مدير الحزم لديكم وقوموا بتحديث الحزم التي تحتوي على ثغرات أمنية معروفة. عادةً ما تأتي أكبر الثغرات التي تتركها الوكالات من المكتبات القديمة.

AAycan K***مشارك
المسمى الوظيفي
مدير المتجر
قطاع
خدمات تموين
نوع المنظمة
شركة من 20 شخصاً
تاريخ الانضمام
مارس 2024
رسالة
132
#6

من الصعب جداً على مطورَين لم يكتبا الكود أصلاً أن يجعلا بنية شخص آخر آمنة بمجرد النظر إلى قائمة OWASP. إذا كان وقتكم محدوداً، فركزوا فقط على صلاحيات الوصول واستعلامات قواعد البيانات، ولا تضيعوا وقتكم في التفاصيل التشفيرية المعقدة الأخرى.

DDoruk A***مشارك
المسمى الوظيفي
المنسق العام
قطاع
الصناعات المغذية للسيارات
نوع المنظمة
شركة من 20 شخصاً
تاريخ الانضمام
أكتوبر 2022
رسالة
18

Doki · اختبار اختراق · 2024

#7

ركزوا خصوصاً على تغيير بارامتر الـ id في الـ url وشوفوا هل تقدرون توصلون لطلبات غيركم ولا لأ، الوكالات عادةً ينسون ضوابط الصلاحيات ذي في الـ backend

تعديل: صححت بعض الأخطاء الإملائية.

ZZeynep I***مشاركعضو المجتمع
تاريخ الانضمام
أبريل 2023
رسالة
55
#8

عند توقيع العقود مع عملاء الخدمات اللوجستية من الشركات، من الطبيعي جداً أن تطلب الأطراف تقرير تدقيق أمني مستقل. هذا الفحص الداخلي الذي تجرونه يقوي النظام، لكنه قد لا يحل قانونياً محل تقرير تدقيق خارجي.

HHasan U***مشاركعضو المجتمع
تاريخ الانضمام
مايو 2024
رسالة
41
#9

هل النظام لديكم متعدد المستأجرين (Multi-tenant)؟ بمعنى هل يتشارك جميع عملاء الخدمات اللوجستية نفس قاعدة البيانات؟ إن كان الأمر كذلك، فيجب أن يكون التركيز الأكثر أهمية في المراجعة هو آلية العزل التي تمنع تسلل أي عميل إلى جداول بيانات شركة أخرى.

DDeniz A***خبيرعضو المجتمع
تاريخ الانضمام
أغسطس 2025
رسالة
164
#10

رغم أن الأمر قد يبدو مخيفاً للفرق الصغيرة، إلا أن تحويل دليل OWASP إلى قائمة تدقيق والتقدم خطوة بخطوة يمنح فريقكم رؤية هندسية مذهلة. ومع اكتشاف ثغرات منطق العمل، ستصبح بنيتكم البرمجية أكثر متانة بمراحل.

MMustafa A***مشاركعضو المجتمع
تاريخ الانضمام
نوفمبر 2024
رسالة
14
#11

الطريق الذي يبدو رخيصاً غالباً ما يكلف غالياً لاحقاً. إمكانية الوصول إلى النسخة الاحتياطية عبر نفس الشبكة ونفس الهوية تجعلها جزءًا من الهدف.

ZZerrin Y***مشارك
المسمى الوظيفي
مدير الإنتاج
قطاع
تجارة تجزئة
نوع المنظمة
شركة عائلية
تاريخ الانضمام
أكتوبر 2022
رسالة
11
#12

موضوع في الوقت المناسب تمامًا. إذا لم تقم بصياغة هذا كتابيًا من البداية، فستنشأ خلافات لاحقًا.

اكتبوا إذا كانت لديكم أسئلة، سأجيب قدر استطاعتي.

EErcanمشارك
المسمى الوظيفي
محاسب
تاريخ الانضمام
سبتمبر 2024
رسالة
92
#13

أتفق جزئياً، وأختلف جزئياً. معظم إضاعة الوقت تتراكم في المهام المنتظرة للموافقة.

MMetin Y***مشارك
المسمى الوظيفي
مدير التكنولوجيا
قطاع
جلد
نوع المنظمة
نشاط فردي
تاريخ الانضمام
سبتمبر 2024
رسالة
43
#14

دعوني ألخص ما قيل حتى الآن. الخطأ المرتكب من جانب مراجعة كود OWASP Top 10 قابل للإصلاح عادةً، لكنه مكلف.

دعني أتركها كملاحظة، قد تكون مفيدة.

IIrmak B***خبير
المسمى الوظيفي
المدير المالي
قطاع
لوجستيات
نوع المنظمة
شركة ضمن مجموعة استثمارية
تاريخ الانضمام
يوليو 2023
رسالة
150
#15

هناك نقطة لم أفهمها. إذا كانت قناة الإشعارات طويلة، فلن تصل الإشعارات؛ والإشعار غير الواصل يعني حدثًا يُكتشف متأخرًا.

فعل الجميع لشيء ما لا يعني أنه صحيح. بالتوفيق.

LLeyla Ö***مشاركعضو المجتمع
تاريخ الانضمام
فبراير 2025
رسالة
38
#16

هناك فخ هنا، لا أريد المرور عليه دون ذكره. الناس يدافعون عن العادات وليس العمليات. المقاومة تأتي من هناك.

مثبت بالتجربة.

PPerihanمشارك
المسمى الوظيفي
الاتصالات المؤسسية
نوع المنظمة
وكيل إقليمي
تاريخ الانضمام
ديسمبر 2023
رسالة
118
#17

سأتحدث من الطرف الآخر، فأنا من جانب الموردين. لا تعتمدوا على إجراء وقائي واحد؛ اتبعوا نهج الطبقات.

محاولة فعل هذا بمفردك هي أغلى الطرق. لو كنت مكانك، لسلك هذا المسار.

İİsmail K***عضو جديد
المسمى الوظيفي
بقالة
نوع المنظمة
مؤسسة متوسطة الحجم
تاريخ الانضمام
ديسمبر 2024
رسالة
22

Doki · إعداد إدارة السجلات · 2025

#18

تم الحفظ.

MMelis K***مشاركعضو المجتمع
تاريخ الانضمام
أبريل 2023
رسالة
29
#19

صحيح بشكل عام، لكن هناك جزء ناقص. انظروا أولاً إلى البيانات المتاحة لديكم عند اتخاذ القرار.

إذا كتبت النتيجة هنا، فستفيد الآخرين أيضاً.

RRecep S***مشاركعضو المجتمع
تاريخ الانضمام
مايو 2025
رسالة
342
#20

بالضبط هكذا. أكثر ما أهدر وقتنا كان عدم وضوح من يتخذ القرار.

محاولة فعل هذا بمفردك هي أغلى الطرق.

اكتب رداً