SlideShare ist ein Scribd-Unternehmen logo
OWASP Germany 2008 Conference
                       http://www.owasp.org/index.php/Germany




                  Measuring the Security of Web
                  Applications



                           Sebastian Schinzel

                           Virtual Forge GmbH

OWASP                      +49 622 1 868 900
Frankfurt, 25.11.08

                      Copyright © The OWASP Foundation
                      Permission is granted to copy, distribute and/or modify this document
                      under the terms of the OWASP License.




                      The OWASP Foundation
                      http://www.owasp.org
Daten im Internet




OWASP Germany 2008 Conference
Measuring the Security of Web Applications – Sebastian Schinzel
                                                                  OWASP   2
Lord Kelvin 1824 - 1907                                "If you can not measure it,
                                                       you can not improve it."


                                                       “I often say that when you can measure
                                                       what you are speaking about,
                                                      and express it in numbers,
                                                      you know something about it;”

                                                     “but when you cannot express it in numbers,
                                                     your knowledge is of a meagre
                                                     and unsatisfactory kind;“

                                                      “it may be the beginning of knowledge,
                                                      but you have scarcely, in your thoughts,
                                                      advanced to the stage of science,
                                                      whatever the matter may be.”
                                                      http://en.wikiquote.org/wiki/William_Thomson,_1st_Baron_Kelvin




OWASP Germany 2008 Conference
Measuring the Security of Web Applications – Sebastian Schinzel
                                                                                                OWASP                  3
Software ist...

         trivial / komplex                                        stabil / buggy
       günstig / teuer                                      langsam / performant
                                                 gut / schlecht
             sicher / unsicher
                                 Software

     gut                                                                     schlecht




OWASP Germany 2008 Conference
Measuring the Security of Web Applications – Sebastian Schinzel
                                                                           OWASP        4
“Mein Apfel ist besser als Dein Fenster”


                                                Was ist sicherer?

                                                                  ?

                            unsicher                                  sicher




OWASP Germany 2008 Conference
Measuring the Security of Web Applications – Sebastian Schinzel
                                                                      OWASP    5
“Von null auf hundert in 25.000€”


                 Betriebssystem ist “Unbreakable”!


       “Sicherheit über Nacht mit PowerSecure tm!”


 Studie:
 “Apfel X ist etwa doppelt so sicher wie Birne Y.”



OWASP Germany 2008 Conference
Measuring the Security of Web Applications – Sebastian Schinzel
                                                                  OWASP   6
COTS vs. Individualsoftware
                                          Individual-Software:
                                           Geschäfts-Applikationen, z.B.
                                                Web-Shops
                                                E-Recruiting
      Individual-                          Web-Applikationen!
       Software                            Wartung oft unklar
                                           Enthält oft kritische und trivial findbare
                                            Sicherheits-Lücken


    Commercial                              COTS:
    off-the-shelf                               Betriebssystem (Win, Mac, Linux, ...)
                                                Web-Server (Apache, IIS, ...)
       (COTS)
                                                Wartung durch Hersteller
                                                Prozesse zur sicheren Entwicklung oft
                                                 vorhanden
OWASP Germany 2008 Conference
Measuring the Security of Web Applications – Sebastian Schinzel
                                                                              OWASP      7
Zwischenstand

Daten im Internet müssen geschützt werden

Sicherheit ist kontra-intuitiv (Marketing hat
 leichtes Spiel)

Web-Applikationen haben besondere
 Anforderungen an Sicherheit




OWASP Germany 2008 Conference
Measuring the Security of Web Applications – Sebastian Schinzel
                                                                  OWASP   8
Messen von Software-Eigenschaften

             Stabilität                                           Sicherheit




OWASP Germany 2008 Conference
Measuring the Security of Web Applications – Sebastian Schinzel
                                                                               OWASP   9
Wie messe ich Sicherheit?

      Überlegung: Zählen von Schwachstellen




                                           Owasp FFM

                                                                                Zeit
  Retrospektive                             Status Quo            Prognose


OWASP Germany 2008 Conference
Measuring the Security of Web Applications – Sebastian Schinzel
                                                                        OWASP      10
