Resurssit
Simulaattori Päiväkirja Sanasto Laajennukset Luottamus Palvelun tila YhteystiedotVaihda kieltä
Mitä me suojaamme, ketä vastaan, miten, ja mitä me <em>emme</em> suojaa. Nimetty soveltamisala on parempi kuin piilotetut lupaukset.
Versio v1.0 · tarkistettu {{ "now"|date("d/m/Y") }} · tarkistetaan jokaisen suuren julkaisun yhteydessä.
Menetelmä: STRIDE (Spoofing / Tampering / Repudiation / Information disclosure / Denial of service / Elevation of privilege) sovellettuna tuotteen viiteen pintaan. Jokainen rivi : uhka - Aegirexin lievennys - tietoisesti tehty kompromissi.
Asiakirja on tarkoitettu tietoturvajohtajille, auditoijille ja tietoturvatutkijoille. AGPL-lähdekoodi on julkinen osoitteessa github.com/aegirex/server. Yksityiskohtaiset operatiiviset runbookit pysyvät varattuina design partner -kumppaneille NDA:n alaisuudessa.
Mallissa huomioidut yhdeksän hyökkääjäprofiilia.
| Toimija | Kuvaus | Kyvyt |
|---|---|---|
| Ulkoinen hyökkääjä | Internet, ei alkuperäistä pääsyä | Raaka voima, tietojenkalastelu, web-hyödyntämisohjelmat, verkon MITM |
| Kalastelun kohteeksi joutunut käyttäjä | Klooni-sivuston kohteeksi joutunut käyttäjä | Lähettää tunnustietonsa hyökkääjän verkkotunnukseen |
| Pahantahtoinen samanvuokralainen | Toisen ARDNTECH-organisaation käyttäjä | Yrittää lukea naapuriorganisaatioiden salaisuuksia |
| Vaarantunut selain | Haittaohjelman tai pahantahtoisen laajennuksen saastuttama selain | Pääsy DOMiin, voi lukea syöttökenttä |
| Palvelimen ylläpitäjä | Infrastruktuurin operaattori, jolla on SSH-pääsy palvelimelle | Lukee tietokannan, lukee muistin, muokkaa koodia |
| Tietokannan eksfiltraatio | Varastettu varmuuskopio, vuotanut SQL-dump | Tietokannan täydellinen tilannevedos |
| Oikeusviranomainen | Laillinen pyyntö, hallinnollinen määräys | Pakottaa isännöitsijän toimittamaan tallennetut tiedot |
| Aegirexin sisäpiiriläinen | ARDNTECH:n tuleva työntekijä tai palveluntarjoaja | Koodikatselmointi, käyttöönottopääsy, lokien lukeminen |
| Kvanttivastustaja | Toimiva kvanttitietokone (näköpiiri > 2030) | Murtaa RSA / ECC polynomisessa ajassa (Shor) |
Tietojen luokittelu ja suojaustaso lepotilassa.
| Tieto | Arkaluonteisuus | Tallennus |
|---|---|---|
| Käyttäjän pääsalasana | Kriittinen | Vain Argon2id-tiiviste (RFC 9106) |
| Salaisuuksien sisältö (payload) | Kriittinen | Salattu päästä päähän (OpenPGP), palvelin tallentaa läpäisemättömän blobin |
| Käyttäjän yksityinen OpenPGP-avain | Kriittinen | Ei koskaan palvelimella. Tallennettu paikallisesti, suojattu käyttäjän salalauseella |
| TOTP-salaisuudet lepotilassa | Kriittinen | Salattu XChaCha20-Poly1305 (avain tietokannan ulkopuolella) |
| Webhook-salaisuudet lepotilassa | Kriittinen | Salattu XChaCha20-Poly1305 (avain tietokannan ulkopuolella) |
| Salaisuuksien ja kansioiden nimet | Kohtalainen | Selväkielisenä palvelimen puolella. Dokumentoitu kompromissi 5.1 |
| Auditointiloki | Korkea | HMAC-SHA-256-ketju, peukaloinnin osoitus O(1):ssä |
| Uhka | Lievennys | Tila |
|---|---|---|
| Raaka voima salasanaan | Nopeusrajoitin 5 yritystä / 15 min per IP + Argon2id (256 MiB, 5 kierrosta) - 1 s per paikallinen yritys | Toimitettu |
| Credential stuffing | Sama nopeusrajoitin + HIBP-skannaus opt-in kirjautumisen jälkeen (nimenomainen GDPR-suostumus) | Toimitettu |
| 2FA:n ohitus | TOTP RFC 6238 issuer pinning -toiminnolla + kertakäyttöiset palautuskoodit + WebAuthn PRF | Toimitettu |
| Tallennettu tai heijastettu XSS | Tiukka CSP (script-src 'self' 'wasm-unsafe-eval'), Trusted Types käytössä, automaattinen Twig-escape | Toimitettu |
| OpenPGP.js-riippuvuuden vaarantuminen | Vendoroitu kirjasto, jonka SHA-256-tiiviste varmennetaan buildissa (SRI-eheysmanifesti) | Toimitettu |
| Pääsalasanan tietojenkalastelu | Vahva lievennys tulossa : WebAuthn PRF -pääsykoodit, jotka poistavat salasanan välittymisen ja jotka selain sitoo alkuperäiseen verkkotunnukseen. Sitä odotellessa : käyttäjäkoulutus + käyttöliittymän ilmaisimet. | Tulossa |
| Uhka | Lievennys | Tila |
|---|---|---|
| Varastettu tietokannan dump | OpenPGP E2E -salattu payload on lukukelvoton ilman käyttäjän yksityistä avainta. Salasanat Argon2id-tiivisteenä, joita ei voi palauttaa | Toimitettu |
| Varastettu varmuuskopio | Salatut varmuuskopiot (Argon2id + ChaCha20-Poly1305), monivastaanottaja. Automatisoitu palautustesti CI:ssä | Toimitettu |
| Palvelimen ylläpitäjä lukee salaisuuden sisällön | Mahdotonta ilman käyttäjän yksityistä avainta. Palvelin tallentaa vain läpäisemättömiä blobeja | Toimitettu |
| Auditointilokin muuttaminen (tampering) | HMAC-SHA-256-ketju, havainnointi O(1):ssä varmennuksen yhteydessä. Ketjun yksityiskohdat | Toimitettu |
| Uhka | Lievennys | Tila |
|---|---|---|
| Organisaatioiden välinen tietovuoto | Jokainen API-token sidottu yksilölliseen organisaatioon. Järjestelmällinen suodatus jokaisessa endpointissa. Eksplisiittiset eristystestit CI:ssä jokaisen commitin yhteydessä | Toimitettu |
| API-tokenin varkaus | Token Argon2id-tiivisteenä tietokannassa. Käyttäjän vapaa rotaatio. Konfiguroitava minimaalinen scope (luku / kirjoitus) | Toimitettu |
| Sovelluksen palvelunesto | Nopeusrajoitin tokenia ja IP:tä kohden (Symfony-kehys) | Toimitettu |
| Uhka | Lievennys | Tila |
|---|---|---|
| Build-putken vaarantuminen | Riippuvuuksien SHA-256-tiivisteen varmennus ketjutettuna buildiin. Allekirjoitettu SBOM suunnitteilla | Toimitettu |
| Ponnahdusikkunan sulkeminen = väliaikainen pääsyn menetys | Ensimmäisen version kompromissi : yksityistä avainta ei pysytä hyökkäyspinnan rajoittamiseksi. Tulossa : konfiguroitava automaattilukitus + pysyvyys hallitun service workerin kautta. | Tulossa |
| Tunnustietojen kaappaus kalastelusivustolla | Käyttäjä näkee todellisen verkkotunnuksen laajennuksen ponnahdusikkunassa ennen kuin napsauttaa «Tallenna» | Toimitettu |
| Uhka | Lievennys | Tila |
|---|---|---|
| Vaarantunut Docker-kuva | Automatisoitu haavoittuvuusskannaus CI:ssä. Sigstore-allekirjoitus suunnitteilla käyttäjän varmennusta varten käyttöönoton puolella | Käynnissä |
| Testaamaton varmuuskopio | Automatisoitu palautustesti CI:ssä jokaisessa julkaisussa. Ei varmentamattomia varmuuskopioita tuotannossa | Toimitettu |
| mTLS tuotannossa | Aktivoitavissa konfiguraation kautta. Audit-tilat (vain lokit) ja sitten enforcement saatavilla | Toimitettu |
Toimituksellinen rehellisyys : tässä ovat pinnat, joita ARDNTECH ei kata yksin, ja suositeltu lievennys.
| Rajoitus | Miksi | Suositeltu lievennys |
|---|---|---|
| Käyttäjän työaseman täydellinen vaarantuminen | Haittaohjelma, jolla on pääsy selaimen RAM-muistiin, voi lukea puretun yksityisen avaimen | Laitteistollinen pääsykoodi (YubiKey, TPM), joka eristää avaimen suojattuun elementtiin |
| ARDNTECH-palvelimen vaarantuminen (root) | Root-hyökkääjä voi lukea aktiiviset HTTP-istunnot | Tallennetut salaisuudet pysyvät lukukelvottomina (zero-knowledge). Vain vaarantumishetkellä avoinna olevat istunnot ovat vaarassa. Lyhyt automaattilukitus suositeltavaa |
| Pääsalasanan menetys | Suora seuraus tiukasta zero-knowledge-periaatteesta : palvelimen puolella ei ole mitään keinoa palauttaa avainta | Luonnin yhteydessä tulostetut palautuskoodit. Tulossa : Shamir M/N -jako Enterprise-tilauksille |
| Kvanttivastustaja (näköpiiri > 2030) | OpenPGP v6 + AES-256 arvioidaan turvallisiksi 5 : 10 vuotta ANSSI:n RGS 2024 -ohjeen mukaan | Kvanttiturvallinen migraatio (ML-KEM, ML-DSA) pitkän aikavälin arvioinnissa |
| Fyysinen hyökkäys käyttäjän työasemaan | ARDNTECH on looginen holvi, ei fyysinen kassakaappi | Holvin lyhyt automaattilukitus + laitteistollinen WebAuthn-pääsykoodi |
| Aegirexin sisäpiiriläinen (tuleva työntekijä) | SaaS-julkaisijan luottamusmallin tietoisesti hyväksytty rajoitus | NDA, vastuiden eriyttäminen, pakollinen koodikatselmointi, peukalointia ilmaiseva auditointiketju, vähimmän etuoikeuden periaate |
Valinta : nimet tallennettu selväkielisenä palvelimen puolella.
Miksi : välitön palvelinpuolen haku, puurakenteen näyttäminen ilman salauksen purkua jokaisen navigoinnin yhteydessä, kansioiden hierarkkinen jakaminen mahdollista.
Vaikutus : hyökkääjä, joka eksfiltroi tietokannan, näkee, että kansiossa «DevOps / Cloud» on olemassa «AWS Prod»-niminen salaisuus. Hän EI näe sisältöä (E2E-salattu payload).
Harkittu vaihtoehto : «anonymise me»-vaihtoehto, joka salaa myös nimet. Merkittävä UX-kustannus : ei palvelinpuolen hakua, täydellinen asiakaspuolen skannaus jokaisen pyynnön yhteydessä.
Valinta : OpenPGP salaa payloadin sen jälkeen, kun käyttäjä on kirjoittanut salasanansa.
Miksi : ei vaihtoehtoa, selaimen on nähtävä selväkielinen teksti, jotta käyttäjä voi syöttää sen.
Lievennykset : Trusted Types CSP estää DOM XSS:ää lisäämästä eksfiltroivaa JavaScriptiä. Tulossa : WebAuthn-pääsykoodit, jotka poistavat salasanojen välittymisen kokonaan.
Valinta : ei palautusta, jos käyttäjä menettää sekä pääsalasanansa ETTÄ palautuskoodinsa.
Miksi : tiukka zero-knowledge. Jos voisimme palauttaa, palvelimen puolella olisi salauksen purkupolku.
Tulossa oleva lievennys : yksityisen avaimen Shamir-jako (M/N osaa), yksi osa Aegirexillä menettelyllisin suojakeinoin (avaaminen vain käyttäjän vahvistamien N-1 muun osan läsnäollessa). Varattu Enterprise-tilauksille.
| Taso | Laukaisija | Toimenpide |
|---|---|---|
| L1 Epäily | Poikkeama auditointilokissa, käyttäjän ilmoitus | Sisäinen tutkinta 24 h:n sisällä, auditointiketjun varmennus |
| L2 Vahvistettu vaarantuminen | Tutkinnan vahvistama tekninen vaarantuminen | Käyttäjille ilmoitus 72 h:n sisällä (GDPR art. 33), vaarantuneiden avainten rotaatio, lievennysten käyttöönotto |
| L3 Vakava vaarantuminen | Tietokanta tai lähdekoodi vaarantunut | Ilmoitus CNIL:lle ja ANSSI:lle, julkinen läpinäkyvyysraportti, ulkoinen forensinen auditointi |
Vastuullinen julkistaminen: RFC 9116:n mukaisesti sivuston juuressa oleva tiedosto /.well-known/security.txt ilmoittaa yhteysosoitteemme security@aegirex.eu. Vastaanottokuittauksen määräaika : 72 h.
Tämä uhkamalli on elävä asiakirja. Jos olet tietoturvajohtaja, auditoija tai tietoturvatutkija ja jokin uhka on mallinnettu virheellisesti, ota meihin suoraan yhteyttä.