Files
sec/it_sec.org
2021-03-06 16:41:47 +01:00

110 KiB

it-sec

Stoff

Vorlesungen

1 Vorlesung (Einführung)

relevante Daten in der IT-Sicherheit
valuable data
Vorderseite

Was ist valuable data?

Rückseite

Daten die mit monetärem Wert vebunden sind. Das sind Kreditkartendaten, Kryptowährungen, Amazon / Ebay Accounts, aber auch der Netflix-Account. Angreifer können damit Geld verdienen.

private data
Vorderseite

Was ist 'private data'?

Rückseite

Gesundheit, Familie, Lebensplanung. Daten, die man nicht ins Internet stellen würde. Bergen die Gefahr der Erpressung. Diese Daten gehören zum persönlichen Schutzraum.

dangerous data
Vorderseite

Was ist 'dangerous data'?

Rückseite

Daten, die Einfluss auf physikalische Prozesse haben. Steuerung von Maschinen (Atomkraftwerken, Fahrzeugen). Ein Angriff auf diese Daten birgt Lebensgefahr.

Sichere Soft- und Hardware zu entwickeln ist schwierig

Weil:

Komplexität der Systeme

Je komplexer das System, desto schwieriger ist dessen Schutz.

Entstehung dieser Systeme

Werden meist von Unternehmen entwickelt, die einer Vielzahl von Constraints unterliegen und daher bei Sicherheit sparen.

Bekannte Schwachstellen aus der Vergangenheit
Vorderseite

Nennen sie 3 bekannte Schachstellen aus der Vergangenheit

Rückseite
Heartbleed

Schwachstelle in OpenSSL. Ermöglichte das Mitlesen von Daten auf dem Transportweg.

Shellshock

Schachstelle in Bash, die 30 Jahre lang bestand.

Spectre & Meltdown

Hardware-Schwachstellen in Prozessoren. Spekulative Ausführung kann genutzt werden, um Einfluss auf Berechtigungen und den CPU-Cache zu nehmen.

Cybercrime

Schaut auf Endnutzer, nicht mehr auf IT-Systeme / Server.

Skilled Attackers
Vorderseite

Was sind skilled attackers?

Rückseite

Professionelle und gut ausgestattete Angreifer (meistens state sponsored), die gezielte Angriffe gegen Wirtschaft und Staat führen mit dem Ziel der Erpressung, Spionage, Sabotage.

Beispiel: Stuxnet Worm. Angriff aus dem Jahre 2010 auf iranische Atomanlagen (vermutlich duch us-amerkanische und israelische Geheimdienste).

Sicherheitsziele und Bedrohungen

Bergriffsklärung

Sicherheitsziele der IT Sicherheit
Vorderseite

Nennen und erklären Sie 3 grundlegende und 3 weitere Ziele der IT Sicherheit

Rückseite
Grundlegende

C.I.A.

Vertraulichkeit (Confidentiality)

Absicherung von Ressourcen gegen Enthüllung / Offenlegung. Abhören von Telefonie, Mitlesen der Emails. Gängigstes Gegenmittel ist die Verschlüsselung. Verstecken ist auch möglich, aber nicht effektiv.

Integrität (Integrity)

Absicherung von Ressourcen gegen unbefugte Manipulation. Z.B. Abänderung von Überweisungsdaten (Änderung des Empfängers), Abänderung von Dateien in meinem Dateisystem.

Es muss nicht sein, dass Angriffe gegen die Integrität auch die Vertraulichkeit stören. Sie sind dann blinde Angriffe.

Gegenmittel: Authorisierung prüfen, Prüfsummen und digitale Fingerprints. Am besten auf einem anderen Kanal schicken.

Wer ist Mario und von welchem Zeug hat er 10kg besorgt? xD

Verfügbarkeit (Availibility)

Absicherung gegen die Störung der Ressourcen.

Z.B.

  • Versucht jemand den Webserver zu crashen, damit eine Website nicht mehr erreichbar ist?
  • Versucht ein Angreifer meine Festplatte zu formatieren?

Beliebt in Verbindung mit Erpressung. Das Abhandensein des Online-Shops führt zu Geldeinbußen.

Absicherung
  • Einschränkung der Verfügbarkeit (Authorisierung).
  • Redundanz: Mehrere Server
  • Diversität: Verschiedene Server
Weitere
Authenticity (Authentizität)

Der Urheber der Informationen ist, wer er vorgibt. Könnte als Teil der Integrität gezählt werden. Integrität des Absernders / Erstellers.

Accountability (Verantwortlichkeit)

Das Verknüpfen von Handlungen und Nutzern. Wichtig für Forensik. Wer hat was gemacht? Wer ist schuld? Ist teilweise personalrechtlich verboten.

Privacy (Privatsphäre)

Sicherheit und Kontrolle von persönlichen Daten. Hier gelten die gleichen Mechanismen wie oben (Vertraulichkeit, Integrität, Verfügbarkeit), aber die Daten sind personenbezogen. Eigener Zweig der IT-Sicherheit.

Abgeleitete Begriffe
Threat
Vorderseite

Definieren Sie threat.

Rückseite

Verletzung eines Sicherheitsziels.

Security
Vorderseite

Definieren Sie Security.

Rückseite

Absicherung gegen absichtliche Threats. Z.B. Die Bremse meines Autos soll nicht gehackt werden.

Safety
Vorderseite

Definieren Sie Safety.

Rückseite

Absicherung gegen versehentliche Threats (Unfälle). Z.B. Die Bremse meines Autos soll funktionieren und nicht ausversehen kaputt gehen, oder falsch benutzt werden können.

Angriffsklassen (threat classes)
Unsere Definition von Angriffsklassen
Vorderseite

Wie schauen wir auf Angriffsklassen?

Rückseite

Angriff: Alles, was absichtlich ein Sicherheitsziel zu verletzen versucht. Anstatt alle möglichen Angriffe aufzuzählen, sollten wir eher auf die Sicherheitsziele schauen.

Threat Classes
Vorderseite

Was sind threat classes? Nennen und definieren Sie 4 threat classes. (Muss laut Prof nicht auswendig gelernt werden).

Rückseite

Threat classes sind die Arten auf welche Sicherheitsziele verletzt werden können.

Disclosure

Dinge werden an dritte weitergegeben. Unauthorized Access.

Deception

Täuschung. Hat die Form falscher Daten. Absender des IP Pakets ist falsch.

Disruption

Störung des Betriebs z.B. eines Webserver.

Usurpation

Unauthorisierte Übernahme der Kontrolle. Beispiel: Selbstfahrendes Auto wird durch Hacker ferngesteuert.

Sicherheitsmechanismen und Policies
Definition Sicherheitsmechanismen und Policies
Vorderseite

Erklären Sie den Unterschied zwischen Sicherheitsmechanismen und -policies

Rückseite

Wir unterscheiden zwischen Mechanismen und Policies (Strategien, Gesetze).

  • Policy ist ein Gesetz, das definiert, was erlaubt ist und was nicht.
  • Der Mechanismus ist ein Werkzeug, welches die Policy umsetzt.

Es kann sein, dass etwas nicht erlaubt ist (Policy), aber der Mechanismus das Verbot nicht perfekt umsetzt.

Z.B. will man keinen Spam, aber die Spamfilter können das nicht perfekt umsetzten (lassen Spam durch oder filtern Ham raus).

Arten von Mechanismen
Kreislauf der Sicherheitsmechanismen
Vorderseite

Nennen und definieren Sie die 3 Phasen des niemals endenden Sicherheitskreislaufs.

Rückseite
Prevention (Prävention)

Oberstes Ziel. Es soll keine Sicherheitsvorfälle geben. Damit beschäftigt man sich vor einer Verletzung der Sicherheitsziele. Z.B.:

  • Man verwendet Verschlüsselung, damit niemand die Mails mitlesen kann.
  • Man verwendet Authentifikation
  • Man verwendet Ristriktion von Zugriffsrechten.

Bietet aber keinen 100%igen Schutz (falsche Benutzung, Sicherheitslücken). In anderen Fällen ist der Einsatz einiger Mechanismen nicht möglich,

  • z.B. wenn man ein offenes System (z.B. Internetsuche) betreibt. Man soll es nutzen können, ohne sich vorher anzumelden.
  • z.B. muss die Bremse im Fahrzeug ohne Passwort funktionieren.

Daher:

Detection (Erkennung)

Wenn die Prävention versagt, soll trotzdem der Angriff erkannt werden. Reagiert wird während der Verletzung des Schutzziels. Funktioniert nur, wenn man die Angirffsart kennt:

  • Man scannt Mails nach Bedrohungen, aber sie kommen über eine Website.

Z.B.:

  • Virenscanner: Reagiert, wenn die Schadsoftware bereits im System ist.

Daher:

Analysis (Analyse)

Ein Sicherheitsvorfall ist bereits aufgetreten. Wie ist das passiert? Dient nur der zukünftigen Absicherung.

Beispiel

Wie beim Zahnarzt: Prävention: Zähneputzen Detection: Zahnarztbesuch zur Überprüfung Analysis: Stelle wird gefunden und entfernt. "Bitte putzen Sie besser, benutzen Zahnseide und nehmen eine andere Körperöffnung zur Essensaufnahme".

2 Vorlesung (Symmetrische Kryptographie)

Cryptography
Vorderseite

Definieren Sie den Begriff Cryptography.

Rückseite

Die Wissenschaft die Confidentiality und Integrity von Information zu schützen. Die Information wird nicht versteckt, also ist von außen sichtbar, dass Informationen vorhanden sind. Es muss davon ausgegangen werden, dass das Verschlüsselungsverfahren bekannt ist.

Cryptanalysis
Vorderseite

Definieren Sie den Begriff Cryptanalysis.

Rückseite

Die Wissenschaft der Angriffe gegen die Kryptographie.

Steganography
Vorderseite

Definieren Sie den Begriff Steganography. In welcher Situation ist Steganography relevant?

Rückseite

Die Wissenschaft des Versteckens von Information. Wichtig, wenn Kommunikaiton nicht observierbar oder abstreitbar sein muss.

Cryptosystems
Vorderseite

Skizzieren Sie den Weg von Nachrichten innerhalb eines Cryptosystems. Erläutern sie auch die jeweiligen Begriffe.

Rückseite

/home/dandy/org/wiki/media/it-sec/nachricht-weg-crypto.png

M := Plaintext Nachricht C := Cyphertext Nachricht \( K_{E} \) := Encryption Key \( K_{D} \) := Decryption Key

More on Cryptosystems
Cipher
Vorderseite

Definieren Sie den Begriff Cypher.

Rückseite

Funktionen für das Ver- und Entschlüsseln von Nachrichten. \( E(M, K_{E}) \) = C \( D(C, K_{D}) \) = M

Keyspace
Vorderseite

Definieren Sie den Begriff Keyspace eines kryptographischen Schlüssels. Worin unterscheidet sich hierbei symmetrische und public-key Kryptographie?

Rückseite

Die Menge aller möglichen Werte für \( K_{E} \) und \( K_{D} \) Symmetrisch: \( K_{E} = K_{D} \) public-key: \( K_{E} \neq K_{D} \)

Confusion Property
Vorderseite

Was ist die Confusion Property einer kryptographischen Cypher?

Rückseite

Sind Cyphertext und Plaintext vorhanden, muss der Key schwer ableitbar sein.

Diffusion Property
Vorderseite

Was ist die Diffusion Property einer kryptographischen Cypher?

Rückseite

Es muss schwer sein den Plaintext aus dem Cyphertext abzuleiten.

Prinzip von Kerckhoffs
Vorderseite

Was ist das Kerkhoffs'sche Prinzip in der Verschlüsselung?

Rückseite
  • Es muss davon ausgegangen werden, dass die Cypher dem Angreifer bekannt ist
  • Die Sicherheit darf nur von der Verschlüsselung abhängen (no obscurity). Allein die Größe des Schlüssels ist das Maß für Sicherheit.
Warum ist Obscurity schlecht?
Vorderseite

Ist an Security through obscurity sinnvoll?

Rückseite

Nein, denn nach einer langen Nutzung des Verfahrens (evtl. durch mehrere Personen) kann man nicht mehr abschätzen, wie weit sich das Geheimnis der Obskurität verbreitet hat.

Some Attack Types
Brute-force attack
Vorderseite

Was ist eine Brute-force Attacke auf ein Cryptosystem?

Rückseite

Alle möglichen Schlüssel des Keyspaces ausprobieren. Der Angriff wird durch die Größe des Keyspaces gebremst.

Purchase-key attack
Vorderseite

Was ist eine Purchase-key Attacke auf ein Cryptosystem?

Rückseite

Der Key wird durch Androhung von Gewalt, Diebstahl, Erpressung, Bestechung oder andere wenig subtile Methoden erlangt. Daher ist physikalische Sicherheit nicht zu vernachlässigen.

Cyphertext-only attack
Vorderseite

Was ist eine Cyphertext-only Attacke auf ein Cryptosystem?

Rückseite

Anwendung eines Verfahrens zur Ableitung des Schlüssels ausschließlich aus dem Cyphertext.

Known-plaintext and chosen-plaintext attack
Vorderseite

Was ist eine Known-plaintext bzw. Chosen-plaintext Attacke auf ein Cryptosystem?

Rückseite

Man hat Paare von unverschlüsselten Nachrichten und ihren verschlüsselten Versionen. Im known Fall hat man eine bekannte Anzahl dieser Paare, im chosen Fall kann man für beliebige Nachrichten verschlüsselte Texte generieren. Hier wird auch die Rekonstruktion des Schlüssels versucht.

