Gemeente Eindhoven doet uit voorzorg melding van ZwemApp-datalek bij AP

De gemeente Eindhoven heeft 'uit voorzorg' een datalek gemeld bij de Autoriteit Persoonsgegevens. Die melding draait om de ZwemApp van de gemeente. Er is vooralsnog geen indicatie dat er daadwerkelijk gegevens zijn uitgelekt.

Een softwareontwikkelaar uit Mierlo heeft elf kwetsbaarheden in de ZwemApp ontdekt en die gemeld bij de gemeente, schrijft het Eindhovens Dagblad. Met die app kunnen gebruikers bijvoorbeeld informatie over zwem- en bewegingslessen in twee plaatselijke zwembaden inzien. Ook is het via de app mogelijk om bezoeken te reserveren. Volgens de beveiligingsonderzoeker waren de gegevens van gebruikers niet goed beveiligd. Ook was de privacy niet goed op orde.

De ontwikkelaar zegt bijvoorbeeld dat informatie over het appgebruik wordt gedeeld met Google, schrijft het ED. Ook vraagt de Android-versie van de app toegang tot de contacten, agenda en locatie van gebruikers. Daarnaast konden gebruikers geen reserveringen maken zonder toestemming te geven voor het gebruik van hun persoonsgegevens. Inmiddels is een update uitgebracht die moet zorgen voor 'dataminimalisatie', zegt de gemeente tegen het dagblad.

De gemeente Eindhoven heeft inmiddels een melding van een datalek gedaan bij de Autoriteit Persoonsgegevens. Volgens de gemeente zijn er overigens geen aanwijzingen dat er daadwerkelijk gegevens zijn uitgelekt. "De melding is uit voorzorg gedaan”, zegt een woordvoerder tegen het Eindhovens Dagblad. "Na deze melding is meteen een onderzoek gestart naar mogelijke gevolgen voor betrokkenen, oorzaken en eventueel te nemen maatregelen. Het onderzoek is nog gaande.”

De onderzoeker die de problemen meldde bij de gemeente Eindhoven, deed dat eerder ook al rondom problemen met de Eindhovense sportpas. De ethisch hacker meldde in 2023 dat de QR-code op die pas kwetsbaar was, waardoor het mogelijk zou zijn geweest om het tegoed van anderen te gebruiken om het zwembad binnen te komen, schreef het Eindhovens Dagblad.

De gemeente Eindhoven staat sinds begin vorig jaar ook onder verscherpt toezicht bij de Autoriteit Persoonsgegevens. De privacytoezichthouder zei toen dat hij 'signalen heeft dat de gemeente datalekken niet of niet op tijd meldt, verplichte scans op privacyrisico's achterwege laat en persoonsgegevens van burgers te lang bewaart'.

Door Daan van Monsjou

Nieuwsredacteur

18-11-2024 • 17:40

50

Lees meer

Reacties (50)

50
49
39
5
1
6
Wijzig sortering
Ik ben de "ethisch hacker" die deze kwetsbaarheden (inmiddels 15 en verder oplopend) op 8 November bij de Gemeente Eindhoven gemeld heeft. Ik zal hier de feiten vertellen, waarvan de meesten niet in het artikel van het Eindhovens Dagblad verschenen zijn.

De hoofdreden dat er een melding bij de Autoriteit Persoonsgegevens is gedaan, is dat onduidelijk is wat er met de in de ZwemApp ingevulde persoonsgegevens gebeurt. Om de simpele reden, omdat de Algemene Voorwaarden en Privacy Policy van de Eindhoven Sport webshop vanuit de app niet gelezen kunnen worden. Terwijl er wel expliciet door het zetten van 2 vinkjes mee akkoord gegaan moet worden, wanneer een zwemreservering gemaakt wordt. Zelfs als dat als gast gebeurt, waarbij voor-, achternaam en e-mailadres ingevuld moeten worden.
Hoe kan een gebruiker akkoord gaan met voorwaarden die niet getoond worden?

Mijn boerenverstand en nieuwsgierigheid vroegen zich direct af wat het nut is van deze ZwemApp?
Aangezien na installatie en het kiezen van het zwembad, de app niks anders doet dan het vertonen van de Eindhoven Sport webshop in een fullscreen web view.

De Privacy Policy van de ZwemApp ("SportCom" in de App Store en Play Store) op de website van ontwikkelaar Business Apps B.V. bevindt zich op een smartphone achter een fullscreen Engelstalige cookiemuur. De Engelstalige details op deze cookiemuur, alsook het Nederlandstalige cookiebeleid (wat te lezen is na een keuze voor cookies) noemt bedrijven als LinkedIn, Facebook en Google. Er worden direct marketing en tracking cookies van deze bedrijven in de browser geplaatst, terwijl nog geen toestemming is gegeven.
De Privacy Policy is vervolgens zeer onduidelijk voor welk product het is ("website", "de app", "onze diensten", "onze apps", "het CMS"), en wie de lezer is ("je", "de afnemer", "de gebruiker").

