Technische Angriffe Flashcards

1
Q

Erläutern Sie in Stichpunkten den Ablauf von DoS- und DDoS-Angriffen und zeigen Sie
wirksame Gegenmaßnahmen auf

Aufgabe 9: (T)

A
  • DoS: Denial of Service Attacke versucht Zielsystem oder Netzwerk für berechtigte Anwender unbenutzbar zu machen (Überlastung, Herbeiführen von Fehlersituationen, Ausnutzen Programmfehler).
  • DDoS: Distributed Denial of Service verwendet DoS-Werkzeuge, die auf mehrere Maschinen verteilt werden und auf Kommando eines Masters den DoS-Angriff durchführen
  • wirksame Gegenmaßnahmen: Overprovisioning / Load Balancing, Überwachung offener Ports, Sicherheitsupdates regelmäßig/zeitnah einspielen, Monitoring & Anomaly-based Intrusion Prevention (Überschreitung Schwellenwerte, Verhältnis ein-/ausgehendes Datenvolumen), Blackholing / Null route → „burn the village in order to save it“
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Erläutern Sie konkret die Funktionsweise von SYN-Cookies und zeigen Sie, wie dadurch
SYN-Flooding Attacken vermieden werden können!

Aufgabe 9: (T)

A
  • TCP verwendet 3-Way-Handshake zum Verbindungsaufbau
  • Mallet unterschlägt letzte ACK-Nachricht
  • Sever wartet je nach OS auf Antwort & verschiebt ACK in Speicher
  • “Halboffene” TCP-Verbindungen so lange aufbauen, bis Bobs Speicher voll

Einsatz von SYN-Cookies
1. Client sendet SYN
2. Server antwortet mit SYN-ACK, aber speichert keinen
Eintrag in SYN-Queue

Verwendung spezieller Sequenznummer:
→ Bits 01-05: Timecounter t mod 32, der alle 64 Sekunden erhöht wird
→ Bits 06-08: MSS (maximum segment size)
→ Bits 09-32: Cryptohash über Client und Server Sockets (IP + Port) und t
* Client antwortet mit ACK (Sequenznummer + 1)
* Server vergleicht (Sequenznummer -1) mit erneut gebildetem Cryptohash

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Welche Nachteile haben SYN-Cookies?

Aufgabe 9: (T)

A
  • Nur acht mögliche Werte für MSS (maximum segment size)
  • Server muss Verbindungsrequests, die bestimmte TCP-Options (z.B. selective ACKs, TCP Window Scaling) enthalten ablehnen
  • Berechnung von Cryptohashfunktion kostet zusätzlich Rechenzeit
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Nach welchem Grundprinzip arbeitet Ransomware? Welche Ziele werden damit verfolgt?

Aufgabe 10: (T)

A
  • Krypto-/Erpressungstrojaner
  • Verschlüsselung „aller“ Dateien des Rechners des Opfers
  • i.d.R. Ausbreitung im lokalen Netz
  • IT-Systeme und gespeicherte Daten werden für den Anwender unbrauchbar gemacht
  • Einblenden einer Lösegeldforderung (Erpressung)
  • Entschlüsselung/Wiederherstellung mit (vermeintlich verfügbaren) Schlüssel
  • Oftmals werden explizit auch Backups gesucht und verschlüsselt

Advanced
* Vor der „bloßen“ Verschlüsselung (DoS) wird zuvor unbemerkt ausspioniert und Daten geleakt.
* Doppeltes Druckmittel: DoS + Leak vertraulicher Daten
* Grund für Sichtung der Daten durch Angreifer: „Fairness“: Höhe der Lösegeldforderung den verschlüsselten Daten anpassen ;)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Wie lassen sich von Ransomware betroffene Systeme wiederherstellen? Sollte man das Ransom zahlen?

Aufgabe 10: (T)

A
  • Einspielen von Backups oder frisches Aufsetzen der Maschinen / Infrastruktur
  • Kann Monate dauern (währenddessen man nicht / nur eingeschränkt arbeiten kann)
  • Zahlen des Ransoms (und hoffen)?
  • Keine Garantie, dass entschlüsselt wird
  • Geschäftsmodell der Angreifer wird gefördert
  • USA wollen das Bezahlen von Ransom in Kryptowährung
  • (demnächst) sanktionieren -> Zerstören des Geschäftsmodells der Angreifer oder Zwickmühle für Opfer?
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Wie kann man sich gegen Ransomware schützen?

