Klantopdracht in detail¶
Zoals hierboven aangekondigd, ga je dus PNO, de klant van ALSSM, ondersteunen met de verdere afhandeling van hun Cyber Security incident. Dit hoofdstuk legt de opdracht in meer detail uit. Voor de opdracht levert ieder team vier beroepsproducten op. Deze producten moeten voldoen aan de eisen van klant en van de school. De eisen van de klant zijn te vinden in de Project Brief, de eisen van de school in dit hoofdstuk.
Context opdracht¶
De politie is langs geweest en PNO heeft een incident-response partner ingehuurd. De incident-response partner heeft alle systemen weer netjes in de originele staat teruggebracht en samen met de Politie forensisch materiaal verzameld, die aan jullie CS team ter beschikking staat. Ieder deel van dit forensisch materiaal is een artifact. Dus ALSSM heeft van PNO vooral de verantwoordelijkheid gekregen voor het onderzoek, het geven van advies en het implementeren; het herstel van de bedrijfsprocessen en verzamelen van materiaal is al gedaan door de incident-response partner.
Samenhang onderdelen van de opdracht¶
Het is essentieel om in te zien dat de onderdelen van de opdracht niet los van elkaar staan maar input voor elkaar vormen. Je kunt het je voorstellen zoals in het figuur hieronder, dat een brede indicatie geeft van de onderdelen waar je mee aan de slag gaat. Zoals je ziet dienen de documenten en output van eerdere onderdelen mede als input voor de volgende onderdelen.
Figuur 1: Overzicht samenhang van de verschillende opdrachtonderdelen. Ruiten zijn aangeleverd materiaal, rechthoeken zijn taken, en ovalen zijn deliverables.¶
Forensisch onderzoek¶
Voor het forensisch onderzoek lever je een forensisch rapport op. In dit rapport voer je bewijs aan dat je gebruikt om zo grondig mogelijk antwoord te geven op de onderstaande vragen: - Wie is verantwoordelijk voor de aanval? - Welke tools & technieken zijn ingezet voor de aanval? - Welke kwetsbaarheden hebben de aanvallers geëxploiteerd?
Om dit te doen krijg je toegang tot een image van de getroffen PC die je zult moeten onderzoeken, een document met informatie over het bedrijf PNO, en voer je interviews met medewerkers van PNO uit.
Het kan zijn dat sommige vragen niet meer te beantwoorden zijn, bijvoorbeeld omdat de malware of een aanvaller sporen heeft gewist. Ook dit is onderdeel van het rapport; in dit geval voer je aan welke bewijsstukken je wel hebt kunnen vinden, welke ontbreken, en onderbouw je wat voor conclusies je daar al dan niet uit kunt trekken.
Het rapport bevat naast de standaard indeling voor rapporten en verslagen, in ieder geval het volgende:
* De context van het onderzoek. Hierin staat kort beschreven in welke kader het onderzoek plaatsvindt, voor zover de onderzoeker hiervan op de hoogte is; inclusief opdrachtgever, de reden van het onderzoek, en of het onderzoek ethisch verantwoord is (denk aan toestemming van eigenaars van informatie en het voorkomen van computervredebreuk).
* Een beschrijving en identificatie van het bewijsmateriaal. Deze beschrijving moet zodanig zijn dat de lezer begrijpt wat voor bewijs het is (een object, een bestand, een afbeelding, etc.), waar het bewijs is na te slaan, hoe het bewijs is te identificeren (zodat men weet dat men de juiste heeft), en waar het bewijs gevonden is.
* Wat de onderzoeker met het onderzoek te weten wil komen. Dit bevat in ieder geval een tijd en een tijdslijn, voor zover mogelijk.
* Welke tests en acties de onderzoeker gebruikt om deze informatie te vinden. Een actie of test bevat altijd:
* de te vinden informatie
* de aanpak (de tool, het commando, de parameters, etc.), zodanig dat de lezer het proces kan herhalen met hetzelfde resultaat
* de data. Dit is vaak een screenshot. Het mag ook een deel van een screenshot zijn, met de verdere date in bijlages.
* de interpretatie van de data. Komt de interpretatie uit een andere bron, vermeld dit dan via APA.
* de eindconclusies, eventueel vooraf gegaan door deelconclusies. Hier worden de interpretaties van de individuele testen samengevoegd en naast elkaar gelegd, om conclusies te trekken die de vragen beantwoorden die de onderzoeker in het begin heeft gesteld.
Malware-analyse¶
Voor de malware-analyse levert je een malware-analyserapport op. Het rapport beantwoordt de volgende vragen: - Welke malware is dit? - Wat is het doel van de malware? - Wat heeft de malware gedaan? - Hoe kan het systeem hersteld worden?
Het kan zijn dat sommige vragen niet meer te beantwoorden zijn, bijvoorbeeld omdat de malware of een aanvaller sporen heeft gewist; benoem dit dan ook in je rapport.
Het malware rapport bevat naast de standaard indeling voor rapporten en verslagen, in ieder geval: * De context van het onderzoek. Hierin staat kort beschreven in welke kader het onderzoek plaatsvindt, voor zover de onderzoeker hiervan op de hoogte is; inclusief opdrachtgever, de reden van het onderzoek, en of het onderzoek ethisch verantwoord is (denk aan toestemming van eigenaars van informatie en het voorkomen van computervredebreuk). * Een beschrijving en identificatie van het te analyseren object. Deze beschrijving moet zodanig zijn dat de lezer begrijpt wat voor object dit is (een ding, een bestand, een afbeelding, etc.), waar het object is te vinden, hoe het object is te identificeren (zodat men weet dat men de juiste heeft), en waar het object gevonden is. * Wat de onderzoeker met het onderzoek te weten wil komen. * Welke tests en acties de onderzoeker gebruikt om deze informatie te vinden. Een actie of test bevat altijd: * de te vinden informatie * de aanpak (de tool, het commando, de parameters, etc.), zodanig dat de lezer het proces kan herhalen met hetzelfde resultaat * de data. Dit is vaak een screenshot. Het mag ook een deel van een screenshot zijn, met de verdere date in bijlages. * de interpretatie van de data. Komt de interpretatie uit een andere bron, vermeld dit dan volgens IEEE- APA richtlijnen. * de eindconclusies, eventueel vooraf gegaan door deelconclusies. Hier worden de interpretaties van de individuele testen samengevoegd en naast elkaar gelegd, om conclusies te trekken die de vragen beantwoorden die de onderzoeker in het begin heeft gesteld.
Ethische evaluatie¶
Iedere situatie, of het nu een technische oplossing of a juridisch contract is, heeft een ethisch perspectief. Dit geldt ook voor de situatie bij PNO. Daarom krijgt iedere student de opdracht om de situatie bij PNO ethisch te evalueren.
De Ethische evaluatie valt uiteen in twee delen: A en B.
- Een opsomming van de dilemma's. De student schrijft een memo van circa 1000 woorden met daarin de ethische dilemma's die men kan vinden in situatie van PNO. Ieder dilemma heeft een korte uitleg (bijvoorbeeld 1 alinea) om uit te leggen welke aspecten van de situatie het een ethisch dilemma maken. Het doel van de memo-opdracht is te oefenen met het zelf nadenken over ethiek en het zelf identificeren van dilemma's. De situatie omvat: de bedrijfsbeschrijving en de analyses die je al gemaakt hebt. Studenten mogen samenwerken in hun studiegroepje om de dilemma's te vinden of, als dat niet lukt, met andere groepjes overleggen. Deze ethische memo heeft een deadline: week 7, vrijdag 07:00.
- Een uitwerking van de dilemma's. Na de deadline benoemen de docenten (een aantal van) de dilemma's die er zijn. Iedere student kiest twee of drie dilemma's en werkt die uit. De student laat diens werk door de docent goedkeuren voor voldoende diepgang. De student evalueert ieder dilemma aan de hand van minimaal drie ethische kaders. **Hierbij is het deontologische kader verplicht**; de andere kaders zijn een vrije keuze. Enkele voorbeelden van ethische kaders zijn: - [Deontologie](https://ethics.org.au/ethics-explainer-deontology/) - [Deugdethiek](https://ethics.org.au/ethics-explainer-virtue-ethics/) - [Gevolgenethiek](https://ethics.org.au/ethics-explainer-consequentialism/) - [Principe-ethiek](https://ethics.org.au/big-thinkers-thomas-beauchamp-james-childress/) - [Zorgethiek](https://www.scu.edu/ethics/ethics-resources/ethical-decision-making/care-ethics/care-ethics.html) Het doel van de evaluatie is het leren toepassen van de ethiektheorie en het bepalen van een eigen keuze.
Threat Modeling¶
Om de risico’s en bedreiging in een digitale omgeving in kaart te brengen gebruiken informatiebeveiligers gewoonlijk een systematisch model: een theoretisch kader om de gegevens van risico’s en bedreigingen in kaart te brengen. In deze deelopdracht oefen je met het systematisch analyseren van systemen en processen, deze te evalueren op reële dreigingen, en de potentiële impact hiervan in kaart te brengen.
Voor dit deel van de opdracht kies je een Threat modeling methode (e.g. ATASM, HAZOP, of PASTA) en maak je aan de hand daarvan een analyse. Threat modeling-methodes zijn vaak ontworpen om uitgevoerd te worden door teams van experts gedurende een langere periode; je zult dus moeten nadenken over hoe je het model toe kunt passen in de beperkte tijdspanne van de opdracht; overleg hiervoor met je docent.
Je levert een risico-analyserapport op dat de situatie bij PNO in kaart brengt. Je kijkt hierbij o.a. naar de waardevolle bedrijfsprocessen en (intellectuele) eigendommen van PNO, profielen van potentiële aanvallers, impact- en waarschijnlijkheidsanalyses, en schrijft op basis van al deze informatie een risico-analyse. Het rapport bevat in ieder geval de onderdelen genoemd in de “Introduction” van Shostack (2014).
Adviesrapport¶
Het management van PNO vraagt om een adviesrapport in reactie op de malware aanval. De uitkomsten van het forensisch onderzoek, de malware-analyse en het threat model behoren samen met de bedrijfscontext tot de input voor dit adviesrapport.
In dit adviesrapport schrijf je adviezen op de volgende vlakken: - Bedrijfsprocessen - Netwerkarchitectuur en -protocollen - Softwarepakketten - Cryptografische protocollen
Het adviesrapport bevat in ieder geval de volgende onderdelen; maak hiervoor vooral gebruik van je deliverables van de eerdere deelopdrachten: 1. Doelstelling en eisen of wensen van de opdrachtgever en andere stakeholders 2. Een technische analyse van de situatie en het probleem 3. Een risico-analyse van de organisatie 4. Voorstellen voor verbeteringen, countermeasures, en mitigatietechnieken om toekomstige aanvallen te kunnen voorkomen en/of mitigeren. Let erop dat je voor elk van eerdergenoemde vlakken adviezen schrijft, en dat je voor elke advies de volgende punten (onderbouwd) bespreekt: * Rijkweidte van het voorstel (op welke systemen en processen heeft het impact) * Complexiteit en impact van het implementeren van het voorstel * Kostenschatting in termen van FTEs, diensten, en/of hardware (je hoeft dit niet te vertealen naar een bedrag) * Welk probleem het voorstel oplost en waarom * Eventuele ethische aspecten
Onthoud dat een adviesrapport niet bedoeld is om een bedrijf te vertellen wat ze moeten doen, maar om verschillende mogelijkheden voor te stellen waar het bedrijf voor kan kiezen afhankelijk van hun eigen prioriteiten. De taak is aan jou als expert om de consequenties van de verschillende voorstellen duidelijk te maken.
Voor het advies lever je twee producten op: * Een document met het rapport zelf. * Een presentatie van het advies voor het management van PNO. Het advies moet gepresenteerd worden voor de klas. Deze presentatie is in het Engels. De vaardigheid van het Engels telt met voor de skill Engels. Het management is bekend met globale netwerk- en ICT-concepten, zoals bv. het principe van client-server, maar is verder niet technisch onderlegd. Houd in je presentatie dus rekening met het publiek aan wie je de informatie voorlegt.
Systematisch literatuuronderzoek¶
Het is niet reëel om je voor elk deel van het onderzoek te baseren op het meest recente onderzoek, maar voor één van de onderdelen van je adviesraport ga je dat wel doen. Je kiest één onderdeel van het bedrijf waar je een verbeteringsvoorstel voor wil doen, en gaat een systematisch literatuuronderzoek uitvoeren om te achterhalen wat de meest recente ontwikkelingen op dat gebied zijn. Tijdens een systematisch literatuuronderzoek zoek je op gestructureerde wijze naar onderzoekspapers, kies je op onderbouwde wijze de meest relevante papers uit die zoekresultaten, en vat je samen wat deze papers zeggen over de huidige State Of The Art van je gekozen onderwerp.
Dit alles lever je op in het format van een kort paper.
Technisch Ontwerp¶
In overleg met je docenten kies je een aantal technische voorstellen uit je adviesrapport om verder uit te werken. Dit doe je zodanig dat iedereen die iets bouwt op basis van jouw ontwerp tot nagenoeg hetzelfde eindproduct zou komen. Omschrijf daarom voor elk van de uit te werken voorstellen het volgende: - Functionele eisen: omschrijft waar het eindproduct toe in staat moet zijn, in taal die een BIM’er (redelijk) kan begrijpen - Technische eisen: dit zijn concrete technische eisen in technische taal bedoelde voor engineers die het ontwerp moeten implementeren - Technisch ontwerp: technische details, en hoe deze welke eisen implementeren - Installatie- en beheerproces (dit bevat hoe de implementatie geïnstalleerd moet worden en - eventuele beheer-eisen)
Dit ontwerpdocument ga je gebruiken om in de laatste fase zelf de verbeteringen te implementeren.
Implementatie¶
Als laatste ga je de verbeteringen uit je technische ontwerp implementeren. Hiervoor werk je in de CS-cloud, ofwel de Virtual Private Server (VPS).
Naast het implementeren van het ontwerp schrijf je ook een beheerdocument waar het installatie- en beheerproces in staat gedocumenteerd, en een testplan dat omschrijft hoe de werking van je implementatie getest & bewezen wordt. Dit testplan gebruik je ook om aan het einde je implementatie te demonstreren.