Bedenk dat ik in deze onduidelijkheid ben beland, alleen maar omdat ik zoiets simpels wil doen als het maken van een reservering voor baantjes zwemmen. Iets wat tot vorige week al 15 jaar volledig anoniem en zonder afspraak kon.

Omdat de app zo vaag is over de Privacy Policy en volledig overbodig lijkt omdat het slechts een bestaande website van de Gemeente Eindhoven opent, vraag ik mij serieus af hóe en óf de Gemeente Eindhoven vooraf haar huiswerk heeft gedaan in het (aanbesteding)traject dat geleid heeft tot introductie van het online reserveringssysteem en de ZwemApp.
Met name omdat na mijn onthulling van de kwetsbaarheden met de Sportpas vorig jaar, door onderzoek achteraf is gebleken, dat zij hier ernstig in gebreke is gebleven.

Mijn melding vorig jaar werd adequaat opgepakt, de toegangspoortjes werden een dag later buiten gebruik gesteld, gebruikers werden geïnformeerd en maanden later werden verbeterde passen en poortjes in gebruik genomen.

Deze keer werd mijn melding ontzettend laconiek ontvangen door de Gemeente Eindhoven. Uit hun reactie bleek dat mijn melding maar half gelezen was, maar volgens overleg met de afdeling privacy was er niks aan de hand. Waar zij later toch op terug moesten komen, omdat die afdeling wel degelijk een melding had gemaakt bij de Autoriteit Persoonsgegevens.
Verdere vragen van mij werden niet bevredigend beantwoord, of zelfs met leugens.
Vanwege de kwetsbaarheden met de ZwemApp en de ogenschijnlijk overbodigheid ervan, had ik aangeraden om per direct de promotie voor deze app te stoppen, Dat gebeurt middels flyers bij de entree van de zwembaden en op de website van de Gemeente. De flyers lagen er maandag 18 November, 10 dagen na mijn melding, nog steeds. En de Eindhoven Sport webpagina om de SportCom app te downloaden is tijdens dit schrijven, 11 dagen na de melding, nog steeds beschikbaar.

Een dag voor de invoering van de ZwemApp en het reserveringssysteem heeft een zwemmer op 10 November al zorgen geuit in het Eindhovens Dagblad, zoals in deze ingezonden lezersbrief te lezen is. Uit de 23 commentaren vallen diverse lezers over de slechte gebruiksvriendelijkheid, en vragen zich openlijk af waarom de app nodig is.

Waarom is deze app zo belangrijk voor de Gemeente? En wat doet die app precies?
Inmiddels heb ik Zondag 17 November mijn 5e rapport met de Gemeente gedeeld en ben ik met mijn 6e bezig.
De vervolgrapporten gaan vooral over de Android en iOS apps en het feit dat de Privacy Policy van de Gemeente Eindhoven op de webshop niet voldoet aan de eisen van de grondslag toestemming uit de Algemene Verordening Gegevensbescherming (AVG).

De Play Store omschrijving van de SportCom app toont 24 machtigingen voor toestemming tot apparaat gegevens (zoals camera en microfoon). Ik heb nooit gezegd dat de app (ongevraagd) deze toestemmingen geeft. Dit is waarschijnlijk verkeerd geïnterpreteerd door de verslaggever van het Eindhovens Dagblad. Mijn vraag was: "Waarom is dit nodig voor het maken van een zwembadreservering?".

Veel kwalijker is dat zowel de Android als iOS app software bevatten van Firebase (van Google) en App Center Analytics (van Microsoft). Voor Android zelfs specifiek Firebase Analytics. Terwijl de Play Store omschrijving van de SportCom app expliciet vermeldt dat er in de app geen gegevens verzameld worden, en geen gegevens met derden gedeeld worden.
Tot overmaat van ramp zijn deze Firebase SDKs sterk verouderd. In de Android app zit een 2,5 jaar oude versie, bij iOS 4,5 jaar oud. Google heeft sindsdien in updates van beide varianten diverse kwetsbaarheden gedicht. Die dus niet zitten in de SportCom app, waarvan de Android versie vrijdag nog een update heeft gekregen.

