Deny nothing. Doubt everything.
Hack to the Future Marinus Kuivenhoven Sr. Security Specialist Houten, 23 juni 2015 marinus.kuivenhoven@sogeti.com 2
Het valt op Wij leren niet van het verleden Zekerheid 3
ipad van de Jaren 80 Commodore 64 Bron: www.wikipedia.org/commodore_64 4
Ook in de IT.. Wij leren niet van het verleden Zekerheid 5
OWASP Top 10 1. Injection 2. Cross Site Scripting (XSS) 3. Broken Authentication and Session Management 4. Insecure Direct Object References 5. Cross Site Request Forgery 6. Security Misconfiguration 7. Insecure Cryptographic Storage 8. Failure to Restrict URL access 9. Insufficient Transport Layer Protection 10. Unvalidated Redirects and Forwards 6
OWASP Top 10 Injection voorbeeld Scherm: USERNAME:[PERSOONA] PASSWORD:[GEHEIM12] Achtergrond: Mag er toegang worden gegeven aan de gebruiker wanneer: de username is 'PERSOONA' en het wachtwoord is 'GEHEIM12'; 7
OWASP Top 10 Injection voorbeeld Scherm: USERNAME:[PERSOONA] PASSWORD:[Onbekend of 1=1] Achtergrond: Mag er toegang worden gegeven aan de gebruiker wanneer: de username is 'PERSOONA' en het wachtwoord is Onbekend' of 1=1; 8
De focus ligt op incidenten.. Awareness op security Bron: www.tweakers.net 9
.. specifiek een blacklist van incidenten OWASP top 10 Injection Cross-Site Scripting (XSS) Broken Authentication and Session Management Insecure Direct Object References Cross-Site Request Forgery (CSRF) SANS CWE/25 Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') Unrestricted Upload of File with Dangerous Type Cross-Site Request Forgery (CSRF) URL Redirection to Untrusted Site ('Open Redirect') WASC 24+2 Cross-Site Scripting Cross-Site Request Forgery SSI Injection SQL Injection XPath Injection XQuery Injection 10
En ook in IT-security.. Wij leren niet van het verleden Zekerheid 11
Wat is security? Gevoel Zekerheid Realiteit 12
Oorzaken van afwijking Kunde Middelen Risico s Haalbaar Behoefte Bedenken Beschrijven Bouwen Beoordelen Benutten Bewerken Onduidelijk Aannamen Ambiguteit Tijd 13
Mindset, out of the box Online racespelletje Bron: www.ninitendo.com 14
Flaws en Bugs Bugs are simple mistakes in code leading to problems like buffer overflows; flaws are mistakes in design. It turns out that a lot of software is flawed. In fact, if you step back and look at a multitude of security problems over time, you'll find that about 50% of them are due to bugs and 50% due to flaws. Functionele wens Technische implementatie Zekerheid flaw bug 15
Software Development lifecycle Penetratietest Requiremnts Usecases Architectuur Ontwerpen Testplannen Code Test resultaten Applicatie Terug koppeling Doorlooptijd 16
Fear, uncertainty and doubt Bron: www.elsevier.nl Bron: davidlifferth.ning.com 17
Think Different Long exposure Los Angeles International Airport (LAX) Mike Kelly 18
Ooit een oldtimer DeLorean en Tesla Bron: http://www.teslamotorsclub.com/ 19
De mens is eigenwijs Oliefantenpaadjes Bron: http://www.olifantenpaadjes.nl/ 20
De mens is lui Donorregistraties per land Bron: www.livercancergenomics.com 21
Lessons learned - Maak gebruik van abstractie en principes. - Los problemen op daar waar ze ontstaan. - Security is dan het bij-effect van kwalitieit. Zekerheid 22
If you think technology can solve your security problems, then you don't understand the problems and you don't understand the technology. Bruce Schneier, secrets and lies, 2007