Partilhar via


Segurança Tipo e segurança

Código de tipo seguro acessa somente os locais de memória que ele está autorizado a acessar. (Para esta discussão, segurança de tipos especificamente refere-se a segurança de tipos de memória e não deve ser confundida com segurança um sentido mais amplo de tipos.) Por exemplo, o código de tipo seguro não pode ler valores de campos privados de outro objeto. Ele acessa tipos apenas maneiras bem definidas e permitido.

Durante a compilação do just-in-time (JIT), um processo de verificação opcional examina os metadados e Microsoft intermediate language (MSIL) de um método para ser compilado em JIT, em código de máquina nativo para verificar se eles são de tipo seguro. Esse processo será ignorado se o código tem permissão para ignorar a verificação. Para obter mais informações sobre a verificação, consulte Processo de Execução Gerenciada.

Embora a verificação de segurança de tipos não é obrigatória para executar código gerenciado, o tipo de segurança desempenha um papel fundamental no isolamento de assembly e a imposição de segurança. Quando o código de tipo seguro, o common language runtime pode isolar completamente a assemblies uns dos outros. Esse isolamento ajuda a garantir que os assemblies não afetem uns aos outros e aumenta a confiabilidade do aplicativo. Componentes de segurança de tipos podem executar com segurança no mesmo processo, mesmo se eles são confiáveis em diferentes níveis. Quando o código não é um tipo de seguro, pode ocorrer a efeitos colaterais indesejados. Por exemplo, o runtime não pode impedir o código não gerenciado chamar código nativo (não gerenciado) e executar operações mal-intencionadas. Quando o código de tipo seguro, o mecanismo de imposição de segurança do runtime garante que ele não acessar o código nativo, a menos que ele tenha permissão para fazê-lo. Todo o código que não é do tipo seguro deve ter recebido SecurityPermission com o membro enum passada SkipVerification para executar.

Consulte também

Conceitos

Escrevendo verificável com código de tipo seguro

Outros recursos

Conceitos chaves sobre segurança