Dat vertelt mij dat app ontwikkelaar Business Apps B.V. niet erg verantwoordelijk omgaat met zijn producten. Die hij verkoopt aan tientallen klanten. Een iOS IPA bestand is gewoon een ZIP bestand. Even die van de SportCom app uitpakken, niemand hoeft iets te hacken. Dan staan er 187 icoontjes van klanten, zoals Eindhoven Sport met klantnummer 1758.

Ik heb gisteren het HTTP verkeer vanuit de Android versie van de SportCom app geanalyseerd. Hieruit blijkt dat de app bij iedere actie die je doet (zoals het klikken op "Reserveer je activiteit") een log stuurt naar de server van Business Apps B.V. met allerlei device data, zoals device ID, device name, taal, tijdzone, platform naam en versie, wifi status en uiteraard de actie.
Daarnaast gaat er periodiek een soortgelijk log bestand naar de App Center server van Microsoft met als service "Analytics" in de request body.

Met dit nieuwe onderzoek is aangetoond dat de Android versie van de SportCom app wel degelijk gegevens verzamelt én deelt met derden. Dit is in strijd met de verklaring van Business Apps B.V. in hun Play Store omschrijving.
Omdat deze SportCom app een verzamel app is die door tientallen bedrijven (waaronder Gemeente Eindhoven) gebruikt wordt, is de impact groter dan alleen de inwoners van Eindhoven. Daarom zal ik op korte termijn hiervan een melding maken bij de Autoriteit Persoonsgegevens.

Er zijn 3 redenen waarom ik als "ethisch hacker" nu onethisch (80s 90s hacker?) de publiciteit heb opgezocht:
  • Ondanks mijn waarschuwingen blijft de Gemeente Eindhoven de ZwemApp actief promoten.
  • Ondanks dat de Gemeente Eindhoven onder verscherpt toezicht staat van de Autoriteit Persoonsgegevens, maakt ze weer dezelfde fout door vooraf geen risicobeoordeling te maken. Dit onverantwoordelijke gedrag mag aan de kaak gesteld worden.
  • De ZwemApp ("SportCom" van Business Apps B.V.) wordt door tientallen andere klanten (waaronder gemeenten) gebruikt. Ook de eindgebruikers daarvan worden blootgesteld aan de kwetsbaarheden en moeten gewaarschuwd worden.

[Reactie gewijzigd door The 80s hacker op 19 november 2024 16:13]

Bij het verzamelen van anonieme data hoeft dit NIET vermeld te worden in de Play Store, zoals bij deze app netjes het geval is.

Wat er wel (anoniem) wordt verzameld voor analystische doeleinden is aangegeven in het privacy statement.
Bij het verzamelen van anonieme data hoeft dit NIET vermeld te worden in de Play Store, zoals bij deze app netjes het geval is.
Dank voor je reactie. Ik ben benieuwd op basis waarvan je de deze uitspraak doet.

Als ik de links met uitleg in de Play Store volg, kom ik uit op https://support.google.co...egevenstypen%2Cdata-types

Daar wordt niet gesproken over of de gegevens anoniem zijn. Maar over Gegevenstypes en Gegevensdoeleinden. Bij Gegevenstypes staat o.a.:
  • App-interacties - Informatie over hoe je de app gebruikt. Bijvoorbeeld hoe vaak je een pagina bezoekt of de gedeelten waarop je tikt.
  • Crashlogboeken - Crashgegevens van de app. Bijvoorbeeld het aantal keren dat de app is gecrasht op het apparaat of andere informatie die rechtstreeks is gerelateerd aan een crash.
  • Diagnostische gegevens - Informatie over de prestaties van de app op het apparaat. Bijvoorbeeld batterijduur, laadtijd, vertraging, framesnelheid of technische diagnostische gegevens.
  • Andere app-prestatiegegevens - Andere prestatiegegevens voor de app die hier niet worden vermeld.
  • Apparaat- of andere ID's - ID's die zijn gerelateerd aan een apparaat, browser of app. Bijvoorbeeld een IMEI-nummer, MAC-adres, Widevine-apparaat-ID, Firebase-installatie-ID of advertentie-ID.
"Ontwikkelaars gebruiken het gedeelte Veiligheid van gegevens op Google Play om de totale gegevensverzameling en -deling van hun app te beschrijven voor alle versies van de app die worden gedistribueerd op Google Play."

De iOS versie van de SportCom app toont bij "Privacy van app" en "Zie details" wel Diagnostiek voor:
  • Crash-gegevens
  • Prestatiegegevens
  • Overige diagnostische gegevens
Waarom zou de Android versie hierin niet transparant moeten zijn?

