Security.NET Security.NET Was darf mein Code? Was darf mein Code? DEV-3 DEV-3 Michael Willers [email protected]
Apr 05, 2015
Security.NETSecurity.NETWas darf mein Code?Was darf mein Code?DEV-3DEV-3
Michael [email protected]
3
In diesem Vortrag...In diesem Vortrag...
Warum ein neues Modell? Wie funktioniert es? Wie setzt man es in der Praxis ein?
10
In der Übersicht...In der Übersicht...
Evidence
Membership Condition Membership Condition
Code Group Code Group
P PP P P PP P
Permission Set Permission Set
11
Auswerten von Code Auswerten von Code GroupsGroups
1.
1.1 1.2
1.1.1 1.1.2 1.2.1 1.2.2.
1.1.1.1 1.1.1.2 1.2.2.1 1.2.2.2
16
Der StackwalkDer Stackwalk
Methode 3
Methode 2
Methode 1
Methode 4
Methode 4 fordert Permission P an
2
P2
1 Jeder Aufrufer hat eigene Rechte
R1
R2
R3
R4
1
Sämtliche Aufrufer auf dem Stackmüssen diese Permission haben3
P
P
P
3
19
Demand und Demand und LinkDemand...LinkDemand...A
Fully Trusted
BFully Trusted
DFully Trusted
EFully Trusted
AFully Trusted
CPartially Trusted
DFully Trusted
EFully Trusted
(Link-) Demand
for FullTrust
26
TippsTipps
Vermeiden Sie LinkDemands grundsätzlich!
Vermeiden Sie Assert wann immer es irgendwie geht!
Wenn Sie den Zugriff auf eigene Ressourcen kontrollieren wollen, sollten Sie eine eigene Permission implementieren
30
TippsTipps
Setzen Sie bei allen Assemblies, die Sie ausliefern Strong Names ein( Sicherheit)!
Definieren Sie eine eigene Sandbox für Ihren Code und nutzen Sie dabei den Strong Name oder ein Zertifikat als Merkmal( Evidence)!
Achten Sie auf mögliche Sicherheitslücken( Assert und LinkDemand)!!!
31
ZusammenfassungZusammenfassung
Code Access Security bietet ein Sicherheitsmodell für mobilen Code, das auf dem Betriebssystem aufsetzt
Code wird in einer Sandbox ausgeführt, die selektiven Zugriff auf Systemressourcen erlaubt
Der Administrator definiert über Sicherheitsrichtlinen, welche Zugriffe erlaubt sind
32
Danke für Ihre Danke für Ihre AufmerksamkeitAufmerksamkeit
www.devcoach.de