1 / 33

Sicherheit in Webanwendungen

Sicherheit in Webanwendungen. Christian Benz. Inhalt. Arten von Sicherheitsrisiken Phishing Cross-Site Scripting Directory Traversal SQL-Injection Demonstration SQL-Injection Demonstration Cross-Site Scripting Fazit. Arten von Sicherheitsrisiken. Übersicht Phishing

lorant
Download Presentation

Sicherheit in Webanwendungen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sicherheit in Webanwendungen Christian Benz Sicherheit in Webanwendungen - Christian Benz

  2. Inhalt Arten von Sicherheitsrisiken Phishing Cross-Site Scripting Directory Traversal SQL-Injection Demonstration SQL-Injection Demonstration Cross-Site Scripting Fazit Sicherheit in Webanwendungen - Christian Benz

  3. Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit • Phishing • Der moderne „Enkeltrick“ • Cross-Site Scripting • Es lebe Web 2.0 • Directory Traversal • Das kann doch noch nicht alles sein… • SQL Injection • Code einbinden leicht gemacht Sicherheit in Webanwendungen - Christian Benz

  4. Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit • Phishing • Ist eine Weiterführung des „Enkeltricks“ • Eine vermeintlich seriöse E-Mail/Privatnachricht/Instant Messenger-Nachricht sendet einen Link zu einer Website mit betrügerischen Absichten • Phishing ist ein Kunstwort. Es setzt sich zusammen aus den englischen Begriffen Password und Fishing („Angeln“) • Häufig auch: • Gehackte Social Network- oder Instant Messaging-Profile von Freunden und Bekannten • Unseriöse Smartphone-Apps (z.B. Onlinebanking-Apps) [Mischung aus Malware und Phishing] • Smartphones besonders anfällig, da Webbrowser und E-Mail-Clients noch nicht so ausgereift sind [1] Sicherheit in Webanwendungen - Christian Benz

  5. Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit • Phishing • Spear-Phishing beschreibt den gezielten Angriff gegen ein bestimmtes Opfer • Pharming ist eine Methode, um Benutzer auf eine gefälschte Webseite (trotz korrekter URL) umzuleiten Um eine alphanumerische URL aufzulösen kontaktiert das Betriebssystem normalerweise einen DNS-Server Allerdings besitzt jedes OS auch eine interne Liste (hosts-Datei) in die das Betriebssystem zuerst schaut, ob der Name schon gelistet ist Sicherheit in Webanwendungen - Christian Benz

  6. Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit • Phishing • Phishing muss nicht immer durch so genannte „Phishing Mails“ vollzogen werden • Durch Trojanische Pferde, Keylogger etc. kann auch gezieltes Phishing betrieben werden • Dem Phishing dienen 0,57 % aller Spam-Mails • Bei ungefähr 220 Mrd. Spam-Mails pro Tag sind dies allerdings ca. 1,2 Milliarden Phishing-Mails [2] Sicherheit in Webanwendungen - Christian Benz

  7. Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit • Phishing [3] Sicherheit in Webanwendungen - Christian Benz

  8. Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit • Phishing Top 10Länder in denen Phishing-Seiten betrieben werden (2010) Quelle: http://www.antiphishing.org/reports/apwg_report_Q1_2010.pdf Sicherheit in Webanwendungen - Christian Benz

  9. Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit • Phishing Quelle: http://www.antiphishing.org/reports/apwg_report_Q1_2010.pdf Sicherheit in Webanwendungen - Christian Benz

  10. Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit Quelle: Kaspersky Sicherheit in Webanwendungen - Christian Benz

  11. Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit • PhishingBeispiel aus der Realität • Tunesien 2011 • Die tunesische staatliche Internetagentur ATI soll flächendeckend Passwörter für Konten bei Facebook, Gmail und Yahoo gesammelt haben • Dies diente hauptsächlich dazu, Regimekritiker zu überwachen und geplante Protestaktionen frühzeitig zu unterbinden [4] Sicherheit in Webanwendungen - Christian Benz

  12. Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit • Schutz vor Phishing • Browser-Erweiterungen und E-Mail-Clients schützen(Phishing-Hinweis) • Anti-Viren-Software mit Phishingschutz • Suchmaschinen warnen zum Teil • JavaScript bei E-Mails deaktivieren • Augen offen halten! [5] Sicherheit in Webanwendungen - Christian Benz

  13. Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Reflexives XSS Persistentes XSS Lokales XSS Directory Traversal SQL Injection Fazit • Cross-Site Scripting (XSS) • Manipulation auf dem Server durch Script-Code in den URL-Parametern • Man unterscheidet unter 3 Arten: • Reflexives XSS • Persistentes XSS • Lokales XSS (DOM-basiert) Sicherheit in Webanwendungen - Christian Benz

  14. Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Reflexives XSS Persistentes XSS Lokales XSS Directory Traversal SQL Injection Fazit • Reflexives Cross-Site Scripting [6] Sicherheit in Webanwendungen - Christian Benz

  15. Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Reflexives XSS Persistentes XSS Lokales XSS Directory Traversal SQL Injection Fazit • Persistentes Cross-Site Scripting [7] Sicherheit in Webanwendungen - Christian Benz

  16. Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Reflexives XSS Persistentes XSS Lokales XSS Directory Traversal SQL Injection Fazit • Lokales Cross-Site Scripting [8] Sicherheit in Webanwendungen - Christian Benz

  17. Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit • Schutz vor Cross-Site Scripting • Für Webseitenbetreiber: • „Schwarze Liste“ mit ungültigen Parametern (nicht immer aktuell) • „Weiße Liste“ mit allen erlaubten Parametern (beste Lösung) • In Benutzereingaben <SCRIPT> nicht zulassen • Schutz vor lokalem XSS ist nicht so einfach, weil Benutzereingaben nicht serverseitig geprüft werden können • Für Webseitenbesucher: • Es gibt auch hierfür wieder Browser-Erweiterungen • JavaScript und ähnliches deaktivieren Sicherheit in Webanwendungen - Christian Benz

  18. Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit • Directory Traversal • Beschreibt den Zugriff auf Dateien und Verzeichnisse durch Manipulation der Pfadangaben • Ein wichtiger Bestandteil eines Directory Traversal-Angriffs ist der Einsatz von ../ durch den der Angreifer eine Verzeichnisebene nach oben gehen kann. Sicherheit in Webanwendungen - Christian Benz

  19. Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit • Directory TraversalBeispiel • Man betrachte folgende URL:http://www.example.com/index.foo?item=datei1.html • Wenn man nun die Parameter wie folgt abändert…http://www.example.com/index.foo?item=../../../Config.sys…erhält man Zugang zu nicht erlaubten Pfaden und Dateien. Sicherheit in Webanwendungen - Christian Benz

  20. Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit • Directory TraversalBeispiel • Weitere Beispiele: • http://www.example.com/index.foo?item=../../../Windows/System32/cmd.exe?/C+dir+C:\ • http://www.example.com/showimage.foo?item=bild1.jpg • http://www.example.com/showimage.foo?item=bild3.jpg • Es gibt bild1.jpg und bild3.jpg • Gibt es auch eine Datei bild2.jpg? Sicherheit in Webanwendungen - Christian Benz

  21. Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit • Schutz vor Directory Traversal • Blockieren aller Vorkommen der Zeichenkette ../ • Das gilt auch für die URI-Prozentkodierung %2e%2e%2f • Verwendung der PHP-Funktionen realpath(), basename(), dirname() und pathinfo() Sicherheit in Webanwendungen - Christian Benz

  22. Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit • SQL Injection • Bezeichnet das Injizieren von schadhaftem SQL-Code durch Benutzereingaben in Formularfeldern, Cookies, etc.(in Eingabefeldern oder per Parameter) • Es gibt mehrere Arten der Injektion: • Eingabefelder • Cookies • Sessionwerte • usw. Sicherheit in Webanwendungen - Christian Benz

  23. Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit • SQL Injection • Es gibt mehrere Angriffsmöglichkeiten • Zugriff auf Daten, für die keine Berechtigung vorhanden ist. • Veränderung von Daten in der Datenbank • Root Status (Passwortänderung vom root-Benutzer) • Einrichten einer Shell auf dem Datenbankserver Sicherheit in Webanwendungen - Christian Benz

  24. Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit • SQL InjectionBeispiel • SQL-Befehl um ein Userpasswort zu ändern: $query = "UPDATE usertable SET pwd='$pwd' WHERE uid='$uid';"; • Nun übergibt man als Username: ' or uid like'%admin%'; -- • Und erhält folgenden Befehl: $query = "UPDATE usertable SET pwd='...' WHERE uid='' or uid like '%admin%'; --"; Wegen der OR-Verknüpfung ist diese Abfrage in jedem Fall wahr. Das Admin-Passwort wurde geändert. wird ignoriert Sicherheit in Webanwendungen - Christian Benz

  25. Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit • SQL InjectionBeispiel • SELECT email, passwd, login_id, full_nameFROM membersWHERE email = ‘$eingabe’; • SELECT email, passwd, login_id, full_nameFROM membersWHERE email = 'x'; DROP TABLE members; --'; Löscht die komplette members-Tabelle • SELECT email, passwd, login_id, full_nameFROM membersWHERE email = 'x'; INSERT INTO members ('email','passwd','login_id','full_name') VALUES (‘baduser@test.net',‘password123',‘baduser',‘Mad Man');--'; Legt einen neuen Benutzer namens baduseran Sicherheit in Webanwendungen - Christian Benz

  26. Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit • SQL InjectionBeispiel aus der Realität • Im Februar 2009 schafften es türkische Hacker auf der US-amerikanischen Homepage von Kaspersky(http://usa.kaspersky.com/) Kundendaten, wie E-Mail-Adressen, und Produktaktivierungskeysper SQL Injection auszulesen. • 30 Minuten nach Bekanntwerden des Sicherheitslecks wurde dieses Problem behoben. • Allerdings kann man daraus die Lehre ziehen, dass selbst Sicherheitsexperten nicht immer dagegen gefeilt sind. [9] Sicherheit in Webanwendungen - Christian Benz

  27. Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit [6] Sicherheit in Webanwendungen - Christian Benz

  28. Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit • Schutz vor SQL Injection Auf Applikationsseite: • Validierung der Benutzereingaben • Filterung: nur erlaubte Zeichen in Eingabefeldern zulassen (Regular Expression) • Single Quote (')bei allen Benutzereingaben verwenden, auch bei numerischen Angaben • Fehlermeldungen mit wenigen Informationen (am besten nur eine Fehler-ID und keine SQL-Fehler) • Längeneinschränkungen für Parameter • Im PHP-Skript mysql_query() verwenden. Dieses lässt nur eine SQL-Anweisung auf einmal zu.So etwas ist nun nicht mehr möglich: SELECT email, passwd, login_id, full_nameFROM membersWHERE email = 'x'; DROP TABLE members; --'; Sicherheit in Webanwendungen - Christian Benz

  29. Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit • Schutz vor SQL Injection Auf Datenbankseite: • Sinnvolle Rechtevergabe z.B. • DB-User für Login erhält keine Schreib- und Löschrechte • DB-User für Registrierung erhält keine Löschrechte • usw. mysql_connect("localhost","root", "d73ube3d893"); • Strenge Typisierung • Nummerische Werte wie Sitzungs-Ids oder Postleitzahlen als ganze Zahlen und nicht als Strings • StoredProcedures verwenden • Hierdurch werden dem Benutzer nur die Möglichkeiten gegeben, die der Entwickler auch vorgesehen hat. Sicherheit in Webanwendungen - Christian Benz

  30. Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit • SQL Injection + Cross-Site Scripting Demonstration [7] Sicherheit in Webanwendungen - Christian Benz

  31. Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit • Fazit • Mit den hier vorgestellten Schutzmechanismen lassen sich die gröbsten Sicherheitslücken eventuell vermeiden • Eine Garantie für absolute Sicherheit gibt es nicht • Man hat gesehen, dass selbst Experten, wie Kaspersky, Probleme kriegen können • Eine gesunde Paranoia entwickeln Sicherheit in Webanwendungen - Christian Benz

  32. Arten von Sicherheitsrisiken Quellen • Quellen: • [1] http://www.geekyplanet.com/2010/03/31/phishing/ • [2] http://www.absolit-blog.de/studien/220-milliarden-e-mails-pro-tag.html • [3]http://de.academic.ru/dic.nsf/dewiki/1105247http://www.customvinyldecalsnstickers.com/cute_skull.gif • [4] http://www.sueddeutsche.de/politik/proteste-in-tunesien-von-der-strasse-ins-netz-1.1046518 • [5] http://de.wikipedia.org/wiki/Phishing • [6],[7],[8] http://www.h-online.com/security/features/Web-application-security-747201.html • [7] http://www.cix-blog.de/thm/Undichte-SQL-Injection-auf-Kaspersky-Website • SQL Injection-Bildhttp://www.mygeekpal.com/208/sanitizing-variables-in-php-without-regular-expressions/http://network-tutorial.com/wp-content/uploads/2010/01/sql-injection.jpg • [7] http://www.msc-computer.com/Computer_1.jpg Sicherheit in Webanwendungen - Christian Benz

  33. Arten von Sicherheitsrisiken Übersicht Phishing Cross-Site Scripting Directory Traversal SQL Injection Fazit Vielen Dank für die Aufmerksamkeit! Fragen? Sicherheit in Webanwendungen - Christian Benz

More Related