Off-topic: De stelligheid waarmee je beweert dat het anonieme gegevens zijn (waarover ik niet eenduidig ben geweest), dat je het woord "netjes" gebruikt voor een app waarmee nog meer mis lijkt te zijn (zoals 4,5 jaar oude SDKs), én het feit dat je Tweakers account pas vandaag is aangemaakt, doet misschien vermoeden dat je wellicht ergens een soort van relatie zou kunnen hebben met Business Apps B.V., de ontwikkelaar van deze app.

[Reactie gewijzigd door The 80s hacker op 19 november 2024 14:31]

Wat er wel (anoniem) wordt verzameld voor analystische doeleinden is aangegeven in het privacy statement.
Wellicht kun je me helpen in welke privacy statement?
Tijdens het lezen van de policy die vermeld wordt in de App en Play Store op https://businessapps.nl/privacy/ probeer ik te achterhalen of deze Privacy Policy over de SportCom app gaat. En wat mijn rol is als ik deze verwarrende policy lees.

Hierbij een opsomming van zinsneden die ik tegenkom, met diverse kanttekeningen:
  • “Hier vind je een overzicht van de huidige voorwaarden en overeenkomsten van Business Apps en onze labels Assurantie Apps, Zwem Apps en Gym Apps.”
    -> De SportCom app staat hier niet bij.
  • “Deze privacyverklaring vertelt je over de informatie die Business Apps op deze website...”
    -> Gaat niet over de SportCom app.
  • “Alsmede de wijze waarop persoonsgegevens worden gevraagd in onze producten...”
    -> Wat zijn jullie producten?
  • “Je Business Apps-gebruikersnaam en elk wachtwoord...”
    -> Waar gaat dit over? Op de website van Business Apps B.V. is niet eens een inlog optie te vinden. Dit gaat waarschijnlijk, maar vergeef me de aanname, over het portal voor klanten van Business Apps oplossingen, zoals Eindhoven Sport, die ‘een app hebben laten maken’. Dus niet over een eindgebruiker (zoals ik) van een van die apps, zoals de SportCom app.
  • “Privacybeleid inzake Business Apps producten”
    -> Dit hoofdstuk (valt nauwelijks op, want niet vet gedrukt) gaat ineens over “producten”? Zou dat over de SportCom app gaan?
  • “Via de door Business Apps B.V. geleverde app en/of website worden privacy gevoelige gegevens oftewel persoonsgegevens verwerkt.”
    -> Wellicht niet door de SportCom app, want er wordt gesproken over “de app” (welke is dat?). En ik hoop het niet, want hier wordt vermeld dat er door “de app” persoonsgegevens verwerkt worden. Iets wat niet blijkt uit de privacy verklaringen in de App Store en Play Store omschrijvingen van de SportCom app.
  • “Business Apps B.V. is de verwerker namens de afnemer van app en/of website.” -> Wie is de afnemer van de app? De eindgebruiker die de SportCom app gebruikt? Of Eindhoven Sport? Of gaat het hier nog steeds over een andere app?
  • “Door het gebruik van onze app en/of website laat je bepaalde gegevens bij ons achter. Dat kunnen persoonsgegevens zijn.”
    -> Eerder werd er nog stellig gemeld dat “de app persoonsgegevens verwerkt”. Nu kan het zo zijn.
  • “Alle, in content geplaatste, gegevens die de afnemer deelt, zijn zichtbaar voor alle gebruikers.”
    -> Nu wordt zowel gesproken over “de afnemer” en “gebruikers”. Wie is wie? Deze verwarring kan voorkomen worden door een duidelijke lijst met definities.
  • “Hoewel de apps en websites van Business Apps B.V. beveiligd zijn...” -> Nu gaat het ineens over “de apps” meervoud. Welke apps zijn dit?
  • “Gegevens die je aan ons levert voor gebruik van onze services”
    -> Wie is “je”? Is dat “de afnemer” of “de gebruiker”? Of weer iemand anders?
  • “De bewaartermijn van deze Persoonsgegevens bedraagt tot 3 maanden na het opzeggen van de overeenkomst.”
    -> Welke overeenkomst? Tussen wie?
  • “Zoals wanneer je inlogt in het CMS of wanneer een gebruiker jouw app opstart.” -> Kan een gebruiker van de SportCom app inloggen in “het CMS”? Wat is een “CMS”? Hoe kan “een gebruiker” “jouw app” opstarten? Dus ik ben niet een gebruiker? Wie ben ik dan?
