SchmiemanDev
Cybersecurity
5 min

Damn Vulnerable Flutter App (DVFA)

Een uitgebreid FinTech beveiligingslab met een opzettelijk kwetsbare mobiele architectuur, gekoppeld aan de OWASP Mobile Top 10.

Sjoerd Schmieman
2026-03-23
Damn Vulnerable Flutter App (DVFA)

Dit project omvatte de conceptualisering, architectuur en ontwikkeling van een moderne mobiele applicatie met een FinTech-thema, specifiek ontworpen met opzettelijke beveiligingslekken. Ik heb dit platform ontwikkeld als een geavanceerd trainingsveld voor de beveiliging van mobiele applicaties.

De volledige broncode en documentatie zijn te vinden op GitHub: https://github.com/Schmiemandev/dvfa/

Projectoverzicht

Het hoofddoel was het opzetten van een uitgebreid beveiligingslab dat is afgestemd op de unieke architectuur van cross-platform frameworks. Terwijl de adoptie van Flutter in het bedrijfsleven groeit, schieten traditionele testmethodologieën voor mobiele beveiliging vaak tekort tegen Ahead-of-Time (AOT) gecompileerde Dart-binaries. De DVFA overbrugt deze kritieke kloof door een realistische omgeving te bieden voor zowel statische code-review als dynamische reverse-engineering, direct gekoppeld aan de OWASP Mobile Application Security Verification Standard (MASVS).

Kernuitdagingen

Een aanzienlijke technische uitdaging was het ontwerpen van realistische, statusgestuurde bedrijfslogica — zoals beveiligde notities, VIP-autorisatie en het genereren van versleutelde bankafschriften — terwijl kritieke beveiligingsfouten naadloos werden verweven die de fouten van ontwikkelaars in de echte wereld spiegelen. Bovendien moest het platform offline analyse (White-Box) ondersteunen en tegelijkertijd een veilige, gecontaineriseerde omgeving bieden voor het onderscheppen van live netwerkverkeer (Black-Box).

Engineering van de oplossing

Ik gaf leiding aan de full-stack ontwikkeling van de applicatie en de onderliggende infrastructuur, met de focus op het creëren van verifieerbare, exploiteerbare scenario's:

  • OWASP MASVS Architectuur: Ik heb 10 verschillende exploitatie-uitdagingen ontworpen, variërend van beginners- tot gevorderd niveau. Dit omvat de engineering van kwetsbaarheden zoals Client-Side SQL-injectie met niet-geparameteriseerde sqflite-query's, en onjuist platformgebruik via kwaadaardige Deep Link-hijacking.
  • AOT Binary Exploitation: Ik heb cryptografische uitdagingen ontworpen die onderzoekers dwingen verder te gaan dan de broncode. Om financiële payloads te ontsleutelen, moeten gebruikers de gecompileerde libapp.so native binary reverse-engineeren om hardcoded AES-256 sleutels en Initialisatie Vectoren uit de Dart-stringpools te extraheren.
  • Gecontaineriseerde API-infrastructuur: Om onveilige communicatie (M5) en Man-in-the-Middle (MITM) training te faciliteren, heb ik een mock backend API ontwikkeld met Python en Flask. Deze backend is volledig gecontaineriseerd via Docker, wat zorgt voor een op zichzelf staande, reproduceerbare testomgeving voor verkeersinterceptie zonder externe systemen bloot te stellen.
  • Lifecycle Data Leakage: Ik heb opzettelijk de obfuscation van de achtergrondstatus weggelaten, waardoor een real-world scenario ontstaat waarin gevoelige financiële gegevens lekken naar de persistente app-switcher cache van het besturingssysteem.

Operationele impact

De DVFA fungeert als een zeer effectief, end-to-end mobiel hacking-lab dat verder gaat dan theoretische kwetsbaarheden. Het biedt de cybersecurity-gemeenschap een tastbaar platform om te oefenen met dynamische instrumentatie, proxy-configuratie en binaire analyse binnen een modern framework. Voor ontwikkelingsteams dienen de bijbehorende technische documentatie en herstelgidsen als een directe blauwdruk voor het schrijven van veerkrachtige Flutter-applicaties op ondernemingsniveau.

#Applicatiebeveiliging#Penetratietesten#Flutter#Reverse Engineering#OWASP MASVS#Docker
Bekijk alle artikelen