Geautomatiseerd Website
Vulnerability Management

   Ing. Sijmen Ruwhof (ZCE)

    PFCongres / 17 april 2010
Even voorstellen: Sijmen Ruwhof

   Afgestudeerd Information Engineer, met informatiebeveiliging
als specialisatie
   Heef...
Even voorstellen: Secundity

  Beveiligingsaudits uitvoeren op webapplicaties
  Vulnerability management
  Security traini...
Vulnerability Management

  Definiëren
  Detecteren
  Documenteren
  Verhelpen
  Valideren
  Publiceren
Doel presentatie

Bewustwording
  Creëren van veiligheid mindset

Beveiliging
  Het beveiligingsniveau van websites naar e...
Beveiliging in theorie

Beschikbaarheid
  Bereikbaarheid, toegankelijkheid

Integriteit
   Betrouwbaarheid, juist, rechtma...
Functioneel vs. Veilig
Vulnerabilities in websites

  Invoervalidatie
  Misconfiguratie
  Informatie publicatie
  Verouderde software
OWASP Top 10 - 2010

1.    Injection
2.    Cross Site Scripting (XSS)
3.    Broken Authentication and Session Management
4...
Applicatie assessment kan

  Handmatig
  Geautomatiseerd, of
  Uitbesteed worden (hint hint ;-)

Met behulp van gratis, be...
Applicatie structuur

  Mappen
  Bestanden
  Variabelen
  Sessies
  Processen
     Variabelen
     Formulieren
Verschillende methoden

  Whitebox
  Blackbox
  Greybox
Whitebox

  Alles is bekend: proces, structuur & variabelen
  Slimme software nodig om je applicatie te begrijpen
  Statis...
Blackbox

  Alleen via de interface
  Dynamisch
Greybox

  Combinatie black- and whitebox
  Sensor heeft toegang tot broncode
  Realtime applicatie- en datamanipulatie
  ...
Handmatige controle

  Theorie: Drie voorbeelden
  Praktijk: Demo
Vulnerability: SQL Injection
Code       : SELECT * FROM table
                WHERE id = {$_GET[‘id’]}
Aanvalsvector : /?i...
Vulnerability: Remote File Inclusion

Code       : <?php   include $_GET[‘file’]; ?>
Aanvalsvector : /?file=http://example...
Vulnerability: OS Command Injection

Code       : <? shell_exec(“ping    “.$_GET[‘ip’]) ?>
Aanvalsvector : /?ip=; cat /etc...
Demo
Geautomatiseerde controle

  Voor- en nadelen
  Voorbeelden eenvoudig te controleren
  Valkuilen
  Configuratie
  Limieten...
Voor- en nadelen

+   Integraal
+   Snel
+   Periodiek
+   Kwantiteit
+   Goedkoop
-   Kwalitatief laag
-   Niet creatief
Eenvoudig: Injecties

  OS Command Injection
  SQL/LDAP Injection
  Cross Site Scripting
  Local File Inclusion
  File Enu...
Eenvoudig: HTTP antwoord analyse

  Automatisch aanvullen van wachtwoorden
  Caching configuratie
  Content encoding
  Htt...
Kwaliteitseisen

Effectiviteit
   Aanvalsvectoren
   Valse positieven
   Valse negatieven

Efficiëntie
   Configuratie
Oppassen

  Kans op verstoring
  Database vervuiling
  Acties uitvoeren
Configuratie

  Gebruiker authenticatie
  Mod_rewrite
  404 pagina’s
  Uitsluiten: Mappen, bestanden, parameters, links
  ...
Limieten

  Onzichtbare applicatiestructuur
  Geen verbale foutmeldingen
  Anti-automation
  Logische fouten
  Race condit...
Top 10 web security scanners

1.    Nikto
2.    Paros proxy
3.    WebScarab
4.    WebInspect
5.    Whisker/libwhisker
6.  ...
Vulnerability management

  Handmatig
  Geautomatiseerd
  Veel ondersteunende software beschikbaar
  Processen inrichten
 ...
Tips

Voorkomen
  Beveiliging meenemen in applicatie ontwerp
  Trainen op veilig programmeren
  Bewustwording veiligheid v...
Tips

Controleren
  Security auditing & monitoring
  Applicatie penetratietesten

Processen inrichten
  Invoeren vulnerabi...
OWASP

Gedrukte boeken beschikbaar tegen kostprijs:
http://stores.lulu.com/owasp
Tot slot

Zijn er nog vragen?

      “Security is when everything is settled.
      When nothing can happen to you.
      ...
Upcoming SlideShare
Loading in …5
×

Sijmen Ruwhof - Geautomatiseerd website vulnerability management

1,528 views

Published on

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

  • Be the first to like this

