iOS og Android
Penetrasjonstest av mobilapper for iOS og Android
En mobilapp kjører på en enhet du ikke kontrollerer. Vi tester den slik en angriper med full kontroll over telefonen ville gjort — og vi tester API-ene bak, der de virkelig alvorlige funnene som regel ligger.
Typisk 2–3 uker. Både klient og backend inngår i samme oppdrag.
Testområder
Det vi går gjennom i en mobilapp
Vi følger OWASP MASVS som struktur, og tester både det som skjer på enheten og det som skjer bak API-et.
Lokal lagring av data
Hva ligger igjen på enheten? Tokens, personopplysninger, mellomlagrede svar, loggfiler og skjermbilder i appbytteren. Vi undersøker filsystemet, databasene og nøkkelkjeden på en enhet vi kontrollerer fullt ut.
Kryptering og nøkkelhåndtering
Brukes plattformens nøkkellagring riktig, eller ligger nøkkelen hardkodet i appen? Vi ser på algoritmevalg, nøkkelutledning og om kryptering faktisk brukes der den burde — ikke bare der den er lett å legge inn.
Nettverkskommunikasjon
TLS-oppsett, sertifikatvalidering, sertifikatfesting og hvor enkelt det er å plassere seg mellom appen og serveren. Vi tester også hvordan appen oppfører seg når sertifikatvalideringen slår feil.
API-ene bak appen
Her ligger de alvorligste funnene. Vi tester autentisering, tilgangskontroll mellom brukere, ratebegrensning og forretningslogikk direkte mot API-et, uten å gå veien om appens eget grensesnitt.
Manipulering og motstandsdyktighet
Kan appen kjøres på en enhet med root eller jailbreak? Lar logikken seg endre ved kjøretid? Vi vurderer hvor mye beskyttelsesmekanismene faktisk er verdt, og hvilke kontroller som må ligge på serversiden uansett.
Plattformintegrasjoner
Dyplenker, delingsintervall, utklippstavle, varsler, biometri og bakgrunnsjobber. Mange norske apper integrerer også eID og betalingsflyter, og disse overgangene mellom apper er verdt egen oppmerksomhet.
Krav
Hva regelverket betyr for en mobilapp
En app som håndterer identitet eller betaling, treffer flere regelsett samtidig. Rapporten tar høyde for det.
Personopplysningsloven og dataminimering
Mobilapper samler ofte inn mer enn de trenger, og lagrer det lenger enn nødvendig. Vi dokumenterer hva som faktisk ligger på enheten og hva som sendes ut, slik at du kan kontrollere om praksis stemmer med personvernerklæringen og behandlingsprotokollen din.
PCI DSS for betaling i app
Håndterer appen kortdata eller betalingsflyter, gjelder de samme kravene til penetrasjonstesting som for web. Vi tester både klienten og betalings-API-et, og dokumenterer omfanget slik at det kan brukes i etterlevelsesarbeidet.
Finanstilsynet og DORA
For finansforetak stiller Finanstilsynet krav til styring av IKT-risiko, og DORA skjerper kravene til testing av digital motstandsdyktighet ytterligere. Kundevendte apper er blant de mest eksponerte komponentene, og rapporten er bygget for å kunne inngå i dokumentasjonen mot begge.
NSMs grunnprinsipper
Grunnprinsippene om sikker konfigurasjon, kontroll på dataflyt og beskyttelse av data gjelder like fullt på en mobil klient. Vi kobler funnene til prinsippene, slik at appen kan vurderes i samme modenhetsbilde som resten av virksomheten.
Gjennomføring
Slik gjennomføres en mobiltest
- 01
Byggefiler og tilganger
Vi trenger en installerbar byggefil for hver plattform, testbrukere for de aktuelle rollene og informasjon om hvilke miljøer appen peker mot.
- 02
Statisk analyse
Vi går gjennom pakken: hardkodede hemmeligheter, tredjepartsbiblioteker, konfigurasjon og hvor mye som kan leses ut uten å kjøre appen i det hele tatt.
- 03
Dynamisk testing på enhet
Appen kjøres på enheter vi kontrollerer, med full innsyn i trafikk, filsystem og kjøretid. Det er her det blir tydelig hva appen faktisk gjør, framfor hva den er ment å gjøre.
- 04
Testing av API-laget
Vi tester API-ene direkte, på tvers av brukere og roller. Dette steget avdekker som regel de funnene som får høyest alvorlighetsgrad i rapporten.
- 05
Rapport og retest
Funn med bevis og reproduksjonssteg, gjennomgang med utviklerne, og retest av utbedringene når ny versjon er klar. Retesten er inkludert.
Erfaring
Klienten er sjelden det største problemet
Vi finner nesten alltid noe på selve enheten: en token som ligger ukryptert, en logg som inneholder mer enn den burde, eller en sertifikatfesting som lar seg omgå. Det er verdt å rette opp, men det er sjelden det som havner øverst i rapporten.
De alvorlige funnene ligger nesten alltid i API-laget. En app er tross alt bare én av mange mulige klienter mot det samme grensesnittet, og kontroller som er implementert i appen, har null verdi mot noen som snakker direkte med serveren. Derfor tester vi alltid API-et som om appen ikke fantes.
Det praktiske rådet vi gir oftest: anta at enheten er kompromittert. Alt appen kan gjøre, kan en angriper også gjøre. Sikkerheten må derfor ligge i hva serveren tillater, ikke i hva grensesnittet gjør tilgjengelig.
Ofte stilte spørsmål
Om testing av mobilapper
Relaterte tjenester
Test appen før noen andre tar den fra hverandre
Fortell oss hvilke plattformer appen finnes på og hva den gjør, så får du et omfang og et fastpristilbud.
Be om tilbud