SlideShare uma empresa Scribd logo
1 de 35
Online Security
Wer, was,wie?
Agenda

1. WER SIND DIE ANGREIFER
2. DIE TOP 10 GEFAHREN UND WAS ICH DAGEGEN
   UNTERNEHMEN KANN
„   Privacy is implied. Privacy is not up for
    discussion.(Mikko Hypponen)
Webinar: Online Security
Webinar: Online Security
Webinar: Online Security
Webinar: Online Security
Webinar: Online Security
Webinar: Online Security
Webinar: Online Security
Webinar: Online Security
Webinar: Online Security
Webinar: Online Security
Webinar: Online Security
HTTPS://
Top 10 Online Gefahren
 Injection
 Cross Site Scripting (XSS)
 Broken Authentication and Session Management
 Insecure Direct Object References
 Cross Site Request Forgery (CSRF)
 Security Misconfiguration
 Insecure Cryptographic Storage
 Failure to Restrict URL Access
 Insufficient Transport Layer Protection
 Unvalidated Redirects and Forwards
10) Unvalidated Redirects and Forwards

  In Webapplikationen kommt es h aufig zu Weiterleitungen zu anderen
   Webseiten. Oft werden hierbei uber die Url mitgegebene Parameter
   genommen um die Zieladresse zu ermitteln.


  Gefahr:
    Angreifer kann dadurch das Opfer auf Malware- oder Phishing-Seiten
     weiterleiten
    Umgehung von Authorisierungsmaßnahmen
    http://example.org/redirect.php?url=http://evil.org


  Maßnahmen:
    Möglichst keine Urls aus User Parametern übernehmen
    Input Validierug / White-Listing
9) Insufficient Transport Layer Protection
 Bei Web Applikationen wird der Netzwerkverkehr nicht mittels Verschlüsselung
  geschützt, auch wenn sensible Daten übertragen
  werden.

 Gefahr:
   Angreifer kann vertrauliche Informationen mitlesen oder verändern
    (Gesundheitsdaten, Kreditkartennummern, Passwörter, geheime
    Firmendaten...)

 Maßnahmen:
   SSL
   Verschlüsseln und Signieren der Daten vor der Übertragung
8) Failure to Restrict URL Access
 Typische Fehler:
   Es werden nur bestimmte Links und Menü-Punkte angezeigt, die anderen
    werden versteckt (Security by Obscurity)
   Presentation Layer Access Control: Keine Überprüfung am Server


 Gefahr:
   Angreifer kann Funktionen aufrufen, für die er nicht berechtigt ist
   http://www.the-online-bank.com/user/getAccountData
   http://www.the-online-bank.com/admin/getAccountData

 Maßnahmen:
   Für jede Url sicherstellen, dass der User für den Zugriff authorisiert ist
   Auf bestimmten Seiten ist überhaupt kein Zugriff möglich
    (Config-Files, Log-Files, etc.)
7) Insecure Cryptographic Storage
 Das Problem liegt oft darin festzustellen, was sensible Daten sind und wo diese
  überall gespeichert sind (Logfiles, Backups...)


 Gefahr:
   Angreifer hat Zugriff auf sensible Daten und kann diese verändern


 Maßnahmen:
   Verschlüsselung (Datenbanken, Files ...) mit Standardalgorithmen
   Schlüssel schützen
6) Security Misconfiguration
 Die Sicherheit der Web Applikation hängt von den darunterliegenden Schichten
  ab. Wichtig ist hierbei die Installation der aktuellen Patches.


 Gefahr:
   Sicherheitslücken ausnutzen, da keine Patches installiert wurden
   Standard Passwörter zu Default Accounts
   Unautorisierten Zugriff auf Funktionalität durch schlechte
   Server Konfiguration#


 Maßnahmen:
   Hardening Prozess definieren
5) Cross Site Request Forgery (CSRF)




1.   Angreifer sendet präparierte URL an Benutzer durch zusätzlichen
     Kanal (z.B. E-Mail)

2.   Benutzer ruft Seite im Browser auf. Server führt Aktion direkt aus

3.   Dieser Punkt ist je nach Angriff optional. Zum Beispiel bei
     Passwortänderungen greift der Angreifer mit dieser Information auf den
     Server zu. Bei Aktionen ohne weiteren Zugriff des Angreifers (z.B.
     Überweisungen) ist dieser Punkt nicht mehr notwendig
