Altklausuren Flashcards
Nenne drei beispielhafte Bedrohungen (threats)
Snooping (passives abhören von Daten) : Enthüllung = unberechtigter Zugang zu Informationen,
Spoofing (aktives Nachahmen eines Akteurs durch einen anderen) :Übernahme = unberechtigte Kontrolle über Ressourcen, Täuschung = Entgegennahme falscher Daten (z. B. masquerading)
Manipulation (aktives Verändern von Informationen) : Störung = Unterbrechung oder Verhinderung der richtigen Funktion
Nenne je eine beispielhaften Angriff (attack) der auf Bedrohungen abzielt
Enthüllung = unberechtigter Zugang zu Informationen
Snooping = passives Abhören von Daten
Täuschung = Entgegennahme falscher Daten (z. B. masquerading)
Spoofing = aktives Nachahmen eines Akteurs durch einen anderen
Störung = Unterbrechung oder Verhinderung der richtigen Funktion
Manipulation = aktives Verändern von Informationen
Übernahme = unberechtigte Kontrolle über Ressourcen
Spoofing
Nenne Angriffe mit Bsp
Snooping
Keyboard logging
Network sniffing
Spoofing
Phishing Angriffe
Address spoofing
Manipulation
Man-in-the-middle-Angriffe
Nenne die drei Sicherheitsziele und deren Fragen
Confidentiality = Wer darf auf welche Daten/Ressourcen zugreifen?
Integrity = Wer darf was mit meinen Ressourcen tun?
Availability = Wann und wie werden Ressourcen verwendet?
Nenne für jedes der drei Sicherheitsziele einen beispielhaften Angriff, der dieses Ziel unterläuft.
o Confidentiality = Wer darf auf welche Daten/Ressourcen zugreifen?
Snooping z.B. belauschen eines Telefongesprächs.
o Integrity = Wer darf was mit meinen Ressourcen tun?
Manipulation z.B. verändern einer Banktransaktions-Quittung.
o Availability = Wann und wie werden Ressourcen verwendet?
Übernahme z.B. Webserver einer Firma zum Abstürzen bringen/ verschlüsseln die Festplatte eines Arbeitscomputers.
Nenne Sicherheitsziele und ihre Sicherheitsmaßnahmen
Confidentiality - Vertraulichkeit
Verschlüsseln der Daten
Integrity -Unverletztlichkeit
Autorisierung
Digitale Fingerabdrücke
Availability - Verfügbarkeit
Redundanzen
Beschränkungen (der Nutzung)
Was unterschiedet Authentifizierung und Autorisierung?
Authentifizierung = Verknüpfung einer Identität mit einem Individuum.
Autorisierung = Kontrolle, was ein Akteur tun darf und was nicht.
Was unterscheidet Authentifizierung und Autorisierung? Gebe zusätzlich ein Beispiel, welches beide Elemente beinhaltet, an.
Authentifizierung = Verknüpfung einer Identität mit einem Individuum.
Autorisierung = Kontrolle, was ein Akteur tun darf und was nicht.
Beispiel:
Eintreten in einen abgeriegelten Sicherheitsbereich mittels Smartcard, siehe BASF. Beim Anmelden mit der Smartcard wird mithilfe eines PINs die Authentizität bestätigt, ob der Zugang gewährt wird, hängt davon ab, ob dem Authentifizierten Individuum die Rechte dafür zugewiesen wurden.
Nenne drei grundlegende Mechanismen zur Authentifizierung (zB. “Something you …”)
Geheimes Wissen (…know)
PIN
Passwort
Besitz (…have)
Karten
Schlüssel
Individuelle Eigenschaften (…are)
Fingerabdruck
Irismuster
Nenne drei grundlegende Mechanismen zur Authentifizierung und jeweils zwei Schwächen davon
Geheimes Wissen
Kann verraten / vergessen / gestohlen werden
Keine Spuren ob es gestohlen wurde oder nicht
Besitz
Kann verloren / gestohlen werden
Neuer Besitzer hat selbe Rechte
Individuelle Eigenschaften
Ist heutzutage nachahmbar (Apple Touch ID)
Fehlerquoten (False-Positives und False-Negatives)
Welche zwei Arten von Redundanz können im folgenden Schaubild durchgesetzt werden um den Internetzugang via Router für die ACME Company sicherzustellen?
Homogene Redundanz: Identische Komponenten, wodurch höhere Wahrscheinlichkeit für Systemausfall besteht.
Diversitäre Redundanz: Unterschiedliche Komponenten (z.B. Hersteller, Typen), bessere Wahrscheinlichkeit systematische Fehler zu erkennen.
Welche zwei Arten von Redundanz können im folgenden Schaubild durchgesetzt werden um den Internetzugang via Router für die ACME Company sicherzustellen? Welche Vor- und Nachteile sind damit jeweils verbunden?
Homogene Redundanz: Identische Komponenten, wodurch höhere Wahrscheinlichkeit für Systemausfall besteht.
Vorteil: Leichte Betreuung (Nur ein Mitarbeiter mit Expertenwissen)
Nachteil: Wahrscheinlichkeit für Ausfall beider Router höher
Diversitäre Redundanz: Unterschiedliche Komponenten (z.B. Hersteller, Typen), bessere Wahrscheinlichkeit systematische Fehler zu erkennen.
Vorteil: Wahrscheinlichkeit für Ausfall beider Router geringer
Nachteil: Schwere Betreuung (Pro Hersteller Expertenwissen benötigt)
Unterscheide Anonymisierung und Pseudononymisierung
Pseudonymisierung:
- “Maskieren” von personenbezogenen Daten.
- Erhöht (Informations-)Sicherheit, bietet aber keine Anonymisierung.
- Relativ leicht den Individuen zurückführbar.
Anonymisierung:
- Verändern der personenbezogenen Daten
- Teilweises / Schrittweises entfernen von personally identifiyng information (PII)
- Nicht mehr oder nur mit einem unverhältnismäßig großen Aufwand an Zeit, Kosten und Arbeitskraft zurückführbar.
Was besagen Generalisierung und Unterdrückung (suppression) bei k-anonymity?
Suppression:
Bestimmte Werte oder Attribute werden mit einem * ersetzt, um den Detailierungsgrad zu verringern.
Generalization:
Individuelle Werte von Attributen werden in größere Kategorien gefasst.
Enthüllung
unberechtigter Zugang zu Informationen
Täuschung
Entgegennahme falscher Daten (z. B. masquerading)
Störung
Unterbrechung oder Verhinderung der richtigen Funktion
Übernahme
unberechtigte Kontrolle über Ressourcen
Snooping
passives Abhören von Daten
Spoofing
aktives Nachahmen eines Akteurs durch einen anderen
Manipulation
aktives Verändern von Informationen
In welche zwei Kategorien werden Anonymisierungsverfahren unterteilt? Nenne zu jeder Kategorie ein beispielhaftes Verfahren.
Generalisierung
K-Anonymity
L-Diversity
Randomisierung
Differential-Privacy
Nenne die zwei Kategorien von symmetrischen Chiffren
Blockchiffren
Stromchiffren
Nenne die zwei Kategorien von symmetrischen Chiffren und ihre jeweiligen Vor- und Nachteile.
Blockchiffren
Vorteil: Können parallel ver- und entschlüsselt werden
Nachteil: Blöcke können ausgetauscht werden (Angreifer)
Stromchiffren
Vorteil: Schlüsselstromberechnung kann im Voraus erledigt werden.
Die einzelnen Bits können nicht einfach ausgetauscht werden, weil sie voneinander abhängig sind
Nachteil: Bei Verlust eines Bits bei der Übertragung, ist der gesamte folgende Chiffretext Strom unbrauchbar (fehlerhafte Bits bereiten keine großen Probleme).
Vorteile und Nachteile von Symmetrischen Chiffren
Vorteil
Vergleichbar geringere Komplexität (schneller)
kleinere Schlüssellänge
Nachteile
Speichern von vielen Schlüsseln (bei n Kommunikationspartnern sind n-1 verschiedene Schlüssel nötig)
Sicherer Schlüsselaustausch nötig
Symmetrischer Chiffren Angriff
Brute Force Angriff: erschöpfendes Durchsuchen des Schlüsselraumes
Vorteile und Nachteile von Asymmetrischen Chiffren
Vorteil
Einfachere Handhabung des Schlüssels
Kein sicherer Kanal zum Austausch nötig
Nachteil
Höhere Komplexität
Größere Schlüssellänge
Problem der Authentizität der öffentlichen Schlüssel
Angriff von Asymmetrischen Chiffren
Lösen des zugrundeliegenden Problems (zB Faktorisierung des Moduls bei RSA)
Nenne die Betriebsmodi der Blockchiffren und ihre jeweiligen Vor- und Nachteile.
Electronic Code Book (ECB)
• Separate Verschlüsselung jedes Klartextblocks
• Gleiche Klartextblocke → gleiche Chiffretextblocke
Gefahr: unerkanntes Entfernen/Austauschen von Chiffretextblocken
• Ermöglicht paralleles Berechnen des Chiffretextes
• schneller, weil parallel abgearbeitet, Muster erkennen schwach
Cipher Block Chaining (CBC)
• Zuerst XOR (“Veroderung”) von Klartextblock mit vorhergehenden Chiffretextblock,
• danach Verschlüsselung
• Gleiche Klartextblocke → unterschiedliche Chiffretextblocke
• sicherere Mustererkennung wegen sequentielle Abarbeitung
• alles was bisher verschlüsselt wurde, tragt sich in die nächste Verschlüsselung mit ein (durch XOR-Verschlüsselungen)
• falls mind. 1 Unterschied zuvor aufgetreten ist
• gleiche Nachrichtenanfänge werden bis zum Unterschied gleich verschlüsselt
• → Abhilfe: zufälliger Initialblock
Erkläre, wie digitale Signaturen mit dem RSA-Verfahren erstellt und wie sie überprüft werden.
Dokument wird mit dem privaten Schlüssel chiffriert
Das so unterzeichnete Dokument wird versendet
Durch das entschlüsseln des Dokuments mit dem öffentlichen Schlüssel wird die Authentizität des Senders bestätigt.
(digitale Signatur mit RSA Verfahren)
Nenne und erläutere zwei Eigenschaften, die dadurch erreicht werden
Authentizität
Empfänger kann sich von Identität des Unterzeichners überzeugen
Fälschungssicherheit
Nur Unterzeichner ist es möglich Signatur zu erzeugen
Überprüfbarkeit
Im Zweifelsfall kann eine dritte Partei die Signatur verifizieren
Keine Wiederverwendbarkeit
Signatur bezieht sich nur auf das unterzeichnete Dokument
Keine Veränderbarkeit
Nachdem Dokument unterzeichnet ist kann es nicht mehr verändert werden
Unterscheide zweites-Urbild-resistenz (second-preimage-attack) und Kollisionsresistenz.
Resistent gegen Erstes-Urbild-Angriff (First Preimage Attack)
- Gegeben h(M) ist es schwer M zu berechnen
Resistent gegen Zweites-Urbild-Resistent (Second Preimage Attack)
- Gegeben h(M) ist es schwer ein M’ zu finden, sodasss h(M) == h(M’’)
Kollisionsfrei oder Kollisionsresitent
- Gegeben h() ist es schwer ein M’ und M’’ yu finden, sodass h(M’) == h(M’’)
- Kollisionsresistent schließt Resistenz gegen den Zweites-Urbild-Angriff ein
Was bedeutet es, wenn eine Hashfunktion kollisionsresistent ist
Wenn eine Hashfunktion Kossilionsresistent ist, kann es keine zwei unterschiedlichen Klartexte (M) geben, die nach Verschlüsselung den exakt selben Hashcode haben (Kollidieren).
Welche Gefahr besteht, wenn eine nicht kollisionsresistente Hashfunktion verwendet wird, um ein Dokument zu signieren?
Beim entschlüsseln des Dokumentes, kann es dazu kommen, das aufgrund der Möglichkeit von Kollisionen, der Klartext keinen Sinn mehr ergibt, und damit die Authentizität des Senders nicht bestätigt werden kann
Welches Sicherheitsziel erreicht die Blockchain? Welches nicht?
Blockchain errreicht Integrität, jedoch nicht die Confidentiality
Was ist eine blockchain?
Erkläre den Unterschied zwischen Blöcken und Transaktionen.
o Blockchain:
Bitcoin-System, welches aus einzelnen Blöcken zusammengesetzt ist.
o Block:
Zusammenfassung aller Transaktionen der letzten 10 Minuten
o Transaktionen:
Atome des Systems
Aufbau ist immer: Übertrage X coins von der Adresse Y an die Adresse Z
Kontostand ist über das Rückverfolgen der Transaktionen auswertbar
Erklären Sie das Onion-Routing
o Mehrere Netzwerkknoten, die miteinander Kooperieren.
o Nachrichten werden von der Quelle zum Ziel über Zwischenstationen geleitet.
o “Entry-Node” am Anfang beim Absender und “Exit-Node” am Ende beim Empfänger.
o Inhalt und Route sind asymmetrisch Verschlüsselt
o Kommunikationsanonymität gewährleistet
Detailierter
o Jeder Onion Router hat einen public und privat Schlüssel.
o Sender wählt eine Route durchs Netz zum Empfänger und verschlüsselt mit den public keys die Nachricht wie eine Zwiebel in der ,der Route entsprechenden Reihenfolge.
o Jeder Router weis daher immer nur, von wem er die Nachricht erhalten hat und an wen sie als nächstes geht.
Vorteile und Nachteile/Probleme des Onion/Routings
Vorteil:
o Wenn ein Angreifer eine der Nodes “knacken” kann, kann er keine Rückschlüsse über die Herkunft oder das Ziel ziehen.
Probleme:
o Die erste Nachricht, die beim Empfänger ankommt, ist unverschlüsselt und kann vom Angreifer auf Basis des Inhaltes zurückverfolgt werden.
Ende zu Ende Verbindung
Mit der Nachricht wird vom Empfänger für jeden auf dem Weg verwendeten Router ein dazugehöriger Schlüssel mitgeliefert, welche der Empfänger benutzt um seine Antwort auf dem Rückweg nach dem Zwiebelprinzip zu verschlüsseln
Gebe zwei Beispiele wie SQL Injection schwächen festgestellt werden können. (Angreiferperspektive)
Gewinnung von Informationen mit Hilfe von Fehlermeldungen:
Fehlermeldungen, die die Anwendung ausgibt, helfen möglicherweise dem Angreifer.
Stelle sicher, dass du keine unnötigen Debugging- und Fehlermeldungen an Benutzer ausgibst.
Für das Debugging ist es besser Logfiles zu benutzen
Datenbank auskundschaften:
wenn Mehrfachabfragen (wie in MySQL) in einer Verbindung nicht erlaubt sind, lässt sich Informations-leakage mit komplexeren Vorgehensweisen erreichen
durch hinzufügen von boolschen Bedingungen
Infos aus anderen Tabellen mithilfe von Subquerys
Erkläre, wie ein Programmierer SQL Injektion Schwächen verhindern kann.
o Der beste Schutz ist es, die Applikation von SQL zu trennen.
o Persistenz-Frameworks können dabei helfen.
o Alle von der Anwendung benötigten SQL-Statements sollten auf dem Datenbankserver als prepared statements (stored procedures) realisiert sein
Nenne zwei Potentielle Erkenner von Viren
Benutzer
Anti-Virus Programme: Wiedererkennbare Eigenschaften des Viruscodes
Unterscheide passive und aktive Erkennungsvermeidung und gebe jeweils ein Beispiel für verwendete Ansätze
Passive Erkennungsvermeidung:
Viren wollen unerkannt bleiben um sich in Ruhe verbreiten zu können
Dynamisch und statische Spurenverwischung
Statisch: Dateimerkmale wie dateigröße und zeitstempel
Dynamisch: Ursprüngliche Dateimerkmale und –inhalte zur Laufzeit im Speicher dauerhaft vorhalten und bei I/O-Anfragen einspielen
Methoden:
Virusbody-entschlüsseln
Oligomorphie
Polymorphie
Code Mutation
Aktive Erkennungsvermeidung:
Methoden von Malware sich gezielt gegen Anti-Viren Programme zu wehren. -> deren Funktionalität unterbinden/ erschweren / verzögern durch Ausnutzung von Wissen über AVSW
Methoden um die aktive Analyse der Malware zu erschweren
Bsp.:
Retroviren,
Emulation umgehen
Debugging erkennen
Ursprüngliche Dateimerkmale und –inhalte zur Laufzeit im Speicher dauerhaft vorhalten und bei I/O-Anfragen einspielen
Nenne und erläutere mindesten drei Techniken, mit denen Datei-Viren ausführbare Programme befallen können.
Vorhängen
Anhängen
Einstreuen in ungenutzte Füllbereiche (Dateigröße bleibt gleich und Wirtscode läuft korrekt, nur in Windows möglich )
Begleitviren (
1. Virus nennt sich wie Wirt und liegt in früher durchsuchtem Dateipfad -> Wirt wird danach umbenannt
2. Virus ruft Wirtsprogramm auf (tut so als ob alles Normal läuft) -> Wirtsprogramm bleibt unverändert
Quellcode Viren: Virus infiziert Quellcode des Wirtsprogramms
Infektionsstelle des QC ist nicht offensichtlich
Wirtsprogramm muss erst kompiliert werden
V unabhängig von Plattform
Wie kann man einen Virus erkennen?
o Statisch
o Dynamisch
Virus erkennen laut Jonas
o Dateigröße (wenn sie sich verändert)
o Ungewöhnlich hohe Rechenleistung
o Dauer der ausführung einer Datei (länger als normal -> kann Virus sein)
o Kleine Differenz zwischen Einsprung zum Programmstart und Dateiende
o Suche nach einfachen Bytemustern die verdächtig sind
Nenne die Designgrundsätze
Economy of Mechanism
• Reduktion von Komplexität
Fail-safe defaults
• Verwendung von sicheren Standardeinstellungen
Complete mediation
• vollständige Zugriffskontrolle
Open design
• nicht darauf zu vertrauen, dass die Funktion von Sicherheitsmechanismen nicht bekannt wird
Separation of privilege
• Aufteilung von Zugriffsprivilegien
Least privilege
• Reduktion auf die unbedingt notwendigen
Least common mechanism
• Verzicht auf die gemeinsame Verwendung von Sicherheitsmechanismen für unterschiedliche Aufgaben
Psychological acceptability
• Psychologischen Akzeptanz von Sicherheitsmechanismen
Good to know Designgrundsätze
Economy of Mechanism
• Reduktion von Komplexität
- Sicherheitsmaßnahmen so einfach wie möglich
Fail-safe defaults
• Verwendung von sicheren Standardeinstellungen
- Sichere Startkonfiguartion und einfache (Neu-)Konfigaration
- Allow und deny als default (je nach Anwendung)
- - ALLOW Zugang gewährt, wenn nicht explizit verboten
- DENY Zugang nur gewährt, wenn explizit erlaubt
Complete mediation
• vollständige Zugriffskontrolle
Open design
• nicht darauf zu vertrauen, dass die Funktion von Sicherheitsmechanismen nicht bekannt wird
- Design soll nicht geheim sein
- Sicherheitsmechanismen bekannt
- Sicherheit hängt von wenigen kurzen Token ab (Schlüssel, Passwörter)
Separation of privilege
• Aufteilung von Zugriffsprivilegien -> Zugriff ist an mehrere Voraussetzungen gebunden
Least privilege
• Reduktion auf die unbedingt notwendigen Zugriffsprivilegien
- minimierung Zugriffsrechte
- minimierung Interaktion zw. Programmen
- minimierung möglichen Schadens
Least common mechanism
• Verzicht auf die gemeinsame Verwendung von Sicherheitsmechanismen für unterschiedliche Aufgaben
- Reduziere potenziell gefährliche Informationsflüsse.
- Reduziere mögliche Interaktionen.
Psychological acceptability
• Psychologischen Akzeptanz von Sicherheitsmechanismen
- Sicherheitsmaßnahmen leicht durchführbar
- Vermeide ZU viele Warnungen
- Biometrie statt Passwörter
was ist k-anonymity?
K-anonymity:
Verallgemeinerung von Quasi-Identifikatoren, bis es
mindestens k Datensätze für jede Gruppe/Klassifizierung gibt.
Je größer die Gruppengröße k, desto verfremdeter werden
die Daten, aber man kann auch weniger mit den Daten
machen.
Daten werden nicht verfälscht