Aufgabe 10: (T)

A
  • Regelmäßig Backups erstellen (und schützen)
  • Einfallstore schließen: Anti-Phishing, Anti-Virus, Anti-… (-> Siehe auch: Endpoint Detection and Response)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Erläutern Sie den Zusammenhang oder Unterschied zwischen einem Trojanischen Pferd und
– einer Backdoor
– mobile Code

Aufgabe 12: (H)

A
  • Ein Trojanisches Pferd ist als nützliches Programm getarnt und wird vom Benutzer installiert
  • Eine Backdoor erlaubt einem Angreifer eventuell direkt Zugriff auf ein System
  • Mobile code wird auf einem entfernten Rechner generiert, meist in Webseiten, E-Mails oder Dokumenten eingebettet und lokal auf dem Client ausgeführt
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wie unterscheidet sich ein Rootkit von anderer Malware, z.B. Viren, Würmer und Trojanischen Pferden?

Aufgabe 17: (T)

A

Rootkits…
* verbreiten sich nicht, wie z.B. Würmer, automatisch weiter.
* führen keinen Massenversand von Spam oder (D)DoS durch.
* stellen verdeckten Zugang zu einem System bereit.
Allerdings in der Praxis oft keine klare Abgrenzung möglich.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

In der Vorlesung wurden drei verschiedene Arten von
Cross-Site-Scripting (XSS) vorgestellt.
Welche der Varianten besitzt das höchste Bedrohungspotential?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Zum Schutz vor XSS existieren verschiedene Maßnahmen, welche einen Angriff verhindern oder dessen Auswirkungen verringern sollen. Beschreiben Sie kurz die folgendenTechniken:

A

▪ Eingabevalidierung
▪ Content Security Policy (CSP)
▪ HTTPonly

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Nennen Sie zwei Faktoren im Angreifermodell

2011

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Offene DNS-Resolver sind IT-Serversysteme, die für so genannte Amplification Attacks anfällig sind. Erläutern Sie kurz und in Stichpunkten drei Grundprinzipien dieses Angriffstyps!

2021

A

Ablauf: Vorbereitung
- Mallet präpariert Eintrag Y (zB großes TXT-Feld) auf Server A
- Frage an Server Xi nach Y
- Alle Server Xn haben Eintrag Y auf Anfrage bereit
Ablauf: Ausführung
- viele kleine (~60 Byte) UDP-Pakete mit gefälschter/Opfer IP an DNS-Server
- Wegen Verstärkungsfaktor ~50 riesige Antwort an Alice

  1. Ein Angreifer sendet eine Anfrage an einen offenen DNS-Resolver, die eine viel größere Antwort auslöst als die ursprüngliche Anfrage.
  2. Der offene DNS-Resolver liefert die Antwort an die IP-Adresse des Angreifers weiter, die als Absender in der Anfrage angegeben wurde.
  3. Der Angreifer kann das Netzwerk des Zielsystems mit der verstärkten Antwort überfluten, was zu einer Denial-of-Service-Attacke (DoS) führt.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Geben Sie, bezogen auf den DNS-Amplification-Angriff aus Teilaufgabe 2.1, zwei Möglichkeiten an, wie Unternehmen ihre Server effektiv vor solchen Angriffen schützen bzw. diese abwehren können

2021

A
  1. Unternehmen können das Routing der DNS-Anfragen kontrollieren und verhindern, dass Anfragen an offene DNS-Resolver weitergeleitet werden.
  2. Unternehmen sollten sicherstellen, dass sie eine Firewall einsetzen, die unerwünschte DNS-Anfragen erkennt und blockiert.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

DNS Amplification Attack
A: Verwendet ICMP
B: Erhöht die Netzlast
C: Man muss sich im selben Netz wie der Zielrechner befinden

2015

A

A und B

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

SYN-Flooding
A: SYN in http-Anfragen werden kaputte Webserver angegriffen
B: Server der in einem Paket mehrere SYN-Flags gleichzeitig setzt
C: Angreifer manipuliert die SYN-Cookies
D: Angreifer verbraucht die Ressourcen des Opfers durch ganz viele halboffene TCP-Verbindungen

