21
Objektorientierter Objektorientierter Zugriffsschutz Zugriffsschutz in in R R ACCOON ACCOON Roman Kober, Manuel Koch, Cristian Oancea Roman Kober, Manuel Koch, Cristian Oancea FU Berlin FU Berlin

Objektorientierter Zugriffsschutz in R ACCOON Roman Kober, Manuel Koch, Cristian Oancea FU Berlin

Embed Size (px)

Citation preview

Page 1: Objektorientierter Zugriffsschutz in R ACCOON Roman Kober, Manuel Koch, Cristian Oancea FU Berlin

Objektorientierter Objektorientierter Zugriffsschutz Zugriffsschutz in in RRACCOONACCOON

Roman Kober, Manuel Koch, Cristian OanceaRoman Kober, Manuel Koch, Cristian Oancea

FU BerlinFU Berlin

Page 2: Objektorientierter Zugriffsschutz in R ACCOON Roman Kober, Manuel Koch, Cristian Oancea FU Berlin

GliederungGliederung

Problem Zugriffsschutz

Corba Standard-Zugriffschutzmodell

View-Based Access Control

Raccoon Infrastruktur

Raccoon Fallstudien

Page 3: Objektorientierter Zugriffsschutz in R ACCOON Roman Kober, Manuel Koch, Cristian Oancea FU Berlin

The worst problem with access control policy, especially in object systems, is that there's so much of it. [Blakley2000]

Sicherheitsproblem Sicherheitsproblem ManagementManagement

Almost all security failures are in fact due to implementation and management errors.

[Anderson1994]

Erhöhte Handhabbarkeit führt direkt zu mehr Sicherheit!

Page 4: Objektorientierter Zugriffsschutz in R ACCOON Roman Kober, Manuel Koch, Cristian Oancea FU Berlin

Wo liegen die Probleme?Wo liegen die Probleme?

Ursprünge von Komplexität:

• Heterogenität

• Größenordnung

• Verteilung auch bei Entwicklung und Management

(Zugriffsschutz-) Modelle, Tools

• Definiere Abstraktionen

[...] we all know that unmastered complexity is at the root of the Misery. [Dijkstra2001]

Page 5: Objektorientierter Zugriffsschutz in R ACCOON Roman Kober, Manuel Koch, Cristian Oancea FU Berlin

Manuel Koch, Freie Universität Berlin 5

CORBA Standard CORBA Standard ZugriffschutzmodellZugriffschutzmodell

Rechte-Familien• s (set), g (get), u (use), m (manage)

• Kombinierbar (konjunktiv, disjunktiv)

• Neue Rechte können definiert werden

Rechte bzgl. einzelner Operationen

Required und Effective Rights• Required: Zuordnung der generischen Rechte

zu Operationen

• Effective: Zuordnung von Rechten zu Rollen, Gruppen, ...

Page 6: Objektorientierter Zugriffsschutz in R ACCOON Roman Kober, Manuel Koch, Cristian Oancea FU Berlin

Manuel Koch, Freie Universität Berlin 6

BeispielBeispiel

name service:

• interface NamingContext

– resolve a name – list bindings– bind a name– bind a subcontext– unbind names, destroy contexts

Page 7: Objektorientierter Zugriffsschutz in R ACCOON Roman Kober, Manuel Koch, Cristian Oancea FU Berlin

Manuel Koch, Freie Universität Berlin 7

required rights

operation interface

corba:--u-

resolve

corba:g-u-

list

corba:gsu-

bind

corba:gsum

new_context, bind_new_context

corba:gsum

unbind, rebind, destroy

Naming-Context

required rights

operation interface

corba:--u-

resolve

corba:g-u-

list

corba:gsu-

bind

corba:gsum

new_context, bind_new_context

corba:gsum

unbind, rebind, destroy

Naming-Context

Effective vs. Required Effective vs. Required RightsRights

effective rights

id:alice corba:g-u-

group:admin corba:gsum

group:programmers corba:gsu-

effective rights

id:alice corba:g-u-

group:admin corba:gsum

group:programmers corba:gsu-

Page 8: Objektorientierter Zugriffsschutz in R ACCOON Roman Kober, Manuel Koch, Cristian Oancea FU Berlin

Manuel Koch, Freie Universität Berlin 8

NachteileNachteile

Beschränkte Rechtemenge, low-level(“Object rwx”)

Alle Objekte eines Typs werden gleich behandelt

Keine dynamischen Rechteänderungen

Keine Verbote

Politiksemantik geht leicht verloren

Page 9: Objektorientierter Zugriffsschutz in R ACCOON Roman Kober, Manuel Koch, Cristian Oancea FU Berlin

View-based Access ControlView-based Access Control View Policy View Policy LanguageLanguage

Deklarative Politiksprache (VPL)• Wiederverwendung, Dokumentation,

Kommunikation

• Fixes Objektmodell (CORBA-IDL) erlaubt statische Konsistenzprüfung

• Feinkörniger Schutz

• Dynamische Rechteänderungen

Skalierbarkeit durch Aggregation:• Gruppen, Rollen, Views, Typen, Domains

Page 10: Objektorientierter Zugriffsschutz in R ACCOON Roman Kober, Manuel Koch, Cristian Oancea FU Berlin

Manuel Koch, Freie Universität Berlin 10

ViewsViews

interface Document { view Reading controls Document {void read(out string s); allow readvoid write(in string s); }void append(in string s); view Writing: Reading void correct(in string s); restricted_to Author {

}; allow writeappend

}

Sind “higher-level authorizations” gruppieren Rechte auf Operationen Constraints Beziehung zwischen Views