Estimating Risk
Ressourcen bei Angriff auf Cryptosystem
Vorderseite

Nennen Sie die Ressourcen für einen Angriff auf ein Cryptosystem.

Rückseite
  • Computation Power
  • Speicherplatz
  • Zeit
  • (Skill)
Wann ist ein Verschlüsselungsverfahren computationally secure?
Vorderseite

Wann ist ein Verschlüsselungsverfahren computationally secure und was heißt das?

Rückseite
  • Wenn der Trade-off zwischen den Kosten der Entschlüsselung und dem möglichen Profit negativ ist. Zu den Kosten der Entschlüsselung gehören z.B. die Kosten für die Rechenkapazität.
  • Kryptographische Verfahren die mit den aktuell verfügbaren Ressourcen und den aktuell bekannten Angriffen nicht brechbar sind.
Ancient Ciphers
Simple substitution ciphers
Defintion
Vorderseite

Was ist eine simple substitution cipher und was ist seine Schwäche?

Rückseite
  • Ein Buchstabe einer Nachricht wird nach einer festen Verschiebung auf einen anderen Buchstaben gemappt.
  • Der Keyspace ist sehr klein.
Caesar Cipher
Vorderseite

Was ist die Caesar Cipher und wie groß ist ihr Keyspace?

Rückseite
  • simple substitution cipher, Verschiebung des Alphabets um k Stellen. Verschiebung um 0 und um |Alphabet| ist die Indentitätsverschiebung (keine Verschiebung).
  • Der Key ist die Verschiebung k, daher ist der Keyspace |Alphabet| - 2.
ROT13
Vorderseite

Was ist die ROT13 Cipher und wie groß ist ihr Keyspace?

Rückseite
  • simple substitution cipher, Spezialfall der Caesar Cipher, Verschiebung eines Buchstabens im Alphabet um 13 Stellen.
  • Wird die Verschiebung als der Key angesehen, ist einer Verschiebung um 13 Stellen der Keys selbst, also ist der Keyspace = 1
Monoalphabetic substitution ciphers
Vorderseite

Was ist eine monoalphabetic substitution cipher mit Permutation und was ist seine Schwäche?

Rückseite
  • Zu dem Alphabet der Nachricht wird ein gleichlanges anderes Alphabet gewählt, z.B. durch Permutation. Die Buchstaben werden 1:1 gemappt.
  • Frequenzanalyse: Man zählt Buchstaben nach einer bekannten Frequenz und nimmt ein Wörterbuch der vermuteten Sprache und versucht sie zu mappen…
Vignère Cipher (Polyalphabetic substitution cipher)
Vorderseite

Was ist die Vignère Cipher und was sind bekannte Angriffe auf ihn?

Rückseite
  • Ein Buchstabe wird auf einen Buchstaben des gleichen Alphabets gemappt, jedoch ist der Offset nicht mehr fest, sondern wird von einem Running Key festgelegt. Effektiv sind es mehrere einfache Substitutionschiffren in einender.
  • Kasiski Test, Friedman Test: Die Verschiebnung hat eine Periode, die man herausfinden kann. Sie bestimmt die einzelnen monoalphabetischen Substitutionen, die dann zu ermitteln sind.
XOR Cipher
Vorderseite

Wie funktioniert die XOR Cipher?

Rückseite
  1. Nachricht und Key auf Binärcode mappen.
  2. Key auf die Länge der Nachricht periodisieren.
  3. E(M, K) = xor(M, K) = C D(C, K) = xor(C, K) = M
One-Time Pad
Vorderseite

Was ist die One-time pad Cipher und warum ist sie absolut sicher?

Rückseite

XOR Cipher mit Constraints:

  1. Die Länge des Keys und der Nachricht ist gleich.
  2. Die Bits des Keys sind echt zufällig.
  3. Der Key wird nur einmal benutzt und dann zerstört.

Funktioniert, weil:

  • XOR mit einem wirklich zufälligen Schlüssel wieder völlig zufällig ist.
  • Wenn C = xor(M, K), dann ist jedes M gleich wahrscheinlich.
Gängie Chiffren
Block Chiphers
Vorderseite

Was ist eine Block Cipher? Nennen Sie drei gängige. Zu welchem Zweck werden sie präferiert eingesetzt?

Rückseite
  • Block Ciphers ver- bzw. entschlüsseln Datenblöcken fester Größe.
  • AES, Serpent, Twofish
  • Verschlüsselnung statisher Daten wie Dateien.

Nachrichten, die nicht in einen Block passen, müssen in Blöcke gestückelt und evtl. auf Blockgröße aufgefüllt werden (Achtung: nicht mit 0en).

Strom Chiffren
Vorderseite

Was ist eine Stream Cipher? Nennen Sie zwei gängige. Zu welchem Zweck werden sie präferiert eingesetzt?

Rückseite
  • Stream Ciphers arbeiten auf Bit bzw. Byte Ebene.
  • Rabbit, Salsa20
  • Verschlüsselung dynamischer Daten.

Ein Cipher Stream wird erzeugt indem mithilfe eines PRNG (pseudo random number generator) parallel zum Message Stream ein Key Stream erzeugt wird, die on-the-fly per XOR zusammengefügt werden.

Block Cipher Modes
Electronic Code Book (ECB)
Definition ECB
Vorderseite

Was ist die Electronic Code Book Mode bei der Verschlüsselung mit Block Chiffren? Zeichnen Sie ein Diagramm.

Rückseite
  • Naive Verschlüsselung der Blöcke: Man nimmt den Block und verschüsselt ihn ohne weiteres.

/home/dandy/org/wiki/media/it-sec/ecb-diag.png

Vor- und Nachteil bei ECB
Vorderseite

Nennen sie den Vorteil der ECB Mode bei der Verschlüsselung von Blöcken. Was ist der Nachteil?

Rückseite
  • Es ist einfach und effizient: Die Verschlüsselung der eines Blöcks passiert unabhängig von der eines anderen und daher ist es einfach sie zu implementieren und verteilt (auf mehreren Cores) auszuführen.
  • Anfällig für known-plaintext und replay Attacks: Ein Block wird immer auf den gleichen verschlüsselten Block abgebildet. Überträgt man zwei mal die gleichen Daten, weiß man es sind die gleichen. Ein Angreifer kann so auch einen bekannten Block in die Übertragung injecten und so die Kommunikation stören.
Cipher-Block Chaining
Definition
Vorderseite

Was ist die Cipher-Block Chaining Mode bei der Verschlüsselung mit Block Chiffren? Zeichnen Sie ein Diagramm.

Rückseite
  • Vor der Verschlüsselung eines Blocks wird er mit bereits verschlüsselten Version des vorherigen Block geXORt. Der erste Block wird mit einem Initialisierungsvektor IV geXORt. Der IV ist eine zufälliger String und wird für jede Nachricht neu generiert und offen mitgesendet.

/home/dandy/org/wiki/media/it-sec/cbc-mode.png

Vor- und Nachteile bei CBC
Vorderseite

Nennen sie die Vorteile der CBC Mode bei der Verschlüsselung von Blöcken. Wäre ein Nachteil?

Rückseite
  • Resistent gegen known-plaintext und replay Angriffe.
  • Verschlüsselung erfolgt sequenziell und kann nicht mehr parallelisiert werden.
Counter Mode (CTR)
Definition
Vorderseite

Was ist die Counter Mode bei der Verschlüsselung mit Block Chiffren? Zeichnen Sie ein Diagramm.

Rückseite
  • Die Verschlüsselung von Blöcken wird wie eine Stream Cipher gehandhabt. Man kann das Verfahren in zwei Teile teilen. 1. Erzeugung des key streams: Der key stream wird durch Verschlüsselung E einer offenen nonce (number used only once) zusammen mit einem Counter mithilfe des Schlüssel K erzeugt.

    1. Verschlüsselung der Blöcke: XOR Operation eines Key Blocks und des zu verschlüsselnden Blocks.

/home/dandy/org/wiki/ctr-mode.png

Vor und- Nachteile bei CTR
Vorderseite

Nennen sie die Vorteile der CBC Mode bei der Verschlüsselung von Blöcken.

Rückseite
  • Die Keyblöcke können vorberechnet werden.
  • Die Keyblöcke können neu berechnet werden. Dazu braucht man nur die offene Nonce, den offenen Counter und den geheimen Schlüssel. Sollte ein Block verloren gehen, kann er ohne Probleme neu berechnet werden.

3 Vorlesung (Public Key Cryptography)

Probleme der symmetrischen Verschlüsselung
Vorderseite

Nennen Sie zwei Probleme der symmetrischen Verschlüsselung.

Rückseite
  • Symmetrische Kryptographie setzt ein shared secret (den Schlüssel) voraus. Der Austausch verschlüsselter Nachrichten ist sicher, aber der Schlüsselaustausch ist es nicht.
  • Gruppenkommunikation: Damit eine Gruppe unter einander sicher kommunizieren kann, braucht es ein shared secret pro Paar. Für n Gruppenmitglieder braucht man \( \frac{n^2 - n}{2} \) Schlüssel.
Idee der asymmetrischen Verschlüsselung
Vorderseite

Was ist bei der public key Verschlüsselung asymmetrisch? Was erleichtert es? Hat es Nachteile?

Rückseite
  • Trennung des Schlüssels in einen zur Verschlüsselung und einen zur Entschlüsselung. Der Verschlüsselungsschlüssel kann öffentlich gemacht werden.
  • Weil der öffentliche Schlüssel öffentlich ist, ist das Problem des Schlüsselaustausches gelöst. Für Gruppenkommunikation braucht es nur ein Schlüsselpaar pro Person.
Rivest-Shamir-Adleman (RSA)
Erfinder
Vorderseite

Nennen Sie die drei Erfinder von RSA

Rückseite
  • Ron Rivest
  • Adi Shamir
  • Leonard Adleman
Euler'sche Phi-Funktion
Vorderseite

Wie ist die euler'sche Phi-Funktion definiert?

Rückseite
  • Für jede positive, natürliche Zahl n gibt sie die Anzahl der zu n teilerfremden natürlichen Zahlen kleiner n an.
  • \( \phi(n) = |\{ a \in \mathbb(N) | 1 \leq a \leq n \land ggT(a,n) = 1 \} | \)
  • \( \phi(n \cdot m) = \phi(n) \cdot \phi(m) \)
  • Für eine Primzahl p gilt: \( \phi(p) = p - 1 \)
Schlüsselerzeugung
Vorderseite

Nennen Sie die nötigen Schritte zum Erzeugen eines RSA Schlüsselpaares. Gehen Sie darauf ein, warum der Schritt wichtig ist.

Rückseite
  1. Wähle zufällige Primzahlen p und q und berechne \( n = p \cdot q \). Zur Sicherheit sollten p und q groß sein, weil die Sicherheit aus der Integer Faktorisierung kommt (schweres Problem).
  2. Berechne Euler Funktion \( \phi(n) = \phi(p) \cdot \phi(q) = (p -1)(q - 1) \). Leicht, wenn p und q bekannt sind.
  3. Wähle öffentlichen Schlüssel e mit \( ggT(e, \phi(n)) = 1 \). Nur so gibt es zu e ein Inverses (mod \( \phi(n) \))
  4. Berechne den privaten Schlüssel \( d = e^{-1} \text{ mod } \phi(n) \).
RSA Verschlüsselung
Vorderseite

Sei ein RSA Schlüsselpaar e, d und eine Nachricht m gegeben. Wie erhält man den Ciphertext c? Wie entschlüsselt man c zurück zu m?

Rückseite
  • \( c = m^e \text{ mod } n \)
  • \( m = c^d \text{ mod } n \)

/home/dandy/org/wiki/media/it-sec/rsa-decrypt.png

Angriff
Diffie-Hellman
Erfinder
Vorderseite

Wer hat das Diffe-Hellman Verfahren entickelt?

Rückseite
  • Die Idee kam von Ralph Merkle
  • Entwickelt von Whitfield Diffie und Marin Hellman.
Prinzip
Vorderseite

Was ist der Zweck und das Prinzip von Diffe-Hellman?

Rückseite
  • Schlüsselaustausch: Etablierung eines shared secret über einen offenen Kanal. Kein Nachrichtenaustausch.
  • Beide Partner haben je eine geheime Zahl a bzw. b, die sie nicht direkt austauschen, sondern vermischt mit einer öffentlichen Zahl (das Entmischen ist schwer). Die Mischung wird ausgetauscht und die jeweils eingene geheime Zahl zur Mischung hinzugefügt. Beide Mischungen sollten daraufhin gleich sein.

~/org/wiki/media/it-sec/prinzip-dh.png

Funktionsweise
Vorderseite

Wie funktioniert der Diffe-Hellman Schlüsselaustausch?

Rückseite
  1. Alice und Bob einigen sich öffentlich auf eine Primzahl n (Modulus) und einen Generator (Erzeuger) g aus dem Modulus n, so dass also \( \langle g \rangle = \mathbb{Z}_{n} \).
  2. Alice und Bob wählen je eine geheime, zufällige Zahl a bzw. b.
  3. Sie vermischen jeweils ihre geheime Zahl mit \( \mathbb{Z}_{n} \) und erzeugen A bzw. B: \( A = g^a \text{ mod } n \) bzw. \( B = g^b \text{ mod } n \).
  4. Sie tauschen A und B aus.
  5. Beide mischen ihre geheimen Zahlen hinzu und erhalten den gleichen Schlüssel k: \( k = B^a \text{ mod } n \) und \( k = A^b \text{ mod } n\).

Beweis: /home/dandy/org/wiki/media/it-sec/dh-proof.png

Angriff
Ableitung des Schlüssels
Vorderseite

