Il link descrive la proprietà .lastModified
di un oggetto File
in JavaScript (in genere creato quando un utente seleziona un file tramite un elemento <input type="file">
HTML, JavaScript in-browser fornito da una pagina Web ovviamente non ha accesso illimitato al file system dell'utente!)
I documenti contengono la seguente osservazione di sicurezza criptica:
To offer protection against timing attacks and fingerprinting, the precision of
someFile.lastModified
might get rounded depending on browser settings. In Firefox, theprivacy.reduceTimerPrecision
preference is enabled by default and defaults to 20us in Firefox 59; in 60 it will be 2ms.
A un vero tratto posso vedere come, ipoteticamente, le date di modifica dei file potrebbero essere utilizzate per fingerprinting : se riesci a far selezionare a un utente lo stesso file in una finestra di dialogo <input type="file">
su più siti, e memorizzi la data esatta di modifica del file al microsecondo, quindi puoi fare un riferimento incrociato e notare che, voilà, è lo stesso utente (anche se questo sembra uno scenario inverosimilmente inverosimile!). Ma sono totalmente dispiaciuto per immaginare quali "attacchi temporali" potrebbero proteggere da questo arrotondamento.
Quali sono gli attacchi che questa funzione dovrebbe effettivamente prevenire?