Solidarita s Ukrajinou. Služba ponúkaná bezplatne ukrajinským firmám počas trvania vojny. Požiadať o bezplatný prístup
Bezpečnosť · verejný dokument

Verejný model hrozieb.

Čo chránime, pred kým, ako a čo nechránime. Lepšie pomenovaný perimeter ako skryté sľuby.

Verzia v1.0 · revidovaná {{ "now"|date("d/m/Y") }} · revidovaná pri každom významnom vydaní.

Metodológia: STRIDE (Spoofing / Tampering / Repudiation / Information disclosure / Denial of service / Elevation of privilege) aplikovaná na päť povrchov produktu. Každý riadok: hrozba - mitigácia ARDNTECH - prijatý kompromis.

Dokument určený pre CISO, audítorov a bezpečnostných výskumníkov. Zdrojový kód AGPL je verejný na github.com/aegirex/server. Podrobné operačné runbooky zostávajú vyhradené pre design partnerov pod NDA.

1. Modelovaní aktéri

Deväť profilov útočníkov zohľadnených v modeli.

Aktér Opis Schopnosti
Externý útočník Internet, žiadny počiatočný prístup Hrubá sila, phishing, web exploity, sieťový MITM
Phisnutý používateľ Používateľ cieľom klonovanej stránky Odošle svoje prihlasovacie údaje doméne útočníka
Škodlivý spolunájomník Používateľ inej organizácie ARDNTECH Pokúša sa čítať tajomstvá susedných organizácií
Kompromitovaný prehliadač Prehliadač infikovaný malvérom alebo škodlivým rozšírením Prístup k DOM, môže čítať vstupné polia
Administrátor servera Operátor infraštruktúry s SSH prístupom na server Číta databázu, číta pamäť, upravuje kód
Exfiltrácia databázy Ukradnutá záloha, uniknutý SQL dump Úplný snapshot databázy
Súdny orgán Zákonná rekvizícia, administratívny príkaz Núti hostiteľa poskytnúť uložené údaje
Insider ARDNTECH Budúci zamestnanec alebo dodávateľ ARDNTECH Revízia kódu, prístup k nasadeniu, čítanie logov
Kvantový protivník Funkčný kvantový počítač (horizont > 2030) Láme RSA / ECC v polynomiálnom čase (Shor)

2. Chránené údaje

Klasifikácia údajov a úroveň ochrany v pokoji.

Údaj Citlivosť Úložisko
Hlavné heslo používateľa Kritická Len hash Argon2id (RFC 9106)
Obsah tajomstiev (payload) Kritická Šifrovaný end-to-end (OpenPGP), server ukladá nepriehľadný blob
Súkromný kľúč OpenPGP používateľa Kritická Nikdy na serveri. Uložený lokálne, chránený passphrase používateľa
Tajomstvá TOTP v pokoji Kritická Šifrované XChaCha20-Poly1305 (kľúč mimo databázy)
Tajomstvá webhook v pokoji Kritická Šifrované XChaCha20-Poly1305 (kľúč mimo databázy)
Názvy tajomstiev a priečinkov Stredná V čistom texte na strane servera. Kompromis dokumentovaný 5.1
Auditný žurnál Vysoká Reťazec HMAC-SHA-256, tamper-evidence v O(1)

3. Hrozby a zmärnenia na povrch

3.1 Webová aplikácia SaaS