Wie kann ein Dritter bei Diffe-Hellman der Schlüssel k berechnen?

Rückseite

\( k = A \cdot B \text{ mod } n = g^x \cdot g^y \text{ mod } n = g^{x \cdot y} \text{ mod } n \). Jedoch muss dafür jedes mögliche x * y aus \( \mathbb{Z}_n \) ausprobiert werden.

Entschlüsselung
Vorderseite

Wie kann ein Dritter bei Diffe-Hellman die Verschlüsselung rückgängig machen?

Rückseite

\( a = log_{g}(A) \text{ mod } n \). Allerdings ist das sehr schwer.

4 Vorlesung (Hybrid Cryptosystem)

Cryptographic Hash Functions

Alernative Namen: message digests, fingerprints. Im Prinzip wie eine Hash-Datenstruktur, aber mit dem Zusatz, dass ie cryptographisch ist.

Prinzip
Vorderseite

Was ist das Prinzip einer crypographischen Hashfunktion? Was sind ihre Eigenschaften?

Rückseite
  1. Sie bildet Nachrichten einer beliebigen Menge auf (binäre) Zahlen einer festen Länge ab. Diese Zahl wird der Fingerabdruck genannt. Um effektiv zu sein, muss die Bildmenge sehr groß sein, sodass eine Kollision sehr unwahrscheinlich ist.
  2. Sei M die Nachricht, H die Hashfunktion, D der Fingerabdruck. Eigenschaften:

    • One-way property: Ist M gegeben, kann D = H(M) leicht bestimmt werden. Ist D gegeben, ist eine Rekonstruktion von M sehr schwer.
    • Schnell berechenbar
    • Die Änderung eines Bits in der Nachricht ändert den Fingerabdruck signifikant (um mehr als 50%).
Kollisionsresistenz
Kollision
Vorderseite

Was ist bei kryptographischen Hashfunktionen eine Kollision?

Rückseite

Zwei verschiedene Nachrichten M haben den selben Fingerabdruck.

Birthday Attack
Vorderseite

Was ist eine Birthday Attack auf eine kryptographische Hashfunktion?

Rückseite

Eine Sicherheitsüberprüfung der Integrität von Nachrichten mithilfe von Digests (und sogar MAC) kann umgangen werden, wenn man zu einem gegebenen Digest eine beliebige andere Nachricht finden kann.

Resistenz
Vorderseite

Was ist schwache Kollisionsresistenz? Was ist starke?

Rückseite
  • Für eine gegebene Nachricht M ist es schwer eine Nachricht M' zu finden, die den gleichen Hash hat. Eine Birthday Attacke ist möglich.
  • Für alle möglichen Paare von Nachrichten M und M' ist eine Kollision schwer zu finden. Eine Birthday Attacke ist nicht möglich.
Digital Signatures
Problem der unauthentifizierten asymmetrischen Verschlüsselung
Vorderseite

Welcher Gefahr setzt man sich aus, wenn man asymmetrisch verschlüsselt aber ohne Authentifizierung kommuniziert?

Rückseite
  • Man-in-the-middle Attacks (MITM): Wenn Kommunikaitonspartner nicht gegenseitig ihre Identität verifizieren, kann es sein dass ich eine Drittperson in die Mitte schaltet und für beide Seiten den Schlüsselaustausch simuliert und auf die Art die Kommunikation mitlesen kann. Gleiches gilt für den Austausch von öffentlichen Schlüsseln.
Henne-Ei-Problem
Vorderseite

Was ist das Henne-Ei-Problem beim Austausch von asymmetrischen Schlüsseln.

Rückseite

Für die Verifizierung der Identität des asymmetrischen Schlüssels braucht man einen Hash des Schlüssels, der auch erst unauthentifiziert übermittelt werden muss.

Prinzip
Vorderseite

Was ist das Prinzip bei digitale Signaturen?

Rückseite

Die Funktion der Schlüssel bei der asymmetrischen Verschlüsselung wird umgedreht: Ein Hash der Nachricht wird mit dem privaten Schlüssel verschlüsselt und kann mit dem öffentlichen Schlüssel entschlüsselt werden. So kann jeder, der den öffentlichen Schlüssel hat, sehen dass der Besitzer des privaten Schlüssels die Nachricht gesendet hat.

in RSA
Vorderseite

Wie wird eine digitale Signatur in RSA bewerkstelligt?

Rückseite

Sei M eine Nachricht, H die Hashfunktion, d ein privater Schlüssel, e ein öffentlicher Schlüssel und s die Signatur.

  • Unteschrift erstellen: Signieren mit d: \( s = H(M)^d \text{ mod } n \)
  • Unterschrift mit e verifizeiren: \( H(M) = s^e \text{ mod } n \)
Zertifizierungsstellen
Vorderseite

Was ist die Funktion einer Zertifizierungsstelle in asymmetrischer Verschlüsselung?

Rückseite

Sie dient als trusted third party, die reale Identitäten und öffentliche Schlüssel in Verbindung bringt, also die Identität des Inhabers verifiziert. Dann setzt sie ihre digitale Signatur auf den Schlüssel. Findet man also die digitale Signatur einer Zertifizierungsstelle, der man vertraut, auf einem öffentlichen Schlüssel, kann man sich sicher sein, dass der Schlüssel der Person ist.

Angriffe
Key-only Attack
Vorderseite

Was ist ein key-only attack gegen Signaturen?

Rückseite

Man kennt nur den öffentlichen Schlüssel und versucht damit eine Signatur zu produzieren.

Known-message
Vorderseite

Was ist ein known-message attack gegen Signaturen?

Rückseite

Man kennt zu dem öffentlichen Schlüssel zusätzlich eine signierte Nachricht. Damit kennt man den Hash und aus welcher Nachricht er berechnet wurde. Jetzt kann versucht werden, die Nachricht zu verändern, ohne dass der Hash sich ändert.

Chosen-message
Vorderseite

Was ist ein chosen-message attack gegen Signaturen?

Rückseite

Man kann Nachrichten nicht selbst signieren, kann aber das Opfer dazu bringen, Nachrichten für einen selbst zu signieren.

Forgery
Vorderseite

Was sind die 3 Stufen der signature forgery?

Rückseite
  1. Existential Forgery: Es existiert auf irgendeiner Nachricht eine gefälschte Signatur. Blöd, aber kein Problem.
  2. Selective Forgery: Für gewissen Nachrichten können Signaturen gefälscht werden.
  3. Universal Forgery: Es kann alles signiert werden.
Hybrid Cryptosystems
Warum?
Vorderseite

Warum sind hybride Kryptosysteme nötig?

Rückseite
  • Mit bessere Methoden der Technik und Algorithmik ermöglichen immer schnellere Berechnungen kryptographischer Schlüssel.
  • Um dem entgegenzuwirken, werden Schlüssel immer länger, aber damit auch langsamer.
  • Symmetrische Kryptographie ist dagegen widerstandsfähiger. In hybriden Kryptosystemen nimmt man die besten Teile beider Welten.
Prinzip
Vorderseite

Was ist das Prinzip bei hybriden Kryptosystemen? Was ist eine Schwäche

Rückseite
  • Asymmetrische Verschlüsselung für die Etablierung des symmetrischen Sitzungsschlüssels.
  • Symmetrische Block- bzw. Stromcipher für den effizienten Austausch von Daten.
  • Das ganze System ist nur so stark wie das schwächste Glied der Kette.
Forward Secrecy
Vorderseite

Was ist Forward Secrecy in Kryptosystemen? Wie wird es implementiert?

Rückseite
  • Erlangt ein Angreifer (in Zukunft) den Key, kann er damit den gesamten Nachrichtenverlauf entschlüsseln. ryptosysteme mit Forward Secrecy kalkulieren das mit ein und sorgen dafür, dass der Schaden bei einem Sicherheitsvorfall begrenzt bleibt.
  • Für symmetrische Verfahren ist es leicht: Jede Sitzung sollte einen neuen Schlüssel benutzen.
  • Bei asymmetrischen Verfahren ist es schwieriger: Sie sind groß und an Identitäten gekoppelt. Sie oft zu ändern ist inpraktikabel. Werden sie aber nur zur Etablierung der Sitzung verwendet (RSA signiertes Diffe-Hellman), ist Forward Secrecy garantiert.
Public Key Infrastructure (PKI)
Arten
Vorderseite

Welche zwei Arten von Public Key Infrastructure gibt es?

Rückseite
  • Chain of trust: X.509 Standard, hierarchisch
  • Web of trust: Pretty Good Privacy (PGP), dezentral
Chain of Trust PKI
Wie funktioniert es?
Vorderseite

Wie funktioniert eine hierarchische Public Key Infrastructure?

Rückseite
  • Certificate Authorities (CA): Signieren mit einem wohlgehüteten privaten Schlüssel ein ausgestelltes Zertifikat (öffentlicher Schlüssel + Attribute).
  • CAs sind trusted third parties.
  • Mit dem ausgestellten Zertifikat können weitere öffentliche Schlüssel / Zertifikate signiert werden.
Web of Trust PKI
Wie funktioniert es?
Vorderseite

Wie funktioniert eine dezentrale Public Key Infrastructure?

Rückseite
  • Es gibt keine zentrale Authorität.
  • Jeder erstellt seinen Schüssel und lässt ihn von seinen Bekannten signieren und signiert wiederum ihre (über einen sicheren Kanal).
  • Trifft man auf einen unbekannten Public Key, kann geguckt werden, ob er bekannte Signaturen enthält, die das Vertrauen in den Key erhöhen können.
SSL
Was ist das?
Vorderseite

Wofür steht SSL? Wofür steht TLS? Was ist der Zusammenhang?

Rückseite
  • Secure Sockets Layer
  • Transport Layer Security
  • Werden oft als Synonym verwendet. SSL war die erste Fassung eines Transportwegverschlüsselungsstandards. Nachdem einige Schwachstellen gefunden wurden, enschied man sich für ein auf SSL aufbauenden Standard names TLS, der jedoch nicht mit SSL rückwärtskompatibel ist.
Zweck
Vorderseite

Was ist der Zweck von TLS?

Rückseite
  • Implementiert eine Peer-to-Peer Verschlüsselung: Auf dem Weg einer Nachricht in einem Computer-Netzwerk sollen die Zwischensysteme die Nachricht nicht lesen können.
  • Andere Prozesse, die auf dem Rechner laufen und keine Root-Rechte haben, sollen die Nachricht auch nicht lesen können.
Auf welcher ISO OSI Schicht liegt TLS?
Vorderseite

Auf welcher ISO OSI Schicht liegt TLS?

Rückseite
  • Zwischen Transportschicht (4) und Anwendungsschicht (5 bzw. 6).
  • Bis einschließlich TCP (o.ä.) ist ist alles unverschlüsselt. Der Inhalt der TCP Segmente wird von der Anwendung für die Peer-Anwendung verschlüsselt.
Wie ist TLS implementiert?
Vorderseite

Wie ist TLS implementiert?

Rückseite

Hybrides Kryptosystem: Mindestens die Serverseite hat ein von einer CA signiertes X.509 Zertifikat, welches die Authentizität bestätigt. Mithilfe des Zertifikats wird asymmetrisch ein symmetrischer Schlüssel für die Sitzung erzeugt (TLS Handshake). Mithilfe des Schlüssels werden Anwendungsdaten verschlüsselt ausgetauscht.

Woher kommt das Vertrauen in TLS? Wie kann es angegriffen werden?
Vorderseite

Woher kommt das Vertrauen in TLS? Wie kann es angegriffen werden?

Rückseite
  • Chain of Trust, dessen Ursprung eine Certificate Authority ist.
  • Wird bei der CA eingebrochen und der private Schlüssel erlangt, können damit beliebig viele Serverzertifikate für beliebige Webseiten erstellt werden. So können dann MITM Attacken initiiert werden.
Verteidigung gegen Chain-of-trust Angriffe
Vorderseite

Was wären Gegenmaßnahmen für Angriffe gegen die Chain of Trust bei TLS? Haben sie Nachteile?

Rückseite
  • Certificate Pinning: Ein Client bringt das Zertifikat (oder den Fingerprint) des Servers direkt mit (quasi einkompiliert). So kann ihm kein gefälschtes Zertifikat untergeschoben werden, aber das Zertifikat kann auch nicht ausgetauscht werden ohne dass der Client angepasst werden muss. Weiterhin ist es ein Rückschritt zur Chain of Trust.
  • Certificate Transparency: Ein öffentliches append-only Log in Form eines Merkle-Hash-Trees wird für ausgestellte Zertifikate angelegt. Jeder Eintrag im Baum führt den Hash seines Parents für den Eintrag mit. Wird oben im Baum etwas geändert, passen alle nachfolgenden Hashes nicht mehr. Auch neu ausgestellte, gefälschte Zertifikate müssen in das append-only Log eingefügt werden und sind so für immer drin. So können Manipulationen schnell erkannt werden. Die Überprüfung der Logs ist jedoch aufwändig.
PGP
Was ist?
Vorderseite

Wofür steht PGP? Was ist das? Was ist GPG?

Rückseite
  • Pretty Good Privacy
  • Hybrides Cryptosystem mit Web-of-trust Modell
  • GNU Privacy Guard: Eine freie PGP Implementierung.

5 Vorlesung (Authentication)

Auth
Was ist Auth?
Vorderseite

Was ist Authentifizierung?

Rückseite

Die Verbindung einer Identität (Person oder anderer Computer) mit einem Subjekt (Nutzeraccount).

Faktoren der Authentifizierung
Vorderseite

Nennen Sie die drei Faktoren der Authentifizerung und geben sie je ein Beispiel.

