صائد الثغراتاختبار الاختراق

الخدمات · واجهات برمجة التطبيقات

اختبار اختراق واجهات برمجة التطبيقات REST و GraphQL

واجهات برمجة التطبيقات هي المكان الذي تعيش فيه بياناتكم فعلاً، وما التطبيق الإلكتروني أو تطبيق الجوال إلا واجهة أمامية واحدة لها، ويستطيع المهاجم أن يتجاوز التطبيق ويستدعي الواجهة مباشرة. لذلك نختبر واجهات REST و GraphQL لديكم وفق OWASP API Security Top 10، ويؤكد مختص كل نتيجة قبل أن تصل إلى تقريركم.

ما نختبره

نختبر واجهاتكم وفق قائمة OWASP API Security Top 10 لعام 2023، وهي المخاطر الخاصة بواجهات برمجة التطبيقات لا بالصفحات التي أمامها.

  • ضوابط الوصول على مستوى الكائنAPI1:2023

    هل يستطيع مستخدم أن يقرأ سجلات مستخدم آخر أو يعدّلها بتغيير معرّف في الطلب. وهي أكثر ثغرات الواجهات شيوعاً وأشدّها ضرراً.

  • المصادقةAPI2:2023

    الرموز ومفاتيح الواجهة والتعامل مع JWT وانتهاء الصلاحية وتجديدها، ونقاط النهاية التي تنسى التحقق ممن يستدعيها.

  • ضوابط الوصول على مستوى الحقولAPI3:2023

    الحقول التي لا ينبغي للمستخدم رؤيتها أو تعيينها: بيانات تُكشَف أكثر من اللازم في الردود، وإسناد جماعي يتيح للطلب الكتابة في حقول محمية.

  • استهلاك المواردAPI4:2023

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

  • ضوابط الوصول على مستوى الوظيفةAPI5:2023

    هل يستطيع مستخدم عادي الوصول إلى وظائف المسؤول باستدعاء نقطة النهاية مباشرة أو بتغيير نوع طلب HTTP.

  • مسارات الأعمال الحساسةAPI6:2023

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

  • تزوير الطلب من جهة الخادمAPI7:2023

    نقاط النهاية التي تجلب رابطاً تزوّدونها به، وقد تُوجَّه نحو شبكتكم الداخلية أو بيانات تعريف البيئة السحابية.

  • الإعداد الخاطئ للأمانAPI8:2023

    إعدادات CORS وترويسات الأمان والرسائل المسهبة عن الأخطاء والمكوّنات غير المحدّثة والإعدادات الافتراضية المكشوفة.

  • إدارة الجردAPI9:2023

    نقاط النهاية المنسية أو غير الموثّقة: إصدار /v1 قديم ما زال يعمل إلى جانب /v2، وخوادم التطوير والتجربة، والواجهات الخفية.

  • الاستهلاك غير الآمن لواجهات الأطراف الأخرىAPI10:2023

    الواجهات الخارجية التي يعتمد عليها نظامكم، وهل يثق بردودها دون التحقق منها.

REST و GraphQL

نختبر REST و GraphQL على حدّ سواء. ففي GraphQL نفحص أيضاً الاستكشاف (introspection) المتروك في بيئة الإنتاج، وعمق الاستعلام وتعقيده، وإساءة استخدام التجميع، والتحقق من الصلاحية عند كل مُحلّل (resolver) لا عند المدخل وحده. وفي REST نعمل انطلاقاً من مساراتكم، سواء أكانت موثّقة أم لا.

متى تختبرون واجهاتكم؟

  • قبل الإطلاق أو قبل أي إصدار كبير، لتعالجوا المشكلات قبل أن يستدعي شيء الواجهة في بيئة الإنتاج.
  • حين تخدم الواجهة تطبيق جوال أو تكاملاً مع شريك، حيث يكون العميل خارج سيطرتكم ويستطيع أي أحد استدعاء نقاط النهاية مباشرة.
  • حين تطلبه جهة تنظيمية أو أحد عملائكم. فواجهات برمجة التطبيقات خدمات مقدَّمة عبر الإنترنت، يوجب الضابط 2-11-3-1 من الضوابط الأساسية للأمن السيبراني على الجهات المشمولة اختبارها، ويدعو إطار الأمن السيبراني للبنك المركزي السعودي (3.2.4) إلى اختبار سنوي للخدمات المقدَّمة للعملاء وعبر الإنترنت. وحيثما تتعاملون مع بيانات البطاقات، يغطي المتطلب 11.4 من PCI DSS v4.0.1 اختبار الاختراق. اطّلعوا على صفحتي الضوابط الأساسية للأمن السيبراني ومتطلبات البنك المركزي السعودي.
  • قبل جولة تمويل أو مراجعة أمنية من عميل كبير، حين قد يُطلب منكم تقرير اختبار اختراق حديث.

ما نحتاجه منكم

  • عنوان كل واجهة في النطاق، مثل api.example.com
  • حساب تجريبي أو رمز وصول لكل دور من أدوار المستخدمين، مثل العميل والمسؤول
  • توثيق الواجهات إن توفّر لديكم: ملف OpenAPI أو Swagger، أو مخطط GraphQL، أو مجموعة Postman. ويمكننا العمل من حركة مرور ملتقطة إن لم يتوفّر
  • بيئة نختبر عليها، ويُفضَّل أن تكون البيئة التجريبية. وإن اختبرنا بيئة الإنتاج، نتفق أولاً على نوافذ الاختبار وحدود معدل الطلبات وشروط الإيقاف

