Considerações de segurança do Visualizador
This topic applies to:
Edition |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
Managed only |
||||
Pro, Premium e Ultimate |
Managed only |
Writing a Visualizer envolve possíveis ameaças à segurança. Nenhuma exploração conhecida no momento existe para essas ameaças potenciais, mas os desenvolvedores devem estar cientes delas e tomar precauções de segurança apropriadas, conforme descrito aqui, para se proteger contra futuras explorações.
Debugger visualizers require greater privileges than are allowed by a partial trust application. Visualizers will not load when you are stopped in code with partial trust. To debug using a visualizer, you must run the code with full trust.
Possível mal-intencionado componente de depuração
Visualizadores consistem em pelo menos duas classes: um lado do depurador e um lado a ser depurado. Visualizadores são normalmente implantados em conjuntos separados colocados em diretórios especiais, mas também podem ser carregados fora de um elemento a ser depurado. Quando isso ocorre, o depurador leva o código fora do elemento a ser depurado e executa-lo dentro do depurador com confiança total.
A execução de código do debuggee side com confiança total se torna problemática, quando o depurado não é totalmente confiável. Se um visualizador tenta carregar um assembly de confiança parcial do elemento a ser depurado no depurador, Visual Studio terminará o visualisador.
No entanto, uma vulnerabilidade secundária ainda existe. O debuggee side pode associar a um lado do depurador que foram carregado a partir de outra fonte (e não o debuggee). O debuggee side, em seguida, pode informar que confiáveis lado do depurador para executar ações em seu nome. Se a classe do lado do depurador confiável expõe um "excluir este arquivo" mecanismo, por exemplo, o depurado de confiança parcial pode invocar esse mecanismo quando o usuário invoca seu visualizador.
Para atenuar essa vulnerabilidade, lembre-se das interfaces expostas pelo seu visualizador.