Crypto hash in 'a href'?

2

Mi sembra che sarebbe molto utile poter indicare un valore di hash crittografico previsto nei download di file, soprattutto perché molti download di applicazioni e dati si basano sull'hosting con mirroring. Questo potrebbe essere fatto come attributo a un tag 'a' (non sono sicuro se c'è un modo migliore). In questo scenario il browser ovviamente controllerebbe l'hash e probabilmente rimuovera il file con un avvertimento se l'hash non corrisponde a quanto scaricato. Per quanto ne so, oggi non c'è modo di realizzare qualcosa di simile. È corretto? Se è vero, c'è una buona ragione per cui qualcosa del genere non dovrebbe essere proposto come aggiunta alle specifiche HTML5. E infine, se è una cosa ragionevole da suggerire, qual è il modo migliore per fare un simile suggerimento?

    
posta Keith 08.06.2015 - 20:36
fonte

2 risposte

2

Già proposto e in fase di implementazione nella maggior parte dei principali browser. Si chiama:

Integrità delle risorse secondarie

Subresource Integrity (SRI) allows specifying the digest of the file that you want to include. The digest is the output of a cryptographic hash function, which helps us achieve integrity.

Una bella panoramica è disponibile qui da uno dei co-autori delle specifiche.

    
risposta data 07.08.2015 - 22:22
fonte
0

Una funzionalità come questa probabilmente non fornirebbe alcun vantaggio di sicurezza reale, specialmente se paragonata a qualcosa come SSL o qualsiasi soluzione potenziale agli attacchi XSS che sono sicuro che i comitati per gli standard web stiano guardando.

I modelli di minacce a cui posso pensare dove è possibile provare a utilizzare un hash su un download di file sono:

1) Il sito web mostra un hash e ti invia un file legittimo, ma qualcuno esegue un attacco MITM e trasforma il file in malware. Se l'aggressore del MITM fosse competente, avrebbe anche modificato il sito per mostrarti l'hash corretto per il suo malware (o forse nessun hash), quindi provare a mostrare che l'hash non impedisce questo attacco.

2) Il sito web mostra un hash e ti invia deliberatamente un pezzo di malware. Presumibilmente, ti stanno mostrando l'hash corretto per il malware, quindi di nuovo l'hash non aiuta.

3) Il sito web mostra un hash e ti indirizza verso un altro sito che ospita il file. Ora, se il secondo sito ti invia deliberatamente malware, l'hash ti consente di rilevarlo. Questo è l'unico caso in cui io sappia dove l'hash è effettivamente d'aiuto, e aiuta solo perché si trova su un sito completamente diverso. Si noti che questo presuppone che la persona che inserisce malware sul secondo sito non abbia alcun controllo su il primo sito e non ti sta MITM.

P.S. Consiglierei di leggere la domanda strongmente correlata su Security.SE "Quale scopo di sicurezza servono gli hash dei file?" . La risposta là copre molto dello stesso terreno che ho appena fatto.

    
risposta data 08.06.2015 - 20:56
fonte

Leggi altre domande sui tag