Resursi
Simulator Dnevnik Pojmovnik Proširenja Povjerenje Status usluge KontaktPromjena jezika
Ono što štitimo, protiv koga, kako, i ono što <em>ne</em> štitimo. Bolji je imenovan perimetar nego skrivena obećanja.
Verzija v1.0 · revidirana {{ "now"|date("d/m/Y") }} · revidira se pri svakom značajnom izdanju.
Metodologija: STRIDE (Spoofing / Tampering / Repudiation / Information disclosure / Denial of service / Elevation of privilege) primijenjen na pet površina proizvoda. Svaki redak: prijetnja - ARDNTECH ublažavanje - prihvaćeni kompromis.
Dokument namijenjen CISO-ima, revizorima i sigurnosnim istraživačima. Izvorni AGPL kod javan je na github.com/aegirex/server. Detaljni operativni runbookovi ostaju rezervirani za design partnere pod NDA-om.
Devet profila napadača uzetih u obzir u modelu.
| Akter | Opis | Sposobnosti |
|---|---|---|
| Vanjski napadač | Internet, bez početnog pristupa | Brute force, phishing, web exploiti, mrežni MITM |
| Phishani korisnik | Korisnik meta klonirane stranice | Predaje svoje vjerodajnice napadačevoj domeni |
| Zlonamjerni suzakupnik | Korisnik druge ARDNTECH organizacije | Pokušava čitati tajne susjednih organizacija |
| Kompromitiran preglednik | Preglednik zaražen zlonamjernim softverom ili zlonamjernom ekstenzijom | Pristup DOM-u, može čitati polja za unos |
| Administrator poslužitelja | Operater infrastrukture s SSH pristupom poslužitelju | Čita bazu podataka, čita memoriju, mijenja kod |
| Eksfiltracija baze podataka | Ukradeni backup, procurio SQL dump | Potpun snapshot baze podataka |
| Pravosudno tijelo | Zakonski zahtjev, upravni nalog | Prisiljava hosta da dostavi pohranjene podatke |
| Insider ARDNTECH | Budući zaposlenik ili podizvođač ARDNTECH | Revizija koda, pristup postavljanju, čitanje logova |
| Kvantni protivnik | Operativno kvantno računalo (horizont > 2030) | Lomi RSA / ECC u polinomnom vremenu (Shor) |
Klasifikacija podataka i razina zaštite u mirovanju.
| Podatak | Osjetljivost | Pohrana |
|---|---|---|
| Glavna lozinka korisnika | Kritično | Samo Argon2id hash (RFC 9106) |
| Sadržaj tajni (payload) | Kritično | Šifrirano od početka do kraja (OpenPGP), poslužitelj pohranjuje neproziran blob |
| Privatni OpenPGP ključ korisnika | Kritično | Nikada na poslužitelju. Pohranjen lokalno, zaštićen korisničkom passphrase |
| TOTP tajne u mirovanju | Kritično | Šifrirane XChaCha20-Poly1305 (ključ izvan baze podataka) |
| Webhook tajne u mirovanju | Kritično | Šifrirane XChaCha20-Poly1305 (ključ izvan baze podataka) |
| Nazivi tajni i mapa | Umjerena | U čistom obliku na strani poslužitelja. Kompromis dokumentiran 5.1 |
| Revizijski dnevnik | Visoka | HMAC-SHA-256 lanac, tamper-evidence u O(1) |
| Prijetnja | Ublažavanje | Status |
|---|---|---|
| Brute force na lozinku | Rate limiter 5 pokušaja / 15 min po IP-u + Argon2id (256 MiB, 5 prolaza) - 1 s po lokalnom pokušaju | Isporučeno |
| Credential stuffing | Isti rate limiter + HIBP opt-in skeniranje nakon prijave (eksplicitni GDPR pristanak) | Isporučeno |
| Zaobilaženje 2FA | TOTP RFC 6238 s issuer pinningom + jednokratni kodovi za oporavak + WebAuthn PRF | Isporučeno |
| Pohranjeni ili reflektirani XSS | Stroga CSP (script-src 'self' 'wasm-unsafe-eval'), Trusted Types omogućeni, automatsko Twig escapanje | Isporučeno |
| Kompromitacija OpenPGP.js ovisnosti | Vendorirana biblioteka s SHA-256 otiskom provjerenim pri buildu (SRI manifest integriteta) | Isporučeno |
| Phishing glavne lozinke | Snažno ublažavanje uskoro: WebAuthn PRF passkeyji, koji uklanjaju prijenos lozinke i koje preglednik veže uz izvornu domenu. U međuvremenu: obuka korisnika + UI indikatori. | Uskoro |
| Prijetnja | Ublažavanje | Status |
|---|---|---|
| Ukraden dump baze podataka | OpenPGP E2E šifriran payload nečitljiv bez korisnikovog privatnog ključa. Lozinke u Argon2id hashu nepovrative | Isporučeno |
| Ukraden backup | Šifrirani backupovi (Argon2id + ChaCha20-Poly1305), za više primatelja. Automatizirani test vraćanja u CI-ju | Isporučeno |
| Administrator poslužitelja čita sadržaj tajne | Nemoguće bez korisnikovog privatnog ključa. Poslužitelj pohranjuje samo neprozirne blobove | Isporučeno |
| Izmjena revizijskog dnevnika (tampering) | HMAC-SHA-256 lanac, otkrivanje u O(1) pri provjeri. Detalj lanca | Isporučeno |
| Prijetnja | Ublažavanje | Status |
|---|---|---|
| Curenje cross-org podataka | Svaki API token vezan uz jedinstvenu organizaciju. Sustavno filtriranje na svakom endpointu. Eksplicitni testovi izolacije u CI-ju pri svakom commitu | Isporučeno |
| Krađa API tokena | Token hashiran Argon2id-om u bazi. Slobodna rotacija od strane korisnika. Minimalni scope (čitanje / pisanje) konfigurabilan | Isporučeno |
| Aplikacijsko uskraćivanje usluge | Rate limiter po tokenu i po IP-u (Symfony okvir) | Isporučeno |
| Prijetnja | Ublažavanje | Status |
|---|---|---|
| Kompromitacija build pipelinea | Provjera SHA-256 otiska ovisnosti lančana uz build. Planiran potpisan SBOM | Isporučeno |
| Zatvaranje popupa = privremeni gubitak pristupa | Kompromis prve verzije: privatni ključ ne perzistira radi ograničenja napadne površine. Uskoro: konfigurabilan auto-lock + perzistencija putem kontroliranog service workera. | Uskoro |
| Hvatanje vjerodajnica na phishing stranici | Korisnik vidi stvarni naziv domene u popupu ekstenzije prije klika na "Spremi" | Isporučeno |
| Prijetnja | Ublažavanje | Status |
|---|---|---|
| Kompromitirana Docker slika | Automatizirano skeniranje ranjivosti u CI-ju. Planiran Sigstore potpis za korisničku provjeru na strani postavljanja | U tijeku |
| Netestiran backup | Automatizirani test vraćanja u CI-ju na svakom izdanju. Bez neprovjerenog backupa u produkciji | Isporučeno |
| mTLS u produkciji | Omogućivo konfiguracijom. Dostupni modovi audit (samo logovi) pa enforcement | Isporučeno |
Urednička iskrenost: evo površina koje ARDNTECH ne pokriva sam, i preporučeno ublažavanje.
| Ograničenje | Zašto | Preporučeno ublažavanje |
|---|---|---|
| Potpuna kompromitacija korisnikovog uređaja | Zlonamjerni softver s pristupom RAM-u preglednika može pročitati dešifrirani privatni ključ | Hardverski passkey (YubiKey, TPM) koji zatvara ključ u sigurnosni element |
| Kompromitacija ARDNTECH poslužitelja (root) | Root napadač može čitati aktivne HTTP sesije | Pohranjene tajne ostaju nečitljive (zero-knowledge). U riziku su samo sesije otvorene u trenutku kompromitacije. Preporučuje se kratak auto-lock |
| Gubitak glavne lozinke | Izravna posljedica strogog zero-knowledgea: nema načina na strani poslužitelja za povrat ključa | Kodovi za oporavak ispisani pri stvaranju. Uskoro: Shamir dijeljenje M-od-N za Enterprise planove |
| Kvantni protivnik (horizont > 2030) | OpenPGP v6 + AES-256 procijenjeni su sigurnima 5 do 10 godina prema ANSSI RGS 2024 | Post-kvantna migracija (ML-KEM, ML-DSA) u dugoročnoj procjeni |
| Fizički napad na korisnikov uređaj | ARDNTECH je logički trezor, a ne fizički sef | Kratak auto-lock trezora + hardverski WebAuthn passkey |
| Insider ARDNTECH (budući zaposlenik) | Prihvaćeno ograničenje modela povjerenja SaaS izdavača | NDA, razdvajanje odgovornosti, obvezna revizija koda, tamper-evident revizijski lanac, načelo najmanje privilegije |
Izbor: nazivi pohranjeni u čistom obliku na strani poslužitelja.
Zašto: trenutačno pretraživanje na strani poslužitelja, prikaz stabla bez dešifriranja pri svakoj navigaciji, moguće hijerarhijsko dijeljenje mapa.
Učinak: napadač koji eksfiltrira bazu podataka vidi da tajna nazvana "AWS Prod" postoji u mapi "DevOps / Cloud". NE vidi sadržaj (E2E šifriran payload).
Razmotrena alternativa: opcija "anonymise me" koja šifrira i nazive. Značajan UX trošak: bez pretraživanja na strani poslužitelja, potpuno klijentsko skeniranje pri svakom zahtjevu.
Izbor: OpenPGP šifrira payload nakon što korisnik upiše svoju lozinku.
Zašto: bez alternative - preglednik mora vidjeti čisti oblik da omogući korisniku unos.
Ublažavanja: Trusted Types CSP sprječava DOM XSS da ubaci JavaScript koji eksfiltrira. Uskoro: WebAuthn passkeyji koji potpuno uklanjaju prijenos lozinki.
Izbor: bez oporavka ako korisnik izgubi i svoju glavnu lozinku I svoje kodove za oporavak.
Zašto: strogi zero-knowledge. Kad bismo mogli povratiti, postojao bi put dešifriranja na strani poslužitelja.
Ublažavanje uskoro: Shamir dijeljenje privatnog ključa (M-od-N dijelova), jedan dio kod Aegirexa s proceduralnim zaštitnim mehanizmima (otključavanje samo uz prisutnost N-1 drugih dijelova koju je korisnik potvrdio). Rezervirano za Enterprise planove.
| Razina | Okidač | Radnja |
|---|---|---|
| L1 Sumnja | Anomalija u revizijskom dnevniku, prijava korisnika | Interna istraga u roku od 24 h, provjera revizijskog lanca |
| L2 Potvrđena kompromitacija | Tehnička kompromitacija potvrđena istragom | Obavijest korisnicima u roku od 72 h (GDPR čl. 33), rotacija pogođenih ključeva, postavljanje ublažavanja |
| L3 Velika kompromitacija | Kompromitirana baza podataka ili izvorni kod | CNIL i ANSSI obavijest, javno izvješće o transparentnosti, vanjska forenzička revizija |
Odgovorno otkrivanje: Sukladno RFC-u 9116, datoteka /.well-known/security.txt u korijenu web-mjesta navodi našu adresu za kontakt security@aegirex.eu. Rok za potvrdu primitka: 72 h.
Ovaj model prijetnje je živi dokument. Ako ste CISO, revizor ili sigurnosni istraživač i neka je prijetnja loše modelirana, kontaktirajte nas izravno.