Software Exploitation - Cheatsheet.pdf

Software Exploitation - Cheatsheet
Software Exploitation - Cheatsheet Einführung in Bedrohungs- und Risikoanalyse Definition: Grundlegende Einführung in Methoden zur Identifikation und Bewertung von Bedrohungen und Risiken in der Softwareentwicklung. Details: Bedrohungsanalyse: Identifikation potenzieller Angreifer, Schwachstellen und Angriffsvektoren. Risikobewertung: Einschätzung der Wahrscheinlichkeit und Auswirkungen potentiell...

© StudySmarter 2024, all rights reserved.

Software Exploitation - Cheatsheet

Einführung in Bedrohungs- und Risikoanalyse

Definition:

Grundlegende Einführung in Methoden zur Identifikation und Bewertung von Bedrohungen und Risiken in der Softwareentwicklung.

Details:

  • Bedrohungsanalyse: Identifikation potenzieller Angreifer, Schwachstellen und Angriffsvektoren.
  • Risikobewertung: Einschätzung der Wahrscheinlichkeit und Auswirkungen potentieller Sicherheitsvorfälle.
  • Häufig verwendete Methoden: STRIDE, DREAD, Risiko-Matrix.
  • STRIDE: Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege.
  • R = P \times I: Risiko = Wahrscheinlichkeit \times Impact (Auswirkung).

Stack-basierte Overflow-Techniken

Definition:

Techniken zum Ausnutzen von Pufferüberläufen im Stack, um Programmfluss zu manipulieren oder Kontrolle zu erlangen.

Details:

  • Ausnutzung basiert auf Überschreiten der Puffergrenzen im Stack
  • Veränderung von Rücksprungadressen (\texttt{return addresses}) und lokalen Variablen
  • Kann zu beliebigem Code-Execution führen (Shellcode)
  • Verteidigungsmaßnahmen: Stack-Canaries, ASLR, DEP/NX

Erhöhung von Privilegien

Definition:

Technik, um höhere Berechtigungen auf einem System zu erlangen. Wird oft von Angreifern genutzt, um administrative Rechte zu bekommen.

Details:

  • Lokale und ferne Privilegien-Eskalation
  • Ausnutzung von Software-Schwachstellen (z.B. Buffer Overflow)
  • Fehlkonfigurationen und unsichere Standardeinstellungen
  • Speichermanipulation: \texttt{/etc/passwd} oder \texttt{/etc/shadow}
  • Exploits: z.B. Kernel-Exploits, Exploits für unsichere SUID-Binaries

Nutzung von Zero-Day-Exploits

Definition:

Ausnutzung von Sicherheitslücken, die dem Hersteller unbekannt sind.

Details:

  • Sicherheitslücke ohne vorhandenes Patch
  • Gefährlich, da keine Schutzmechanismen existieren
  • Hoher Schadenspotenzial und häufig von Angreifern ausgenutzt
  • Compliance-Anforderungen treffen
  • Sofortige Patching-Priorität

Sicherheitsaudit-Methoden

Definition:

Sicherheitsaudit-Methoden bewerten die Sicherheit von Software durch systematische Analyse und Prüfung.

Details:

  • Quellcodeprüfung: Manuelle oder automatische Analyse des Quellcodes auf Sicherheitslücken.
  • Penetrationstests: Simuliertes Angriffsszenario zur Identifizierung von Schwachstellen.
  • Statische Analyse: Untersuchung des Codes ohne Ausführung, z.B. mittels Code-Scans.
  • Dynamische Analyse: Prüfung von Software im Betrieb, z.B. mit Fuzzing.
  • Review und Inspektion: Manual Reviews von Code oder Design durch Security-Experten.

Techniken zur Code-Rekonstruktion und De-Obfuskation

Definition:

Techniken zur Rückführung verschleierten Codes in eine verständlichere Form

Details:

  • Statische Analyse: Code wird ohne Ausführung analysiert
  • Dynamische Analyse: Code wird ausgeführt und Verhalten beobachtet
  • Symbolische Ausführung: Abstrakten Zustände durchlaufen und analysieren
  • Dekompilierung: Bytecode zurück in Quellcode umwandeln
  • Strukturelle Mustererkennung: Identifikation von bekannten Mustern
  • Signal-based De-Obfuscation: Nutzung von Signalen aus der Codeausführung für Entschleierung

Stack Canaries und ASLR

Definition:

Stack Canaries und ASLR sind Sicherheitsmechanismen zur Erhöhung der Laufzeitsicherheit von Programmen.

Details:

  • Stack Canaries: Platzierung eines speziellen Werts (Canary) vor dem Rücksprungzeiger im Stack. Manipulation des Canaries weist auf einen Stack Overflow hin.
  • ASLR (Address Space Layout Randomization): Zufallsgenerierung der Adressen von Speicherbereichen (z.B. Stack, Heap, Bibliotheken) während des Programmstarts, um Vorhersagbarkeit der Adressen zu verhindern.

Analyse von Malware und Schadsoftware

Definition:

Analyse von bösartiger Software, um Funktionalität, Verbreitung und potenzielle Schadenwirkungen zu verstehen und zu mildern

Details:

  • Statische Analyse: Untersuchung des Quellcodes, Bytecodes oder Binärcodes ohne Ausführung
  • Dynamische Analyse: Beobachtung der Malware in einer kontrollierten Umgebung während der Ausführung
  • Reverse Engineering: Zerlegung und Untersuchung des Binärcodes, um ursprünglichen Quellcode und Funktionalitäten offenzulegen
  • Heuristiken und Signaturen: Einsatz von Mustern zur Identifizierung bekannter Malware
  • Sandboxing: Isolierte Testumgebungen zur sicheren Ausführung und Analyse
  • Verhaltensanalyse: Überwachung von Interaktionen mit dem System und Erkennung abweichender Aktivitäten
  • Tools: IDA Pro, Ghidra, OllyDbg, Wireshark, Sandboxie
  • Ziel: Schutz vor Bedrohungen, Entwicklung von Abwehrmechanismen und Verbesserung der IT-Sicherheit
Sign Up

Melde dich kostenlos an, um Zugriff auf das vollständige Dokument zu erhalten

Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.

Kostenloses Konto erstellen

Du hast bereits ein Konto? Anmelden