10 tips voor App-beveiliging

Wat kun je doen om een veilige en bruikbare mobile-app te ontwikkelen?

Hieronder volgen 10 tips om dat voor elkaar te krijgen.

1. Dataclassificatie

Bepaal de waarde van gegevens, zodat inzicht ontstaat in de risico’s en de zwaarte van de te nemen maatregelen.

2. Stel eisen vast

Met ‘de app moet veilig zijn’ kom je niet veel verder. Stel vast wie onder welke omstandigheden bepaalde data mag gebruiken in de app. Stel de rechten van de gebruiker vast en voor welke periode die gelden.

3. Abuse cases

Stel niet alleen vast wie wat mag doen, maar ook wie wat niet mag doen. Daarmee is de validiteit van de ‘usecase’ vast te stellen. Dat is eenvoudig te doen door bij elke ‘usecase’ het woordje NIET toe te voegen. Dit helpt de eisen uit punt 2 scherp te stellen.

4. Bedreigingsmodel

Stel een model op waaruit blijkt welke bedreigingen er zijn. Het ‘threatmodel’ bepaalt welke datastromen, dataopslag, processen en actoren een rol spelen. Op abstract niveau is te bepalen wat er mis kan gaan. Tevens is dan vast te stellen of beperkingen afdoende zijn of dat extra maatregelen nodig zijn.

5. Ontwerpfouten

Een zoektocht naar de fouten die voorkomen in de technische dan wel functionele ontwerpen. Door bij ieder statement af te vragen ‘….want?’ of ‘….en dan?’ is na te gaan of aannames in het ontwerp zitten. Of dat de ontwikkelaar of tester een aanname zou kunnen doen, omdat zaken niet of niet duidelijk genoeg zijn gespecificeerd.

6. Beveiliging testen

Nu de eisen voor beveiliging helder zijn, is het mogelijk testplannen op te stellen. Afhankelijk van de aard van de bevindingen in relatie tot de vastgestelde risico’s is te bepalen of actie direct nodig is, of dat herstel bij de eerstvolgende release afdoende is.

7. Code controle

Apps zijn afhankelijk van het gebruikte ontwikkelframework. Er zijn veel verschillen tussen de frameworks. Bovendien zijn die ook nog eens afhankelijk van het onderliggende besturingssysteem. Sommige mogelijkheden voor iOS wil je juist niet voor Android omdat die daar heel anders mee omgaat. In deze fase gaan ook authenticatie, autorisatie en sessiemanagement onder de loep.

8. Security Assesment

Als de app klaar is voor oplevering, is een security assesment raadzaam. Beveiligingsexperts kijken dan of de voorgaande activiteiten nut hebben gehad. En wat er van valt te leren. Alle top/tip-conclusies vastleggen, zodat ze voor een volgende keer bruikbaar zijn.

9. Beheer

Bepaal vooraf hoe de app wordt gedistribueerd. Gebruik hiervoor een eigen of officiële app stores. Ook moet bekend zijn hoe de app is uit te schakelen op afstand als er een nieuwe release is of als de eigenaar zijn rechten heeft verloren; bijvoorbeeld doordat door verlies of diefstal een nieuwe ‘eigenaar’ ontstaat.

10. Continuïteit

Sommige risico’s zijn laag ingeschat. Deze kunnen in de praktijk toch verkeerd uitpakken. Bepaal van tevoren wat er in zo’n geval moet gebeuren, hoe je met de pers omgaat. Houd steeds ook bij of de vastgestelde waarde van gegevens nog actueel is.

Meer advies?

Wilt u advies hoe u uw specifieke Mobile toepassing kunt beveiligen? E-mail Rolf Craenen of bel hem op +31653587318.