1 puntos por GN⁺ 2024-06-11 | 1 comentarios | Compartir por WhatsApp
  • Cuando se comparten PDFs académicos, la combinación de metadatos por descarga y la hora de acceso puede usarse para rastrear el origen, incluso si se trata del mismo archivo de artículo
  • El valor identificador se puede verificar con exiftool, y los metadatos de alto nivel se pueden eliminar con una combinación de exiftool + qpdf
  • El PDF también incluye una etiqueta NISO que indica la “final published version” (VoR) y restricciones de dominios permitidos; Elsevier escanea PDFs que contienen estos metadatos
  • Parece que los artículos obtenidos desde Sci-Hub también conservan esos metadatos, lo que podría llevar a identificar la cuenta académica usada para descargar el artículo
  • Dos PDFs con etiquetas de identificación distintas resultaron idénticos según diff después de eliminar metadatos y procesarlos con qpdf --deterministic-id, pero es difícil generalizar que no exista watermarking adicional

Metadatos de PDFs de Elsevier que cambian con cada descarga

  • En los PDFs de Elsevier se inserta un hash único como metadato para cada descarga
  • Si se descarga el mismo artículo dos veces y se comparan los metadatos, aparecen valores diferentes
  • Si este valor se combina con la hora de acceso, puede usarse para identificar de qué descarga provino un PDF compartido

Herramientas usadas para verificar y eliminar metadatos

  • Con exiftool se pueden revisar directamente los metadatos del PDF
  • Comando para eliminar metadatos de alto nivel:
    • exiftool -all:all= <path.pdf> -o <output1.pdf>
    • qpdf --linearize <output1.pdf> <output2.pdf>
  • Para eliminar todos los metadatos se puede usar dangerzone o mat2
  • Herramientas relacionadas:
    • exiftool: herramienta para leer/escribir metadatos
    • qpdf: herramienta para procesar PDFs
    • dangerzone: herramienta GUI que renderiza PDFs como imágenes y luego vuelve a aplicar OCR
    • mat2: herramienta de eliminación de metadatos que renderiza PDFs como imágenes, pero no aplica OCR

Script automático de limpieza y extracción de etiquetas

  • El script de shell provisto busca PDFs de forma recursiva en un directorio especificado o en el directorio actual, y elimina sus metadatos
  • El entorno objetivo es macOS y sistemas tipo Unix, y requiere tener instalados qpdf y exiftool
  • Para cada PDF crea una versión limpiada con el sufijo _clean.pdf, y aplica exiftool y qpdf --linearize
  • Luego se agregó al gist la etiqueta extraída correctamente y código Python para extraerla directamente
  • Al principio se la llamó “hash”, pero el valor extraído tiene un patrón claro y aún no se sabe qué contiene

Etiqueta NISO y rastros que permanecen en Sci-Hub

  • Los metadatos del PDF incluyen una etiqueta NISO que indica el estado del documento
    • El estado del documento se marca como “final published version” (VoR)
    • También incluye restricciones sobre en qué dominios debería existir
  • Como Elsevier escanea PDFs que contienen estos metadatos, es necesario eliminarlos al compartir copias
  • Parece que los artículos obtenidos desde Sci-Hub conservan esos metadatos
  • Si Sci-Hub descarga artículos usando credenciales académicas recopiladas, la editorial podría usar estos metadatos para identificar cuentas que deberían cerrarse o protegerse

Posible watermarking adicional y resultados de la verificación

  • Sigue existiendo la posibilidad de que haya watermarking más sofisticado además de los metadatos
  • Resultado de un experimento con dos archivos que tenían etiquetas de identificación distintas:
    • Se eliminaron los metadatos
    • Se volvieron a linearizar con la bandera --deterministic-id de qpdf
    • Los PDFs resultantes salieron idénticos según diff
  • Conviene ser cautelosos antes de generalizar, solo con este resultado, que no existe watermarking adicional
  • Los metadatos son un medio de identificación especialmente llamativo porque permiten escanear rápidamente grandes volúmenes de PDFs