Hrozba Mitigácia Status
Hrubá sila na heslo Rate limiter 5 pokusov / 15 min na IP + Argon2id (256 MiB, 5 prechodov) - 1 s na lokálny pokus Dodané
Credential stuffing Rovnaký rate limiter + sken HIBP opt-in po prihlásení (výslovný súhlas GDPR) Dodané
Obídenie 2FA TOTP RFC 6238 s issuer pinningom + jednorazové obnovovacie kódy + WebAuthn PRF Dodané
Uložené alebo reflektované XSS Striktné CSP (script-src 'self' 'wasm-unsafe-eval'), aktivované Trusted Types, automatické escapovanie Twig Dodané
Kompromitácia závislosti OpenPGP.js Vendorovaná knižnica s odtlačkom SHA-256 overeným pri builde (manifest integrity SRI) Dodané
Phishing hlavného hesla Silná mitigácia pripravovaná: passkeys WebAuthn PRF, ktoré odstraňujú prenos hesla a sú viazané na pôvodnú doménu prehliadačom. Medzitým: školenie používateľov + UI indikátory. Pripravované

3.2 Šifrované úložisko

Hrozba Mitigácia Status
Ukradnutý dump databázy Payload šifrovaný OpenPGP E2E nečitateľný bez súkromného kľúča používateľa. Heslá v hashi Argon2id neobnoviteľné Dodané
Ukradnutá záloha Šifrované zálohy (Argon2id + ChaCha20-Poly1305), multi-príjemcové. Automatizovaný test obnovy v CI Dodané
Administrátor servera číta obsah tajomstva Nemožné bez súkromného kľúča používateľa. Server ukladá len nepriehľadné bloby Dodané
Narušenie auditného žurnálu (tampering) Reťazec HMAC-SHA-256, detekcia v O(1) pri overení. Detail reťazca Dodané

3.3 REST API

Hrozba Mitigácia Status
Únik cross-organizačných údajov Každý API token viazaný na jedinú organizáciu. Systematické filtrovanie pri každom endpointe. Explicitné izolačné testy v CI pri každom commite Dodané
Krádež API tokenu Token hashovaný Argon2id v databáze. Voľná rotácia používateľom. Minimálny rozsah (čítanie / zápis) konfigurovateľný Dodané
Aplikačný denial of service Rate limiter na token a na IP (rámec Symfony) Dodané

3.4 Rozšírenia prehliadača

Hrozba Mitigácia Status
Kompromitácia build pipeline Overenie odtlačku SHA-256 závislostí zreťazené na build. Podpísaný SBOM plánovaný Dodané
Zatvorenie popupu = dočasná strata prístupu Kompromis prvej verzie: súkromný kľúč nie je perzistovaný na obmedzenie povrchu útoku. Pripravované: parametrizovateľný auto-lock + perzistencia cez kontrolovaný service worker. Pripravované
Zachytenie prihlasovacích údajov na phishingovej stránke Používateľ vidí skutočné doménové meno v pop-upe rozšírenia pred kliknutím na „Uložiť" Dodané

3.5 Self-hostovaná infraštruktúra

Hrozba Mitigácia Status
Kompromitovaný Docker image Automatizovaný sken zraniteľností v CI. Podpis Sigstore plánovaný na overenie používateľom na strane nasadenia Prebieha
Netestovaná záloha Automatizovaný test obnovy v CI pri každom vydaní. Žiadna neoverená záloha v produkcii Dodané
mTLS v produkcii Aktivovateľné konfiguráciou. Dostupné režimy audit (len logy) a potom enforcement Dodané

4. Perimeter ochrany · predpokladané limity

Redakčná poctivosť: tu sú povrchy, ktoré {{ app_name }} nepokrýva sám, a odporúčaná zmärnenie.

