تُعدّ سياسة البرنامج ضرورية لأيّ VDP ويجب إعدادها بعناية. إنّ سياسة البرنامج هي أول ما يراه الباحثون في مجال الأمان عند المشاركة في برنامج تطوير البرامج (VDP). فهو يحدد أسلوب البرنامج ويحدد التوقعات ويحدد التزامك بالباحثين الذين يختارون المشاركة.
كيفية إنشاء سياسة البرنامج واستضافتها
اتّبِع الإرشادات الواردة في ما يلي لصياغة سياسة البرنامج الخاصة بحساب مطوّر البرامج الخاص بك. تتكون سياسات البرنامج عادةً من صفحة واحدة إلى ثلاث صفحات وتشمل عادة المواضيع التالية:
- وعد الباحثين
- إرشادات بشأن إجراء الفحوصات
- نطاق البرنامج
يجب أن تكون سياسة البرنامج متاحة لجميع الباحثين المحتملين. إذا كنت تخطّط لإطلاق VDP بشكل خاص لعدد قليل من الباحثين الذين تمت دعوتهم، يجب توفّر نوع من التحكّم في الوصول إلى سياسة البرنامج لجعله متاحًا للباحثين الذين دعوتهم، ولكن يقتصر على غيرهم. كما يحتاج الباحثون أيضًا إلى طريقة لإرسال التقارير، مثل نموذج ويب أو عنوان بريد إلكتروني بديل متصل بنظام حجز تذاكر لتتبع التقارير. ضع ذلك في الاعتبار أثناء إعداد موارد VDP عبر الإنترنت.
تقدّم منصّات الإفصاح عن الثغرات الأمنية التابعة لجهات خارجية ومكافآت المكافآت إمكانيات بشكل عام، مثل:
- طريقة تتيح لك إنشاء سياسة وتعديلها ونشرها
- عناصر التحكم في الوصول لإنشاء برنامج خاص
- دعوة المخترقين تلقائيًا بوتيرة مريحة
- وظائف البريد الوارد لتسهيل معالجة التقارير الواردة
وتوفّر منصّات الجهات الخارجية أيضًا مجموعة متنوّعة من الخدمات الاستشارية للمساعدة في تسهيل عملية إنشاء VDP وإطلاقها. تتوفر عادةً الأنظمة الأساسية للجهات الخارجية والخدمات الاستشارية بتكلفة. فكر في تكاليف وفوائد استخدام الجهات الخارجية مقابل إنشاء برنامجك وإدارته داخليًا لتحديد أفضل مسار لمؤسستك.
للحصول على مزيد من الإلهام بشأن ما يجب تضمينه في سياسة البرنامج، فاقرأ "A Framework for a Analvability Removals Program for Online أنظمة وزارة العدل الأمريكية.
الجهات المعنيّة بسياسات البرنامج
أثناء صياغة سياسة البرنامج، فكّر في كيفية العمل مع الجهات المعنية. قد تقدم فِرَق متعددة معلومات عن الاعتبارات الواجب مراعاتها في سياستك.
جهة معنيّة | الاعتبارات |
---|---|
شؤون قانونية |
|
إيطاليا |
|
هندسة |
|
PR |
|
الأمان |
|
وعد الباحثين
ويوضح وعد الباحث التزامات المنظمة بالمشاركة في البحث الذين يتصرفون بحسن نية من خلال اتباع إرشادات الاختبار الموضحة في السياسة. على سبيل المثال، الالتزام بالاستجابة إلى جميع تقارير الأمان الواردة ضمن إطار زمني محدد، بالإضافة إلى اتّخاذ قرارات بشأن تقارير قبول الثغرات الأمنية وقبولها.
مثال:
<اسم المؤسسة> ملتزم بالعمل مع باحثين في مجال الأمان للمساعدة في تحديد الثغرات الأمنية في أنظمتنا وخدماتنا وإصلاحها. وطالما أنك تتصرف بحسن نية وتلتزم بالإرشادات الموضحة في هذه السياسة، سنبذل قصارى جهدنا للالتزام بما يلي:- تقديم رد أولي على تقرير الثغرات الأمنية لديك في غضون ثلاثة أيام عمل
- يُرجى تحديد ما إذا كنا سنقبل (أو نعتزم إصلاحه) أو نرفض (يُرجى تحديد تقريرك على أنه مخاطر إيجابية أو مقبولة) الإبلاغ عن الثغرات الأمنية في غضون عشرة أيام عمل
- اطّلِع على آخر الأخبار حول مدى التقدّم المحرز في معالجة التقارير التي نتلقاها منك
إنّ استخدام لغة قانون السلامة في سياسة البرنامج الخاصة بك يساعد في طمأنة الباحثين بأنّه لن يتم اتّخاذ أي إجراء قانوني ضد فِرق الاختبار الخاصة بك لأنّها تعمل بحسن نية وتلتزم بجميع الإرشادات الموضّحة في السياسة.
إرشادات بشأن إجراء الفحوصات
تصف إرشادات الاختبار اختبار الأمان الذي يقع في نطاق VDP، بالإضافة إلى الاختبار الذي لا يقع في نطاقه ويجب أن يتجنبه الباحثون. إذا كانت هناك أنواع معينة من الثغرات الأمنية التي تريد أن يركز عليها الباحثون، فإن هذا القسم مكان جيد لإلقاء الضوء عليها.
مثال:
عند إجراء اختبار الأمان، يُرجى الالتزام بالإرشادات
التالية:
- اختبِر حسابك وحساباتك فقط (مثل إنشاء حسابات اختبارية). إذا حدّدت ثغرة أمنية قد تؤدي إلى الوصول إلى بيانات مستخدمين آخرين، يُرجى التواصل معنا أولاً قبل إجراء المزيد من الاختبارات.
- في حال وصولك بدون قصد إلى بيانات مستخدمين آخرين في اختبارك، يُرجى إعلامنا بدون تخزين أي من بيانات المستخدمين هذه.
- لا تجري اختبارات تؤدي إلى رفض شروط الخدمة أو إلى تراجع خدمات الإنتاج.
- إنّ الهندسة الاجتماعية خارج نطاق هذا البرنامج، لذا لا تحاول إجراء هندسة اجتماعية على مؤسستنا أو مستخدمينا.
نحن مهتمون بشكل خاص بالأنواع التالية من الثغرات الأمنية
والآثار المترتبة على ذلك:
- تنفيذ الرمز عن بُعد
- XSS، ما يؤدي إلى الوصول إلى بيانات حسّاسة (مثل معلومات الجلسة)
- إدخال SQL مما يؤدي إلى الدخول إلى بيانات أو وظائف حساسة
- عيوب منطق العمل التي تؤدي إلى الوصول إلى البيانات الحساسة أو الوظائف
نحن أقل اهتمامًا بالأنواع التالية من الثغرات الأمنية، التي يُرجَّح
أن يتم
رفضها كإيجابيات خاطئة أو مخاطر مقبولة:
- نقص عنوان X-Frame-Options على الصفحات بدون وظائف مُغيِّرة للحالة
- نتائج الفحص التلقائي التي لم يتم التحقّق منها
- المشاكل التي لا يُحتمل أن تكون قابلة للاستغلال و/أو التي ليس لها أثر أمني حقيقي
النطاق
ويحدّد النطاق مواد العرض التي يمكن للباحثين اختبارها وفقًا لها، بالإضافة إلى مواد العرض التي لا يتم اعتبارها جزءًا من VDP. يجب مراعاة النطاق بعناية وأن يكون واسعًا قدر الإمكان بدون زيادة الحمل على فريقك. كلما زادت استعداداتك لوضعها في نطاقها، زاد احتمال تفاعلك مع الباحثين الأمنيين. ومع ذلك، لا تجعل النطاق واسعًا جدًا بحيث لا يتمكن فريقك من مواكبة التقارير الواردة. ابدأ ببعض مواد العرض في النطاق. توسيع النطاق للحصول على فكرة أفضل عن حجم التقرير الذي ستتلقاه. قبل إتاحة بيانات VDP للجمهور مع مرور الوقت، حاوِل أن يكون لديك كل المعلومات اللازمة.
في ما يتعلق بكيفية تحديد نطاقك ضمن سياسة البرنامج، فإن إضافة تفاصيل حول كل مادة عرض أو منطقة تساعد باحثي الأمان في معرفة ما يهمك ومكان تركيز جهودهم. يمكنك أيضًا تضمين نصائح حول كيفية الاختبار الآمن لمواد العرض. وفي ما يلي مثال لذلك:
مادة العرض | mail.example.com |
---|---|
الوصف | النطاق الأساسي للمستخدمين للوصول إلى بريدهم الإلكتروني. |
الثغرات الأمنية والتأثيرات المثيرة للاهتمام |
|
المشاكل التي يُحتمل رفضها |
|
إرشادات الاختبار | لا تجري الاختبارات إلا على الحسابات التي تمتلكها أو لديك موافقة صريحة على الاختبار. عند إنشاء حسابات اختبارية، الرجاء تضمين "vdptest" في مكان ما في اسم المستخدم. يمكنك إنشاء حسابات تجريبية على mail.example.com/new. |
وهذا تقسيم تفصيلي إلى حد ما. بدلاً من ذلك، يمكنك تضمين قائمة بسيطة بمواد العرض في النطاق وخارجه:
ضمن النطاق
- mail.example.com
- example.com
خارج النطاق
- blog.example.com
تحديد مصدر VDP
يجب استخدام موارد معيّنة قبل إطلاق VDP. ستحتاج إلى موارد لـ:
- مراجعة تقارير الثغرات الأمنية الواردة
- التواصل مع المخترقين
- العثور على مالكي مواد العرض والإبلاغ عن الأخطاء
- إصلاح الأخطاء
- إدارة الثغرات الأمنية / المتابعة عند إصلاح الخلل
العودة إلى الأطراف المعنية الأساسية
إذا لم يسبق لك إجراء محادثات مع الجهات المعنيّة الرئيسية التي ناقشتها سابقًا في مخطّط تطوير البرامج (VDP)، ننصحك بمراجعتها سابقًا للتأكّد من توافقها مع المخطّط الزمني لإطلاقها، بالإضافة إلى وضع قائمة انتظار للموارد اللازمة لعملية الإطلاق. على سبيل المثال، قد ترغب في العمل مع القيادة الهندسية للتأكد من أن فِرَقهم مستعدة للتدفق المُحتمَل لأخطاء الأمان خلال الأسابيع القليلة الأولى بعد الإطلاق. ضمن فريق الأمان في مؤسستك، تأكَّد من أنّ أنظمة الفرز في أنظمة الرصد والاستجابة على عِلم بتاريخ إطلاق VDP، وتأكّد من تخصيص المزيد من الوقت والموارد عند بدء الاختبار. ستحتاج أيضًا إلى تكوين فريق للمساعدة في دعم العمليات اليومية لـ VDP.
إنشاء فريق العمل
يتطلب تشغيل VDP قدرًا لا بأس به من العمل التشغيلي الذي يستند إلى المقاطعات. إذا حاولت مراجعة كل تقرير يتضمّن ثغرات أمنية والتحقّق منه فنيًا والاستجابة له، بالإضافة إلى الإبلاغ عن كل خطأ، وتتبُّع الحالات، ونقل التحديثات إلى الباحثين بنفسك، قد تُصاب بالإرهاق. حتى إذا لم يكن لديك فريق أمان كبير، يمكنك البحث عن متطوعين مهتمين بالأمان للمساعدة في بناء فريق للمساعدة في تشغيل مشروع VDP وتشغيله. ستظل بحاجة إلى "مالك" أو "قائد" محدد في VDP، ويكون مسؤولاً في النهاية عن نجاحه، ولكنك ستحتاج أيضًا إلى فريق لدعم ذلك القائد.
إنشاء جدول زمني أثناء العمل
بعد الحصول على الموارد ورغبتك في تقديم المساعدة بشأن VDP، ضع بعض البنية خلفه من خلال إعداد جدول زمني في الوقت المناسب. يمكنك إنشاء ذلك كيفما تشاء، إلا أن التدوير الأسبوعي هو إجراء شائع إلى حد ما. عندما تكون في الخدمة خلال الأسبوع، تقع على عاتقك مسؤولية:
- Triage - مراجعة تقارير الثغرات الأمنية الواردة
- إدارة الثغرات الأمنية - دفع الثغرات الأمنية الحالية
- راجِع الأخطاء التي تم الإبلاغ عنها خلال الأسابيع الماضية للتأكّد من أنّ عملية المعالجة تتقدّم بناءً على المعايير الشدّية والمخططات الزمنية لمعالجة المشاكل.
- استخدم نصائح من البحث عن المالكين للمساعدة في إقناع المالكين بالعمل على معالجة هذه الأخطاء
- التواصل - تقديم تحديثات لباحثي الأمان حول
التقارير الحالية
- قد يطلب الباحثون بشكل استباقي تحديثات حول التقارير الحالية، تحقق من ذلك ورد عليها حسب الحاجة
- إذا تم إصلاح ثغرة أمنية، فأبلغ الباحث بذلك حتى يدرك أن عمله الجاد أدى إلى تغيير إيجابي في مؤسستك. ويمكنك أيضًا تضمين لغة نموذجية تطلب من الباحث أن يخبرك إذا فاتك أي شيء في الحل، أو إذا كان من الممكن تجاوز الحل في بعض الحالات.
واعتمادًا على عدد التقارير التي تتلقاها، ومدى تعقيد هذه التقارير، ومهارات ومهارات الأفراد أثناء العمل، يمكن أن تستغرق هذه المهمة وقتًا يتراوح بين بضع ساعات إلى أسبوع كامل. تتضمن النصائح لإجراء عملية التناوب بنجاح أثناء العمل:
- تأكد من أن فريقك مستعد للتدخل والمساعدة في دعم مهام العمل خلال الأسابيع الثقيلة بشكل خاص.
- احرص على إتمام عملية تسليم جيدة، وإذا كانت هناك مشاكل قد تتطلب من الشخص التالي أثناء العمل لفت انتباه الشخص مباشرةً، فدوّن بعض ملاحظات التسليم أو ناقش الأمر مباشرة في نهاية الأسبوع.
- يمكنك إنشاء جدولة مبرمجة لضمان معرفة الجميع لأوقات عملهم. يمكن أن يتم ذلك بسهولة إنشاء إدخالات تقويم متكررة لكل فرد.
- وتحقّق مع الشخص المناوب لا سيّما في بداية مخطّط تطوير البرامج (VDP) الخاص بك للتأكّد من أنّه يتذكّر أنّه أسبوعه، وأن يتحقّق ممّا إذا كان بحاجة إلى أيّ مساعدة. إذا كانت لديك موارد أكثر شئًا في عملية التناوب، فاحرص على الاستعانة بموارد أكبر للراشدين لضمان شعورهم بالارتياح وطرح أسئلة أثناء زيادة المستوى.
- تمتع بعملية مرنة لتبديل الأسابيع. حتمًا سيواجه أحد الأشخاص حالة طارئة ويحتاج إلى أخذ إجازة خلال الأسبوع، أو أن يأخذ شخص ما إجازة، وما إلى ذلك. وعندما يحدث ذلك، شجع الفريق على تبديل الأسابيع حسب الحاجة لملاءمة الجداول الزمنية للجميع.
- أنشئ "ورقة الملاحظات الموجزة" واجبة التحديد التي تحدد الواجبات التي يجب تغطيتها، بما في ذلك الوثائق حول كيفية القيام بذلك.
اختيار الفريق الداخلي مقابل الطرف الثالث
استندت معظم الإرشادات إلى الآن على كيفية إنشاء وتشغيل VDP داخل شركتك. تتوفّر مجموعة متنوعة من الخدمات الاستشارية والأنظمة الاستشارية التي يمكن أن تساعدك في إنشاء مشروع VDP وتشغيله. وعادةً ما تكون هذه الجهات الخارجية مزودة بتكلفة، ولكنها قد تكون مفيدة في توجيهك حول كيفية إنشاء VDP وإطلاقه وتشغيله. حتى أن بعض هذه الخدمات توفر خدمات فرز للمساعدة في مراجعة تقارير الثغرات الأمنية الواردة من أجلك، والمساعدة في التعامل مع المخترقين، وتصعيد التقارير الصالحة فقط إلى فريقك. يعتمد تحديد ما إذا كنت تنشئ هذه العملية داخليًا أو تستخدم نظامًا أساسيًا لجهة خارجية على متطلباتك والموارد المتاحة. إذا كانت ميزانيتك كبيرة ولكنك لا تملك كثيرًا من الموظفين، فإن الاستفادة من طرف ثالث للمساعدة في تشغيل برنامجك قد يكون مفيدًا. إذا كان الأمر عكس ذلك، فقد يكون من المفيد تخصيص بعض الوقت لبناء برنامجك بنفسك.
تلقي التقارير
إذا قررت استخدام نظام أساسي لجهة خارجية، فيجب أن يكون هناك وسيلة للمخترقين لإرسال تقارير إليك مباشرةً. إذا أنشأت برنامجًا في شركتك، فستحتاج إلى إنشاء ذلك بنفسك. يمكن أن يكون هذا عنوان بريد إلكتروني ينشئ تلقائيًا تذكرة أو خطأ في أداة تتبع المشكلات (على سبيل المثال security@example.com)، أو قد يكون نموذج ويب يتضمن حقول نماذج مطلوبة تم ربطها من صفحة برنامجك أو على الصفحة نفسها. مهما كان الشكل الذي تستخدمه، تعد هذه أفضل فرصة لإعلام المخترقين بالتنسيق الذي ترغب في تلقي تقاريرك به. تذكّر أن تطلب من المخترقين إرسال التقارير بتنسيق معيّن لا يضمنوا ذلك دائمًا، ولكن لا مانع من سؤالهم. في ما يلي مثال على ما قد تطلبه في نموذج إرسال التقرير:
العنوان: [يُرجى إضافة وصف من سطر واحد للمشكلة، مثل "XSS في
mail.example.com
نتائج سرقة الجلسة"]
1-
2-
3-
سيناريو الهجوم والأثر: [كيف يمكن استغلال ذلك؟ ما هو تأثير الأمان في هذه المشكلة على
؟]
نصيحة إصلاحية: [اختياريًا، إذا كان لديك أي نصيحة بشأن كيفية
إصلاح هذه المشكلة أو معالجتها، يمكنك إضافتها هنا.]