أمان الوصول إلى التعليمات البرمجية

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

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

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

ملاحظةملاحظة

تم إجراء تغييرات كبيرة على أمان الوصول إلى التعليمات البرمجية في .NET Framework الإصدار 4.ال تغيير الأكثر أهمية هو الشفافية الأمنية، ولكن هناك أيضاً تغييرات هامة أخرى والتي قد تؤثر على أمان الوصول إلى التعليمات البرمجية.للمزيد من المعلومات حول هذه التغييرات، راجع تغييرات الأمان في .NET Framework 4.

أمان الوصول إلى التعليمات البرمجية يؤثر بشكل أساسي على التعليمات البرمجية للمكتبة والتطبيقات الموثوق بها جزئيًا. يجب على مطوري المكتبات حماية التعليمات البرمجية الخاصة بهم من الوصول غير المصرح به من التطبيقات الموثوق بها جزئيًا. التطبيقات الموثوق بها جزئياً هي عبارة عن التطبيقات التي يتم تحميلها من مصادر خارجية مثل الإنترنت. التطبيقات التي يتم تثبيتها على سطح المكتب الخاص بك أو على الإنترانت المحلية تعمل في وضع الثقة الكاملة. لا تتأثر تطبيقات الثقة الكاملة بأمان الوصول إلى التعليمات البرمجية ما لم يتم وضع علامة security-transparent (شفاف أمنياً)، لأنه يكون موثوق بها ثقة كاملة. القيد الوحيد على التطبيقات التي تطبق الثقة الكاملة و التي تم وضع علامة السمة SecurityTransparentAttribute عليها لا يمكنها استدعاء تعليمات برمجية تم وضع السمة SecurityCriticalAttribute عليها. يجب أن يتم تشغيل التطبيقات الموثوق بها جزئياً في آلية تحديد الصلاحيات (على سبيل المثال، في Internet Explorer) بحيث يمكن تطبيق أمان الوصول إلى التعليمات البرمجية. في حالة تحميل أحد تطبيقات من الإنترنت ومحاولة تشغيلها من على سطح المكتب، فسوف تحصل على NotSupportedException مع الرسالة: "تم إجراء محاولة لتحميل تجميع من موقع للشبكة والذي قد كان يمكن أن يتسبب في وضع التجميع في آلية تحديد الصلاحيات في الإصدارات السابقة من .NET Framework. هذا الإصدار من .NET Framework لا يقم بتمكين سياسة CAS بشكل افتراضي، وبذلك قد يكون هذا التحميل خطيراً. " في حال كنت متأكداً من أن هذا التطبيق يمكن الوثوق به، يمكنك تمكينه من التشغيل في وضع الثقة الكاملة باستخدام العنصر <loadFromRemoteSources>. للحصول على معلومات حول تشغيل تطبيق ما في آلية تحديد الصلاحيات، راجع كيفية القيام بما يلي: تشغيل تعليمات برمجية موثوق بها جزئياً في آلية لتحديد الصلاحيات‬‬.

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

وظائف أمان الوصول إلى التعليمات البرمجية الأساسية

يساعد أمان الوصول إلى التعليمات البرمجية على تقييد وصول التعليمات البرمجية للموارد والعمليات المحمية. في .NET Framework، يقوم أمان الوصول إلى التعليمات البرمجية بتنفيذ الوظائف التالية:

  • يقوم بتعريف الأذونات ومجموعات الأذونات التي تمثل حق الوصول إلى موارد النظام المختلفة.

  • يمكن التعليمات البرمجية من طلب أن يكون لطالبي الاستدعاء أذونات محددة.

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

  • يفرض قيود على التعليمات البرمجية في وقت التشغيل بمقارنة الأذونات الممنوحة لكل طالب استدعاء على مكدس الاستدعاءات بالأذونات التي يجب أن تكون لدى طالبي الاستدعاء.

التجوال في مكدس الاستدعاءات

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

يبين الرسم التوضيحي التالي عملية التجوال بالمكدس و التي تنتج عندما يطالب أسلوب في التجميع A4 بأن يكون لكافة طالبي الاستدعاء الإذن P.

العملية الأمنية للتجوال بالمكدس

أمان رمز الوصول

مواضيع ذات صلة

Title

الوصف

أساسيات أمان الوصول إلى التعليمات البرمجية

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

التعليمات البرمجية الشفافة أمنياً، المستوى 2

يصف نموذج الشفافية الامنية في .NET Framework 4.

استخدام المكتبات من التعليمات البرمجية الموثوق بها جزئياً

يوضح كيفية تمكين المكتبات من الاستخدام مع التعليمات البرمجية غير المُدارة وكيفية استخدام المكتبات من التعليمات البرمجية غير المُدارة.

كتابة مكتبات فئات آمنة

يصف الاعتبارات الأمنية لمكتبات الفئة.

كتابة عناصر تحكم مُدارة آمنة

يصف الاعتبارات الأمنية لتطوير ونشر عناصر التحكم المُدارة.

إنشاء أذونات الوصول للتعليمات البرمجية الخاصة بك.

يصف كيفية إنشاء الأذونات المخصصة.

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

يقوم بتوفير نظرة عامة على العديد من المصطلحات والمفاهيم الأساسية المستخدمة في نظام أمان .NET Framework.

الأمان المستند إلى الدور

يصف كيفية دمج الأمان استناداً إلى الأدوار.

خدمات التشفير

يصف كيفية دمج التشفير في التطبيقات الخاصة بك.

أدوات الأمان (NET Framework.)

يصف الأدوات المستخدمة في تطبيق وإدارة نظام أمان .NET Framework.