UP | HOME

Rechnersicherheit Mitschrift

Inhaltsverzeichnis

2012-06-07 Thu

Execution-Based Information Flow Control

  1. Fixed security classes y, y y := x xy
  2. dynamic security classes y, y y := x x := y
  3. unterbindet expliziten und impliziten flow

Singe Accumulator Machine

  • LOAD x … acc := x , acc := x (least upper bound) PC

2012-05-31 Thu

Flow Control Mechanisms: Security vs. precision

  • Information Flows:
    • all flows F
      • authorized flows P
        • executable flows E
  • Secure: E ⊆ P
  • Precise: E = P
  • Example: y := k*x
    • ky , x > y
    • k = ∅
    • H(x) = ∅

2012-05-21 Mon Tutorium

Nächstes Übungsblatt

  • Für zwei Wochen
  • Information Flow
  • lattice (least upper bound finden)
  • Vergliech von direkten und impliziten Flüßen (entropie und laufzeitanalyse)

2012-05-15 Tue

Lattice model of information flow

verband, least upper bound

  • fixes or constant security classes
  • variable security classes
    • variable x
    • security class x
      • y := y
        • if (yx) y ← x

state transition model

States s, s': s |-α s'

  • variable x is state
    • xs
  • class Xs

Entropy

  • Maß über die Ungewissheit über eine Zufallsvariable
  • H(X) = - ∑p∈ X p(x)log(p(x))
  • I = H(X|Y=ys) - H(X|Ys')

Coditional Entropy

  • Der Informationsgehalt von X, wenn wir davon ausgehen, dass wir Y kennen.
  • H(X|Y) = ∑y∈ Y p(y)H(X|Y=y)
  • if y does not exist in state s then H(X|Y) = H(X)

Kanalkapazität

  • C(α,x,y) = max I(α,x,y,s,s')

Example

  • y := x
  • Suppose x ∈ [0,15], all values equally likely.
  • Let Pi denote Pr[X=i]
  • Pi = 1/16 if 0≤ i ≤ 15; else 0
  • H(H|Y) = H(X) = ∑iPi log(1/pi) = 16 (1/16)log(16) = 4

2012-05-14 Mon - Tutorium

Übungsblatt

  • covered channels
  • bell-LaPadula
  • chinese wall model
  • verpflichtende assembler aufgaben
    • prgramm, das seinen eigenen Quelltext ausgibt.

2012-05-10 Thu

  • Trojan Horse
    • side channels
  • Backdoors
  • Manipulierter Compiler

2012-05-08 Tue

Begriffe

  • MILS: Multiple Independent Level of Security
    • Die nächste Stufe ist ein MLS.

Bell-LaPadula model

Mehrere Kategorien neben security levels.

  • security levels L
  • F: S ∪ S → L
  • State V = (F,M)
  • transition function T
  • T: C × R → V
  • requests R
  • A state is read-secure (simple security)
    • iff ∀ s ∈ S, o ∈ O: read ∈ Ms,o → F(s) ≥ F(o)
  • A state is write-secure (*-property)
    • iff ∀ s ∈ S, o ∈ O: write ∈ Ms,o → F(o) ≥ F(s)
  • state secure ↔ read/write secure
  • secure ↔ V0 is state secure and every state reachable from V0 is state secure.

A Comparison in the Bell-LaPadula model

  • For a set S, a relation R is a subset S × S For convinience if (a,b) ∈ R we write aRb.
  • reflexive: aRa for all a ∈ S
  • antisymmetric: aRb ∧ bRa → a=b
  • transitive: aRb ∧ bRc → aRc
  • upperbound:
    • a,b ∈ S → ∃ u ∈ S aRu ∧ bRu
    • u is upperbound
  • least upper bound
    • Let U be the set of upper bounds of a,b
    • let u ∈ U be s.t. ¬∃ t ∈ u: tRu
    • then u is the l.u.b. or a ⊗ b

Biba model

Umdrehung des Bell-LaPadula models. Ziel: integrität. (gegenüber vertraulichkeit)

  • in der Realität haben Subjekte 2 Labels. Eins für Vertraulichkeitsanforderungen und eins für Integritätsanforderungen.
  • Heutzutage verwendet man eine Kombination aus Bell-LaPadula

Chinese Wall Security Model

Es gibt eine Menge von CDs(company dataset). Gruppiere die CDs in COIs (conflict of intrest class).

  • Als user darf man sich immer nur ein mal einen CD in einem COI wählen. Kurz: ein user hat immer nur auf einen CD in einem COI Zugriff.
  • N: boolean matrix
    • Ns,o = true if S has previously accessed o
  • x: COI class
  • y: CD
  • Read access to o (simple security rule)
    • ¬∃ p ∈ O: Ns,p = true ∧ x(p) = x(o)
    • OR
    • ∀ p∈ O: Ns,p = true ∧ x(p) = x(o) → y(p) = y(o)
  • Aufgabe:
    • Welche sinnvolle Formulierungen der *-property im CW Modell gibt es?

2012-05-07 Mon - Tutorium

Übungsblatt

  • Take-Grant model
    • bridges
    • wichtiger unterschied zur access matrix: rechte können nicht verloren gehen.
  • rekursive funmktion in C gegeben
    • kompilieren
    • disassemblieren
    • analysieren

2012-05-03 Thu

Vorlesung verpasst :(

2012-04-30 Mon - Tutorium

Access Control Matrix

  • Es gibt keine impliziten Annahmen über existierende Rechte. Es ist stark abhängig davon was man modelieren will, was es für Rechte gibt.
  • Eine Matrix ist erstmal leer, außer es ist etwas anderes vorgegeben

Assembly

  • bei x64 ist der Stack 16 byte aligned
    • deswegen war in dem Beispiel auch
      • sub $8, %rsp
      • add $8, %rsp
  • folgendes war unter linux nötig um es zu kompilieren:
.data
_hello: .asciz "Hello, world\n"
.text
.globl main
.globl _main
main:
sub $8, %rsp
lea _hello(%rip), %rdi
call printf
add $8, %rsp
ret

Übungsblatt

  • Access Control Matrix als Turingmaschine
    • Es lohnt sich das Buch von Gasser zu lesen
  • es gibt 2 programm dumps (gdb ausgaben)
    • man soll ein Programm schreiben, dass die gleiche ausgabe produziert
    • die Befehle in gdb:
      • gdb programm
      • break main
      • run
      • disassemble
      • info registers

2012-04-26 Thu

Definition: Protection System

  1. finite set of generic reghts
  2. finite set of commands
    • command α(X1,…,Xk)
      • if r1 in (Xs1, Xo1)
      • rm in(Xsm,Xom)
      • then
        • op1
        • opn
    • primitive operations
      • enter r in (X,Y)
      • delete r from (X,Y)
      • create subject x | object X
      • destroy subject x | object X

Definition: Configuration

is a triple (S,O,P) where

  • S: subjects
  • O: objects
  • P: Matrix

Example

generic rights own, read, …

  • Command CREATE(process,file)
    • create object file
    • enter own into (process,file)
  • command CONFERr (owender,friend,file)
    • if own in (owner,file) then
      • enter r into (friend,file)
  • Def: Q=(S,O,P)
    • (a) Q |-α (x1,…,xk) Q'
      • konkrete Operation α mit konkreten Parametern
    • (a) Q |-α Q'
      • es existiert eine Operation \alpa, so dass Q' erreicht wird
  • command iREAD(S1,S2,o)
    • if read in (S2,o) | iread i (S1,S2) then
      • enter read into (S1,o)
      • delete read from (S_,o)

A system, that differentiates betweet owener rights and 'all' (as a group) rights

  • command letaread(u,f)
    • if own in (u,f) then
      • enter aread into (f,f)
  • command READ1(u,f)
    • if own in (u,f) ∧ oread in (f,f)
      • enter read into (u,f)
  • command READ2(u,f)
    • if aread in (f,f)

Was ist Sicherheit?

  • Kann ein Recht an eine Stelle der Matrix gelangen, wo es nicht hingehört, nachdem alle vertrauenswürdigen Subjekte entfernt wurden.
  • Definition: A protection System leaks a generic right r from configuration Q if α, when run on Q, can execute a primitive op which enters r into a cell of the matrix that did not contain r before
  • Definition: Mono-operational protection system
    • Each command's bady contains a single promitive operation

Proof (obeservations)

  • no testing for "absence" of rights allows removing delete and destroy commands
  • no create object + enter rights allows removing multiple creates

Entscheidbar

Allgemein

Zurückführbar auf das Halteproblem

Wown
x,qown
yown
z,E

2012-04-24 Tue

  • Sichere Identifikation
  • Begrifflichkeiten (Um was gehts?)
    • Rollen/Gruppen
    • Objekte
    • Personenx
  • Identitätsträger/Chipsicherheit

Biometrie

  • Überprüfung der Identität von Personen anhand ihrer physiologischen Merkmale.
  • Es werden Referenzmuster erfasst.
  • Anforderungen
    • Gewünschte Eigenschaften
      • Eignungsmerkmale
        • universal
        • einzigartig
        • beständig
        • technisch erfassbar
      • Benutzerakzeptanz
      • Performante technische Umsetzung
      • Sicherheit vor Überwindung(!)
      • Seiteneffekte: Fehlermaße
    • Staatliche Anwendung
      • ePass, nPA und eAT
      • EasyPASS
      • EU-Visa-Informationssystem
      • Soll Übertragbarkeit erschweren
    • Kommerzielle Anwendungen
      • Rechner
      • Gebäude
      • Banking
    • Anwenungsklassen
      • Verfikation: 1:1 Vergleich (Referenzwert ?=? Istwert)
      • Identifikation: 1:n Vergleich
  • Biometrische Modalitäten
    • Iris (Auge)
    • Gesichtsform
    • Venen
    • Finger
  • Fehlermaße
    • Wo ist Akzeptanzschwelle
    • Equal Error Rate (ERR)
    • False Enrolement Rate (FER)
      • Ich denke das nennt mach auch False Discovery Rate (FDR)
  • Biometrische Fakes
    • Finger-Fakes
    • Gesichts-Fakes
    • Fakebehandlung
      • Bedrohungsanalyse
      • Technische Abwehr
      • Prüfen & Zertifizieren
    • Finger-Fake-Erkennung
      • Organisatorische Maßnahmen (da guckt noch einer)
      • Scanner Daten nutzen (Hautverformung beim Auflegen? Poren vorhanden?)
      • Spezielle Sensorik
    • Live-Merkmale
      • Puls, Elektrokordiale-Aktivität
      • Blutdruck
      • etc.
  • Biometrische Risiken
    • Identitätsdiebstahl durch Angriffe auf Referenzdaten
      • Wunsch: Rückrufbarkeit der biometrischen Referenz
    • Biometrische Kryptosysteme
      • Fuzzy Vault

Zusammenfassung

  • Steigerung Fläschungssicherheit biometrischer Erfassungssysteme ist notwendig
  • Template-Protection-Verfahren sind eine wichtige Ergänzung für biometrische Systeme
    • Höhere Sicherheit
    • Pseudonyme Identifikation

2012-04-23 Mon - Tutorium

Übungszettel

  • Abgabe in Zweiergruppen
  • Werden im Tutorium abgegeben
  • Zwei Teile: 1 pflicht, 1 optional
  • Es wird eine Aufgabe ausgewählt, die korrigiert wird
  • Übungszettel kommen wöchentlich raus
  • Es wird Lesestoff verlinkt, den man lesen sollte
  • Tutor kompilliert Beispiele MAC und 64 bit.
  • Wir verwenden gcc incl. GNU Assembler

Fragen zur Vorlesung

  • Was hat es mit "no read up" und "no write down" Regeln auf sich?
    • Es soll nichts aus oberen Sicherheitsebenen nach unten geleaked werden.
    • Info Flow Model ist ne alte Sache, die zur Zeit nicht so richtig umgesetzt wirde.

Übungsblatt

  1. Access Control Matrix kommt im Übungsblatt dran. (am besten das entsprechende Kapitel lesen)
  2. Rainbow Table ist in einer anderen Aufgabe dran.
    • die Regenerationsfunktion ist magic.
    • diese Aufgabe kann mann auch mit Stift und Papier lösen
  3. Optionale Assembler Aufgabe. Soll sehr einfach sein, wenn man schon mal was mit Assembler gemacht hat.

Begriff

  • Stack, Heap
  • Stack wächst von hohen Adressen, Strings und andere Daten werden von den niedrigen zu den hohen Adressen geschrieben
  • Stackframe
  • Stackalignment
  • PUSH, POP
  • Register
    64bit32bit16bit8bit
    RAXEAXAXAL/AH
  • Argumente werde heutzutage über den Stack aufgerufen.
  • heutzutage call statt int(errupt)
  • mov $1 %EAX
    • verschiebe den Wert 1 nach eax

2012-04-19 Thu

Scurity Models

  • Properties
    • precise, unambiguous
    • simple, abstract, easy to comprehend
    • generic, security properties only
    • "obvious" representation of the security policy
  • Reasons for insecurity
    • bug in security controls
    • flaw in the definition of what "secure" means
  • Informal development path
    • security requirements <–|demonstation|– functional specification <–|testing|– implementation
  • formal development path
    • abstract model <–|proof|– fomal specification <–|proof|– implementation
  • Types of security models
    • state machine (access matrix HRU)
    • information flow
    • non-interference
  • State machine models
    1. define state variables
      • s Subjects
      • o Objects
      • sclass(s) access class of subject
      • oclass(o) access class of object
      • A(s,o) set of modes {r},{rw},{w},{}
      • contents(o)
      • subj. active subject
    2. security state invariant
      • invariant: the system is secure iff
        • ∀ s ∈ S, o ∈ O:
        • if r∈ A(s,o) then sclass(s) >= oclass(o)
        • if w∈ A(s,o) then oclass(o) >= sclass(s)
    3. state transition functions
      • createobject(o,c)
        • if o ∉ O then
          • 'O = O u {0} and 'oclass(o)=0 and ∀ s∈ S 'A(s,o)={}
      • setaccess(s,o,modes)
      • create/changeobject(o,c)
        • 'oclass(o) = c AND if o ∉ then 'o=O u {o} and ∀ s ∈ S: 'A(s,o)={}
      • constraint: ∀ o ∈ O: 'oclass(o) >= oclass(o)
    4. prove security functions secure
      • Invariant AND Funtion => 'Invariant
    5. define the initial state
    6. prove initial state secure
  • Policy: A person may read a document only if the person's clearance is greater or equal to the classification of the document. No read up.
  • Properties:
    1. read ony if access class of subject is >= access class of obj.
    2. write only if access class of abj. >= access class of subj.
    3. The access class of an object cannot decrease
    4. A subj may modifiy another sbject's access … only if the first subj. can read the object
  • im buch ist ein fehler bei constraint 3 auf Seite 120

2012-04-17 Tue

  • Tutoriumstermine haben sich verschoben
  • Sicherheitsziele
    • vertraulichkeit
    • integrität
    • verfügbarkeit
  • Zwei Sichtweisen
    • Random Faliures (Murphys Law)
  • Sicherheitsfunktionen
    • prevention
    • detection
    • reaction
    • recovery
    • deterrent (audit-trail)
  • Interne- und Extere Sicherheit
    • Grenzen vom System ermittlen
    • system boundary
    • security perimeter in computer: OS?
  • Prozedurale Sicherheit
    • Mit welchen Prozess wir der Zugang zu einem System gewährt
    • Wer darf Hardware an einen Rechner anschließen?
  • Risiko Analyse
    • Die höhe des Risikos kann nur in groben Stufen geschätzt werden
  • Effekt Analyse
    • so wie oben
  • Jemand hat gesagt, es gibt 2 Sicherheitsmechanismen
    1. reference monitor
    2. cryptography
      • Wir brauchen beide. 2. Erweitert 1. auf das Netzwerk.
  • Identifikation
    • Wer ist das?
    • ID
  • Authentisierung
    • Ist ers wirklich?
  • Authorisierung
    • Jetzt soll er das machen können, was er darf.
  • Policy vs. Mechanism
    • Policy: beliebig schwammige Formulierung der Ziele. Muss präzise für den Rechner übersetzt werden.
    • Mechanism: Umsetzung einer Policy in einem Rechner
  • Assumptions & Trust
    • Wir müssen Annahmen über die Umgebung treffen.
    • Wir nehmen implizit an, dass Speicher korrekt funktioniert.
  • Nicht vertrauenswürde Software
    • benign software (harmlos)
    • malign software (absichtlich eingeschleuste schadsoftware)
  • Noch eine weitere Dimension
    • Assurence: ist schwer
    • müssen uns mit weniger zufrieden geben
    • Die höchst zusicherung im orange book:
      • Formelle spezifikation
      • Beweis des Models
      • Beweis, dass die Implementierung mit dem Model korrespondiert
    • Die ganze entwicklungskette muss zertifiziert sein.
  • discretionary security policy vs mandatory ….
    • discretionary: jeder nutzer setzt die lese rechte selbst
    • mandatory: nicht
  • Passwörter:
    • remote vs. local zugang
  • rainbow table

2012-04-12 Thu

  • Tutorium am Montag
  • wird wohl noch ein tutorium eingerichtet (auch am Montag)
  • Die andere Vorlesung am Dienstag
  • Aktive Teilnahme: 50% der Übungsleistungen erbringen
  • Anwesenheit wird nicht erfasst
  • man muss c-code schreiben
  • gcc, gdb, make, latex, graphiz, git, ascii, qemu
  • Quellen:
    • portal.acm.org/dl.cfg
      • aus dem uninetz entgeltfrei
    • scholar.google.com
    • www.informatik.uni-trier.de/
      • ~ley/db
      • DBLP
  • honor code: www.acm.org/about/code-of-ethics
  • Bei gruppenarbeit: "Mein Anteil an dieser Arbeit ist X"
  • Übungen starten am 2012-04-23 Mon

Datum: 2012-06-20 12:14:33 CEST

Autor: Dimitri Schachmann

Org version 7.6 with Emacs version 23