Visit me elsewhere:

IT-Sicherheit

  • aktive vs. passive Sicherheit
    • aktive Sicherheit: versuchen zu verhindern
    • passive Sicherheit: Folgen / Schaden minimieren
  • stets Kosten/Nutzen-basiert; Maßnahme im Vergleich zu parallelen LĂŒcken
  • Security by Obscurity: Sicherheit dadurch, dass jemand/Angreifer etwas nicht weiß.
  • Kerckhoff (zu VerschlĂŒsselung): Verfahren darf bekannt sein, nur SchlĂŒssel nicht.
  • Annahmen: Angreifer hat unbegrenztes Wissen, Zeit und Geld (->HW, SW)
    • →Ziel: möglichst viel davon ist notwendig
  • Faktor Mensch; menschliche Fehler
  • Social Engineering: Personen reinlegen („Ich bin von der IT, geben Sie mir doch mal das Passwort fĂŒr
“)
  • Es gibt immer Fehler in der SW -> Frage: wie groß deren Auswirkungen
    • =>Mehr SW nicht unbedingt besser
    • →prĂŒfen wie sinnvoll zusĂ€tzliche SW ist & keine unnötige verwenden
  • SW-QualitĂ€t -> höhere Sicherheit
  • wenige die absichern – (unbegrenzt) viele die Angreifen
    • 1 funktionierende Implementierung finden – 1 Weg damit nicht mehr funktioniert finden
    • Angreifer hat neue Perspektive -> Unerwartetes
  • Verifikation/Falsifikation: Sicherheit nicht beweisbar, -> best effort; man weiß es zu dem Zeitpunkt nicht besser
  • Angreifer-Ziel: Code-AusfĂŒhrung
  • Begriffe:
    • Informationssicherheit: Fokus auf Daten
      • Vertraulichkeit, IntegritĂ€t (und damit auch AuthentizitĂ€t), VerfĂŒgbarkeit
      • IT-Sicherheit: Fokus auf Systeme
        • VerfĂŒgbarkeit, IntegritĂ€t
      • Datenschutz: Fokus auf personenbezogene Daten
        • Vertraulichkeit
  • Wo kommen Probleme her?
    • zu viel Vertrauen gegenĂŒber Daten-Quelle (keine Eingaben-Validierung/-escapen)
      • SQL-Injection
      • XSS: Cross-Site-Scripting
        • nicht persistent: z.B. PrĂ€parierter URL-Parameter, nur Person die Link öffnet bekommt XSS-Seite
        • persistent: XSS-Code wird persistiert und damit an weitere Besucher ausgeliefert
    • PufferĂŒberlauf
    • Viren
    • mangelnde (SW-)AktualitĂ€t
    • mangelnde (SW-)QualitĂ€t: meist durch Druck wegen time-to-market, Budget, Fokus und Funktion wo anders
    • Faktor Mensch: NachlĂ€ssigkeit, mangelndes Wissen/Bewusstsein, Vertrauen
    • mehr AngriffsflĂ€che als notwendig: Berechtigungen, Funktionen
    • Verwendung eigener statt etablierter Algorithmen: (bei VerschlĂŒsselung/Verschleierung, Erzeugen von Zufallszahlen)
    • Verlassen auf eine einzige Maßnahme
    • fehlende Trennung von Daten & Code
      • Harvard-Architektur: getrennt im Speicher
      • Von-Neumann: Nicht getrennt im Speicher
  • Wo kommt Sicherheit her?
    • Maßnahmen
      • aktive Sicherheit
        • etablierte, technische Standardlösungen
          • Paketfilter Firewall
            • Firewall teilt Netzwerk in Bereiche; schafft kontrollierte ĂŒbergĂ€nge ĂŒber RegelsĂ€tze
            • filtert auf Schicht 3 (4-Schichten Modell)
              • d.h. anhand von Header Daten: Quell-IP, Quell-Port, Ziel-IP, Ziel-Port, Protokoll (z.B. TCP), Flags (bei TCP z.B. SYN, ACK, RST, FIN)
            • stateful Paketfilter: merkt sich Verbindungsstati -> d.h. keine Antwortregeln („RĂŒckweg”) notwendig und keine Angriffe mit „falschem“ Verbindungsaufbau möglich
            • Whitelist / Blacklist: 1 Regel vergessen bei Whitelist nicht schĂ€dlich und bei Fehlfunktion bemerkbar ->sicher, bei Blacklist LĂŒcke -> nicht sicher
          • Web-Application Firewall
            • arbeitet auf Schicht 4 (4 Schichten-Modell)
            • Header: Cookies, MIME-Typen
            • Inhalt (=>Filtern, VerĂ€ndern)
            • HTTP-Methode
            • URL (Pfad, Query-String)
            • ->wesentlich komplexer als Paketfilter-FW
            • ->sehr enge Abstimmung mit Applikation(en) notwendig -> Wartungsaufwand
            • =>als ErgĂ€nzung zu Paketfilter-FW
          • DMZ: Demilitarisierte Zone
          • VPN
            • Road-Warrior
            • Site2Site-Kopplung: Verbindung mehrerer Netzwerke ĂŒber ungesichertes Netz
          • Virenscanner
            • signaturbasiert: Bitmuster-Abbild aus Speicher -> Signatur-Erstellung => Bei PrĂŒfung Vergleich mit bekannten Signaturen
            • Anomalieerkennung
          • IDS/IPS; Intrusion Detection/Prevention System
          • physikalische Sicherheit
          • programmiertechnisch
            • Parametervalidierung
            • Prepared Statements
          • Patches/Updates
          • Stackentkopplung (Proxy, 
)
          • Mehrherstellerstrategie: bei seriell verwendeter SW/HW mit gleicher Aufgabe von verschiedenen Herstellern -> Change das selben Fehler geringer
          • Authentifikation
            • Wissen: Password, Code/PIN
            • Besitz: Zertifikate, SchlĂŒssel, Reisepass, (Bestechung)
            • unablegbare Eigenschaften: Fingerabdruck (unsicher, wird ĂŒberall hinterlassen, fĂ€lschbar), (ĂŒber Vertrauen), Iris-/Venenscan, Gesichtserkennung
          • W^X (W XOR X)
            • Daten/Code-Markierung im Speicher bei Von-Neumann Architekturen
            • W: Daten, nur beschreibbar
            • X: Code, nur ausfĂŒhrbar
            • gleiche Idee: Verzeichnisstruktur (UNIX Berechtigungen, Web-Server)
      • passive Sicherheit
        • Berechtigungskonzept
        • HĂ€rtung: BeschrĂ€nkung der Fn. auf Minimum; Minimierung der AngriffsflĂ€che
  • VerschlĂŒsselung
    • symmetrische VerschlĂŒsselung
      • „shared secret“
    • asymmetrische VerschlĂŒsselung
      • private Key
      • public Key
      • VerschlĂŒsselung
      • Signierung
      • Randbedingungen: priv. Key nur Besitzer bekannt, pub. Key allen Teilnehmern bekannt (d.h. zuvor gesichert / auf vertrauenswĂŒrdigem Weg ĂŒbertragen)
      • Kann Man-in-the-Middle Kommunikation und public Keys (Erstaustausch) abfangen kann er Sicherheit vorgaukeln
    • hybride VerschlĂŒsselung
      • Austausch shared-secret asymmetrisch, Daten-Verschl. symm.
    • Performance-Optimierung der Signierung: Daten-Checksumme und diese signieren
    • Austausch des öffentlichen SchlĂŒssels
      • Web of Trust
      • Zertifizierungsinstanzen (CA)
    • HTTPS (HTTP + SSL): nur Server hat SchlĂŒsselpaar
      • Client Aktionen
        • bekommt Cert
        • prĂŒft Cert
        • erzeugt shared secret und sendet es verschlĂŒsselt an den Server um symm. verschlĂŒsselt und ohne Client Cert. kommunizieren zu können
      • ->AuthentizitĂ€t des Clients fĂŒr WebServer nicht sicher
  • Analyse-Tools
    • Sniffer: Netzwerkverkehr/Daten anschauen; Wireshark
    • Portscanner: nmap
    • Applikationsscanner: nessus (auch viele Notices, false positives)
  • Honey-Pot
  • Brute-Force
    • Limit Versuche pro Zeit
    • PWs werden als Hashs gespeichert
    • Rainbow Table: Mapping PW->Hash merken
  • CVSS: Common Vulnerability Scoring System
    • GefĂ€hrlichkeit einer LĂŒcke / Wichtigkeit eines Patches
    • Rating 0 bis 10; 0 unwichtig, 10 kritisch, sehr gefĂ€hrlich
    • aus
      • Basis-Metriken
      • Auswirkungs-Metriken
      • Umgebungs-Metriken
      • zeitabhĂ€ngige Metriken
  • 0-day Angriff
    • je nach Definition
      • Angriff/Exploit bevor Hersteller davon wusste/Patch veröffentlichen konnte
      • Angriff/Exploit innerhalb ersten Tages nach Patch-Veröffentlichung
  • Full-Disclosure: vollumfĂ€ngliche Veröffentlichung eines Exploits; -> Druck auf Hersteller
  • Responsible Disclosure
  • False Positive: harmloses fĂ€lschlicherweise als Angriff/Exploit erkannt
  • False Negative: Angriff/Exploit nicht erkannt
  • Steganographie: verstecken dass kommuniziert wird
    • Kommunikation in anderer Kommunikation verstecken
    • z.B. unterste Bit-Ebene der Farbwerte in BMP-Bild
  • Zufallszahlen
    • aus Entropie-Pool gespeist -> dieser muss möglichst zufĂ€llig sein
  • Trennmechanismen (Netzwerke, Systeme)
    • physikalisch getrennt
    • virtuell getrennt
    • VM-Gefahr: Entropie Pool wird kopiert oder durch Backup-Recovery wieder hergestellt -> ZufĂ€lligkeit verloren
  • Linux Sys. HĂ€rtung
    • netstat -tulpen
    • Kernel-refuse statt Anwendung auf Ports -> Dienst dem Angreifer nicht bekannt geben
      • /etc/hsots.allow/.deny
    • Zugriff unterbinden
      • Stack/Kernel: bind
      • lokale Firewall
      • TCP-Wrapper (tcpd)
      • Applikation (Konfiguration)
  • Port-Knocking
    • kein bind auf Port
    • Daemon hört Port ab auf Anfragen
      • direkt
      • ĂŒber iptables log
    • bestimmtes Klopfzeichen -> dienst wird gestartet/Port gebinded
    • DVariation um Nachahmung zu vermeiden