Computersicherheit 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann Gli d Gliederung z Einführung: Datensicherheit z Vulnurabilität z Angriffstechniken z Si h h it Sicherheitsvorschläge hlä z Quellen 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann W ist Was i t Informationssicherheit I f ti i h h it “Als Informationssicherheit bezeichnet man Ei Eigenschaften h f von iinformationsverarbeitenden f i b i d und -lagernden Systemen, welche die VERTRAULICHKEIT und INTEGRITÄT sicherstellen. Informationssicherheit dient dem SCHUTZ vor Gefahren bzw. Bedrohungen, der VERMEIDUNG von SCHÄDEN und der MINIMIERUNG von RISIKEN.“ [wikipedia.de] 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann Si h h it? … Wogegen? Sicherheit? W ? Sicherheit → für welches Szenario − Ist eine binäre Größe – sicher / nicht sicher Systemsicherheit − gegen alle denkbar Szenarien sicher machen Problem − 18.12.09 Ein unsicheres Szenario → S t Systemunsicherheit i h h it (FSU) Dmitrij Miller, Stephan Schumann [L. Donnerhacke iks-jena] D K Das Konzeptt z z Sicherheitsklassen − Bufferüberläufe − Rechner wegtragen − Stromausfall bis zu einer Stunde Man braucht eine Liste von Szenarien in denen man Sicherheit erreichen will EIN KONZEPT 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann N Neue D Definitionen fi iti „Sicherheit“ Si h h it“ z z Sicher ist ein System genau dann, wenn die Kosten des Angriffs den erzielbaren Nutzen niemals unterschreiten unterschreiten. Verhältnis zwischen Wahrscheinlichkeit möglicher Schäden zum getriebenen Aufwand ist Maß für die Sicherheit eines Systems verwendet bei Versicherungsbranche - eine rein betriebswirtschaftliche Kalkulation zur Bestimmung der Gesamtsicherheit. 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann Warum ist das Thema sooo wichtig? 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann V l Vulnerabilität bilität [X-Force® 2008 Trend & Risk Report] 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann V l Vulnerabilität bilität Definition: Alle Computer-bezogenen Verletzungen, Beanspruchung oder Konfiguration Konfiguration, die eine Schwächung, oder Vernichtung der Zuverlässigkeit der Integrität oder Zuverlässigkeit, Zugänglichkeit des Rechnersystems zur Folge haben 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann G i ht Gewichtung der d Vulnerabilität V l bilität z Gewichtung via Common Vulnerability Scorring System (CVSS) z kritisch: − Rootable Netzwerk − braucht keine Zugangsbestätigung − Ermöglicht den H k root- und Hacker d System-Zugang [weitere Infos zu CVSS: http://www.first.org/cvss/] 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann R ki Ranking angegriffener iff Systeme S t 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann V t il Verteilung nach h Funktion F kti 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann H il itt l – ja Heilmittel j oder d nein i 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann Malware im Überblick 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann M l Malware im i Überblick Üb bli k z Zusammenfassung Schadprogramme z Große Vielzahl von Malware z Ziel: Ausführung von schädlichen Funktionen z C Computerviren: t i 18.12.09 − Älteste es e Malware, a a e, meist e s Zerstörung e s ö u g von o Daten ae − Infizierung von Programmen, „ausführbaren Objekten Objekten“ (FSU) Dmitrij Miller, Stephan Schumann M l Malware im i Überblick Üb bli k z z Viren: suchen Programmdatei also Host und führen Schadensroutine Schadensro tine d durch rch Würmer: − Im allgemeinen eigenständige Programme − Selbstverbreitend über e-mail, Netzwerke, wechselbare Speichermedien − können Dateilos sein & verbleiben im S i h d Speicher des R Rechners h 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann M l Malware im i Überblick Üb bli k z z Backdoor: Bereite Angriff für Hacker vor (Rechnerzugriff) T j i h Pf Trojanisches Pferd: d − z Getarnt als nützliche Software, Software versteckte zum ausspionieren von Informationen, passwörter & downloaden weiterer Malware PUP (Potentionally unwanted Programs) − Schwächen 18.12.09 Sicherheitssystem (FSU) Dmitrij Miller, Stephan Schumann A ft il Aufteilung von Malware M l 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann Angriffstechniken 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann Stack Overflow 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann St k O Stack Overflow fl z z Klasse der Buffer Overflows Zum ersten mal 1997 im Phrack Artikel „Smashing S hi Th The St Stack kF For F Fun And A d Profit“ P fit“ z Programmierfehler Programmierfehler. z Verwendung von „unsicheren Funktionen“ z Sehr häufig und „gefährlich“ 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann St k O Stack Overflow fl z Betroffen: C/C C/C++,, Assembler Programme − z z Standartsoftware ... Internetprotokolle Ziel ist die Ausführung des Angriffscodes DoS(Denial of Services) 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann St k O Stack Overflow fl z verwendeter Buffer hat eine maximale Größe z Keine Grenzenkontrolle z z Speicherbereich kann mit großen Daten überschrieben werden Bei Stack Overflows ist der Stack betroffen 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann St k O Stack Overflow fl void inputFunction(char* str) { char input[20]; strcpy(input str); strcpy(input, } void main(int argc, char*argv[]) { inputFunction(argv[1]); } - Lese eine Zeichenkette ein - Speichere sie im “input” input Buffer 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann St k O Stack Overflow fl z Keine Eingabekontrolle: sehr große Strings möglich − z z > Überschreitung Üb h it d der B Buffergrenze ff Stack wird beschädigt g → kann g gezielt verändert werden A Ausnutzung t durch d h gezielte i lt D Datenvorbereitung t b it 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann St k O Stack Overflow fl (Sehr) Vereinfachter Calling Stack: 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann St k O Stack Overflow fl z Stack wächst von höheren zu den niedrigen Speicheradressen z 1 F 1. Funktionsparameter kti t gespeichert i h t z 2 Rücksprungadresse 2. z 3. Lokale Parameter z Funktionsende: Ausführung der Rücksprungadresse 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann St k O Stack Overflow fl z z Werden die lokale Variablen über ihre Grenze überschrieben, so kann auch die Rücksprungadresse überschrieben werden Neue, überschriebene Rücksprungadresse wird verwendet − 18.12.09 > Programmabsturz (FSU) Dmitrij Miller, Stephan Schumann St k O Stack Overflow fl z z z Idee: Rücksprungadresse mit der Adresse von eigenem Code zu überschreiben Dieser A Di Angriffscode iff d wird i d als l „Shellcode“ Sh ll d “ bezeichnet die Instruktionen werden ausgeführt → Systemübernahme mögliche 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann St k O Stack Overflow fl z Diese Lücke ist sehr einfach zu vermeiden z Entsteht meist aus der Bequemlichkeit z Unsicheren Funktionen, z.B. scanf(...), strcpy( ) strcat( strcpy(...), strcat(...)) etc etc. sollen vermieden werden 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann Format Strings 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann F Format t Strings St i z z z z Erst seit Ende 1999 in der Öffentlichkeit bekannt Leicht L i ht zu vermeiden, id aber b wird i d auch h unterschätzt Weniger Angriffe als durch Stack Overflows bekannt Betroffen sind meist C/C++ Programme g 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann F Format t Strings St i z z z z Der Fehler entsteht aus der Eigenschaften von z.B. printf/scanf Funktionsfamilien P t t Prototyp: printf(char* i tf( h * string, ti param1, 1 param2...) 2 ) Besteht aus einem String mit Formatierungszeichen und entsprechende Parameter z.B. p printf(„%s\n“,“Hello ( World“); ) 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann F Format t Strings St i z z String, Parameter bei der Ausführung auf den Stack gespeichert Benutzer B t hat h t die di Mö Möglichkeit li hk it d den St String i mit it Formatierungszeichen zu bestimmen → Sicherheitslücke z z B printf(input); //!!!Gefährlich z.B. z input p enthält Formatierungszeichen g ((z.b. %s)) − 18.12.09 → der Stack wird entsprechend oft gelesen (FSU) Dmitrij Miller, Stephan Schumann F Format t Strings St i z z z Es ist möglich potentiell wichtige Daten aus dem Stack auszulesen Auch A hb beliebige li bi S Speicheradressen i h d kö können gelesen werden Es gibt Formatierungszeichen, die das schreiben erlauben − z Angriff ist dann ähnlich wie beim Stack Overflow DoS 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann F Format t Strings St i z Strings nur mit %s referenzieren und nicht direkt ausgeben − z printf(„%s“,input) i tf( % “ i t) statt t tt printf(input) i tf(i t) Fehler können auch automatisiert erkannt werden − 18.12.09 Immer eine Sicherheitsüberprüfung bei der Entwicklung (FSU) Dmitrij Miller, Stephan Schumann SQL Injection SQL-Injection 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann Z Zuwachs h SQL-Injection SQL I j ti 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann SQL Injection I j ti z Sehr häufig z Platz 1 bis 2 bei „OWASP Top 10“ z Angriffstechnik auf Datenbank gestützte Software z Speziell SQL Datenbanken z Sehr kritisch und riskant z Ungefilterte U fil B Benutzereingabe i b kö können SQL Befehle enthalten, die dann interpretiert werden 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann SQL Injection I j ti z DoS z Datenänderung z Datendiebstahl z A Ausschaltung h lt der d A Authentizität th ti ität z Kontrolle über den Server z Programmiersprache ist egal, wenn keine D Datenüberprüfung üb üf vorliegt li 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann SQL Injection I j ti z Queryy = „SELECT * FROM user WHERE username='“+UserName+“' AND password='“+UserPass+“'; z Abfrage für Daten von einem Benutzer z UserName, UserPass sind externe Variablen − 18.12.09 Werden nicht validiert z P t Potenzielle i ll Lü Lücke k (FSU) Dmitrij Miller, Stephan Schumann SQL Injection I j ti z UserName=Admin und UserPass=' OR 23=23-- z Angreifer kann SQL Befehle verwenden z z z Query = „SELECT * FROM user WHERE username='Admin' AND password='' OR 23=23--'; → eine neue, richtige SQL-Abfrage → Der Angreifer bekommt Adminzugriff 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann SQL Injection I j ti z z „Die Benutzer sind grundsätzlich böse“ böse Alle Eingaben müssen vollständig getestet und gefiltert filt t werden d − z White-list White list Filterung Serversoftware, Datenbanksoftware möglichst nicht i ht mitit Ad Adminrechten i ht starten t t z Wichtige Daten verschlüsseln z Keine Informationsausgabe bei Fehlern 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann XSS 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann XSS z XSS Cross-Site-Scripting Cross Site Scripting z Platz 1-2 bei „OWASP Top 10“ z Sehr gefährlich z E t Extrem unterschätzte t hät t Sicherheitslücke Si h h it lü k z Betroffen sind meist Webanwendungen 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann XSS z Dynamische Inhalte − z Serverseitige und Clientseitige Scriptsprachen Bei XSS wird meist Javascript (Clientseitig) für Ausnutzung g verwendet z z z Aber auch viele andere möglich B t ff Betroffen: web b Anwendungen A d Bei einem gutem Angriff merkt der Betroffene nichts 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann XSS http://shampoo.antville.org/static/shampoo/images/background_xss.gif 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann XSS z z z z Problem: ungefilterte Eingaben von Benutzer Existiert eine XSS Lücke, so ist es dem A Angreifer if möglich ö li h z.B. B JJavascript-Code i tC d einzubinden Vielfältige Ausnutzmöglichkeiten Es können auch gleichzeitig mehrere betroffen sein 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann XSS z Szenario: − Angreifer findet eine XSS-Lücke − Benutzer logt sich ein − Angreifer schickt eine modifizierte URL z z z − 18.12.09 Javascript wird vom Angreifer ausgeführt → Umleitung auf Angriffsseite Cookies werden gespeichert Rü k l i Rückumleitung Benutzer klickt auf die URL, merkt aber nichts (FSU) Dmitrij Miller, Stephan Schumann XSS z Benutzerdaten-Klau Benutzerdaten Klau − Cookie Klau/Fälschung z Webseiten defacement z Benutzerdaten Änderung z Phishing g z ... 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann XSS z z Das Problem kann wieder durch Eingabefilterung vermieden werden V Verschlüsselung hlü l von L Login-Daten i D t 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann Praxis 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann N Neustart t td des Betriebssystems B ti b t z Problem: 18.12.09 − 1. Angriffsziel: Virenscanner, Firewall, Updatesystem − Wie groß Überlebenszeit des ungeschützen Systems - SURVIVAL -TIME ? (FSU) Dmitrij Miller, Stephan Schumann S Survival-Time i l Ti z 18.12.09 Mittelwert der Zeit die vergeht g bis ein ungeschütztes Rechnersystem attakiert wird. (FSU) Dmitrij Miller, Stephan Schumann S Survival-Time i l Ti [http://isc sans org/survivaltime html] [http://isc.sans.org/survivaltime.html] 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann V h lt Verhaltenstips ti z z Gleich nach Installation –2 Benutzerkonten festlegen g und Administrator-Passwort festlegen. Aktuellen Browser, Browser Service Pack Pack, Treibersoftware Treibersoftware, über sicheren PC runterladen und installieren (Sicherheitseinstellung zu Beginn HOCH ) z Client für Microsoft-Netzwerde deaktivieren z Erst jetzt PC via Kabel mit Internet verbinden z Erst Antivirensoftware und Firewall updaten z !!! Windowsupdates nur mit internet explorer möglich z Sofort automatisch Updates aktivieren 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann V h lt Verhaltenstips ti z Weitere Kernsoftware installieren ( MS Office ...)) z (Disc-) Image anlegen (z.B. mit Norton Ghost) z 2. Benutzer - Account die Administrator-Rechte entziehen Gast entziehen. Gast-Account Account komplett deaktivieren deaktivieren. (Administrator-Account wird jetzt nur noch für Systemeinstellungen benutzt. Bei Windows Vista ist dies nicht mehr nötig.) z Mit Softwareinstallation im 2. Account fortfahren und d ab b jjetzt t t iimmer b benutzen. t 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann W Wann ist i t PC infiziert? i fi i t? Spyware: 18.12.09 − Während des Besuchs einer Webseite erscheinen Links und Werbefenster (englisch) ( li h) − Werbefenster sind häufig verlinkt. (FSU) Dmitrij Miller, Stephan Schumann W Wann ist i t PC infiziert? i fi i t? z Trojaner & Würmer: 18.12.09 − Häufige Abstürzen des Systems oder einzelner Komponenten p − System wird stark langsamer − Verbrauch V b h hoher h h Internetbandbreite I t tb db it – Hoher H h Uploadstream obwohl Benutzer kaum arbeitet − Ungewöhnliche Einträge in der Registry, Konfigurationsdatein, Taskmanager. − Virenscanner und Firewall lassen sich nicht mehr richtig g updaten p oder sind deaktiviert (FSU) Dmitrij Miller, Stephan Schumann W Wann ist i t PC infiziert? i fi i t? z Mitmenschen beschweren sich Virenverseuchte e-mails vom ihnen zu bekommen. (kein sicheres Indiz) 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann W tun Was t wenn infiziert? i fi i t? z Keine Panik z Internetverbindung trennen – Stecker ziehen z Verbindung zu Netzwerken trennen – sonst kann es zum Ping-Pong-Effekt kommen − z Sicherung persönlicher Daten auf CD/DVD − z Rechner infizieren sich immer gegenseitig und vermerken, vermerken dass Daten infiziert sein können Viren- und Spywarescanner starten 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann W tun Was t wenn infiziert i fi i t z Eliminieren aller potentiellen Dateien. z Namen der gefundenen Dateien aufschreiben z z Erneut mit dem Internet verbinden & Scannersoftware updaten updaten. Regergieren der Namen: − www.symantec.de − www.mcafee.com − www.kapersky.com Hier g gibt es meistens auch Removal-Tools 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann W tun Was t wenn infiziert i fi i t z Tools runterladen und erneut scannen bzw. Onlinescann durchführen − z www.tu-berlin.de/www/software/antivirus.shtml t b li d / / ft / ti i ht l Zweiten (On-Demand-) Scanner z.B. BitDefender http://www.bitdefender.de 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann Quellen 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann Q ll Quellen z „Smashing the Stack for fun and Profit“ − http://www.phrack.org/issues.html?issue=49&id=14#article z „Hacking: The Art of Exploitation“ - Jon Erickson z Buffer Overflows und Format-String-Schwachstellen - Tobias Klein z Pics by google :) z Wikipedia ;) z K Janowicz K. Jano ic - Sicherheit im Internet - O O`Reill Reilly Verlag & Co Co. KG z IBM X-Force 2008 Trend & Risk Report z http://isc.sans.org/survivaltime.html z http://www.iks-jena.de 18.12.09 (FSU) Dmitrij Miller, Stephan Schumann