Implementation of a policy-based authorization for glite Compute Services Abschlußvortrag Christopher Kunz
Agenda Grid Security Infrastructure Einführung und Motivation Selbsteinschränkung delegierter Rechte glite Job Management XACML als Beschreibungssprache PDP und PEP für User-based Policies Proxy Renewal mit MyProxy Fazit / Ausblick Christopher Kunz 24. Juni 2007 Folie 2
Agenda Grid Security Infrastructure Einführung und Motivation Selbsteinschränkung delegierter Rechte glite Job Management XACML als Beschreibungssprache PDP und PEP für User-based Policies Proxy Renewal mit MyProxy Fazit / Ausblick Christopher Kunz 24. Juni 2007 Folie 3
Sicherheit im Grid Single Sign-On (SSO) Einmal anmelden, mehrere Ressourcen verwenden Interaktive Authentifizierung wird nicht erneut angefordert Delegation of Rights Abgeben von Nutzerrechten an Gridkomponenten Komponenten handeln "im Auftrag" des Nutzers Grid Security Infrastructure Framework für Authentifizierung und Autorisierung im Grid Implementiert Single Sign-On und Delegation of Rights Basiert auf Public Key Infrastructure X.509 Public Key Infrastructure Asymmetrische Verschlüsselung Nutzer erhält "Credentials" bestehend aus: Zertifikat (enthält öffentlichen Schlüssel) Privater Schlüssel (PK) Christopher Kunz 24. Juni 2007 Folie 4
X.509 Proxy-Zertifikate Problem: Nutzercredentials (EECl = End-Entity Credential) sind wertvoll Lange Lebensdauer (1 Jahr oder mehr) Direkte Weitergabe an Komponenten nicht möglich Bei Mißbrauch: Revokal Lösung: Proxy-Zertifikate nach RFC 3820 User signiert neues Credential mit kurzer Lebensdauer, nicht revokable DN=/../../../CN=Username/CN=proxy Zertifikatskette wird an Credentials angefügt Chain of Trust bleibt gewahrt CA Proxyzertifikat Alice Root-Zertifikat Zertifikat für Alice Grid Christopher Kunz 24. Juni 2007 Folie 5
Probleme in der Grid PKI Delegation of Rights bedingt Weitergabe privater Schlüssel Private Schlüssel werden unverschlüsselt gespeichert notwendig wegen SSO Jede beteiligte Komponente benötigt PK Worker Nodes CE WMS Storage Elements,... Grid-Credentials sind attraktives Angriffsziel Jobs auf fremde Rechnung ausführen Daten anderer Nutzer einsehen Trojaner auf Worker Nodes kopieren Angreifer möchte Credentials kopieren PKs werden nicht übers Netz übertragen Sniffing scheidet aus Angreifer benötigt lokalen Zugriff auf eine Grid-Komponente Christopher Kunz 24. Juni 2007 Folie 6
Angriff auf Proxy-Credentials Angreifer kann PKs auf jeder Komponente kopieren Dazu notwendig: Privilegien des Opfers oder Admin-Rechte Viele Eintrittsvektoren Schwache Paßwörter auf UI ( Kopieren von EECs möglich!) Sicherheitslücken auf OS-Ebene Poolaccounts nach Jobende nicht vollständig gesäubert Mögliche Angreifer: Externe Cracker "Böse" Sysadmins Andere Grid-Nutzer Keine Handlungsmöglichkeit für Opfer Proxy-Credentials werden unbemerkt kopiert Nicht revokable Bis Ende der Laufzeit durch Angreifer voll nutzbar ggf. sogar über Credential Repository verlängerbar Christopher Kunz 24. Juni 2007 Folie 7
Agenda Grid Security Infrastructure Einführung und Motivation Selbsteinschränkung delegierter Rechte glite Job Management XACML als Beschreibungssprache PDP und PEP für User-based Policies Proxy Renewal mit MyProxy Fazit / Ausblick Christopher Kunz 24. Juni 2007 Folie 8
Schadensminimierung durch Restriktion Duplizierte Credentials können kosten... Geld, da Jobs mit ihnen gerechnet werden Vertraulichkeit von Daten, da auf Job-Input / -Ergebnisse zugegriffen werden kann Reputation, da Grid-Komponenten mittels böswilliger Jobs ("Exploits") angegriffen werden können Duplikation kann nicht auf Grid-Ebene verhindert werden Böswillige Nutzer kann es auch in einer VO geben Angreifer von außen werden immer eine Sicherheitslücke finden Sicherheit auf OS-Ebene ist nicht Aufgabe der Grid-Middleware Schadensbegrenzung notwendig Je kürzer die Zertifikatslaufzeit, desto geringer der mögliche Schaden Tradeoff: Zu geringe Laufzeit verringert Nutzen für legitime Anwendungen Credential Renewal durch MyProxy erhöht Laufzeit deutlich (auf bis zu 7 Tage) Zusätzliche Beschränkungen werden benötigt! Christopher Kunz 24. Juni 2007 Folie 9
Beschränkte Proxy-Zertifikate Lösung: Anwendbarkeit des Proxy-Zertifikats limitieren Nutzer genehmigt Delegation seiner Rechte nur für bestimmte Zwecke Einbettung dieser Beschränkung im Proxy selber Beschränkung nicht nachträglich änderbar Proxy-Zertifikat ist auf jeder Komponente verfügbar Restriktionen überall einsehbar Restriktionen werden vom Nutzer vorgegeben User-based Policy Einbetten der Restriktion im Proxy X.509-Zertifikate können Extensions enthalten Eindeutige Zuordnung über OID Manipulations- und fälschungssicher, da durch Zertifikatsaussteller signiert Flexibel, da beliebige Inhalte möglich (kodiert in ASN.1) Pro Zertifikat kann jede OID nur einmal vorkommen Christopher Kunz 24. Juni 2007 Folie 10
Verkleinerung des gefährdeten Bereichs Rechte Benutzerrechte Gefährdeter Bereich Sicherer Bereich Durch UBP beschränkte Rechte Zeit Gültigkeit des Proxy-Zertifikats Gültigkeit des EEC (Quelle: R. Gröper, Policy-based Authorization for Grid Data-Management, 2006) Christopher Kunz 24. Juni 2007 Folie 11
Selbstbeschränkung für Compute Services Problem: nicht autorisierte Grid-Jobs Angreifer hat Credentials dupliziert......und kann Jobs im Namen des Opfers abgeben Jobs verursachen Kosten Idee: Limitation der mit einem Zertifikat möglichen Jobs Mögliche Ansätze: Beschränkung der möglichen Jobanzahl Setzt Persistenz bei der prüfenden Stelle voraus Proxyzertifikate nicht eindeutig identifizierbar Beschränkung auf Dateinamen/Jobtyp o.ä. Angreifer können ihre Jobs an Beschränkung anpassen Beschränkung auf eindeutiges Merkmal jedes Jobs Konzeptionell sinnvoll Merkmal darf nicht fälschbar sein Merkmal muß auf jeder Komponente bestimmbar sein Welches Merkmal? Dazu später mehr... Christopher Kunz 24. Juni 2007 Folie 12
Agenda Grid Security Infrastructure Einführung und Motivation Selbsteinschränkung delegierter Rechte glite Job Management XACML als Beschreibungssprache PDP und PEP für User-based Policies Proxy Renewal mit MyProxy Fazit / Ausblick Christopher Kunz 24. Juni 2007 Folie 13
glite Job Management: Komponenten Christopher Kunz 24. Juni 2007 Folie 14
User Interface / Workload Manager User Interface (UI) Interaktionspunkt des Endnutzers mit dem Grid Job Management Submission: glite-job-list-match / glite-job-submit Status: glite-job-status / glite-job-logging-info Abbruch: glite-job-cancel Ausgabe: glite-job-output Credential Management VOMS-Attributzertifikat: voms-proxy-init / voms-proxy-info Credential Repository: myproxy-init / myproxy-get-delegation / myproxy-destroy Workload Management Service (WMS) Matchmaking Job Computing Element Übersetzung der High-Level-Beschreibung (JDL) für Ressourcenanforderungen Weiterleiten des Jobs inkl. Input Sandbox an Computing Element Entgegennehmen von Output Sandbox und Weiterleiten an UI Christopher Kunz 24. Juni 2007 Folie 15
Logging&Bookkeeping / Computing Element / WN Logging & Bookkeeping Server (L&B) Detaillierte Statushistorie jedes Jobs Jobs eindeutig identifiziert durch Job ID Entgegennehmen von Statusupdates durch andere Komponenten Senden von Statusinformationen Unaufgeforderter "Push" an Abonnenten Antwort auf "Pull" (etwa durch UI, glite-job-status) Computing Element Hauptaufgabe: Batch-Management Verwaltet Menge von Worker Nodes Findet für einen Job passende WNs und leitet Job via Batchsystem weiter Autorisierung eines Jobs anhand des Userproxies: LCAS Übersetzung von Nutzer-DN auf Poolaccount-ID: LCMAPS / grid-mapfile Worker Node (WN) Enthält Menge von Pool Accounts Führt den Job aus und liefert Output/Fehler an CE zurück Christopher Kunz 24. Juni 2007 Folie 16
Eindeutige Identifikation für Grid-Jobs Für Limitierung des Proxy-Zertifikats ist ein eindeutiges Merkmal jedes Jobs notwendig Dieses Merkmal ist die Job ID Erstellt auf dem UI Christopher Kunz 24. Juni 2007 Folie 17
Agenda Grid Security Infrastructure Einführung und Motivation Selbsteinschränkung delegierter Rechte glite Job Management XACML als Beschreibungssprache PDP und PEP für User-based Policies Proxy Renewal mit MyProxy Fazit / Ausblick Christopher Kunz 24. Juni 2007 Folie 18
Agenda Grid Security Infrastructure Einführung und Motivation Selbsteinschränkung delegierter Rechte glite Job Management XACML als Beschreibungssprache PDP und PEP für User-based Policies Proxy Renewal mit MyProxy Fazit / Ausblick Christopher Kunz 24. Juni 2007 Folie 19
Agenda Grid Security Infrastructure Einführung und Motivation Selbsteinschränkung delegierter Rechte glite Job Management XACML als Beschreibungssprache PDP und PEP für User-based Policies Proxy Renewal mit MyProxy Fazit / Ausblick Christopher Kunz 24. Juni 2007 Folie 20
Agenda Grid Security Infrastructure Einführung und Motivation Selbsteinschränkung delegierter Rechte glite Job Management XACML als Beschreibungssprache PDP und PEP für User-based Policies Proxy Renewal mit MyProxy Fazit / Ausblick Christopher Kunz 24. Juni 2007 Folie 21