PWA Security Assessment

Security assessment for Progressive Web Applications (PWA) including service workers and offline capabilities

حول هذه الخدمة

يختبر تقييم أمن PWA لدينا تطبيق الويب التقدّمي بدليل اختبار أمن الويب الكامل من OWASP، ثم يضيف سطح الهجوم الذي يأتي به الـ PWA فوق تطبيق ويب عادي: service worker يجلس بين الصفحة والشبكة، وCache Storage وIndexedDB يحتفظان بالبيانات على الجهاز للاستخدام دون اتصال، وweb app manifest، وإشعارات الدفع والمزامنة في الخلفية. لا يزال الـ PWA يحمل كل مخاطر تطبيق الويب — الحقن، والمصادقة المكسورة، والتحكم في الوصول المكسور، والبرمجة عبر المواقع — وتضيف ميزات جانب العميل هذه بضعة مخاطر أخرى. نتابع كل نتيجة حتى إثبات عملي، ونصنّفها بـ CVSS إلى جانب أثرها الفعلي، ونوثّقها مع إصلاح ملموس.

ما الذي يشمله

اختبار كامل لتطبيق الويب وفق OWASP WSTG: المصادقة، وإدارة الجلسات، والتحكم في الوصول، والتحقق من المدخلات، والحقن، وXSS، وCSRF

أمن service worker: نطاق التسجيل، وآلية التحديث، وكيفية اعتراضه للطلبات وخدمتها

تسميم الذاكرة المؤقتة والبيانات الحساسة أو القديمة المقدَّمة من Cache Storage

البيانات دون اتصال في حالة السكون داخل IndexedDB وlocal storage، وهل ينبغي أن تكون هناك أصلاً

مراجعة web app manifest: عنوان البدء، والنطاق، والأذونات، والتطبيقات المرتبطة

السياق الآمن وفرض HTTPS، ومشكلات المحتوى المختلط (mixed-content)

إساءة استغلال إشعارات الدفع والمزامنة في الخلفية

منطق جانب العميل والأسرار المكشوفة في حزمة جافا سكريبت

سياسة أمن المحتوى (CSP) وترويسات استجابة الأمان الأخرى

النصوص البرمجية من أطراف ثالثة ومخاطر سلسلة التوريد في جانب العميل

كيف يعمل

1
تحديد النطاق والوصول
نتّفق على الحدود ومعايير النجاح ونحدّد عمق الاختبار: الصندوق الأسود من الخارج، أو الرمادي بحسابات اختبار لكل دور، أو الأبيض بالوصول إلى الكود لأعمق تغطية. ونسجّل الأدوار، والميزات العاملة دون اتصال، وأي شيء يجب تجنّبه.
2
اختبار تطبيق الويب
نختبر التطبيق بالطريقة التي يصنّفها بها OWASP WSTG — المصادقة والجلسة، والتحكم في الوصول، ومعالجة المدخلات والحقن، والبرمجة عبر المواقع، ومنطق العمل — لأن الـ PWA تطبيق ويب في المقام الأول، ومعظم النتائج الحقيقية تكمن هنا.
3
اختبار service worker والعمل دون اتصال
نفحص الـ service worker: نطاقه ومسار تحديثه، وكيف يخزّن الاستجابات ويقدّمها، وهل يمكن حمله على تقديم محتوى مسمَّم أو قديم. ونتحقّق من البيانات التي يحتفظ بها التطبيق دون اتصال في Cache Storage وIndexedDB وما إذا كانت تلك البيانات حساسة.
4
تخزين جانب العميل، وmanifest، والترويسات
نراجع الـ manifest، والسياق الآمن وفرض HTTPS، وسياسة أمن المحتوى وترويسات الأمان الأخرى، وإشعارات الدفع والمزامنة في الخلفية، وأي أسرار أو منطق حساس مكشوف في حزمة جانب العميل.
5
التحقق، وإعداد التقارير، وإعادة الاختبار
يُتحقَّق من كل نتيجة بإثبات مفهوم قابل لإعادة الإنتاج، وتُصنَّف بـ CVSS وبالأثر الفعلي على العمل، وتُوثَّق مع مسار معالجة محدَّد الأولويات. وبعد الإصلاح، نعيد الاختبار للتأكّد من ثبات الإصلاحات.
المخرجات
  • ملخّص تنفيذي مع نظرة عامة على المخاطر لصنّاع القرار
  • تقرير تقني مفصّل، كل نتيجة مع إثبات مفهوم قابل لإعادة الإنتاج
  • نتائج تطبيق الويب مربوطة بـ OWASP WSTG
  • نتائج service worker والتخزين دون اتصال الخاصة بالـ PWA
  • مراجعة الـ manifest والسياق الآمن وترويسات الأمان
  • خطورة CVSS والأثر على العمل لكل نتيجة
  • خارطة طريق للمعالجة محدَّدة الأولويات
  • إعادة الاختبار بعد المعالجة