5) Cross Site Request Forgery (CSRF)
 CSRF: Missbrauch des Vertrauens der Applikation gegen uber Benutzer
 Durch untergeschobene präparierte URL kann ein Angreifer einen
  Benutzer zu einer Aktion am Server missbrauchen – die Daten für die Authentisierung (Session
  Cookie, IP Adresse, SSL Zertifikate des Clients, etc.) werden automatisch mitgeschickt


 Gefahr:
    Der Angreifer kann alles machen, das der Benutzer auch kann. (Account
      löschen, Logout, Überweisung machen etc.)
    http://server/changePassword.php?newPassword=angreifer“


 Maßnahmen
    Ein (zufälliger) geheimer Token, der nicht automatisch übertragen wird, zu allen kritischen Requests
      hinzufügen. Dieser Token (SharedSecret) ist nur dem Client und dem Server bekannt. Bei jeder
      Anfrage vom Client wird dieser Token dem Server übermittelt.
   <i n p u t name=”token ” v a l u e=”134 awe r i o a s d f 1 2 ”
   type=”hidden ”/>


       Bei unverschlüsselter Kommunikation kann ein Angreifer diesen Token stehlen
    Verifizierung der Aktion durch Benutzer anfordern
       “Möchten Sie wirklich Ihr ...?”
4) Insecure Direct Object References
 Ähnlich zu “Failure to Restrict URL Access”

 Typische Fehler:
    Es werden nur bestimmte Objekte angezeigt, die anderen werden versteckt
    Presentation Layer Access Control: Keine Überprüfung auf Server-Seite

 Gefahr:
    Angreifer wird ähnliche Nummern ausprobieren:
    www.example-bank.com?account=100
    www.example-bank.com?account=102
    www.example-bank.com?account=104

 Maßnahmen:
    Keine direkte Referenz auf Objekte - nur ein zufälliger,
    Temporärer Mapping-Value
      Statt ?account=100 – ?account=8w9e9fgi
      Statt ?file=accounting.xls – ?file=119347
      Überprüfung der Objekt Referenzen: Formatierung, ob der User die Berechtigung
       hat zuzugreifen, etc.
3) Broken Authentication and Session Management
 Zur Erinnerung: HTTP ist ein stateless Protokoll
 Die SessionID wird verwendet um den Status des Users festzuhalten


 Gefahr:
   Session Hijacking – Beispiel: Firesheep
   User Accounts übernehmen
   Aber auch die Funktionen: Passwort ändern, Sicherheitsfrage, Passwort
    vergessen, etc.


 Maßnahmen:
   Verwendung von SSL und Sicherstellung, dass die SessionID immer durch
    SSL geschützt ist
   Sicherstellen, dass ein logout wirklich die Session zerstört
2) Cross-Site Scripting (XSS)
 Unvalidierter Benutzerinput wird genommen und ausgegeben
  <s c r i p t >a l e r t (” x s s ”);</ s c r i p t >

 Ausführung des Codes durch vertrauenswürdigen Server. Zertifikate und
  Verschlüsselung der Kommunikation zwischen Server und Benutzer bieten
  keinen Schutz.

 Der eingeschleuste Code wird direkt von der vertrauten Domäne
  ausgeführt.

 Arten:
   Reflected XSS
   Stored XSS
2) Cross Site Scripting (XSS)
”Reflected“
 HEISE Security - News vom 22.3.2012
 XSS Angriff durchgeführt auf https://www.paypal.com
2) Cross-Site Scripting (XSS)
 Gefahr:
   Session Hijacking
   Teile der Web Page überschreiben und User zu anderer Seite
    weiterleiten


 Maßnahmen:
   Keinen Input des Users auf der Webseite anzeigen.
   Falls das nicht geht: Encoding!
   Validierung des User-Inputs; White-Lists
1) Injection
 Injection bedeutet, dass an einen Interpreter Commandos geschickt und diese
  ausgeführt werden in einer Art und Weise wie es eigentlich nicht vorgesehen
  ist.


 Sql-Injection, OS Shell Injection, Buffer Overflows etc.


 Gefahr:
   Datenbankeinträge können manipuliert, ausgelesen oder gelöscht werden
   Betriebssystem Zugriffe
   …