No Downloads
Views
Total views
1,528
On SlideShare
0
From Embeds
0
Number of Embeds
76
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Sijmen Ruwhof - Geautomatiseerd website vulnerability management

  1. 1. Geautomatiseerd Website Vulnerability Management Ing. Sijmen Ruwhof (ZCE) PFCongres / 17 april 2010
  2. 2. Even voorstellen: Sijmen Ruwhof Afgestudeerd Information Engineer, met informatiebeveiliging als specialisatie Heeft software ontwikkeld die websites geautomatiseerd controleert op beveiligingslekken Passies Informatiebeveiliging (legaal hacken) Web development (met PHP!)
  3. 3. Even voorstellen: Secundity Beveiligingsaudits uitvoeren op webapplicaties Vulnerability management Security trainingen Ontwikkelen van veilige webapplicaties
  4. 4. Vulnerability Management Definiëren Detecteren Documenteren Verhelpen Valideren Publiceren
  5. 5. Doel presentatie Bewustwording Creëren van veiligheid mindset Beveiliging Het beveiligingsniveau van websites naar een hoger niveau tillen Proces implementatie Zelf het vulnerability management proces implementeren
  6. 6. Beveiliging in theorie Beschikbaarheid Bereikbaarheid, toegankelijkheid Integriteit Betrouwbaarheid, juist, rechtmatig, volledig, tijdig, eerlijk, waarheid Vertrouwelijkheid Cryptografie, need-to-know, autorisatie
  7. 7. Functioneel vs. Veilig
  8. 8. Vulnerabilities in websites Invoervalidatie Misconfiguratie Informatie publicatie Verouderde software
  9. 9. OWASP Top 10 - 2010 1. Injection 2. Cross Site Scripting (XSS) 3. Broken Authentication and Session Management 4. Insecure Direct Object References 5. Cross Site Request Forgery (CSRF) 6. Security Misconfiguration 7. Failure to Restrict URL Access 8. Unvalidated Redirects and Forwards 9. Insecure Cryptographic Storage 10. Insufficient Transport Layer Protection
  10. 10. Applicatie assessment kan Handmatig Geautomatiseerd, of Uitbesteed worden (hint hint ;-) Met behulp van gratis, betaalde of gehuurde software
  11. 11. Applicatie structuur Mappen Bestanden Variabelen Sessies Processen Variabelen Formulieren
  12. 12. Verschillende methoden Whitebox Blackbox Greybox
  13. 13. Whitebox Alles is bekend: proces, structuur & variabelen Slimme software nodig om je applicatie te begrijpen Statisch
  14. 14. Blackbox Alleen via de interface Dynamisch
  15. 15. Greybox Combinatie black- and whitebox Sensor heeft toegang tot broncode Realtime applicatie- en datamanipulatie Accurate en gedetailleerde rapporteren Momenteel alleen nog: Acunetix’s AcuSensor technologie
  16. 16. Handmatige controle Theorie: Drie voorbeelden Praktijk: Demo
  17. 17. Vulnerability: SQL Injection Code : SELECT * FROM table WHERE id = {$_GET[‘id’]} Aanvalsvector : /?id=' Antwoord : "You have an error in your SQL syntax"
  18. 18. Vulnerability: Remote File Inclusion Code : <?php include $_GET[‘file’]; ?> Aanvalsvector : /?file=http://example.com/ Antwoord : “web page by typing &quot;example.com&quot;"
  19. 19. Vulnerability: OS Command Injection Code : <? shell_exec(“ping “.$_GET[‘ip’]) ?> Aanvalsvector : /?ip=; cat /etc/passwd Antwoord : "root:.*:0:[01]:” (reguliere expressie)
  20. 20. Demo
  21. 21. Geautomatiseerde controle Voor- en nadelen Voorbeelden eenvoudig te controleren Valkuilen Configuratie Limieten Web security scanners
  22. 22. Voor- en nadelen + Integraal + Snel + Periodiek + Kwantiteit + Goedkoop - Kwalitatief laag - Niet creatief
  23. 23. Eenvoudig: Injecties OS Command Injection SQL/LDAP Injection Cross Site Scripting Local File Inclusion File Enumeration Session Fixation Remote File Inclusion Buffer overflow
  24. 24. Eenvoudig: HTTP antwoord analyse Automatisch aanvullen van wachtwoorden Caching configuratie Content encoding HttpOnly attribuut van cookies File uploads Session ID exposure Foutmeldingen
  25. 25. Kwaliteitseisen Effectiviteit Aanvalsvectoren Valse positieven Valse negatieven Efficiëntie Configuratie
  26. 26. Oppassen Kans op verstoring Database vervuiling Acties uitvoeren
  27. 27. Configuratie Gebruiker authenticatie Mod_rewrite 404 pagina’s Uitsluiten: Mappen, bestanden, parameters, links POST verzoeken Uitgebreidheid aanvalsvectoren Beveiligingsmaatregelen ontwijken
  28. 28. Limieten Onzichtbare applicatiestructuur Geen verbale foutmeldingen Anti-automation Logische fouten Race conditions Denial of service Social engineering File uploads
  29. 29. Top 10 web security scanners 1. Nikto 2. Paros proxy 3. WebScarab 4. WebInspect 5. Whisker/libwhisker 6. BurpSuite 7. Wikto 8. Acunetix WVS 9. Rational AppSan 10. N-Stealth
  30. 30. Vulnerability management Handmatig Geautomatiseerd Veel ondersteunende software beschikbaar Processen inrichten Checklists / procedures
  31. 31. Tips Voorkomen Beveiliging meenemen in applicatie ontwerp Trainen op veilig programmeren Bewustwording veiligheid vergroten Na functionele realisatie de beveiliging controleren Tegenhouden Installatie van webapplicatie firewall (PHPIDS)
  32. 32. Tips Controleren Security auditing & monitoring Applicatie penetratietesten Processen inrichten Invoeren vulnerability management Afhandelen van: calamiteiten, fouten, hack pogingen Forensisch onderzoek faciliteren Verantwoordelijke voor applicatie beveiliging
  33. 33. OWASP Gedrukte boeken beschikbaar tegen kostprijs: http://stores.lulu.com/owasp
  34. 34. Tot slot Zijn er nog vragen? “Security is when everything is settled. When nothing can happen to you. Security is the denial of life.” Bedankt voor jullie aandacht! -- Sijmen Ruwhof

×