OWASP Germany 2008 Conference
                       http://www.owasp.org/index.php/Germany




                  Measurin...
Daten im Internet




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

         trivial / komplex                                        stabil / buggy
       günstig / teuer  ...
“Mein Apfel ist besser als Dein Fenster”


                                                Was ist sicherer?

            ...
“Von null auf hundert in 25.000€”


                 Betriebssystem ist “Unbreakable”!


       “Sicherheit über Nacht mit...
COTS vs. Individualsoftware
                                          Individual-Software:
                               ...
Zwischenstand

Daten im Internet müssen geschützt werden

Sicherheit ist kontra-intuitiv (Marketing hat
 leichtes Spiel)...
Messen von Software-Eigenschaften

             Stabilität                                           Sicherheit




OWASP ...
Wie messe ich Sicherheit?

      Überlegung: Zählen von Schwachstellen




                                           Owas...
Wie messe ich Sicherheit retrospektiv?

Daten von Bugtraq, Full-Disclosure, CVE, ...
Annahme: Anzahl veröffentlichter Schw...
Wie messe ich Sicherheit retrospektiv?

Problem: Veröffentlichung von Sicherheitslücken
  hat strategischen Wert
      Fo...
Wie messe ich Sicherheit im Status Quo?

Penetrationstest oder Code Audit:
“Ist ein bestehendes Software-System unsicher?”...
Wie messe ich Sicherheit im Status Quo?

Probleme von Penetrationstests:

      Reproduzierbarkeit?

      Abdeckung?

 ...
Wie messe ich Sicherheit prognostizierend?



                                                                  Alhazmi et...
Zählen von Schwachstellen...

Schwachstellen werden nicht immer publiziert
Individuelle Web-Applikationen haben keine
 a...
Neuer Versuch:

Suche nach Ursprung typischer Schwachstellen

Zähle Vorkommen dieser Anti-Patterns




OWASP Germany 200...
Software-Sicherheit: Wie messen?

 Ursprung von Cross-Site-Scripting-Schwachstelle?
 Keine ausreichende Trennung zwischen ...
Software-Sicherheit: Wie messen?

 Sicherheit soll Entscheidungungsgrundlage für
  Produktwahl sein:
      “Ist Applikati...
Software-Sicherheit: Wie messen?

  Beispiel (1): Sicherheitsanforderung: “Trennung von
     Benutzerdaten und Kommandos b...
Software-Sicherheit: Wie messen?

Beispiel:
OK:
String str = request.getParam(“x”);
str = f(str);
response.write(“<b>” + s...
Software-Sicherheit: Wie messen?

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

    ...

if(immer_wahr) {
   st...
Software-Sicherheit: Wie messen?

        Aufwand um Sicherheitsanforderung zu erfüllen?
        Entwickler benötigt 0,1...
Software-Sicherheit: Wie messen?

“Um Applikation A sicher gemäß der
  Sicherheitsanforderung zu machen, ist ein
  Aufwand...
Zusammenfassung

              Software-Sicherheit im Web ist kritisch

Sicherheit ist kontra-intuitiv. Man muss messen, u...
OWASP Germany 2008 Conference
Measuring the Security of Web Applications – Sebastian Schinzel
                            ...
Upcoming SlideShare
Loading in...5
×

Measuring The Security Of Web Applications (Owasp Germany 2008)

492

Published on

Software ist unsicher! &quot;Security Researcher&quot; publizieren nahezu täglich Sicherheitsmängel in Softwareapplikationen in einschlägigen Mailinglisten und Internetforen. Und das bereits seit Jahrzehnten. Softwaresicherheit wird immer wichtiger mit der zunehmenden Vernetzung und Kritikalität der Daten. Daher reservieren Softwarehersteller oft signifikante (aber trotzdem begrenzte) Budgets zur sicheren Softwareentwicklung. Um diese Budgets werben Dienstleister und Hersteller von verschiedensten Sicherheitsprodukten. Oft halten diese Dienste und Produkte nicht das, was das Marketing verspricht. Für Softwarehersteller stellt sich die Frage in welche Prozesse und Technologien in welchem Umfang investiert werden sollte: &quot;Wieviel Sicherheitszuwachs bekommt man für wieviel Aufwand&quot;? In diesem Vortrag beleuchte ich Wege und Irrwege, um dieses Kosten-Nutzen-Verhältnis abzuschätzen und zu optimieren.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
492
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Measuring The Security Of Web Applications (Owasp Germany 2008)

  1. 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. 2. Daten im Internet OWASP Germany 2008 Conference Measuring the Security of Web Applications – Sebastian Schinzel OWASP 2
  3. 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. 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. 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. 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. 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. 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. 9. Messen von Software-Eigenschaften Stabilität Sicherheit OWASP Germany 2008 Conference Measuring the Security of Web Applications – Sebastian Schinzel OWASP 9
  10. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 26. OWASP Germany 2008 Conference Measuring the Security of Web Applications – Sebastian Schinzel OWASP 26

×