1) Injection - SQL Injection
 Jede Eingabe MUSS validiert werden. Es ist nicht ausreichend nur
  Formularfelder zu validieren. Injection ist auch zum Beispiel durch HTTP
  Header-Felder möglich.
 Ausfiltern von speziellen Datenbankzeichen wie zum Beispiel einfache
  Hochkomma -> Blacklist Filtering
 Zu bevorzugen ist eine Prüfung der Eingaben auf gültige Zeichen ->
  Whitelist Filtering
 Precompiled Statements verwenden. Das Statement wird in der Datenbank mit
  Platzhaltern kompiliert. Spätere Manipulation des Statements durch Eingaben
  nicht mehr möglich.
 Minimierung der notwendigen Rechte in der Datenbank -> Principle
  of „Least Privilege“. Verhindert SQL Injection nicht, verkleinert jedoch den
  Schaden durch einen Angriff.
1) Injection - Command Injection - Maßnahmen
 Validierung der Eingaben (siehe auch SQL Injection)
 Verwenden der Funktionen von Programmiersprachen zum Lesen von Dateien
 Beschränken der Zugriffsrechte auf Dateien durch Rechtevergabe oder
  Verwendung von chroot Umgebungen
 Minimieren der möglichen ausführbaren Dateien
 Berücksichtigen der System-Konfigurationen (z.B. sichere PHP Konfiguration)
…und immer an sichere Passworte denken!


  Wie schnell kann Ihres gehackt werden?

  Sample Passwords                         Class of Attack
  Pwd                  Combinations        Dual Core PC
  darren               308.9 Million       Instant
  Land3rz              3.5 Trillion        58 Mins
  B33r&Mug             7.2 Quadrillion     83½ Days
Literaturhinweise/Links
Open Web Application Security Project www.owasp.org
 OWASP Top 10 Project
 OWASP Testing Guide
 OWASP Web Goat Project
Zertifizierungen
                                  kuehlhaus Web-Developer sind zertifiziert in
   Development
                                  allen wichtigen Basis-Technologien und Frameworks
                                   Die zertifizierten kuehlhaus Experten sichern
                                   Gesteigerte Budgetzuverlässigkeit*
                                   Effizienteres Zeitmanagement und gesteigerte
                                    Produktivität durch den sicheren Umgang mit
                                    Produkten und Technologien*
                                   Detaillierte Security Tests
                                   Entwicklung unter Security-Gesichtspunkten

                                   … und die Zertifizierung belegt, dass das Entwicklerteam
                                    in Bezug auf diese Technologien auf dem neuesten Stand ist




* Quelle: Burlington Consultants, Value of Training and Certification study 2003
kuehlhaus AG
N7 5-6
D-68161 Mannheim
Dr. Nico Berndt
Head of Development


Telefon +49.621.496083-0
E-Mail   info@kuehlhaus.com
Internet www.kuehlhaus.com

Die Inhalte dieser Präsentation sind das geistige Eigentum unseres
Unternehmens. Jede weitere Verwendung sowie Weitergabe an Dritte im
Original, als Kopie, in Auszügen, elektronischer Form oder durch
inhaltsähnliche Darstellung bedürfen der Zustimmung der kuehlhaus AG.

Mais conteúdo relacionado

Semelhante a Webinar: Online Security

Sicherheitsprüfung für HP NonStop Systeme
Sicherheitsprüfung für HP NonStop SystemeSicherheitsprüfung für HP NonStop Systeme
Sicherheitsprüfung für HP NonStop SystemePeter Haase
 
Compliance needs transparency
Compliance needs transparencyCompliance needs transparency
Compliance needs transparencyBalaBit
 
Web application security
Web application securityWeb application security
Web application securityOliver Hader
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.QAware GmbH
 
SecurityForum April 2015 - Das SSL Dilemma - or One Million Ways to Die in th...
SecurityForum April 2015 - Das SSL Dilemma - or One Million Ways to Die in th...SecurityForum April 2015 - Das SSL Dilemma - or One Million Ways to Die in th...
SecurityForum April 2015 - Das SSL Dilemma - or One Million Ways to Die in th...Christopher Bleckmann-Dreher
 
Microsoft Cyber Security IT-Camp
Microsoft Cyber Security IT-CampMicrosoft Cyber Security IT-Camp
Microsoft Cyber Security IT-CampAlexander Benoit
 
IT-Sicherheit und agile Entwicklung? Geht das? Sicher!
IT-Sicherheit und agile Entwicklung? Geht das? Sicher!IT-Sicherheit und agile Entwicklung? Geht das? Sicher!
IT-Sicherheit und agile Entwicklung? Geht das? Sicher!Carsten Cordes
 
Security Scanner Design am Beispiel von httprecon
Security Scanner Design am Beispiel von httpreconSecurity Scanner Design am Beispiel von httprecon
Security Scanner Design am Beispiel von httpreconMarc Ruef
 
