قضية إساءة استخدام

مثال على مبدأ حالة سوء الاستخدام، والذي يمكن استخدامه في التفكير في تحديد متطلبات الأمان.

حالة سوء الاستخدام هي أداة لنمذجة العمليات التجارية تُستخدم في صناعة تطوير البرمجيات. مصطلح " حالة سوء الاستخدام" مشتق من مصطلح " حالة الاستخدام" وهو عكسه . [ 1 ] استُخدم هذا المصطلح لأول مرة في التسعينيات من قِبل غوتورم سيندر من الجامعة النرويجية للعلوم والتكنولوجيا ، وأندرياس ل. أوبدال من جامعة بيرغن ، النرويج. يصف هذا المصطلح عملية تنفيذ فعل ضار ضد نظام ما، بينما يمكن استخدام "حالة الاستخدام" لوصف أي إجراء يتخذه النظام. [ 2 ]

ملخص

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

تتمتع أداة النمذجة هذه بعدة نقاط قوة:

  • يسمح ذلك بإعطاء وزن متساوٍ للمتطلبات الوظيفية وغير الوظيفية (مثل متطلبات الأمان، ومتطلبات النظام الأساسي، وما إلى ذلك)، وهو أمر قد لا يكون ممكناً باستخدام أدوات أخرى.
  • إنها تؤكد على الأمن منذ بداية عملية التصميم وتساعد على تجنب قرارات التصميم المتسرعة.
  • إنها أداة لتحسين التواصل بين المطورين وأصحاب المصلحة، وهي ذات قيمة في ضمان اتفاق الطرفين على حلول النظام الأساسية وتحليل المفاضلة. [ 3 ]
  • غالباً ما يؤدي إنشاء حالات سوء الاستخدام إلى سلسلة من ردود الفعل التي تُسهّل تحديد المتطلبات الوظيفية وغير الوظيفية. ويؤدي اكتشاف حالة سوء استخدام في كثير من الأحيان إلى إنشاء حالة استخدام جديدة تُشكّل إجراءً مضاداً. وقد تُصبح هذه الحالة بدورها موضوعاً لحالة سوء استخدام جديدة. [ 4 ]
  • بالمقارنة مع الأدوات الأخرى، فإنها ترتبط بشكل أفضل بحالات الاستخدام ولغة النمذجة الموحدة (UML) وتسهل الاستخدام السلس للنموذج.

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

من الاستخدام إلى سوء الاستخدام

في أي قطاع صناعي، من المهم وصف سلوك النظام عند استجابته لطلب وارد من خارجه : وقد أصبحت  حالات الاستخدام [ 5 ] شائعة في تحديد المتطلبات [ 1 ] بين المهندسين بفضل ميزاتها، مثل تقنية النمذجة المرئية، فهي تصف النظام من وجهة نظر المستخدم، ويوضح تنسيقها أهداف كل مستخدم والتدفقات التي يجب على النظام تنفيذها لتحقيقها. [ 6 ]

يُعدّ نموذج حالة الاستخدام، بفضل مستوى التجريد الذي يوفره، نقطة انطلاق مناسبة لأنشطة التصميم، وذلك بفضل استخدام مخططات حالات الاستخدام في لغة النمذجة الموحدة (UML) ولغة المستخدم النهائي أو خبير المجال. ولكن في تحليلات أمن البرمجيات، ينبغي على المطورين الانتباه إلى السيناريوهات السلبية وفهمها. ولهذا السبب، ظهر مفهوم "معكوس حالة الاستخدام" في النرويج في تسعينيات القرن الماضي .

يكمن الفرق بين حالة سوء الاستخدام وحالة الاستخدام في الهدف: فحالة سوء الاستخدام تصف سلوكيات النظام المحتملة التي يعتبرها أصحاب المصلحة في النظام غير مقبولة، أو كما قال غوتورم سيندر وأندرياس ل. أوبدال، "وظيفة لا ينبغي للنظام السماح بها". [ 1 ] ويتجلى هذا الاختلاف أيضًا في السيناريوهات: فالسيناريو "الإيجابي" هو سلسلة من الإجراءات التي تؤدي إلى هدف يرغب فيه شخص أو مؤسسة، بينما السيناريو "السلبي" هو سيناريو لا ترغب المؤسسة المعنية في حدوث هدفه، أو يرغب فيه جهة معادية (ليست بالضرورة بشرية). [ 7 ]