Dit Privacy statement, onderdeel van de Privacy Policy van Business Apps B.V., hoort volgens hun App Store omschrijving bij de SportCom app. Bovenstaande kanttekeningen laten duidelijk zien dat dit mogelijk niet klopt. Dit statement is onbegrijpelijk, allereerst door het gebrek aan een duidelijk overzicht met definities; wat is het product, wie is de lezer?
De Autoriteit Persoonsgegevens stelt eisen aan een privacyverklaring, zoals duidelijke taal; “verplaats u in de lezer”. Het lijkt of Business Apps B.V. niet eens weet wie de lezer is. Hoe weet de lezer dit dan?

Truus van 78 wil ook gewoon baantjes zwemmen. Hoe weet zij waarmee ze akkoord gaat?
Weet de Gemeente Eindhoven waarmee ze Truus akkoord laten gaan als ze haar die app laten gebruiken?

[Reactie gewijzigd door The 80s hacker op 19 november 2024 16:24]

Omdat de app zo vaag is over de Privacy Policy en volledig overbodig lijkt omdat het slechts een bestaande website van de Gemeente Eindhoven opent, vraag ik mij serieus af hóe en óf de Gemeente Eindhoven vooraf haar huiswerk heeft gedaan in het (aanbesteding)traject dat geleid heeft tot introductie van het online reserveringssysteem en de ZwemApp.
[...]
Verdere vragen van mij werden niet bevredigend beantwoord, of zelfs met leugens.
Los van deze app, maar tekenend voor de interne werkwijze van de gemeente Eindhoven, heb ik ook een bijzondere ervaring met ze. Dit heb ik eerder gepost hier, toen kreeg ik vooral opmerkingen dat het niet integer was. Dan ben ik liever 'niet integer' maar wel eerlijk en open. Wegkijken gebeurt al teveel.
Onderstaand betrof het development team en niet de IT-afdeling (beheer). Veel intern is webbased. En allemaal vanaf nul zelfgemaakt... Bij de teamleider was het kennelijk niet doorgedrongen dat het best wel een fragiele en onveilige situatie was, alles aan 1 persoon ophangen die al meer dan een decennia geen nieuws over de gebruikte technieken heeft gelezen... 8)7

Mijn eerdere post
Ik ben vorig jaar bij de gemeente Eindhoven op gesprek geweest voor een freelance klus. Wat ik daar hoorde, tartte elk lot. Het 'team' van web ontwikkelaars daar bestond toen uit 2x vaste dienst, 1x MBO stagiair en 1x een vertrekkende (die dus vervangen moest worden).

De lead developer daar stelde ik wat vragen, hij had nog nooit van Laravel gehoord. Dat is anno nu hèt PHP framework. Ook al gebruik je het niet, het feit dat hij erg nog nooit van had gehoord terwijl het toen al 11 jaar bestond en écht overal genoemd wordt, maakte duidelijk dat er nooit vakliteratuur werd gelezen. In plaats van dat ik er vragen zat te beantwoorden, stelde ik ze. Ook aan de teamleider daar. Hoe deze situatie mogelijk was?

Alles was in-house gemaakt, waarbij bijv. een ORM niet bestaat maar dat middels een super omslachtige Excel → CSV → CLI-tool → PHP inline SQL werd omgezet. Werkt, maar super onhandig.
De lead developer zit er sinds 2007 en maakt alles zelf. Knap, maar oh zo gevaarlijk. Documentatie? Niet beschikbaar. 8)7