High Security PHP Applications
High Security PHP ApplicationsHigh Security PHP Applications
High Security PHP Applicationsguest0e6d5e
 
Hardening Oracle Databases (German)
Hardening Oracle Databases (German)Hardening Oracle Databases (German)
Hardening Oracle Databases (German)Carsten Muetzlitz
 
Offensive Security – Das Metasploit Framework
Offensive Security – Das Metasploit FrameworkOffensive Security – Das Metasploit Framework
Offensive Security – Das Metasploit FrameworkQAware GmbH
 
Webanwendungen - Installation, Konfiguration und Administration
Webanwendungen - Installation, Konfiguration und AdministrationWebanwendungen - Installation, Konfiguration und Administration
Webanwendungen - Installation, Konfiguration und AdministrationThomas Siegers
 
MongoDB: Security-Tipps gegen Hacker
MongoDB: Security-Tipps gegen HackerMongoDB: Security-Tipps gegen Hacker
MongoDB: Security-Tipps gegen HackerGregor Biswanger
 
Magento Application Security [DE]
Magento Application Security [DE]Magento Application Security [DE]
Magento Application Security [DE]Anna Völkl
 
D3 000908 Lotusday Hagen Bcc Id Vault
D3 000908 Lotusday Hagen Bcc Id VaultD3 000908 Lotusday Hagen Bcc Id Vault
D3 000908 Lotusday Hagen Bcc Id VaultAndreas Schulte
 
IT-Sicherheit und agile Entwicklung – geht das? Sicher!
IT-Sicherheit und agile Entwicklung – geht das? Sicher!IT-Sicherheit und agile Entwicklung – geht das? Sicher!
IT-Sicherheit und agile Entwicklung – geht das? Sicher!Carsten Cordes
 
Splunk Discovery Köln - 17-01-2020 - Security Operations mit Splunk
Splunk Discovery Köln - 17-01-2020 - Security Operations mit SplunkSplunk Discovery Köln - 17-01-2020 - Security Operations mit Splunk
Splunk Discovery Köln - 17-01-2020 - Security Operations mit SplunkSplunk
 
Sicherheitsfunktionen In Aktuellen Betriebssystemen Talk
Sicherheitsfunktionen In Aktuellen Betriebssystemen TalkSicherheitsfunktionen In Aktuellen Betriebssystemen Talk
Sicherheitsfunktionen In Aktuellen Betriebssystemen TalkUdo Ornik
 

Semelhante a Webinar: Online Security (20)

Wie gewährleisten Sie die Einhaltung von Sicherheitsanforderungen an Ihre Mes...
Wie gewährleisten Sie die Einhaltung von Sicherheitsanforderungen an Ihre Mes...Wie gewährleisten Sie die Einhaltung von Sicherheitsanforderungen an Ihre Mes...
Wie gewährleisten Sie die Einhaltung von Sicherheitsanforderungen an Ihre Mes...
 
Sicherheitsprüfung für HP NonStop Systeme
Sicherheitsprüfung für HP NonStop SystemeSicherheitsprüfung für HP NonStop Systeme
Sicherheitsprüfung für HP NonStop Systeme
 
Compliance needs transparency
Compliance needs transparencyCompliance needs transparency
Compliance needs transparency
 
Web application security
Web application securityWeb application security
Web application security
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
 
SecurityForum April 2015 - Das SSL Dilemma - or One Million Ways to Die in th...
SecurityForum April 2015 - Das SSL Dilemma - or One Million Ways to Die in th...SecurityForum April 2015 - Das SSL Dilemma - or One Million Ways to Die in th...
SecurityForum April 2015 - Das SSL Dilemma - or One Million Ways to Die in th...
 
Microsoft Cyber Security IT-Camp
Microsoft Cyber Security IT-CampMicrosoft Cyber Security IT-Camp
Microsoft Cyber Security IT-Camp
 
IT-Sicherheit und agile Entwicklung? Geht das? Sicher!
IT-Sicherheit und agile Entwicklung? Geht das? Sicher!IT-Sicherheit und agile Entwicklung? Geht das? Sicher!
IT-Sicherheit und agile Entwicklung? Geht das? Sicher!
 
Security Scanner Design am Beispiel von httprecon
Security Scanner Design am Beispiel von httpreconSecurity Scanner Design am Beispiel von httprecon
Security Scanner Design am Beispiel von httprecon
 
