## Angriffe auf Protokolle ###ICMP - Scan (ecmp echo request + reply) - Smurf Attacke: Ping an broadcast adresse, fälschen von absenderadresse (=Opfer) - Inverse Mapping: 1. Angreifer senden ICMP Reply (!) an IP Adressen die hinter Filtering Device sind (zb Router) 1. Filter Device lässt es durch, weil es nicht Liste der ICMP Requests speichert und daher nicht weiß ob sich die Ziel-Rechner Reply erwarten 1. Interner Router antwortet mit ICMP Host unreachable für hosts die nicht erreichbar sind - ICMP Flood ### IP - Ping of Death: zusamengesetztes IP Paket zu groß - Fragment Overlap Attack (Teardrop): pakete überlappen sich --> firewall schaut vielleicht nur ins erste Fragment, aber zweites Fragment überschreibt Teil vom ersten. --> Payload an Firewall vorbeischummeln - Tiny Fragment Attack: Daten werden erst in zweitem Fragment geschickt, Firewall schaut sich vielleichr nur das erste an. ### DHCP - Race Condition: Böser DHCP Server antwortet schneller als echter und trägt sich selbst als gateway oder DNS Server ein. ### UDP - DoS/DDoS - UDP Packet Storm (zb chargen/echo), weil keine Verbindungsaufbau erforderlich - UDP Flood - Amplification: NTP (monlist: Abfrage der letzten Zugriffe & IP Spoofing), DNS, SNMP, ... ### DNS - MITM: Mitlesen/Verändern von DNS Requests Replies - Race Condition: Erraten der ID eines DNS-Requests und schneller als echter Server antworten - Name Chaining --> MITM - DoS ### TCP - Low-Rate DoS: Verbindung aufrecht erhalten mit winzigem Paket am Ende der TTL - ACK senden bevor Daten empfagen wurden - TCP Session Poisoning (zB FIN, RST) - Christ Tree Packet: Alle Flags setzen - TCP Sequence Number Prediction (sollte nicht aufsteigend sein!) - TCP Session Hijack --> Sniffing + Spoofing ### Betroffene Schutzziele - Vertraulichtkeit: zB TCP Session Hijack --> Sniffing - Integrität: Spoofen, zB DNS - Verfügbarkeit: DoS, zb ping of death - Authentizität: zb source ip adresse spoofen - Nichtabstreitbarkeit ## Sichere Programmierung ### Gründe für unsichere Software - Komplexität, häufige Modifikation, Zeitdruck - fehlende Kommunikation im Team - Wenig Tests, keine Tests - Designschwächen im Datenmodell, Applikationsflow - Logging für Angreifer sichtbar - Falsche Annahmen in Bezug auf Sicherheit ### Eingabe- und Ausgabevalidierung Eingabe - filtern: blacklist vs whitelist - sanieren: escapen von sonderzeichen Ausgabe: bsp logging, fake log einträge sind möglich ### Guter Code - sichere Funktionen - existierende Frameworks. downside: abhängigkeit - statische code analyse ### Eception handling - error UID, nicht nur string - throw early, catch late - runtime vs checked exception: Runtime-Exception nur in begründeten Ausnahmefällen verwenden ### Logging zumindest loggen: - logins - authorization requests - CRUD - session terminierung wichtig: - framwroks - einheitlicher aufbau (länge, was ist trace, debug, ...) - nicht abstreitbarkeit - speicherort - detailgrad ### code obfuscation - lesbarkeit erschweren - aufwand des dekompilierens erhöhen (crash!) - vor reverse engineering schützen - ändern von: - control-flow, zb ungültige code abschnitte - löschen von debug informationen - umbennenn von variablen etc. - ändern von vererbung, array restrukturierung, variablen, strings aufspalten. ### code encryption - zugriff auf code erschweren - code vor manipulation schützen - dekompilieren verhindern ### code signing - integrität - authentizität der applikation - ersteller garantiert ## Web Application Security ### OWASP Top 10 - A1: Injection - A2: Cross Site Scripting (XSS) - A3: Broken Authentication and Session Management - A4: Insecure Direct Object References - A5: Cross Site Request Forgery (CSRF) - A6: Security Misconfiguration - A7: Insecure Cryptographic Storage - A8: Failure to Restrict URL Access - A9: Insufficient Transport Layer Protection - A10: Unvalidated Redirects and Forwards ### Authentifizierung - HTTP basic - HTTP digest: challenge response ### Sicherheitsprobleme - XML Injection - XPath Injection (wie SQL Injection) - UNvalidated Redirects and forwards - Insufficient Transport Layer Protection - MITM --> TLS und Secure Flag bei cookie - Abgelaufene Zertifikate - Failure to restrict URL Access (Kein Check am Server) - Insecure Cryptographic Storage--> Gute Algos, lange Schlüssel, Daten und Schlüssel separat speichern - Sensitive Data Exposure - Security Misconfiguration - Alte Version, default user --> Hardening Process, regelmäßiges Audit, sicheres Softwaredesign - Insecure Direct Object Reference: URLs von Objekten erratbar, werden nur nicht angezeigt. Keine Überprüfung auf Server-Seite - Broken Authentication und Session-Management --> Session Hijacking, Accounts übernehmen --> SSL, gute session IDs, logout terminiert session - Using Components with know Vulns - Google Hacking: - inurl:php "You have an error in your SQL syntax" - filetype:inc intext:mysql_connect - intitle:"Dashboard Jenkins" intext:"Manage Jenkins" ## IT-Risikomanagement und IT-Grundschutz Risiko nach BSI: Risiko ist die häufig auf Berechnungen beruhende Vorhersage eines möglichen Schadens im negativen Fall (Gefahr) oder eines möglichen Nutzens im positiven Fall (Chance). Was als Schaden oder Nutzen aufgefasst wird, h ̈angt von Wertvorstellungen ab. Risiko = Eintrittswahrscheinlichkeit ∗ Schadenshöhe ### IT-Risikomanagement-Prozess - Risikoidentifikation - Risikobewertung - Risikobehandlung/-steuerung - Risikokontrolle PDCA - Plan - Do (Umsetzung) - Check (Erforgskontrolle) - Act (Optimierung) ### Vorarbeiten - Beschreibung Methode: Analyse, Bewertung, Behandlung von Risiken - Festlegung von Schutzklassen und Kriterien (Schadenshöhe, Eintrittsws, Risikoakzeptnat), Verantworlichkeiten, Review-Zyklen ### Risikoidentifikation - Erkknung - Beschreibung - Erfassung Maßnamen - Methoden: Brainstorming, Angriffsbäume, Failre Modes and Effects Analysis, Fault Tree Analysis Risiken können nur entstehen, wenn eine Bedrohung auf ein Schutzobjekt wirkt und durch eine Schwachstelle zu einem Schaden fu ̈hren kann. ### Bewertung - Schadensschwere - Eintrittshäufigkeit - Kategorie: - Verstoß gegen Gesetze etc. - Beeinträchtigung der Aufgabenerfüllung - neg. innen oder Außenwirkung - Wirtsch. Schaden - Schadenklasse; Klein, Niedrig, ... - Eintrittshäufigkeit: Niemals, Selten, ... ### Risikobehandlung - Risikoakzeptanz - Riskovermeidung - Risikoverminderung - Risikotransfer ### IT-Sicherheitsprozess laut IT-Grundschutz - Initiierung des Sicherheitsprozesses - Verantwortung der Leitungsebene - Konzeption und Planung - Aufbau einer Informationssicherheitsorganisation - Bereitstellung von Ressourcen - Einbeziehung aller MitarbeiterInnen - Erstellung einer Sicherheitskonzeption - Umsetzung der Sicherheitskonzeption - Aufrechterhaltung und Verbesserung #### Erstellung IT-Sicherheitskonzept - Strukturanalyse: Erfassung Bestandteile (Anwendungen, IT-Systeme, Räume, Netzplan) - Schutzbedarfsfeststellung, zB Kategorien normal, hoch, sehr hoch. Schutzziele (Vertraulichkeit, Integrität und Verfügbarkeit) - Maximumprinzip: aufgrund schwerwiegendster Auswirkung - Kumulationseffekt: mehrere kleine Schäden führen zu einem Großen - Verteilungseffekt: Aufteilung des Schutzbedarfs, z.B. Redundanzen - Modellierung des Verbunds (Auswahl der Maßnahmen). Abbildung auf IT-Grundschutz-Bausteine - B1: Übergreifende Aspekte; z.B. Datensicherungskonzept, Krypto-Konzept - B2: Infrastruktur; z.B. Serverraum, Schutzschränke - B3: IT-Systeme; z.B. Laptop, Windows 7-Client, TK-Anlage - B4: Netze; z.B. WLAN, VoIP - B5: Anwendungen; z.B. Webserver, Datenbanken - --> Maßnahmen: Infrastruktur, Organisation, Personal, Hardware und Software, Kommunikation, Notfallvorsorge - Basis-Sicherheitscheck (Soll-Ist-Vergleich): - Ansprechpartner und Checklisten - Interviews, Umsetzungsstatus - Dokumentation - Ergänzende Sicherheitsanalyse ## Mobile Security ### Android - Explicit Intent: an konkrete Komponente adressiert - Implicit Intent: zb "Intent.ACTION_SEND" - Public Component: EXPORTED flag oder intent filter ### Angriffe - Repackaging (uU in andere Stores) - Update Angriff (Payload wird später nachgeladen) - Drive-by Download - Side-Channel: Soundcomber (Telefongespräche abhören), Gyroscope, Camera, RAM Usage, - Confused Deputy (Privilage Escalation): Böse App verwendet über Intent zB Mikrophon über verwundbare App. Bsp Facebook App: LoginActivity -> continuation_intent -> WebView -> file://sdcard/attack.html - Hilft nicht: custom permission mit permission level normal; package name der app prüfen - hilft: exportieren notwendig?; custom permission mit permission level dangerous; zweiteilen; explicit wenn möglich - Collusion-Angriffe: Mehrere Apps vom Angreifer kommunizieren miteinander, jede hat unscheinbare Permissions ### Angriffe auf Apps via Intents - SQL Injection - Command Injection - XSS (WebView) ## Usability Consequences of unusable security: users ignore warnings, actively disable security, not use at all, not understand insecure state, consequences Usabel Security: Password & Auth, Encryption, Mobile, ... ### tests - Expert tests: walkthrough, heuristic evaluation - user tetss: 5-10 users ### Passwords and Auth What the user - **knows** (knowledge) - **possesses** (token) - **is** (biometric) Crazy Ideas - Passphares better in theory but users tend to select non-random wors - Challenge response, secret algorithm (123 --> 321) - Alterations (Abbreviate, translate, shift finger son keyboard, ...) --> crackable - draw-a-secret: hard to remember - passface: female chose more. models. race & gender correlation - graphical passwords: triangle or intersection on image. 1000 images on screen lol ### Problems - Security gets in the way - Abstractions unintuitive - Lack of feedback or too complicated - Barn door property: once a secret was unprotected it have attacked - weakest link property ### Mobile problems - first connect, e.g wifi WPS: pin/push button/nfc - weakness: pin on router. pin from mac. validity of pin halves checked separately. - local user auth - bio (face, fingerprint), pin, password, gesture (2^19 poss bot unintenional bias) - mobile CATCHA - credential recovery ### guidelines (Ka-Ping Yee) 1. most comfortable way to do task with the least granting of authority 1. grant authority with user indicatin consents (user muss ja sagen) 1. offer ways to reduce others' access to users stuff (=revoke) 1. maintain accurate awareness of others' authority (list user permissions) 1. maintain accurate awareness of user's own authority to access resources 1. protect the users's channel to agents that manipulate authority on the user's behalf (isyourTwitterPasswordSecure.com) 1. enable user to express security policies in terms that fit the task (e.g. visibility of post on facebook) 1. draw distinctions among objects and actions along boundaries relevent to the task 1. present objects using truthful appearances (e.g. make it clear which file is executable) 1. indicate consequences of decisions ## Internet ### Internetkriminalität bsp - CEO Fraud - Bestellbetrug (bestellen, nicht zahlne oder umgekehrt) - Gelwäsche - Provision für Weiterleitung - Erbschaft/Lottogewinn - Love Scam ### E-Mail Spoofing - from vs reply-to - received (ip) ## Suche - whois - reverse whois (email) - reverse dns - social media (people) - reverse image ## Intrusion Detection & Intrusion Prevention IDS, IPS, zusammen IDPS IDS: erkennung von Angriff (Signaturen, Anomalie) --> Alarm IPS: + automatische maßnahmen, zb firewall regel ### Aufbau - Ereigniskomponente: Aufnahme von Daten über Sensoren - Aufzeichnungskomponente: Logging - Analysekomp.: Analyse der Daten und ggf Alarm - Monitor- und Aktionskomp.: aufbereitung u durchführung von aktion ### Arten - Host-Based - Network-Based - Network Bahviour Analysis - Wireless Host-Based: Monitoring am Host, Registry, Files, Prozesse, Logs, ... Network-Based: Traffic im Netz, Sicht auf das gesamte Netzwerk ### passiv vs inline - inline: - muss throughput schaffen, kann ausfallen - kostet zeit (anekdote: börsentraffik nanosekunden) - kann gehackt werden und dann den traffic verändern - passiv: - fällt nicht auf - kann angriffe nicht abfangen, alles geht durch - muss nicht so schnell sein ### Erkennungsmethoden - Signatur - Anomalie - Stateful Protocol Analysis #### anomalien - ip adressen (plötzlich viele russen) - uhrzeit der zugriffe unüblcih - datenmenge - requests, abstand dazwischen - zb bei online spielen, fraud detection, ... ### Angriffe auf IDPS - Tiny Fragment Attack - Fragment Overlap Attach - Stealth Scan - besonders langsam - nicht nur syn, sondernfin scan - auf applikationseben: Änderungen die nur Signatur ändern zb GET /cgi-bin\test.cgi ### Maßnahmen bei Erkennung - Alarm (email, sms) - Droppen von Paket - Reset der Netzwerkverbindung - Blockieren gesamten Traffics von der IP - Abändern von Paket ### Typische Fehler - sieht nicht den ganzen Traffic - keiner bekommt die Alarme - keine Regel für Reaktion auf die Alarme - nicht auf Umgebung abgestimmt ### Honeypots - reale systeme (hohe interaktivität) - simulation, zb mit honeyd vorteile: - wenig daten, viel bedeutung - erkennung neuer tools etc. - gut für forschung nachteile: - beschränkte sicht: angreifer kommt vielleicht garnicht zu honeypot. - Risko: man nimmt einfache Passwörter, damit angreifer reinkommt nach brute force angriff und man will schauen was sie dann machen - aufwand überwachung und analyse