Вопрос

Недостаток размышлений в среде хостинга средних доверия, кажется, вызвать много проблем Для многих популярных веб -приложений.

  • Почему RefretectionPermission Отключил по умолчанию со средним доверием?
  • Какой риск отражает отражение в общей среде хостинга?

Для случайной ссылки см. MSDN: как использовать среднее доверие в ASP.NET 2.0

Это было полезно?

Решение

Отражение позволяет вредоносному коду осматривать все виды секретов: не столько интеллектуальная собственность (хотя и конечно, это тоже), но данные, которые должны быть частными и безопасными, например, строки соединения, пароли, данные банковского счета и т. Д.

Конечно, многие программы разоблачают эти данные как, конечно, еще более удобно скомпрометированными векторами, но нет никаких оснований для увеличения поверхности атаки приложения.

Отредактировано, чтобы провести часть разговора из комментариев:

Вероятно, верно, что реальный риск - это неограниченный доступ к файловой системе, который превращает отражение в реальную опасность. Если плохой актер может получить сборку (или что -то, что собирается в сборку) в ваш виртуальный каталог, у вас проблемы, если у них есть разрешение на отражение. (Конечно, если это произойдет, есть и другие потенциальные проблемы, но это не должно сбрасывать со счетов эту конкретную уязвимость.)

В общей среде хостинга, это труднее предотвратить, хотя это, безусловно, невозможно. Возможно, стоит перекрепить этот вопрос Серверффол Чтобы увидеть, что говорят хорошие люди.

Другие советы

Я никогда не нашел ничего «плохого», что пользователь сможет делать с помощью отражения. Люди боятся, потому что вы можете назвать методы, которые отмечены как частные или защищенные, но из того, что я видел, ни один из них не налагает реального риска.

Скорее всего, это, по крайней мере, частично за техникой продаж, чтобы вы вышли на (полу) выделенный хостинг :)

Я нашел следующую статью MSDN по этому вопросу:

Соображения безопасности для размышлений

Эта статья эхо ответит Джеффа:

Отражение дает возможность получать информацию о типах и членах и доступа к членам. Доступ к непубличным членам может создать риск безопасности. Следовательно, код, который обращается к непубличным членам, требует отражающего средства с соответствующими флагами.

Тем не менее, я не верю, что этот риск может быть использован между учетными записями хостинга клиента. Похоже, это будет лишь личный риск. Например, используя отражение, я мог бы исследовать свои собственные собрания в моей среде хостинга. Другие клиенты, однако, не могли использовать размышления, чтобы исследовать мой собрания. Они могли только исследовать их собрания.

Это может создать проблему для одного веб -приложения, которое включает в себя несколько команд разработчиков. Одна команда разработчиков может использовать размышления, чтобы исследовать собрания другой команды разработчиков.

Тем не менее, это редкий сценарий для общей среды хостинга. Большинство общих веб -сайтов хостинга включают в себя очень маленькую команду, которая имеет полный доступ к все код. Другими словами, нет секретов. Пока сборка безопасна от других общих клиентов хостинга, тогда это не проблема.

Включение размышлений не должно представлять какого -либо риска для большинства веб -приложений общего хостинга:

<IPermission class="ReflectionPermission" version="1" Flags="RestrictedMemberAccess"/>

Пожалуйста, поправьте меня, если я ошибаюсь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top