• Keine Ergebnisse gefunden

.Net Security

N/A
N/A
Protected

Academic year: 2022

Aktie ".Net Security"

Copied!
21
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Security .Net

(2)

Motivation

• „Rad nicht neu erfinden“ -> Nutzung der

Sicherheitsfunktionen des Betriebssystems (zB Encryption, Authentifizierung, ...)

• Zusätzlich eigenes Sicherheitssystem: CAS

• Ziele von Code Access Security:

– Rechte für Code (nicht User) vergeben

– feinere Granularität (verschiedene Rechte für Codestücke einer Anwendung)

– sichere Ausführung von Code von verschiedenen Quellen

(3)

Role-based Security

• In den meisten Betriebssystemen verwendet

• „Sag mir, wer du bist, und ich sag dir, was du darfst“

• Principal = Identity + Roles

• -> Beispiel1

• Oft problematisch -> Code-based Security!

(4)

Code-based Security

• Auch ‚Evidence-based Security‘

• „Sag mir, woher du kommst, und ich sag dir, was du darfst“

• Rechte werden für jedes Assembly einzeln vergeben -> feine Granularität

• Kann erweitert und modifiziert werden ->

individuelle Anpassung

(5)

Permissions

• Permission: Objekt, das Rechte

repräsentiert, auf eine geschützte Ressource zuzugreifen

• Permission Set: Menge von Permissions höchstens ein Objekt pro Permissiontyp -> Vereinigung der Objekte

(6)

Zuweisung von Rechten (1)

Evidence + Security Policy = Permission Set

(7)

Evidence

• Beschreibt Herkunft des Assemblies

• 7 vordefinierte Evidence-Typen

• Woher wurde Code geladen?

URL, Site, Zone, ApplicationDirectory

• Wer hat Code geschrieben?

StrongName, Publisher

• Allgemein: Hash

(8)

Security Policy

• Regeln zur Rechtevergabe

• Security Manager bestimmt anhand von Security Policy und Evidence die Rechte eines Assemblies

• Wird auf jede Policy Ebene angewandt

(9)

Policy Levels (1)

Enterprise Machine

User Application

Domain Granted

Permission Set

(10)

Policy Levels (2)

• Jedes Policy Level besteht aus:

– Hierarchie von Codegruppen (baumartig) – Liste mit Named Permission Sets

– Liste mit Policy Assemblies

• Durchschnitt der Permission Sets aller Ebenen = granted Permission Set

(11)

Codegruppen (1)

• Jede Codegruppe besteht aus:

– Membership Condition – Permission Set

– Attribute (LevelFinal, Exclusive)

• Permission Set eines Policy Levels = Vereinigung der Permission Sets aller passender Codegruppen

(12)

Codegruppen (2)

(13)

Zuweisung von Rechten (2)

• mögliche Rechte != erhaltene Rechte

• Ziel: nur minimale Menge von Permissions anfordern

– RequestMinimum – RequestOptional – RequestRefuse

• Zugewiesene Permissions:

(MaxGrant  (ReqMin  ReqOpt)) -

(14)

Zuweisen von Rechten (3)

(15)

Policy Enforcement implizit

(16)

Policy Enforcement explizit (1)

• Demand, Link-Demand

• Assert

• Deny

• PermitOnly

• Immer nur eine Permission kann jeweiligen Zustand annehmen, bei mehreren

Permissions

-> Permission Set

(17)

Policy Enforcement explizit (2)

• Prioritäten: Deny – Assert – PermitOnly

• Code, der Assert aufruft, muss spezielle Permission haben

• RevertAssert, RevertDeny, ...

• Keine unnötigen Stack Walks!

• Beispiel2

(18)

Policy Enforcement explizit (3)

• Imperativ: dynamisch (Demand, Assert, ...)

• Deklarativ: statisch (benutzerdefinierte Attribute) -> Beispiel3

(19)

Bedeutung für Praxis (1)

• Meist keine explizite Verwendung der CAS nötig

aber: SecurityExceptions abfangen!

• Beim Zugriff auf geschützte Ressourcen ohne Umweg über Bibliotheken

• Defaulteinstellungen modifizierbar

(20)

Bedeutung für Praxis (2)

• Selbst definierbar:

– Evidence-Typen – Permissions

– Permission Sets

• Tools für Konfigurationen:

– mscorcfg.msc – caspol.exe

(21)

Danke für die

Aufmerksamkeit!

Referenzen

ÄHNLICHE DOKUMENTE

Nach der Berichterstattung in dieser Woche über Engpässe bei der Lieferung von Bauteilen für die Unterstützungskonstruktion zum Abriss der Pilzhochstraße haben sich zahlreiche

Zuerst wird der bekannte Text vorgelesen und nach der Pause beginnt der zweite Leseblock mit dem unbekannten Text.. Die Schülerinnen und Schüler werden von einer unabhängigen

Sollte ein Kind nicht am Wettbewerb teilnehmen können, ist so für Ersatz gesorgt, auch die moralische Unterstützung aus den eigenen Reihen ist hiermit gesichert..

[r]

Darauf je- denfalls deuten Tätowierungen hin, die überwiegend an jenen Punkten seines Körpers entdeckt wurden, die auch heute für die Akupunktur genutzt werden.. Ob „Ötzi“

Stationäre Kessel erhalten stets Sicherheitsventile mit Gewichtsbelastung, und zwar durch Hebel- übertragung, weil für eine direkte Belastung zu große Gewichte erforderlich würden.

Damit eine Kontrolle auf den Heizer ausgeübt werden kann, werden die Manometer häufig auch mit Maximum- und Minimumzeiger ausgerüstet, oder es werden selbstregi- strierende

Intuitiv ist klar: Je stärker die magnetische Wechselwirkung mit der Störstelle ist, desto größer ist der Einfluss auf die Cooper-Paare und desto mehr reduziert sich