¿Cómo se asegura de que se elimine un pdf después de verlo en el navegador?

4

Para cosas como imágenes o documentos html, los encabezados de caché aseguran que los datos se eliminen cuando se cierra el navegador. Sin embargo, como los archivos PDF se abren en un complemento, los encabezados de la memoria caché no parecen tener el propósito previsto. Los archivos PDF a menudo se quedan en la carpeta temporal de las máquinas con Windows.

¿Hay alguna forma de navegador cruzado para asegurarse de que se eliminen de la computadora?

El escenario es que tengo algunos archivos en un servidor accesibles a través de Internet y espero que los usuarios puedan leerlos en computadoras compartidas y / o de acceso público. No quiero que se dejen copias de estos archivos en dichos sistemas, y no puedo confiar / esperar que el usuario final se limpie después de ellos mismos.

    
pregunta Erlend 27.04.2011 - 08:47
fuente

3 respuestas

7
  

Para cosas como imágenes o documentos html, los encabezados de caché aseguran que los datos se eliminen cuando se cierra el navegador.

Señor inescrupuloso, el propietario del cibercafé acaba de compilar Firefox para que ignore por completo las directivas de caché.

Mi punto es que no necesariamente puede confiar en el lado del cliente para implementar realmente cualquiera de los protocolos a los que debe ajustarse. Sobre todo, esto se debe a que los desarrolladores consideraron que era innecesario y que el software se ajusta al 98%, pero podría hacerse de forma maliciosa.

  

El escenario es navegar en una computadora compartida donde no quieres dejar documentos, pero no puedes esperar que el usuario elimine ellos mismos la carpeta temporal.

La respuesta honesta es que si es importante que sus archivos no estén en esa computadora, no los coloque en primer lugar. En absoluto. Siempre. Use una computadora portátil con un disco duro encriptado y una VPN encriptada a través de wifi gratis para que los datos estén protegidos tanto en reposo como en movimiento, asumiendo que es posible que no se eliminen.

También debo señalar que la eliminación no garantiza la eliminación de los datos. Literalmente, significa que la entrada de ese archivo en el sistema de archivos se ha eliminado para que el sistema de archivos lo sobrescriba felizmente. Detener el sistema operativo inmediatamente después de su acceso y examinar el disco duro me daría ese archivo con una probabilidad bastante alta de éxito.

Editar : me gustaría hacer algunos puntos adicionales con respecto al acceso del lado del cliente:

  • Una imagen de CD en vivo (en un CD real) podría ayudar aquí. Una vez creado, no puede modificarse, excepto cuando se ejecuta, por lo que los intentos de ataque potenciales se lanzan a algún tipo de intercepción previa al arranque, lo que hace que cualquier ataque sea mucho más difícil. Claramente, sin embargo, hay un inconveniente obvio: necesita acceso a la información de configuración de red apropiada (subredes, proxies, etc.). Su cibercafé local puede no apreciar esto. La red corporativa de otra compañía definitivamente no lo hará.
  • Servidores proxy. A menos que acceda a este a través de un canal confiable y encriptado, un servidor proxy podría almacenar su documento en la caché y aún así pasarle la solicitud de eliminación, eliminando el contenido del cliente pero no el proxy.
  • Si confía en la estación de trabajo compartida, es decir, es parte de su red corporativa, usaría otros medios para asegurar esto. Ningún almacenamiento local ayudaría, ya que incluso el acceso físico a la estación de trabajo no será de ninguna utilidad.

Si tu objetivo es simplemente eliminar el pdf, realmente no puedo ayudarte. No tengo idea de cómo harías eso. No estoy completamente seguro de cómo se comportan las respuestas que contienen archivos pdf dados los encabezados de la caché http. Sin embargo, sí creo que incluso si conociera una forma, no representaría seguridad en el sentido de que no le brinda un nivel real de seguridad en cuanto a la integridad de ese archivo. Incluso si encripta el pdf, debe asegurarse de que su entorno esté libre de registradores de claves y que se pueda confiar en el software del lector que instaló para descifrar las contraseñas sin ser subvertido razonablemente.

    
respondido por el user2213 27.04.2011 - 10:59
fuente
5