2015

A

B und D

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Was sind charakteristische Eigenschaften des SYN-Flooding-Angriffs?
A: Der Angreifer scannt mit gespoofter Quell-IP-Adresse nach Servern, die bei ihrer Antwort zu viele SYN-Flags im IP-Header setzen.
B: Der Angreifer verändert den Hashwert von SYN-Cookies und schickt diese wiederholt zum Zielsystem.
C: Der Angreifer baut X-SYN-Header in HTTP-Anfragen ein, um falsch konfigurierte Webserver zu überlasten.
D: Der Angreifer baut so viele sog. halb-offene Verbindungen zum Zielsystem auf, bis dessen Ressourcen erschöpft sind.

2021

A

D

17
Q

Was hilft nicht gegen einen Internet Wurm
A: Zentrales Logging
B: Starke Passwörter
C: Bugfixes

2021

A

A, B

18
Q

Schadcode hat charakteristische Eigenschaften. Wie unterscheidet sich ein Virus von einem Wurm?
A: Viren können sich durch Selbstverschlüsselung tarnen, Würmer nicht.
B: Ein Wurm ist zwingend auf ein Wirtssystem bzw. Interaktion mit dem Nutzer angewiesen.
C: Ein Rechner kann mit mehreren Viren infiziert sein, aber maximal mit einem Wurm.
D: Ein Wurm ist selbständig lauffähig.

2021

A

A, C und D.

19
Q

Mit welchen der folgenden Sicherheitsmaßnahmen versuchen Unternehmen, erfolgreiche Brute-Force-Angriffe auf ihre System und Applikationszugänge zu verhindern?
A: Beschränkung der maximalen Loginversuche je Nutzer je Zeiteinheit. X
B: Intrusion Detection Systeme. X
C: Multi-Faktor-Systeme, z.B. RSA Token, Yubikeys, … X
D: Mandatory Access Control Lists. X

2021

A

A, B, C, D

20
Q

Angenommen ihre Attacke aus Teilaufgabe 3.4 (Ransomware per Phishing andrehen) verlief tatsächlich an einer Stelle erfolgreich. Beschreiben Sie, wie sich aktuelle Ransomware in einem Unternehmen weiter verbreitet.

2021

A

Nachdem ein Benutzer durch einen erfolgreichen speziellen Phishing-Angriff eine Ransomware erhalten hat, wird der Schadcode des Ransomware-Programms auf dem lokalen Computer des Benutzers ausgeführt. Wenn ein Benutzer ein Ransomware-Programm auf seinem Computer ausführt, wird es versuchen, auf andere Computer im Netzwerk zuzugreifen und die Ransomware auch auf diese Computer zu installieren. Es kann auch versuchen, Dateien auf anderen Computern zu löschen oder zu verschlüsseln. Wenn die Ransomware erfolgreich auf andere Computer im Netzwerk übertragen wurde, kann sie sich weiter verbreiten und so das ganze Netzwerk infizieren. Dies kann dazu führen, dass das gesamte Netzwerk lahm gelegt wird und dass alle Netzwerkressourcen verschlüsselt oder gelöscht werden.

21
Q

Was versucht ein Angreifer bei einbem stack smashing buffer overflow gezielt zu überschreiben?

2011

A

Bei einem stack smashing buffer overflow versucht ein Angreifer, den Inhalt des Stacks zu überschreiben, indem er mehr Daten als im Puffer vorgesehen eingibt. Der Angreifer kann versuchen, die Einstiegspunkte der Rücksprungadressen zu überschreiben, sodass der Code des Angreifers anstelle des ursprünglichen Programms ausgeführt wird. Damit kann der Angreifer die Kontrolle über das System erlangen.

22
Q

Erklären sie eine return-to-libc bufferoverflow. Geben Sie auch ein Beispiel, mit welcher Funktion ein Angreifer das Ausführen einer Shell realisieren kann

2011

A

