Marc van Bommel

minor cyber security

security architecture

hieronder staat een diagram waarin wordt aangegeven welk onderdeel van de applicatie welke soort beveiliging toepast.

security architecture

Om een goed idee te krijgen van het mogelijke misbruik van de applicatie heb ik misusecases gemaakt. Hierin valt te lezen hoe een hacker misbruik zou kunnen proberen te maken van delen van de applicatie. Ook staan er manieren in om de applicatie te beveiligen tegen deze aanvallen.

misusecase diagram

Een deel van de bedreigingen zijn direct terug tevinden in dit misusecase diagram. Zo zijn de DDOS aanval en Scriptkiddies direct terug te vinden. Niet alle bedreigingen zijn direct ook aanvallen, de misuse cases zijn gemaakt op de aanvallen uit het misusecase diagram. Bij iedere misusecase is er een rij toegevoegd die aangeeft onder welke bedreiging de misusecase valt.

naam SQL injectie
bedreiging Data breach persoonsgegevens, stelen vertrouwelijke bedrijfsdata
Samenvatting Door een gebrek aan filtering kan een gebruiker SQL invoeren en wordt deze uitgevoerd.
Beschrijving 1. De misactor voert SQL-code in in een textbox 2. De SQL-Server voert deze code uit 3. De misactor krijgt de resultaten terug 4. De misactor kan de hele database uitlezen en zelfs aanpassen
Beveiligen 1. scheiding van data 2. rollen 3. filteren van gebruikersinput
Aanames -
grootste risico De misactor kan alle data uitlezen, aanpassen en verwijderen
Preventie garantie b1. De misactor kan wel data inzien en aanpassen, maar niet alles b2. De misactor kan wel data inzien maar niet aanpassen b3. De misactor kan niks
Stakeholders and threats De stakeholders zijn iedereen die de applicatie gebruikt, omdat al deze gegevens kunnen lekken. Het kost veel tijd om alle klanten te bereiken dat er data verloren is. Verder zorgt dit voor een verlies van vertrouwen
Scope Alle data opgeslagen in een database.
Ondernomen Stappen rollen en filteren van gebruikers input
naam XXS
bedreiging Malware Infectie, data breach persoonsgegevens, stelen vertrouwelijke bedrijfsdata
Samenvatting Door een gebrek aan filtering kan een gebruiker SQL invoeren en wordt deze uitgevoerd.
Beschrijving 1. De misactor voert JS-code in in een textbox 2. De Client voert deze code uit bij een andere gebruiekr 3. De misactor kan mogelijk cookies stelen de pagina aanpassen en de gebruiker volgen op de pagina
Beveiligen 1. filteren van gebruikersinput
Aanames -
grootste risico De misactor kan bij alle gebruikers JS uitvoeren
Preventie garantie b1. De misactor kan niks
Stakeholders and threats De stakeholders zijn alle gebruikers. Het is erg moeilijk om te ontdekken wanneer er misbruik gemaakt wordt van een XSS.
Scope Alle pagina’s in het systeem.
Ondernomen Stappen filteren van gebruikers input
naam Account overnamen
bedreiging Data breach persoonsgegevens, phishing
Samenvatting Door het misbruiken van een exploit kan de misactor toegang krijgen tot een account van een andere gebruiker.
Beschrijving 1. De misactor gebruikt een exploit om login-token of een gebruikersnaam en wachtwoord te verkrijgen 2. De misactor gebruikt deze gegevens om in te loggen
Beveiligen 1. 2 factor authentication bij het inloggen 2. alle gebruikers alleen de noodzakelijke rechten geven. 3. tokens een beperkte levensduur geven.
Aanames er is een exploit aanwezig in het susteem waarmee iemand deze gegevens kan bemachtigen
grootste risico De misactor kan bij iemands bankrekening en kan geld overmaken naar andere accounts.
Preventie garantie b1. de misactor kan niks als hij alleen een gebruikersnaam en wachtwoord heeft b2. de gebruiker kan een alleen dingen doen waar hij rechten voor heeft b3. de misactor heeft minder kans om een token te kunnen gebruiken
Stakeholders and threats De stakeholders is de gebruiker waarvan de inloggegevens zijn gelekt. De schade kan financieel erg groot zijn voor deze gebruiker.
Scope  
Ondernomen Stappen jwt tokens met een beperkte levensduur en alle gebruikers alleen noodzakelijke rechten geven.
naam (D)DoS
bedreiging DDOS
Samenvatting Door een groot aantal request te sturen naar de applicatie kan de misactor de applicatie plat leggen.
Beschrijving 1. De misactor heeft een bot-net of heeft een DoS-fout in de applicatie gevonden 2. De misactor activeert de aanval
Beveiligen 1. de firewall instellen om dos berichten te blokkeren 2. een DDoS-blocker gebruiken
Aanames  
grootste risico het systeem is volledig buiten werking voor een onbepaalde tijd
Preventie garantie b1. Een DoS en sommige DDoS aanval wordt minder waarschijnlijk b2. Een DDoS aanval is niet meer mogelijk maar een DoS-fout nog wel
Stakeholders and threats De stakeholders zijn alle gebruikers. Omdat nietmand de applicatie kan gebruiken kost dit veel tijd en geld
Scope De gehele applicatie
Ondernomen Stappen  
naam MitM
bedreiging Data breach persoonsgegevens, stelen vertrouwelijke bedrijfsdata
Samenvatting Door een gebrek aan SSl kan een gebruiker de data die wordt verstuurd van en naar de server lezen.
Beschrijving 1. De misactor voert een MitM aanval uit op een netwerk waarop de app gebruikt wordt 2. Een gebruiker gebruikt de app 3. De misactor krijgt alle verstuurde data te zien en kan deze aanpassen
Beveiligen 1. het afdwingen van SSL
Aanames -
grootste risico De misactor kan alle verzonden data uitlezen, aanpassen en verwijderen
Preventie garantie b1. De misactor kan wel de connecties zien maar de data is versleuteld en dus niet te gebruiken
Stakeholders and threats De stakeholders zijn iedereen die de applicatie gebruikt op het netwerk met de MitM, omdat de server niet kan zien of de data tijdens het verzenden is aangepast kan dit ervoor zorgen dat er geld naar een verkeerd account gestuurd wordt.
Scope Alle data die wordt verzonden tussen een client en de server
Ondernomen Stappen ssl certificaat en Data encryptie met AES
naam brute force
bedreiging Data breach persoonsgegevens, stelen vertrouwelijke bedrijfsdata
Samenvatting Door een gebrek aan timeouts en capcha’s kan een gebruiker oneindig vaak proberen zijn wachtwoord te raden
Beschrijving 1. De misactor laat een programma proberen om in te loggen door middel van een bruteforce of library attack 2. de server reageert telkens of het inloggen gelukt is 3. De misactor krijgt de resultaten terug uit het programma 4. De misactor kan nu inloggen met een gevonden combinatie van gebruikersnaam en wachtwoord
Beveiligen 1. timeouts na x keer inloggen 2. capcha’s
Aanames -
grootste risico De misactor kan inloggen op andermans account en vanuit daar geld overmaken
Preventie garantie b1. De misactor kan de aanval wel uitvoeren maar die duurt veel langer b2. bruteforce programma’s kunnen niet omgaan met capcha’s hierdoor worden bruteforce en library attack’s voorkomen.
Stakeholders and threats De stakeholders zijn iedereen die de applicatie gebruikt, omdat er gezocht kan worden naar een combinatie van gebruikersnaam en wachtwoord. een klant kan veel geld verliezen als een hacker inbreekt in zijn of haar account. Verder zorgt dit voor een verlies van vertrouwen
Scope Alle accounts.
Ondernomen Stappen recaptcha, timeouts, two-factor authenticatie
naam csrf
bedreiging Data breach persoonsgegevens, stelen vertrouwelijke bedrijfsdata
Samenvatting Door een gebrek aan input filtering kan een misactor request sturen die uit een vertrouwde user lijken te komen
Beschrijving 1. de misactor steel een token van een gebruiker met de admin rol 2. de misactor stuurt een request naar de website met het gestolen token. De server voert de request uit omdat hij de token vertrouwd. 4.
Beveiligen 1. korte levensduur tokens 2. random tokens
Aanames -
grootste risico De misactor kan admin functies uitvoeren
Preventie garantie b1.CSRF Token b2. Omdat de tokens maar een beperkte levensduur hebben is de kans groot dat de misuser een ongeldige token heeft.
Stakeholders and threats De stakeholders zijn de gebruikers waarvan de token gestolen is. De schade is afhankelijk van de rechten van het account.
Scope de eigenaar van het token.
Ondernomen Stappen jwt tokens met een beperkte levensduur.
naam zero day
bedreiging Data breach persoonsgegevens, stelen vertrouwelijke bedrijfsdata, malware infectie
Samenvatting Doordat er een nieuwe aanval is gevonden kan een misactor misbruik maken van de applicatie
Beschrijving 1. De misactor voert de zero day aanval uit.
Beveiligen 1. logging
Aanames -
grootste risico De misactor kan heel de applicatie misbruiken
Preventie garantie b1. een zero day wordt eerder opgemerkt en kan dus eerder gepatched worden
Stakeholders and threats De stakeholders zijn iedereen die de applicatie gebruikt, omdat de hele applicatie een zero day kan bevatten. een klant kan veel geld verliezen als een hacker inbreekt in zijn of haar account. Verder zorgt dit voor een verlies van vertrouwen
Scope de gehele applicatie
Ondernomen Stappen security logging
naam sniffing
bedreiging Data breach persoonsgegevens, stelen vertrouwelijke bedrijfsdata
Samenvatting Door een gebrek aan encryptie van de communicatie tussen de client en server kan een misactor het verkeer lezen
Beschrijving 1. De misactor volgt al het netwerk verkeer van de client of server 2. de server stuurt onversleutelde data naar de client 3. De misactor krijgt de data te zien
Beveiligen 1. SSl encryptie afdwingen
Aanames -
grootste risico De misactor kan persoonsgegevens of wachtwoorden uitlezen
Preventie garantie b1. De misactor kan het verkeer nog zien maar de data is versleuteld dus kan de misuser er niks mee
Stakeholders and threats De stakeholders zijn iedereen die de applicatie gebruikt, omdat hun data wordt verstuurd door de app. een klant kan veel geld verliezen als een hacker zijn wachtwoord afleest. Verder zorgt dit voor een verlies van vertrouwen
Scope de gehele applicatie
Ondernomen Stappen ssl certificaat en Data encryptie met AES