Zdroje
Simulátor Deník Glosář Rozšíření Důvěra Stav služby KontaktZměnit jazyk
Co chráníme, proti komu, jak, a co <em>ne</em>chráníme. Lepší je pojmenovaný perimetr než skryté sliby.
Verze v1.0 · revidováno {{ "now"|date("d/m/Y") }} · revidováno při každém významném release.
Metodika: STRIDE (Spoofing / Tampering / Repudiation / Information disclosure / Denial of service / Elevation of privilege) aplikovaná na pět povrchů produktu. Každý řádek: hrozba - mitigace ARDNTECH - vědomě přijatý kompromis.
Dokument určený CISO, auditorům a bezpečnostním výzkumníkům. Zdrojový kód AGPL je veřejný na github.com/aegirex/server. Podrobné provozní runbooky zůstávají vyhrazeny design partnerům pod NDA.
Devět profilů útočníka zohledněných v modelu.
| Aktér | Popis | Schopnosti |
|---|---|---|
| Externí útočník | Internet, žádný počáteční přístup | Hrubá síla, phishing, webové exploity, síťový MITM |
| Phishnutý uživatel | Uživatel jako cíl klonovaného webu | Odešle své přihlašovací údaje na útočníkovu doménu |
| Zlomyslný spolunájemník | Uživatel jiné organizace ARDNTECH | Pokouší se číst tajné údaje sousedních organizací |
| Kompromitovaný prohlížeč | Prohlížeč infikovaný malwarem nebo zlomyslným rozšířením | Přístup k DOM, může číst vstupní pole |
| Administrátor serveru | Provozovatel infrastruktury s SSH přístupem k serveru | Čte databázi, čte paměť, upravuje kód |
| Exfiltrace databáze | Ukradená záloha, uniklý SQL dump | Úplný snapshot databáze |
| Soudní orgán | Zákonné vyžádání, administrativní příkaz | Nutí hostitele poskytnout uložená data |
| Insider ARDNTECH | Budoucí zaměstnanec nebo dodavatel společnosti ARDNTECH | Revize kódu, přístup k nasazení, čtení logů |
| Kvantový protivník | Funkční kvantový počítač (horizont > 2030) | Prolomí RSA / ECC v polynomiálním čase (Shor) |
Klasifikace dat a úroveň ochrany v klidu.
| Údaj | Citlivost | Úložiště |
|---|---|---|
| Hlavní heslo uživatele | Kritická | Pouze hash Argon2id (RFC 9106) |
| Obsah tajných údajů (payload) | Kritická | End-to-end šifrováno (OpenPGP), server ukládá neprůhledný blob |
| Soukromý klíč OpenPGP uživatele | Kritická | Nikdy na serveru. Uložen lokálně, chráněn uživatelskou passphrase |
| Tajné údaje TOTP v klidu | Kritická | Šifrovány XChaCha20-Poly1305 (klíč mimo databázi) |
| Tajné údaje webhooku v klidu | Kritická | Šifrovány XChaCha20-Poly1305 (klíč mimo databázi) |
| Názvy tajných údajů a složek | Mírná | V otevřené podobě na straně serveru. Kompromis zdokumentován 5.1 |
| Auditní záznam | Vysoká | Řetězec HMAC-SHA-256, tamper-evidence v O(1) |
| Hrozba | Mitigace | Status |
|---|---|---|
| Hrubá síla na heslo | Rate limiter 5 pokusů / 15 min na IP + Argon2id (256 MiB, 5 průchodů) - 1 s na lokální pokus | Dodáno |
| Credential stuffing | Stejný rate limiter + sken HIBP opt-in po přihlášení (výslovný souhlas GDPR) | Dodáno |
| Obejití 2FA | TOTP RFC 6238 s issuer pinningem + jednorázové záložní kódy + WebAuthn PRF | Dodáno |
| Uložené nebo odražené XSS | Striktní CSP (script-src 'self' 'wasm-unsafe-eval'), aktivované Trusted Types, automatické escapování Twig | Dodáno |
| Kompromitace závislosti OpenPGP.js | Knihovna vendorovaná s otiskem SHA-256 ověřeným při buildu (manifest integrity SRI) | Dodáno |
| Phishing hlavního hesla | Připravované silné zmírnění: passkeys WebAuthn PRF, které odstraňují přenos hesla a jsou prohlížečem vázány na původní doménu. Mezitím: školení uživatelů + UI indikátory. | Připravuje se |
| Hrozba | Mitigace | Status |
|---|---|---|
| Ukradený dump databáze | Payload šifrovaný OpenPGP E2E nečitelný bez soukromého klíče uživatele. Hesla v hashi Argon2id neobnovitelná | Dodáno |
| Ukradená záloha | Šifrované zálohy (Argon2id + ChaCha20-Poly1305), pro více příjemců. Automatizovaný test obnovení v CI | Dodáno |
| Administrátor serveru čte obsah tajného údaje | Nemožné bez soukromého klíče uživatele. Server ukládá pouze neprůhledné bloby | Dodáno |
| Pozměnění auditního záznamu (tampering) | Řetězec HMAC-SHA-256, detekce v O(1) při ověření. Podrobnosti řetězce | Dodáno |
| Hrozba | Mitigace | Status |
|---|---|---|
| Únik dat napříč organizacemi | Každý API token vázán na jedinou organizaci. Systematické filtrování na každém endpointu. Explicitní testy izolace v CI při každém commitu | Dodáno |
| Krádež API tokenu | Token hashovaný Argon2id v databázi. Volná rotace uživatelem. Konfigurovatelný minimální scope (čtení / zápis) | Dodáno |
| Aplikační denial of service | Rate limiter na token a na IP (rámec Symfony) | Dodáno |
| Hrozba | Mitigace | Status |
|---|---|---|
| Kompromitace build pipeline | Ověření otisku SHA-256 závislostí zřetězené k buildu. Plánován podepsaný SBOM | Dodáno |
| Zavření popupu = dočasná ztráta přístupu | Kompromis první verze: soukromý klíč není perzistován pro omezení útočného povrchu. Připravuje se: konfigurovatelný auto-lock + perzistence přes kontrolovaný service worker. | Připravuje se |
| Zachycení přihlašovacích údajů na phishingovém webu | Uživatel vidí skutečné doménové jméno v pop-upu rozšíření před kliknutím na „Uložit“ | Dodáno |
| Hrozba | Mitigace | Status |
|---|---|---|
| Kompromitovaný Docker image | Automatizovaný sken zranitelností v CI. Plánován podpis Sigstore pro uživatelské ověření na straně nasazení | Probíhá |
| Neotestovaná záloha | Automatizovaný test obnovení v CI při každém release. Žádná neověřená záloha v produkci | Dodáno |
| mTLS v produkci | Aktivovatelné konfigurací. Režimy audit (pouze logy) a poté enforcement k dispozici | Dodáno |
Redakční poctivost: zde jsou povrchy, které ARDNTECH nepokrývá sám, a doporučená mitigace.
| Limit | Proč | Doporučená mitigace |
|---|---|---|
| Úplná kompromitace pracovní stanice uživatele | Malware s přístupem k RAM prohlížeče může číst dešifrovaný soukromý klíč | Hardwarový passkey (YubiKey, TPM), který uzavírá klíč do zabezpečeného prvku |
| Kompromitace serveru ARDNTECH (root) | Root útočník může číst aktivní HTTP relace | Uložené tajné údaje zůstávají nečitelné (zero-knowledge). V ohrožení jsou pouze relace otevřené v okamžiku kompromitace. Doporučen krátký auto-lock |
| Ztráta hlavního hesla | Přímý důsledek striktního zero-knowledge: žádný způsob obnovení klíče na straně serveru | Záložní kódy vytištěné při vytvoření. Připravuje se: sdílení Shamir M z N pro plány Enterprise |
| Kvantový protivník (horizont > 2030) | OpenPGP v6 + AES-256 jsou odhadovány jako bezpečné na 5 až 10 let podle RGS ANSSI 2024 | Post-kvantová migrace (ML-KEM, ML-DSA) v dlouhodobém hodnocení |
| Fyzický útok na pracovní stanici uživatele | ARDNTECH je logický trezor, nikoli fyzický trezor | Krátký auto-lock trezoru + hardwarový passkey WebAuthn |
| Insider ARDNTECH (budoucí zaměstnanec) | Vědomě přijatý limit modelu důvěry SaaS vydavatele | NDA, oddělení odpovědností, povinná revize kódu, tamper-evidentní audit chain, princip nejmenšího oprávnění |
Volba: názvy uloženy v otevřené podobě na straně serveru.
Proč: okamžité vyhledávání na straně serveru, zobrazení stromové struktury bez dešifrování při každé navigaci, možné hierarchické sdílení složek.
Dopad: útočník, který exfiltruje databázi, vidí, že tajný údaj nazvaný „AWS Prod“ existuje ve složce „DevOps / Cloud“. NEvidí obsah (payload šifrovaný E2E).
Zvažovaná alternativa: volba „anonymizuj mě“, která šifruje i názvy. Významné UX náklady: žádné vyhledávání na straně serveru, úplný klientský sken při každém požadavku.
Volba: OpenPGP šifruje payload poté, co uživatel zadá své heslo.
Proč: žádná alternativa - prohlížeč musí vidět otevřenou podobu, aby umožnil uživateli ji zadat.
Mitigace: Trusted Types CSP zabraňuje DOM XSS injektovat exfiltrující JavaScript. Připravuje se: passkeys WebAuthn, které zcela odstraňují přenos hesel.
Volba: žádné obnovení, pokud uživatel ztratí jak své hlavní heslo, TAK své záložní kódy.
Proč: striktní zero-knowledge. Kdybychom mohli obnovit, existovala by cesta dešifrování na straně serveru.
Připravovaná mitigace: sdílení Shamir soukromého klíče (M z N částí), jedna část u Aegirexu s procedurálními pojistkami (odblokování pouze za přítomnosti N-1 dalších částí ověřené uživatelem). Vyhrazeno plánům Enterprise.
| Úroveň | Spouštěč | Akce |
|---|---|---|
| L1 Podezření | Anomálie v auditním záznamu, hlášení uživatele | Interní vyšetřování do 24 h, ověření audit chain |
| L2 Potvrzená kompromitace | Technická kompromitace potvrzená vyšetřováním | Oznámení uživatelům do 72 h (GDPR čl. 33), rotace zasažených klíčů, zavedení mitigací |
| L3 Závažná kompromitace | Kompromitovaná databáze nebo zdrojový kód | Oznámení CNIL a ANSSI, veřejný transparency report, externí forenzní audit |
Odpovědné zveřejňování: V souladu s RFC 9116 soubor /.well-known/security.txt v kořeni webu uvádí naši kontaktní adresu security@aegirex.eu. Lhůta pro potvrzení přijetí: 72 h.
Tento threat model je živý dokument. Pokud jste CISO, auditor nebo bezpečnostní výzkumník a nějaká hrozba je špatně modelována, kontaktujte nás přímo.