Eine return-to-libc buffer overflow Attack ist eine Art von Angriff, bei dem ein Angreifer versucht, die Kontrolle über ein System zu erlangen, indem er die Rücksprungadresse des Stacks überschreibt, um eine Funktion zu einer Bibliothek zu springen, die vom System verwendet wird. Ein Beispiel hierfür ist die Funktion system(), die in der C-Bibliothek enthalten ist. Mit system() kann ein Angreifer eine Shell öffnen und Befehle ausführen, indem er den Befehl als Parameter an system() übergibt.

23
Q

(void) copy_user_data(char[] user_data){
char[20] copy_data;
strcopy(copy_data, user_data);
}
Beschreiben Sie, wie man diesen Code vor einem Bufferoverflow schützen kann

2011

A

Um diesen Code vor einem Buffer-Overflow zu schützen, kann man die strcopy() Funktion durch eine sicherere Version wie strncpy() ersetzen. strncpy() erfordert einen zusätzlichen Parameter, der die Größe des Zielpuffers angeben muss. Dadurch wird sichergestellt, dass nur eine feste Anzahl von Zeichen kopiert werden kann, die kleiner als die Größe des Zielpuffers ist. Dadurch wird verhindert, dass mehr Daten als erlaubt kopiert werden.

24
Q

Welche Methoden werden vom Betriebssystem, Compilern, etc. bereitsgestellt, um buffer overflows zu verhindern. Nennen und erklären Sie zwei.

2011

A
  1. Stack Canaries: Stack Canaries sind Sicherheitsfunktionen, die vom Compiler verwendet werden, um stack-smashing-Angriffe zu verhindern. Sie werden vor jeder Rücksprungadresse auf dem Stack platziert und ändern sich jedes Mal, wenn ein Programm ausgeführt wird. Wenn der Stack-Canary überschrieben wird, bedeutet dies, dass ein Angriff stattgefunden hat, und das Programm wird abgebrochen, bevor es ausgeführt werden kann.
  2. Address Space Layout Randomization (ASLR): Address Space Layout Randomization ist eine Sicherheitsmaßnahme, die vom Betriebssystem bereitgestellt wird, um Angriffe auf das Programm zu verhindern. ASLR verschiebt den Speicherort von Programmcode und Daten in zufällige Speicheradressen, so dass Angreifer nicht wissen, wo sie ihren Schadcode einschleusen sollen.
25
Q

meinCopy(input) {
char output[64];
strcpy(output, input);
printf(“%s\n”, output);
return 42;
}

main(args…) {
char input[0+815];
gets(input);
meinCopy(input);
}

Beschreiben, wo Buffer Overflow auftreten kann bzw. wie dieser sich auswirkt.

2015

A

In diesem Code kann ein Buffer-Overflow auftreten, da die Eingabe des Benutzers durch die gets() Funktion nicht auf die Größe des Puffers überprüft wird. Wenn der Benutzer mehr als 64 Zeichen eingibt, werden die Daten in den Stack geschrieben und können die Rücksprungadresse des Programms überschreiben, was zu einem Programmabsturz führen kann.

26
Q

Muss die Rücksprungadresse relativ oder absolut angegeben werden? Warum ist das Ziel bei einem Stack-Smashing-Angriff die Rücksprungadresse?

2015

A

Die Rücksprungadresse muss absolut angegeben werden, da sie eine bestimmte Speicheradresse anzeigt, an die das Programm zurückspringen soll.

Bei einem Stack-Smashing-Angriff versucht ein Angreifer, die Rücksprungadresse auf dem Stack zu überschreiben, um den Code des Angreifers anstelle des ursprünglichen Programms auszuführen. Dadurch kann der Angreifer die Kontrolle über das System erlangen.

27
Q

Wie ist ASLR effektiv?

2015

A

Dies ist effektiv, da Angreifer keine Informationen über die Adresse haben, an der sie ihren Schadcode einschleusen können, wodurch ein erfolgreicher Angriff verhindert wird.

28
Q

Was passiert typischerweise, wenn die falsche Rücksprungadresse angegeben wurde?

2015

A

Wenn die falsche Rücksprungadresse angegeben wurde, wird das Programm nicht in der erwarteten Weise ausgeführt. Stattdessen wird es möglicherweise abstürzen oder der Angreifer kann den Code des Angreifers ausführen, was dazu führen kann, dass das System kompromittiert wird.