Rückseite

Die Bestätigung einer Identität erfolgt mithilfe von:

  • Knowledge Factors: Wissen, dass nur der Computer und die Person hat und niemand sonst. Z.B.: Passwort oder Pin-Code auf einer Geldkarte.
  • Ownership Factors: Unterscheidung von Personen anhand von Besitz: Z.B. Schlüssel, EC Karte, Hardware Token
  • Human Factors: Auch biometrische Faktoren genannt. Alles was den menschlichen Körper einzigartig macht. Iris-Muster, Fingerabdrücke, Stimme.

Authentifizierung kann über eine beliebige Kombination dieser Faktoren erfolgen.

Location Faktor
Vorderseite

Warum ist der Location Factor kein guter Faktor der Authentifizierung?

Rückseite
  • Authentifizierung erfolgt überwiegend über das Internet von überall auf der Welt. Authentifizierung über der Ort macht das ganze sehr unpraktisch.
  • Der Ort selbst muss mithilfe weiterer Faktoren geschützt werden, wie einem Passwort oder Schlüssel. Daher ist der eigentliche Schutz der weitere Faktor.
Auth Fakoren in der Betrachtung
Auth by Knowledge
Vorderseite

Was sind die Vor- und Nachteile einer Authentifizerung über Knowledge Factors?

Rückseite
  • Vorteile:

    • Simple Einrichtung ohne spezielle Hardware
    • Im Fall einer Offenlegung ist die Erstzung von Geheimnissen leicht.
  • Nachteile:

    • Das menschliche Gedächtnis ist nicht immer verlässlich, dadurch tendieren Menschen dazu, einfache Passwörter zu wählen oder ein Passwort mehrfach zu verwenden.
    • Die Geheimhaltung ist nicht immer garantiert (Post-it am Bildschirm oder purchase key attacks).
Auth by Ownership
Vorderseite

Was sind die Vor- und Nachteile einer Authentifizerung über Ownership Factors?

Rückseite
  • Vorteile:

    • Handhabung ähnlich zu physikalischen Schlüsseln (Yubikey).
    • Replikation und Cloning sind i.d.R. schwer
  • Nachteile:

    • Verlust oder Diebstahl des Hardware Tokens ist problematisch.
    • Brauch spezielle Hardware
Auth by Biometry
Vorderseite

Was sind die Vor- und Nachteile einer Authentifizerung über Human Factors?

Rückseite
  • Vorteile:

    • Ideale Verbindung zwischen Subjekten und Identitäten.
    • Biometrische Eingenschaften sind durch die Natur allen gegeben und gehen nur schwer verloren.
  • Nachteile:

    • Die Ersetzung dieser Eigenschaften ist schwierig
    • Sobald sie genutzt werden, müssen sie geschützt werden. Stimmen kann man aufnehmen, Fingerabrücke von einer Oberfläche entnehmen, eine Iris von einem hochauflösenden Foto entnehmen.
    • Man kann sich nicht unter einem Pseudonym authentifizieren, weil die Kopplung nicht an eine Identität sondern an den Körper gebunden ist.
Multi-Factor Auth
Vorderseite

Was ist Multi-Factor Authentifizierung? Nennen sie drei Beispiele.

Rückseite
  • Die Authentifizierung über mehrere Authentifizierungsfaktoren. Es erhöht die Sicherheit.
  • Bezahlung per EC-Karte: Ownership Factor (Die Karte) + Knowledge Factor (die PIN).
  • Bezahlung per Kreditkarte: Ownership Factor (Scan der Karte) + Unterschrift (Human Factor).
  • Klausurenanmeldung: Knowledge Factor (GITZ Passwort) + Ownership Factor (TAN)
Auth mit Passwörtern und deren Probleme
PW und Asym
Vorderseite

Wie werden Passwörter in der asymmetrischen Kryptographie verwendet?

Rückseite

Der private Schlüssel wird mithilfe eines symmetrischen Schlüssels verschlüsselt, dessen Grundlage ein Passwort sein kann.

PW und Sym
Vorderseite

Wie werden Passwörter in der symmetrischen Kryptographie verwendet?

Rückseite

Aus einem Passwort wird per Hash oder Key Derivation Function ein 256 bit Schlüssel generiert. Das wird gemacht, damit jeder mögliche Schlüssel des Keyspaces gleich wahrscheinlich wird.

Probleme
Vorderseite

Nennen Sie drei Arten von Problemen von Passwörtern

Rückseite
  • Password snooping:

    • Das Passwort kann mitgelesen werden (unverschlüsselte Netzwerkkommunikation).
    • Das Passwort kann per Malware vom Computer extrahiert werden (z.B. Keylogger).
  • Password guessing:

    • Dictionary Attacks: Das Raten von Passwörter mithilfe von Wortlisten.
    • Brute-force Attacks: Alles durchprobieren.
  • Human deficiencies: Menschen können das selbe schwache Passwort öfter verwenden.
PW Storage
Cleartext
Vorderseite

Wie sollen Passwörter auf keinen Fall gespeichert sein? Warum nicht?

Rückseite
  • Im Klartext
  • Gelingt es nicht das System zu sichern, sind alle Passwörter direkt offengelegt:

    • Ein Fehler in der Absicherung der User-Datenbank legt alle Passwörter offen
    • Gibt es ein hardcoded Passwort in einem Programm, kann es per Debugger herausgeholt werden.
Hashed
Vorderseite

Wie solle die Speicherung von Passwörtern realisiert werden. Was hat das für Vorteile?

Rückseite

Hashed and salted: Zum Hash das Passwort zu finden ist sehr schwer, das Passwort den Hash sehr leicht. Salt: Ein offener, zufälliger String der an das Passwort gehängt wird.

Salt
Vorderseite

Was ist das Salt bei gehashten Passwörtern? Was sind die Vorteile?

Rückseite
  • Ein zufälliger, offen gespeicherter String für jedes Passwort. Es wird beim Erstellen das Hashen an das Passwort gehängt
  • Hat man eine Login-Datenbank, muss man ein Passwort nur einmal Hashen und kann in jedem Account danach suchen. Hat aber jeder Account einen Salt, muss das Passort immer wieder neu gehasht werden. Man kann auch eine Liste von Hashes von beliebten Passwörtern vorbereiten (Pre-Computation of Hashes) und nach den Passwort-Hashes in den Account Daten suchen. Ein Salt verhindert das.
Key stretching
Vorderseite

Was ist key stretching bei der Absicherung von Passwörtern?

Rückseite

Ein Passwort wird nicht nur einmal, sondern mehrere (tausend) mal gehasht um die Berechnung etwas teurer zu machen. Führt dazu, dass ein Login länger braucht, aber das ist für Alice akzeptabel. Aber Mallory will ein Passwort raten und muss für jeden Versuch mehrere Male hashen.

Challenge Response
One Time Password
Vorderseite

Was sind die Vor- und Nachteile von One Time Passwords?

Rückseite
  • Vorteile:

    • Password cracking wird nutzlos
    • Password snooping wird nutzlos
    • Dem Altern von Passwörtern wird entgegengewirkt
  • Nachteile:

    • Es braucht ein System von Passwörtern
S/KEY Algorithmus
Vorderseite

Was ist das Prinzip hinter dem S/KEY one-time password Algorithmus?

Rückseite
  1. Der Nutzer wählt ein initialen Key \( K_1 \)
  2. Es werden \( K_n \) Passwörtern per rekursivem Hashing aus \( K_1 \) abgeleitet: \( H(K_{1}) = K_{2}, H(K_{2}) = K_{3}, ..., H(K_{n-1}) = K_{n} \)
  3. Sie bilden die One-time Passwords: \( P_1 = K_n, P_2 = K_{n-1}, ..., P_n = K_1 \)
  • Es ist schwer ein Passwort \( P_i \) aus \( P_{i-1} \) abzuleiten, weil Hashes rückwärts berechnet werden müssen.
  • Oft bekommter der Nutzer nicht den \( K_1 \), sondern eine Liste von \( P_1 \) bis \( P_n \).
  • Diese Liste muss periodisch regeneriert werden
  • Sie muss sicher aufbewahrt werden.
Generisches Challange-Response System
Prinzip
Vorderseite

Wie funktionieren Challange-Response Authentifizierungsalgorithmen prinzipiell? Zeichnen Sie ein Diagramm. (VL 5, S. 22).

Rückseite
  • Das Geheimnis zwischen Nutzer und System ist eine geheime Funktion F.
  • Challange der Kenntnis von F: Das System sendet eine Nonce an den Nutzer. Der Nutzer berechnet die Response R=F(M) und überträgt das an das System.
  • Das System überprüft seinerseits R = F(M)

/home/dandy/org/wiki/media/it-sec/generic-challange-response.png

Wahl der Challange
Vorderseite

Nennen Sie drei Dinge, die für die Wahl von M in Challange-Response Authentifizierung geeignet sind. (VL 5, S. 23)

Rückseite
  • Uhrzeit
  • Zufällige Zahl
  • Counter
Wahl der geheimen Funktion
Vorderseite

Nennen Sie zwei Beispiele für geheime Funktionen in Challange-Response Authentifizierung. (VL 5, S. 23)

Rückseite
  • F = (M + P) wobei H eine Hash-Funktion ist und P ein geheimes Passwort.
  • F = \( E_P (M) \) wobei E eine offene Verschlüsselungsfunktion ist und P ein geheimes Passwort

Ist F kryptographisch start, kann das P nur sehr schwer abgeleitet werden.

Beispiele
Vorderseite

Nennen Sie zwei Beispiele für Challange-Response Authentication Schemes. Was ist dabei die Challange und was die Response? (VL 5, S. 23)

Rückseite
  • One-time passwords: Die Challange ist der Index eines Passworts auf einer Liste, die Response ist das einmalige Passwort.
  • RSA SecurID: Challenge: aktuelle Zeit, Response: Authentifizierungscode.
Access Control

Was darf welcher Nutzer nachdem die Authentifizierung geschehen ist?

Was ist Access Control
Vorderseite

Was ist Access Control? (VL 5, S. 26)

Rückseite

Nachdem ein Authentifizerungsschritt die Identität eines Subjekts festgestellt hat, bestimmt Access Control in wie weit sie Systemdienste und -ressourcen in Anspruch nehmen dürfen. Access Control besteht aus:

  • Einschränkung der Berechtigung eines Subjekts. Was darf das Subjekt machen?
  • Verwaltung von Zugangsberechtigungen: Wie und wo wird das festgehalten?
  • Enge Kopplung an Authentifizierung: Bevor eingeschränkt werden kann, muss die Identität festgestellt werden.
Schwierigkeit
Vorderseite

Woher rührt die Schwierigkeit der bei der Verwaltung von Access Control? (VL 5, S. 26/27)

Rückseite

[Enthält eigene Mutmaßungen] Komplexe Systeme haben komplexe Access Control Modelle:

  • Die Identität eines Subjekts ordnet ihm eine Rolle zu. Anhand der Rolle wird Zugriff eingeschränkt. Sollte eine Identität mehrere Rollen inne haben, wird das Konzept aufgeweicht.
  • Es ist nicht immer absehbar, zu was sich grundlegende Fähigkeiten kombinieren lassen. Manchmal erwachsen ungeahnt große Fähigkeiten aus der Kombination kleiner Fähigkeiten.
  • Einige Objekte können auch als Akteure auftreten (z.B. im Fall von Prozessen), die wiederum eigene Fähigkeiten haben. Subjekte die solche Prozesse steuern können, bekommen implizit auch die Berechtigungen des Prozesses (bzw. den Teil, über den sie die Kontrolle haben).
Access Control Matrix
Vorderseite

Was ist eine Access Control Matrix? Zeichnen Sie ein Beispiel. Was repräsentieren die Zeilen der Matrix und was die Spalten bezogen auf den Benutzer? (VL 5, S. 27)

Rückseite
  • Ein Mapping einer Kombination von Subjekt (Benutzer bzw. Akteure) und Objekt (Systemressource oder -dienst) auf Aktionen.
  • Spalten repräsentieren Access Control Lists: Für jedes Objekt wird eine Liste von erlaubten Aktionen jedes Benutzers festgehalten.
  • Zeilen repräsentieren Capabilites: Für jedes Subjekt wird eine Liste von erlaubten Aktionen bezüglich jedes Objekts festgehalten.

/home/dandy/org/wiki/media/it-sec/acc-ctrl-matrix.png

Charakteristiken
Vorderseite

Nennen Sie drei Charakteristiken von Access Control Modellen. (VL 5, S. 28)

Rückseite
  • Definitionen von Objekten und Subjekten. Subjekte können Nutzer, Prozesse und Hosts sein.
  • Repräsentation von Berechtigungen: Access Control Lists, Capabilities.
  • Verwaltung von Berechtigungen: discretionary, mandatory, role-based.
ACLs
Vorderseite

Nennen Sie die Vor- und Nachteile von Access Control Lists. Nennen Sie ein Beispiel für ein ACL basiertes System (VL 5, S. 29).

Rückseite

Rechte werden an Objekte gebunden.

  • Vorteile:

    • Gut in dezentralen Systemen: Sind die Objekte des Systems verteilt, ist es ein Vorteil die Zugriffskontrolle ebenfalls zu verteilen, denn ansonsten wäre das ein zentraler Mechanismus in einem dezentralen System.
  • Nachteile:

    • Schwer zu ermitteln, welche Rechte ein Nutzer konkret hat, denn es müssen alle Objekte angeschaut werden.
  • OpenBSD packet filter: Eine Firewall Implementierung bei der ein Netzwerkhost ein Subjekt ist und die Netzwerkpakete das Objekt. Die Firewall ist eine Liste an Regeln, welche (ein- und ausgehenden) Pakete passieren dürfen und welche verworfen werden.