High Security PHP Applications
High Security PHP ApplicationsHigh Security PHP Applications
High Security PHP Applications
 
Hardening Oracle Databases (German)
Hardening Oracle Databases (German)Hardening Oracle Databases (German)
Hardening Oracle Databases (German)
 
Offensive Security – Das Metasploit Framework
Offensive Security – Das Metasploit FrameworkOffensive Security – Das Metasploit Framework
Offensive Security – Das Metasploit Framework
 
Webanwendungen - Installation, Konfiguration und Administration
Webanwendungen - Installation, Konfiguration und AdministrationWebanwendungen - Installation, Konfiguration und Administration
Webanwendungen - Installation, Konfiguration und Administration
 
MongoDB: Security-Tipps gegen Hacker
MongoDB: Security-Tipps gegen HackerMongoDB: Security-Tipps gegen Hacker
MongoDB: Security-Tipps gegen Hacker
 
Magento Application Security [DE]
Magento Application Security [DE]Magento Application Security [DE]
Magento Application Security [DE]
 
D3 000908 Lotusday Hagen Bcc Id Vault
D3 000908 Lotusday Hagen Bcc Id VaultD3 000908 Lotusday Hagen Bcc Id Vault
D3 000908 Lotusday Hagen Bcc Id Vault
 
IT-Sicherheit und agile Entwicklung – geht das? Sicher!
IT-Sicherheit und agile Entwicklung – geht das? Sicher!IT-Sicherheit und agile Entwicklung – geht das? Sicher!
IT-Sicherheit und agile Entwicklung – geht das? Sicher!
 
Splunk Discovery Köln - 17-01-2020 - Security Operations mit Splunk
Splunk Discovery Köln - 17-01-2020 - Security Operations mit SplunkSplunk Discovery Köln - 17-01-2020 - Security Operations mit Splunk
Splunk Discovery Köln - 17-01-2020 - Security Operations mit Splunk
 
Internet of (Every)Thing
Internet of (Every)ThingInternet of (Every)Thing
Internet of (Every)Thing
 
Sicherheitsfunktionen In Aktuellen Betriebssystemen Talk
Sicherheitsfunktionen In Aktuellen Betriebssystemen TalkSicherheitsfunktionen In Aktuellen Betriebssystemen Talk
Sicherheitsfunktionen In Aktuellen Betriebssystemen Talk
 

Mais de kuehlhaus AG

User Story Mapping-Hands-On // UX-DAY MASTERCLASS
User Story Mapping-Hands-On // UX-DAY MASTERCLASSUser Story Mapping-Hands-On // UX-DAY MASTERCLASS
User Story Mapping-Hands-On // UX-DAY MASTERCLASSkuehlhaus AG
 
Webinar - Frag doch mal die Nutzer!
Webinar - Frag doch mal die Nutzer!Webinar - Frag doch mal die Nutzer!
Webinar - Frag doch mal die Nutzer!kuehlhaus AG
 
Webinar: Responsive Design
Webinar: Responsive DesignWebinar: Responsive Design
Webinar: Responsive Designkuehlhaus AG
 
Webinar: SEO mit der kuehlhaus AG
Webinar: SEO mit der kuehlhaus AGWebinar: SEO mit der kuehlhaus AG
Webinar: SEO mit der kuehlhaus AGkuehlhaus AG
 
Webinar: Content UX - Wie Inhalte ihren Internetauftritt beeinflussen
Webinar: Content UX - Wie Inhalte ihren Internetauftritt beeinflussenWebinar: Content UX - Wie Inhalte ihren Internetauftritt beeinflussen
Webinar: Content UX - Wie Inhalte ihren Internetauftritt beeinflussenkuehlhaus AG
 
Webinar: Gamification - Lasset die Spiele beginnen
Webinar: Gamification - Lasset die Spiele beginnenWebinar: Gamification - Lasset die Spiele beginnen
Webinar: Gamification - Lasset die Spiele beginnenkuehlhaus AG
 
Content kills your Concept?!
Content kills your Concept?!Content kills your Concept?!
Content kills your Concept?!kuehlhaus AG
 
Webinar: Mit dem User Experience Index die Qualität Ihrer Website erhalten un...
Webinar: Mit dem User Experience Index die Qualität Ihrer Website erhalten un...Webinar: Mit dem User Experience Index die Qualität Ihrer Website erhalten un...
Webinar: Mit dem User Experience Index die Qualität Ihrer Website erhalten un...kuehlhaus AG
 
