Ресурси
Симулатор Журнал Речник Разширения Доверие Статус на услугата КонтактСмяна на езика
Това, което защитаваме, срещу кого, как, и това, което <em>не</em> защитаваме. По-добре назован периметър, отколкото скрити обещания.
Версия v1.0 · преработена на {{ "now"|date("d/m/Y") }} · преработвана при всяко основно издание.
Методология: STRIDE (Spoofing / Tampering / Repudiation / Information disclosure / Denial of service / Elevation of privilege), приложена към пет повърхности на продукта. Всеки ред : заплаха - смекчаване ARDNTECH - поет trade-off.
Документ, предназначен за CISO, одитори и изследователи по сигурност. Изходният код AGPL е публичен на github.com/aegirex/server. Подробните оперативни runbook-ове остават запазени за design partners под NDA.
Деветте профила на нападател, взети предвид в модела.
| Актьор | Описание | Възможности |
|---|---|---|
| Външен нападател | Интернет, никакъв първоначален достъп | Brute force, phishing, уеб exploits, мрежов MITM |
| Phish-нат потребител | Потребител, цел на клониран сайт | Подава своите credentials на домейн на нападател |
| Злонамерен co-tenant | Потребител на друга организация ARDNTECH | Опитва се да чете тайните на съседни организации |
| Компрометиран браузър | Браузър, заразен с malware или злонамерено разширение | Достъп до DOM, може да чете полетата за въвеждане |
| Администратор на сървъра | Инфраструктурен оператор със SSH достъп до сървъра | Чете базата данни, чете паметта, променя кода |
| Ексфилтриране на база данни | Откраднат backup, изтекъл SQL dump | Пълен snapshot на базата данни |
| Съдебен орган | Законна реквизиция, административен мандат | Принуждава хостинг доставчика да предостави съхранените данни |
| Insider ARDNTECH | Бъдещ служител или доставчик на ARDNTECH | Преглед на кода, достъп до внедряване, четене на логовете |
| Квантов противник | Оперативен квантов компютър (хоризонт > 2030) | Чупи RSA / ECC за полиномиално време (Shor) |
Класификация на данните и ниво на защита в покой.
| Данна | Чувствителност | Съхранение |
|---|---|---|
| Главна парола на потребителя | Критична | Само Argon2id хеш (RFC 9106) |
| Съдържание на тайните (payload) | Критична | Криптирано от край до край (OpenPGP), сървърът съхранява непрозрачен blob |
| Частен ключ OpenPGP на потребителя | Критична | Никога на сървъра. Съхраняван локално, защитен с потребителска passphrase |
| TOTP тайни в покой | Критична | Криптирани XChaCha20-Poly1305 (ключ извън базата данни) |
| Webhook тайни в покой | Критична | Криптирани XChaCha20-Poly1305 (ключ извън базата данни) |
| Имена на тайни и папки | Умерена | В явен вид от страна на сървъра. Trade-off, документиран 5.1 |
| Одит журнал | Висока | HMAC-SHA-256 верига, tamper-evidence за O(1) |
| Заплаха | Смекчаване | Статус |
|---|---|---|
| Brute force върху паролата | Rate limiter 5 опита / 15 мин на IP + Argon2id (256 MiB, 5 passes) - 1 s на локален опит | Доставено |
| Credential stuffing | Същият rate limiter + HIBP сканиране opt-in след влизане (изрично GDPR съгласие) | Доставено |
| Заобикаляне на 2FA | TOTP RFC 6238 с issuer pinning + кодове за възстановяване за еднократна употреба + WebAuthn PRF | Доставено |
| Съхранен или отразен XSS | Строга CSP (script-src 'self' 'wasm-unsafe-eval'), активирани Trusted Types, автоматично екраниране Twig | Доставено |
| Компрометиране на зависимостта OpenPGP.js | Vendor-ната библиотека с SHA-256 отпечатък, проверен при build (SRI манифест за интегритет) | Доставено |
| Phishing на главната парола | Силно смекчаване, предстоящо : passkeys WebAuthn PRF, които премахват предаването на паролата и са свързани с домейна на произход от браузъра. Междувременно : обучение на потребителите + UI индикатори. | Предстои |
| Заплаха | Смекчаване | Статус |
|---|---|---|
| Откраднат dump на базата данни | OpenPGP E2E криптиран payload, нечетим без частния ключ на потребителя. Паролите в Argon2id хеш, невъзстановими | Доставено |
| Откраднат backup | Криптирани backup-и (Argon2id + ChaCha20-Poly1305), много получатели. Автоматизиран тест за възстановяване в CI | Доставено |
| Администратор на сървъра чете съдържанието на тайна | Невъзможно без частния ключ на потребителя. Сървърът съхранява само непрозрачни blob-ове | Доставено |
| Промяна на одит журнала (tampering) | HMAC-SHA-256 верига, откриване за O(1) при проверка. Подробности за веригата | Доставено |
| Заплаха | Смекчаване | Статус |
|---|---|---|
| Изтичане на данни между организации | Всеки API токен, свързан с уникална организация. Систематично филтриране на всеки endpoint. Изрични тестове за изолация в CI при всеки commit | Доставено |
| Кражба на API токен | Argon2id хеширан токен в базата. Свободна ротация от потребителя. Конфигурируем минимален обхват (четене / писане) | Доставено |
| Отказ на услуга на приложението | Rate limiter на токен и на IP (рамка Symfony) | Доставено |
| Заплаха | Смекчаване | Статус |
|---|---|---|
| Компрометиране на build pipeline-а | Проверка на SHA-256 отпечатъка на зависимостите, верижена към build-а. Планиран подписан SBOM | Доставено |
| Затваряне на popup-а = временна загуба на достъп | Trade-off на първата версия : частният ключ не се персистира, за да се ограничи повърхността на атака. Предстои : конфигурируем auto-lock + персистенция чрез контролиран service worker. | Предстои |
| Прихващане на credentials на phishing сайт | Потребителят вижда реалното име на домейна в pop-up-а на разширението, преди да кликне върху « Запази » | Доставено |
| Заплаха | Смекчаване | Статус |
|---|---|---|
| Компрометиран Docker образ | Автоматизирано сканиране на уязвимости в CI. Планиран Sigstore подпис за потребителска проверка от страна на внедряването | В ход |
| Нетестван backup | Автоматизиран тест за възстановяване в CI при всяко издание. Без непроверен backup в продукция | Доставено |
| mTLS в продукция | Може да се активира чрез конфигурация. Налични режими одит (само логове), после enforcement | Доставено |
Редакционна честност : ето повърхностите, които ARDNTECH не покрива сам, и препоръчаното смекчаване.
| Ограничение | Защо | Препоръчано смекчаване |
|---|---|---|
| Пълно компрометиране на работната станция на потребителя | Malware с достъп до RAM-а на браузъра може да прочете дешифрирания частен ключ | Хардуерен passkey (YubiKey, TPM), който затваря ключа в защитен елемент |
| Компрометиране на сървъра ARDNTECH (root) | Root нападател може да чете активните HTTP сесии | Съхранените тайни остават нечетими (zero-knowledge). Само сесиите, отворени в момента на компрометирането, са изложени на риск. Препоръчва се кратък auto-lock |
| Загуба на главната парола | Пряка последица от строгия zero-knowledge : никакъв начин от страна на сървъра за възстановяване на ключа | Кодове за възстановяване, отпечатани при създаване. Предстои : споделяне Shamir M-от-N за плановете Enterprise |
| Квантов противник (хоризонт > 2030) | OpenPGP v6 + AES-256 са оценени като сигурни 5 до 10 години според RGS ANSSI 2024 | Постквантова миграция (ML-KEM, ML-DSA) в дългосрочна оценка |
| Физическа атака върху работната станция на потребителя | ARDNTECH е логическо хранилище, не физическо | Кратък auto-lock на хранилището + хардуерен passkey WebAuthn |
| Insider ARDNTECH (бъдещ служител) | Поето ограничение на модела на доверие на SaaS издател | NDA, разделение на отговорностите, задължителен преглед на кода, tamper-evident одит верига, принцип на най-малката привилегия |
Избор : имена, съхранявани в явен вид от страна на сървъра.
Защо : незабавно търсене от страна на сървъра, показване на дървовидната структура без дешифриране при всяка навигация, възможно йерархично споделяне на папки.
Въздействие : нападател, който ексфилтрира базата данни, вижда, че тайна, наречена « AWS Prod », съществува в папката « DevOps / Cloud ». Той НЕ вижда съдържанието (E2E криптиран payload).
Разгледана алтернатива : опция « anonymise me », която криптира също имената. Значителна UX цена : без търсене от страна на сървъра, пълно клиентско сканиране при всяка заявка.
Избор : OpenPGP криптира payload-а, след като потребителят е въвел своята парола.
Защо : без алтернатива - браузърът трябва да вижда явния вид, за да позволи на потребителя да го въведе.
Смекчавания : Trusted Types CSP предотвратява DOM XSS да инжектира ексфилтриращ JavaScript. Предстои : passkeys WebAuthn, които напълно премахват предаването на пароли.
Избор : без възстановяване, ако потребителят загуби едновременно своята главна парола И своите кодове за възстановяване.
Защо : строг zero-knowledge. Ако можехме да възстановим, щеше да има път за дешифриране от страна на сървъра.
Предстоящо смекчаване : споделяне Shamir на частния ключ (M-от-N части), една част при ARDNTECH с процедурни предпазители (отключване само при наличие на N-1 други части, валидирано от потребителя). Запазено за плановете Enterprise.
| Ниво | Задействащ фактор | Действие |
|---|---|---|
| L1 Подозрение | Аномалия в одит журнала, потребителско сигнализиране | Вътрешно разследване до 24 ч, проверка на одит веригата |
| L2 Потвърдено компрометиране | Техническо компрометиране, потвърдено от разследването | Уведомление до потребителите до 72 ч (GDPR чл. 33), ротация на засегнатите ключове, въвеждане на смекчавания |
| L3 Голямо компрометиране | Компрометирана база данни или изходен код | Уведомление до CNIL и ANSSI, публичен transparency report, външен форензичен одит |
Отговорно разкриване: В съответствие с RFC 9116, файл /.well-known/security.txt в корена на сайта посочва нашия адрес за контакт security@aegirex.eu. Срок за потвърждение на получаване : 72 ч.
Този threat model е жив документ. Ако сте CISO, одитор или изследовател по сигурност и някоя заплаха е лошо моделирана, свържете се с нас директно.