Supongo que estás hablando del encabezado HTTP sin tiendas. Consulte RFC2616 (énfasis agregado):

  

14.9.2 Lo que pueden almacenar los cachés

     

no-store

     

El propósito de la directiva de no almacenar es evitar la publicación o retención involuntaria de información confidencial (por ejemplo, en cintas de copia de seguridad). La directiva de no almacenar se aplica a todo el mensaje y PUEDE enviarse en una respuesta o en una solicitud. Si se envía una solicitud, el caché NO DEBE almacenar ninguna parte de esta solicitud ni de ninguna respuesta. Si se envía una respuesta, el caché NO DEBE almacenar ninguna parte de esta respuesta o de la solicitud que la provocó. Esta directiva se aplica a los cachés no compartidos y compartidos. "NO DEBE almacenar" en este contexto significa que la memoria caché NO DEBE almacenar intencionalmente la información en un almacenamiento no volátil, y DEBE hacer un esfuerzo por eliminar la información del almacenamiento volátil tan pronto como sea posible después de reenviarla.   Incluso cuando esta directiva está asociada con una respuesta, los usuarios pueden almacenar explícitamente dicha respuesta fuera del sistema de almacenamiento en caché (por ejemplo, con un cuadro de diálogo "Guardar como"). Los buffers históricos PUEDEN almacenar tales respuestas como parte de su operación normal.   El propósito de esta directiva es cumplir con los requisitos establecidos por ciertos usuarios y autores de servicios que están preocupados por las liberaciones accidentales de información a través de accesos no anticipados a estructuras de datos de caché. Si bien el uso de esta directiva puede mejorar la privacidad en algunos casos, advertimos que no es de ninguna manera un mecanismo confiable o suficiente para garantizar la privacidad . En particular, es posible que los cachés maliciosos o comprometidos no reconozcan ni obedezcan esta directiva, y las redes de comunicaciones pueden ser vulnerables a las escuchas ilegales.

Entonces, mientras que usarlos puede ayudar en muchas circunstancias, como @ninefingers ya notó que simplemente no tienes control sobre lo que el cliente hace con ellos. Supongo que es bastante difícil para un navegador incluso intentar imponerlo en contenido como el pdf que se transmite a otros programas para renderizar.

    
respondido por el nealmcb 27.04.2011 - 18:24
fuente
3

Como lo señalaron NineFingers y nealmcb, no hay nada que pueda hacer para garantizar de manera confiable que el contenido transferido a un navegador y sus complementos no se almacene en caché. Es posible que la causa ni siquiera sea maliciosa, ya que en muchos entornos con ancho de banda limitado, los administradores de proxy cambian o ignoran los encabezados de almacenamiento en caché en un intento de reducir el uso del ancho de banda.

Si no puede controlar lo que sucede en el cliente de una manera útil, la respuesta es mover la función al servidor. Existe una buena discusión (si está fechada) sobre la visualización de archivos PDF sin un complemento de lector en enlace y opciones para crear un servidor Side Viewer, Flash Viewer o Java Applet Viewer existen para la mayoría de las pilas de desarrollo web.

Si el espectador está transfiriendo datos a través del navegador, dejará algo en el caché, pero algunos serán mucho más difíciles de reensamblar que otros. Las aplicaciones Flash y los applets firmados se pueden conectar directamente a los servidores para que puedan evitar esto (si lo permiten los cortafuegos y los servidores proxy en el entorno del cliente). Si su inquietud va más allá de los archivos PDF, es posible que desee consultar clientes RDP o VNC incrustados.

    
respondido por el Bell 27.04.2011 - 18:54
fuente

Lea otras preguntas en las etiquetas