Whitepaper su sicurezza e privacy (panoramica)Capitolo 9

Capitolo 9 Sicurezza web e isolamento del client

Il livello web è la superficie più esposta. Questo capitolo definisce la postura di sicurezza web di base di FileBolt: CSP e intestazioni rigorose, nessuno script di terze parti sulle pagine sensibili e misure difensive contro l'iniezione e l'abuso dell'interfaccia.

9.1 Minacce

  • XSS, iniezione nel DOM, script della supply chain, clickjacking e attacchi UI redress.
  • Prompt injection o raggiri dell'interfaccia per indurre gli utenti a rivelare link o segreti.
  • Furto di token tramite archiviazione non sicura o fuga di informazioni dal referrer.

9.2 Isolamento delle pagine

  • Le pagine sensibili (download e decrittazione) DOVREBBERO evitare script di terze parti e ridurre al minimo le dipendenze.
  • L'isolamento cross-origin PUÒ essere usato quando serve per funzionalità di prestazioni o sicurezza, ma DEVE restare compatibile.
  • Le pagine DOVREBBERO applicare policy rigorose sul referrer per evitare la fuga degli URL.

9.3 Difese contro l'iniezione / protezione dagli abusi dell'interfaccia

  • Tutto l'input non attendibile DEVE essere sottoposto a escape o sanificazione prima di essere inserito nel DOM.
  • Non renderizzare HTML non attendibile. Preferisci il rendering come testo e template sicuri.
  • Dove esistono nomi o metadati controllati dall'utente, imponi limiti di lunghezza e restrizioni sui caratteri.

9.4 Intestazioni di sicurezza e policy del browser

9.4.1 Intestazioni consigliate (a titolo illustrativo)

  • Content-Security-Policy con un script-src restrittivo e un connect-src appropriato.
  • Referrer-Policy: no-referrer oppure strict-origin-when-cross-origin, a seconda dei requisiti della pagina.
  • X-Content-Type-Options: nosniff, Permissions-Policy e HSTS (vedi il capitolo 5).

9.5 Prove verificabili

  • I link pubblici ai report di terze parti sono raccolti in /status.
  • Le prove riguardano la postura di sicurezza web di base (TLS, intestazioni); le affermazioni zero-knowledge a livello di protocollo si fondano su vincoli di progettazione e su ID delle affermazioni.