وصف آخر للاختلاف هو [ 8 ] الذي يعرف حالة الاستخدام بأنها سلسلة كاملة من الإجراءات التي تعطي قيمة متزايدة للمستخدم، ويمكن تعريف حالة سوء الاستخدام بأنها سلسلة كاملة من الإجراءات التي تؤدي إلى خسارة للمنظمة أو لبعض أصحاب المصلحة المحددين.

بين الحالة "الجيدة" والحالة "السيئة"، تكون اللغة المستخدمة لتمثيل السيناريو مشتركة: حيث يتم تضمين مخططات حالات الاستخدام رسميًا في لغتي نمذجة محددتين من قبل OMG : لغة النمذجة الموحدة (UML) ولغة نمذجة الأنظمة (SysML)، ويساعد هذا الاستخدام لرسم العوامل وحالات سوء الاستخدام في السيناريو بشكل صريح على تركيز الانتباه عليه. [ 9 ]

مجال الاستخدام

تُستخدم حالات سوء الاستخدام بشكل شائع في مجال الأمن السيبراني. [ 10 ] ومع تزايد أهمية أنظمة تكنولوجيا المعلومات، أصبح من الضروري لكل شركة تطوير قدرتها على حماية بياناتها. [ 11 ]

لذا، على سبيل المثال، يمكن استخدام حالة إساءة استخدام لتحديد ما قد يرغب المخترق في فعله بالنظام وتحديد متطلباته. ويمكن للمطور أو المصمم بعد ذلك تحديد متطلبات المستخدم والمخترق في مخطط UML نفسه، مما يساعد بدوره في تحديد المخاطر الأمنية للنظام. [ 12 ]

المفاهيم الأساسية

يتم إنشاء مخطط لحالات سوء الاستخدام بالتزامن مع مخطط حالات الاستخدام المقابل. يقدم النموذج كيانين جديدين مهمين (بالإضافة إلى الكيانين الموجودين في نموذج حالات الاستخدام التقليدي، وهما حالة الاستخدام والجهة الفاعلة ).

  • حالة سوء الاستخدام  : سلسلة من الإجراءات التي يمكن لأي شخص أو كيان القيام بها من أجل إلحاق الضرر بالنظام.
  • المُسيء الاستخدام  : هو الشخص الذي يبدأ حالة إساءة الاستخدام. قد يكون ذلك عن قصد أو عن غير قصد.

الرسوم البيانية

يستفيد نموذج حالات سوء الاستخدام من أنواع العلاقات الموجودة في نموذج حالات الاستخدام؛ وهي: التضمين ، والتوسيع ، والتعميم ، والارتباط . بالإضافة إلى ذلك، يُقدّم النموذج علاقتين جديدتين لاستخدامهما في الرسم التخطيطي:

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

تُعطي هذه المفاهيم الجديدة، بالإضافة إلى المفاهيم الموجودة من حالة الاستخدام، النموذج الفوقي التالي، والذي يوجد أيضًا في الشكل 2 في سيندر وأوبدال (2004). [ 2 ]

الأوصاف

هناك طريقتان مختلفتان لوصف حالة سوء الاستخدام نصيًا؛ إحداهما مُضمنة في نموذج وصف حالة الاستخدام، حيث يُمكن إضافة حقل وصف إضافي يُسمى " التهديدات" . هذا هو الحقل الذي يُمكن فيه ملء خطوات حالة سوء الاستخدام (والخطوات البديلة). يُشار إلى هذه الطريقة بالأسلوب المُبسط لوصف حالة سوء الاستخدام.

