Geautomatiseerd website vulnerability management

Post on 01-Jun-2015

252 views 0 download

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

Geautomatiseerd Website

Vulnerability Management

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

PFCongres / 17 april 2010

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

Even voorstellen: Secundity

� Beveiligingsaudits uitvoeren op webapplicaties

� Vulnerability management

� Security trainingen

� Ontwikkelen van veilige webapplicaties� Ontwikkelen van veilige webapplicaties

Vulnerability Management

� Definiëren

� Detecteren

� Documenteren

� Verhelpen� Verhelpen

� Valideren

� Publiceren

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

Beveiliging in theorie

Beschikbaarheid

� Bereikbaarheid, toegankelijkheid

IntegriteitIntegriteit

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

waarheid

Vertrouwelijkheid

� Cryptografie, need-to-know, autorisatie

Functioneel vs. VeiligFunctioneel vs. Veilig

Vulnerabilities in websites

� Invoervalidatie

� Misconfiguratie

� Informatie publicatie

� Verouderde software� Verouderde software

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

Applicatie assessment kan

� Handmatig

� Geautomatiseerd, of

� Uitbesteed worden (hint hint ;-)

Met behulp van gratis, betaalde of gehuurde software

Applicatie structuur

� Mappen

� Bestanden

� Variabelen

� Sessies� Sessies

� Processen

� Variabelen

� Formulieren

Verschillende methoden

� Whitebox

� Blackbox

� Greybox

Whitebox

� Alles is bekend: proces, structuur & variabelen

� Slimme software nodig om je applicatie te begrijpen

� Statisch

Blackbox

� Alleen via de interface

� Dynamisch

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

Handmatige controle

� Theorie: Drie voorbeelden

� Praktijk: Demo

Vulnerability: SQL Injection

Code : SELECT * FROM table

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

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

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;"

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)

Demo

Geautomatiseerde controle

� Voor- en nadelen

� Voorbeelden eenvoudig te controleren

� Valkuilen

� Configuratie� Configuratie

� Limieten

� Web security scanners

Voor- en nadelen

+ Integraal

+ Snel

+ Periodiek

+ Kwantiteit+ Kwantiteit

+ Goedkoop

- Kwalitatief laag

- Niet creatief

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

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

Kwaliteitseisen

Effectiviteit

� Aanvalsvectoren

� Valse positieven

� Valse negatieven� 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� Uitsluiten: Mappen, bestanden, parameters, links

� POST verzoeken

� Uitgebreidheid aanvalsvectoren

� Beveiligingsmaatregelen ontwijken

Limieten

� Onzichtbare applicatiestructuur

� Geen verbale foutmeldingen

� Anti-automation

� Logische fouten� Logische fouten

� Race conditions

� Denial of service

� Social engineering

� File uploads

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

Vulnerability management

� Handmatig

� Geautomatiseerd

� Veel ondersteunende software beschikbaar

� Processen inrichten� Processen inrichten

� Checklists / procedures

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)

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

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. When nothing can happen to you.

Security is the denial of life.”

Bedankt voor jullie aandacht!

-- Sijmen Ruwhof