Secure Development BACHELOR IN DE TOEGEPASTE INFORM ATICA SEMESTER 3 ACADEMIEJAAR 2017-2018 LECTOR: MATTIAS DE WAEL STUDIEWIJZER SECURE DEVELOPMENT 1
VEREISTE VOORKENNIS Om deze module succesvol te beëindigen is volgende voorkennis noodzakelijk: Grondige kennis van object-georiënteerd programmeren (Java). Grondige kennis van programmeren (Java). Toegepaste Informatica CCCP@Home I Howest I 2017-2018
Secure Development LEERRESULTATEN TOEGEPASTE INFORMATICA Secure Development vormt een onderdeel van het CCCP-@HOME-traject binnen de opleiding Toegepaste informatica. Het vak werkt aan de volgende leerresultaten: De student herkent het gebruik van een secure coding guideline in een stuk software De student ontdekt de afwezigheid van een secure coding guideline in een stuk software De student past de secure coding guidelines toe in een stuk software De student legt in eigen woorden het voordeel uit van het gebruik van een secure coding guideline De student schetst de gevaren van het niet naleven van een secure coding guideline 3
DOELSTELLINGEN & STUDIETIPS Na het volgen van deze module kan je: 1. De secure coding guidelines a. Verstaan b. Herkennen c. Uitleggen d. Toepassen 2. Het consequent toepassen van de secure coding guidelines vormt de eerstelijns verdediging van je software. Toegepaste Informatica CCCP@Home I Howest I 2017-2018
Secure Development INHOUD & STUDIEMATERIAAL Deze module bestaat niet onder deze vorm in het regulier dag traject. In het regulier dagtraject wordt de inhoud van deze module gecombineerd met design patterns, object-georiënteerd programming en object- georiënteerde architecturen. Deze module veronderstelt het voorgenoemde als voorkennis en bestaat dus enkel uit het kennen, herkennen en toepassen van de secure coding guidelines. Het studiemateriaal bestaat uit een dynamische repository die de secure coding guidelines voor Java opsomt en beschrijft. Het is de bedoeling is dat de studentengroep als community aan de repository werkt. Dit in vorm van vraag-en-antwoord, toelichtingen en voorbeelden. Zo groeit het studiemateriaal samen met de studenten groep. Je kan de repository hier vinden: https://github.com/howesttisecuredevelopment/ Maak een github-account aan met je howest-emailadres en vraag toegang tot deze repo (mattias.de.wael@howest.be). 5
EVALUATIE Deze module wordt geëvalueerd met een examen. EXAMEN (100%) Het doel van deze cursus is het verstaan, (her)kennen en toepassen van de secure coding guidelines (Oracle for Java SE). De vragen op het examen zullen de volgende vorm (of een combinatie) aannemen: - Verstaan: Leg uit met jouw eigen woorden welke vulnerabilities een bepaalde guidline probeert te verhelpen en waarom dit belangrijk is. - Herkennen: Beschrijf voor een gegeven een stuk software welke vulnerabilities er zijn en hoe je deze kan verhelpen. - Toepassen: Herschijf een stuk code zodat een aanwezige vulnerabilities niet langer uitbuitbaar is. Toegepaste Informatica CCCP@Home I Howest I 2017-2018
Secure Development BEGELEIDING CONTACTMOMENTEN Tijdens het eerste contactmoment wordt het idee achter het werken met de repository toegelicht en wordt de inhoud en doel van de module gekaderd. In het tweede contactmoment worden secure coding guidelines besproken samen met de studenten op basis van vooraf ingediende vragen. Deze contactmomenten gaan door op de campus. Je kan niet digitaal aansluiten, maar wel nadien digitaal bekijken. ONLINE CONSULTATIE Heb je vragen over de inhoud van de leerstof? Gebruik dan vooreerst de online repository om af te toetsen met je collega s. Heb je vragen over de organisatie van de module? Wacht niet om ze te stellen. Dit soort vragen worden altijd gesteld via het ticketing-systeem van CCCP@Home, of mondeling tijdens de contactmomenten. ANDERE HULPMIDDELEN Aangezien het de bedoeling is dat de studentengroep samen de verantwoordelijkheid opneemt om de leerstof te verwerken is de belangrijkste vorm van andere hulpmiddelen de medestudent. Lees de introductie op de repository. 7
STUDIEPLANNER Onderstaande is een suggestie voor de planning van de verwerking van deze module. Dit komt overeen met iets minder dan één guideline per dag. - Week van 02 oktober: Fundamentals - Week van 09 oktober: Denial of Service (halve week) - Week van 09 oktober: Confidential Information (halve week) - Week van 16 oktober: Injection and Inclusion - Week van 23 oktober: Accessibility and Extensibility - Week van 06 november: Input Validation - Week van 13 november: Mutability (2 weken) - Week van 20 november: Object Construction - Week van 04 december: Serialization and Deserialization - Week van 11 december: Access Control (2 weken) Toegepaste Informatica CCCP@Home I Howest I 2017-2018