Wie messe ich Sicherheit retrospektiv?

Daten von Bugtraq, Full-Disclosure, CVE, ...
Annahme: Anzahl veröffentlichter Schwachstellen
  sei anti-proportional zur Sicherheit


        Sicherheit




                                                                  # Schwach-
                            0
                                                                  stellen
OWASP Germany 2008 Conference
Measuring the Security of Web Applications – Sebastian Schinzel
                                                                    OWASP      11
Wie messe ich Sicherheit retrospektiv?

Problem: Veröffentlichung von Sicherheitslücken
  hat strategischen Wert
      Forscher veröffentlicht Schwachstelle nicht
      Hersteller/Berater veröffentlicht Schwachstelle nicht
      Hacker veröffentlicht Schwachstelle nicht
      Zeitpunkt der Veröffentlichung != Zeitpunkt der
       Entdeckung




OWASP Germany 2008 Conference
Measuring the Security of Web Applications – Sebastian Schinzel
                                                                  OWASP   12
Wie messe ich Sicherheit im Status Quo?

Penetrationstest oder Code Audit:
“Ist ein bestehendes Software-System unsicher?”
      “Ja”
        oder
      “Keine Ahnung”                       # Schwach-
                                              stellen




                                                         0         Sicherheit


OWASP Germany 2008 Conference
Measuring the Security of Web Applications – Sebastian Schinzel
                                                                  OWASP         13
Wie messe ich Sicherheit im Status Quo?

Probleme von Penetrationstests:

      Reproduzierbarkeit?

      Abdeckung?

      Aussage?




OWASP Germany 2008 Conference
Measuring the Security of Web Applications – Sebastian Schinzel
                                                                  OWASP   14
Wie messe ich Sicherheit prognostizierend?



                                                                  Alhazmi et al.




 Nutzlos wenn:
 • # Sicherheitslücken unbekannt
    • Popularität gering
    • Verbreitung gering (Geschäfts-Applikationen?)

OWASP Germany 2008 Conference
Measuring the Security of Web Applications – Sebastian Schinzel
                                                                          OWASP    15
Zählen von Schwachstellen...

Schwachstellen werden nicht immer publiziert
Individuelle Web-Applikationen haben keine
 aussagekräftigen Daten über vergangene
 Schwachstellen
Messen von Sicherheit schwieriger zu messen als
 z.B. Stabilität

           Zählen von Schwachstellen hat nur wenig
             Aussagekraft über Sicherheit von Web-
                         Applikationen
OWASP Germany 2008 Conference
Measuring the Security of Web Applications – Sebastian Schinzel
                                                                  OWASP   16
Neuer Versuch:

Suche nach Ursprung typischer Schwachstellen

Zähle Vorkommen dieser Anti-Patterns




OWASP Germany 2008 Conference
Measuring the Security of Web Applications – Sebastian Schinzel
                                                                  OWASP   17
Software-Sicherheit: Wie messen?

 Ursprung von Cross-Site-Scripting-Schwachstelle?
 Keine ausreichende Trennung zwischen Benutzer-
 Daten und HTML- oder JavaScript-Kommandos
Eingabevalidierung:                                         Enkodierung von Datenausgaben:
 Kreditkartennummer sollte                                  Daten müssen als Daten
   validiert werden                                           markiert werden
 “Ist das eine semantisch                                   Ausgaben in HTML:
   korrekte Kreditkarten-                                          <b> --> &lt;b&gr;
   Nummer?”                                                  Ausgaben in JavaScript
 “Darf ein Vorname das Zeichen                                    O’Neil --> O’Neil
   ‘<‘ enthalten?”                                           Ausgaben in URL
 Filtern, Löschen, Ablehnen?                                      Ja/Nein --> Ja%2fNein
OWASP Germany 2008 Conference
Measuring the Security of Web Applications – Sebastian Schinzel
                                                                                         OWASP   18