Webinar: Mit Mental Models Kunden langfristig binden
Webinar: Mit Mental Models Kunden langfristig bindenWebinar: Mit Mental Models Kunden langfristig binden
Webinar: Mit Mental Models Kunden langfristig bindenkuehlhaus AG
 

Mais de kuehlhaus AG (9)

User Story Mapping-Hands-On // UX-DAY MASTERCLASS
User Story Mapping-Hands-On // UX-DAY MASTERCLASSUser Story Mapping-Hands-On // UX-DAY MASTERCLASS
User Story Mapping-Hands-On // UX-DAY MASTERCLASS
 
Webinar - Frag doch mal die Nutzer!
Webinar - Frag doch mal die Nutzer!Webinar - Frag doch mal die Nutzer!
Webinar - Frag doch mal die Nutzer!
 
Webinar: Responsive Design
Webinar: Responsive DesignWebinar: Responsive Design
Webinar: Responsive Design
 
Webinar: SEO mit der kuehlhaus AG
Webinar: SEO mit der kuehlhaus AGWebinar: SEO mit der kuehlhaus AG
Webinar: SEO mit der kuehlhaus AG
 
Webinar: Content UX - Wie Inhalte ihren Internetauftritt beeinflussen
Webinar: Content UX - Wie Inhalte ihren Internetauftritt beeinflussenWebinar: Content UX - Wie Inhalte ihren Internetauftritt beeinflussen
Webinar: Content UX - Wie Inhalte ihren Internetauftritt beeinflussen
 
Webinar: Gamification - Lasset die Spiele beginnen
Webinar: Gamification - Lasset die Spiele beginnenWebinar: Gamification - Lasset die Spiele beginnen
Webinar: Gamification - Lasset die Spiele beginnen
 
Content kills your Concept?!
Content kills your Concept?!Content kills your Concept?!
Content kills your Concept?!
 
Webinar: Mit dem User Experience Index die Qualität Ihrer Website erhalten un...
Webinar: Mit dem User Experience Index die Qualität Ihrer Website erhalten un...Webinar: Mit dem User Experience Index die Qualität Ihrer Website erhalten un...
Webinar: Mit dem User Experience Index die Qualität Ihrer Website erhalten un...
 
Webinar: Mit Mental Models Kunden langfristig binden
Webinar: Mit Mental Models Kunden langfristig bindenWebinar: Mit Mental Models Kunden langfristig binden
Webinar: Mit Mental Models Kunden langfristig binden
 

