Come ci si assicura che un pdf venga cancellato dopo essere stato visualizzato nel browser?

4

Per cose come immagini o documenti html, le intestazioni della cache assicurano che i dati vengano cancellati quando il browser viene chiuso. Tuttavia, poiché i PDF vengono aperti in un plug-in, le intestazioni della cache non sembrano avere lo scopo previsto. I PDF sono spesso lasciati nella cartella temporanea su macchine Windows.

Esistono modi cross-browser per assicurarsi che vengano rimossi dal computer?

Lo scenario è che ho alcuni file su un server accessibili via Internet, e mi aspetto che gli utenti possano leggerli su computer condivisi e / o accessibili al pubblico. Non voglio che copie di questi file rimangano su questi sistemi e non posso fidarmi / aspettarmi che l'utente finale si ripulisca da solo.

    
posta Erlend 27.04.2011 - 08:47
fonte

3 risposte

7

For things like images or html documents, cache headers make sure that the data is deleted when the browser is closed.

Mr Unscrupulous Ninefingers il proprietario del cybercafé ha appena ricompilato Firefox per far sì che ignori totalmente le direttive cache.

Il mio punto è che non si può necessariamente fidarsi del lato client per implementare correttamente tutti i protocolli a cui dovrebbe conformarsi. Principalmente, questo è solo perché gli sviluppatori hanno ritenuto che non fosse necessario e il software è conforme al 98%, ma potrebbe essere fatto maliziosamente.

The scenario is surfing on a shared computer where you don't want to leave behind documents, yet you cannot expect the user to delete the temp-folder themselves.

La risposta onesta è che se è importante che i tuoi file non siano su quel computer, non metterli lì in primo luogo. Affatto. Mai. Utilizza un laptop con un disco rigido crittografato e una VPN crittografata tramite Wi-Fi gratuito, in modo che i dati siano protetti a riposo e in movimento, supponendo che non venga eliminato.

Devo anche sottolineare che la cancellazione non garantisce la rimozione dei dati. Letteralmente, significa che la voce di quel file nel filesystem è stata eliminata in modo che il filesystem possa sovrascriverla felicemente. Fermare il sistema operativo immediatamente dopo l'accesso ed esaminare il disco rigido con una probabilità abbastanza alta di successo mi dà quel file.

Modifica : vorrei aggiungere alcuni punti relativi all'accesso lato client:

  • Un'immagine CD live (su un CD reale) potrebbe aiutare qui. Una volta creato, non può essere modificato se non quando viene eseguito, in modo tale da spingere i potenziali attacchi di attacco verso una qualche forma di intercettazione di preavvio, il che rende molto più difficile qualsiasi attacco. Chiaramente, tuttavia, c'è un evidente svantaggio: è necessario accedere alle informazioni di configurazione di rete appropriate (subnet, proxy, ecc.). Il tuo cyber cafè locale potrebbe non apprezzarlo. La rete aziendale di un'altra azienda sicuramente non lo farà.
  • Server proxy. A meno che non si acceda a questo tramite un canale crittografato attendibile, un server proxy potrebbe memorizzare nella cache il documento e comunque passare la richiesta di cancellazione, eliminando il contenuto dal client ma non dal proxy.
  • Se ti fidi della workstation condivisa, cioè fa parte della tua rete aziendale, userei un altro mezzo per assicurarti questo. Nessuna memoria locale sarebbe d'aiuto, poiché l'accesso fisico alla workstation non sarà di alcun aiuto.

Se il tuo obiettivo è solo quello di rimuovere il pdf, non posso davvero aiutarti. Non ho idea di come lo faresti. Non sono del tutto sicuro di come le risposte contenenti i file pdf si comportino con le intestazioni della cache http. Tuttavia, penso che anche se sapessi un modo, non rappresenterebbe la sicurezza nel senso che non ti dà alcun livello reale di sicurezza sull'integrità di quel file. Anche se si cripta il pdf, è necessario assicurarsi che il proprio ambiente sia libero dai keylogger e che il software del lettore installato sia affidabile per decrittografare le password senza essere ragionevolmente sovvertito.

    
risposta data 27.04.2011 - 10:59
fonte
5

Suppongo che tu stia parlando dell'intestazione HTTP senza archivio. Vedi RFC2616 (corsivo aggiunto):

14.9.2 What May be Stored by Caches

no-store

The purpose of the no-store directive is to prevent the inadvertent release or retention of sensitive information (for example, on backup tapes). The no-store directive applies to the entire message, and MAY be sent either in a response or in a request. If sent in a request, a cache MUST NOT store any part of either this request or any response to it. If sent in a response, a cache MUST NOT store any part of either this response or the request that elicited it. This directive applies to both non- shared and shared caches. "MUST NOT store" in this context means that the cache MUST NOT intentionally store the information in non-volatile storage, and MUST make a best-effort attempt to remove the information from volatile storage as promptly as possible after forwarding it. Even when this directive is associated with a response, users might explicitly store such a response outside of the caching system (e.g., with a "Save As" dialog). History buffers MAY store such responses as part of their normal operation. The purpose of this directive is to meet the stated requirements of certain users and service authors who are concerned about accidental releases of information via unanticipated accesses to cache data structures. While the use of this directive might improve privacy in some cases, we caution that it is NOT in any way a reliable or sufficient mechanism for ensuring privacy. In particular, malicious or compromised caches might not recognize or obey this directive, and communications networks might be vulnerable to eavesdropping.

Quindi, mentre utilizzarli potrebbe essere utile in molte circostanze, poiché @ninefingers ha già notato che non hai il controllo su ciò che il client fa con loro. Immagino che sia abbastanza difficile per un browser persino provare a imporla su contenuti come pdf che vengono passati ad altri programmi per il rendering.

    
risposta data 27.04.2011 - 18:24
fonte
3

Come sottolineato da NineFingers e nealmcb non c'è nulla che tu possa fare per garantire in modo affidabile che nessun contenuto trasferito a un browser e ai suoi plugin non sia memorizzato nella cache. Il problema potrebbe anche non essere dannoso in quanto in molti ambienti limitati con larghezza di banda gli amministratori proxy cambiano o ignorano le intestazioni di cache nel tentativo di ridurre l'utilizzo della larghezza di banda.

Se non è possibile controllare ciò che accade sul client in un modo utile, la risposta è quindi spostare la funzione sul server. C'è una buona discussione (se datata) sulla visualizzazione di PDF senza un plugin per il lettore al link e opzioni per la creazione di un server visualizzatore laterale, visualizzatore Flash o visualizzatore di applet Java esistono per la maggior parte degli stack di sviluppo Web.

Se il visualizzatore sta trasferendo dati tramite il browser lascerà qualcosa nella cache, ma alcuni di essi saranno molto più difficili da riassemblare di altri. Le app Flash e le applet firmate possono connettersi direttamente ai server in modo che siano in grado di evitarlo (firewall e proxy nell'ambiente client permettendo). Se la tua preoccupazione va oltre i soli PDF, potresti voler consultare i client RDP o VNC incorporabili.

    
risposta data 27.04.2011 - 18:54
fonte

Leggi altre domande sui tag