Sdílet prostřednictvím


Souhrn změn v zabezpečení přístupu ke kódu

V .NET Framework verze 4, zabezpečení přístupu ke kódu (CAS) prošlo zásadní změny ve smyslu zjednodušení systému zabezpečení. V dřívějších verzích.NET Framework práva spravované aplikace byly určeny pravidla zásad zabezpečení, které byly nastaveny celého systému k nastavení za běhu. Začínající .NET Framework 4:

  • Zásady zabezpečení již v platnosti. Oprávnění jsou stále používány; bylo odstraněno pouze systémové zásady.

  • Přístupová práva pro aplikace jsou určeny dva faktory: jejich oprávnění (sada grantu stanovena jejich domény aplikace) a jejich fólie. Všechny aplikace částečné důvěryhodnosti jsou klasifikovány jako průhledný. Průhledné aplikace nemají dotčené zabezpečení. Průhlednost bylo poprvé použito pro program Microsoft Silverlight a nyní byly rozšířeny na všechny hostitelském prostředí.

  • Plochy a Místní intranet aplikací jsou udělena úplný vztah důvěryhodnosti.

Důležitá poznámkaDůležité

Odstranění zásady zabezpečení je zásadní změny CAS.ČAS sám bylo odstraněno; použití zásad (a některé požadavky oprávnění) byla odebrána.

Toto téma obsahuje stručný přehled čas změny .NET Framework 4. Další informace naleznete v tématu Změny zabezpečení v rozhraní .NET Framework 4.

Prostorová izolace a oprávnění modelu

Následující seznam popisuje model důvěryhodnosti v ploše a spravovaných aplikací .NET Framework 4. Další informace naleznete v tématu Změny zabezpečení v rozhraní .NET Framework 4.

  • Kancelářské aplikace. Jako v předchozích verzích.NET Framework úplný vztah důvěryhodnosti jsou udělena spravovaných aplikací, které jsou umístěny na ploše (Pokud jste byla stažena z webu). Aplikace, které jsou umístěny na sdílené položky v místní síti intranet jsou udělena také úplný vztah důvěryhodnosti. Pomocí zásad již lze omezit oprávnění pro aplikaci na základě jeho složky na místním pevném disku.

  • Hostované aplikace. Aplikace spuštěné v karanténě (například aplikace programu Silverlight) udělena omezenou sadu oprávnění, která určují, které zdroje počítače přístupem (například soubory, které jsou povoleny pro použití). Karantény zabezpečení umožňují identifikovat některé sestavení v karanténě zabezpečení jako důvěryhodný částečně a některé jako plně důvěryhodný. Částečné důvěryhodnosti sestavení udělena určitou sadu oprávnění určená doména aplikace (System.AppDomain), vytvořili karanténě. Některé plnou důvěryhodnost kódu v plně důvěryhodné knihovny můžete volat částečně důvěryhodného kódu. Že důvěryhodného kódu lze volání chráněným prostředkům v počítači. Však musí projít audit zabezpečení veřejně přístupné typy plně důvěryhodné a členy, které můžete volat do chráněným prostředkům. Tito členové jsou klasifikovány jako bezpečné kritické, jak je popsáno v následující části. Kód (průhledné) částečné důvěryhodnosti nelze volat a zase mohou volat do kódu kritické.

Zabezpečení průhlednosti

Zabezpečení průhlednosti odděluje od kódu zabezpečení citlivých zvýšeným zabezpečením kódu. Byl zaveden v .NET Framework verze 2.0 usnadnit audity zabezpečení pomocí kódu, který musel provádět zabezpečené jako zabezpečení kritické poznámky. To znamenalo, že jakýkoli kód, který není zabezpečení důležité (průhledné, kód) nevyžaduje důkladnou revizi. Však v těchto dřívějších verzích.NET Framework průhlednost byla použita pouze podle kódu společnosti Microsoft.

V .NET Framework 4, tento model byl rozšířen a pravidla vloží zapnout zabezpečení průhlednosti do vynucení modelu. V tomto modelu rozšířeného kódu se zvýšeným zabezpečením a callable částečné důvěryhodnosti aplikace je snadno identifikovatelné. Dále sníží plochy má být auditován.

Následující tabulka uvádí kategorie průhlednost a souvisejících atributů pro vytváření poznámek v kódu.

Kategorii zabezpečení

Atribut

Popis

Průhledný

SecurityTransparentAttribute

Kód, který nemá žádný účinek, který je dědičně zabezpečené.

Kritický

SecurityCriticalAttribute

Kód, který podnikat, ale nelze volat z částečné důvěryhodnosti aplikací.

Bezpečné kritické

SecuritySafeCriticalAttribute

Kód, který podnikat a lze volat z částečné důvěryhodnosti aplikací. Je bezpečné zprostředkovatelské vrstvy; jeho účelem je provedení kontroly řádného zabezpečení a ověření před voláním kódu kritické.

Průhledné kód nelze provést následující, bez ohledu na oprávnění udělená ji:

  • Obsahují kód nelze ověřit.

  • Použití platform vyvolat.

  • Provést Assert operací.

  • Volání kódu kritické.

  • Odvodit z důležitých kódu.

  • Kód, který je chráněn volání LinkDemand (, kód, který je považován za kritický).

Pokud váš kód pokusí porušení těchto pravidel, jsou vyvolání výjimky (i když má kód úplný vztah důvěryhodnosti). Další informace naleznete v tématu Změny zabezpečení v rozhraní .NET Framework 4.

Všimněte si, že citlivost zabezpečení definované v společného jazykového modulu runtime (CLR) jako akce, které jsou zakázány pro průhledné kód. Modelu průhlednosti neposkytuje ochranu proti narušení zabezpečení specifické situaci jako ukládání hesel v polích.

Princip modelu zabezpečení

  • Každý AppDomain má sadu přidružených oprávnění, je určena hostitele v hostovaném scénář. (Sada oprávnění je kód, který je hostitelem úplný vztah důvěryhodnosti.)

  • Kód částečné důvěryhodnosti je vždy průhledné; proto nelze provést akce zakázáno průhledné kódu (viz fólie).

  • Standardně plnou důvěryhodnost kódu je důležité, pokud nebyl označen jako průhledné. Pokud aplikace pracovní plochy je označeno jako průhledný, přestože má úplný vztah důvěryhodnosti nelze volat kritické kód.

  • Knihovny může být vystaven i částečné důvěryhodnosti kód hostitel a tím.NET Framework. Tyto knihovny obsahují kód průhledné, kritické a bezpečné kritické.

  • Důležité pro bezpečný kód musí před použitím důležitých funkcí poptávky příslušná oprávnění. Například File.Open požadavky metody FileIOPermission před otevřením souboru.

  • Důležité pro bezpečný kód musí také provádět další kontroly a ověřování před a po volání funkce kritické. Může mít například filtrovat před předáním částečně důvěryhodného kódu výjimky a zprávy.

  • Kritický kód má uplatnit oprávnění potřebné při volání kódu částečné důvěryhodnosti, protože kritické kód může být něco, kód částečné důvěryhodnosti není povoleno provádět.

Viz také

Koncepty

Změny zabezpečení v rozhraní .NET Framework 4

Kód transparentní pro zabezpečení