Vorlesung Sicherheit Dennis Hofheinz IKS, KIT 01.07.2013 1 / 31
Überblick 1 Zugriffskontrolle Das Bell-LaPadula-Modell Das Chinese-Wall-Modell Zusammenfassung 2 Analyse größerer Systeme Motivation Der Security-Zugang Der kryptographische Zugang 2 / 31
Überblick 1 Zugriffskontrolle Das Bell-LaPadula-Modell Das Chinese-Wall-Modell Zusammenfassung 2 Analyse größerer Systeme Motivation Der Security-Zugang Der kryptographische Zugang 3 / 31
Erinnerung Bell-LaPadula-Zustand sicher, wenn alle Zugriffe die Zugriffskontrollmatrix respektieren (ds-eigenschaft) von hinreichend privilegierten Subjekten kommen (ss-eigenschaft) keine privilegierten Informationen freigeben ( -Eigenschaft) Zugriff nur genehmigt, wenn er Systemsicherheit erhält (d.h. die obigen Eigenschaften hat) Wichtig: nach (genehmigten) Zugriffen wird aktueller Sicherheitslevel von Subjekten angepasst 4 / 31
Beispiel Subjekte S = {smith, jones, spock} Objekte O = {salary.txt, mail, fstab} Zugriffskontrollmatrix M gegeben durch salary.txt mail fstab smith {read} {execute} jones {read, write} {execute, read, write} spock A A A Maximale/aktuelle Sicherheitslevel: f s( ) f c( ) smith unclass. unclass. jones secret unclass. spock topsecret unclass. salary.txt mail fstab f o( ) secret unclass. topsecret 5 / 31
Beispiel Abfolge von Zugriffen (in Reihenfolge): Anfrage ds ss Bemerkung (spock,salary.txt,append) keine Änderung bei f c(spock) (smith,mail,read) X read / M smith,mail (smith,mail,execute) keine Änderung bei f c(smith) (smith,salary.txt,read) X f s(smith) < f o(salary.txt) (jones,salary.txt,read) setzt f c(jones) = secret (spock,fstab,read) setzt f c(spock) = topsecret (spock,salary.txt,append) X f c(spock) > f o(salary.txt) 6 / 31
Nachteile von Bell-LaPadula Bell-LaPadula betrachtet nur Sicherheits- (aber z.b. keine Integritäts-)eigenschaften Niedrigprivilegierte Subjekte dürfen nach oben schreiben Unhandlich, weil irgendwann jeder zuviel weiß Formaler: f c (s) kann nur wachsen -Eigenschaft wird zunehmend einschränkender Lösung: f c (s) nach Zugriff zurücksetzen, aber ist das realistisch? Alternative: Mittelsmänner, die gezielt -Eigenschaft umgehen dürfen 7 / 31
Nachteile von Bell-LaPadula Verdeckte Kanäle werden nicht grundsätzlich verhindert Beispiel: hochprivilegierter Prozess spock legt Menge von (hochprivilegierten) Dateien an niedrigprivilegierter Prozess smith darf diese Dateien beschreiben, erhält aber Fehlermeldung, wenn Datei schon existiert smith kann feststellen, ob spock Datei angelegt hat Informationsfluss von spock zu smith möglich Bell-LaPadula immer noch vergleichsweise statisch: Zugriffsrechte selbst (d.h. M) unverändert 8 / 31
Überblick 1 Zugriffskontrolle Das Bell-LaPadula-Modell Das Chinese-Wall-Modell Zusammenfassung 2 Analyse größerer Systeme Motivation Der Security-Zugang Der kryptographische Zugang 9 / 31
Szenario Menge C von Firmen Menge S von Beratern Menge O von Objekten Jedes Objekt o O gehört zu einer eindeutigen Firma y(o) Jedes Objekt o O hat Konflikte mit Firmen x(o) C Ziel: konfliktfreie Zuordnung von Beratern zu Objekten Frage: was könnten für Interessenkonflikte vorkommen? 10 / 31
Simple Security Gegeben: Zugriffsanfrage (s, o) S O Naheliegend: Konflikt, wenn s in Vergangenheit schon Zugriff auf Objekt hatte, das in Konflikt zu y(o) steht Formalisierung: Definition (Simple-Security-/ss-Eigenschaft) Eine Anfrage (s, o) hat die ss-eigenschaft, wenn für alle o O, auf die s schon Zugriff hatte, gilt: y(o) = y(o ) oder y(o) / x(o ). 11 / 31
Star Property Subtiler: betrachte Schreibzugriff (s, o) Konflikt, wenn s (bewusst oder unbewusst) Informationen über andere Objekte auf o überträgt; Beispiel: 1 s 1 liest o 1 und schreibt auf o 2 2 s 2 liest o 2 und schreibt auf o 3 Denkbar: y(o 3 ) x(o 1 ) (d.h. o 1 in Konflikt mit Firma von o 3 ) Problem: Information über o 1 indirekt nach o 3 geflossen 12 / 31
Star Property Formalisierung: Definition (Star Property/ -Eigenschaft) Eine Schreibanfrage (s, o) hat die -Eigenschaft, falls für alle Objekte o, auf die s schon lesend zugreift, gilt: y(o ) = y(o) oder x(o ) =. Intuition: Verhindert Informationsfluss aus der Firma heraus (außer, wenn unkritisch, weil Objekt in keinem Konflikt steht) 13 / 31
Beispiel C = {c 1, c 2, c 3 }, O = {o 1, o 2, o 3 }, wobei y(o i ) = c i und x(o 1 ) = {c 2, c 3 } x(o 2 ) = {c 1 } x(o 3 ) = Abfolge von Zugriffen (in Reihenfolge): Anfrage ss Bemerkung (s 1, o 1) (read) (s 1, o 2) (read) X s 1 hat schon o 1 mit y(o 2) x(o 1) gelesen (s 2, o 2) (read) (s 2, o 3) (write) X s 2 liest schon o 2 (und x(o 2) ) (s 3, o 3) (read) (s 3, o 1) (write) s 3 liest zwar schon o 3, aber x(o 3) = 14 / 31
Überblick 1 Zugriffskontrolle Das Bell-LaPadula-Modell Das Chinese-Wall-Modell Zusammenfassung 2 Analyse größerer Systeme Motivation Der Security-Zugang Der kryptographische Zugang 15 / 31
Zusammenfassung Dateisysteme ermöglichen statische Zugriffskontrolle Bell-LaPadula-Modell verhindert unprivilegierten Zugriff auf privilegierte Objekte Zentral: Hierarchisierung von Sicherheitsleveln Berücksichtigt Vergangenheit (f c ) Mechanismen zur Informationsflusskontrolle ( -Eigenschaft) Chinese-Wall-Modell deckt potentielle Interessenkonflikte auf Vollständig dynamisch, berücksichtigt Vergangenheit Auch hier Informationsflusskontrolle ( -Eigenschaft) 16 / 31
Beispiel aktueller Forschung Informationsflusskontrolle in komplexeren Systemen Beispiel: Informationsfluss in Quellcode (z.b. JOANA, JIF) Mögliche Aussage: Variable secret verlässt nie System über öffentliche, externe Ausgabe Kann auch verborgene Informationskanäle aufdecken 17 / 31
Überblick 1 Zugriffskontrolle Das Bell-LaPadula-Modell Das Chinese-Wall-Modell Zusammenfassung 2 Analyse größerer Systeme Motivation Der Security-Zugang Der kryptographische Zugang 18 / 31
Überblick 1 Zugriffskontrolle Das Bell-LaPadula-Modell Das Chinese-Wall-Modell Zusammenfassung 2 Analyse größerer Systeme Motivation Der Security-Zugang Der kryptographische Zugang 19 / 31
Motivation Bislang Bausteine betrachtet Verschlüsselung, Hashfunktionen, Authentifikation,... Gesamtsystem erfordert üblicherweise mehrere Bausteine Online-Banking benötigt Authentifikation und Verschlüsselung Welche Bausteine sollten wie eingesetzt werden? Oder: wie baut man größeres System modular auf? 20 / 31
Motivation Zwei Zugänge: (Information) Security und kryptographisch Security-Zugang: Prüfe gezielt Eigenschaften des Gesamtsystems Üblich: CIA-Paradigma (Confidentiality, Integrity, Availability) Kryptographischer Zugang: Vergleiche reales System mit vereinfachtem, idealem System Reales System sicher wenn so sicher wie Idealisierung 21 / 31
Überblick 1 Zugriffskontrolle Das Bell-LaPadula-Modell Das Chinese-Wall-Modell Zusammenfassung 2 Analyse größerer Systeme Motivation Der Security-Zugang Der kryptographische Zugang 22 / 31
Das CIA-Paradigma Grundidee: überprüfe gezielt Eigenschaften des Gesamtsystems Üblicherweise drei entscheidende Eigenschaften (CIA): Confidentiality: Geheimhaltung der Daten im System (Beispiel: Kontostand bleibt bei Online-Banking geheim) Integrity: Integrität/Konsistenz von Daten im System (Beispiel: Angreifer kann Überweisungsdaten nicht ändern) Availability: Verfügbarkeit des Systems (Beispiel: Angreifer kann Online-Banking-System nicht lahmlegen/überweisungen kommen an) Manchmal auch weitere Eigenschaften betrachtet (Beispiel: Nicht-Abstreitbarkeit) 23 / 31
Grenzen des CIA-Paradigmas CIA-Paradigma legt keine konkreten Schutzziele fest Beispiel (Confidentiality Online-Banking): Sollte Angreifer wissen dürfen, dass Online-Banking stattfindet? Sollte Angreifer wissen dürfen, ob man Überweisungen tätigt? Sollte Angreifer wissen dürfen, wie viele Überweisungen man tätigt? Konkrete Schutzziele abhängig von Anwendung/Wünschen 24 / 31
Grenzen des CIA-Paradigmas CIA-Paradigma sehr anwendungsspezifisch, stellt sicher, dass nichts Grundsätzliches vergessen wurde Beweis/formalere Analyse nur bei spezifischeren Schutzzielen Aber: Sicherheit größerer Systeme überhaupt erst mit CIA-Paradigma beherrschbar 25 / 31
Überblick 1 Zugriffskontrolle Das Bell-LaPadula-Modell Das Chinese-Wall-Modell Zusammenfassung 2 Analyse größerer Systeme Motivation Der Security-Zugang Der kryptographische Zugang 26 / 31
Motivation Beobachtung: Manchmal Betrachtung von einzelnen Eigenschaften (CIA) problematisch Manche Eigenschaften (Nicht-Abstreitbarkeit) nicht berücksichtigt Wann ist Liste der wünschenswerten Eigenschaften vollständig? Ziel: genereller Sicherheitsbegriff, der nicht auf einzelne Eigenschaften aufbaut 27 / 31
Grundidee Idee: Ziel wird nicht durch Eigenschaften, sondern durch idealisiertes System spezifiziert Beispiel: sicherer Kanal kann Ziel von Verschlüsselung sein Verschlüsselung sicher gdw. sie sicheren Kanal implementiert Zentrales Element: Relation auf Protokollen Intuition: π 1 π 2 heißt π 1 mindestens so sicher wie π 2...... oder π 1 implementiert/realisiert π 2 Dabei üblicherweise π 1 reales Protokoll, π 2 Idealisierung 28 / 31
Grundidee Beispiel: Protokoll π 1 nutzt PKE-Verfahren A C Alice pkb M C:=Enc(pk B,M) Bob skb M Wichtig: Kanal unsicher (d.h. Angreifer A erhält C) 29 / 31
Grundidee Protokoll π 2 modelliert sichere Kommunikation A Alice M M Bob M Angreifer A erhält keine Information über Kommunikation 30 / 31
Grundidee Frage: Ist π 1 so sicher wie π 2? (Gilt π 1 π 2?) Was bedeutet eigentlich? Was sollte bedeuten? Intuition: π 1 π 2 wenn...... π 1 so sicher wie π 2... jede Schwäche von π 1 auch schon in π 2... für jeden Angreifer A 1 auf π 1 ein Angreifer ( Simulator ) A 2 auf π 2 existiert, so dass die Effekte in beiden Fällen gleich... aber was heißt... so dass die Effekte gleich? 31 / 31