Software-Sicherheit: Wie messen?

 Sicherheit soll Entscheidungungsgrundlage für
  Produktwahl sein:
      “Ist Applikation A, oder Applikation B sicherer?”
 Sicherheit verschiedener Systeme kann nur verglichen
  werden, wenn Sicherheitsanforderungen gleich sind
 Sicherheit kann nur im Vergleich mit
  Sicherheitsanforderung bewertet werden




OWASP Germany 2008 Conference
Measuring the Security of Web Applications – Sebastian Schinzel
                                                                  OWASP   19
Software-Sicherheit: Wie messen?

  Beispiel (1): Sicherheitsanforderung: “Trennung von
     Benutzerdaten und Kommandos bei HTML-Ausgabe”
  Konzept: Definition einer Enkodierungs-Funktion f, die
     Benutzereingaben A in HTML-Daten B überführt
  Validierung:
   Ist f korrekt und vollständig? → Audit der
     Implementierung von f
   Wurden alle HTML-Ausgaben bedacht? → “Anteil der
     HTML-Ausgaben ohne Enkodierung durch f”
   Approximierung: Aufruf von f muss innerhalb von 5
     Zeilen vor HTML-Ausgabe erfolgen
   Suche kann mit Source-Code-Scanner automatisiert
     werden
OWASP Germany 2008 Conference
Measuring the Security of Web Applications – Sebastian Schinzel
                                                                  OWASP   20
Software-Sicherheit: Wie messen?

Beispiel:
OK:
String str = request.getParam(“x”);
str = f(str);
response.write(“<b>” + str + ”</b>”);
Nicht OK:
String str = request.getParam(“x”);
response.write(“<b>” + str + ”</b>”);




OWASP Germany 2008 Conference
Measuring the Security of Web Applications – Sebastian Schinzel
                                                                  OWASP   21
Software-Sicherheit: Wie messen?

Beispiel:
Nicht OK:
String str = request.getParam(“x”);

    ...

if(immer_wahr) {
   str = f(str);
}

    ...

response.write(“<b>” + str + ”</b>”);




OWASP Germany 2008 Conference
Measuring the Security of Web Applications – Sebastian Schinzel
                                                                  OWASP   22
Software-Sicherheit: Wie messen?

        Aufwand um Sicherheitsanforderung zu erfüllen?
        Entwickler benötigt 0,1 Stunden, um HTML-
         Ausgabe mit Aufruf von f zu versehen

      Applikation A:                                              Applikation B:
       100 HTML-Ausgaben                                          1000 HTML-Ausgaben
        ohne Aufruf von f:                                          ohne Aufruf von f:
        CA1=100*0,1h                                                CB1=1000*0,1h
        =10h                                                        =100h
       1 Fehler in f: CA2=8h                                      0 Fehler in f: CB2=0h
       CA=CA1+CA2=18h                                             CB=CB1+CB2=100h


OWASP Germany 2008 Conference
Measuring the Security of Web Applications – Sebastian Schinzel
                                                                                OWASP       23
Software-Sicherheit: Wie messen?

“Um Applikation A sicher gemäß der
  Sicherheitsanforderung zu machen, ist ein
  Aufwand von 18 Entwicklerstunden nötig.”

“Um Applikation B sicher gemäß der
  Sicherheitsanforderung zu machen, ist ein
  Aufwand von 100 Entwicklerstunden nötig.”

→ Gemäß der Sicherheitsanforderung ist
 Applikation A zu bevorzugen
OWASP Germany 2008 Conference
Measuring the Security of Web Applications – Sebastian Schinzel
                                                                  OWASP   24
Zusammenfassung

              Software-Sicherheit im Web ist kritisch

Sicherheit ist kontra-intuitiv. Man muss messen, um
             wirklich verbessern zu können

            Zählen von Schwachstellen hat nur wenig
               Aussagekraft bei Web-Applikationen

       Möglicher Weg: Leicht messbare Software-
     Qualitäts-Anforderungen mit direktem Einfluß auf
                   Software-Sicherheit

OWASP Germany 2008 Conference
Measuring the Security of Web Applications – Sebastian Schinzel
                                                                  OWASP   25
