Geautomatiseerd website vulnerability management

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

description

Websitebeveiliging is een onderwerp waaraan eigenlijk pas sinds 2003 echt aandacht aan wordt besteed. In tegenstelling tot wat de meeste klanten verwachten, zijn bijna alle ontwikkelde websites niet zo veilig geprogrammeerd, als dat men zou verwachten. In deze presentatie zal worden verteld hoe u de beveiliging van websites geautomatiseerd kan gecontroleren, door middel van de nieuwste inzichten en software tools op het gebied van website vulnerability management.

Transcript of Geautomatiseerd website vulnerability management

Page 1: Geautomatiseerd website vulnerability management

Geautomatiseerd Website

Vulnerability Management

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

PFCongres / 17 april 2010

Page 2: 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: 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: Geautomatiseerd website vulnerability management

Vulnerability Management

� Definiëren

� Detecteren

� Documenteren

� Verhelpen� Verhelpen

� Valideren

� Publiceren

Page 5: 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: 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: Geautomatiseerd website vulnerability management

Functioneel vs. VeiligFunctioneel vs. Veilig

Page 8: Geautomatiseerd website vulnerability management

Vulnerabilities in websites

� Invoervalidatie

� Misconfiguratie

� Informatie publicatie

� Verouderde software� Verouderde software

Page 9: 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: Geautomatiseerd website vulnerability management

Applicatie assessment kan

� Handmatig

� Geautomatiseerd, of

� Uitbesteed worden (hint hint ;-)

Met behulp van gratis, betaalde of gehuurde software

Page 11: Geautomatiseerd website vulnerability management

Applicatie structuur

� Mappen

� Bestanden

� Variabelen

� Sessies� Sessies

� Processen

� Variabelen

� Formulieren

Page 12: Geautomatiseerd website vulnerability management

Verschillende methoden

� Whitebox

� Blackbox

� Greybox

Page 13: Geautomatiseerd website vulnerability management

Whitebox

� Alles is bekend: proces, structuur & variabelen

� Slimme software nodig om je applicatie te begrijpen

� Statisch

Page 14: Geautomatiseerd website vulnerability management

Blackbox

� Alleen via de interface

� Dynamisch

Page 15: 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: Geautomatiseerd website vulnerability management

Handmatige controle

� Theorie: Drie voorbeelden

� Praktijk: Demo

Page 17: 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: 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: 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: Geautomatiseerd website vulnerability management

Demo

Page 21: Geautomatiseerd website vulnerability management

Geautomatiseerde controle

� Voor- en nadelen

� Voorbeelden eenvoudig te controleren

� Valkuilen

� Configuratie� Configuratie

� Limieten

� Web security scanners

Page 22: Geautomatiseerd website vulnerability management

Voor- en nadelen

+ Integraal

+ Snel

+ Periodiek

+ Kwantiteit+ Kwantiteit

+ Goedkoop

- Kwalitatief laag

- Niet creatief

Page 23: 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: 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: Geautomatiseerd website vulnerability management

Kwaliteitseisen

Effectiviteit

� Aanvalsvectoren

� Valse positieven

� Valse negatieven� Valse negatieven

Efficiëntie

� Configuratie

Page 26: Geautomatiseerd website vulnerability management

Oppassen

� Kans op verstoring

� Database vervuiling

� Acties uitvoeren

Page 27: 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: 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: 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: Geautomatiseerd website vulnerability management

Vulnerability management

� Handmatig

� Geautomatiseerd

� Veel ondersteunende software beschikbaar

� Processen inrichten� Processen inrichten

� Checklists / procedures

Page 31: 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: 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: Geautomatiseerd website vulnerability management

OWASP

Gedrukte boeken beschikbaar tegen kostprijs:

http://stores.lulu.com/owasp

Page 34: 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