Ook vroeg ik hoe het zat met de beveiliging, testwerk en dat er niet gebruik werd gemaakt van 'proven technologie'. Zelf het wiel uitvinden voor echt alles...met een paar man...serieus? |:(
Ik heb ze na nog geen half uur bedankt en gezegd dat ik er, ondanks het mooie uurtarief en de korte afstand tot huis, binnen 2 weken gillend weg zou rennen. Vergeet 'Brainport gemeente' maar als je dit ziet.
Wacht… is het in Android nog steeds zo dat apps ongevraagd toegang kunnen krijgen tot van alles?
Ook krijgt Android-versie van de app ongevraagd toegang tot de contacten, agenda en locatie van gebruikers.
Edit: quote toegevoegd omdat mensen denken dat ik iets uit m’n duim zuig en meteen op de -1 rammen omdat ik een vraag stel op basis van het artikel

[Reactie gewijzigd door armageddon_2k1 op 18 november 2024 17:54]

Klinkt altijd heel dramatisch, maar locatie kun je gebruiken voor 'dichstbijzijnde zwembad' bijvoorbeeld, agenda om je zwemlessen of afspraken in te zetten en contacten om automatisch het nummer van het zwembad in je telefoon te zetten.

Die permissies op mobiel zijn zo algemeen dat je vaak de hele toegang nodig hebt (of dat lijkt in ieder geval aan de naam) voor gewoon simpele features in een app.

En ongevraagd zal waarschijnlijk wel meevallen (zoals @AverageNL genoemd), deze dingen vragen een permissie-popup in Android 6 en nieuwer (anders is dat een bug in Android).
Ben wel benieuwd hoe dat zit met de andere apps van de zelfde app klussert:

https://play.google.com/s...per?id=Business+Apps+B.V.

(edit: punt in url werd automagisch uit de url gepepernoot door het T.net systeem.)

[Reactie gewijzigd door digigast op 20 november 2024 18:43]

Tijdens mijn onderzoek heb ik een kort uitstapje gemaakt door ook de Android APK van de De Uitvaart App te bestuderen.
Deze app is van ontwikkelaar Aggeloo, toevallig geregistreerd op hetzelfde adres in Den Bosch als Business Apps B.V.. Het bevat dezelfde SDKs van Firebase Analytics en App Center Analytics als de SportCom app.
Je plaatst dezelfde link, ook zonder punt aan het einde.
<tromgeroffel>
De. Goede. Link. https://play.google.com/store/apps/developer?id=Business+Apps+B.V.
</tromgeroffel>
Ah, top ik zie dat mijn verzekering WoonGarant ook gebruik maakt van deze meuk. Hoewel de iOS versie 'WoonGarant' als developer heeft.
Ah, top ik zie dat mijn verzekering WoonGarant ook gebruik maakt van deze meuk. Hoewel de iOS versie 'WoonGarant' als developer heeft.
Ik heb iOS versie 8.0 van de WoonGarant app bekeken.
In de IPA zit exact dezelfde verouderde SDK versie van Google Firebase als in de SportCom app.
Ook tref ik hierin de Microsoft App Center Analytics SDK.
En dezelfde bibliotheken van "Concapps", de voormalige bedrijfsnaam van Business Apps B.V.

Ondanks dat de sectie "Privacy van app" in de App Store omschrijving volgens de ontwikkelaar Woongarant verklaart dat er geen gegevens worden verzameld, lijkt het dat onder de motorkap van deze app toch gegevens worden verzameld, door dezelfde code als in de SportCom app.

Nog opmerkelijker, het privacybeleid dat Woongarant in de App Store omschrijving heeft geplaatst (en is goedgekeurd door het Apple Review proces) verwijst naar https://www.woongarantvolmacht.nl/

Deze pagina vertoont alles behalve een privacybeleid. Dit is namelijk te vinden op https://www.woongarantvol...-weten/privacy-statement/
Maar daarover is het woord "app" niet te vinden.

Hoe meer onderzoek ik doe naar deze kwestie, hoe verdrietiger ik word.
De privacy van app gebruikers lijkt werkelijk niemand te interesseren. De app ontwikkelaar niet, de klanten van deze apps (zoals Gemeente Eindhoven en WoonGarant) niet, noch de platform eigenaren zoals Apple, die een totaal irrelevante pagina accepteert als privacybeleid van de goedgekeurde WoonGarant app.
Bestaan er nog kritische mensen die gewoon hun werk kunnen doen?

Mijn voorzichtige observatie is dat het lijkt dat Business Apps B.V. in 2019 een template heeft gebouwd met Microsoft Xamarin. Dit nauwelijks meer intern heeft ge-update naar de laatste versies, en vervolgens tig (branded) web apps heeft gemaakt/verkocht die nu 5 jaar later onder verschillende ontwikkelaarsnamen in de App Store en Play Store staan. Zonder aandacht te hebben voor de inmiddels aangescherpte regelgeving van deze Stores inzake privacy labels.

[Reactie gewijzigd door The 80s hacker op 19 november 2024 18:10]

Dit is idd heel raar! 25 permissies.
Waarom ter wereld heeft een ZwemApp toegang tot de camera nodig???
Waarom Call Phone?
Waarom Record Audio?

Heeft de ontwikkelaar gewoon gedacht 'doe alles maar, lekker makkelijk.'?
Dit bevestigt precies wat ik tijdens mijn onderzoek in de Android SDK heb aangetroffen.

Voor de volledigheid; jouw link is van een verouderde app versie.
Hierbij die van de meest recente versie 241114, die Business Apps B.V. afgelopen vrijdag in de Play Store gepubliceerd heeft: https://reports.exodus-privacy.eu.org/en/reports/526924/

Die heeft naast de 3 trackers zelfs een 26e permissie; `DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION` wat het ook mag zijn.
Nee, daar zijn permissies voor die je actief moet uitvragen en bevestigen. Dus niet helemaal duidelijk waar dit op doelt.
Zoals in het artikel staat:

“ Ook krijgt Android-versie van de app ongevraagd toegang tot de contacten, agenda en locatie van gebruikers.”

Kan er niets anders van maken. Misschien zelf iets verder lezen voortaan

[Reactie gewijzigd door armageddon_2k1 op 18 november 2024 17:54]

Ja klopt, dat is denk ik niet helemaal lekker verwoord.
Als dit echt zo was, dan was het een kwetsbaarheid in Android, en niet in de ZwemApp.
Ik denk dat dit er vooral om draait dat de app om deze permissies vraagt, zonder dat de app het echt nodig lijkt te hebben.
Dat is niet wat “ongevraagd” betekent. Vragen om permissies is letterlijk het tegenovergestelde van “ongevraagd”

[Reactie gewijzigd door armageddon_2k1 op 18 november 2024 17:59]

Daarom zeg ik ook:
dat is denk ik niet helemaal lekker verwoord.
Zie ook de comment van de redacteur verderop

[Reactie gewijzigd door jacobkap op 18 november 2024 18:17]

Ik reageer als Android dev, dus ja ik lees dit in t artikel maar kan dat niet rijmen met de praktijk.
Nee, er staat dat de Android versie toegang vraagt (dus niet ongevraagd krijgt).
Ik ken de app niet, maar hoe je die permissies vraagt doet er toe (evenals of ze echt nodig zijn). Zover ik weet kan je sommige permissies nog steeds heel makkelijk krijgen met 1 vaag vinkje dat van alles doet. Terwijl andere permissies weer heel duidelijk gevraagd worden door android, zoals bijv de camera en locatie (die overigens ook heel vaak onnodig gevraagd of zelfs geeist word). Mensen denken dat android heel veilig is dankzij dat ze af en toe zo'n permissie vraag krijgen maar apps kunnen met enkele permissies toch een hoop files vrij makkelijk inzien ;) en dan heb ik het nog niet over lek en api misbruik. Daarvoor is het ook zo belangrijk dat je alleen veilige apps download (ik zie het net als windows).

[Reactie gewijzigd door andries98 op 18 november 2024 18:07]

Het ED schrijft letterlijk dat de app daar ongevraagd toegang tot krijgt, maar ik vermoed inderdaad dat wordt bedoeld dat de app zonder reden om toegang tot die dingen vraagt. Ik pas het artikel meteen aan!
Waarom pas je het artikel aan door een aanname die niet te herleiden is uit het originele artikel? Als ED dat schrijft dan zal het wel zo zijn, want zo speciaal is het niet als een app toegang vraagt tot bepaalde gegevens om het als een vulnurablity te bestempelen. Wel als deze het ongevraagd doet.
Beste Daan, nu ik de feiten heb genoemd in mijn reactie kun je wellicht je artikel aanpassen.

Het is namelijk jammer dat de meeste reacties nu gaan over hoe Android permissies werken, i.p.v. het gedrag van de Gemeente Eindhoven en ontwikkelaar Business Apps B.V.

De kern van mijn onderzoek is dat je geen hacker hoeft te zijn, maar met boerenverstand kunt aantonen dat de Gemeente Eindhoven een gebrek heeft aan processen, of deze niet naleeft.
Extra kwalijk, nu ze al 1,5 jaar onder verscherpt toezicht staan van de Autoriteit Persoonsgegevens, vanwege eerdere blunders, waaronder de door mij gevonden kwetsbaarheden in de Sportpas met QR-code vorig jaar.

Zelfs na de melding van mijn bevindingen, inmiddels 11 dagen geleden, wordt er niet adequaat optreden.
Ook zijn al eerder aangegeven zorgen van zwemmers genegeerd, zoals in deze ingezonden lezersbrief en de commentaren erop te lezen is.

[Reactie gewijzigd door The 80s hacker op 19 november 2024 16:08]

Eigenlijk zou elke gemeente een ethische hacker-burger moeten hebben die zulk soort apps en diensten tegen het licht houdt. Dat houdt alle betrokkenen scherp.
Het is niet zo vreemd om een externe dienst in te huren om net dit voor je te doen, maar deze kijken ook gewoon naar de broncode om bugs, kwetsbaarheden, etc... te zoeken.
Het spijtige is dat er -zoals vaak- enkel gekeken wordt naar budget om iets te bouwen en eventueel nog een marketingbudget, maar testing, zowel intern als extern, zowel naar functionaliteit, als veiligheid; dat wordt mijns inziens nog steeds veel te weinig gedaan.

edit: voor de volledigheid: ik ben het dus volmondig met je eens :-)