هناك طريقة أخرى لوصف حالة سوء الاستخدام، وهي استخدام قالب منفصل لهذا الغرض فقط. يُقترح استعارة بعض الحقول من وصف حالة الاستخدام ( الاسم ، الملخص ، المؤلف ، والتاريخ ). كما يُعدّل هذا القالب حقلي " المسار الأساسي" و "المسار البديل" ليصفا مسارات حالات سوء الاستخدام بدلاً من حالات الاستخدام نفسها. إضافةً إلى ذلك، يُقترح استخدام عدة حقول أخرى أيضاً.

  • اسم قضية سوء الاستخدام
  • ملخص
  • مؤلف
  • تاريخ
  • المسار الأساسي
  • مسارات بديلة
  • نقاط التخفيف
  • نقاط التمديد
  • المحفزات
  • الشروط المسبقة
  • الافتراضات
  • ضمان التخفيف
  • قواعد العمل ذات الصلة
  • ملف تعريف المستخدم الذي قد يسيء استخدامه
  • أصحاب المصلحة والتهديدات
  • المصطلحات والتفسيرات
  • نِطَاق
  • مستوى التجريد
  • مستوى دقيق

كما هو واضح، فإن القائمة أعلاه شاملة للغاية بحيث لا يمكن ملؤها بالكامل في كل مرة. ليس من الضروري ملء جميع الحقول في البداية، لذا ينبغي اعتبارها وثيقة قابلة للتحديث. وقد دار نقاش حول ما إذا كان من الأفضل البدء بالرسوم البيانية أو بالوصف. ويوصي سيندر وأوبدال في هذا الشأن باتباع نفس النهج المتبع مع حالات الاستخدام.

يقترح سيندر وأوبدال الخطوات الخمس التالية لاستخدام حالات سوء الاستخدام لتحديد متطلبات الأمان:

  1. تحديد الأصول الحيوية في النظام
  2. حدد أهداف الأمان لكل أصل
  3. حدد التهديدات التي تواجه كل هدف من أهداف الأمن هذه، وذلك من خلال تحديد الجهات المعنية التي قد ترغب في إلحاق الضرر بالنظام.
  4. تحديد وتحليل المخاطر المتعلقة بالتهديدات، باستخدام تقنيات مثل تقييم المخاطر
  5. حدد متطلبات الأمان للمخاطر.

يُقترح استخدام مستودع لحالات سوء الاستخدام القابلة لإعادة الاستخدام كدعم في هذه العملية المكونة من 5 خطوات.

بحث

مجال البحث الحالي

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

تركز أبحاث أخرى على تحسين حالة سوء الاستخدام لتحقيق هدفها النهائي: ففي [ 13 ] "هناك قصور في عملية التطبيق، والنتائج عامة للغاية وقد تؤدي إلى عدم دقة تعريف المفاهيم أو سوء فهمها". ويقترحون كذلك "النظر إلى حالة سوء الاستخدام في ضوء نموذج مرجعي لإدارة مخاطر أمن نظم المعلومات (ISSRM)" للحصول على عملية لإدارة مخاطر الأمن.

تحسينات مستقبلية

حالات سوء الاستخدام معروفة جيداً لدى الباحثين. وتُظهر الدراسات المنشورة في هذا المجال هذه المعرفة، ولكن خارج الأوساط الأكاديمية، لم يتم تبني حالات سوء الاستخدام على نطاق واسع.

كما يقترح سيندر وأوبدال (مبتكرا مفهوم حالات سوء الاستخدام): "يتمثل أحد الأهداف المهمة الأخرى لمزيد من العمل في تسهيل تبني حالات سوء الاستخدام على نطاق أوسع في القطاع الصناعي". [ 2 ] ويقترحان، في المقالة نفسها، دمج حالة سوء الاستخدام في أداة نمذجة حالات الاستخدام، وإنشاء "قاعدة بيانات" لحالات سوء الاستخدام القياسية لمساعدة مهندسي البرمجيات. ينبغي على أصحاب المصلحة في النظام إنشاء مخططات حالات سوء الاستخدام الخاصة بهم للمتطلبات المحددة لمجالات مشاكلهم. وبمجرد تطويرها، يمكن لقاعدة بيانات المعرفة أن تقلل من عدد الثغرات الأمنية القياسية التي يستغلها مخترقو لامدا.