Capabilities
Vorderseite

Nennen Sie die Vor- und Nachteile von Capabilites basierter Zugangsbeschränkung. Nennen Sie ein Beispiel für ein solches System (VL 5, S. 30).

Rückseite

Rechte werden an Subjekte gebunden.

  • Vorteile:

    • Das Auflisten der Berechtigungen eines Subjekts ist leicht, weil sie sich an einem Ort befinden.
  • Nachteile:

    • Feingranuläre Zugangskontrolle ist für Dateien schwer, denn es braucht für jeden Nutzer eine Übersicht aller Dateien mit den Zugangsberechtigungen. Zugang zu Funktionen zu verwalten ist hingegen leichter, wenn es nicht so viele davon gibt.
    • In dezentralen Systemen schwer verwaltbar
  • Linux Capabilities: Die Fähigkeiten eines Nutzers werden aufgewertet, indem ihm einige Möglichkeiten, die eingetlich nur dem Super User zur Verfügung stehen, gegeben werden. Konkret sind es z.B. die Fähigkeit das System neuzustarten oder die Fähigkeit ein Kernelmodul zu laden.
Management of permissions
Discretionary Access Control (DAC)
Vorderseite

Was ist Discretionary Access Control? Wo wird das häufig eingesetzt? (VL 5, S.31)

Rückseite
  • Der Besitzer eines Objekts kontrolliert die Zugansberechtigungen. Es ist praktisch, aber schwierig, wenn das Objekt den Besitzer wechseln soll, weil der neue Besitzer die Rechte erst prüfen muss.
  • Unix Dateisysteme
Mandatory Access Control (MAC)
Vorderseite

Was ist Mandatory Access Control? In welchem Kontext wird das oft verwendet?

Rückseite
  • Zugangskontrolle wird von einer übergeordneten Instanz verwaltet. Das beschneidet die Möglichkeiten des Nutzers die Zugangsberechtigung zu seinen eigenen Objekten zu ändebrn.
  • High security environments wie Geheimdiensten. Das System wird sehr sicher aber unflexibel.
Role-based Access Control (RBAC)
Vorderseite

Was ist Role-based Access Control?

Rückseite
  • Rechte werden mit Rollen verknüpft. Ein Nutzer hat stets die Rechte aller Gruppen, denen er zugehörig ist.

6 Vorlesung (Netzwerkangriffe)

Layer Communication Model
Negiative Auswirkung der Vernetzung von Computern auf ihre Sicherheit
Vorderseite

Wie hat die Vernetzung von IT-Systemen die IT Sicherheit negativ beeinflusst? (VL 6, S. 4)

Rückseite
  • Physical access → Network Access: Location based auth factor fällt weg.
  • Dozens of users → Thousands of hosts: Unterscheidung zwischen User und Host verschwimmt. Mehrere Geräte können einem Nutzer zugeordnet sein und sich parallel in mehrere verteile Dienste eingloggen.
  • Central resources → Distributed Resources: Mails müssen z.B. nicht mehr auf dem selben Rechner liegen wo der Mailserver läuft. Jedes einzelne System und die Schnittstellen haben eigene Angriffsflächen
  • Easy accountability → Hard Accountability: Erschwert die Suche nach Schuldigen

Die Systeme wurden in den 60er konzipiert, die Protokolle in den 70ern. Beides wurde nur nach und nach an die aktuellen Gegebenheiten angepasst.

ISO OSI Modell
Vorderseite

Nennen sie die Layer des ISO OSI Modells (VL 6, S. 5)

Rückseite

7 - Application 6 - Presentation 5 - Session 4 - Transport 3 - Network 2 - Data Link 1 - Pysical

TCP/IP Modell
Vorderseite

Nennen sie die Layer des TCP/IP Modells, gehen Sie kurz auf seine jeweilige Funktion ein und nennen sie je zwei Beispielprotokolle (VL 6, S. 6).

Rückseite

Application: Schnittstelle von vernetzten Anwendungen. HTTP, FTP Transport: Kommunikation verschiedener Anwendungen hinter den IP Adressen: TCP, UDP Internet: Adressierung und Transfer von Daten zwischen Hosts und Gateways: IP, ICMP Link: Die physische Verbindung von Geräten und die Beschaffenheit der Kommunikation. PPP, ARP

TCP/IP Data Flow
Vorderseite

Zeichnen Sie das TCP/IP Data Flow Diagramm (VL 6, S. 7)

Rückseite

/home/dandy/org/wiki/media/it-sec/06_tcp-ip-dataflow.png

Classic Network Attacks
Ursachen von Schwachstellen
Vorderseite

Sind die vier Angriffsfläche von Netzwerkangriffen? Nennen Sie Beispiele (VL 6, S.12)

Rückseite
  • Schwächen im Netzwerkprotokolldesign

    • Beim Entwurf von TCP/IP hat niemand geahnt, dass es ein weltumspannendes Protokoll wird.
  • Schwachstellen in den Protokollimplementierungen

    • Windows, Linux, *BSD usw. haben alle eine eigene Implementierung des TCP/IP Stacks, die sich unterscheiden und zu Problemen führen können.
    • Spezifikationen sind manchmal mehrdeutig
  • Fehlerhafte Konfiguration der Netzwerkdienste

    • Webserver setzt den Root Folder auf seine Konfigurationsdatei
  • Fehlerhafter Betrieb der Netzwerkdienste

    • Kommunikation startet mit HTTPs hat aber Links auf HTTP Basis, die Verschlüsselung nicht nutzt.
Drei Klassiker
Vorderseite

Nennen und erklären Sie drei verschiedene klassische Netzwerkangriffe (VL 6, S.13)

Rückseite
  • Spoofing: Verfälschen von Daten wie die der Identität (Absender oder Empfänger).
  • Hijacking: Eine Verbindung oder Sitzung wird übernommen. Als MITM übernimmt man einfach die Kommunikation komplett.
  • Flooding: Fluten von Diensten mit einer enormen Menge von Paketen um seine Verfügbarkeit anzugreifen.
Sniffing
Vorderseite

Was ist Network Sniffing? (VL 6, S.14)

Rückseite
  • Abhören von Netzwerkpaketen.
  • Prinzipiell keine Attacke, denn Admins machen das auch.
  • Benötigt wird der physische Zugang zum Übertragungsmedium.
  • Angriff ist passiv, verletzt die Vertraulichkeit.
ARP Spoofing
Vorderseite

Was ist ARP Spoofing? Was ist ARP (in einem Satz)? (VL 6, S.16)

Rückseite
  • Das Address Resolution Protocol ist ein mappt logische Adressen (IP) auf Geräteadressen (MAC)
  • Dem Switch (Link Layer) wird per ARP Reply mitgeteilt (manchmal kontinuierlich → ARP Flooding), dass sich eine bestimmte IP, dessen Pakete man abhören möchte, sich unter seiner eigenen MAC befindet. So leitet man IP Pakete zu sich um.
  • Basis für MITM Attacks: Greift die Vertraulichkeit und Integrität an. Leitet man die Pakete nicht weiter, dann auch die Verfügbarkeit
Smurf Attack
Vorderseite

Was ist ein Smurf Attack? Was setzt ihn voraus? (VL 6, S.18)

Rückseite
  • Im Prinzip ein Amplified Flooding Angriff, bei dem man sich zu nutze macht, dass eine kleine Datenmenge, dessen Absenderadresse gespooft wurde und die man an einen geeigneten bzw. misskonfigurierten Netzwerkdienst rausschickt, der dem gespooften Absender daraufhin mit einer sehr großen Datenmenge antwortet.
  • Ein Biespiel funktioniert per Ping an eine IP-Subnetz-Broadcastadresse mit gespoofter Quell-IP-Adresse.
  • Reduziert die Verfügbarkeit der Netzwerkbandbreite.
Network Defenses
Präventive Sicherheit

Wie verhindere ich Angriffe?

Vorderseite

Was sind die drei Konzepte der präventiven Sicherheit im Netzwerk? (VL 6, S.23)

Rückseite
  • Kryptographie: Verschlüsselung und Verfikiation der Daten
  • Authentifikation: (gegenseitige) Bestätigung der Indentität
  • Zugriffskontrolle: Beschränkung und Kontrolle der möglichen Kommunikation im Netzwerk
Reaktive Sicherheit

Was mache ich, wenn Angriffe passiert sind?

Vorderseite

Was sind die drei Konzepte der reaktiven Sicherheit im Netzwerk? (VL 6, S.23)

Rückseite
  • Vulnerability assessment: Die Suche nach Schwachstellen
  • Intrusion detection: Die Suche nach laufenden Angriffen
  • Computerforensik: Analyse bereits geschehener Angriffe, die Suche nach Angreifern
IPSec
Vorderseite

Was ist IPSec? Nennen Sie drei Haupteigenschaften. (VL 6, S.25)

Rückseite

Erweiterung des IP Protokolls um Sicherheitsfeatures zum Schutz der Kommunikation im Internet Layer:

  • IKE: Internet Key Exchange (Diffe-Hellman)
  • ESP: Encapsulating Security Payload: Verschlüssenlung des IP Payloads
  • AH: Authentication Header: Implementierung eines Challenge-Response Mechanismus.
Access Control in Networks

Welches Paket darf an welchen Host im Netzwerk gehen? → Firewall, genauer packet filter.

Umsetzung
Vorderseite

Wie wird Access Control in Netwerken umgesetzt? (VL 6, S.26)

Rückseite
  • Definition von Netzwerk-Objekten auf allen Ebenen der TCP/IP Modells: Subnetze, Hosts, Ports
  • Filterung von Paketen auf allen Ebenen:

    • Link Layer: MAC Filter
    • Internet + Transport Layer: Packet Filter
    • Application Layer: Proxy and application-layer gateway
Firewalls
Vorderseite

Wie ist eine Firewall definiert? Was sind seine Aufgaben? (VL 6, S.27)

Rückseite

Ein Host, der Zugang zu einem Netzwerk vermittelt. Zu seinem Aufgaben gehört:

  • Inspektion von ein- und ausgehenden Paketen
  • Zugangskontrolle auf verschienden Schichten des Netwerks
  • Semantische Analyse von Protokollen: z.B. Unterscheidung verschiedener TCP Pakte, Zuständer einer TCP Verbindung
  • Aufteilung des Netzwerks in Subnetze
DMZ
Vorderseite

Was ist ein Vorteil der Aufteilung eines Netzwerks in ein lokales Netz und eine demilitarized zone? (VL 6, S.27)

Rückseite

Alles, was von außen erreichbar sein muss, kommt in die DMZ, und der Rest in das lokale Netz. Es können verschiedene Regeln für die Netze gelten. Beispielweise kann die HTTP(s) Ports in der DMZ für die Außenwelt öffnen, aber für das lokale Netz verbieten. Ist ein Server im DMZ kompromittiert, so ist der Zugang ins lokale Netz nicht garantiert.

Desktop Firewalls
Vorderseite

Was ist eine Desktop-Firewall? Was ist ein Vor- und ein Nachteil davon? (VL 6, S.29)

Rückseite
  • Ein im Desktop-Betriebssystem eingebauter Paketfilter. Seine Fähigkeit als Firewall ist beschränkt, weil die Regeln geändert werden können, sobald der Rechner infiziert ist. Andererseits kann er feingranular dazu genutzt werden, besondere Regeln für den Desktop-Rechner einzuführen. Z.B. kann verhindert werden, dass ein bestimmtes Programm mit dem Internet kommunizert.

7 Vorlesung (Web Security)

Server-side attacks
code injection
Vorderseite

Was ist der Ursprung jeder code injection? Wie verteidigt man sich dagegen? (VL 7, S.18+)

Rückseite
  • Code und Daten werden nicht richtig getrennt. Es werden Strings vom Benutzer entegengenommen und wie Code ausgeführt.
  • Verteidigung:

    • string sanitization: Man überprüft den entgegengenommenen String auf reservierte Symbole in der jeweiligen Programmiersprachensyntax, besonders Symbole, die Strings schließen oder Befehle terminieren.
    • Aus dem String die Parameter für eine vorbereitete Funktion entnehmen und sie ausführen. Z.B. prepared sql statements.
Web sessions
Was sind Web Sessions?
Vorderseite

Was ist eine Web Session und wofür braucht man die? (VL 7, S.22)

Rückseite
  • Das Web funktioniert über HTTP.
  • Diese Protokoll ist im Prinzip zustandslos, d.h. jedes Neuladen der Website ist wie ein komplett neuer Aufruf.
  • Viele Webanwendungen müssen aber einen Überblick darüber haben, was der Nutzer bisher getan hat, wie z.B. sich eingeloggt.
  • Daher muss eine Web Applikation ihre eigene Sitzungsverwaltung über der HTTP Ebene implementieren.
Sessionmanagement
Vorderseite

Nennen Sie drei Möglichkeiten, Web Sitzungen zu verwalten. Erklären Sie diese. Welche Probleme können auftreten? (VL 7, S.23)

Rückseite
  • URL Rewriting: Session IDs werden an die in der URL gehängt. Kann die Session-ID versehentlich an eine andere Website verraten, wenn per Link auf sie gewechselt wird (HTTP Referrer Header).
  • Form-based Sessions IDs: Die Session ID wird in den Body der HTTP Nachricht verlagert. Dort ist sie Teil eines versteckten Formularfelds. Die HTTP-Anfrage muss jetzt per POST Methode passieren (sonst gibt es keinen Body). Verlust der Session bei Betätigung des Rückbuttons des Browsers, weil nach der vorherigen URL ohne POST Request gefragt wird.
  • Cookies: Eine Erweiterung von HTTP. Header zum Setzen von Strings, die sich der Webbrowser für den nächsten Anruf merkt und mitsendet. Kann zum Tracken von Nutzern verwendet werden.
