ID: S202603111405
Status: school
Tags: opdracht uitwerking, Avans 2-2 Keuzenmodule
avans 2-2 m2w3 uitwerking
Opdracht 3
Hieronder hebben we de threat model:
Security Threats:
| ID | Description | Implemented Fix |
|---|---|---|
| TA01 | User is able to preform a DDos attack if there are enough devices in play | |
| TA02 | Account creation spam | |
| TA03 | Response time enumeration | |
| TA04 | Login attempt spam |
Security Controls:
| ID | Description |
|---|---|
| C01 | Use https to avoid people listening in |
| C02 | Contact over internal server network instead of wifi to not expose the database |
| C03 | Login authentication with session tokens |
| C04 | Spam protection via rate limit based on IP Addresses |
| C05 | Server side validation of all data to avoid illegal inputs |
| C06 | NoSQL injection prevention & removal of HTML tags to avoid XSS |
| C07 | Account privilege levels to prevent people seeing things they are not allowed to |
| C08 | External webhost to prevent DDoS |
| C09 | Hashing / password encryption |
| C10 | Key required for creating accounts |
STRIDE MODEL:
| Threat | Category | What It Means |
|---|---|---|
| Spoofing | Authentication | Pretending to be someone/something else |
| Tampering | Integrity | Modifying data or code without permission |
| Repudiation | Non-Repudiation | Denying you performed an action |
| Information Disclosure | Confidentiality | Exposing sensitive data to unauthorized people |
| Denial of Service | Availability | Making a system unavailable |
| Elevation of Privilege | Authorization | Gaining more access rights than authorized |
Er zijn 4 realistische dreigingen die op het moment nog aanwezig zijn in dit systeem.
- TA01, een gebruiker kan een DDoS aanval uitvoeren. Want er is wel rate limiting, maar dit is per IP Address. Dus met meerdere devices kan je nog wel schade uitvoeren
- TA02, een persoon kan zo veel accounts aanmaken als hij/zij wilt.
- TA03, een persoon zou kunnen kijken naar hoelang het duurt voordat hij een login response krijgt, om zo te achterhalen of een account bestaat.
- TA04, een persoon kan logins brute-forcen.
Hoe zou je het kunnen verbeteren:
- TA01 zou je tegen kunnen gaan door een firewall op te zetten, of een systeem met dynamische spam limits, dus op momenten met high traffic kan de threshold om geblokkeerd te worden. Ook kan cloudflare helpen.
- TA02 is op te lossen door een limit van 2 accounts per dag per IP in te stellen, of door het aan een e-mailadres / google account te koppelen.
- TA03 zou je kunnen op lossen door altijd een hash te checken, ookal bestaat de user niet.
- TA04 zou je kunnen oplossen om een (separate) rate limit op te stellen voor IP inlog attempts (die falen). En ook een rate limit systeem op het account waarop je probeert in te loggen.
References
Opdrachten van avans 2-2 m2w3 hoe wordt je weerbaar tegen cybercriminelen die in het Groeidocument moeten.