OWASP Germany 2008 Conference
Measuring the Security of Web Applications – Sebastian Schinzel
                                                                  OWASP   26

Weitere ähnliche Inhalte

Ähnlich wie Measuring The Security Of Web Applications (Owasp Germany 2008)

Next Web & Open Standards: LIIP Vortrag Internet-Briefing
Next Web & Open Standards: LIIP Vortrag Internet-BriefingNext Web & Open Standards: LIIP Vortrag Internet-Briefing
Next Web & Open Standards: LIIP Vortrag Internet-Briefing
Walter Schärer
 
Secure Technical Implementation Guide for databases by Martin Obst
Secure Technical Implementation Guide for databases by Martin ObstSecure Technical Implementation Guide for databases by Martin Obst
Secure Technical Implementation Guide for databases by Martin Obst
Carsten Muetzlitz
 
Implementierbare Sicherheitsregeln im Enterprise Manager
Implementierbare Sicherheitsregeln im Enterprise ManagerImplementierbare Sicherheitsregeln im Enterprise Manager
Implementierbare Sicherheitsregeln im Enterprise Manager
Martin Obst
 
PersoApp - An Open Source Community for the new German national ID card
PersoApp - An Open Source Community for the new German national ID cardPersoApp - An Open Source Community for the new German national ID card
PersoApp - An Open Source Community for the new German national ID card
Sven Wohlgemuth
 
Sichere Webanwendungen mit OpenSAMM
Sichere Webanwendungen mit OpenSAMMSichere Webanwendungen mit OpenSAMM
Sichere Webanwendungen mit OpenSAMM
OPTIMAbit GmbH
 
LSZ Kurzpräsentation
LSZ KurzpräsentationLSZ Kurzpräsentation
LSZ Kurzpräsentation
Andreas Tomek
 
Apex testen wird überschaetzt
Apex testen wird überschaetztApex testen wird überschaetzt
Apex testen wird überschaetzt
Trivadis
 
Agile Softwareentwicklung Bei Geschäftsanwendungen
Agile Softwareentwicklung Bei GeschäftsanwendungenAgile Softwareentwicklung Bei Geschäftsanwendungen
Agile Softwareentwicklung Bei GeschäftsanwendungenLars Jankowfsky
 
OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021
OPITZ CONSULTING Deutschland
 
Der Weg in den vollautomatisierten SOC Betrieb
Der Weg in den vollautomatisierten SOC BetriebDer Weg in den vollautomatisierten SOC Betrieb
Der Weg in den vollautomatisierten SOC Betrieb
Splunk
 
Lucaas 2016 08
Lucaas 2016 08Lucaas 2016 08
Lucaas 2016 08
Ralf Trautz
 
Agile (Software-) Prozesse - Quo Vadis? [in German]
Agile (Software-) Prozesse - Quo Vadis? [in German]Agile (Software-) Prozesse - Quo Vadis? [in German]
Agile (Software-) Prozesse - Quo Vadis? [in German]
Martin Gaedke
 
Softwarequalität – Schlagwort oder Realität ?
Softwarequalität – Schlagwort oder Realität ?Softwarequalität – Schlagwort oder Realität ?
Softwarequalität – Schlagwort oder Realität ?
Ernest Wallmueller
 
Trivadis TechEvent 2016 APEX Applikationen auf Wolke 7 von Andrej Gorodetsky ...
Trivadis TechEvent 2016 APEX Applikationen auf Wolke 7 von Andrej Gorodetsky ...Trivadis TechEvent 2016 APEX Applikationen auf Wolke 7 von Andrej Gorodetsky ...
Trivadis TechEvent 2016 APEX Applikationen auf Wolke 7 von Andrej Gorodetsky ...
Trivadis
 
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
OPEN KNOWLEDGE GmbH
 
Wie Lean ist eigentlich ihre IT – Kundenwert und Verschwendung in der Informa...
Wie Lean ist eigentlich ihre IT – Kundenwert und Verschwendung in der Informa...Wie Lean ist eigentlich ihre IT – Kundenwert und Verschwendung in der Informa...
Wie Lean ist eigentlich ihre IT – Kundenwert und Verschwendung in der Informa...
Learning Factory
 
