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:

IDDescriptionImplemented Fix
TA01User is able to preform a DDos attack if there are enough devices in play
TA02Account creation spam
TA03Response time enumeration
TA04Login attempt spam

Security Controls:

IDDescription
C01Use https to avoid people listening in
C02Contact over internal server network instead of wifi to not expose the database
C03Login authentication with session tokens
C04Spam protection via rate limit based on IP Addresses
C05Server side validation of all data to avoid illegal inputs
C06NoSQL injection prevention & removal of HTML tags to avoid XSS
C07Account privilege levels to prevent people seeing things they are not allowed to
C08External webhost to prevent DDoS
C09Hashing / password encryption
C10Key required for creating accounts

STRIDE MODEL:

ThreatCategoryWhat It Means
SpoofingAuthenticationPretending to be someone/something else
TamperingIntegrityModifying data or code without permission
RepudiationNon-RepudiationDenying you performed an action
Information DisclosureConfidentialityExposing sensitive data to unauthorized people
Denial of ServiceAvailabilityMaking a system unavailable
Elevation of PrivilegeAuthorizationGaining 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.