¿Cuál es un método garantizado para saber si un archivo PDF está libre de malware o para verlo de manera segura con gran confianza?

Veo archivos PDF de forma segura con gran confianza todos los días: uso xpdf en Linux. En general, estoy seguro de que (a) el PDF es inofensivo de todos modos, (b) que si no lo es, el exploit está dirigido a Acroread, y (c) que si es un exploit multiplataforma para el protocolo PDF en sí, que La carga útil está diseñada para ejecutarse en Windows.

Si alguien me pregunta si un archivo adjunto es inofensivo, si no es realmente un archivo PDF, entonces xpdf solo dirá que no puede leer la tabla xref, no lo pasará al sistema operativo para que se ejecute. Podría buscar el hash en virustotal.com para ver si contiene un virus conocido y decirles eso, o podría mirar los encabezados de los archivos con el “archivo” de Linux, o por ojo, y decir “esto es realmente un JPEG con el sufijo incorrecto “.

Garantizar que algo esté libre de malware es mucho más difícil. No dudo que podría incrustar código dentro de una imagen en un PDF de tal manera que la imagen parezca ser válida. Si no se conoce malware, entonces un análisis antivirus como virustotal no lo encontrará. Pasarle la ejecución podría ser difícil: requeriría una vulnerabilidad en el visor, como un desbordamiento del búfer.

Sospecho que un hacker experto podría atacarme personalmente con éxito a través de PDF; todo lo que tendrían que hacer es crear un exploit para Linux en Acroread, y luego enviarme algo así como un formulario que no se puede completar en xpdf y uso la ingeniería social para lograr que lo abra. (Sospecho que Acroread es más fácil de hackear que xpdf ya que es más complejo, por ejemplo, Adobe agregó funciones de secuencias de comandos)

No hay forma garantizada. La respuesta de Andrew es muy buena, suponiendo que tenga Linux o esté dispuesto a hacer el cambio. También puede intentar ver el archivo con un visor en línea. Sin embargo, en general, debe ejecutar un antimalware de gama alta como Reason Core Security o Malwarebytes.