Webinar: Online Security

  • 2. Agenda 1. WER SIND DIE ANGREIFER 2. DIE TOP 10 GEFAHREN UND WAS ICH DAGEGEN UNTERNEHMEN KANN
  • 3. Privacy is implied. Privacy is not up for discussion.(Mikko Hypponen)
  • 16. Top 10 Online Gefahren  Injection  Cross Site Scripting (XSS)  Broken Authentication and Session Management  Insecure Direct Object References  Cross Site Request Forgery (CSRF)  Security Misconfiguration  Insecure Cryptographic Storage  Failure to Restrict URL Access  Insufficient Transport Layer Protection  Unvalidated Redirects and Forwards
  • 17. 10) Unvalidated Redirects and Forwards  In Webapplikationen kommt es h aufig zu Weiterleitungen zu anderen Webseiten. Oft werden hierbei uber die Url mitgegebene Parameter genommen um die Zieladresse zu ermitteln.  Gefahr:  Angreifer kann dadurch das Opfer auf Malware- oder Phishing-Seiten weiterleiten  Umgehung von Authorisierungsmaßnahmen  http://example.org/redirect.php?url=http://evil.org  Maßnahmen:  Möglichst keine Urls aus User Parametern übernehmen  Input Validierug / White-Listing
  • 18. 9) Insufficient Transport Layer Protection  Bei Web Applikationen wird der Netzwerkverkehr nicht mittels Verschlüsselung geschützt, auch wenn sensible Daten übertragen werden.  Gefahr:  Angreifer kann vertrauliche Informationen mitlesen oder verändern (Gesundheitsdaten, Kreditkartennummern, Passwörter, geheime Firmendaten...)  Maßnahmen:  SSL  Verschlüsseln und Signieren der Daten vor der Übertragung
  • 19. 8) Failure to Restrict URL Access  Typische Fehler:  Es werden nur bestimmte Links und Menü-Punkte angezeigt, die anderen werden versteckt (Security by Obscurity)  Presentation Layer Access Control: Keine Überprüfung am Server  Gefahr:  Angreifer kann Funktionen aufrufen, für die er nicht berechtigt ist  http://www.the-online-bank.com/user/getAccountData  http://www.the-online-bank.com/admin/getAccountData  Maßnahmen:  Für jede Url sicherstellen, dass der User für den Zugriff authorisiert ist  Auf bestimmten Seiten ist überhaupt kein Zugriff möglich (Config-Files, Log-Files, etc.)
  • 20. 7) Insecure Cryptographic Storage  Das Problem liegt oft darin festzustellen, was sensible Daten sind und wo diese überall gespeichert sind (Logfiles, Backups...)  Gefahr:  Angreifer hat Zugriff auf sensible Daten und kann diese verändern  Maßnahmen:  Verschlüsselung (Datenbanken, Files ...) mit Standardalgorithmen  Schlüssel schützen
  • 21. 6) Security Misconfiguration  Die Sicherheit der Web Applikation hängt von den darunterliegenden Schichten ab. Wichtig ist hierbei die Installation der aktuellen Patches.  Gefahr:  Sicherheitslücken ausnutzen, da keine Patches installiert wurden  Standard Passwörter zu Default Accounts  Unautorisierten Zugriff auf Funktionalität durch schlechte  Server Konfiguration#  Maßnahmen:  Hardening Prozess definieren
  • 22. 5) Cross Site Request Forgery (CSRF) 1. Angreifer sendet präparierte URL an Benutzer durch zusätzlichen Kanal (z.B. E-Mail) 2. Benutzer ruft Seite im Browser auf. Server führt Aktion direkt aus 3. Dieser Punkt ist je nach Angriff optional. Zum Beispiel bei Passwortänderungen greift der Angreifer mit dieser Information auf den Server zu. Bei Aktionen ohne weiteren Zugriff des Angreifers (z.B. Überweisungen) ist dieser Punkt nicht mehr notwendig
  • 23. 5) Cross Site Request Forgery (CSRF)  CSRF: Missbrauch des Vertrauens der Applikation gegen uber Benutzer  Durch untergeschobene präparierte URL kann ein Angreifer einen Benutzer zu einer Aktion am Server missbrauchen – die Daten für die Authentisierung (Session Cookie, IP Adresse, SSL Zertifikate des Clients, etc.) werden automatisch mitgeschickt  Gefahr:  Der Angreifer kann alles machen, das der Benutzer auch kann. (Account löschen, Logout, Überweisung machen etc.)  http://server/changePassword.php?newPassword=angreifer“  Maßnahmen  Ein (zufälliger) geheimer Token, der nicht automatisch übertragen wird, zu allen kritischen Requests hinzufügen. Dieser Token (SharedSecret) ist nur dem Client und dem Server bekannt. Bei jeder Anfrage vom Client wird dieser Token dem Server übermittelt. <i n p u t name=”token ” v a l u e=”134 awe r i o a s d f 1 2 ” type=”hidden ”/>  Bei unverschlüsselter Kommunikation kann ein Angreifer diesen Token stehlen  Verifizierung der Aktion durch Benutzer anfordern  “Möchten Sie wirklich Ihr ...?”
  • 24. 4) Insecure Direct Object References  Ähnlich zu “Failure to Restrict URL Access”  Typische Fehler:  Es werden nur bestimmte Objekte angezeigt, die anderen werden versteckt  Presentation Layer Access Control: Keine Überprüfung auf Server-Seite  Gefahr:  Angreifer wird ähnliche Nummern ausprobieren:  www.example-bank.com?account=100  www.example-bank.com?account=102  www.example-bank.com?account=104  Maßnahmen:  Keine direkte Referenz auf Objekte - nur ein zufälliger,  Temporärer Mapping-Value  Statt ?account=100 – ?account=8w9e9fgi  Statt ?file=accounting.xls – ?file=119347  Überprüfung der Objekt Referenzen: Formatierung, ob der User die Berechtigung hat zuzugreifen, etc.
  • 25. 3) Broken Authentication and Session Management  Zur Erinnerung: HTTP ist ein stateless Protokoll  Die SessionID wird verwendet um den Status des Users festzuhalten  Gefahr:  Session Hijacking – Beispiel: Firesheep  User Accounts übernehmen  Aber auch die Funktionen: Passwort ändern, Sicherheitsfrage, Passwort vergessen, etc.  Maßnahmen:  Verwendung von SSL und Sicherstellung, dass die SessionID immer durch SSL geschützt ist  Sicherstellen, dass ein logout wirklich die Session zerstört
  • 26. 2) Cross-Site Scripting (XSS)  Unvalidierter Benutzerinput wird genommen und ausgegeben <s c r i p t >a l e r t (” x s s ”);</ s c r i p t >  Ausführung des Codes durch vertrauenswürdigen Server. Zertifikate und Verschlüsselung der Kommunikation zwischen Server und Benutzer bieten keinen Schutz.  Der eingeschleuste Code wird direkt von der vertrauten Domäne ausgeführt.  Arten:  Reflected XSS  Stored XSS
  • 27. 2) Cross Site Scripting (XSS) ”Reflected“  HEISE Security - News vom 22.3.2012  XSS Angriff durchgeführt auf https://www.paypal.com
  • 28. 2) Cross-Site Scripting (XSS)  Gefahr:  Session Hijacking  Teile der Web Page überschreiben und User zu anderer Seite weiterleiten  Maßnahmen:  Keinen Input des Users auf der Webseite anzeigen.  Falls das nicht geht: Encoding!  Validierung des User-Inputs; White-Lists
  • 29. 1) Injection  Injection bedeutet, dass an einen Interpreter Commandos geschickt und diese ausgeführt werden in einer Art und Weise wie es eigentlich nicht vorgesehen ist.  Sql-Injection, OS Shell Injection, Buffer Overflows etc.  Gefahr:  Datenbankeinträge können manipuliert, ausgelesen oder gelöscht werden  Betriebssystem Zugriffe  …
  • 30. 1) Injection - SQL Injection  Jede Eingabe MUSS validiert werden. Es ist nicht ausreichend nur Formularfelder zu validieren. Injection ist auch zum Beispiel durch HTTP Header-Felder möglich.  Ausfiltern von speziellen Datenbankzeichen wie zum Beispiel einfache Hochkomma -> Blacklist Filtering  Zu bevorzugen ist eine Prüfung der Eingaben auf gültige Zeichen -> Whitelist Filtering  Precompiled Statements verwenden. Das Statement wird in der Datenbank mit Platzhaltern kompiliert. Spätere Manipulation des Statements durch Eingaben nicht mehr möglich.  Minimierung der notwendigen Rechte in der Datenbank -> Principle of „Least Privilege“. Verhindert SQL Injection nicht, verkleinert jedoch den Schaden durch einen Angriff.
  • 31. 1) Injection - Command Injection - Maßnahmen  Validierung der Eingaben (siehe auch SQL Injection)  Verwenden der Funktionen von Programmiersprachen zum Lesen von Dateien  Beschränken der Zugriffsrechte auf Dateien durch Rechtevergabe oder Verwendung von chroot Umgebungen  Minimieren der möglichen ausführbaren Dateien  Berücksichtigen der System-Konfigurationen (z.B. sichere PHP Konfiguration)
  • 32. …und immer an sichere Passworte denken! Wie schnell kann Ihres gehackt werden? Sample Passwords Class of Attack Pwd Combinations Dual Core PC darren 308.9 Million Instant Land3rz 3.5 Trillion 58 Mins B33r&Mug 7.2 Quadrillion 83½ Days
  • 33. Literaturhinweise/Links Open Web Application Security Project www.owasp.org  OWASP Top 10 Project  OWASP Testing Guide  OWASP Web Goat Project
  • 34. Zertifizierungen kuehlhaus Web-Developer sind zertifiziert in Development allen wichtigen Basis-Technologien und Frameworks  Die zertifizierten kuehlhaus Experten sichern  Gesteigerte Budgetzuverlässigkeit*  Effizienteres Zeitmanagement und gesteigerte Produktivität durch den sicheren Umgang mit Produkten und Technologien*  Detaillierte Security Tests  Entwicklung unter Security-Gesichtspunkten  … und die Zertifizierung belegt, dass das Entwicklerteam in Bezug auf diese Technologien auf dem neuesten Stand ist * Quelle: Burlington Consultants, Value of Training and Certification study 2003
  • 35. kuehlhaus AG N7 5-6 D-68161 Mannheim Dr. Nico Berndt Head of Development Telefon +49.621.496083-0 E-Mail info@kuehlhaus.com Internet www.kuehlhaus.com Die Inhalte dieser Präsentation sind das geistige Eigentum unseres Unternehmens. Jede weitere Verwendung sowie Weitergabe an Dritte im Original, als Kopie, in Auszügen, elektronischer Form oder durch inhaltsähnliche Darstellung bedürfen der Zustimmung der kuehlhaus AG.