Session IDs
Vorderseite

Nennen Sie drei Dinge, die für sichere Sitzungen und Sitzungs-IDs gelten müssen. (VL 7, S.26)

Rückseite
  • Sie sollten schwer zu erraten sein (Lang und zufällig)
  • Sie sollten nur verschlüsselt übertragen werden
  • Sie sollten nach einer Zeit ablaufen
Schutz von Cookies
Vorderseite

Wie werden Cookies vor client-side Angriffen geschützt? (VL 7, S.)

Rückseite
Gleichheit nach Same-origin Policy
Vorderseite

Wann haben zwei Ressourcen nach der same-origin policy den selben Ursprung? (VL 7, S.30)

Rückseite
  • Das Protokoll ihrer URI ist gleich
  • Der Host in der URI ist gleich
  • Der Port in der URI ist gleich

Pfade, Query Strings, Fragmente, Login-Daten können abweichen.

Wofür ist die same-origin Policy?
Vorderseite

Wer schützt wen wovor mithilfe der same-origin Policy? (VL 7, S.30)

Rückseite
  • Browser und Anbieter eines Webdienstes schützen ihre Nutzer vor bösartigen Websites, die JavaScript beinhalten.
  • Durch die Fähigkeiten von JavaScript wäre es ohne Same-origin Policy möglich, auf Authentifizierungscookies dritter Webdienste zuzugreifen und HTTP Requests jeder Art an sie zu senden.
  • Durch die Same-origin Policy beschränken sich diese Fähigkeiten und der einhergehende Zugriff auf Ressourcen der eigenen Seite.
Client-side attacks
Cross-site Scripting Name
Vorderseite

Wie kommt es zu dem Namen Cross-site Scripting? (VL 7, S.31)

Rückseite

Es wird versucht, fremden JavaScript Code in die aufgerufene Website des Opfers einzuschleusen und damit im gleichen Origin zu landen.

Cross-site Scripting
Vorderseite

Was ermöglicht Cross-site Scripting? (VL 7, S.34)

Rückseite

Das Anzeigen von ungenügend validierten Daten. Das kann über folgende Dinge geschehen:

  • Seiteninhalt wird dynamisch aus URI Parametern erstellt → Script in den Link
  • Seiteninhalt wird unverschlüsselt per JavaScript extern nachgeladen → per MITM JavaScript in die Daten injizieren
  • Mediendateien wie SVGs können JavaScript beinhalten.
Reflected Cross-site Scripting
Vorderseite

Was ist reflected Cross-site Scripting? (VL 7, S.37)

Rückseite

XSS wird per Link an das Opfer transportiert. Damit ist der Angriff kurzlebig. Der Link muss nicht immer offensichtlich sein, sondern sich unter dem HTML einer Email verbergen, oder per URL-Shortener verändert werden.

Stored Cross-site Scripting
Vorderseite

Wie funktiniert stored Cross-site Scripting? (VL 7, S.38)

Rückseite
  • JavaScript wird über eine Datenbank in die Website eingeschleust.
  • Werden bei der gewöhnlichen Erstellung einer Ressource die Eingabedaten nicht validiert, kann man dort JavaScript injizieren, welches dann in die Datenbank kommt.
  • Ein Opfer braucht nur dem Link zu dieser Ressource zu folgen, damit bei der dynamischen Erstellung der Seite das JavaScript aus der Datenbank geladen wird.
  • Dieser Angriff ist persistent, und daher heißt es stored.
Verteidigung gegen Cross-site Scripting
Vorderseite

Wie kann man sich gegen Cross-site Scripting verteidigen? (VL 7, S.41)

Rückseite
  • Escaping und Bereinigung von GET und POST Parametern
  • Validierung von extern (nicht im Websitecode) gespeicherten Daten (in der Datenbank)
  • Prüfen anderer Quellen, wie Cookies oder Referrer
Schwierigeiten bei der Input-Validierung
Vorderseite

Warum ist die Validierung von Eingabedaten zum Schutz gegen Cross-site Scripting schwer? (VL 7, S.41)

Rückseite
  • Oft ist es schwierig zu beurteilen, ob Eingabedaten XSS zum Ziel haben (z.B. weil Nutzer sich in den Kommentaren über HTML unterhalten, oder gar am HTML auf ihrer Page basteln dürfen).
  • In dem Fall ist es leichter, die Daten bei der Ausgabe zu escapen. (Whitelisting ist besser als Blacklisting).

8 Vorlesung (Vulnerabilites and Exploits)

Basics of software security
Definition Vulnerability
Vorderseite

Wie ist Vulnerability definiert? (VL 8, S.3)

Rückseite
  • Ausnutzbare Schwachstelle im System oder Software
  • Muss eine Basis für eine Attacke gegen die Verfügbarkeit, Integrität oder Vertraulichkeit bilden
  • Nicht jeder Bug führt auch zu einer Verwundbarkeit
Quellen von Vulerabilities
Vorderseite

Nennen Sie die vier häufigesten Quellen von Vulnerabilites. Nennen Sie je ein Beispiel (VL 8, S.3)

Rückseite
  • Fehler im Design:

    • z.B. in Library Code: Inkonsistene Abstraktionen und Schnittstellen
  • Fehler in der Implementierung:

    • Vermischen von Code und Daten
  • Fehlkonfiguration:

    • Schwache Verschlüsselung wird gewählt
  • Fehlerhafter Betrieb:

    • Bei dezentraler Architektur: unsichere Abspeicherung auf einem anderen System
Schwierigkeiten bei der Entwicklung sicherer Software
Vorderseite

Warum ist die Entwicklung sicherer Software extra schwierig? (VL 8, S.4)

Rückseite

Sicherheit muss in das Design, die Entwicklung und den Betrieb integriert sein. Das erfordert mehr Expertise und Zeit seitens der Entwickler und erhöht so die Kosten während der Entwicklung.

Definition Exploit
Vorderseite

Definieren Sie Exploit? (VL 8, S.5)

Rückseite

Ein Exploit ist ein Programm, welches eine Schwachstelle in einem System oder Software ausnutzt, um Schutzziele der der IT-Sicherheit zu gefährden (oder zumindest um die Gefährdung zu demonstrieren).

Phasen eines Exploits
Vorderseite

Nennen Sie drei typische Phasen eines Exploits. (VL 8, S.5)

Rückseite
  1. Injektion von Code als Daten
  2. Manipulation von Kontrollfluss (Injizierter Code wird ausgeführt bzw. aus per ROP bösartige Funktionalität zusammenbasteln)
  3. Erhöhung der Privilegien
Lebenszyklus einer Vulnerability
Diagramm
Vorderseite

Zeichnen Sie ein Diagramm zum Lebenszyklus einer Vulerabilitiy (VL 8, S.6)

Rückseite

/home/dandy/org/wiki/media/it-sec/08_vuln-life.png

zero day
Vorderseite

Was ist ein zero-day Exploit? (VL 8, S.6)

Rückseite

Ein Exploit für eine gefundene Vulnerability, die noch nicht veröffentlicht wurde.

pivotal point
Vorderseite

Was ist der pivotal point im Lebenszyklus einer Vulnerability? (VL 8, S.6)

Rückseite

Die Bekanntmachung deiner Vulnerabilitiy. Dieser Zeitpunkt markiert eine risikoreichen Abschnitt im Lebenszyklus einer Vulnerabilitiy, da ein Patch noch nicht in allgemeinem Umlauf ist.

Vulerability Types
Vorderseite

Nennen Sie drei Klassen von Vulnerabilities und geben Sie Beispiele (VL 8, S.7)

Rückseite
  • Memory:

    • Stack / Heap / Integer Overflows
  • Concurrency:

    • Race conditions
    • Deadlocks
    • Livelocks
  • Validierung:

    • Cross-site Scripting
    • SQL Injection
    • Remove file inclusion
Stack and heap overflows
Buffer Overflow
Vorderseite

Was ist ein Buffer Overflow? Wie funktioniert ein Buffer Overflow Exploit? (VL 8, S.27)

Rückseite
  • Ein Buffer Overflow passiert, wenn über die Grenzen eines vorher angelegten Datenpuffers hinausgeschrieben wird.
  • Das kann für einen Exploit genutzt werden, wenn die Daten, die über die Grenze hinausgeschrieben werden, angrenzende Variablen überschreiben, die den Kontrollfluss ändern.
Gründe für Buffer Overflow
Vorderseite

Nennen Sie zwei Ursachen für Buffer Overflows. Geben Sie Beispiele. (VL 8, S.28)

Rückseite
  • Pufferspeicher ist zu klein:

    • Unbeschränkte Stringfunktionen (gets, strcpy, sprintf, …) können Pufferspeicher überlaufen lassen
  • Falsche Berechnung eines Speicherorts oder Speichergröße:

    • Arithemtische Überläufe (Addition zweier Ganzzahlen führt zu einer Zahl, die größer ist, als der Datentyp), Pointerarthmetik
    • Es wird nicht beachtet, dass Type-Casting Speichergrößen ändert
    • Gefährliche Funktionen wie strncpy, strncat werden verwendet (NULL Terminator nicht garantiert).
Exploitation of Stack Overflow
Vorderseite

Nennen Sie zwei Arten, mithilfe derer Buffer Overflows für Exploits genutzt werden können.

Rückseite
  • Manipulation lokaler Variablen und vorheriger Stackframes: Änderung der Kontrollflusses
  • Manipulation der return Adresse: Injektion von ausführbarem Code
Shellcode
Vorderseite

Definieren Sie den Begriff Shellcode. Gibt es davon Variationen? (VL 8, S.33)

Rückseite

Shellcode wird so genannt, weil es früher tatsächlich Code war, der auf dem System eine Shell startet. Heute wird damit injizierter (Maschinen-)Code bezeichnet, der ausführbar ist. Mit dessen Hilfe wird oft weiterer Code nachgeladen (staged shellcode). Passiert es über das Netzwerk, nennet man es eine bindshell (Shellcode macht einen Port auf).

Heap Overflow
Vorderseite

Wie kann ein Heap Overflow als Exploit genutzt werden? (VL 8, S.35)

Rückseite
  • Abhängig von der Implementierung können per Heap-Overflow Metadaten des Heaps (z.B. Pointer auf den nächsten Block) samt Speicherbereich überschrieben werden. So kann Speicherinhlat manipuliert werden, oder eine Unlink Attack implementiert werden.
Unlink Attack
Vorderseite

Wie funktioniert eine Unlink Attack? (VL 8, S.36)

Rückseite
  • Je nach Implementierung des Heap-Allokators kann eine Unlink Attack ermöglicht werden, wenn eine Heap-Buffer Overflow die Metadaten der Speicherblöcke samt ihrer Pointer überschreiben kann.
  • Es wird möglich die Pointerzuweisung z.B. der free() Funktion zu missbrauchen, um beliebige Daten an eine beliebige Stelle im Speicher zu schreiben. Das wird arbitrary memory write genannt und ist ein mächtiges Werkzeug
Memory defenses
Static Measures
Vorderseite

Nennen Sie zwei statische Maßnahmen gegen Overflow Attacks. (VL 8, S.39)

Rückseite
  • Ersetzen unsicherer Funktionen (strcat, strcpy) gegen sichere Varianten.
  • Prüfung von Puffergrenzen zur Kompilierzeig (Boundary Checking).
Dynamic Measures
Vorderseite

Nennen Sie vier dynamische Maßnahmen gegen Overflow Attacks. (VL 8, S.39)

Rückseite
  • Prüfung von Puffergrenzen zur Laufzeit
  • Zufällige Anordnung des Adressraums (address space layout randomization).
  • Zugriffskontrolle auf Speichersegmente
  • Shadowing of metadata
Kriterien für memory-safe functions
Vorderseite

Nennen Sie drei Kriterien für memory-safe functions. (VL 8, S.40)

Rückseite
  • Explizite und implizite boundary checks: Kein Schreiben über Grenzen hinweg.
  • Konsistente Interfaces von Funktionen, die in den Speicher schreiben: Reduziert die Wahrscheinlichkeit, dass ein Entwickler sich bei der Puffergröße verschätzt.
  • Entfernen unsicherer Funktionen
Shadow Stack
Vorderseite

Was ist ein Shadow Stack? Wogegen ist er eine Hilfe und wie? Gibt es Nachteile? (VL 8, S.41)

Rückseite
  • Der Schutz von Metadaten eines Stack-Frames, im x86 Instruction Set realisiert.
  • Es werden wichtige Elemente des Stack wie Return Pointer und Base Pointer in einen anderen Stack kopiert.
  • Im Funktionsepilog werden sie verglichen. Wenn sie sich unterscheiden, wird das Programm beendet.

Nachteile:

  • Der Speicherverbrauch steigt
  • Laufzeit wird erhöht, weil ein Vergleich der Werte nötig ist (Intel realisiert das in Hardware, daher geht es schnell).
Canaries
Vorderseite

Was ist eine Stack Canary? Wogegen ist es ein Schutz und wie? (VL 8, S.42)

Rückseite
  • Eine Stack Canary ist eine lokale Variable, die ein zufälliges Bitmuster beinhaltet und direkt vor den Stackframfe-Metadaten (Return- und Base-Pointer) steht.
  • Versucht ein Buffer-Overflow letztere zu überschreiben, überschreibt er auch den Stack Canary.
  • Am Ende der Funktion wird geprüft, ob der Canary noch seinen ursprünglichen Wert hat. Wenn nicht, gelten die Stackfame-Metadaten als überschrieben.
  • Viele Compiler bauen das automatisch ein, wenn mit Stack Protection kompiliert wird.
