You are on page 1of 9

ATTACK SURFACE

ANALYSIS
Octane Stats

NOVEMBER 23, 2022


NHL STENDEN
Inhoudsopgave
Inleiding.......................................................................................................................................................2
Attack Surface en Threat model..................................................................................................................3
Threat prioriteiten en oplossingen..............................................................................................................5
Inleiding
Tijdens het maken van de Octane Stats app voor het video spel Rocket League kunnen er mogelijk
gevaren ontstaan voor de applicatie die voor zwakheden kunnen zorgen. Om de gevaren af te zwakken
of helemaal te voorkomen schrijven we een risicoanalyse.

In de risicoanalyse wordt er eerst een threat model gemaakt. Met threat modeling worden gevaren en
risico’s bloot gelegd zodat deze afgezwakt of opgelost kunnen worden.

Daarna nemen we de gevaren en prioriteiten en wordt er een lijst van gemaakt. We geven de gevaren
een prioriteit van hoe gevaarlijk ze zijn van een lage prioriteit tot hoge prioriteit. Zo kan de groep de
belangrijkste gevaren eerst afhandelen. Daarnaast wordt ook de impact gedocumenteerd. De impact is
hoeveel invloed het gevaar heeft, dit wordt ook gedocumenteerd van een lage impact tot hoge impact.
Als laatst wordt er een oplossing bedacht voor het probleem.
Attack Surface en Threat model
Voordat er risico’s worden geanalyseerd moet er eerst uitgevonden worden welke risico’s en gevaren er
potentieel aanwezig zijn in de applicatie. Hiervoor wordt er een threat model gemaakt. Dit is een proces
waarbij potentiële bedreigingen worden bloot gelegd. Dit kunnen structurele kwetsbaarheden zijn maar
ook het ontbreken van passende beveiliging.

Bij een threat model worden dan ook alle attack surfaces vastgelegd. Dit zijn punten binnen een systeem
die een hacker kan aanvallen om ongeautoriseerde toegang te krijgen, gegevens te stelen of schade
toebrengen aan het systeem zelf. Voorbeelden van dit binnen Octane Stats zijn externe API’s, IP-
adressen, encryptiegegevens en applicatie-endpoints. Door deze punten zo goed mogelijk te beveiligen
wordt de applicatie zelf ook steeds veiliger.

Hiermee kan men alle bedreigingen identificeren en vervolgens een prioriteit aan geven voor
tegenmaatregelen. Voor Octane Stats is er gebruikt gemaakt van de Microsoft Threat Modeling Tool
2016. Deze is uitgebracht door Microsoft en voldoet perfect aan de behoeftes van Octane Stats.
Hieronder bij bijlage 1 kan je de threat model vinden van de Octane Stats applicatie.

Bijlage 1: Threat model Octane Stats

Uit een threat model kan er een analyse gemaakt worden welke bedreigingen zich dan binnen de
applicatie bevinden. Dankzij de threat modeling tool van Microsoft wordt deze automatisch
gegenereerd en komt er een overzicht uit dat alle bedreigingen weergeeft. Op de volgende pagina bij
bijlage 2 staat het overzicht van alle bedreigingen.
Bijlage 2: Overzicht van alle bedreigingen
Threat prioriteiten en oplossingen
Titel Prioriteit Impact  Oplossing
Data Flow Generic Data Is Middel Middel Bugs oplossen om enige glitches te
Potentially Interrupted voorkomen (kunnen we niks aan doen)
(commands and
responses)
Elevation by Changing the Hoog Hoog Dit houdt in dat de rechten van de applicatie
Execution Flow in Native of privileges beschikbaar worden voor hem
Application (API’s and wat niet mogelijk hoort te zijn. Hierdoor kan
user to native opbrachten worden uitgevoerd in de app of
application) acties die niet mogelijk worden te zijn.

(Kunnen we naar kijken)

Data Flow HTTPS Is Hoog Hoog SSL en TLS certificates


Potentially Interrupted
(kunnen wij hanteren)
(all HTTPS connections)

External Entity Hoog Hoog Logging gebruiken om de bron, tijd en


Ballchasing Potentially samenvatting van de ontvangen gegevens
Denies Receiving Data vast te leggen.

(Eerste connectie maken is mogelijk voor ons,


daarna is het niet meer te controleren)

Native Application May Hoog Hoog Buffer overflow protection – Firewall – Use
be Subject to Elevation of control lists ACL
Privilege Using Remote
(kunnen wij toepassen)
Code Execution (API’s
and user to native
application)

Spoofing of the Middel Laag Authenticatie uitvoeren om de externe


Ballchasing External entiteit te identificeren
Destination Entity
(Begin de connectie goed vast leggen en
testen)

Spoofing the Ballchasing Laag Laag Authenticatie uitvoeren om de externe


External Entity entiteit te identificeren

(Begin de connectie goed vastleggen, dan


testen. Manieren zoeken om spoofing te
voorkomen)

