-
Notifications
You must be signed in to change notification settings - Fork 2
Diskusjon
Hvis Arduinomon skal bli et kommersielt produkt ønsker vi selvfølgelig ikke at brukerne skal bli skadelig avhengige. Selv om Arduinomonen ikke er et spill i den forstand, men heller kanskje noe nærmere relatert til samlekort, vil det å motvirke spillavhengighet være en viktig ting å forsøke å unngå. Noen måter dette kan bli gjort på er gjennom typ påtvungne pauser, noe som allerede er implementert (man må vente 10 sekunder mellom hver gang man kan forsøke å fange en pokemon). Et energisystem kunne også vært passende i fremtiden, der man beholdt fordelen av å at spilleren kan oppnå framgang over kort tid, men at mye spilling over lengre tid har avtagende resultater.
Med de funksjonene som er implementert til nå er det ikke mye annet vi får gjort for å forebygge spillavhengighet, og det er heller ikke mye som kan forårsake avhengighet, men hvis vi skulle solgt produktet ville måtte vi ha lagt til mer funksjonalitet, som kanskje muligheten til å bytte pokemon, en sjanse for å fange en shiny versjon av pokemon, mulighet til å kjempe mot andre spillere med de pokemon man har fanget osv. Dette vil gi flere grunnen til at forbrukerne kan bli avhengige av produktet og vi føler det er viktig å i alle fall ha dette i bakhodet hvis produktet skulle videreutvikles.
I dette prosjektet eksisterer det tre forskjellige ledd i sikkerheten som kan potensielt utnyttes til et eller annet formål. Vi går igjennom mulige angrepsmåter her.
- Wi-fi sniffing
- Web / Database
- Arduinoen
Wi-fi sniffing
Trafikken som Arduinoen sender til telefonen er kryptert ved hjelp av en microchip ved navn ATECC608A. Krypteringen er ment for bruk i IoT tilfeller hovedsakelig, men tilbyr mer enn nok sikkerhet i vårt tilfelle. Microchippen støtter følgende kryptering: ECC P256 (ECDH and ECDSA), SHA256, AES-GCM. Hvem som helst som er koblet på samme nettverk som Arduinoen kan fange opp den krypterte trafikken, men dette oppnår lite. Teoretisk så kan en angriper fange opp trafikken, for å så sende trafikken gjennom en proxy som dekrypterer SSL/TLS sikkerheten om de har tilgang til selve SSL/TLS nøkkelen. Selve routerenheten som i vårt tilfelle sannsynligvis er en telefon som man er koblet til via et Wi-Fi hotspot, har ikke mer innsyn i trafikken som sendes enn hvilken som helst annen person som er koblet til nettverket og overvåker det med wireshark.
Web / Database
Om målet til en angriper er å stanse funksjonen til Arduinomon så kan man gjøre dette på et par måter, blant annet så kan man forhindre koblingen mellom Arduinoen og APIene som den kobler seg til. Dette kan utføre ved hjelp av et denial-of-service angrep for å kræsje et av APIene, enten databasen eller pokeAPI. Man kan også prøve å hacke database APIet. En populær måte er SQL injection, som vi kan gå videre på i Arduino delen. Selve maskinen som kjører databasen kan også komme under angrep, men det er ikke veldig relevant å inkludere det her
Arduino
I et teoretisk case der vi har lansert et produkt basert på hva vi viser fram i dette prosjektet, så kan man ved hjelp av kredentialene til Arduinoene vi selger utføre SQL injection angrep. Dette kan resultere i tilgang til hele databasen, eller så kan man eventuelt slette den om motivet til angriperen er sabotasje. Dette kan utføres ved å veldig enkelt endre en linje i koden.
Om vi sletter det etter = tegnet, og skriver: “DROP DATABASE arduinomon”; så har vi da slettet databasen, i hvert fall inntil den blir gjenopprettet.