De acuerdo con las especificaciones de formato de archivo, el PDF admite el cifrado usando el algoritmo AES con el método de cifrado por bloques. Por lo tanto, al menos en teoría, si cifras un archivo PDF puedes estar seguro de que solo podrá ver su contenido aquel que tenga la contraseña. Siguiendo con el estudio de la seguridad de los PDF, un equipo de investigadores de varias universidades alemanas analizó la fiabilidad de la implementación del cifrado en este formato. Fabian Ising de Münster University of Applied Sciences presentó sus conclusiones y resultaron muy decepcionantes.
En teoría, las empresas utilizan los PDF cifrados para transferir datos a través de un canal inseguro o desconfiable, por ejemplo, para cargar un archivo a un almacenamiento en la nube al que tienen acceso muchas personas. Los investigadores buscaron un modo de modificar el archivo fuente de tal forma que, cuando se introdujera la contraseña, la información del PDF se enviara a una tercera parte, pero sin realizar ningún cambio visible para el receptor.
Para ello, los investigadores desarrollaron dos conceptos de ataque que les permitieron dar acceso a un tercero al contenido cifrado. Además, el primer ataque (“exfiltración directa”) no requiere habilidades especiales de criptografía, basta con conocer las especificaciones del formato PDF. Los investigadores lo llamaron “hackear la criptografía sin tocar la criptografía”. El segundo ataque, llamado ataque de maleabilidad, es más complicado y requiere conocimientos sobre el método de cifrado de bloques.
¿Quién utiliza los PDF cifrados y por qué?
Las empresas dan mucho uso a los archivos cifrados.
- Los bancos los utilizan para otorgar confidencialidad cuando intercambian documentos con los clientes.
- Las impresoras multifunción pueden aceptar documentos escaneados por correo electrónico, protegiendo con contraseña los PDF si el remitente selecciona la opción “en forma cifrada”.
- Los dispositivos de diagnósticos médicos utilizan PDF seguros para enviar resultados de pruebas a pacientes o médicos.
- Las agencias gubernamentales como el Departamento de Justicia de los Estados Unidos aceptan los documentos que reciben como PDF cifrados.
Muchos complementos de aplicaciones de correo electrónico ofrecen la habilidad de enviar un documento como un PDF cifrado, por lo que existe una demanda de la opción.
Ataque de exfiltración directa
Cuando cifras un archivo PDF, cifras solamente el contenido (por ejemplo, los objetos en el archivo, que se caracterizan como cadenas o secuencias). Los objetos que permanecen, que determinan la estructura del documento, quedan sin cifrar. Es decir, puedes ver el número y el tamaño de las páginas, los objetos y los enlaces. Pero esta información no debería acabar en manos de posibles atacantes, ya que podrían utilizarla para dar con un método de evasión del cifrado.
Los investigadores se preguntaron primero si podrían añadir su propia información al archivo ya que, en teoría, esto podría permitirles crear un canal de exfiltración. Gracias a la documentación del formato, descubrieron que los PDF permiten un control granular del cifrado como, por ejemplo, puedes cifrar únicamente objetos de tipo “cadena” o de tipo “secuencia”, dejando el resto del contenido sin cifrar.
Además, no se implementan comprobaciones de integridad, por lo que, si añades algo a un documento cifrado, los usuarios no recibirán ningún tipo de alerta. Ese “algo” puede incluir una función de acción de envío de formulario, por lo que podrías insertar un formulario en un archivo PDF que envíe datos (por ejemplo, todos los contenidos del documento) a un tercero. La función también puede estar ligada a una acción como abrir el documento.
Nos encontramos ante un ejemplo de exfiltración, pero hay multitud de posibilidades. Los atacantes podrían colocar un simple enlace en su sitio con todos los contenidos del archivo en la URL. O podrían utilizar JavaScript para enviar los contenidos cifrados a cualquier parte. Evidentemente, algunos lectores de PDF consultan al usuario antes de comunicarse con el sitio web, pero no todos. Además, no todos los usuarios se lo pensarían dos veces antes de permitirlo.
Ataque de maleabilidad
El segundo ataque sobre el cifrado de un PDF utiliza un hándicap conocido del método de cifrado por bloques, que carece de control de integridad. La esencia de este famoso ataque es que un atacante que conoce parte de la información en texto plano que se ha cifrado puede cambiar los contenidos de un bloque.
No obstante, según las especificaciones del formato PDF, cada vez que se cifra el contenido de un archivo PDF, también se cifran diferentes permisos (por ejemplo, el que concede al autor la habilidad de editar el documento y el que niega a un simple lector esa misma habilidad). En teoría, esto se hace para evitar que los atacantes alteren los permisos, que están cifrados con la misma clave AES que el resto del documento.
A su vez, estos permisos también se almacenan sin cifrar en el archivo. Esto significa que los atacantes saben por defecto qué 12 bytes del archivo son y, como resultado, pueden alterar el método de cifrado por bloques para marcar un objetivo y manipular datos cifrados, como, por ejemplo, añadir el mecanismo de exfiltración de datos al archivo cifrado para enviar los contenidos del archivo a un tercer sitio.
Resultados
Los investigadores probaron sus métodos en 23 lectores de PDF y 4 navegadores y descubrieron que todos eran al menos parcialmente vulnerables a, como mínimo, una de esas amenazas.
Por desgracia, ninguna solución del lado del cliente puede mitigar por completo la debilidad del formato. No se pueden bloquear todos los canales de exfiltración sin inutilizar el formato. Los investigadores contactaron con los desarrolladores del software e informaron sobre los problemas. Algunas de las compañías, entre las que se incluía Apple, intentaron ayudar haciendo hincapié en las notificaciones que alertan de que el archivo está accediendo a un sitio de terceros. Otros dijeron que lo había intentado pero que no había podido “solucionar algo que no tenía solución”.
Si tienes que transferir datos confidenciales, nuestra recomendación es que utilices un método alternativo para proteger esta información. Por ejemplo, puedes utilizar nuestras soluciones para crear contenedores cifrados.