Non-Executable Memory
Vorderseite

Wie und wogegen hilft non-executable memory? (VL 8, S.43)

Rückseite

Es verhindert das Ausführen von injiziertem Code, der im Prozess durch einen Exploit außerhalb des ausführbaren Text-Segmentes geschrieben wurde. Dazu werden alle Segmente außer des Text- (auch Code-) Segments als schreibbar, aber nicht ausführbar markiert.

ASLR
Bedeutung
Vorderseite

Wofür steht ASLR? (VL 8, S. 44)

Rückseite

Address Space Layout Randomization.

Nutzen
Vorderseite

Wie funktioniert ASLR? Wofür wird es verwendet? Gibt es Nachteile? (VL 8, S.44)

Rückseite
  • Die einzelnen Speichersegmente des Prozesses werden zufällig permutiert, sodass nicht mehr vorausgesagt werden kann, wo welcher Speicherbereich liegt.
  • Das erschwert memory corruption Angriffe
  • Es kostet Laufzeit
  • Verhindert keine zweistufigen Angriffe: Zuerst wird der Speicher ausgelesen und abgeschätzt wo welcher Speicherbereich sein könnte. Danach wird in den Speicherbereich gesprungen.

9 Vorlesung (Malware)

Typen von Schadsoftware
Aspekte von Schadsoftware
Vorderseite

Nennen und erklären Sie drei Aspekte von Schadsoftware. (VL 9, S.5)

Rückseite
  • Self-replication: Schadsoftware kopiert und verbreitet sich automatisch
  • Parsitismus: Schadsoftware injiziert schädlichen Code in anderen Code oder Daten.
  • Unerlaubte Kommunikation: Schadsoftware kommuniziert mit dem Angreifer
Backdoors
Definition
Vorderseite

Definieren Sie den Begriff backdoor. Wo kann eine Backdoor platziert werden? (VL 9, S.6)

Rückseite
  • Versteckter, bösartiger Code, der der Sicherheitsmechanismen zur Zugangsbeschränkung umgeht und unerlaubten Zugang zu Ressourcen verschafft.
  • Kann platziert werden in:

    • Als Programm im System
    • als Code in einer Library oder einem Programm
    • im BIOS / der Firmware
    • in der Hardware
Aspekte
Vorderseite

Welche Malware-Aspekte hat eine Backdoor? (VL 9, S.6)

Rückseite
  • Replikation: ja bzw. möglich
  • Parasitismus: nein (obwohl ich der Meingung bis dass doch)
  • Kommunikaiton: ja
Logic Bomb
Definition
Vorderseite

Definieren Sie den Begriff Logic Bomb. (VL 9, S.8)

Rückseite

Schadsoftware, die

  • von einem voher bestimmten Ereignis ausgelöst wird (z.B. Zeitpunkt ist eingetreten),
  • tief im System versteckt ist,
  • der automatischen Sabotage des Ziels dient
Aspekte
Vorderseite

Welche Malware-Aspekte hat eine Logic Bomb? (VL 9, S.8)

Rückseite
  • Replikation: möglich
  • Parasitismus: nein
  • Kommunikation: nein
Trojaner
Definition
Vorderseite

Definieren Sie den Begriff Trojaner. (VL 9, S.9)

Rückseite

Schadsoftware, die gutartiges und attraktives Verhalten vorgibt, um unwissentlich auf einem System installiert zu werden. Wird oft mit anderen Malware-Typen kombiniert.

Aspekte
Vorderseite

Welche Malware-Aspekte hat ein Trojaner? (VL 9, S.9)

Rückseite
  • Replikation: möglich
  • Parasitismus: nein
  • Kommunikation: je nach dem, welches Ziel der Trojaner hat (→ Kombination mit anderen Malware-Typen)
Virus
Definition
Vorderseite

Definieren Sie den Begriff Comptervirus. (VL 9, S.11)

Rückseite
  • Code, der sich in Programme und Dokumente injiziert
  • Werden diese Dokumente geöffnet, wird die Malware ausgeführt und kann sich durch das Suchen anderer Wirte vermehren.
  • Klassisch sind es Programme gewesen, aber heute können es auch Dokumente oder Websites sein.
Aspekte
Vorderseite

Welche Malware-Aspekte hat ein Computervirus? (VL 9, S.11)

Rückseite
  • Replikation: ja
  • Parasitismus: ja
  • Kommunikation: nein
Wurm
Definition
Vorderseite

Definieren Sie den Begriff Computerwurm. (VL 9, S.12)

Rückseite
  • Schadsoftware, Verwandter des Computervirus
  • Repliziert sich selbst, aber ist nicht parasitär.
  • Verbreitet sich über Schwachstellen im Computernetworking
  • Payload des Wurms kann beliebige Schadsoftware sein
Aspekte
Vorderseite

Welche Malware-Aspekte hat eine Computerwurm? (VL 9, S.12)

Rückseite
  • Replikation: ja
  • Parasitismus: nein, sonst Virus
  • Kommunikation: ja, denn er ist nicht parasitär
Spyware
Definition
Vorderseite

Definieren Sie den Begriff Spyware. (VL 9, S.14)

Rückseite
  • Schadcode, der sensible Daten auf dem Zielsystem sammelt (z.B. per Keylogging oder Form Grabbing)
  • Kann Aspekte eines Trojaners haben (→ hat einen attraktiven Nutzen)
  • Großer Bereich: Von Adware bis zu schweren Verbrechen
  • Wird manchmal aus Stealer genannt
Aspekte
Vorderseite

Welche Malware-Aspekte hat Spyware? (VL 9, S.14)

Rückseite
  • Replikation: nein
  • Parasitismus: nein
  • Kommunikation: ja, denn es dient der Spionage
Botnet
Definition
Vorderseite

Definieren Sie den Begriff Botnet. (VL 9, S.15)

Rückseite
  • Schadsoftware, die ein Computersystem kontrolliert
  • Das Botnet ist nicht nur die Software, sondern das Netzwerk infizierter Rechner ("Zombies")
  • Kontrolliert den Rechner von außen
  • Das Netzwerk wird für verschiedene Aspekte, wie DDoS oder Passwort-Cracking verwendet
Aspekte
Vorderseite

Welche Malware-Aspekte hat ein Botnet? (VL 9, S.15)

Rückseite
  • Replikation: möglich
  • Parasitismus: nein
  • Kommunikation: ja, denn es dient der Fernsteuerung des infizierten Systems
Ransomware
Vorderseite

Definieren Sie den Begriff Ransomware. (VL 9, S.16)

Rückseite
  • Schadcode, der zur Erpressung dient, indem er Ressourcen ausschaltet oder Dateien auf dem Zielsystem verschlüsselt
Scareware
Vorderseite

Definieren Sie den Begriff Scareware. (VL 9, S.16)

Rückseite
  • Schadcode, der dem Nutzer Angst einjagt, um ihn zu einer Tat zu bewegen. Z.B. dem Kauf eines Produkts, wie eines Viruscanners
Dropper
Vorderseite

Definieren Sie den Begriff Dropper im Kontext von Schadsoftware. (VL 9, S.16)

Rückseite
  • Eine Form von Trojaner, der dazu dient, weitere Schadsoftware auf dem infizierten System zu installieren
Bösartige Mechanismen
File infection
Orte
Vorderseite

Nennen Sie drei Möglichkeiten bzw. Stellen in einer ausführbaren Datei, an die sich ein Virus platzieren kann. Gibt es je Ort Schwierigkeiten? (VL 9, S.19)

Rückseite
  • Prepended: Virus platziert sich vor den ausführbaren Code. Funktioniert für interpretierten Code, ist aber schwierig für kompilierten Code, denn der hat oft feste Adressen, die sich verschieben würden.
  • Appended: Funktioniert auch gut für kompilierten Code, allerdings ist es auffällig, dass nach dem Entry Point erst ein weiter Sprung stattfindet.
  • Fragmented: Viruscode ist im infizierten Code verteilt. Besonders für kompilierten Code ist es sehr schwer festzustellen, dass die Datei infiziert ist. Ist aber auch technisch anspruchsvoller.
Verbreitung von Würmern über das Netzwerk
klassisch
Vorderseite

Wie verläuft die klassische Ausbreitung eines Computerwurms? Wieso ist es heute schwierig? Worauf wird ausgewichen? (VL 9, S.21)

Rückseite
  • Klassische Verbreitung:

    1. Ein infiziertes Quellsystem scannt alle Hosts in Netzwerk nach Netzwerkverwundbarkeiten (z.B. Netzwerkapplikationen mit Schwachstellen → Microsoft IIS)
    2. Das Quellsystem infiziert einen gefundenen Rechner automatisch durch die gefundene Schwachstelle
    3. Das infizierte System wiederholt den Vorgang
  • Schwierig weil viele Schutzmechanismen dazugekommen sind:

    • Subnetze sind geschützt und abgeschirmt
    • Desktopfirewalls
  • Alternativ wird auf Kommunikationsanwendungen wie Emails (per Anhang oder HTML) ausgewichen, denn sie erlauben das Überschreiten von Netzwerkgrenzen.
Drive-by Downloads
Vorderseite

Wie funkioniert ein Drive-by Download von Computerwürmern? (VL 9, S.23)

Rückseite
  • Der Angriff sucht Schwachstellen im Browser per JavaScript (oder Flash, Silverlight, Java-Applet).
  • Die Schwachstelle wird genutzt, um Schadsoftware auf den Rechner des Besuchers zu laden.
  • Der Besucher muss auf die Seite gelockt oder eine bereits populäre Seite infiziert werden.
Obfuscation

(Verstecken von bösartigem Code), wird auch Packing oder fälschlicherweise Encryption genannt.

Polymorhpismus
Vorderseite

Was ist Polymorphismus im Kontext von gepackter Malware? (VL 9, S.24)

Rückseite
  • Damit nicht einfach nach Signaturen der gepackten Malware gesucht werden kann, wird der Einpackprozess für jede Datei leicht verändert (z.B. ein anderer Schlüssel).
  • Der Decoder (Entpacker) wird mit in die Datei injiziert und kann zur Laufzeit die Malware und die Daten, die die Malware braucht, auspacken.
  • Nicht nur Malware nutzt das verpacken von Code, sondern wird auch im Kontexten der Softwareentwicklung z.B. für Kopierschutz genutzt.
Emulation
Vorderseite

Wozu dient Emulation im Kontext von gepackter Software? Wie funktioniert sie? (VL 9, S.25)

Rückseite
  • Emulation ist eine weitere Möglichkeit, Schadsoftware zu packen (sie zu verstecken).
  • Anstatt dass der Schadcode versteckt wird, können die Instruktionen auch in als Bytecode kodiert werden. Ein mitgeschickter Emulator für dann diesen Bytecode aus.
Maßnahmen gegen gepackten Code
Vorderseite

Wie kann gepackter Schadcode in Dateien bzw. Code gefunden werden? (VL 9, S.24)

Rückseite

Die Datei kann in einer geschützten Umgebung ausgeführt oder geöffnet werden. Währenddessen kann das Verhalten der Datei bzw. des öffnenden Programms beobachtet werden.

Cloaking & Evasion
Vorderseite

Was ist Cloaking & Evasion im Kontext von Schadsoftware? (VL 9, S.27)

Rückseite

Das Verstecken von Schadsoftware oder Daten für den Betrieb der Schadsoftware. Es soll die Analyse der Schadprogramms erschweren. Versteckt wird beispielsweise:

  • Daten der Schadsoftware im Dateisystem (verschlüsselt)
  • Verschlüsselte Kommunikation, z.B. verschlüsselt in URLs
Command-and-control communication
Vorderseite

Was ist command-and-control communication im Kontext von Botnets? (VL 9, S.29)

Rückseite
  • Hierarchische Anordung der Kommunikation innerhalb eines Botnetzes:

    • Der Botmaster steuert mithilfe seiner master server eine Menge von proxy bots, die wiederum ihr eigenes Netzwerk an worker bots haben, welche dann konkrete Angriffe ausführen
  • Peer-to-peer Kommunikation auch möglich
Untergrundwirtschaft

Wie verdient man Geld mit IT Kriminalität?

Maschen
Vorderseite

Nennen Sie x Möglichkeiten, mit einem Botnetz Geld zu verdienen. (VL 9, Teil 3)

Rückseite
  • Spam:

    • Wenn 1% der Spamnachrichten zu einer Transaktion führen und man täglich 300000 Spamnachrichten verschickt, führt das zu 3000 Transaktionen.
    • Die Transaktionen selbst können legitim sein.
    • Der Verkäufer versendet Spam nicht selbst, sondern engagiert den Besitzer eines Botnets
  • Erpressung per DDoS:

    • Viele Dienste (z.B. Onlineshops) müssen erreichbar sein, um Geld zu generieren
    • Mit der Androhung von DDoS (→ Botnetz) kann Schutzgeld erpresst werden
  • Lösegelderpressung:

    • Daten können auf dem infizierten Host verschlüsselt werden
    • Entschlüsselung nur gegen Bezahlung
Outsourcing von Malware-Infektion und -Verteilung
Vorderseite

Beschreiben Sie das Pay-per Install Geschäftsmodell im Kontext der Malware-Verbreitung (VL 9, S.36)

