كيف تبدو مراجعة الأمان لتطبيق موجّه إلى الإمارات
تخيّل متجرًا يطلق تطبيقًا بالعربية والإنجليزية فيه دفع عبر Apple Pay، وتسجيل دخول عبر UAE Pass، وتتبع للطلبات، ولوحة إدارة لموظفي الدعم. هذا مثال افتراضي وليس عملًا لعميل. وتبدأ المراجعة من مسارات المنتج لا من أداة فحص.
- تحديد النطاق. ما يدخل وما يخرج: التطبيق وواجهة API وأدوات الإدارة وحساب الاستضافة والخدمات الخارجية التي تلمس بيانات العملاء.
- مراجعة التهديدات. نرسم المسارات الأساسية ونسأل عمّا قد يخطئ في كل خطوة، كما تشرح نمذجة التهديدات.
- مراجعة الشيفرة والإعدادات. نقرأ الشيفرة التي تحمل الخطر، مثل تسجيل الدخول والصلاحيات واستدعاءات الدفع، على ضوء فئات OWASP Top 10، ونفحص إعدادات السحابة التي تقف خلفها.
- الاختبار. يهاجم اختبار الاختراق المنتج وهو يعمل بإذن مكتوب ونطاق متفق عليه، ليكشف عيوب المنطق التي لا تظهر بقراءة الشيفرة.
- قائمة الإصلاحات وإعادة الاختبار. لكل بند درجة خطورة ودليل وخطوات إعادة إنتاج وإصلاح موصى به، ونعيد الاختبار بعد الإصلاح.
| المسار | ما نفحصه | ضعف شائع |
|---|---|---|
| تسجيل الدخول واستعادة الحساب | مدة الجلسة، والمصادقة متعددة العوامل، وروابط إعادة التعيين | رابط إعادة تعيين لا تنتهي صلاحيته |
| الدفع والاسترداد | التحقق من السعر على الخادم، وحالة الدفعة، وصلاحيات الاسترداد | سعر يستطيع التطبيق تغييره قبل إرساله |
| رفع المستندات | فحص الملفات، وصلاحيات التخزين | صورة هوية يفتحها كل من يملك الرابط |
| أدوات الإدارة والدعم | الأدوار، وسجلات التدقيق، وما يراه موظف واحد من البيانات | كل موظف يستطيع تصدير بيانات جميع العملاء |
رسائل الأمان بالعربية والإنجليزية
رسالة إعادة التعيين وتنبيه تسجيل الدخول ورمز التحقق المؤقت وتحذير الدفع رسائل يجب أن يقرأها إنسان ويثق بها ويتصرف بموجبها، باللغة التي اختارها. اكتب العربية كما يكتبها كاتب عربي لا كترجمة، وأبقِ اسم المرسل والنطاق والنبرة ثابتة، فالناس يتعلمون شكل الرسالة الأصلية والمهاجمون ينسخونها.
- الأرقام. يكتب بعض المستخدمين الأرقام الهندية العربية على لوحة المفاتيح العربية. وحّدها على الخادم قبل فحص رمز مؤقت أو رقم هاتف أو رقم هوية، وإلا فشل المستخدمون الحقيقيون وأغرى ذلك فريق الدعم بتعطيل الفحص.
- الاتجاه المختلط. قد تخفي الأسماء وأسماء الملفات وبنود الفواتير التي يكتبها المستخدم رموز تحكم في الاتجاه تغيّر ترتيب النص على الشاشة. احذفها أو اعزلها أينما ظهر نص المستخدم، حتى لا يُصنع سطر يبدو شيئًا آخر.
- الروابط. عنوان ويب لاتيني داخل جملة عربية يسهل أن يُساء قراءته. اعرض النطاق كاملًا في سطر مستقل، وأعلن قاعدتك للروابط باللغتين، مثل «لا نطلب منك تسجيل الدخول من رابط».
من يُستدعى حين يقع خلل
تفشل خطط الحوادث غالبًا لأن أحدًا لا يعرف بمن يتصل، أو لأن من يعرف غائب.
- غطِّ الأسبوع كله. تعمل مؤسسات إماراتية كثيرة من الاثنين إلى الجمعة مع جمعة أقصر، لكن المهاجمين لا يتبعون هذا الجدول. يجب أن تصل تنبيهات إساءة تسجيل الدخول وفشل الدفع والتصدير غير المعتاد إلى شخص مسمّى يومي السبت والأحد وبعد ظهر الجمعة أيضًا.
- اكتب شجرة الاتصال بلغتين. موظفو الدعم الذين يقرؤون الشكاوى بالعربية، والمهندسون الذين يقرؤون السجلات، والمدير الذي يخاطب العملاء، يجب أن يعرف كل منهم دوره، مع إشعار للعملاء جاهز كمسودة بالعربية والإنجليزية.
- أعطِ الباحثين مسارًا. عنوان منشور وسياسة قصيرة، مثل ملف security.txt، يتيحان لمن يكتشف ثغرة أن يبلغك بها بدل أن ينشرها. وتبيّن سياسة الإفصاح عن الثغرات لدينا الفكرة.
- سمِّ من يقرر. شخص يستطيع إيقاف ميزة، وشخص يخاطب العملاء، وشخص يخاطب المستشار القانوني.
أما هل يلزمك إبلاغ جهة تنظيمية أو العملاء أو بنك شريك بعد خرق، وخلال أي مدة، فيتوقف على النظام وقطاعك وعقودك. اسأل مستشارًا قانونيًا مؤهلًا في الإمارات، ثم اكتب الجواب في الخطة.
بيانات العملاء وموقعها: الجانب الأمني
مكان البيانات ومن يصل إليها مسألة قانونية وأمنية معًا. وتسرد صفحة الإمارات الأسئلة التي تحملها إلى المستشار. أما الفريق الهندسي فيجهز الوقائع:
- خريطة بيانات. كل حقل، وسبب جمعه، ومكان تخزينه، ومن يراه، والخدمة الخارجية التي تتلقى نسخة منه.
- المعرّفات الحساسة. أرقام الهوية الإماراتية وبيانات جوازات السفر وصور وثائق الهوية عالية الخطر. اجمعها حين تلزم فقط، وخزّنها مشفّرة، واعرض آخر أرقامها فقط، وأبقها خارج السجلات والروابط والتحليلات.
- النسخ الصامتة. النسخ الاحتياطية وأدوات تتبع الأخطاء والتحليلات ومزودو البريد ومكاتب الدعم وتسجيلات الشاشة كثيرًا ما تحتفظ ببيانات شخصية في منطقة أخرى دون أن يقرر ذلك أحد.
- منطقة السحابة. يشغّل بعض المزودين مناطق في الإمارات. تحقق من وجود كل خدمة تنوي استخدامها في منطقتك، وحدد من يستطيع إدارة بيئة الإنتاج ومن أين.
للتوعية وليست استشارة قانونية. أي نظام لحماية البيانات ينطبق، وهل يجوز نقل البيانات خارج الدولة، وما الذي يجب الإبلاغ عنه، أسئلة لمستشار قانوني مؤهل في الإمارات. نصمم مع مراعاة هذه القواعد ولا نعد بالامتثال.
الدفع والهوية في صلب المراجعة الأمنية
الدفع
- الحقيقة على الخادم. يؤكد المزود الدفعة إلى خادمك. تحقق من توقيع هذه الرسالة، وعالج كل رسالة مرة واحدة، ولا تعتبر الطلب مدفوعًا لأن التطبيق قال ذلك.
- المبالغ والاسترداد. تحقق من السعر والكمية ورموز الخصم على الخادم، واستخدم مفاتيح عدم التكرار لمنع الخصم المزدوج حين ينقطع اتصال الهاتف، وامنح الاسترداد صلاحية مستقلة وسجل تدقيق.
- المحافظ والشراء الآن والدفع لاحقًا والدفع عند الاستلام. كل منها يضيف حالات واستدعاءات تحتاج إلى اختبار، ويستدعي الدفع عند الاستلام طلبات وهمية وتكرار رفض.
- بيانات البطاقة. استخدم الحقول المستضافة لدى المزود حتى لا تصل أرقام البطاقات إلى خوادمك، واسأل المزود ومستشارك عن قواعد صناعة البطاقات (PCI DSS) المنطبقة.
تسجيل الدخول بالهوية عبر UAE Pass
لتسجيل الدخول القائم على إعادة التوجيه، مثل UAE Pass، مواضع ينبغي فحصها: يجب أن يكون عنوان العودة ضمن قائمة ثابتة مسموح بها، وأن يتحقق خادمك من الاستجابة بدل أن يثق بالتطبيق، وأن تُربط الهوية العائدة بالحساب الصحيح. وأشيع الأخطاء ضعف هذا الربط، كأن يُدمج حساب بحساب قائم لمجرد تطابق البريد الإلكتروني. وأبقِ مسار استعادة خاصًا بك، مع المصادقة متعددة العوامل، وتأكد أنه ليس بابًا أسهل للدخول. وتأتي متطلبات الانضمام من برنامج الهوية، فتأكد منها معه.
التنفيذ عن بُعد والتخطيط وفق أسبوع الإمارات
كل ما هنا يعمل عن بُعد. نراجع المستندات والمعمارية والشيفرة، ونختبر المنتج وهو يعمل عبر الإنترنت أو عبر مسار وصول متفق عليه، ونشرح النتائج لفريقك عبر الفيديو في أوقات تناسب يوم عملك. والإمارات على توقيت واحد هو UTC+4 طوال العام.
- نوافذ الاختبار. اتفق على الأيام والساعات، وعلى شخص من جهتك يستطيع أن يقول «توقف».
- فترات التجميد. تجنب الاختبار أو إصدار الإصلاحات في الأيام المحيطة بالعيد، وفي الأيام الأخيرة من رمضان، وقبل موسم تخفيضات كبير بقليل. وتغطي صفحة الإمارات التقويم.
- قراءة النتائج وإعادة الاختبار. راجعوا التقرير في مكالمة، وخطط لإعادة الاختبار حين تخطط للاختبار، لتتأكد الإصلاحات قبل الإطلاق.
يغيّر رمضان إيقاع اليوم أكثر مما يغيّر الأسبوع: فساعات العمل تُقصَّر عادة وينتقل النشاط إلى المساء، فاحجز المكالمات مع مراعاة ذلك.
ماذا تسأل أي مزود خدمات أمنية
- ما الذي يدخل في النطاق وما الذي يخرج منه، ومن يعطي الإذن المكتوب للاختبار؟
- هل يجري الاختبار على بيئة الإنتاج أم على نسخة تجريبية، ومتى؟
- هل يفصل التقرير المشكلات المؤكدة عن ضجيج الأدوات الآلية، ويقدم لكل بند خطوات إعادة الإنتاج والإصلاح؟
- هل تشمل الخدمة إعادة اختبار، وماذا يبيّن التقرير النهائي؟
- ماذا يحدث للبيانات وبيانات الدخول التي يلزم تسليمها للمختبِر؟
احذر مزودًا يعد بالامتثال أو بالنجاح. فالاختبار يعطي دليلًا في لحظة معينة، ويقرر الامتثال فريقك المعني به أو مستشارك أو الجهة التنظيمية. ومنهجنا واحد في كل مكان: مراجعة للتهديدات في البداية، وممارسات البرمجة الآمنة، واختبار قبل كل إصدار، ومراجعة أمان قبل الإطلاق مع قائمة إصلاحات مرتبة بالأولوية. ويغطي دليل تطوير التطبيقات الآمنة الضوابط، وتصف صفحة الأمن السيبراني الخدمة.