Page 11: Objektorientierter Zugriffsschutz in R ACCOON Roman Kober, Manuel Koch, Cristian Oancea FU Berlin

Manuel Koch, Freie Universität Berlin 11

Object NamingCtx o2:Paper o3:Review o4:T Role

resolve Employee bind read bind_new_ctx.

Secretary resolve append correct list read read

resolve read readTechAuthor list, bind, write

Access Matrix ModelAccess Matrix Model

ResolvingBinding

view Resolving controls NamingContext { allow

resolve;}view Binding : Resolving { allow bind; bind_new_context;}

Page 12: Objektorientierter Zugriffsschutz in R ACCOON Roman Kober, Manuel Koch, Cristian Oancea FU Berlin

Manuel Koch, Freie Universität Berlin 12

RollenRollen Verhaltensabstraktion

hierarchische Strukturen, Constraints

roles

Examiner

Head: Examiner // Head is senior to// examiner

President: Head maxcard 1

Lecturer: Examiner

Candidate excludes Examiner

Page 13: Objektorientierter Zugriffsschutz in R ACCOON Roman Kober, Manuel Koch, Cristian Oancea FU Berlin

Manuel Koch, Freie Universität Berlin 13

IDL:

interface Paper { Review submitReview( in string text );};

VPL: schema SubmitSchema observes Paper {

submitReview assigns Modifying on result to caller assigns ReviewReading on this to caller removes ReviewSubmitting on this from caller

}

SchemasSchemas

beschreiben dynamische Rechteänderungen

Page 14: Objektorientierter Zugriffsschutz in R ACCOON Roman Kober, Manuel Koch, Cristian Oancea FU Berlin

Manuel Koch, Freie Universität Berlin 14

Infrastruktur für VPLInfrastruktur für VPL

Development

• VPL Compiler

Deployment

• Verifier + Repositories

Management

• View/Role/Domain Server und Management Tools

Page 15: Objektorientierter Zugriffsschutz in R ACCOON Roman Kober, Manuel Koch, Cristian Oancea FU Berlin

Manuel Koch, Freie Universität Berlin 15

Development and Development and DeploymentDeployment

Development

VPLVPL XMLXMLPrecompiler Verifier

VRVR

RRRR

IRIR

XMLXML

Deployment

Verifier

Policy Descriptor

XMLXML

IRIR

Page 16: Objektorientierter Zugriffsschutz in R ACCOON Roman Kober, Manuel Koch, Cristian Oancea FU Berlin

Manuel Koch, Freie Universität Berlin 16

Server

LaufzeitumgebungLaufzeitumgebung

Target Access Decision

request()

Domain Server

DomainDomain

Policy Server

PolicyPolicy

Role Mgmt. Domain Mgmt. Policy Mgmt.

Client Interceptor

Roles

Role Server

Page 17: Objektorientierter Zugriffsschutz in R ACCOON Roman Kober, Manuel Koch, Cristian Oancea FU Berlin

Manuel Koch, Freie Universität Berlin 17

Rollen-ManagementRollen-Management

Client

Role Server

1: Rollen-zertifikate?

RRRR

2:Rollen für Benutzer?

3: Rollen

Target Access Decision

Interceptor

Interceptor

4:Rollenzertifikate

5:request()

Server

RZRZ

Page 18: Objektorientierter Zugriffsschutz in R ACCOON Roman Kober, Manuel Koch, Cristian Oancea FU Berlin

Manuel Koch, Freie Universität Berlin 18

Anwendungs-domäne 1

Anwendungs-domäne 1

DomänenhierarchienDomänenhierarchien Strukturierung und Generalisierung (Politiken

gemäß Organisationsstruktur, Zuständigkeiten)

Geltungsbereich der Elterndomäne umfasst Mitgliedsobjekte der Kinddomänen

US Branch US Branch EuropeEurope

Hype Inc.

R&DR&D

Anwendungs-domäne 2

Anwendungs-domäne 2

SalesSales

Anwendungs-domäne n

Anwendungs-domäne n. . .

Page 19: Objektorientierter Zugriffsschutz in R ACCOON Roman Kober, Manuel Koch, Cristian Oancea FU Berlin

Manuel Koch, Freie Universität Berlin 19

Metapolitiken zur Metapolitiken zur KonfliktauflösungKonfliktauflösung

Konflikte zwischen Politiken für ein Objekt

• Domänen hierarchisch angeordnet bzw. gemeinsame Mitglieder

Auflösung semantikabhängig Metapolitiken spezifisch für Politiktypen

Metapolitiken werden Domänen zugeordnet

Keine Meta-Metapolitiken:

• Ordnung: erste anwendbare Metapolitik gilt (= Metapolitik passenden Typs in der nächsten gemeinsamen Elterndomäne)

Page 20: Objektorientierter Zugriffsschutz in R ACCOON Roman Kober, Manuel Koch, Cristian Oancea FU Berlin

Manuel Koch, Freie Universität Berlin 20

Related WorkRelated Work

Views als Gruppierungskonzept• Verteilte Objektsysteme [Hagimont94]

• Zugriffserlaubnisse im Bereich Datenbanken [Baldwin90, Scholl et al. 91]

Ponder• Sicherheits- und Managementpolitiken

• Allgemeiner als VPL

• Keine zugehörige Infrastruktur

Page 21: Objektorientierter Zugriffsschutz in R ACCOON Roman Kober, Manuel Koch, Cristian Oancea FU Berlin

Manuel Koch, Freie Universität Berlin 21

Raccoon FallstudienRaccoon Fallstudien

Zugriffsschutz im Krankenhaus

Zugriffsschutz in der Bank