Java Web Security
Java Web SecurityJava Web Security
Java Web Security
Mike Wiesner
 
Monitoring Openstack - LinuxTag 2013
Monitoring Openstack - LinuxTag 2013Monitoring Openstack - LinuxTag 2013
Monitoring Openstack - LinuxTag 2013
NETWAYS
 
WS: Uhl, Lisog - Deutsche Wolke
WS: Uhl, Lisog - Deutsche WolkeWS: Uhl, Lisog - Deutsche Wolke
WS: Uhl, Lisog - Deutsche Wolke
CloudOps Summit
 
Security Smoke Test - Eine bewußte Entscheidung für die IT Sicherheit
Security Smoke Test - Eine bewußte Entscheidung für die IT SicherheitSecurity Smoke Test - Eine bewußte Entscheidung für die IT Sicherheit
Security Smoke Test - Eine bewußte Entscheidung für die IT Sicherheit
Carsten Muetzlitz
 

Ähnlich wie Measuring The Security Of Web Applications (Owasp Germany 2008) (20)

Next Web & Open Standards: LIIP Vortrag Internet-Briefing
Next Web & Open Standards: LIIP Vortrag Internet-BriefingNext Web & Open Standards: LIIP Vortrag Internet-Briefing
Next Web & Open Standards: LIIP Vortrag Internet-Briefing
 
Secure Technical Implementation Guide for databases by Martin Obst
Secure Technical Implementation Guide for databases by Martin ObstSecure Technical Implementation Guide for databases by Martin Obst
Secure Technical Implementation Guide for databases by Martin Obst
 
Implementierbare Sicherheitsregeln im Enterprise Manager
Implementierbare Sicherheitsregeln im Enterprise ManagerImplementierbare Sicherheitsregeln im Enterprise Manager
Implementierbare Sicherheitsregeln im Enterprise Manager
 
PersoApp - An Open Source Community for the new German national ID card
PersoApp - An Open Source Community for the new German national ID cardPersoApp - An Open Source Community for the new German national ID card
PersoApp - An Open Source Community for the new German national ID card
 
Sichere Webanwendungen mit OpenSAMM
Sichere Webanwendungen mit OpenSAMMSichere Webanwendungen mit OpenSAMM
Sichere Webanwendungen mit OpenSAMM
 
LSZ Kurzpräsentation
LSZ KurzpräsentationLSZ Kurzpräsentation
LSZ Kurzpräsentation
 
Apex testen wird überschaetzt
Apex testen wird überschaetztApex testen wird überschaetzt
Apex testen wird überschaetzt
 
Agile Softwareentwicklung Bei Geschäftsanwendungen
Agile Softwareentwicklung Bei GeschäftsanwendungenAgile Softwareentwicklung Bei Geschäftsanwendungen
Agile Softwareentwicklung Bei Geschäftsanwendungen
 
OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021
 
Der Weg in den vollautomatisierten SOC Betrieb
Der Weg in den vollautomatisierten SOC BetriebDer Weg in den vollautomatisierten SOC Betrieb
Der Weg in den vollautomatisierten SOC Betrieb
 
Lucaas 2016 08
Lucaas 2016 08Lucaas 2016 08
Lucaas 2016 08
 
Agile (Software-) Prozesse - Quo Vadis? [in German]
Agile (Software-) Prozesse - Quo Vadis? [in German]Agile (Software-) Prozesse - Quo Vadis? [in German]
Agile (Software-) Prozesse - Quo Vadis? [in German]
 
Softwarequalität – Schlagwort oder Realität ?
Softwarequalität – Schlagwort oder Realität ?Softwarequalität – Schlagwort oder Realität ?
Softwarequalität – Schlagwort oder Realität ?
 
Trivadis TechEvent 2016 APEX Applikationen auf Wolke 7 von Andrej Gorodetsky ...
Trivadis TechEvent 2016 APEX Applikationen auf Wolke 7 von Andrej Gorodetsky ...Trivadis TechEvent 2016 APEX Applikationen auf Wolke 7 von Andrej Gorodetsky ...
Trivadis TechEvent 2016 APEX Applikationen auf Wolke 7 von Andrej Gorodetsky ...
 
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
 