ركزت أبحاث أخرى على الحلول الملموسة المفقودة المحتملة لحالات إساءة الاستخدام: كما ذكر [ 14 ] : "مع أن هذا النهج قد يساعد في استخلاص متطلبات الأمان على مستوى عالٍ، إلا أنه لا يوضح كيفية ربط حالات إساءة الاستخدام بالسلوك المشروع والأصول الملموسة؛ لذا، ليس من الواضح ما هي حالة إساءة الاستخدام التي ينبغي أخذها في الاعتبار، ولا في أي سياق". ويمكن معالجة هذه الانتقادات من خلال الاقتراحات والتحسينات الواردة في قسم السوابق.

قد يُتيح توحيد حالة سوء الاستخدام كجزء من تدوين UML إمكانية جعلها جزءًا إلزاميًا من تطوير المشروع. "قد يكون من المفيد إنشاء تدوين خاص بوظائف الأمان، أو التدابير المضادة التي أُضيفت للتخفيف من الثغرات الأمنية والتهديدات." [ 15 ]

انظر أيضاً

مراجع

  1. 1 2 3 سيندر وأوبدال (2001). " تحديد متطلبات الأمان من خلال حالات سوء الاستخدام "
  2. 1 2 3 سيندر وأوبدال (2004). " استخلاص متطلبات الأمان من خلال حالات سوء الاستخدام " مؤرشف في 16 يوليو 2011 على موقع Wayback Machine
  3. الخبرة الصناعية الأولية لحالات سوء الاستخدام في تحليل المفاضلة (2002، بقلم إيان ألكسندر) مؤرشفة في 30 أبريل 2008 على موقع Wayback Machine
  4. إيان ألكسندر، حالات سوء الاستخدام: حالات استخدام ذات نوايا عدائية. مجلة IEEE Software ، المجلد 20، العدد 1، يناير-فبراير 2003، الصفحات 58-66. DOI: 10.1109/MS.2003.1159030
  5. جاكوبسون، "هندسة البرمجيات الموجهة للكائنات: منهج قائم على حالات الاستخدام"، 1992، أديسون-ويسلي، بوسطن
  6. غونار بيترسون، جون ستيفن "تحديد سوء الاستخدام ضمن عملية التطوير"، مجلة IEEE للأمن والخصوصية، نوفمبر/ديسمبر 2006
  7. إيان ألكسندر "حالة إساءة استخدام : حالات استخدام ذات نوايا عدائية"، عرض تقديمي
  8. جوتورم سيندر، أندرياس إل. أوبدال، "نماذج لوصف حالة سوء الاستخدام"
  9. إيان ألكسندر "حالة سوء الاستخدام : حالات الاستخدام ذات النية العدائية"
  10. أسوك ك. تالوكدر؛ مانيش تشايتانيا (17 ديسمبر 2008). هندسة أنظمة البرمجيات الآمنة . مطبعة سي آر سي. ص  47. ISBN 978-1-4200-8784-0تم الاطلاع عليه بتاريخ 5 أكتوبر 2016 .
  11. ↑ جيسبر م. جوهانسون؛ ستيف رايلي ( 27 مايو 2005). حماية شبكة ويندوز الخاصة بك: من المحيط إلى البيانات . أديسون-ويسلي بروفيشنال. ص 491. ISBN  978-0-321-33643-9تم الاطلاع عليه بتاريخ 5 أكتوبر 2016 .
  12. أسوك ك. تالوكدر؛ مانيش تشايتانيا (17 ديسمبر 2008). هندسة أنظمة البرمجيات الآمنة . مطبعة سي آر سي. ص 50. ISBN  978-1-4200-8784-0تم الاطلاع عليه بتاريخ 5 أكتوبر 2016 .
  13. رايمونداس ماتوليفيتشوس، نيكولاس ماير، باتريك هيمانز، "مواءمة حالات سوء الاستخدام مع إدارة مخاطر الأمن"
  14. فابريسيو أ. براز، إدواردو ب. فرنانديز، مايكل فان هيلست، "استخلاص متطلبات الأمان من خلال أنشطة إساءة الاستخدام"
  15. ليليان روستاد، "تدوين موسع لحالات سوء الاستخدام: بما في ذلك نقاط الضعف والتهديد الداخلي"