Hello, "TK"
>
> LinkDemand как следует из названия будет проверяться только на jit компиляции. После этого — никаких проверок проводиться не будет.
Да и использовать его можно только для класса/метода.
Posted via RSDN NNTP Server 1.9 alpha
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Hello, "bobbisson"
> А>Кроме как посредством not being granted ReflectionPermission у вызывающего кода (например, настройкой политики безопасности), как это сделать из вызываемого кода я не понимаю. Наверное туплю. Большая просьба намекнуть как это можно сделать.
>
> вот именно, как защитить код от такого манипулирования?
Напиши свой собственный Runtime хост который при запуске будет конфигурировать безопасность "правильным" образом. А в самой сборке проверять, что она запущенна имменно из под проверенного хоста.
Posted via RSDN NNTP Server 1.9 alpha
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте, TK, Вы писали:
TK>Hello,
>>
>> Раз зубры молчат, предлагаю прежний CAS. Некрасиво, но можно на все приватные члены подлежащие защите зааплаить StrongNameIdentityPermissionAttribute. Что-то типа:
>>
>> >> public class MyClass
>> {
>> [StrongNameIdentityPermission(SecurityAction.LinkDemand,
>> PublicKey="0024000 ......... (full PK blob) 44ad7d0b3ef4fbd",
>> Name="MyClassAssembly")]
>> private double _oneRubleField;
>> }
>>
TK>LinkDemand как следует из названия будет проверяться только на jit компиляции. После этого — никаких проверок проводиться не будет.
Ага. Только при использовании решлекшена LinkDemand превращаются в Demand, так что произойдет проверка всего стека. В общем, я думаю, такую защиту не обойти (при условии, что у "злоумышленника" нет нашего приватного ключа, естно). А вы думаете, что в таком варианте можно изменить oneRubleField? Как?
Здравствуйте, <Аноним>, Вы писали:
А>Освещаю. В использованием политики все понятно, все можно сделать. Но вопрос заключается в том, как защитить сборку от внешнего решлекшена, скажем так, на этапе Construction, а на не этапе Deployment-а.
Речь была о подмене значения поля чужим кодом в процессе исполнения. Для сборок, которым ты не доверяешь достаточно запретить рефлекшен и проблема будет решена.
... << RSDN@Home 1.1.4 beta 3 rev. 252>>
>Ну и? Сборка содержащая MyClass будет лишена ReflectionPermission. Как это может защитить её от внешнего когда имеющего ReflectionPermission?
Мда... что то я не о том видимо подумал.
Вы правы, это фигня полная

________________________________
Best regards, Oleg Ufaev
Rostov .Net User Group
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение