Cursus Software security. Harald Vranken



Vergelijkbare documenten
Inhoud. Introductie tot de cursus

Open Universiteit Master Software Engineering. Prof.dr. Marko van Eekelen Programmaleider Master Software Engineering

Security in onderzoek en onderwijs

Inhoud leereenheid 1. Introductie tot software security. Introductie 15. Leerkern Software security 16 2 Software security touchpoints 19

Inhoud leereenheid 2. Software vulnerabilities. Introductie 23. Leerkern 23. Terugkoppeling 26

Plan van aanpak. 1 Inleiding. 2 Onderzoek. 3 Taken. Kwaliteitswaarborging van webapplicaties. Rachid Ben Moussa

5/15/2014. Open Universiteit Master Software Engineering. Prof.dr. Marko van Eekelen Programmaleider Master Software Engineering

Deny nothing. Doubt everything.

Back to the Future. Marinus Kuivenhoven Sogeti

Zest Application Professionals Training &Workshops

Secure Software Alliance

ISSX, Experts in IT Security. Wat is een penetratietest?

Sebyde AppScan Reseller. 7 Januari 2014

Testnet Presentatie Websecurity Testen "Hack Me, Test Me" 1

Web Application Security Hacking Your Way In! Peter Schuler & Julien Rentrop

Triple C Cyber Crime Control. 16 april 2019

Inhoud. Introductie tot de cursus

Third party mededeling

Introductie Veiligheidseisen Exploiten Conclusie. Browser security. Wouter van Dongen. RP1 Project OS3 System and Network Engineering

PDF hosted at the Radboud Repository of the Radboud University Nijmegen

Inhoud leereenheid 3. Validatie van invoer en uitvoer. Introductie 31. Leerkern 32. Terugkoppeling 39

Cyber Security: hoe verder?

Insecurities within automatic update systems

Security assessments. het voor- en natraject. David Vaartjes

B.Sc. Informatica Module 4: Data & Informatie

Security by Design. Security Event AMIS. 4 december 2014

Inhoud. Introductie tot de cursus

Paphos Group Risk & Security Mobile App Security Testing

What is the advantage of using expression language instead of JSP scriptlets and JSP expressions?

Oracle Application Server Portal Oracle Gebruikersgroep Holland Oktober 2003

5 Hackaanvallen die uw webwinkel bedreigen. Hans Bouman B2U

Inhoud leereenheid 1. Security en IT: inleiding. Introductie 15. Leerkern 15. Terugkoppeling 18. Uitwerking van de opgaven 18

Security web services

Resultaten van de scan. Open poorten. High vulnerabilities. Medium vulnerabilites. Low vulnerabilities

Security NS. Onno Wierbos, Barry Schönhage, Marc Kuiper

Security Pentest. 18 Januari Uitgevoerde Test(s): 1. Blackbox Security Pentest 2. Greybox Security Pentest

User-supplied VMs op BiG Grid hardware

Capita Selecta Design Patterns voor administratieve applicaties

Keuzedeel mbo. Veilig programmeren. gekoppeld aan één of meerdere kwalificaties mbo. Code

Welkom bij parallellijn 1 On the Move uur

Model Driven Software Development: Geen toekomst maar realiteit. 4 juni 2009, WTC, Amsterdam.

Zelftest Java concepten

Secure Development BACHELOR IN DE TOEGEPASTE INFORM ATICA SEMESTER 3 ACADEMIEJAAR LECTOR: MATTIAS DE WAEL STUDIEWIJZER SECURE DEVELOPMENT

Trust & Identity Innovatie

Continuous testing in DevOps met Test Automation

De Security System Integrator Het wapen tegen onbekende dreigingen

SWAT PRODUCT BROCHURE

CompTIA opleidingen. voor beginnende systeembeheerders

INHOUDSOPGAVE IMUIS INSTALLEREN 2 WINDOWS 2. WINDOWS SERVER 2008 r2 4 UITGAANDE VERBINDINGEN 5 INSTALLATIE IMUISONLINE.MSI 5 SSL CERTIFICAAT 5

INHOUDSOPGAVE IMUIS INSTALLEREN 2 WINDOWS 2. WINDOWS SERVER 2008 r2 3 UITGAANDE VERBINDINGEN 4 INSTALLATIE IMUISONLINE.MSI 4 SSL CERTIFICAAT 4

In deze handson opleiding leren C# Developers Responsive mobile Web Applications ontwikkelen om deze vervolgens " On of Off premise" te hosten.

De clientkant van webapplicaties in het universitaire onderwijs

Web Security. Is echt alles kapot? SDN Event 2 September 2016

Gebruik van cryptografie voor veilige jquery/rest webapplicaties. Frans van Buul Inter Access

Futureproof met de software engineering track van Capgemini

Weblogic 10.3 vs IAS

We maken inzichtelijk op welke punten u de beveiliging van uw applicaties en infrastructuur kunt verbeteren.

Inhoud. Introductie tot de cursus

De FAS (Federal Authentication Service) Peter Strick SmartCities IDM workshop 07/05/2009

Factsheet SECURITY SCANNING Managed Services

Third party mededeling

Webapplication Security

Master Software Engineering. Inhoud, begeleiding, tentamen dr. Anda Counotte Docent en mentor

Sr. Security Specialist bij SecureLabs

Security. Awareness.

Model driven Application Delivery

Performance Essentials

De Enterprise Security Architectuur

ECTS fiche. Module info. Evaluatie. Gespreide evaluatie OPLEIDING. Handelswetenschappen en bedrijfskunde HBO Informatica

COMP 4580 Computer Security. Web Security II. Dr. Noman Mohammed. Winter 2019

Server Side Scripting

SLA level Iron Bronze Silver Gold Platinum

Uw bedrijf beschermd tegen cybercriminaliteit

Oracle Database Vault

Deny nothing. Doubt everything.

GDPR & GeoData Omgaan met gegevensbescherming in een digitale wereld in verandering

Gratis bescherming tegen zero-days exploits

DIGID-AUDIT BIJ ZORGPORTAAL RIJNMOND

Certified Ethical Hacker v9 (CEH v9)

Hackers; Hoe wordt je een doelwit? De consument in de keten

Equivalentie tussen: vormingen georganiseerd door het ministerie van Defensie en opleidingen van het volwassenenonderwijs

Zelftest Informatica-terminologie

Web building gevorderden: CSS & JavaScript. Karel Nijs 2008/11

Een toekomst in de cloud? Stefan van der Wal - Security Consultant ON2IT

SECURITY UITDAGINGEN 2015

Template Powerpoint Datum

DevSecOps Een buzzword of toch een noodzakelijke stap richting Secure DevOps?

Gestart als demo/research voor cloud-oplossing. Een Afslagveiling

INHOUDSOPGAVE Het Boekenwinkeltje Registreer.aspx Opgaven... 97

The bad guys. Motivatie. Info. Overtuiging. Winst

Waarom Cloud? Waarom nu? Marc Gruben April 2015

Secure software development. NGI 27 mei Zoetermeer Leo van Koppen

Themadag Beveiliging & ICT Trends, dilemma s & toekomst

Beveiligingsaspecten van webapplicatieontwikkeling

Zest Application Professionals Agile Training & Workshops

Factsheet SECURITY SCANNING Managed Services

Leergang Programmeren. IT Academy Noord-Nederland is onderdeel van de

SOA Security. en de rol van de auditor... ISACA Roundtable 2 juni Arthur Donkers, 1Secure BV arthur@1secure.nl

Transcriptie:

Cursus Software security Harald Vranken

Rondleiding Onderwerp van cursus Cursusmateriaal Cursusstructuur Cursusinhoud per leereenheid (highlights) 2

Waarover gaat de cursus? Software security engineering software so that it continues to function correctly under malicious attack Kernprincipe: building security in beveiliging niet achteraf repareren, maar meenemen in alle fasen van softwareontwikkeling Onderwerpen die aan de orde komen Veelvoorkomende beveiligingsproblemen, onderliggende oorzaken en oplossingen (technieken, richtlijnen, principes, tools) Technische, organisatorische en ethische aspecten 3

Cursusmateriaal Engelstalig tekstboeken Software security: building security in G. McGraw (Addison-Wesley, 2006) Secure programming with static analysis B. Chess en J. West (Addison-Wesley, 2007) OU-producties reader werkboek cursus-dvd Studienet 4

Cursusstructuur 5

1 Introductie tot software security Omvang van software security-problemen Oorzaken van software security-problemen (connectivity, extensibility, complexity) Implementation-level bug vs. design-level flaw 3 pillars of software security risk management touchpoints (best practices) kennis over software security Software security vs. security software Mix van white hat- en black hat-benadering 6

2 Software vulnerabilities Taxonomieën van software security-problemen Ranglijsten van veelvoorkomende vulnerabilities 24 deadly sins of software security OWASP top 10 SANS top 20 CWE/SANS top 25 7

Kernidee: voor gebruik dient alle invoer, 5 van Excepties alle mogelijke en privileges bronnen, eerst gevalideerd te worden Hoe 3 Ontwikkelen wel? van beveiligde software 7 Software security knowledge Indirect selection, whitelisting, reguliere 8 expressies, Risicomanagement geparameteriseerde en risicoanalyse invoer, controle van invoerlengte, minimum- en maximumwaarde van getallen) Hoe niet? Blacklisting, security ondermijnen door 11 gebruiksvriendelijkheid, Security testing repareren van ingevoerde gegevens, gedetailleerde foutmeldingen Vulnerabilities: SQL injection, path manipulation, command injection, log forging, cross-site scripting, HTTP response 14 Language-based splitting, open access redirects, control cross-site request forgery 8

verschijningsvormen van buffer overflows in C/C++ code Voorbeeld: char buf[20]; buf char prefix[] = http:// ; 12 Opdracht C: prefix statische http://0 codeanalyse 4 Language-based strcpy(buf, security prefix); 13 Safety buf http://0 strncat(buf, path, sizeof(buf)); buf http://0 memory safety en type safety statische en dynamische maatregelen ter bescherming 9

Afhandelen van foutcondities via terugkeerwaarden Afhandelen van excepties in Java 10

Opdracht A: vulnerabilities in webapplicatie 11

7 Software security knowledge Kennis over software security classificeren prescriptive, diagnostic en historical knowledge principles, guidelines, rules, attack11 patterns, Security exploits, testing vulnerabilities en historical risks 12 principes voor software security: securing the weakest link least14 common Language-based mechanismaccess control defense in depth reluctance to trust failing securely never assume your secrets are safe least privilege complete mediation 5 Ethiek separation van software privilege security psychological 17 Ethiek van acceptability software security economy of mechanism promoting 18 Opdracht privacye: ethiek 12

Blok 3: touchpoints 13

Opdracht B: architectural risk analysis 14

Opdracht B: architectural risk analysis Client tear Web tear Application tear Data tear gast Client computer browser Registreren als lid Zoeken in aanbod Leden beheer Registratie Autorisatie Veiling database lid Client computer browser Controller Login/logout Aanbieden artikel Bieden op artikel Veiling beheer Artikel beheer Bod beheer beheer Client computer browser Ondersteuning 15

Opdracht C: statische codeanalyse 16

Risk Management Framework 17

13 Safety Abstracties van besturingssysteem voor security en access control Safe/unsafe programmeertaal precise semantics (no undefined behavior) modular behavior Memory safety, type safety Vulnerabilities in Java visibility (public/protected/private/package) sealing 18

Java 2 Vulnerabilities sandbox (Bytecode Verifier, Class2 Loader Software en vulnerabilities Security Manager) Type safety in Java Code signing in Java Stack inspection Security policies 19

Code signing in Java Stack inspection Security policies 20

Traditionele access control: lezen of modificatie van gegevens en bronnen besturingssysteem: user, process programmeerplatform (JVM): modules 4 Buffer binnen overflow code Verfijnde access control via informatieflowanalyse Wat kan er gedaan kan worden met gegevens nadat ze gelezen? Wat is de herkomst van gegevens waarmee andere gegevens gemodificeerd kunnen worden? Informatieflowanalyse via typesysteem of via statische/dynamische analyse van propagatie van tainted data Non-interference 21

Javacode voor webapplicatie beveiligen met JAAS (Java Authentication and Authorization Service) Code signing Policies 22

17 Ethiek van software security Onderscheid tussen ethiek en wetgeving Ethische aspecten omtrent ethical hacking vulnerability disclosure onderzoek en onderwijs over vulnerabilities 23

Casestudie: OV-chipkaart Ethische overwegingen voor betrokken partijen overheid leveranciers onderzoekers journalisten 24