[Reactie gewijzigd door Prince op 18 november 2024 18:11]

Nee want die wordt dan betaald door degene die ze controleren. Slechte uitgangspositie.
Dit is ook zo bij standaard pentests...
Eigenlijk zou elke burger in Nederland ook via een portal gebruik kunnen maken van een, als voorbeeld genoemd gemeente Eindhoven, reserveringssysteem. Dan heb je net wat meer privacy controls.

Alle app’s wil je standaard aan (criteria) regels gebonden hebben. Gemeentes kunnen onderling ook van alles leren, zoals gluren bij de buren. Scheelt tijd en tijd is geld.

Negen issue’s en het onderzoeksbureau staat op de radar.
Waarom heeft de gemeente Eindhoven eigenlijk een eigen zwem app?
Waarom is dit een app en niet gewoon een website? :)
Volgens mij kun je ook alles wat je in de app kunt doen, ook op de website. Ik gebruik i.i.g. al jaren de website.
Omdat heel veel Apps op telefoons van nietsvermoedende mensen heel veel "interessante data", kunnen opleveren. Eén enkele website heeft veel minder zulke mogelijkheden.
Vergelijk het met het volgende: stel, in de gemeente Eindhoven staat een bewakingscamera bij het zwembad. En stel dat dat de enige camera in Eindhoven zou zijn. Bijna iedereen in Eindhoven boven de 12 jaar heeft waarschijnlijk een smartphone. Bedenk zelf even wat het verschil in "interessante gegevens" zou kunnen opleveren.
Trouwens, als ik wil zwemmen, ga ik naar het plaatselijke zwembad. En ga zwemmen, zonder App.
Heeft iemand zich al eens afgevraagd hoeveel het ontwikkelen van zo'n App en Website in Eindhoven en de installatie van die toegangspoortjes hebben gekost, en de Eindhovense burgers nog steeds jaarlijks aan onderhoud kosten??
Totaal overbodig en bovenal onwenselijk!

