Would it be possible to have a javascript observatory and stricter CSP (Content Security Policy)... similar to EFF's SSL observatory
Penso che devi prima decidere quale tipo di attacchi vuoi proteggere. L'utente malintenzionato potrà sostituire il contenuto di siti di terze parti inclusi nel sito principale (ad es. Jquery.org) o sarà in grado di modificare anche il sito principale?
Se l'attaccante è solo in grado di compromettere i lati di terzi, potrebbe funzionare un CSP rigoroso e qualcosa come un osservatorio JavaScript, perché proibisci l'inclusione di script di terze parti o limitalo a uno script ben noto (vedi anche hash per script-src implementati in Chrome 46).
Ma se l'hacker è anche in grado di modificare il contenuto del sito principale, questo approccio probabilmente aiuterà solo per i pochi siti che non hanno script in linea, nessuno script dipendente dall'utente e dove lo script cambia solo raramente. In pratica, JavaScript viene modificato molto più spesso di un certificato e spesso si hanno casi in cui il codice JavaScript fornito a un utente è adattato all'utente, cioè dipende dalla sessione, dall'account ecc. Questo non è vero solo per lo script inline ma anche per lo script incluso con il tag dello script. Inoltre, ci sono molti piccoli frammenti di script inclusi in attixxx su onXXX (vale a dire onclick="dothis();"
) in cui non solo il codice di script stesso è rilevante, ma anche dove questo codice viene utilizzato nell'HTML. Quindi un osservatorio non sarebbe di aiuto per tutti tranne alcuni siti principalmente statici.
NoScript XSS filter is flawed.
Tutti i filtri XSS sono limitati come tutte le soluzioni antivirus. È impossibile distinguere in modo affidabile tra buono e cattivo con le informazioni limitate che questi filtri hanno su ciò che può essere buono o cattivo per un sito specifico. O bloccano troppo (falsi positivi) o mancano qualcosa (falsi negativi). Nel primo caso l'utente spegnerà il filtro e in quest'ultimo caso non offrirà una protezione completa.
Stricter sandboxing (for Windows), could prevent exploit code to access APIs that give access to username, computer name, MAC address, hostname, open connections to arbitrary IP addresses, etc.
Sì, non considererei ottimale l'attuale architettura di sicurezza di Firefox e penso che Chrome offra una protezione migliore contro gli exploit che cercano di uscire dal browser. D'altra parte, per quanto ne so, Chrome non fornisce l'API necessaria per i controlli completi eseguiti da NoScript (ad es. Prevenzione XSS, rilevamento clickjacking ...).
Un altro approccio sarebbe quello di eseguire il sistema operativo con il browser stesso all'interno di una macchina virtuale in modo che l'utente malintenzionato non solo scappasse dal browser ma anche dalla VM per ottenere le informazioni pertinenti. Ogni livello di separazione rende più difficile l'attacco.
Could someone explain parts of the FBI's Firefox 0-day?
Dalle informazioni pubbliche disponibili sembra che abbiano usato Javascript per innescare un bug nel browser per iniettare il codice shell che poi poteva fare qualsiasi cosa con le autorizzazioni dell'utente, incluso l'accesso a hostname e MAC e l'invio di queste informazioni al server degli hacker . Non riesco a vedere dalle informazioni pubbliche quale sito hanno compromesso e se il sito dipendeva dallo script, se utilizzava script in linea ecc. Quindi non è noto se il tuo approccio con l'osservatorio e CSP avrebbe protetto l'utente in questo caso.