.Net Security. Motivation Rad nicht neu erfinden -> Nutzung der Sicherheitsfunktionen des Betriebssystems (zB Encryption, Authentifizierung,...) Zusätzlich.

Slides:



Advertisements
Ähnliche Präsentationen
Ausblick auf Shibboleth 2.0
Advertisements

Imperative Programmierung
Was gibt´s neues im Bereich Sicherheit
Sichere Anbindung kleiner Netze ans Internet
RACCOON Zugriffsschutzmanagement in verteilten Objektsystemen
A CORBA Domain Management Service
Eine dynamische Menge, die diese Operationen unterstützt,
Smart Clients in.NET: Leicht installieren, einfach verteilen, sicher betreiben Christof Sprenger Technologieberater.NET Strategy & Developer Group Microsoft.
Deklarative Programmierung mit Attributen
Funktionserweiterungen für den ISA Server 2000 mit dem Feature Pack 1 Funktionserweiterungen für den ISA Server 2000 mit dem Feature Pack 1 Christian Thor.
SQL Server 2005.NET Integration Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH.
Deployment und Versioning von .NET Applikationen
Webhosting unter Windows bei S+P AG 1. Vorstellung und Programm 2. Tarife mit ASP.NET bei der Schlund + Partner AG 3. Unterschiede / Features der Angebote.
Security.NET Was darf mein Code?
SPS / WSS Entwicklung Martin Saternus Technical Student Consultant Microsoft Deutschland GmbH
Attribute Profile.
Einbindung des Service Providers: Einfache Web-Applikation, Überwachungssystem NAGIOS 2. Shibboleth-Workshop, Freiburg, Franck Borel, UB Freiburg.
Objektorientierte Programmierung
der Universität Oldenburg
Objektrelationales Mapping mit JPA
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (04 – Automaten mit ε-Transitionen) Prof. Dr. Th. Ottmann.
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
Jan Fienhold1 Institut für Informatik Betriebliche Informationssysteme OWL Web Ontology Language.
RDF-Schema Seminar: „Semantic Web“ André Rosin,
Kollektionstypen (1) Es sind polymorphe Typkonstruktoren, jeweils als Sorten- und als Klassenkonstruktor (t,v beliebige Typen): –set, Set :Ungeordnete.
Der VFP Debugger - Coverage und Profiling. © 1999 TMN-Systemberatung GmbH Der VFP Debugger n Neues Aussehen, eigene Task n Erweiterte Möglichkeiten n.
Halte zu mir, guter Gott Liedmappe Nr. 60.
CCNA2 – Module 11 Access Control Lists
FH-Hof HTML - Einführung Richard Göbel. FH-Hof Komponenten des World Wide Webs WWW Browser HyperText Transfer Protocol (HTTP) via Internet WWW Server.
Visualisierung objektrelationaler Datenbanken
Ein Produkt der blueend web:applications AG Customer Relationship Management - Funktionsumfang -
Client-Server Modell Advanced IT Basics Nicolas Frings.
Aurich – Jonas Jacobi OSGi Tutorial Aurich – Jonas Jacobi Das OSGi Service Framework Dynamisches Modulsystem für Java Dynamische.
Smart features Subtypen und Domänen Subtypen und Domänen.
Seminar aus Softwareentwicklung: Inside Java and .NET
JINI Security & Scalability JINI Security Hans-Peter Rötheli & Christian Gloor.
Flexible Datenstrukturen
Arbeitsgruppen-administration
1. Verhalten der Objekte: Operationen Werden in den Klassen definiert Werden (i.d.R.) auf einem Objekt aufgerufen Wird das Empfängerobjekt genannt Weitere.
So weit in Deutsch 1 Notizen schreiben.
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 2 Folie 2 XAML (1) s.a.
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 7 Folie 2 Styles (1) s.a.
Verhalten von Objekten in der Szene
CGI (Common Gateway Interface)
Wohlgeformtheit und Gültigkeit Grundlagen der Datenmodellierung Anke Jackschina.
Präsentation von Lukas Sulzer
Bonn-to-code.net Thomas van Veen Website:
ICT – Modul Dokumentenverwaltung
GUTEN TAG! GUTEN MORGEN! GUTEN ABEND! GUTEN NACHT!
Komm setz dich zu mir. Komm setz dich zu mir Erzähle mir von dir.
© 2014 Fake the Unfakeable Isolating Code Under Test with Microsoft Fakes ©
Was meinen wir, wenn wir sagen, was wir denken? Was denken andere, wenn sie hören, was wir sagen, was wir denken? Mal‘ sehn!
HALLO! Guten Morgen! Guten Tag! Guten Abend! Gute Nacht!
..
11 Zugriffskontrolle (Access Control) Ziele Privilegien Rollen GRANT und REVOKE Befehl Privilegien Rollen GRANT und REVOKE Befehl.
Struktur-Funktions-Modelle von Pflanzen - Sommersemester Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik.
Java-Kurs Übung Besprechung der Hausaufgabe
Die Technik des Service Provider 2. Shibboleth-Workshop Freiburg, 23. März Dr. Jochen Lienhard AAR Projekt UB Freiburg Authentifizierung, Autorisierung.
1 Softwareentwicklung mit.NET Teil 7.NET Security Dr. Ralph Zeller.
finding out who? what? Wer sind Sie? Wer bist du? Wie heißen Sie? Wie heißt du? Wie ist dein Name? Wie ist Ihr Name? what? Was machen Sie? Was machst.
Was gibt’s neues im Bereich Anpassung Fabian Moritz Consultant, Developer SharePointCommunity.de.
Wortschatz. Wie kommst du zur Schule? How do you get to school?
Vortrag Einführung in AspectJ. Gliederung 1 Einleitung 2 Querschnittsfunktionalitäten in AspectJ 2.1 Sprachelemente 3 Beispiel 4 Join Point Modell 5 Weaving.
Tutorium Software-Engineering SS14 Florian Manghofer.
Tutorium Software-Engineering SS14 Florian Manghofer.
XML-basierte Beschreibungssprachen für grafische Benutzerschnittstellen Seminarvortrag im Studiengang „Scientific Programming“ von Steffen Richter.
Du kommst hier nicht rein!
Implementieren von Klassen
 Präsentation transkript:

.Net Security

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

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!

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

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

Zuweisung von Rechten (1) Evidence + Security Policy = Permission Set

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

Security Policy Regeln zur Rechtevergabe Security Manager bestimmt anhand von Security Policy und Evidence die Rechte eines Assemblies Wird auf jede Policy Ebene angewandt

Policy Levels (1) EnterpriseMachine User Application Domain Granted Permission Set

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

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

Codegruppen (2)

Zuweisung von Rechten (2) mögliche Rechte != erhaltene Rechte Ziel: nur minimale Menge von Permissions anfordern –RequestMinimum –RequestOptional –RequestRefuse Zugewiesene Permissions: (MaxGrant (ReqMin ReqOpt)) - ReqRefuse

Zuweisen von Rechten (3)

Policy Enforcement implizit Stack Walk

Policy Enforcement explizit (1) Demand, Link-Demand Assert Deny PermitOnly Immer nur eine Permission kann jeweiligen Zustand annehmen, bei mehreren Permissions -> Permission Set

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

Policy Enforcement explizit (3) Imperativ: dynamisch (Demand, Assert,...) Deklarativ: statisch (benutzerdefinierte Attribute) -> Beispiel3

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

Bedeutung für Praxis (2) Selbst definierbar: –Evidence-Typen –Permissions –Permission Sets Tools für Konfigurationen: –mscorcfg.msc –caspol.exe

Danke für die Aufmerksamkeit!