[Reactie gewijzigd door Wilvee op 19 november 2024 14:00]

Heeft iemand zich al eens afgevraagd hoeveel het ontwikkelen van zo'n App en Website in Eindhoven en de installatie van die toegangspoortjes hebben gekost, en de Eindhovense burgers nog steeds jaarlijks aan onderhoud kosten??
Ja ik.

Daarom ga ik ook een Woo-verzoek indienen bij de Gemeente Eindhoven. Omdat ze niet lijken te leren van hun fouten en ongelukkige beslissingen.
Bij voorbaat mijn verontschuldigingen voor de kosten om die antwoorden boven tafel te krijgen.
Die kosten staan in geen verhouding tot wat de "ontwikkeling" van dit gedrocht heeft gekost.
Geweldig dat je dit zo onder de aandacht brengt.
Mensen hebben echt geen benul wat ze met dit soort Apps binnen halen en wat de gevolgen voor ze kunnen zijn. (Bijv: Argeloze zwemmer reserveert een tijdslot, hackers huren een busje en halen zijn huis leeg...)
Je reageert op de verkeerde post
Omdat het gemeente zwembaden zijn?
Ook krijgt Android-versie van de app ongevraagd toegang tot de contacten, agenda en locatie van gebruikers.
Als dit mogelijk is, zit er ook een gat in de beveiliging van Android!
Bij Android werkt het gelukkig anders: Als de app niet om toestemming vraagt, dan vraagt het OS er wel om. Zonder tussenkomst van de gebruiker kan een nieuwe app op je telefoon op de recente versies van Android dus niet zomaar toestemming krijgen tot die gegevens.
Met die app kunnen gebruikers bijvoorbeeld informatie over zwem- en bewegingslessen in twee plaatselijke zwembaden inzien. Ook is het via de app mogelijk om bezoeken te reserveren.
En waarom is hier nou weer een app voor nodig? Dat kan toch gewoon met een website? Heb je veel minder potentiële issues, want een website kan nergens bij op je apparaat. Plus dat een site ook werkt op iets anders dan smartphones van Apple of Google. Maarja, hip doen is belangrijker dan functionaliteit tegenwoordig…
De app was dus nodig om meer gegevens van de gebruikers te ‘stelen’. Ik gebruik geen apps meer als deze ook via een website te raadplegen is. Apps zijn gewoon trackers geworden die itt websites niet met plugins geblokt kunnen worden.
Zoude de ontwikkelaars nattigheid voelen?
Waarschijnlijk een beginnend ontwikkelaar die in het diepe is gegooid.
Een zwembad app die lek is :+
Simpelweg niet waterdicht.. :+
Edit: op verkeerde plaats gereageerd. Reactie verplaatst.

[Reactie gewijzigd door Bux666 op 19 november 2024 14:47]

Op dit item kan niet meer gereageerd worden.