Gewusst wie: APTCA-Assemblys für teilweise vertrauenswürdigen Code unzugänglich machen
Das AllowPartiallyTrustedCallersAttribute-Attribut (APTCA-Attribut) ermöglicht es teilweise vertrauenswürdigem Code, auf voll vertrauenswürdigen Code in signierten Assemblys zuzugreifen. Durch Anwenden des APTCA-Attributs auf eine Assembly wird sie als Assembly gekennzeichnet, die während ihrer gesamten Lebensdauer teilweise vertrauenswürdige Aufrufer zulässt. Wenn eine Assembly nach ihrer Installation geschützte Ressourcen für teilweise vertrauenswürdigen Code verfügbar macht, kann dies ein Sicherheitsrisiko darstellen. Sie können dieses Problem beheben, indem Sie einen Registrierungswert festlegen und damit angeben, dass das APTCA-Attribut für diese Assembly zu ignorieren ist.
Wichtig |
---|
Die Möglichkeit, teilweise Vertrauenswürdigkeit aus einer Assembly zu entfernen, hängt, wie im folgenden Verfahren beschrieben, von einem Registrierungsschlüssel ab.Wenn eine Anwendung unter einem Konto ausgeführt wird, das nicht über die ACL-Berechtigung (Access Control List) zum Zugreifen auf den Registrierungsschlüssel verfügt, ist die Einstellung wirkungslos, und teilweise vertrauenswürdige Aufrufer können auf die Assembly zugreifen.Dies verursacht eine unbeabsichtigte Ausweitung von Berechtigungen.Stellen Sie sicher, dass ACL-Berechtigungen für diesen Schlüssel konfiguriert werden, damit er für alle Assemblys lesbar ist. |
So entfernen Sie teilweise Vertrauenswürdigkeit aus einer Assembly
Erstellen Sie in der Systemregistrierung unter dem HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Policy\APTCA-Schlüssel einen Schlüssel. Verwenden Sie einen Schlüsselnamen, der den starken Namen für die Assembly enthält. Dieser Name sollte den einfachen Namen, die Versionsnummer, die Kultur (sie kann neutral sein), den Token für den öffentlichen Schlüssel und die Dateiversion der Assembly enthalten. Nachfolgend sehen Sie ein Beispiel für einen gültigen Schlüssel: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Policy\APTCA\Microsoft.Office.Interop.Visio, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, FileVersion=11.0.3216.0.
Erstellen Sie einen DWORD-Wert mit dem Namen APTCA_FLAG und dem Wert 1, damit die teilweise Vertrauenswürdigkeit aus der Assembly entfernt wird.