1 comentarios

 
GN⁺ 2024-06-11
Opiniones de Hacker News
  • Me imagino el enorme esfuerzo que hacen para encontrar a personas que compartieron ideas que ellos no crearon ni financiaron, y castigarlas por no haber pagado.
    Estas empresas simplemente parecen obstáculos para el progreso de la humanidad.

    • En realidad no es tan difícil, pero estoy de acuerdo con el punto central.
      Además, esas empresas les cobran a los autores sumas absurdas incluso por servicios adicionales como imprimir imágenes a color.
      En un futuro lejano, creo que en escuelas y universidades se hablará de estas empresas como ejemplos de parasitismo social.
    • Más que ser el problema en sí, la empresa es un síntoma.
      Creo que el verdadero problema son los gobiernos —en especial el de Estados Unidos— que usan su monopolio de la coerción para ayudar a estas empresas a hacer cumplir ese modelo de negocio.
    • También hay que pensar en cuánto esfuerzo implica escribir un libro.
      Algunos autores tardan años; muchos dedican al menos un año, y algunos académicos pasan años en un solo artículo.
      Elsevier también es un socio que participa de forma considerable en la producción y financiación de ese trabajo, y su personal se encarga de la edición, la composición tipográfica y la distribución.
      Los autores también son socios en este proceso y, en muchos casos, reciben regalías de Elsevier.
      Pero hay gente que inventa toda clase de argumentos forzados para justificar la piratería.
      Si hay autores pobres, habría que reconocer que la copia ilegal está reduciendo su capacidad de ganarse la vida vendiendo lo que escriben.
    • Me da risa que, cuando Elsevier intenta hacer valer sus derechos de autor, HN la trata como el demonio, pero cuando el tema son los datos de entrenamiento de IA, de repente se convierten en los guerreros de la propiedad intelectual más estrictos que he visto.
    • Según entiendo, la culpa no es solo de Elsevier; el problema es una estructura en la que los gobiernos asignan fondos de investigación y ascensos según la cantidad de publicaciones en revistas de Elsevier.
  • Suena como una buena práctica recibir copias de dos fuentes distintas y comparar los hashes antes de publicar un documento.
    Se pueden insertar datos en cualquier parte: imágenes, archivos de audio, PDF, programas, etc.
    Al menos en el caso de Elsevier, parece bastante claro que usan una clave para rastrear a los usuarios.

    • Pero los PDF no tienen ventanas emergentes de consentimiento de cookies.
      Tal vez por fin podamos darle un uso útil a esa ley.
  • DangerZone es una herramienta libre y de código abierto que se usa para eliminar posible malware de archivos PDF, y también puede borrar metadatos.
    Puede ser excesiva para una simple limpieza de metadatos, pero vale la pena mencionarla.
    https://dangerzone.rocks/

    • Puede que no sea solo un problema de metadatos.
      En un PDF lo suficientemente largo hay muchas formas de ocultar un identificador de 128 bits.
      Podría ser cualquier cosa: rectángulos blancos sobre fondo blanco, píxeles en ciertos lugares que sean apenas no negros, etc.
      Muchas técnicas incluso podrían sobrevivir a una impresión y posterior escaneo.
  • Uso un pequeño script para limpiar los PDF en general y también reducir su tamaño.
    Es más o menos así:
    pdftops -paper A4 -expand -level3 file.pdf
    ps2pdf14 -dEmbedAllFonts=true \
    -dUseFlateCompression=true \
    -dOptimize=true \
    -dProcessColorModel=/DeviceRGB \
    -r72 \
    -dDownsampleGrayImages=true \
    -dGrayImageResolution=150 \
    -dAutoFilterGrayImages=false \
    -dGrayImageDownsampleType=/Bicubic \
    -dDownsampleMonoImages=true \
    -dMonoImageResolution=150 \
    -dMonoImageDownsampleType=/Subsample \
    -dDownsampleColorImages=true \
    -dColorImageResolution=150 \
    -dAutoFilterColorImages=false \
    -dColorImageDownsampleType=/Bicubic \
    -dPDFSETTINGS=/ebook \
    -dNOSAFER \
    -dALLOWPSTRANSPARENCY \
    -dShowAnnots=false \
    file.pdf file.pdf
    Si hace falta, después se pueden agregar metadatos adicionales.
    No está diseñado específicamente para eliminar métodos de rastreo concretos, pero en la mayoría de los casos es simple y bastante útil.

  • Basta con descargar el PDF de Elsevier, abrirlo en tu visor de PDF, presionar imprimir y elegir Print to PDF en la selección de impresora.

    • Como paso 0, hay que desactivar el guardado del Zone Identifier o borrarlo con una herramienta.
      Es muy probable que esta información se conserve al copiar archivos y, según la herramienta y el formato, incluso puede quedar dentro de un archivo comprimido y restaurarse más tarde.
      https://www.digital-detective.net/forensic-analysis-of-zone-...
      Entre los plugins de Total Commander hay algunos que muestran desde dónde se descargó un archivo específico.
      Tengo varios instalados, así que no sé exactamente cuál es, pero probablemente sea este: https://totalcmd.net/plugring/ntfsstreamviewer.html
    • Descargas el PDF de la editorial, lo abres en un visor de PDF, presionas imprimir y lo imprimes en papel real.
      Luego vuelves a escanear las páginas impresas del PDF, las unes en un documento PDF con convert y pdfunite, y lo comprimes con ghostscript.
    • Incluso así podría permanecer toda posible esteganografía oculta en el kerning, los colores, el interlineado, etc.
    • Otro método es descargar el PDF de Elsevier, convertir las páginas en imágenes PNG, unirlas en un PDF nuevo y luego aplicar OCR.
    • Eso puede destruir por completo las etiquetas y la información de accesibilidad que tenía el PDF.
      Por favor, no lo hagan a menos que estén seguros de que es absolutamente necesario.
  • Lo dejo aquí porque está relacionado con este tema
    https://github.com/kanzure/pdfparanoia
    y
    https://github.com/firstlookmedia/pdf-redact-tools

    • En la página de pdf-redact-tools dice esto: “Warning: This project is no longer maintained. A much better tool is dangerzone.”
      El enlace a DangerZone se puede encontrar en el hilo de Mastodon enviado originalmente
  • Hay que crear herramientas que permitan compartir y abrir el conocimiento de la humanidad

  • El hecho de que entidades como Elsevier puedan seguir sobreviviendo, y que la gente efectivamente pague por estos sistemas parasitarios, requiere encontrar y analizar las causas de fondo
    Algunas pistas posibles son que la academia, al final, es perezosa y no tiene intención de arreglar el sistema; que está tan metida en la investigación que la calidad de las cosas que no están directamente relacionadas con su propio trabajo es pésima; y que existe una estructura de incentivos que recompensa a quienes mantienen estos sistemas
    ¿Habrá alguna otra pista?

    • Depende del campo
      Por ejemplo, las áreas tecnológicas se han movido mucho hacia las revistas de acceso abierto, y eso funciona bien también para la promoción de investigadores
      Pero mientras cosas como la titularidad dependan de publicar en Nature, será difícil desplazar a Nature en el futuro cercano
  • Los metadatos son un blanco muy fácil en el watermarking de documentos
    Normalmente, los renderizadores de PDF hacen que cada copia sea única usando espaciado, kerning, caracteres invisibles y todo tipo de esteganografía
    No veo qué sentido tendría un hash; en la práctica es más probable que sea un código de autenticación de mensaje que combine un valor secreto con una copia única
    Eso ayuda a la editorial a identificar copias lavadas
    Si tienes dos o más copias, puedes volver a anonimizarlas, y me pregunto si los modelos de lenguaje de resumen podrían ser útiles para esto
    Por supuesto, también se pueden introducir variaciones esteganográficas en los gráficos
    Los PDF son documentos sucios, así que casi siempre los convierto a texto plano, normalmente sin pérdida de significado

  • ¿Esta práctica es legal en la UE?

    • Elsevier es una empresa neerlandesa y es propiedad de una empresa británica, así que no parece que haya mucho problema