Når seks STRIDE-kategorier møder fem forsvarslag
STRIDE-trusselmodellering: Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege. Microsofts seks-kategori-taksonomi til systematisk trusselanalyse. Industristandard. Kampafprøvet. Omfattende—angiveligt.
Her møder numerologi virkeligheden: Kortlægning af STRIDE til CIA Compliance Manager-arkitekturen afslørede seks kategorier komprimeret til fem defensive krav. Denial of Service? Besejret af arkitektonisk enkelhed (statisk hosting eliminerer 90% af DoS-angrebsfladen). De resterende fem trusler stemmer perfekt overens med fem forsvarslag. Tilfældighed? Eller universet der afslører optimal sikkerhedsstruktur gennem begrænsning?
Udfordring af konventionel sikkerhedstænkning: Flere trusselkategorier garanterer ikke omfattende forsvar. Overlappende kategorier skaber falsk tillid til dækning. Vores fem-lags forsvar adresserer alle seks STRIDE-trusler, fordi lagene er ortogonale—hvert beskytter fundamentalt forskellige angrebsflader. Mønstergenkendelse muliggør defensiv effektivitet frem for udtømmende kategorisering.
Oplysning: Seks STRIDE-kategorier, der kortlægges til fem forsvar, afslører, hvilke trusler der deler grundårsager. Spoofing + Elevation of Privilege besejres begge af autentificering. Tampering + Repudiation besejres begge af integritetskontroller. Mønstergenkendelse muliggør defensiv effektivitet.
Klar til at implementere ISO 27001-compliance? Lær om Hack23s cybersikkerhedsrådgivningstjenester og vores unikke offentlige ISMS-tilgang.
Klient-side sikkerhedsfordelen
Konventionelle complianceværktøjer: server-side SaaS. Brugere uploader følsomme data. Leverandøren opbevarer dem. Leverandøren sikrer dem. Leverandøren sælger "virksomhedssikkerhed" som konkurrencefordel.
Vi valgte anderledes. Klient-side applikation. IndexedDB-lagring. Ingen backend. Data forlader aldrig brugerens browser. Angrebsflade: minimal. Hvorfor?
Fem fordele ved klient-side arkitektur til compliance:
- Nul serversårbarheder: Ingen SQL-injektion (ingen SQL-server). Ingen RCE (ingen kommandoeksekvering). Ingen SSRF (ingen server-side anmodninger). Ingen XXE (ingen XML-parsing). Hele OWASP Top 10 er stort set irrelevant. Angrebsfladen kollapsede.
- Datasuverænitet som standard: Brugerdata i brugerens browser på brugerens enhed under brugerens kontrol. Ingen "vores privatlivspolitik siger..." markedsføring. Matematisk privatlivsbeskyttelse gennem arkitektur. GDPR-compliance automatisk.
- Offline-drift: Internet nede? Compliancevurderingen fortsætter. Netværk kompromitteret? Følsomme data allerede lokale. Air-gapped miljøer? Installer én gang, kør for evigt. Modstandsdygtighed gennem uafhængighed.
- Transparent sikkerhed: Klient-side JavaScript betyder, at brugere kan revidere sikkerheden. Se kildekoden. Læs koden. Verificer kryptografiske implementeringer. Tillid gennem verifikation, ikke leverandørløfter.
- Omkostningsreduktion: Ingen serveromkostninger = 0 kr./måned hosting. GitHub Pages gratis. CloudFlare gratis tier. Nul hostinggebyrer muliggør gratis open source-værktøj. Økonomisk bæredygtighed gennem arkitektonisk enkelhed.
Afvejninger anerkendt: Ingen server = ingen realtidssamarbejde (køreplan: peer-to-peer via WebRTC). Ingen centraliseret backup (køreplan: krypteret cloud-eksport). Klient-side begrænsninger (køreplan: Web Workers til tung beregning). Ærlig afvejningsdokumentation > marketingspin.
Sikkerhedsarkitektur, der eliminerer hele angrebsklasser, slår sikkerhedsarkitektur, der forsvarer mod hvert angreb i hver klasse. Vælg enkelhed, der muliggør sikkerhed frem for kompleksitet, der kræver sikkerhed.
Klient-side sikkerhedsarkitektur: Forsvar gennem enkelhed
Hvert sikkerhedslag adresserer specifikke trusselkategorier. Klient-side arkitektur eliminerer fundamentalt server-side angrebsvektorer, mens den kræver omhyggelig forsvar af browser-baserede trusler.
1. 🌐 Content Security Policy: Injektionsforsvar
Trusler afbødet: Cross-site scripting (XSS), dataeksfiltrering via injicerede scripts, uautoriseret ressourceindlæsning.
CSP-direktiver: Restriktiv politik, der begrænser scriptkilder, stilkilder og forbindelsesendepunkter. Konfiguration implementeret via GitHub Pages-headere.
React framework-beskyttelse: Automatisk XSS-forebyggelse gennem JSX-escaping, DOM-manipulationssanitisering og kontrolleret prop-rendering.
CSP, der blokerer legitim funktionalitet, fejler brugervenlighed. CSP, der tillader alt, fejler sikkerhed. Balance gennem minimum nødvendige direktiver baseret på faktiske applikationskrav.
2. 🔐 Subresource Integrity: Afhængighedstillid
Trussel afbødet: Kompromitteret CDN, der serverer ondsindede biblioteksversioner, supply chain-angreb på eksterne afhængigheder.
SRI-implementering: Kryptografisk hash-validering for eksterne ressourcer. Afhængighedsintegritetsverifikation ved build-tid.
Supply chain-verifikation: Dependabot-automatisering til sikkerhedsopdateringer, FOSSA-licenscompliancescanning. Bevis: FOSSA-dashboard.
3. 🛡️ Typesikkerhed: Runtime-fejlforebyggelse
Trusler afbødet: Typeforvekslingssårbarheder, runtime-fejl, der forårsager denial of service, misdannet databehandling.
TypeScript strict mode: Omfattende typekontrol med noImplicitAny, strictNullChecks, strictFunctionTypes kompileringsflag. Typefejl blokerer builds.
Build-time validering: ESLint statisk analyse, TypeScript-kompilerkontroller, Vite-build-optimering med tree-shaking, der fjerner ubrugt kode.
4. 🔒 Databeskyttelse: Browser-lagringssikkerhed
Trussel afbødet: Lokal lagringskompromittering, uautoriseret dataadgang fra ondsindede udvidelser eller co-lokaliserede angreb.
Nuværende implementering: IndexedDB inden for browser-sandbox. Stoler på OS-niveau diskkryptering og browser-profilsikkerhed til data-at-rest beskyttelse.
Fremtidig forbedring: Klient-side kryptering ved hjælp af SubtleCrypto API til yderligere zero-knowledge beskyttelseslag uafhængigt af OS-sikkerhed.
5. 👁️ Build-integritet: Supply chain-sikring
Trusler afbødet: Kompromitteret build-pipeline, manipulerede artefakter, uautoriseret kodeinjektion.
Mekanismer: Automatiseret CI/CD gennem GitHub Actions, SLSA Niveau 3-proveniens-attesteringer, uforanderlige build-artefakter, kryptografisk signering af releases.
Validering: OpenSSF Scorecard-overvågning (tjek nuværende score), afhængighedsgennemgangsworkflow, CodeQL-sikkerhedsscanning.
Klient-side trusselsovervejelser
Klient-side arkitektur flytter trusselsfokus fra server-side angreb til browser-baserede sårbarheder, DOM-manipulationsrisici og lokal lagringssikkerhed.
Centrale sikkerhedsovervejelser for complianceværktøjer:
- XSS-forebyggelse: React framework giver automatisk escaping. Yderligere DOMPurify-sanitisering til brugergenererede vurderingsnotater. CSP-headere håndhæver restriktive script-politikker.
- Datafortrolighed: Browser-sandbox-isolering plus OS-niveau kryptering. Fremtidig køreplan inkluderer klient-side kryptering til yderligere zero-knowledge beskyttelse.
- Supply chain-sikkerhed: SRI-validering for eksterne afhængigheder. Automatiserede Dependabot-opdateringer. SLSA Niveau 3 build-attesteringer giver proveniens-sikring.
- Lagringssikkerhed: IndexedDB-adgang begrænset til same-origin. Ingen server-side datatransmission eliminerer netværksaflytningsrisici.
- Build pipeline-integritet: GitHub Actions-automatisering med sikkerhedsscanning. CodeQL SAST-analyse. Afhængighedsgennemgang blokerer sårbare pakker.
Trusselmodellering, der ærligt dokumenterer restrisiko og arkitektoniske afvejninger, muliggør informerede sikkerhedsbeslutninger. Gennemsigtighed om begrænsninger opbygger tillid mere end markedsføring af perfekt sikkerhed.
Supply chain-sikkerhed: Afhængighedsstyring
npm-afhængigheder repræsenterer tillidsbeslutninger. Sådan fungerer verifikation:
- Licenscompliance: FOSSA-scanning sikrer MIT/Apache-2.0/BSD-kompatibilitet. Offentligt compliance-badge giver gennemsigtighed.
- Sårbarhhedsscanning: Dependabot-automatisering genererer sikkerhedsopdaterings-PR'er. GitHub afhængighedsgennemgangsworkflow blokerer sårbare pakkeintroduktioner.
- Build-proveniens: SLSA Niveau 3-attesteringer giver kryptografisk bevis, der forbinder artefakter til kildekode. Se offentlige attesteringer.
- Kontinuerlig validering: OpenSSF Scorecard måler sikkerhedspraksis. Tjek nuværende score for branch-beskyttelse, kodegennemgang og afhængighedsopdateringsbevis.
- Statisk analyse: CodeQL-sikkerhedsscanning integreret i CI/CD. ESLint-regler håndhæver sikre kodningsmønstre.
Afhængighedsminimeringsstrategi: Foretrækker platform-API'er frem for biblioteker, hvor det er praktisk. React core leverer betydelig funktionalitet, der reducerer eksterne afhængighedskrav.
Sikkerhedskøreplan: Progressiv forbedring
Sikkerhedsudvikling planlagt gennem progressiv forbedring opretholder bagudkompatibilitet, mens forsvarslag tilføjes.
Fase 1: Forbedret autentificering
Valgfri OAuth-integration til multi-device sync. GitHub/Google/Microsoft-identitetsudbydere. Sessionsstyring med sikker token-håndtering.
Fase 2: Klient-side kryptering
SubtleCrypto API-integration for zero-knowledge arkitektur. AES-GCM-kryptering af vurderingsdata. Brugerstyrede krypteringsnøgler transmitteres aldrig.
År 3: Revisionslogning
Handlingslog i IndexedDB. Merkle-træ manipulationsbevis.
År 4: WebAuthn-biometri
Touch ID, Face ID, Windows Hello. Phishing-resistent.
År 5: Post-quantum krypto
Lattice-baseret kryptering. Kvante-resistent fremtidssikring.
Sikkerhedsvisdom: Fem nøgleerkendelser
- Klient-side = defensiv fordel. Ingen server = ingen serversårbarheder.
- Seks STRIDE-kategorier → fem forsvar. Mønstergenkendelse muliggør fokus.
- Typesikkerhed er sikkerhed. Kompileringstidsverifikation = pre-deployment fejleliminering.
- Automatiseret bevis > manuel sikring. Kryptografisk bevis, ikke løfter.
- Sikkerhedskøreplaner muliggør gennemsigtighed. Vis udvikling, ikke kun øjebliksbillede.
Verificer vores sikkerhed
Simon Moon, Systemarkitekt, Hack23 AB
"Klient-side sikkerhed er matematisk sikkerhed—angrebsflade minimeret gennem arkitektonisk begrænsning."