Re[6]: доступ к private полям через FieldInfo
От: TK Лес кывт.рф
Дата: 08.12.04 10:53
Оценка:
Hello, "TK"
>
> LinkDemand как следует из названия будет проверяться только на jit компиляции. После этого — никаких проверок проводиться не будет.

Да и использовать его можно только для класса/метода.
Posted via RSDN NNTP Server 1.9 alpha
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[4]: доступ к private полям через FieldInfo
От: TK Лес кывт.рф
Дата: 08.12.04 10:54
Оценка:
Hello, "bobbisson"

> А>Кроме как посредством not being granted ReflectionPermission у вызывающего кода (например, настройкой политики безопасности), как это сделать из вызываемого кода я не понимаю. Наверное туплю. Большая просьба намекнуть как это можно сделать.

>
> вот именно, как защитить код от такого манипулирования?

Напиши свой собственный Runtime хост который при запуске будет конфигурировать безопасность "правильным" образом. А в самой сборке проверять, что она запущенна имменно из под проверенного хоста.
Posted via RSDN NNTP Server 1.9 alpha
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[6]: доступ к private полям через FieldInfo
От: Аноним  
Дата: 08.12.04 10:55
Оценка:
Здравствуйте, 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? Как?
Re[7]: доступ к private полям через FieldInfo
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 08.12.04 11:17
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Освещаю. В использованием политики все понятно, все можно сделать. Но вопрос заключается в том, как защитить сборку от внешнего решлекшена, скажем так, на этапе Construction, а на не этапе Deployment-а.


Речь была о подмене значения поля чужим кодом в процессе исполнения. Для сборок, которым ты не доверяешь достаточно запретить рефлекшен и проблема будет решена.
... << RSDN@Home 1.1.4 beta 3 rev. 252>>
AVK Blog
Re: доступ к private полям через FieldInfo
От: Аноним  
Дата: 08.12.04 11:50
Оценка:
>Ну и? Сборка содержащая MyClass будет лишена ReflectionPermission. Как это может защитить её от внешнего когда имеющего ReflectionPermission?

Мда... что то я не о том видимо подумал.
Вы правы, это фигня полная
________________________________
Best regards, Oleg Ufaev
Rostov .Net User Group


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.