Cross Site Request Middel Hoog De Threat kan alleen worden opgelost aan de
Forgery server side doormiddel van, alle athenticated
state-changing request mee te geven. Met
een additional piece of secret payload
(canary of CSFR-token) die alleen bekend is
bij legitieme website’s en de browser. Die
beschermd is met SSL en TLS.

(Kunnen wij hanteren en toevoegen)

Data Flow Sniffing Middel Hoog Gebruik encyptie op de data flow

(Kunnen wij hanteren)

Potential lack of Input Hoog Middel Verifiëren of alle ingevoerde data kloppen
validation for native
(Verschillende methodes hanteren voor
Application
oplossing)

Potential Excessive Hoog Middel Er moet een timeout ingesteld worden op


Resource Consumption resource consumption om ervoor te zorgen
for Native Application or dat er geen deadlocks ontstaan.
File System
(Methode toepassing is haalbaar)

Weak Access Control for Hoog Hoog Toegangsvalidatie uitvoeren


a Resource
(Methode toepassen is haalbaar)

Potential Data Hoog Middel Logging gebruiken om de bron, tijd en


Repudiation by Native samenvatting van de ontvangen gegevens
Application vast te leggen.

(Hanteren van de methode is haalbaar)

Potential Data Laag Hoog Logging gebruiken om de bron, tijd en


Repudiation by RapidAPI samenvatting van de ontvangen gegevens
vast te leggen.

(Hanteren van de methode is haalbaar)

Potential Data Laag Hoog Logging gebruiken om de bron, tijd en


Repudiation by samenvatting van de ontvangen gegevens
Ballchasing API vast te leggen.

(Hanteren van de methode is haalbaar)

Potential Data Middel Middel Logging gebruiken om de bron, tijd en


Repudiation Steam samenvatting van de ontvangen gegevens
vast te leggen.

(Hanteren van de methode is haalbaar)

Potential Process Crash Hoog Hoog Bugs oplossen om crashes te voorkomen


or Stop for Native (Kunnen dit niet garanderen)
Application

Potential Process Crash Laag Hoog Foutmelding weergeven.


or Stop for RapidAPI
(Kunnen we niets aan doen omdathet komt
door een externe API)

Potential Process Crash Laag Hoog Foutmelding weergeven.


or Stop for Ballchasing
Kunnen we niets aan doen omdathet komt
API
(door een externe API)

Potential Process Crash Laag Hoog Foutmelding weergeven.


or Stop for Steam
(Kunnen we niets aan doen omdathet komt
door een externe API)

Elevation using Hoog Middel Authenticatie uitvoeren


Impersonation (App)
(Is mogelijk om te hanteren en uit te voeren)

Elevation using Laag Middel Authenticatie uitvoeren


Impersonation (RapidAPI)
(Is mogelijk om te hanteren en uit te voeren)

Elevation using Laag Middel Authenticatie uitvoeren


Impersonation
(Is mogelijk om te hanteren en uit te voeren)
(Ballchasing API)

Elevation using Laag Middel Account wordt gebruikt om de vereiste acties


Impersonation (Steam) uit te voeren

(Is mogelijk om te hanteren en uit te voeren)

Spoofing the Native Hoog Hoog Authenticatie uitvoeren om de process te


Application process identificeren

(Authenticatie hanteren, verdere acties om


het veilig te stellen is niet te garananderen)

External Entity Rocket Laag Hoog Logging gebruiken om de bron, tijd en


league RapidAPI samenvatting van de ontvangen gegevens
Potentially Denies vast te leggen.
Receiving Data
(Kunnen wij niks aan doen want ligt aan de
API, Wel kunnen wij de manier van de
implementatie zo goed mogelijk hanteren)

Native Application May Hoog Hoog Bugs oplossen


be Subject to Elevation of
(Manieren toepassen om remote code
Privilege Using Remote
Code Execution execution te voorkomen)

Spoofing of the Rocket Middel Laag Authenticatie uitvoeren om de externe


League RapidAPI External entiteit te identificeren
Destination Entity
(Connectie goed leggen om zo de spoofing te
voorkomen, verdere acties kunnen niet
worden ondernomen)

Spoofing of the Rocket Middel Laag Authenticatie uitvoeren om de externe


League RapidAPI External entiteit te identificeren.
Entity
(Connectie goed leggen om zo de spoofing te
voormomen)

External Entity Steam API Middel Hoog Logging gebruiken om de bron, tijd en
Potentially Denies samenvatting van de ontvangen gegevens
Receiving Data vast te leggen.

(Kunnen wij niks aan doen, ligt aan de API)

Native Application May Hoog Hoog Bugs oplossen


be Subject to Elevation of
(Manieren toepassen om remote code
Privilege Using Remote
execution te voorkomen)
Code Execution

Spoofing of Steam Middel Hoog Authenticatie uitvoeren om de externe


External Destination entiteit te identificeren
Entity
(Connectie goed leggen om zo de spoofing te
voorkomen, verdere acties kunnen niet
worden ondernomen)

Spoofing the Steam Middel Hoog Authenticatie uitvoeren om de externe


External Entity entiteit te identificeren

(Connectie goed leggen om zo de spoofing te


voorkomen, verdere acties kunnen niet
worden ondernomen)

You might also like