Wie Lean ist eigentlich ihre IT – Kundenwert und Verschwendung in der Informa...
Wie Lean ist eigentlich ihre IT – Kundenwert und Verschwendung in der Informa...Wie Lean ist eigentlich ihre IT – Kundenwert und Verschwendung in der Informa...
Wie Lean ist eigentlich ihre IT – Kundenwert und Verschwendung in der Informa...
 
Java Web Security
Java Web SecurityJava Web Security
Java Web Security
 
Monitoring Openstack - LinuxTag 2013
Monitoring Openstack - LinuxTag 2013Monitoring Openstack - LinuxTag 2013
Monitoring Openstack - LinuxTag 2013
 
WS: Uhl, Lisog - Deutsche Wolke
WS: Uhl, Lisog - Deutsche WolkeWS: Uhl, Lisog - Deutsche Wolke
WS: Uhl, Lisog - Deutsche Wolke
 
Security Smoke Test - Eine bewußte Entscheidung für die IT Sicherheit
Security Smoke Test - Eine bewußte Entscheidung für die IT SicherheitSecurity Smoke Test - Eine bewußte Entscheidung für die IT Sicherheit
Security Smoke Test - Eine bewußte Entscheidung für die IT Sicherheit
 

Measuring The Security Of Web Applications (Owasp Germany 2008)

  • 1. OWASP Germany 2008 Conference http://www.owasp.org/index.php/Germany Measuring the Security of Web Applications Sebastian Schinzel Virtual Forge GmbH OWASP +49 622 1 868 900 Frankfurt, 25.11.08 Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation http://www.owasp.org
  • 2. Daten im Internet OWASP Germany 2008 Conference Measuring the Security of Web Applications – Sebastian Schinzel OWASP 2
  • 3. Lord Kelvin 1824 - 1907 "If you can not measure it, you can not improve it." “I often say that when you can measure what you are speaking about, and express it in numbers, you know something about it;” “but when you cannot express it in numbers, your knowledge is of a meagre and unsatisfactory kind;“ “it may be the beginning of knowledge, but you have scarcely, in your thoughts, advanced to the stage of science, whatever the matter may be.” http://en.wikiquote.org/wiki/William_Thomson,_1st_Baron_Kelvin OWASP Germany 2008 Conference Measuring the Security of Web Applications – Sebastian Schinzel OWASP 3
  • 4. Software ist... trivial / komplex stabil / buggy günstig / teuer langsam / performant gut / schlecht sicher / unsicher Software gut schlecht OWASP Germany 2008 Conference Measuring the Security of Web Applications – Sebastian Schinzel OWASP 4
  • 5. “Mein Apfel ist besser als Dein Fenster” Was ist sicherer? ? unsicher sicher OWASP Germany 2008 Conference Measuring the Security of Web Applications – Sebastian Schinzel OWASP 5
  • 6. “Von null auf hundert in 25.000€” Betriebssystem ist “Unbreakable”! “Sicherheit über Nacht mit PowerSecure tm!” Studie: “Apfel X ist etwa doppelt so sicher wie Birne Y.” OWASP Germany 2008 Conference Measuring the Security of Web Applications – Sebastian Schinzel OWASP 6
  • 7. COTS vs. Individualsoftware Individual-Software:  Geschäfts-Applikationen, z.B.  Web-Shops  E-Recruiting Individual-  Web-Applikationen! Software  Wartung oft unklar  Enthält oft kritische und trivial findbare Sicherheits-Lücken Commercial COTS: off-the-shelf  Betriebssystem (Win, Mac, Linux, ...)  Web-Server (Apache, IIS, ...) (COTS)  Wartung durch Hersteller  Prozesse zur sicheren Entwicklung oft vorhanden OWASP Germany 2008 Conference Measuring the Security of Web Applications – Sebastian Schinzel OWASP 7
  • 8. Zwischenstand Daten im Internet müssen geschützt werden Sicherheit ist kontra-intuitiv (Marketing hat leichtes Spiel) Web-Applikationen haben besondere Anforderungen an Sicherheit OWASP Germany 2008 Conference Measuring the Security of Web Applications – Sebastian Schinzel OWASP 8
  • 9. Messen von Software-Eigenschaften Stabilität Sicherheit OWASP Germany 2008 Conference Measuring the Security of Web Applications – Sebastian Schinzel OWASP 9
  • 10. Wie messe ich Sicherheit? Überlegung: Zählen von Schwachstellen Owasp FFM Zeit Retrospektive Status Quo Prognose OWASP Germany 2008 Conference Measuring the Security of Web Applications – Sebastian Schinzel OWASP 10
  • 11. Wie messe ich Sicherheit retrospektiv? Daten von Bugtraq, Full-Disclosure, CVE, ... Annahme: Anzahl veröffentlichter Schwachstellen sei anti-proportional zur Sicherheit Sicherheit # Schwach- 0 stellen OWASP Germany 2008 Conference Measuring the Security of Web Applications – Sebastian Schinzel OWASP 11
  • 12. Wie messe ich Sicherheit retrospektiv? Problem: Veröffentlichung von Sicherheitslücken hat strategischen Wert Forscher veröffentlicht Schwachstelle nicht Hersteller/Berater veröffentlicht Schwachstelle nicht Hacker veröffentlicht Schwachstelle nicht Zeitpunkt der Veröffentlichung != Zeitpunkt der Entdeckung OWASP Germany 2008 Conference Measuring the Security of Web Applications – Sebastian Schinzel OWASP 12
  • 13. Wie messe ich Sicherheit im Status Quo? Penetrationstest oder Code Audit: “Ist ein bestehendes Software-System unsicher?” “Ja” oder “Keine Ahnung” # Schwach- stellen 0 Sicherheit OWASP Germany 2008 Conference Measuring the Security of Web Applications – Sebastian Schinzel OWASP 13
  • 14. Wie messe ich Sicherheit im Status Quo? Probleme von Penetrationstests: Reproduzierbarkeit? Abdeckung? Aussage? OWASP Germany 2008 Conference Measuring the Security of Web Applications – Sebastian Schinzel OWASP 14
  • 15. Wie messe ich Sicherheit prognostizierend? Alhazmi et al. Nutzlos wenn: • # Sicherheitslücken unbekannt • Popularität gering • Verbreitung gering (Geschäfts-Applikationen?) OWASP Germany 2008 Conference Measuring the Security of Web Applications – Sebastian Schinzel OWASP 15
  • 16. Zählen von Schwachstellen... Schwachstellen werden nicht immer publiziert Individuelle Web-Applikationen haben keine aussagekräftigen Daten über vergangene Schwachstellen Messen von Sicherheit schwieriger zu messen als z.B. Stabilität Zählen von Schwachstellen hat nur wenig Aussagekraft über Sicherheit von Web- Applikationen OWASP Germany 2008 Conference Measuring the Security of Web Applications – Sebastian Schinzel OWASP 16
  • 17. Neuer Versuch: Suche nach Ursprung typischer Schwachstellen Zähle Vorkommen dieser Anti-Patterns OWASP Germany 2008 Conference Measuring the Security of Web Applications – Sebastian Schinzel OWASP 17
  • 18. Software-Sicherheit: Wie messen? Ursprung von Cross-Site-Scripting-Schwachstelle? Keine ausreichende Trennung zwischen Benutzer- Daten und HTML- oder JavaScript-Kommandos Eingabevalidierung: Enkodierung von Datenausgaben:  Kreditkartennummer sollte  Daten müssen als Daten validiert werden markiert werden  “Ist das eine semantisch  Ausgaben in HTML: korrekte Kreditkarten-  <b> --> &lt;b&gr; Nummer?”  Ausgaben in JavaScript  “Darf ein Vorname das Zeichen  O’Neil --> O’Neil ‘<‘ enthalten?”  Ausgaben in URL  Filtern, Löschen, Ablehnen?  Ja/Nein --> Ja%2fNein OWASP Germany 2008 Conference Measuring the Security of Web Applications – Sebastian Schinzel OWASP 18
  • 19. Software-Sicherheit: Wie messen?  Sicherheit soll Entscheidungungsgrundlage für Produktwahl sein: “Ist Applikation A, oder Applikation B sicherer?”  Sicherheit verschiedener Systeme kann nur verglichen werden, wenn Sicherheitsanforderungen gleich sind  Sicherheit kann nur im Vergleich mit Sicherheitsanforderung bewertet werden OWASP Germany 2008 Conference Measuring the Security of Web Applications – Sebastian Schinzel OWASP 19
  • 20. Software-Sicherheit: Wie messen? Beispiel (1): Sicherheitsanforderung: “Trennung von Benutzerdaten und Kommandos bei HTML-Ausgabe” Konzept: Definition einer Enkodierungs-Funktion f, die Benutzereingaben A in HTML-Daten B überführt Validierung:  Ist f korrekt und vollständig? → Audit der Implementierung von f  Wurden alle HTML-Ausgaben bedacht? → “Anteil der HTML-Ausgaben ohne Enkodierung durch f”  Approximierung: Aufruf von f muss innerhalb von 5 Zeilen vor HTML-Ausgabe erfolgen  Suche kann mit Source-Code-Scanner automatisiert werden OWASP Germany 2008 Conference Measuring the Security of Web Applications – Sebastian Schinzel OWASP 20
  • 21. Software-Sicherheit: Wie messen? Beispiel: OK: String str = request.getParam(“x”); str = f(str); response.write(“<b>” + str + ”</b>”); Nicht OK: String str = request.getParam(“x”); response.write(“<b>” + str + ”</b>”); OWASP Germany 2008 Conference Measuring the Security of Web Applications – Sebastian Schinzel OWASP 21
  • 22. Software-Sicherheit: Wie messen? Beispiel: Nicht OK: String str = request.getParam(“x”); ... if(immer_wahr) { str = f(str); } ... response.write(“<b>” + str + ”</b>”); OWASP Germany 2008 Conference Measuring the Security of Web Applications – Sebastian Schinzel OWASP 22
  • 23. Software-Sicherheit: Wie messen?  Aufwand um Sicherheitsanforderung zu erfüllen?  Entwickler benötigt 0,1 Stunden, um HTML- Ausgabe mit Aufruf von f zu versehen Applikation A: Applikation B:  100 HTML-Ausgaben  1000 HTML-Ausgaben ohne Aufruf von f: ohne Aufruf von f: CA1=100*0,1h CB1=1000*0,1h =10h =100h  1 Fehler in f: CA2=8h  0 Fehler in f: CB2=0h  CA=CA1+CA2=18h  CB=CB1+CB2=100h OWASP Germany 2008 Conference Measuring the Security of Web Applications – Sebastian Schinzel OWASP 23
  • 24. Software-Sicherheit: Wie messen? “Um Applikation A sicher gemäß der Sicherheitsanforderung zu machen, ist ein Aufwand von 18 Entwicklerstunden nötig.” “Um Applikation B sicher gemäß der Sicherheitsanforderung zu machen, ist ein Aufwand von 100 Entwicklerstunden nötig.” → Gemäß der Sicherheitsanforderung ist Applikation A zu bevorzugen OWASP Germany 2008 Conference Measuring the Security of Web Applications – Sebastian Schinzel OWASP 24
  • 25. Zusammenfassung Software-Sicherheit im Web ist kritisch Sicherheit ist kontra-intuitiv. Man muss messen, um wirklich verbessern zu können Zählen von Schwachstellen hat nur wenig Aussagekraft bei Web-Applikationen Möglicher Weg: Leicht messbare Software- Qualitäts-Anforderungen mit direktem Einfluß auf Software-Sicherheit OWASP Germany 2008 Conference Measuring the Security of Web Applications – Sebastian Schinzel OWASP 25
  • 26. OWASP Germany 2008 Conference Measuring the Security of Web Applications – Sebastian Schinzel OWASP 26