Rückseite
  • Es ist eine Form der Spezialisierung in der IT-Kriminalität. Die Verteilung von Schadsoftware und die Erstellung von Schadsoftware sind zwei verschiedene, komplexe Tätigkeiten
  • Malware-Autoren spezialisieren sich auf die Erstellung von Malware und engagnieren einen Verteilungsdienst, der die Malware vertreibt
  • Die Vertreiber rechnen pro Malware-Installation ab

10 Vorlesung (Intrusion detection systems)

Reaktive Sicherheit. Vorher ging es um die Verhinderung von Schaden, jetzt geht es um die Reaktion auf Angriffe.

Grundlegendes und Monitoring
Definitionen
Angriff
Vorderseite

Wie ist der Begirff Angriff in der IT-Sicherheit definiert? (VL. 10, S.3)

Rückseite

Der Versuch ein Schutzziel zu verletzen.

Intrusion
Vorderseite

Wie ist der Begirff Intrusion in der IT-Sicherheit definiert? (VL. 10, S.3)

Rückseite

Erfolgreicher Angriff, also eine erflogreiche Verletztung eines Schutzziels

A generic detector
Vorderseite

Aus welchen vier Komponenten besteht ein IDS (Intrusion Detection System)? (VL 10, S.5)

Rückseite
  1. Monitoring of data: Das Verhalten von Programmen, das Beobachten des Network-Traffics
  2. Analysis of data: Parsen von Netwerkdaten, Feature Extraction aus Programmen
  3. Detection of threats: Missbrauchsmuster- oder Anomalieerkennung
  4. Response to threats: Alarmierung des Personals, Blockieren der Handlung
Monitoring
Network-based
Vorderseite

Wie funktioniert grundlegende Netzwerküberwachung? Welche Vorteile und Schwierigkeiten gibt es? (VL 10, S.7)

Rückseite
  • Netzwerkdaten werden an einem Knotenpunkt abgefangen und geparst
  • Daraufhin werden sowohl die Header- als auch der Payload der Pakete inspiziert
  • Vorteil: Ein ganzes Netzwerksegment wird geschützt
  • Nachteil: Verschlüsselung und die Masse der Daten beschränken die Effektivität
Host-based
Vorderseite

Wie funktioniert grundlegende Host-Überwachung? Welche Vorteile und Schwierigkeiten gibt es? (VL 10, S.8)

Rückseite
  • Jede Datei wird auf Schadcode-Signaturen überprüft (Batch oder On-access)
  • Programmverhalten wird beobachtet: Welche Systemcalls führt das Programm aus? Redet es mit dem Netzwerk? Öffnet es Dateien, die nichts mit dem Programm zu tun haben? Schaut es sich die Eingaben der Tastatur an?
  • Vorteil: Sehr feingranular: Man kann jede Handlung des Programms beobachten
  • Nachteil: Hat große Laufzeitkosten
Application-based Monitoring
Vorderseite

Was ist Applikaitonsüberwachung? Welche Vorteile und Schwierigkeiten gibt es? (VL 10, S.8)

Rückseite
  • Eine Mischung aus Host- und Networkmonitoring für eine besondere (verteilte) Anwendung.
  • Beobachtung der Transaktionen und Logs der Anwendung
  • Beobachtung bestimmter Applikationslogik und des Programmzustands: Wer hat Schreibrechte für bestimme Daten der Anwendung? Macht es Sinn, dass ein Datum geändert wurde, aber nicht ein anderes? (Applikationssemantik)
  • Vorteil: Applikationsspezifische Angriffe werden erkannt
  • Nachteile:

    • Applikation muss erweitert werden.
    • Wieder erhöhte Laufzeitkosten, allerdings nicht so hoch wie für die Beobachtung des ganzen Systems / Netzwerksegments.
Analysis and feature extraction
Netzwerkanalyse
Problem
Vorderseite

Beschreiben Sie drei Schwierigkeiten beim Analysieren von Netzwerkdaten im Kontext von intrusion detection. (VL 10, S.13)

Rückseite
  • Netzwerkdaten sind oft fragmentiert und nicht in Reihenfolge. Das System muss damit umgehen können.
  • Das System muss die Vielzahl an Protokollen des Internet-Layers und evtl. auch Application-Layers parsen und analysieren können. Und dabei dürfen nicht die selben Vulnerabilities der dahinterliegenden Hosts auftreten.
  • Die Payload-Daten sollten auch analysiert werden, was die Grenze zur Host-basierten Analyse auffweicht.
Vor- und Nachteile
Vorderseite

Was sind die Vor- und Nachteile eines Netwerk-basierten Intrusion Detection Systems? (VL 10, S.13)

Rückseite
  • Vorteil:

    • Analyse erfolgt, bevor der Zeilhost erreicht wird
  • Nachteile:

    • Eine Große Anzahl an Protokollen, die korrekt und robust implementiert werden müssen.
    • Verschiedene Protokollimplementierungen können bei der Verarbeitung der Daten zu unterschiedlichen Ergebnissen kommen -> semantic gap
Semantic Gap
Vorderseite

Was ist die semantische Lücke in Parsern und Protokollimplementierungen. Wie kann das als Schwachstelle genutzt werden? (VL 10, S. 13)

Rückseite
  • Unterschiedliche Parser und Protokollimplementierungen können gleiche Daten anders interpretieren.
  • Es kann passieren, dass das die Protokollimplementierung eines IDS nach dem Parsing keinen Angriff feststellt, obwohl der Parser des Hosts, auf den der Angriff abzielt, angreifbar ist.
Host-basierte Analyse
Problem
Vorderseite

Beschreiben Sie die Vor- und Nachteile beim Analysieren bei der Host-basierten Analyse Kontext von Intrusion Detection. (VL 10, S.14)

Rückseiten
  • Vorteil:

    • Die Verteidigung ist effektiv, weil sie direkt man Angriffziel erfolgt
  • Nachteile bzw. Schwierigkeiten:

    • Der Schadcode kann obfuskiert (gepackt) sein. Das kann das Auffinden von Schadcode erschweren.
    • Laufzeitkosten können die Nutzerfreundlichkeit reduzieren
Aspekte der Host-basierte Analyse
Vorderseite

Nennen Sie die drei Aspekte der Host-basierten Analyse im Kontext von Intrusion Detection. (VL 10, S.14)

Rückseite
  • Der Angriff kann gepackt sein, daher muss es Maßnahmen zum Entpacken geben (deobfuscation)
  • Statische Analyse aller Dateiformate und des Inhalts
  • Dynamische Analyse von Code
Obfuscation
Vorderseite

Dient Code Obfuscation nur Angriffen? (VL 10, S.14)

Rückseite

Nein, das Obfuskieren von Programmmechanismen im Code wird z.B. für Kopierschutz verwendet.

Detection concepts
Feature Extraction
Definition
Vorderseite

Was ist Feature Extraction im Kontext von Intrusion Detection Systemen? (VL 10, S.15)

Rückseite

Die Überführung von Daten in eine analysierbare Repräsentation. Das kann sein:

  • Statistische Analyse: Zählen von Länge, Häufigkeit von Symbolen, Vorkommen der selben Daten, Entropie
  • Tokenization bzw. String Representation: Die Zerstückelung der Daten an bedeutenden Punkten. Erhöht Vergleichbarkeit.
  • Parsen der Daten → Parse-Tree erlaubt syntaktische und semantische Analyse
Misuse Detection vs Anomaly Detection
Misuse
Vorderseite

Was ist Misuse Detection im Kontext von Intrusion Detection Systemen? (VL 10, S.20)

Rückseite
  • Eine der zwei klassischen Schulen der IT-Sicherheit: Modelliert das Böse
  • Definiert klare Missbrauchsmuster und ihre formale Repräsentation (genant Angriffssignatur, -heuristik, -muster)
  • Ein Angriff ist, was vorher als Angriff definiert wurde.
Anomaly
Vorderseite

Was ist Anomaly Detection im Kontext von Intrusion Detection Systemen? (VL 10, S.20, 25)

Rückseite
  • Eine der zwei klassischen Schulen der IT-Sicherheit: Modelliert das Gute
  • Modelliert formal, was eine normale Nutzung des Systems darstellt (statistische Modelle, Spezifikationen, Wahrscheinlichkeiten, Maschinelles Lernen).
  • Ein Angriff ist, was von der Normalität abweicht.
  • Inhärente semantische Lücke: Anomalität ist nicht gleich Missbrauch.
Misuse vs Anomaly
Vorderseite

Stellen Sie Misuse Detection ("MD") der Anomaly Detection ("AD") gegenüber. Was sind die Vor- und Nachteile? (VL 10, S.21+)

Rückseite
  • MD kann effizient und effektiv bekannte Angriffe erkennen. Eine Repräsentation von unbekannten Angriffen mit den Mitteln der MD ist nur sehr schwer zu machen.
  • An der Stelle ist die AD effektiver. Ein Angriff sollte stark von der Normalität abweichen und ist daher erkennbar.
  • AD kann jedoch gutwilliges, aber anomales Verhalten als Angriff einordnen (hohe Falsch-Positiv-Rate)
Gefahren der Anomaly Detection
Vorderseite

Was sind die Gefahren / Schwierigkeiten der Anomaly Detection? (VL 10, S.10,20,26)

Rückseite
  • Inhärente semantische Lücke: Anomalität ist nicht gleich Missbrauch.
  • Bei Machine-Learning-Modellen: Trainigsdaten, die Normalität abbilden, können den Angriff bereits beinhalten (→ vergiftet sein, data poisoning).
Keyword-Tree
Vorderseite

Keyword-Trees: Wie funktioniert der Aho-Corasick Algorithmus? Was ist seine Laufzeit? Was ist der große Vorteil? (VL 10, S.23+)

Rückseite
  • Siehe Vorlesung. (VL 10, S.23+)
  • O(n)
  • Es kann ein Baum für alle Keywords erstellt werden. Ein String, der gegen den Baum gematch wird, muss nur einmal durchlaufen werden, ohne je zu einer bereits besuchten stelle im Baum zurückzuspringen. Kann gut zur Misuse Detection eingesetzt werden.
Response
Strategien
Vorderseite

Nennen Sie drei übliche Strategien, wie ein Intrusion Detection System auf einen entdeckten Angriff reagieren kann. (VL 10, S.30)

Rückseite
  • Warnungen an Administratoren senden, Warnung loggen
  • IP Adressen werden blockiert, Ausführung von Programmen gestoppt
  • Infizierte Dateien werden in Quarantäne verschoben (manchmal ist sogar ein eine Reparatur der Datei möglich).
Schwierigkeiten bei aktiven Reaktionen von IDS
Vorderseite

Gibt es Gefahren, wenn ein Intrusion Detection System zur Verteidigung aktiv in das System eingreift? Wenn ja, nennen Sie Beispiele. (VL 10, S.30)

Rückseite
  • Ja, denn das präsentiert eine weitere Angriffsfläche. Alle falsch-positiven und falsch-negativen Einordungen führen zu ungewolltem Verhalten.
  • Beispiele:

    • Der Angreifer kann eine Quell-IP Adresse spoofen und damit einen Angriff durchführen, dessen Erkennung den echten Besitzer der IP Adresse vom System ausschließt. (DoS)
Honeypot
Vorderseite

Was ist ein Honeypot im Kontext von Intrusion Detection Systemen? (VL 31, S.31)

Rückseite

Wird von einem netzwerkbasierten IDS ein Angriff entdeckt, können die Netzwerkpakete anstatt verworfen zu werden, stattdessen an ein einzelnes System weitergeleitet werden, welches nach einem wichtigen System (welches auch falsche vertrauliche Daten beinhalten kann) aussieht, aber eine geschützte Umgebung zur Beobachtung des Angriffs darstellt. Dieses System wird Honeypot genannt.

Detection Performance
Definition
Vorderseite

Wie misst man detection performance? (VL 10, S.34)

Rückseite

Wie groß ist das Verhältnis von richtig-positiven Erkennungen zu im Vergleich zur Menge der falsch-positiven Erkennungen? → ROC Kurve. Für Details, siehe VL 10, S.34.

Für Intrusion Detection Systeme
Vorderseite

Warum ist für Intrusion Detection Systeme eine kleines Verhältnis von falsch-positiven zu richtig-positiven Erkennungen wichtiger, als eine möglichst hohe absolute Erkennung von Angriffen?

Rückseite

Weil jeder falsch-positive Fall eine Angriffsfläche darstellt. (z.B. DoS für gespoofte IP Adressen, die aus dem Netzwerk ausgeschlossen werden)

Angriffe gegen Intrusion Detection Systeme
Red herring
Vorderseite

Was ist ein Red Herring allgemein und im Kontext der IT-Sicherheit? (VL 10, S.36)

Rückseite
  • Ein Ablenkungsmanöver mit dem Ziel, jemanden auf eine falsche Fährte zu locken
  • Man erzeugt gefälschte Angriffe, die ein Intrusion Detection System Alarm schlagen lassen, während ein tatsächlicher Angriff in der Masse von Warnungen untergeht.
Mimicry Attack
Vorderseite

Was ist ein Mimicry Attack auf ein Intrusion Detection System? (VL 10, S.36)

Rückseite

Eine Mimicry (engl. Nachahmung) Attacke versucht den Angriff so normal wie möglich in den Augen des IDS aussehen zu lassen, um einer Entdeckung zu entgehen. → Ausnutzung einer semantischen Lücke.

Poisoning
Vorderseite

Was ist ein Poisoning Attack auf eine Intrusion Detection System? (VL 10, S.36)

Rückseite

Wird ein IDS mithilfe vom Machine Learning auf die Erkennung von Angriffen trainiert, können Angriffsmuster in die Trainigsdaten für normales Verhalten untergemischt werden, damit das IDS diesen Angriff als normal ansieht.