Вопросы безопасности визуализатора
Обновлен: Ноябрь 2007
Этот раздел применим к:
Выпуск |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
Только управляемый код |
|||
Standard |
Только управляемый код |
|||
Pro и Team |
Только управляемый код |
Обозначения:
Применимо |
|
Неприменимо |
|
Команда или команды, скрытые по умолчанию. |
Создание визуализатора может быть потенциально небезопасным. В настоящее время нет известных примеров использования потенциальных угроз, но разработчикам следует учитывать возможность разработки вредоносного кода в будущем и принимать соответствующие меры безопасности, описанные в данном разделе.
Для визуализаторов отладчика необходимы более широкие привилегии, чем те, которые назначаются приложениям с частичным доверием. Визуализатор не загрузит переменную или объект, если остановка произошла в коде с частичным доверием. Для отладки с помощью визуализатора необходимо запустить код с полным доверием.
Возможные вредоносные компоненты отлаживаемого кода
В визуализатор входят как минимум два класса: один из них используется на стороне отладчика, а другой — на стороне отлаживаемого кода. Визуализаторы часто развертываются в отдельных сборках, для которых используются специальные каталоги, но их можно загружать и из отлаживаемого кода. В последнем случае отладчик получает код из отлаживаемой программы и запускает его в своем контексте с полным доверием.
Выполнение кода из отлаживаемой программы с полным доверием становится проблематичным, если отлаживаемый код не пользуется полным доверием. Если визуализатор пытается загрузить сборку с частичным доверием из отлаживаемого кода в отладчик, Visual Studio завершит работу визуализатора.
Однако менее серьезные уязвимости все же остаются. Отлаживаемая программа может связать с отладчиком объекты, загруженные из другого источника (не из отлаживаемого кода). После этого отлаживаемый код может послать доверенному отладчику команду на выполнение действий от своего имени. Например, если доверенный класс со стороны отладчика предоставляет механизм "удаления этого файла", отладочный код с частичным доверием может запустить его, когда пользователь вызывает визуализатор.
Чтобы предотвратить эту угрозу, внимательно анализируйте интерфейсы, предоставляемые созданным визуализатором.
См. также
Задачи
Практическое руководство. Написание визуализатора