ويُجرى الاختبار افتراضياً بأسلوب الصندوق الرمادي: نستدعي الواجهة بالحسابات التي تزوّدوننا بها، كما يفعل أي عميل حقيقي. وإن أمكنكم مشاركة الشيفرة المصدرية، يتيح لنا اختبار الصندوق الأبيض التعمّق أكثر.

ما تستلمونه

  • ملخص تنفيذي لمخاطركم بلغة الأعمال
  • تقرير نتائج تقني يتضمن تقييم CVSS والأدلة والطلبات الدقيقة لإعادة إظهار كل نتيجة، ليتحقق منها المطورون لديكم بأنفسهم
  • خارطة طريق للمعالجة بإرشادات تناسب بيئتكم التقنية، سواء أكانت REST أو GraphQL
  • ربط النتائج بالمتطلبات التنظيمية التي تلتزمون بها، مثل الضوابط الأساسية للأمن السيبراني وإطار الأمن السيبراني للبنك المركزي السعودي ونظام حماية البيانات الشخصية
  • بيان بمخاطر OWASP API Security Top 10 التي شملها الاختبار
  • جلسة عرض النتائج مع فريقكم
  • جولة واحدة لإعادة اختبار جميع النتائج المؤكدة خلال 90 يوماً دون تكلفة إضافية، ثم خطاب إغلاق يوثّق حالة كل نتيجة

وإذا أكدنا نتيجة حرجة، نُبلغ جهة التواصل المسمّاة لديكم خلال 24 ساعة من تأكيدها، دون انتظار التقرير النهائي.

السعر والمدة

نرسل إليكم سعراً ثابتاً وجدولاً زمنياً بعد أن نعرف حجم واجهاتكم: كم نقطة نهاية أو نوع GraphQL فيها، وكم دوراً تخدم، وهل هي REST أم GraphQL أم كلاهما. ولا نحتسب أتعابنا بالساعة، وإعادة الاختبار مشمولة.

أسئلة شائعة

ما الفرق بين اختبار واجهات برمجة التطبيقات واختبار التطبيقات الإلكترونية؟
اختبار التطبيق الإلكتروني يعمل عبر الواجهة الأمامية في المتصفح، أما اختبار الواجهة فيستدعي نقاط النهاية لديكم مباشرة كما يفعل تطبيق الجوال أو الشريك أو البرنامج الآلي. وإن كانت واجهتكم تخدم أكثر من عميل، أو لم يكن لها واجهة أمامية إلكترونية أصلاً، فهي تحتاج اختباراً مستقلاً. اطّلعوا على اختبار اختراق التطبيقات الإلكترونية.
هل تختبرون GraphQL إلى جانب REST؟
نعم. ففي GraphQL نختبر التحقق من الصلاحية عند كل مُحلّل، والاستكشاف، وعمق الاستعلام وتعقيده، إلى جانب الفحوص نفسها لضوابط الوصول ومنطق الأعمال التي نجريها على REST.
هل يكفي فحص الواجهة بأداة آلية؟
الأدوات الآلية تكشف الواضح. أما أن يقرأ عميلٌ سجلات عميل آخر بتغيير معرّف، أو أن تُتجاوز خطوة الدفع، فيعتمد على منطق أعمالكم الذي لا تستطيع الأداة الحكم عليه، ولذلك يؤكد مختص كل نتيجة.
هل يؤثر الاختبار في واجهتنا المنشورة أو في بياناتنا؟
نختبر على البيئة التي تزوّدوننا بها، ويُفضَّل أن تكون البيئة التجريبية. وإن اختبرنا بيئة الإنتاج، نتفق أولاً على نوافذ الاختبار وحدود معدل الطلبات وشروط الإيقاف، ولا نستخدم التقنيات التدميرية إلا بتفويض كتابي منكم.
هل يمكن أن يكون التقرير بالعربية؟
نعم، تختارون العربية أو الإنجليزية أو اللغتين لكل المخرجات.
ماذا يحدث لبياناتنا بعد الاختبار؟
نحفظ بيانات المشروع مشفّرة داخل المملكة، ونُتلفها عند انتهاء مدة الاحتفاظ المحددة في العقد. وعند انتهاء المشروع نطلب منكم تعطيل الحسابات والرموز التجريبية التي شاركتموها معنا أو تغيير بيانات الدخول إليها.

لنبدأ

أخبرونا بما تريدون اختباره

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

راسلونا على واتساب، يُفتح في نافذة جديدة

أسرع وسيلة للتواصل، ونحرص على الرد في يوم العمل نفسه

  • اتفاقية عدم الإفصاح قبل أي تفصيل تقني
  • سعر ثابت للنطاق المتفق عليه
  • جولة إعادة اختبار مشمولة

كيف نتعامل مع بياناتكم: سياسة الخصوصية

البريد الإلكترونيinfo@thagharat.comالهاتف+966 50 601 6914
المقرالرياض، المملكة العربية السعودية