Beveiligingsaspecten van webapplicatie ontwikkeling 9-4-2009 Wouter van Kuipers Informatiekunde Radboud Universiteit Nijmegen
[email protected]
Inhoud
2
Het onderzoek Literatuurstudie Interviews Sourcecode analyzer Best practices Conclusie
Wouter van Kuipers -
[email protected]
Achtergrond
Opleidingen
Werkervaring
3
MBO Informatica HBO Communicatie systemen WO Informatiekunde Freelance PHP programmeur Dacon
Wouter van Kuipers -
[email protected]
Het onderzoek
Waarom dit onderwerp
Het doel
4
Vooropleiding Werkervaring Veranderingen in de softwaremarkt Oplossingen bieden aan ontwikkelbedrijven
Wouter van Kuipers -
[email protected]
Bron: webwereld.nl
5
Wouter van Kuipers -
[email protected]
Bron: security.nl
6
Wouter van Kuipers -
[email protected]
Bron: security.nl
7
Wouter van Kuipers -
[email protected]
Het onderzoek
Achtergrond
PHP Hypertext preprocessor
8
Computer applicaties Het World Wide Web Webapplicaties Web 2.0 Marktaandeel 33% Laagdrempelig Ontwikkelgemak ten kosten van security
Wouter van Kuipers -
[email protected]
Interviews
Kleine bedrijven
Grote bedrijven
Duidelijke verantwoordelijkheden Scholing goed geregeld
Overigen
9
Ontwikkelaar verantwoordelijk voor eigen werk Geen geld/tijd voor persoonlijke ontwikkeling
Code testen (J AVA) Awareness bij het management
Wouter van Kuipers -
[email protected]
Literatuurstudie
Oplossingen als Microsoft SDL
10
Totaalpakket aan oplossingen Geschikt voor grote bedrijven
Wouter van Kuipers -
[email protected]
Literatuurstudie
PHP oplossingen
11
Lost slechts een deel van het probleem op Geschikt voor kleinere bedrijven
Wouter van Kuipers -
[email protected]
Literatuurstudie
Informatie op het internet
12
Lastig te vinden Lastig te beoordelen
Wouter van Kuipers -
[email protected]
Sourcecode analyzer
Fortify 360
13
Sourcecode Analyzer (SCA) Real-time Analyzer (RTA) Program Trace Analyzer (PTA) ASP.NET, C#.NET, VB.NET, C/C++, J AVA, PLSQL/TSQL, PHP en VB
Wouter van Kuipers -
[email protected]
Sourcecode analyzer Audit
14
Resultaten
Wouter van Kuipers -
[email protected]
Rapport
Sourcecode analyzer Audit
Doel
15
Resultaten
Rapport
Analyseren van de broncode op problemen
Wouter van Kuipers -
[email protected]
16
Wouter van Kuipers -
[email protected]
Sourcecode analyzer Audit
Doel
17
Resultaten
Rapport
Ordenen van gevonden problemen
Wouter van Kuipers -
[email protected]
18
Wouter van Kuipers -
[email protected]
Sourcecode analyzer Audit
Doel
19
Resultaten
Rapport
Informeren van het management
Wouter van Kuipers -
[email protected]
Sourcecode analyzer
Onderzoek
Automatische analyse door Fortify Handmatige analyse resultaten Scannen van twee zelf geschreven applicaties
20
Content Management Systeem Customer Relationship Management System 30.000 SLOC
Wouter van Kuipers -
[email protected]
Sourcecode analyzer
Tijdsduur
Resultaten
21
Scannen code: 6 minuten Handmatige analyse problemen CMS: 50 min. Handmatige analyse problemen CRM: 145 min. Totaal aantal positives: 421 (CMS 248, CRM 173) Aantal true positives: 282 (67% ) Aantal false positives: 139 (33% )
Wouter van Kuipers -
[email protected]
Sourcecode analyzer
Analyse problemen
Hoge score op makkelijk te herleiden gevaren
Lage score op lastig te herleiden gevaren
22
Hash functies Password in comment XSS CSRF
Wat is een probleem?
Wouter van Kuipers -
[email protected]
Probleem?
23
# genereer een unieke naam $name = md5(time().rand()); # ask user for password Function askPassword(){ …
Wouter van Kuipers -
[email protected]
Sourcecode analyzer
Conclusie
24
Goede detectie Goede aanvulling op bestaande werkwijze Snel en goedkoop Lastig om andermans code te analyseren analyseer eigen code Programma leidt programmeur op
Wouter van Kuipers -
[email protected]
Conclusie
Webapplicatie != desktopapplicatie Security beleid voor grote bedrijven goed geregeld Kleine bedrijven missen
Gebruik SCA’s voor analyse OWASP
25
Awareness Budget Scholing
Verzamel bronnen
Wouter van Kuipers -
[email protected]
Bedankt voor uw aandacht
26
Wouter van Kuipers -
[email protected]