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) وترويسات استجابة الأمان الأخرى
النصوص البرمجية من أطراف ثالثة ومخاطر سلسلة التوريد في جانب العميل
كيف يعمل
- ملخّص تنفيذي مع نظرة عامة على المخاطر لصنّاع القرار
- تقرير تقني مفصّل، كل نتيجة مع إثبات مفهوم قابل لإعادة الإنتاج
- نتائج تطبيق الويب مربوطة بـ OWASP WSTG
- نتائج service worker والتخزين دون اتصال الخاصة بالـ PWA
- مراجعة الـ manifest والسياق الآمن وترويسات الأمان
- خطورة CVSS والأثر على العمل لكل نتيجة
- خارطة طريق للمعالجة محدَّدة الأولويات
- إعادة الاختبار بعد المعالجة
لماذا حافظ سيكيور
الأسئلة الشائعة
يختبر تطبيق ويب تقدّمياً بحثاً عن نقاط ضعف أمنية باستخدام OWASP WSTG لتطبيق الويب، إضافةً إلى سطح الهجوم الذي يضيفه الـ PWA — service worker، والتخزين دون اتصال، والـ manifest، وإشعارات الدفع والمزامنة في الخلفية — مع إثبات كل نتيجة وتصنيفها.
الـ PWA تطبيق ويب في المقام الأول، لذا يحتاج إلى اختبار الويب الكامل. وفوق ذلك، يضيف service worker والذواكر المؤقتة دون اتصال وتخزين الجهاز مخاطر لا ينظر إليها اختبار الويب العادي — الذواكر المؤقتة المسمَّمة، والبيانات الحساسة المحفوظة دون اتصال، وservice worker بنطاق مفرط الاتساع.
دليل اختبار أمن الويب من OWASP لتطبيق الويب، والإرشادات الحديثة لأمن الـ PWA لميزات service worker والتخزين والـ manifest والسياق الآمن.
يمكننا العمل بالصندوق الأسود من الخارج، أو الرمادي بحساب اختبار لكل دور، أو الأبيض بالوصول إلى الكود. والصندوق الرمادي هو الخيار المعتاد؛ ويمنح الأبيض مع الكود أعمق تغطية لمنطق جانب العميل والـ service worker. ونتّفق على العمق والنطاق قبل أن نبدأ.
يعمل الـ service worker في الخلفية ويعترض طلبات شبكة التطبيق. فإن كان نطاقه مفرط الاتساع، أو مسار تحديثه ضعيفاً، أو تخزينه المؤقت مهملاً، فقد يقدّم استجابات قديمة أو مسمَّمة، أو يحتفظ ببيانات حساسة في ذاكرة مؤقتة ينساها المستخدم، أو يبقى بعد انتهاء الجلسة. نختبر كل مسار من هذه المسارات.
قد تكون كذلك. فالبيانات المخزَّنة في Cache Storage أو IndexedDB أو local storage تبقى على الجهاز وتكون قابلة للقراءة من أي نص برمجي يعمل في المصدر نفسه — وعلى جهاز مشترك أو مفقود، من أي شخص يحوزه. نتحقّق مما يُخزَّن، وهل ثمّة حاجة إليه، وهل هو محمي.
نعم. سياسة أمن المحتوى القوية من أفضل وسائل الدفاع ضد البرمجة عبر المواقع، وهي من أبرز مخاطر الويب، لذا نراجعها مع ترويسات استجابة الأمان الأخرى في كل تقييم.
تحصل كل نتيجة على درجة CVSS كأساس مشترك، تُعدَّل بالأثر الفعلي في تطبيقكم — إلامَ يصل المهاجم، وبأي سهولة، وأي بيانات أو حسابات معرَّضة للخطر. لهذا قد تأخذ مشكلتان بالدرجة نفسها من CVSS أولويتين مختلفتين.
نعم — بعد المعالجة، نعيد اختبار النتائج المُبلَّغ عنها للتأكّد من ثبات كل إصلاح. وتعتمد المدة على حجم التطبيق وتعقيده؛ وعادةً يستغرق التقييم المعتاد نحو أسبوع إلى ثلاثة أسابيع، ونقدّم تقديراً محدَّداً بعد تحديد النطاق.
خدمات ذات صلة
خدمات تكميلية قد تكون مفيدة لكم