Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
84 Cards in this Set
- Front
- Back
Was ist Sniffing? |
- Mitlesen von Datenverkehr - Verwendung sog. "Sniffer" - to sniff: schnüffeln |
|
Welche Netzarten kann man leicht abhören und welche nicht so leicht? |
- einfach: - WLAN - lokale Netze, die mit einem Hub realisiert sind - schwieriger: drahtgebundene Netzwerke, da man zumindest einen physischen Zugang braucht |
|
Warum kann man mit einem Hub realisierte Netze relativ einfach abhören? |
ein Hub verteilt alle ankommenden Datenpakete an alle angeschlossenen Geräte |
|
Was ist der Betriebsmodus promiscuous mode bei Netzwerkkarten? |
- Die Ethernet-Karten in PCs sind normalerweise so konfiguriert, dass sie Pakete, die nicht für diesen PC gedacht sind, verwerfen. - Man kann eine Ethernet-Karte jedoch auch so konfigurieren, daß sie alle Pakete entgegen nimmt. - Jedes Paket wird dann an die nächsthöhere Schicht im Protokoll-Stack geleitet - Administratorrechte benötigt |
|
Wie arbeitet ein Sniffer? |
- sammelt und analysiert die gesammelten Datensätze - Da die Analyse mit einigem Aufwand verbunden ist, werden die Pakete häufig erst einmal gesammelt, d. h. in eine lokale Datei geschrieben, und später analysiert. - Dabei versucht der sniffer bekannte Protokolle, wie beispielsweise telnet, ftp oder http, in den gespeicherten Paketen zu entdecken |
|
Woraus besteht der Handshake? |
1. Einem syn-Paket vom Absender an den Zielrechner |
|
Welche wichtigen Informationen können mittels eins Sniffers herausgefunden werden? |
- Benutzername und Kennwort - Verzeichnis- und Dateinamen - im Klartextübertragene Dateien |
|
Welche Voraussetzung muss gegeben sein, damit ein Sniffer funktioniert? |
- Zugriff auf ein gemeinsames Übertragungsmedium muss gegeben sein - WLAN oder klassischer Hub |
|
Inwiefern kann ein Switch Angriffe durch Sniffer erschweren? |
- Ein Switch verteilt eingehende Pakete normalerweise nicht an alle angeschlossenen Geräte, sondern nur an den im Paketkopf genannten Empfänger. - Dazu muss der Switch natürlich wissen, welche Geräte mit welchen Adressen - Dies lernt der Switch während des - An dieser Stelle können nun weitere Angriffe einsetzen |
|
Was ist Spoofing? |
- Maskierungsangriff - Vortäuschen einer falschen Identität - Dabei kann der Angreifer eine falsche |
|
Wie funktioniert ein Spoofing-Angriff? |
- ARP-Pakete gehen an alle angeschlossenen Geräte - Das hat zur Folge, dass alle Geräte nach dem ersten Broadcast die MAC-Adresse des Absenders kennen. - Ein Angreifer kann nun gefälschte ARP-Pakete verschicken. - Das kann eine gefälschte Antwort auf eine ARP-Anfrage oder einfach eine gefälschte ARP-Nachricht sein. - Besonders subtil wird dieser Angriff, wenn der Angreifer vorgibt, der Router zu sein. - An den Router werden alle Pakete geschickt, deren Ziel nicht im lokalen Netz liegt. - Der Angreifer muss allerdings darauf achten, die abgefangenen Pakete anschließend an - Andernfalls würden Pakete verloren |
|
Was ist DNS? |
- Domain Name Service - Symbolische Namen werden eingeführt, da sich Menschen Namen besser merken können als nummerische Adressen - Für das Internet ist ein hierarchischer Namensraum definiert, an dessen Wurzel eine namenlose Wurzel-Domäne steht - DNS übernimmt Zuordnung von Namen zu IP-Adressen |
|
Was ist eine Domäne? |
Teilbaum im hierarchischen Namensraum |
|
Was sind Top-Level-Domains? |
Domänen unter der Wurzel wie z.B. .de, .com usw. |
|
Wie arbeitet ein DNS-Server? |
- verwaltet zwei Datenbanken / Tabellen - Die Abbildung von Name auf IP-Adresse wird in der forward zone Tabelle gespeichert. - Die umgekehrte Abbildung von IP-Adresse auf Name wird in der reverse zone Tabelle verwaltet |
|
Welche Sicherheitsmaßnahmen werden bei DNS nicht getroffen? |
- keine Maßnahmen zur Überprüfung der Konsistenz dieser Tabellen - keine sichere Authentisierung bei der Erstellung oder dem Austausch der Informationen in den Tabellen |
|
Welche Angriffe können durch gefälschte oder inkonsistente DNS-Einträge ermöglicht werden? |
- Angriff auf reverse zone - Angriff auf Forward zone |
|
Wie funktioniert ein Angriff auf reverse Zone? |
- Unter UNIX kann ein Benutzer/Administrator anderen Rechnern trauen und einen Verbindungsaufbau von diesen Rechnern ohne explizite Authentisierung erlauben - Angreifer gibt eine falsche Identität vor, indem er den Eintrag in der Tabelle der reverse Zone ändert. - Der DNS-Server liefert auf Anfrage den falschen Rechnernamen zu eine IP-Adresse - Der anfragende Rechner prüft nur noch, ob die erhaltene IP-Adresse in er Datei /etc/Hosts.equiv steht - Falls ja, so wird die Verbindung ohne Authentisierung aufgebaut. - Der Angreifer gibt sich als falscher Absender aus |
|
Wie funktioniert ein Angriff auf Forward Zone? |
- Schafft es ein Angreifer, die forward Tabelle des DNS-Servers mit falschen Einträgen zu füllen, so kann er fälschlicherweise das Ziel von Verbindungsaufbauwünschen werden. - Angreifer trägt seine IP-Adresse unter den Namen des Opfers ein - Wenn ein Rechner eine Verbindung aufrufen möchte und die IP-Adresse eines Namens anfragt, erhält er die falsche IP-Adresse zurück - Somit wird eine falsche Verbindung aufgebaut |
|
Welche Schäden kann ein Angriff auf Forward Zone zur Folge haben? |
- Reputationsschaden: Der Angegriffene könnte durch willkürliche Änderungen an den Inhalten verunglimpft werden - Umsatzschaden: Durch Umleiten von Datenverkehr kann im E-commerce Umsatz (und damit auch Ertrag) verhindert werden - Vertraulichkeitsschaden: Ist die Website interaktiv, d.h. es erfolgen Benutzereingaben, so kann der Angreifer an vertrauliche Informationen gelangen |
|
Wie kann man den Zugriff auf unliebsame Seiten verweigern? |
- man ändert einfach die IP-Adresse zum unliebsamen im DNS auf einen anderen Wert - Natürlich können Benutzer immer noch |
|
Warum muss ein Angreifer nicht den DNS-Server manipulieren? |
er kann auch die Nachrichten |
|
Wie kann das Manipulieren von DNS-Nachrichten verhindert werden? |
durch DNSSEC |
|
Was ist DNSSEC? |
- DNS-Daten werden digital signiert - jeder Empfänger kann durch Überprüfen der Unterschriften prüfen, ob die Daten authentisch und integer sind |
|
Welche Probleme gibt es bei der Einführung von DNSSEC? |
- DNS ist ein verteiltes System - Alle DNS-Server müssten es benutzen, d. h. die Server-Software muss aktualisiert werden und Schlüsselpaare für die Signierung müssen - Wie in public key Infrastrukturen üblich muß man dann auch noch sicherstellen, daß man den korrekten öffentlichen Schlüssel der Gegenseite besitzt. - Nur dann kann man die digitalen Signaturen prüfen. |
|
Welche Schlüsseltypen sind in DNSSEC vorgesehen? |
- key signing keys - zone signing keys |
|
Was sind key signing keys? |
- Diese Schlüssel werden nur dazu benutzt, andere Schlüssel digital zu signieren - Signiert beispielsweise die Wurzeldomäne |
|
Was sind Zone signing keys? |
- Mit diesen Schlüsseln werden die eigentlichen DNS-Daten signiert. - Eine zone bezeichnet hier einen Ausschnitt aus dem DNS-Namensraum, nämlich den Ausschnitt, für den ein DNS-Server zuständig ist. - Dieser DNS-Server liefert also die „gültigen“ (engl. authoritative) Antworten zu Anfragen zu dieser Zone. |
|
Was benötigt der Prüfende, damit er eine Antwort überprüfen kann? |
den öffentlichen Schlüssel des Unterzeichners |
|
Was ist chain of trust? |
- einen öffentlichen Schlüssel gibt es für jede DNS-Zone - Damit man nun nicht alle diese öffentlichen Schlüssel kennen muss, kann man auch eine Vertauenskette (engl. chain of trust) benutzen. - Kennt man den öffentlichen key-signing-Schlüssel einer Domäne, so kann man den DNS-Daten einer Unter-Domäne vertrauen, sofern sie mit einem Schlüssel signiert |
|
Was ist ein Wörterbuchangriff? |
Angreifer versucht durch systematisches Ausprobieren das Passwort eines legitimen Benutzers herauszufinden |
|
Welche Strategien gibt es bei Wörterbuchangriffen? |
1. Ausprobieren von bekannten Wörtern und ihren Abwandlungen, bzw. Kombinationen. - Bei beiden Methoden wird eine Hash-Funktion auf das zu prüfende Wort angewendet - Die Hash-Funktion ist dieselbe, die auch das Betriebssystem auf ein Paßwort anwendet, bevor es das Passwort speichert |
|
Wie kann man unter Windows NT und seinen Nachfolgern an die Hashwerte der Passwörter kommen? |
1. Auszug aus der Windows Registry erstellen |
|
Wie kann man die Hashwerte aus einem Auszug aus der Windows Registry herausfinden? |
- Mit Hilfe spezieller Hilfsprogramme (z. B. pwdump) kann man die HashWerte aus der Systemdatenbank (Registry) lesen. - Dafür sind allerdings Administrator-Rechte sowie evtl. direkter, physischer Zugang zu dem |
|
Wie kann man die Hashwerte aus der SAM-Datei herausfinden? |
- Windows speichert die Benutzerdaten einschließlich Hash-Wert des Passworts in der SAM-Datei. - Der Zugriff auf diese Datei ist bei laufendem - Das Betriebssystem hat diese Datei - Somit kann man die Datei weder lesen noch kopieren. - Allerdings wird diese Datei mit gesichert. - Man kann also eine Sicherung erstellen und daraus dann die Datei kopieren. - Die Sicherung wird über das Betriebssystem selbst erstellt, so dass die oben genannte exklusive Reservierung ohne Bedeutung ist. |
|
Wie kann man die Hashwerte mittels Abhören des Netzwerkverkehrs herausfinden? |
Bei der Anmeldung an einem Windows Client PC gibt der Benutzer sein Passwort ein. - Die Prüfung des Passworts wird vom Domain Controller durchgeführt. - Der Domain Controller ist eine Server Maschine, auf der unter anderem auch die Benutzerdaten verwaltet werden. - Die Kommunikation zwischen Windows Client und Domain Controller ist im Server Message Block (SMB) Protokoll geregelt. - Dabei kann das Server Message - Das Programm Cain & Abel kann beispielsweise den Netzverkehr mitschneiden |
|
Wie werden die Passwörter unter Unix gespeichert und wie werden Wörterbuchangriffe verhindert? |
- Unter UNIX stehen die Benutzer-Kennung und die Hash-Werte der Passwörter in der Datei /etc/passwd. - Diese Datei darf jeder lesen. - Um einen Wörterbuchangriff auf die Paßwörter zu verhindern, werden die Hash-Werte der Paßwörter heute in einer getrennten Datei, der sogenannten Shadow-Datei gespeichert. - Sie kann nicht mehr von jedem gelesen werden. |
|
Was ist ein buffer Overflow? |
- Dabei ist in einem Programm ein Speicherbereich fester Größe definiert, in den dann Daten ohne Längenprüfung geschrieben werden. - Sind diese Daten länger als der Speicherbereich, so werden andere Teile des Speichers überschrieben. |
|
Welche Fehler können durch Buffer Overflow auftreten? |
- Programmabsturz - Ausführen anderen Programmcodes - Modifikation von Daten |
|
Wie kann ein Programmabsturz durch Buffer Overflow verursacht werden? |
- Falls der überschriebene Bereich binären Programmcode enthielt, der nun durch andere Zeichen überschrieben wurde, so ist die - In diesem Fall stürzt das Programm einfach ab, sobald der Code im überschriebenen Bereich ausgeführt wird |
|
Wie kann andere Programmcode durch Buffer Overflow ausgeführt werden? |
- Falls der Angreifer eigenen gültigen Maschinencode an die Stelle des bisherigen Codes setzt, dann wird dieser neue Maschinencode ausgeführt. - In diesem Fall tut das Programm etwas anderes als es normalerweise machen würde |
|
Wie kann Daten durch Buffer Overflow modifiziert werden? |
An der Stelle, an der der Speicherüberlauf auftritt, können auch Daten stehen, die verändert werden und dann zu inkonsistentem Verhalten des Programms führen oder falsche Ausgaben des Programms erzeugen. |
|
Was ist URL-Hacking? |
- Ausnutzung kleiner Flüchtigkeitsschreibfehler bei der Eingabe einer URL - Angreifer registriert Domain-Namen mit leichten Abwandlungen bekannter Internetseiten - DNS-Server liefert eine andere IP-Adresse und der Benutzer wird auf eine gefälschte Seite umgeleitet - So kann Angreifer vertrauliche Daten erfahren |
|
Wie können Suchmaschinen manipuliert werden? |
- Möglichst viele Besucher sollen auf eine Internetseite gelockt werden - Seite soll bei möglichst vielen Suchmaschinen möglichst weit oben stehen - Dazu müssen bestimmte Schlüsselwörter auf der Seite vorkommen. - Die Suchmaschine indiziert diese Schlüsselwörter und bewertet die Seite entsprechend. - Ruft ein Benutzer die Seite im Browser dann auf, so findet er keines der Schlüsselwörter mehr, sondern etwas völlig anderes. |
|
Was können die Gründe sein, dass eine Suchmaschine eine Internetseite mit falschen Schlüsselwörtern indiziert? |
das Schlüsselwort • Schlüsselwort kommt auf Seite vor, wird aber in anderem Zusammenhang verwendet |
|
Was sind Phishing-Angriffe? |
- Ein Angreifer baut die HTML-Seiten, z.B. einer Bank, realistisch Phishing-Angriffe und echt aussehend auf seinem Server nach. - Für seinen Server registriert der - Nun verschickt der Angreifer massenhaft Emails, um Benutzer auf seine Seite zu locken. - Dabei gibt es sich als Bank aus |
|
Inwieweit können Benutzereingaben gefährlich sein? |
- Viele Rechner sind gefährdet, wenn sie Benutzereingaben übernehmen und - Böswillige Benutzer könnten dann Eingaben machen, die die Programmierer so nicht erwartet haben. - Wenn diese Eingaben dann verarbeitet werden, können Sicherheitsprobleme entstehen. |
|
Inwieweit kann die Eingabe von HTML-Code durch den Benutzer gefährlich sein? |
- In HTML-Seiten können aktive Inhalte integriert sein. - Diese aktiven Inhalte bergen einige Sicherheitsrisiken - Angreifer kann aktive Inhalte in einer Formular eingeben (JavaScript, Applet-Code usw.) - Diese werden dann bei anderen Benutzern angezeigt und ausgeführt (z.B. in einem Gästebuch) |
|
Was ist SQL-Injection? |
- Anwendung baut aus Eingaben des Benutzers die SQL-Anweisung selbst zusammen - Angreifer kann durch Eingabe von Hochkomma und Strichpunkt die SQL-Anweisung vorzeitig beenden - Dann kann er eine SQL-Anweisung eingeben, mit welcher die Datenbank manipuliert werden kann - Angreifer muss jedoch den Aufbau der Datenbank (Spaltennamen usw.) kennen - Durch Falscheingabe und Auswertung der resultierenden Fehlermeldungen kann er jedoch Schlüsse darauf ziehen |
|
Welche Gegenmaßnahmen gegen SQL-Injection gibt es? |
- Grundsätzlich Benutzereingaben immer misstrauen - Durchsuchen der Eingabe nach gefährlichen Zeichen und Ersetzen durch ungefährliche Alternativen - Nur bestimmte Zeichen (reguläre Ausdrücke) in der Eingabe zulassen |
|
Wie kann SQL-Injection in Java vermieden werden? |
- djurch PreparedStatements - Nur an bestimmten Stellen dürfen Benutzereingaben auftauchen. - Es wird geprüft, ob die Eingaben die Struktur der Anweisung verändern oder nicht |
|
Mit welchen Programmklassen kann die Sicherheit eines Systems getestet werden? |
1. Host Scanner untersuchen einen einzelnen Rechner und testen beispielsweise die Rechtevergabe sowie Stärke der Passwörter. |
|
Welche Punkte untersucht ein Host Scanner? |
- Zugriffsrechte auf Dateien - Besitzer von Dateien - Unbefugte Modifikationen - Inhalt von Konfigurationsdateien - Softwareversionen |
|
Warum können die Zugriffsrechte auf Dateien ein Sicherheitsproblem darstellen? |
- Leserechte für zu viele Benutzer - Wörterbuchangriff benötigt Zugriff auf Passwortdatei - Falls diese Datei mit Leserechten für alle Benutzer versehen ist, kann dieser Angriff Erfolg |
|
Warum können die Besitzer auf Dateien ein Sicherheitsproblem darstellen? |
- Falls eine Datei einem falschen Besitzer oder einer falschen Gruppe zugeordnet ist, kann ein Angreifer diese Datei unberechtigt lesen oder verändern. - Ausführbare Dateien mit dem SUID-Bit - So kann ein normaler Benutzer auf die - Statt dessen ist das Programm, das die - Das Programm gehört dem Administrator und läuft daher mit dessen Rechten. - Ein Angreifer könnte nun versuchen, sein Programm mit gesetztem SUID-Bit dem Benutzer root zuzuordnen. - Dieses Programm enthält eine Schadens-Funktion und würde, egal von welchem Benutzer es gestartet wird, immer die Zugriffsrechte von root haben und könnte die Schäden dann auch immer anrichten. |
|
Wie kann ein Host Scanner unbefugte Modifikationen feststellen? |
- Prüft die Integrität von Dateien - Mit Hilfe von digitalen Signaturen können Veränderungen entdeckt und evtl. auch rückgängig gemacht werden. |
|
Wie kann ein Host Scanner die Inhalte von Konfigurationsdateien prüfen? |
- Problem: vorkonfigurierte Standardbenutzer mit Standardpasswörtern - Konfiguration sollte daher bei Softwareaktualisierungen immer mitgeprüft werden |
|
Warum sollte ein Host Scanner die Softwareversionen überprüfen? |
- In aktueller Software wurden bekannte Sicherheitsprobleme behoben - Ein Host Scanner kann prüfen, ob Programme mit bekannten Schwachstellen auf dem System installiert sind. |
|
Was ist ein Netzwerkscanner? |
- überprüft installierte und freigeschaltete Netzdienste - Dienste werden auf Konfigurationsprobleme geprüft |
|
Was ist eine Hintertür? |
erlaubt es einem Angreifer, das erfolgreich |
|
Welche Ziele kann ein Angreifer beim Einrichten einer Hintertür verfolgen? |
1. Aussperren weiterer Angreifer. Sie könnten den ersten Angreifer bei der Benutzung des Systems behindern oder möglicherweise durch unbedachte Aktionen den Administrator des Systems auf den erfolgreichen Angriff |
|
Welche Möglichkeiten zur Installation einer Hintertür gibt es? |
- Normale Fernzugangswege - User Mode Rootkits - Kernele Mode Rootkits |
|
Wie funktioniert die Installation einer Hintertür über normale Fernzugangswege? |
- Verwendung von SSH, VNC oder Remote Desktop - Angreifer braucht nur Benutzerkennung und kann die Dienste nutzen - Ein neu eingerichteter Benutzer oder neu installierte Software sollte Administrator auffallen |
|
Was sind User Mode Rootkits? |
- beziehen sich auf Änderungen im Benutzeraddressraum (engl. user address space). - Somit sind von diesen Änderungen immer nur einzelne Prozesse (konkret deren Adressraum) betroffen, nicht das System als Ganzes. - Obwohl im Benutzeradressraum angesiedelt, betreffen diese Rootkits Aufrufe von Betriebssystemfunktionen (engl. system calls) |
|
Warum betreffen User Mode Rootkits Betriebssystemaufrufe? |
- Viele system calls sind in nachladbaren Bibliotheken (engl. library) realisiert. - Bei Windows heißen sie Dynamical ly Loaded Library (DLL). - Ruft ein Programm so eine Funktion auf, so muß die Bibliothek ins RAM geladen werden, und dann wird die Adresse der Funktion angesprungen. - In jeder Bibliothek steht dazu am Anfang eine Art Inhaltsverzeichnis, aus dem hervorgeht, welche Funktion an welcher Adresse in der Bibliothek steht. |
|
Was tut ein User Mode Rootkits? |
- Ein User Mode Rootkit setzt sich selbst an die Stelle so einer Bibliothek oder modifiziert einfach die ins RAM geladene Bibliothek. - Das hat zur Folge, dass die Benutzerprogramme nun bei einem Systemaufruf nicht mehr die - Die Funktion aus dem Rootkit ruft dann seinerseits die Originalfunktion auf, führt dann beliebige Veränderungen durch und gibt die - Der Benutzer merkt also nicht, dass einige zusätzliche Prozesse laufen - Bevor die Rootkitfunktion die Eingaben an das Benutzerprogramm leitet, untersucht es die Eingaben, speichert sie gegebenenfalls, und sendet sie irgendwie an den Angreifer. |
|
Wie können Rootkits erkannt werden? |
- Wird die Bibliothek wieder aus dem RAM entfernt, so ist auch die Rootkitfunktion entfernt. - Möchte der Angreifer dies verhindern, so müsste er die DLL-Datei auf der Festplatte modifizieren. - Der Administrator eines Systems kann - Ändern sich DLL-Dateien oder kommen neue hinzu, so könnte es sich hier um ein Rootkit handeln. - Leider benutzen sehr viele Programme die Technik der nachladbaren Bibliotheken. - Auf einem normalen Windows-System gibt es sehr viele DLL-Dateien, und es ist nicht einfach, dort den Überblick zu behalten. |
|
Wie funktionieren Kernel Mode Rootkits? |
- Diese Art von Schadprogrammen setzt im Kern des Betriebssystems an. - Die Änderungen erfolgen direkt im - In Windows-Systemen gibt es eine Tabelle mit den Adressen der Betriebssystemfunktionen (engl. System Service Descriptor Table (SSDT)). - Gelingt es einem Rootkit, die dort stehenden - Alle auf dem Rechner laufenden Prozesse greifen auf den Betriebssystem-Kernel zu. - Also sind automatisch alle Prozesse vom Rootkit betroffen |
|
Wie können sich Kernel Mode Rootkits verstecken? |
- Da Dateizugriffsfunktionen ebenso wie die hardwarenäheren Funktionen zum Zugriff auf Sektoren von Festplatten über Systemfunktionen abgearbeitet - Egal welches Programm den Sektor der Festplatte lesen will, in dem das Rootkit gespeichert ist, immer wird dazu eine Rootkitfunktion aufgerufen. - Wenn die dann lauter Nullen als |
|
Welche Angriffstypen gibt es bei Angriffen auf Verschlüsselung? |
- Ciphertext only Angriffe - Known Plaintext Angriffe - Chosen Plaintext Angriffe - adaptive chosen plaintext Angriffe - Chosen Ciphertext Angriff - Chosen Key Angriff - Kryptoanalyse mit Gewalt |
|
Was sind Ciphertext Only Angriffe? |
- Hierbei steht dem Angreifer nur eine oder mehrere verschlüsselte Nachrichten zur Verfügung. - Diese kann der Angreifer beispielsweise durch Abhören des Übertragungskanals erfahren haben. - Weiterhin sollte man davon ausgehen, dass dem Angreifer auch der Algorithmus selbst bekannt ist. - Diese Klasse von Angriffen besteht im wesentlichen aus Wörterbuch Angriffen und aus statistischen Angriffen. - Hierbei versucht man mit Hilfe von statistischen Methoden oder Methoden der Wahrscheinlichkeitsrechnung Erfolg zu haben - Wichtig für den Erfolg dieser statistischen Verfahren ist allerdings, dass genügend Geheimtext zur Verfügung steht. |
|
Was sind Known Plaintext Angriffe? |
- der Angreifer kennt nicht nur den Geheimtext, sondern er befindet sich im Besitz einiger bekannter Paare von Klartext und Geheimtext. - Dies kann bei Blockverschlüsselung beispielsweise dadurch geschehen, dass der Angreifer den Inhalt einiger Klartext-Blöcke - Falls der Quellcode eines JAVA-Programms (von einer bestimmten Firma) verschlüsselt wurde, so sind die ersten Zeilen der Datei häufig durch eine allgemein bekannte Copyright Information bestimmt. - Bei der Blockverschlüsselung dieser Datei sind also die ersten Blöcke im Klartext und im Geheimtext bekannt. - Mit Hilfe dieser Informationen kann ein Angreifer bestimmte Muster zwischen Klartext und Geheimtext untersuchen und möglicherweise wiedererkennen. - Diese Muster können Aufschluss über den benutzten Schlüssel geben. |
|
Was sind Chosen Plaintext Angriffe? |
- der Angreifer hat die Möglichkeit, bestimmte Klartexte verschlüsseln zu lassen. - Diese Klartexte kann der Angreifer nun so wählen, dass sie Muster enthalten, die nach der Verschlüsselung Informationen über den Schlüssel preisgeben. |
|
Was sind adaptive chosen plaintext Angriffe? |
-Erweiterung der Chosen Plaintext Angriffe - der Angreifer kann auf den Ergebnissen seiner bisherigen Analyse immer wieder andere Klartexte zur Verschlüsselung auswählen. - Im einfachen Fall würde man sich - Dann analysiert man die Klartext/Geheimtext Paare. - Bei den adaptive chosen plaintext An- |
|
Was ist Kryptoanalyse mit Gewalt? |
Hier versucht der Angreifer von jemandem, der den Schlüssel kennt, die Preisgabe dieses Geheimnisses zu erzwingen |
|
Was sind Chosen Ciphertext Angriffe? |
Hier kann der Angreifer verschiedene Geheimtexte erstellen und die zugehörigen entschlüsselten Klartexte analysieren |
|
Was sind Chosen Key Angriffe? |
Hier benutzt der Angreifer Informationen über die Schlüssel, die er vorgeben kann. |
|
Was sind Brute Force Angriffe? |
Die Idee von Brute Force Angriffen besteht darin, systematisch (mit „roher Gewalt“) alle möglichen Schlüssel zu testen |
|
Welche Schutzmaßnahmen gibt es gegen Brute Force Angriffe? |
- Langer Schlüssel - Sperren des Zugangs nach einer gewissen Anzahl an Fehlversuchen - Verzögern der Überprüfung. Wird der Test des Schlüssels vom angegriffenen System selbst vorgenommen, so kann das System nach jedem Fehlversuch eine größer werdende Wartezeit einlegen. Der nächste Test-Schlüssel würde dann vom Angreifer zwar sehr schnell generiert werden, würde vom angegriffenen System aber immer langsamer überprüft - Einsatz eines Intrusion Detection Systems. - Vergrößerung des Schlüsselraums. Je mehr verschiedene Schlüssel mögliche und gültige Schlüssel sind, desto größer wird der Aufwand, jeden Schlüssel auszuprobieren |
|
Wie funktioniert die lineare Kryptoanalyse? |
- Sei Ri ein Bit aus dem Klartext und Yj ein Bit aus dem Geheimtext - Man versucht einen linearen Ausdruck zu konstruieren (Form siehe Bild) - Gesucht werden Indizes, so dass für möglichst viele Klartext/Geheimtext-Kombinationen der obige Ausdruck wahr ist. - Wählt man die Ri und Yj Bits zufällig - Diesen Ausdruck wertet man nun für viele Klartext (Ri) und Geheimtext (Yj) Paare aus. - Bei einem starken Algorithmus erwartet man - Findet man allerdings eine Kombination von Indizes, so daß die Wahrscheinlichkeit für das Auswertungsergebnis „wahr“ deutlich von 0.5 abweicht, so lässt dies Rückschlüsse auf den Schlüssel zu - Index-Kombinationen findet man durch genauere Betrachtung der Funktion F in Verschlüsselungsrunde - Im Fall von DES enthält sie als einzige nicht-lineare Komponente die S-Boxen - Für jede S-Box versucht man nun einen - Dazu wertet man einfach alle Ein/Ausgabe-Kombinationen für die S-Boxen aus. - Die gefundenen Ausdrücke für die einzelnen Runden werden anschließend kombiniert. - Dabei nutzt man aus, daß der Geheimtext (Ausgabe) der ersten Runde der Klartext (Eingabe) der zweiten Runde ist - Man sucht daher Ausdrücke, in denen sich die Zwischenergebnisse eliminieren - Somit kann man (hoffentlich) Ausdrücke gene- |
|
Wie funktioniert die differentielle Kryptoanalyse? |
- ein chosen plaintext Angriff - Der Angreifer generiert verschiedene Klartexte, verschlüsselt diese mit dem Algorithmus und - Die Idee bei diesem Angrffff ist, daß der Angreifer nicht willkürlich Klartexte wählt, sondern Klartexte die sich sehr ähnlich sind. - Sehr ähnliche Klartexte unterscheiden sich nur an wenigen Stellen. - Nach der Verschlüsselung vergleicht man die Geheimtexte und untersucht, an welchen Stellen sich die Geheimtexte unterscheiden. - Auch hier sucht man wieder nach ungewöhnlichen Häufigkeiten - Konkret vergleicht man jedes Bit und erhält an den Stellen eine 1 im Ergebnis, an denen die Bits verschieden sind. Alle anderen bleiben 0 - Die Wahrscheinlichkeit, dass bei zwei zufällig ausgewählten Blöcken R' und R'' ein vorgegebener Differenzwert ∆R entsteht, ist gerade 2−n. - Bei der differentiellen Kryptoanalyse untersucht man Klartext-Paare R' und R'' - Sehr groß bedeutet in diesem Fall deutlich größer als die erwartete Wahrscheinlichkeit von 2−n. - Auch bei der differentiellen Kryptoanalyse werden die Runden zunächst einzeln angegriffen. Anschließend werden die Ergebnisse kombiniert. - Die ursprüngliche Eingabe ist ein ∆X, das ein spezielles ∆Y nach der ersten Runde produziert. - Das ist dann die Eingabe der zweiten Runde, die wieder ein spezielles ∆Y' produziert, usw. |
|
Wie sieht ein naiver Algorithmus aus, um eine Zahl in ihre Primfaktoren zu zerlegen? |
- probiert einfach nacheinander die einzelnen Teiler aus. - Hat der Algorithmus keine Zahl kleiner als die Quadratwurzel der zu prüfenden Zahl gefunden, dann muß die Zahl prim sein. - Der Aufwand hierfür ist daher - In der bekannten O-Notation ist die Kom- - n ist die Zahl selbst. - Wählt man nun diese Zahl sehr groß, so wächst der Aufwand exponentiell in der Zahl der Stellen der Zahl n - Bisher sind keine Algorithmen bekannt, die in weniger als exponentiellem Aufwand eine beliebige gegebene Zahl in ihre Primfaktoren zerlegen können |
|
Wann ist eine Zahl sehr einfach in ihre Primfaktoren zerlegbar? |
Zahlen mit bestimmten Eigenschaften, z.B. Zahlen der Form 2 * p, wobei p eine Primzahl ist |
|
Wie funktioniert der Quadratic Sieve Algorithmus? |
- Die Idee dieses Algorithmus besteht darin, dass man zunächst zwei Zahlen x und y sucht, die die Eigenschaften aus dem Bild haben. - zunächst wird nach Quadratzahlen gesucht wird, die größer als n sind. - Dann wird getestet, ob x2 - Falls ja, dann ist √x2 − n = y das gesuchte y. - Mit dem Euklid’schen Algorithmus wird dann der ggT berechnet - zunächst wird eine Menge von potentiellen Kandidaten xi erstellt. - Diese Menge - Aus ihr werden dann diejenigen Werte mit der oben |