Top Banner
Security.NET Security.NET Was darf mein Code? Was darf mein Code? DEV-3 DEV-3 Michael Willers [email protected]
10

Security.NET Was darf mein Code?. Security.NET Was darf mein Code? DEV-3 Michael Willers [email protected].

Apr 05, 2015

Download

Documents

Philipp Lorenz
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Security.NET Was darf mein Code?. Security.NET Was darf mein Code? DEV-3 Michael Willers michael.willers@devcoach.de.

Security.NETSecurity.NETWas darf mein Code?Was darf mein Code?DEV-3DEV-3

Michael [email protected]

Page 2: Security.NET Was darf mein Code?. Security.NET Was darf mein Code? DEV-3 Michael Willers michael.willers@devcoach.de.

3

In diesem Vortrag...In diesem Vortrag...

Warum ein neues Modell? Wie funktioniert es? Wie setzt man es in der Praxis ein?

Page 3: Security.NET Was darf mein Code?. Security.NET Was darf mein Code? DEV-3 Michael Willers michael.willers@devcoach.de.

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

Page 4: Security.NET Was darf mein Code?. Security.NET Was darf mein Code? DEV-3 Michael Willers michael.willers@devcoach.de.

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

Page 5: Security.NET Was darf mein Code?. Security.NET Was darf mein Code? DEV-3 Michael Willers michael.willers@devcoach.de.

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

Page 6: Security.NET Was darf mein Code?. Security.NET Was darf mein Code? DEV-3 Michael Willers michael.willers@devcoach.de.

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

Page 7: Security.NET Was darf mein Code?. Security.NET Was darf mein Code? DEV-3 Michael Willers michael.willers@devcoach.de.

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

Page 8: Security.NET Was darf mein Code?. Security.NET Was darf mein Code? DEV-3 Michael Willers michael.willers@devcoach.de.

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)!!!

Page 9: Security.NET Was darf mein Code?. Security.NET Was darf mein Code? DEV-3 Michael Willers michael.willers@devcoach.de.

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

Page 10: Security.NET Was darf mein Code?. Security.NET Was darf mein Code? DEV-3 Michael Willers michael.willers@devcoach.de.

32

Danke für Ihre Danke für Ihre AufmerksamkeitAufmerksamkeit

www.devcoach.de