Esiste una tecnica di difesa standard contro di essa?
Come sottolineato nelle altre risposte, gli errori di bit quando si interrogano i nomi di dominio potrebbero non essere una minaccia realistica per la tua applicazione web. Ma supponendo che lo siano, allora Integrità sottorisorse (SRI) aiuta.
Con SRI stai specificando un hash della risorsa che stai caricando in un attributo integrity
, in questo modo:
<script src = "http://www.example.org/script.js" integrity = "sha256-DEC + zvj7g7TQNHduXs2G7b0IyOcJCTTBhRRzjoGi4Y4 =" crossorigin = "anonymous" >< / script> > ora lo fa Non importa se lo script viene recuperato da un dominio diverso a causa di un errore di bit (o modificato da un MITM) perché il browser rifiuterà di eseguire lo script se l'hash del suo contenuto non corrisponde al valore di integrità. Quindi, quando un piccolo errore, o qualsiasi altra cosa, ha fatto sì che l'URL venisse risolto nel dxample.org
controllato dall'attaccante, l'unico script che potevano iniettare con successo sarebbe stato quello corrispondente all'hash (cioè, lo script che intendevi caricare comunque). Il caso d'uso principale per SRI è il recupero di script e fogli di stile da CDN potenzialmente non attendibili, ma funziona su qualsiasi scenario in cui desideri assicurarti che la risorsa richiesta non sia modificata.
Nota che SRI è limitato a script
e link
per ora, ma il supporto per altri tag potrebbe arrivare in seguito:
Nota: è probabile che una futura revisione di questa specifica includa il supporto dell'integrità per tutte le possibili sottorisorse, ad esempio a
, audio
, embed
, iframe
, img
, link
, object
, script
, source
, track
e video
.
(dalla specifica)
(Vedi anche questo bug ticket)