سؤال

لديّ ناقل إضافي تم إنشاؤه باستخدام System.Addin يقبل جسم طريقة محددة مسبقًا ، ويقوم بتجميع الطريقة في رمز Boilerplate ، وإنشاء التجميع وينفذ الطريقة.

مراجع التجميع System و System.Core وهو عبارة عن رمل مع

var pset = new PermissionSet(PermissionState.None);
pset.AddPermission(new SecurityPermission(SecurityPermissionFlag.Execution));

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

ثم هناك ناقلات الهجوم المحتملة المكشوفة من قبل التجميعات المشار إليها ، System و System.Core.

سؤالي هو: ما مدى أمان هذا وما هي بعض الأمثلة على الشفرة الضارة التي يمكن أن تسقط المضيف والطرق الممكنة لمنع مثل هذه الهجمات؟

تحديث: أيضًا بالنسبة لأولئك المطلعين على إطار الإضافة المدارة ، قم بتطبيق نفس السؤال على AddInSecurityLevel.Internet.

هل كانت مفيدة؟

المحلول

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top