Back to the Future Marinus Kuivenhoven Sogeti 1
Commodore 64 2
Commodore 1541 floppy drive 3
Assymetrisch gedrag Een operatie die voor een overgang zorgt.. Waarbij heen minder kost dan terug 4
Assymetrisch gedrag 5
Kopieerbeveiliging Asymmetrisch gedrag verhogen Verschil in kosten tussen media dupliceren en media gebruiken 6
Asymmetrie als kopieerbeveiliging 7
Kopieerbeveiliging C64 #1 Bad Sector (1983) Opzettelijk fouten maken bij productie 8
Kopieerbeveiliging nu Xbox 360 (2005) Opzettelijk fouten maken bij productie 9
Kopieerbeveiliging C64 #2 Gap Bytes (1985) Tussen ruimtes vullen 10
Kopieerbeveiliging nu PC games met SafeDisc (2002 -.) Tussen ruimtes vullen 11
Kopieerbeveiliging C64 #3 Trackallignment (1987) Afwijkende ruimte tussen blocks 12
Kopieerbeveiliging nu PlayStation 2 (2000) Afwijkende ruimte tussen blocks 13
Principe In de IT leren we niet van eerder gemaakte fouten! 14
De F -test Men spreekt over een infectie als een micro-organisme, virus of parasiet in een levend wezen is binnengedrongen en daar schade aanricht. In het ergste geval kan een infectie leiden tot de dood van het geïnfecteerde individu. Opdracht: Tel hoe vaak de letter 'F' op deze slide voorkomt. Schrijf dit op een blaadje, hou je vingers omhoog of roep het aantal. Niet vals spelen en in één keer tellen. 15
Phone + Freak = Phreak "Joybubbles" & "Captain Crunch" 16
Trygve Reenskaug DBO, MVC, OO, UML, ect.. 17
Database Oriented Application (1965) Scherm: USERNAME:[PERSOONA] PASSWORD:[GEHEIM12] Achtergrond: Mag er toegang worden gegeven aan de gebruiker wanneer: de username is PERSOONA en het wachtwoord is GEHEIM12 18
SQL injection (1997) Scherm: USERNAME:[PERSOONA] PASSWORD:[WEETIKVEEL of 1=1] Achtergrond: Mag er toegang worden gegeven aan de gebruiker wanneer: de username is PERSOONA en het wachtwoord is WEETIKVEEL of 1=1; 19
Aanvallen op een webapplicatie 20
Serverside scripting (1993) /JavaScript (1995) Browser 1 Request met gegevens Webserver 3 Nieuwe pagina 2 Genereert pagina 21
Cross-site scripting (1996) 1 Request met code Browser Webserver 3 Nieuwe pagina 2 Genereert pagina met de code erin 4 Toont pagina en voert de code uit 22
Oorzaak van het probleem Telefoon Applicatie Applicatie Stem + Tonen Query + Gegevens Content+Javascript Centrale Database Browser 23
Oorzaak van het probleem Telefoon Applicatie Applicatie Presentator Stem + Tonen Query + Gegevens Content+Javascript Text + Opdracht Centrale Database Browser Publiek 24
Oorzaak van het probleem Aanvrager 1 communicatiekanaal Data?! Logica?! Verwerker De verwerker kan geen onderscheidt maken tussen data en logica 25
Out of band communication Telefoon Gesprek Telefoon Centrale 1 Gesprek Tonen Telefoon Gesprek Centrale2 26
Out of band communication Database Client Data Applicatie Data Query Database 27
Out of band communication Database 1: stmt = select something from table where column = + variable; 2: stmt = select something from table where column =? ; Bind(1,variable); 1: var: a, -> hash = 0cc175b9c0f1b6a831c399e269772661 var: b, -> hash = 92eb5ffee6ae2fec3ad71c777531578f 2: var: a, then hash = 4a8a08f09d37b73795649038408b5f33 var: b, then hash = 4a8a08f09d37b73795649038408b5f33 28
Out of band communication Browser HTTP heeft alleen in band communication 1 Request met code Browser Webserver 3 Nieuwe pagina 2 Genereert pagina met de code erin 29
Focus ligt op incidenten.. 30
..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 31
Principe Client Data Logica Interpreter Client Contextsafe data + Logica Interpreter 32
The Last Ninja 33
The Last Ninja 34
The Last Ninja 35
The Last Ninja 36
Aanvallen op een webapplicatie 37
The Last Ninja Autorisatie 38
Principe Client Actie1+token1 Actie2+token2 Actie1+Token Actie3+token3 Actie4+token4 Applicatie 39
Aanvallen op een webapplicatie 40
The Last Ninja 2 Whitelist validatie 41
Principe Client A, B, C, D A Interpreter 42
Aanvallen op een webapplicatie 43
The Last Ninja 3 Referentie 44
Principe Client 1,2 A=1,B=2 A,B Applicatie 2 B Store 45
Threatmodel Interactor Dataflow Process Trustboundairy Client Datastore 46
STRIDE Threat classification - Spoofing - Tampering - Repudiation - Information Disclosure - Denial of Service - Elevation of Privileges 47
Threatmodel Interactor Dataflow Process Trustboundairy Client Datastore 48
Trustmodel Interactor Dataflow D/L Process Trustboundairy Client Datastore D/L Splits data&logica, gaat dat niet dan encoden op context en middels whitelist 49
Trustmodel Interactor Dataflow D/L Process Trustboundairy Client Datastore D/L Clientside security bestaat niet, voer controles nogmaal zelf uit 50
Trustmodel Interactor C R U D Dataflow D/L C R U D Process Trustboundairy Client Datastore D/L Whitelist voor opstellen mogelijkheden en valideer deze. 51
Trustmodel Interactor C R U D 1 2 3 4 Dataflow D/L C R U D 1 A 2 B 3 C 4 D Process Trustboundairy A B C D Client Datastore D/L Gebruik een referentie wanneer objecten worden blootgesteld. 52
Overview Fouten Principes Trustmodels 53
staat voor resultaat 54