لماذا حافظ سيكيور

عمق في الـ PWA والويب
نختبر التطبيق بأكمله، لا الميزات اللامعة فحسب — فتطبيق الويب الكامن تحتها هو حيث تكمن معظم المخاطر الحقيقية، وطبقة الـ PWA حيث يختبئ ما تبقّى.
خبرة في service worker والعمل دون اتصال
نفهم كيف يعترض service worker حركة الطلبات وكيف يحتفظ التخزين دون اتصال بالبيانات على الجهاز، فنجد المخاطر التي لا يبحث عنها ماسح ويب عام أبداً.
تغطية قائمة على المعايير
يتّبع اختبار الويب OWASP WSTG، فتكون التغطية صريحة وقابلة للتحقّق بدلاً من أن تكون ارتجالية.
نتائج قابلة للتنفيذ ومحدَّدة الأولويات
إرشاد واضح مرتَّب حسب المخاطر، مع إثبات مفهوم قابل لإعادة الإنتاج وإصلاح ملموس لكل نتيجة.

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

ما هو تقييم أمن PWA؟

يختبر تطبيق ويب تقدّمياً بحثاً عن نقاط ضعف أمنية باستخدام OWASP WSTG لتطبيق الويب، إضافةً إلى سطح الهجوم الذي يضيفه الـ PWA — service worker، والتخزين دون اتصال، والـ manifest، وإشعارات الدفع والمزامنة في الخلفية — مع إثبات كل نتيجة وتصنيفها.

بمَ يختلف اختبار PWA عن اختبار تطبيق ويب عادي؟

الـ PWA تطبيق ويب في المقام الأول، لذا يحتاج إلى اختبار الويب الكامل. وفوق ذلك، يضيف service worker والذواكر المؤقتة دون اتصال وتخزين الجهاز مخاطر لا ينظر إليها اختبار الويب العادي — الذواكر المؤقتة المسمَّمة، والبيانات الحساسة المحفوظة دون اتصال، وservice worker بنطاق مفرط الاتساع.

أي معايير تتّبعون؟

دليل اختبار أمن الويب من OWASP لتطبيق الويب، والإرشادات الحديثة لأمن الـ PWA لميزات service worker والتخزين والـ manifest والسياق الآمن.

ما الوصول الذي تحتاجونه، وهل تقدّمون اختبار الصندوق الأبيض؟

يمكننا العمل بالصندوق الأسود من الخارج، أو الرمادي بحساب اختبار لكل دور، أو الأبيض بالوصول إلى الكود. والصندوق الرمادي هو الخيار المعتاد؛ ويمنح الأبيض مع الكود أعمق تغطية لمنطق جانب العميل والـ service worker. ونتّفق على العمق والنطاق قبل أن نبدأ.

ما المخاطر الأمنية لـ service worker؟

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

هل البيانات المحفوظة دون اتصال تمثّل مخاطرة؟

قد تكون كذلك. فالبيانات المخزَّنة في Cache Storage أو IndexedDB أو local storage تبقى على الجهاز وتكون قابلة للقراءة من أي نص برمجي يعمل في المصدر نفسه — وعلى جهاز مشترك أو مفقود، من أي شخص يحوزه. نتحقّق مما يُخزَّن، وهل ثمّة حاجة إليه، وهل هو محمي.

هل تراجعون سياسة أمن المحتوى وترويسات الأمان؟

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

كيف تُحدَّد خطورة النتائج؟

تحصل كل نتيجة على درجة CVSS كأساس مشترك، تُعدَّل بالأثر الفعلي في تطبيقكم — إلامَ يصل المهاجم، وبأي سهولة، وأي بيانات أو حسابات معرَّضة للخطر. لهذا قد تأخذ مشكلتان بالدرجة نفسها من CVSS أولويتين مختلفتين.

هل تشمل الخدمة إعادة الاختبار بعد المعالجة، وكم تستغرق؟

نعم — بعد المعالجة، نعيد اختبار النتائج المُبلَّغ عنها للتأكّد من ثبات كل إصلاح. وتعتمد المدة على حجم التطبيق وتعقيده؛ وعادةً يستغرق التقييم المعتاد نحو أسبوع إلى ثلاثة أسابيع، ونقدّم تقديراً محدَّداً بعد تحديد النطاق.

هل أنتم مستعدون للبدء؟
تواصلوا مع فريقنا لمناقشة احتياجات تقييم الأمان لديكم