Sdílet prostřednictvím


Psaní ověřovatelného kódu zajišťující bezpečnost typů

Kód zajišťující bezpečnost typů je kód, který přistupuje k typům pouze v dobře definovaných přípustných způsobech. Například předání odkazu na platný objekt, kód zajišťující bezpečnost typů může přistoupit do paměti na pevné pozici odpovídající skutečným členům pole. Pokud však kód přistoupí k paměti na libovolné pozici mimo rozsah paměti, která patří těmto veřejně vystaveným polím objektu, nezajišťuje bezpečnost typů.

Kompilace za běhu (JIT) provede proces nazvaný ověření, který kontroluje kód a pokusí se zjistit, zda je to kód zajišťující bezpečnost typů. Kód, který je ověřené během ověření jako zajišťující bezpečnost typů se nazývá ověřovatelný kód zajišťující bezpečnost typů. Kód může být zajišťující bezpečnost typů, který dosud nebyl ověřovatelný zajišťující bezpečnost typů, kvůli omezení procesu ověření nebo kompilátoru. Ne všechny jazyky jsou zajišťující bezpečnost typů a některé kompilátory jazyka, jako je například Microsoft Visual C++, neumí generovat ověřovatelný spravovaný kód zajišťující bezpečnost typů. Informace, zda kompilátor jazyka, který používáte, generuje ověřovatelný kód zajišťující bezpečnost typů, naleznete v dokumentaci kompilátoru. Pokud používáte jazyk kompilátoru, který generuje ověřovatelný kód zajišťující bezpečnost typů pouze v případě, že se chcete vyhnout určitým jazykovým konstrukcím, můžete použít Windows Software Development Kit (SDK) Nástroj PEVerify k zjištění, zda je váš kód ověřovatelný zajišťující bezpečnost typů.

Kód, který není ověřovatelný zajišťující bezpečnost typů se může pokusit o provedení, pokud zásady zabezpečení umožňují kódu obejít ověření. Avšak vzhledem k tomu, že bezpečnost typů je důležitou součástí uzavíracího mechanismu sestavení v modulu runtime, zabezpečení nelze spolehlivě vynutit, pokud kód porušuje pravidla bezpečnosti typů. Ve výchozím nastavení je kód, který není zajišťující bezpečnost typů, povolen ke spuštění pouze v případě, že pochází z místního počítače. Mobilní kód by měl proto být zajišťující bezpečnost typů.

Viz také

Odkaz

Peverify.exe (PEVerify Tool)

Koncepty

Zabezpečení přístupu kódu

Základy zabezpečení přístupu kódu

Proces spravovaného spouštění