Integrità delle risorse secondarie per le risorse della stessa origine (first-party)

1

Quasi tutti gli articoli che ho letto su integrità subresource copiano gli script di caricamento (e CSS) da CDN e risorse di terze parti, il che ha senso.

Esiste un valore nell'aggiunta dell'attributo integrity ai miei script (cioè di prima parte)?

Il mio sito viene servito tramite HTTPS, quindi gli script non devono essere modificati durante il trasporto (se un utente malintenzionato può modificare le informazioni in transito dal mio server, allora possono comunque modificare l'HTML).

Riguardo agli script che sono stati modificati, penserei che se un utente malintenzionato è in grado di modificare il contenuto dei file sul mio server, ho problemi molto più grandi di quelli che possono essere protetti dall'SRI.

Devo dedicare tempo per implementare l'SRI per gli script di prima parte? Ho già un processo di compilazione quindi non è difficile generare gli hash, ma il popolamento dei tag <script> è un po 'difficile nel mio flusso di lavoro corrente.

So che non è supportato da Microsoft Edge ma si tratta di una preoccupazione ortogonale AFAIK.

    
posta rink.attendant.6 17.10.2016 - 04:38
fonte

2 risposte

1

Sono d'accordo con la tua valutazione secondo cui se gli script vengono serviti dallo stesso server dell'HTML, integrity non ti garantisce molta sicurezza. Sarebbe uno strano compromesso in cui l'autore dell'attacco è riuscito a scrivere nei file di script ma non ha potuto scrivere su altri file, incluso HTML (o PHP equivalente sul lato server, .jar, .dll ecc.)

Se l'utente malintenzionato può modificare i file sul server e desidera modificare il javascript pubblicato, può semplicemente rimuovere o aggiornare l'attributo integrity nel codice HTML.

Se gli script provengono da un server diverso (fisico o virtuale), l'attributo integrity indica che l'autore dell'attacco deve compromettere entrambe le macchine per modificare il javascript.

    
risposta data 17.10.2016 - 05:34
fonte
0

Gli hacker non riescono a ottenere il pieno controllo del server indovinando i logindetails. Possono sfruttare un buco di sicurezza in una pagina specifica e quindi ottenere l'accesso a qualsiasi cosa ottengano. Quindi potrebbe esserci un valore nell'aggiungere l'attributo di integrità agli stessi script di origine ma nessuna garanzia.

Sto pensando (per i domini ospitati) semplicemente a un dominio extra (B) che viene utilizzato per l'archiviazione di copie di codice dai miei altri domini (A). E poi fai un cronjob sul dominio B, che controlla regolarmente se il codice è lo stesso e invia un avviso se non lo è. Questo per mantenere i vantaggi degli stessi script di origine e aggiungere un po 'di sicurezza ai domini A. Questo è anche utile per pagine html complete con codice js. Il flusso di lavoro dovrebbe essere relativamente semplice con la necessità di aggiornare il dominio B inserendo un URL dal dominio A ogni volta che vengono apportate modifiche all'URL del dominio A.

    
risposta data 21.10.2016 - 11:49
fonte

Leggi altre domande sui tag