@ anoniem van 18:38 gister,
Fijne bespiegelingen en dit zet ook aan tot verder (over)denken.
We zouden al kunnen praten over het langer dan te verwachten aflopen van scripts,
dat kan duiden op potentieel oveilig zijn. Het voldoet dan niet aan de te verwachten normering in ieder geval.
Dit gegeven zou dus ook zo'n soort van gepredefineerde vastgestelde invariant kunnen zijn.
Voorbeeldje - serverless AWS Lambda invoke:
Patroon: (arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_\.]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?
Het moet dus zo zijn, dat code niet kan doen wat het niet zou moeten kunnen doen.
Nu is het vaak zo dat men dat niet van de 'code sec' vraagt in normale omstandigheden, onder tijddruk etc.,
maar door een aantal opgebouwde protocollagen tracht te bereiken in de vorm van verdere veiligheidslagen.
(onder meer server client monitoren, header security, enz.; veelal toch vaak security through obscurity).
Deze nieuwe directe code-achtig preventieve afbakening is moeilijk, omdat er nooit zo mee omgegaan is,
zeker niet door "knippers en plakkers" en hun decision-makers.
Maar voortgezet misbruik dwingt ons wel die kant op. Het kost gewoon te veel om het anders te willen doen.
Kijk in een omgeving waar je er van uit kan gaan, dat niemand de voorgestelde code echt misbruikt,
zoals bij de universiteiten in den beginne van voor het Internet het geval, is een veiligheidsgarantie gemakkelijker.
In alle andere gevallen is het vaak een ondoenlijke zaak of verloopt via een glijdende schaal.
Er is nu eenmaal niet altijd een compleet betrouwbare gebruikerspool om het zo uit te drukken.
Het vraagt dus om een compleet andere benadering dan we tot nu toe gewend zijn.
J.O.