När Sex STRIDE-Kategorier Möter Fem Försvarslager
STRIDE hotmodellering: Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege. Microsofts sex-kategori taxonomi för systematisk hotanalys. Branschstandard. Beprövad i strid. Omfattande—påstås det.
Här möts numerologi och verklighet: Kartläggning av STRIDE till CIA Compliance Manager-arkitekturen avslöjade att sex kategorier komprimeras till fem försvarskrav. Denial of Service? Besegrat av arkitektonisk enkelhet (statisk hosting eliminerar 90% av DoS-attackytan). De återstående fem hoten är perfekt i linje med fem försvarslager. Slump? Eller avslöjar universum optimal säkerhetsstruktur genom begränsning?
Utmana konventionellt säkerhetstänkande: Fler hotkategorier garanterar inte omfattande försvar. Överlappande kategorier skapar falskt förtroende för täckning. Vårt fem-lagers försvar adresserar alla sex STRIDE-hot eftersom lagren är ortogonala—var och en skyddar fundamentalt olika attackytor. Mönsterigenkänning möjliggör försvarsmässig effektivitet över uttömmande kategorisering.
Upplysning: Sex STRIDE-kategorier som kartläggs till fem försvar avslöjar vilka hot som delar grundorsaker. Spoofing + Elevation of Privilege båda besegrade av autentisering. Tampering + Repudiation båda besegrade av integritetskontroller. Mönsterigenkänning möjliggör försvarsmässig effektivitet.
Redo att implementera ISO 27001-efterlevnad? Läs om Hack23:s cybersäkerhetskonsulttjänster och vår unika offentliga ISMS-approach.
Klientsides Säkerhetsfördel
Konventionella efterlevnadsverktyg: serversides SaaS. Användare laddar upp känslig data. Leverantören lagrar den. Leverantören säkrar den. Leverantören säljer "företagssäkerhet" som konkurrensfördel.
Vi valde annorlunda. Klientsides-applikation. IndexedDB-lagring. Ingen backend. Data lämnar aldrig användarens webbläsare. Attackyta: minimal. Varför?
Fem fördelar med klientsides-arkitektur för efterlevnad:
- Noll Serversårbarheter: Ingen SQL-injektion (ingen SQL-server). Ingen RCE (ingen kommandoexekvering). Ingen SSRF (inga serversides-förfrågningar). Ingen XXE (ingen XML-parsning). Hela OWASP Top 10 mestadels irrelevant. Attackyta kollapsad.
- Datasuveränitet Som Standard: Användardata i användarens webbläsare på användarens enhet under användarens kontroll. Ingen "vår integritetspolicy säger..." marknadsföring. Matematisk integritet genom arkitektur. GDPR-efterlevnad automatisk.
- Offlinedrift: Internet nere? Efterlevnadsbedömning fortsätter. Nätverk komprometterat? Känslig data redan lokal. Luftgapade miljöer? Installera en gång, kör för evigt. Motståndskraft genom oberoende.
- Transparent Säkerhet: Klientsides-JavaScript betyder att användare kan granska säkerheten. Visa källa. Läs koden. Verifiera kryptografiska implementationer. Tillit genom verifiering, inte leverantörslöften.
- Kostnadsreduktion: Inga serverkostnader = 0 kr/månad hosting. GitHub Pages gratis. CloudFlare gratis nivå. Noll hostingavgifter möjliggör gratis öppen källkod-verktyg. Ekonomisk hållbarhet genom arkitektonisk enkelhet.
Avvägningar erkända: Ingen server = ingen realtidssamverkan (färdplan: peer-to-peer via WebRTC). Ingen centraliserad backup (färdplan: krypterad molnexport). Klientsides-begränsningar (färdplan: Web Workers för tung beräkning). Ärlig dokumentation av avvägningar > marknadsföringsprat.
Säkerhetsarkitektur som eliminerar hela attackklasser slår säkerhetsarkitektur som försvarar mot varje attack i varje klass. Välj enkelhet som möjliggör säkerhet över komplexitet som kräver säkerhet.
Client-Side Säkerhet Architecture: Defense Through Simplicity
Each security layer addresses specific threat categories. Client-side architecture fundamentally eliminates server-side attack vectors while requiring careful defense of browser-based threats.
1. 🌐 Content Säkerhet Policy: Injektionsförsvar
Hot mitigerade: Cross-site scripting (XSS), dataexfiltrering via injekterade skript, obehörig resursladdning.
CSP-direktiv: Restriktiv policy som begränsar skriptkällor, stilkällor och anslutningsändpunkter. Konfiguration distribuerad via GitHub Pages-headers.
React-ramverksskydd: Automatiskt XSS-skydd genom JSX-escapeing, DOM-manipulationssanitisering och kontrollerad prop-rendering.
CSP som blockerar legitim funktionalitet misslyckas med användbarhet. CSP som tillåter allt misslyckas med säkerhet. Balans genom minimalt nödvändiga direktiv baserat på faktiska applikationskrav.
2. 🔐 Subresource Integrity: Beroende-Tillit
Hot mitigerat: Komprometterad CDN som serverar skadliga biblioteksversioner, leveranskedjeattacker på externa beroenden.
SRI-implementering: Kryptografisk hash-validering för externa resurser. Beroende-integritetsverifiering vid byggtid.
Leveranskedjeverifiering: Dependabot-automation för säkerhetsuppdateringar, FOSSA-licensefterlevnadsskanning. Bevis: FOSSA-instrumentpanel.
3. 🛡️ Typsäkerhet: Förhindring av Körtidsfel
Hot mitigerade: Typförvirringssårbarheter, körtidsfel som orsakar tjänsteförnekelse, felaktig databearbetning.
TypeScript strikt läge: Omfattande typkontroll med noImplicitAny, strictNullChecks, strictFunctionTypes kompileringsflaggor. Typfel blockerar byggen.
Byggtidsvalidering: ESLint statisk analys, TypeScript-kompileringskontroller, Vite-byggoptimering med tree-shaking som tar bort oanvänd kod.
4. 🔒 Dataskydd: Webbläsarlagring Säkerhet
Hot mitigerat: Kompromiss av lokal lagring, obehörig dataåtkomst från skadliga tillägg eller samlokaliserade attacker.
Nuvarande implementering: IndexedDB inom webbläsarsandbox. Förlitar sig på OS-nivå diskkryptering och webbläsarprofilsäkerhet för data-i-vila-skydd.
Framtida förbättring: Klientsides-kryptering med SubtleCrypto API för ytterligare zero-knowledge-skyddslager oberoende av OS-säkerhet.
5. 👁️ Byggintegritet: Leveranskedjessäkerställelse
Hot mitigerade: Komprometterad byggpipeline, manipulerade artefakter, obehörig kodinjektion.
Mekanismer: Automatiserad CI/CD genom GitHub Actions, SLSA Nivå 3 härkomstbevis, oföränderliga byggartefakter, kryptografisk signering av releaser.
Validering: OpenSSF Scorecard-övervakning (kontrollera aktuell poäng), beroende-granskning arbetsflöde, CodeQL säkerhetsskanning.
Klientsides Hotöverväganden
Klientsides-arkitektur skiftar hotfokus från serversides-attacker till webbläsarbaserade sårbarheter, DOM-manipulationsrisker och lokal lagringssäkerhet.
Nyckelöverväganden för säkerhet i efterlevnadsverktyg:
- XSS-förebyggande: React-ramverket tillhandahåller automatisk escapeing. Ytterligare DOMPurify-sanitisering för användargenererade bedömningsanteckningar. CSP-headers verkställer restriktiva skriptpolicyer.
- Datakonfidentialitet: Webbläsarsandbox-isolering plus OS-nivå kryptering. Framtida färdplan inkluderar klientsides-kryptering för ytterligare zero-knowledge-skydd.
- Leveranskedjesäkerhet: SRI-validering för externa beroenden. Automatiserade Dependabot-uppdateringar. SLSA Nivå 3 byggbevis ger härkomstförsäkring.
- Lagringssäkerhet: IndexedDB-åtkomst begränsad till samma ursprung. Ingen serversides-dataöverföring eliminerar nätverksavlyssningsrisker.
- Byggpipeline-integritet: GitHub Actions-automation med säkerhetsskanning. CodeQL SAST-analys. Beroende-granskning blockerar sårbara paket.
Hotmodellering som ärligt dokumenterar kvarvarande risk och arkitektoniska avvägningar möjliggör informerade säkerhetsbeslut. Transparens om begränsningar bygger tillit mer än marknadsföring av perfekt säkerhet.
Supply Chain Säkerhet: Dependency Management
npm dependencies represent trust decisions. How verification works:
- License Compliance: FOSSA scanning ensures MIT/Apache-2.0/BSD compatibility. Public compliance badge provides transparency.
- Vulnerability Scanning: Dependabot automation generates security update PRs. GitHub dependency review workflow blocks vulnerable package introductions.
- Build Provenance: SLSA Level 3 attestations provide cryptographic evidence linking artifacts to source. View public attestations.
- Continuous Validation: OpenSSF Scorecard measures security practices. Check current score for branch protection, code review, and dependency update evidence.
- Static Analysis: CodeQL security scanning integrated into CI/CD. ESLint rules enforce secure coding patterns.
Dependency minimization strategy: Prefer platform APIs over libraries where practical. React core provides substantial functionality reducing external dependency requirements.
Säkerhet Roadmap: Progressive Enhancement
Säkerhet evolution planned through progressive enhancement maintaining backward compatibility while adding defense layers.
Phase 1: Enhanced Authentication
Optional OAuth integration for multi-device sync. GitHub/Google/Microsoft identity providers. Session management with secure token handling.
Phase 2: Client-Side Encryption
SubtleCrypto API integration for zero-knowledge architecture. AES-GCM encryption of assessment data. User-controlled encryption keys never transmitted.
Year 3: Audit Logging
Action log in IndexedDB. Merkle tree tamper-evidence.
Year 4: WebAuthn Biometric
Touch ID, Face ID, Windows Hello. Phishing-resistant.
Year 5: Post-Quantum Crypto
Lattice-based encryption. Quantum-resistant future-proofing.
Säkerhet Wisdom: Five Key Lessons
- Klientsides = försvarsfördel. Ingen server = inga serversårbarheter.
- Sex STRIDE-kategorier → fem försvar. Mönsterigenkänning möjliggör fokus.
- Typsäkerhet är säkerhet. Kompileringstidsverifiering = eliminering av buggar före distribution.
- Automatiserad bevisning > manuell försäkran. Kryptografiskt bevis, inte löften.
- Säkerhetsfärdplaner möjliggör transparens. Visa trajektoria, inte bara ögonblicksbild.
Verify Our Säkerhet
Simon Moon, Systemarkitekt, Hack23 AB
"Client-side security is mathematical security—attack surface minimized through architectural constraint."