Hranica Prečo Odporúčaná mitigácia
Úplná kompromitácia pracovnej stanice používateľa Malvér s prístupom k RAM prehliadača môže čítať dešifrovaný súkromný kľúč Hardvérový passkey (YubiKey, TPM), ktorý uzatvára kľúč v bezpečnostnom prvku
Kompromitácia servera ARDNTECH (root) Root útočník môže čítať aktívne HTTP relácie Uložené tajomstvá zostávajú nečitateľné (zero-knowledge). Riziku sú vystavené len relácie otvorené v čase kompromitácie. Odporúčaný krátky auto-lock
Strata hlavného hesla Priamy dôsledok striktného zero-knowledge: žiadny spôsob na strane servera obnoviť kľúč Obnovovacie kódy vytlačené pri vytvorení. Pripravované: Shamirovo zdieľanie M-z-N pre plány Enterprise
Kvantový protivník (horizont > 2030) OpenPGP v6 + AES-256 sú odhadované ako bezpečné 5 až 10 rokov podľa RGS ANSSI 2024 Post-kvantová migrácia (ML-KEM, ML-DSA) v dlhodobom hodnotení
Fyzický útok na pracovnú stanicu používateľa ARDNTECH je logický trezor, nie fyzický trezor Krátky auto-lock trezora + hardvérový passkey WebAuthn
Insider ARDNTECH (budúci zamestnanec) Prijatá hranica modelu dôvery SaaS vydavateľa NDA, oddelenie zodpovedností, povinná revízia kódu, tamper-evidentný reťazec auditu, princíp najmenšieho privilégia

5. Predpokladané kompromisky

5.1 Názvy tajomstiev a priečinkov v čistom texte na strane servera

Voľba: názvy uložené v čistom texte na strane servera.

Prečo: okamžité vyhľadávanie na strane servera, zobrazenie stromu bez dešifrovania pri každej navigácii, možné hierarchické zdieľanie priečinkov.

Dopad: útočník, ktorý exfiltruje databázu, vidí, že tajomstvo s názvom „AWS Prod" existuje v priečinku „DevOps / Cloud". NEvidí obsah (payload šifrovaný E2E).

Zvážená alternatíva: možnosť „anonymise me", ktorá šifruje aj názvy. Významný UX náklad: žiadne vyhľadávanie na strane servera, úplný klientsky sken pri každej požiadavke.

5.2 Heslo v čistom texte v DOM pri zadávaní

Voľba: OpenPGP šifruje payload potom, čo používateľ napísal svoje heslo.

Prečo: žiadna alternatíva - prehliadač musí vidieť čistý text, aby umožnil používateľovi ho zadať.

Mitigácie: Trusted Types CSP zabraňuje DOM XSS injektovať exfiltrujúci JavaScript. Pripravované: passkeys WebAuthn, ktoré úplne odstraňujú prenos hesiel.

5.3 Hlavné heslo = jediný kľúč trezora

Voľba: žiadna obnova, ak používateľ stratí súčasne svoje hlavné heslo AJ svoje obnovovacie kódy.

Prečo: striktné zero-knowledge. Ak by sme mohli obnoviť, existovala by cesta dešifrovania na strane servera.

Pripravovaná mitigácia: Shamirovo zdieľanie súkromného kľúča (M-z-N častí), jedna časť u ARDNTECH s procedurálnymi poistkami (odblokovanie len za prítomnosti N-1 ďalších častí potvrdenej používateľom). Vyhradené pre plány Enterprise.

6. Plán obnovy po incidente

Úroveň Spúšťač Akcia
L1 Podozrenie Anomália v auditnom žurnáli, hlásenie používateľa Interné vyšetrovanie do 24 h, overenie reťazca auditu
L2 Potvrdená kompromitácia Technická kompromitácia potvrdená vyšetrovaním Notifikácia používateľov do 72 h (GDPR čl. 33), rotácia dotknutých kľúčov, zavedenie mitigácií
L3 Veľká kompromitácia Kompromitovaná databáza alebo zdrojový kód Notifikácia CNIL a ANSSI, verejná správa o transparentnosti, externý forenzný audit

Zodpovedné zverejňovanie: V súlade s RFC 9116 súbor /.well-known/security.txt v koreni webu uvádza našu kontaktnú adresu security@aegirex.eu. Lehota potvrdenia prijatia: 72 h.

Objasnite dokument?

Tento threat model je živý dokument. Ak ste CISO, audítor alebo bezpečnostný výskumník a nejaká hrozba je zle modelovaná, kontaktujte nás priamo.