Sijmen Ruwhof - Geautomatiseerd website vulnerability management

34
Geautomatiseerd Website Vulnerability Management Ing. Sijmen Ruwhof (ZCE) Ing. Sijmen Ruwhof (ZCE) PFCongres / 17 april 2010

Transcript of Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Page 1: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Geautomatiseerd Website

Vulnerability Management

Ing. Sijmen Ruwhof (ZCE)Ing. Sijmen Ruwhof (ZCE)

PFCongres / 17 april 2010

Page 2: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Even voorstellen: Sijmen Ruwhof

� Afgestudeerd Information Engineer, met informatiebeveiliging

als specialisatie

� Heeft software ontwikkeld die websites geautomatiseerd

controleert op beveiligingslekkencontroleert op beveiligingslekken

Passies

� Informatiebeveiliging (legaal hacken)

� Web development (met PHP!)

Page 3: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Even voorstellen: Secundity

� Beveiligingsaudits uitvoeren op webapplicaties

� Vulnerability management

� Security trainingen

� Ontwikkelen van veilige webapplicaties� Ontwikkelen van veilige webapplicaties

Page 4: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Vulnerability Management

� Definiëren

� Detecteren

� Documenteren

� Verhelpen� Verhelpen

� Valideren

� Publiceren

Page 5: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Doel presentatie

Bewustwording

� Creëren van veiligheid mindset

BeveiligingBeveiliging

� Het beveiligingsniveau van websites naar een hoger niveau tillen

Proces implementatie

� Zelf het vulnerability management proces implementeren

Page 6: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Beveiliging in theorie

Beschikbaarheid

� Bereikbaarheid, toegankelijkheid

IntegriteitIntegriteit

� Betrouwbaarheid, juist, rechtmatig, volledig, tijdig, eerlijk,

waarheid

Vertrouwelijkheid

� Cryptografie, need-to-know, autorisatie

Page 7: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Functioneel vs. VeiligFunctioneel vs. Veilig

Page 8: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Vulnerabilities in websites

� Invoervalidatie

� Misconfiguratie

� Informatie publicatie

� Verouderde software� Verouderde software

Page 9: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

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)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

Page 10: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Applicatie assessment kan

� Handmatig

� Geautomatiseerd, of

� Uitbesteed worden (hint hint ;-)

Met behulp van gratis, betaalde of gehuurde software

Page 11: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Applicatie structuur

� Mappen

� Bestanden

� Variabelen

� Sessies� Sessies

� Processen

� Variabelen

� Formulieren

Page 12: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Verschillende methoden

� Whitebox

� Blackbox

� Greybox

Page 13: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Whitebox

� Alles is bekend: proces, structuur & variabelen

� Slimme software nodig om je applicatie te begrijpen

� Statisch

Page 14: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Blackbox

� Alleen via de interface

� Dynamisch

Page 15: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Greybox

� Combinatie black- and whitebox

� Sensor heeft toegang tot broncode

� Realtime applicatie- en datamanipulatie

� Accurate en gedetailleerde rapporteren� Accurate en gedetailleerde rapporteren

Momenteel alleen nog: Acunetix’s AcuSensor technologie

Page 16: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Handmatige controle

� Theorie: Drie voorbeelden

� Praktijk: Demo

Page 17: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Vulnerability: SQL Injection

Code : SELECT * FROM table

WHERE id = {$_GET[‘id’]}

Aanvalsvector : /?id='/?id='Antwoord : "You have an error in your SQL syntax"

Page 18: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Vulnerability: Remote File Inclusion

Code : <?php include $_GET[‘file’]; ?>

Aanvalsvector : /?file=http://example.com/Antwoord : “web page by typing &quot;example.com&quot;"Antwoord : “web page by typing &quot;example.com&quot;"

Page 19: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Vulnerability: OS Command Injection

Code : <? shell_exec(“ping “.$_GET[‘ip’]) ?>

Aanvalsvector : /?ip=; cat /etc/passwdAntwoord : "root:.*:0:[01]:” (reguliere expressie)Antwoord : "root:.*:0:[01]:” (reguliere expressie)

Page 20: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Demo

Page 21: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Geautomatiseerde controle

� Voor- en nadelen

� Voorbeelden eenvoudig te controleren

� Valkuilen

� Configuratie� Configuratie

� Limieten

� Web security scanners

Page 22: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Voor- en nadelen

+ Integraal

+ Snel

+ Periodiek

+ Kwantiteit+ Kwantiteit

+ Goedkoop

- Kwalitatief laag

- Niet creatief

Page 23: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Eenvoudig: Injecties

� OS Command Injection

� SQL/LDAP Injection

� Cross Site Scripting

� Local File Inclusion� Local File Inclusion

� File Enumeration

� Session Fixation

� Remote File Inclusion

� Buffer overflow

Page 24: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Eenvoudig: HTTP antwoord analyse

� Automatisch aanvullen van wachtwoorden

� Caching configuratie

� Content encoding

� HttpOnly attribuut van cookies� HttpOnly attribuut van cookies

� File uploads

� Session ID exposure

� Foutmeldingen

Page 25: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Kwaliteitseisen

Effectiviteit

� Aanvalsvectoren

� Valse positieven

� Valse negatieven� Valse negatieven

Efficiëntie

� Configuratie

Page 26: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Oppassen

� Kans op verstoring

� Database vervuiling

� Acties uitvoeren

Page 27: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Configuratie

� Gebruiker authenticatie

� Mod_rewrite

� 404 pagina’s

� Uitsluiten: Mappen, bestanden, parameters, links� Uitsluiten: Mappen, bestanden, parameters, links

� POST verzoeken

� Uitgebreidheid aanvalsvectoren

� Beveiligingsmaatregelen ontwijken

Page 28: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Limieten

� Onzichtbare applicatiestructuur

� Geen verbale foutmeldingen

� Anti-automation

� Logische fouten� Logische fouten

� Race conditions

� Denial of service

� Social engineering

� File uploads

Page 29: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Top 10 web security scanners

1. Nikto

2. Paros proxy

3. WebScarab

4. WebInspect4. WebInspect

5. Whisker/libwhisker

6. BurpSuite

7. Wikto

8. Acunetix WVS

9. Rational AppSan

10. N-Stealth

Page 30: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Vulnerability management

� Handmatig

� Geautomatiseerd

� Veel ondersteunende software beschikbaar

� Processen inrichten� Processen inrichten

� Checklists / procedures

Page 31: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Tips

Voorkomen

� Beveiliging meenemen in applicatie ontwerp

� Trainen op veilig programmeren

� Bewustwording veiligheid vergroten� Bewustwording veiligheid vergroten

� Na functionele realisatie de beveiliging controleren

Tegenhouden

� Installatie van webapplicatie firewall (PHPIDS)

Page 32: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

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

Page 33: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

OWASP

Gedrukte boeken beschikbaar tegen kostprijs:

http://stores.lulu.com/owasp

Page 34: Sijmen Ruwhof - Geautomatiseerd website vulnerability management

Tot slot

Zijn er nog vragen?

“Security is when everything is settled.

When nothing can happen to you. When nothing can happen to you.

Security is the denial of life.”

Bedankt voor jullie aandacht!

-- Sijmen Ruwhof