TSU-02: Onveilige toegang tot entiteiten
Zelfs een goed gebouwde Mendix-applicatie kan kwetsbaar worden als de entity access-regels niet juist zijn ingesteld. TSU-02 maakt inzichtelijk welke risico’s ontstaan door onveilige toegangsdefinities en biedt praktische stappen om je data te beschermen.
Onjuiste Entity accessconfiguratie? Groot risico voor je data
Mendix gebruikt Role Based Access Control (RBAC) om te bepalen welke acties een gebruiker binnen een applicatie mag uitvoeren. In dit systeem zijn User Roles gekoppeld aan module roles, en deze module roles bevatten entity access-regels die bepalen hoe data mag worden gelezen, aangemaakt, gewijzigd of verwijderd.
Wanneer een module role onveilig is geconfigureerd, kan een gebruiker meer toegang tot data krijgen dan bedoeld. Daardoor kunnen gevoelige gegevens worden ingezien of aangepast, wat vaak leidt tot een datalek.
TSU-01 vs TSU-02
TSU-01 en TSU-02 worden vaak door elkaar gehaald. Beide draaien om gebruikers met te veel toegang, maar wie het verschil kent, kan gerichter risico’s voorkomen.
TSU-01: Bij TSU 01 is de toegangsregel juist, maar de module role is gekoppeld aan de verkeerde User Role.
TSU-02: Bij TSU 02 is de toegangsregel zelf onjuist, ongeacht aan welke User Role deze is gekoppeld.
Hoe stel je je entity access goed in?
- Koppel elke access-regel aan slechts één module role. Houd regels per User Role specifiek, zodat rechten tot een minimum beperkt blijven.
- Vermijd directe create- of delete-rechten. Gebruik in plaats daarvan microflows die de juiste beveiligingscontroles uitvoeren.
- Wijs nooit write- of delete-rechten toe aan persistente entiteiten zonder een XPath-constraint. Zonder deze beperking kunnen gebruikers gedeelde of persoonlijke data aanpassen of verwijderen.
-
Vermijd directe write-rechten op attributen die de integriteit of beveiliging beïnvloeden. Voer wijzigingen uit via microflows die invoer valideren met behulp van helper-entiteiten of attributen. Dit geldt voor:
- Attributen die worden gebruikt in XPath-constraints
- Attributen die worden gecontroleerd binnen microflow-beveiliging
- Associaties die zijn gekoppeld aan gevoelige data
-
Gebruik geschikte XPath-constraints voor data die:
- Gebruikersspecifiek is (zoals financiële of medische gegevens)
- Groepsspecifiek is (zoals bedrijfs- of projectdata)
- Statusspecifiek is (zoals concept/gepubliceerd of goedgekeurd/afgewezen)
- Wijs geen create-rechten toe aan een entiteit als dezelfde rol write-rechten heeft onder een XPath-constraint. Deze combinatie kan de constraint omzeilen bij het opslaan van nieuwe objecten.
Kwetsbaarheden binnen TSU-02
- Lees- of schrijfrechten op gevoelige data, zoals applicatiegeheimen of inloggegevens. Dit kan vertrouwelijke informatie blootleggen.
- Ontbrekende of onjuiste XPath-constraints, waardoor gebruikers data kunnen inzien, wijzigen of verwijderen die buiten hun rechten valt.
- Create- of delete-rechten op integriteitskritieke entiteiten, zoals auditlogs, die essentieel zijn voor traceerbaarheid.
- Schrijfrechten op attributen of associaties die in XPath-constraints worden gebruikt, wat beveiligingsregels kan omzeilen.
- Schrijfrechten op attributen die in microflow-beveiliging of gevoelige logica worden gebruikt, wat ongewenste acties of privilege-escalatie kan veroorzaken.
- Combinatie van create- en write-rechten onder XPath, waarmee validatie kan worden omzeild en ongeautoriseerde data kan worden opgeslagen.
- Omzeilen van datavalidatie via directe write-toegang, wat kan leiden tot inconsistente of gemanipuleerde data.
- Conflicterende toegangsregels, waarbij overlappende rechten de beveiliging verzwakken.
Integreer The S-Unit Top 10 in je CI/CD-pijplijn
In samenwerking met Omnext hebben we een Mendix-specifieke SAST-oplossing gemaakt die continu en automatisch scant op kwetsbaarheden. Door de integratie van de The S-Unit Top 10 in de CI/CD-pijplijn worden risico’s vroegtijdig opgespoord en direct inzichtelijk gemaakt. Wil je meer informatie? Neem contact met ons op.