Los sistemas operativos, y los antivirus, cada vez son más precisos a la hora de detectar todo tipo de amenazas. Es por ello por lo que los piratas informáticos cada vez lo tienen más complicado para poder evadir estos sistemas de seguridad, y deben buscar técnicas cada vez más complejas para poder evadir estas medidas de seguridad. Es así como, desde hace ya algún tiempo, están firmando su código con certificados digitales que consiguen saltarse todas estas medidas y ser mucho más complicados de detectar. Así es como funciona esta peligrosa técnica para firmar malware.
Firmar el código es una técnica legítima que los desarrolladores llevan utilizando desde hace mucho tiempo. Para ello, utilizan un certificado digital, emitido por una entidad certificadora de confianza, de manera que tanto el usuario como los antivirus y los sistemas operativos puedan saber que ese código es genuino y no ha sido modificado.
En un principio, solo los desarrolladores autenticados por la entidad certificadora pueden firmar su código con su propio certificado digital. Y, al usar técnicas criptográficas avanzadas, estos certificados no se pueden ni suplantar ni clonar. Sin embargo, los piratas informáticos han encontrado la forma de hacerlo.
Cómo se firma malware con un certificado original
Por lo general, para certificar que un desarrollador es legítimo y pertenece realmente a una empresa, la entidad certificadora tiene unos requisitos bastante elevados. Sin embargo, los piratas informáticos pueden falsificar estos requisitos para hacerse pasar por una organización legítima y conseguir el certificado para firmar sus piezas de malware. También es posible que los piratas hackeen a una empresa y roben su certificado. Si este es válido, tiene un precio muy alto en el mercado negro.
Una vez que los piratas tienen su código firmado, las medidas de seguridad de Windows y de los antivirus, casi siempre quedan anuladas. Cuando lo ejecutamos, el sistema confía por defecto en dicho código y, al final, termina infectando el sistema sin que nada ni nadie pueda hacer nada al respecto.
Dos malware que han hecho uso de esta técnica son:
- Stuxnet: este malware usó dos certificados digitales de JMicron y Realtek para ocultarse como un driver y llegar incluso a atacar (y destruir, informáticamente hablando) una central nuclear.
- Flame: este spyware se aprovechó de un fallo criptográfico para crear sus propios certificados. Su objetivo era espiar documentos, no hacer daño.
Además, en 2018, un grupo de piratas consiguió incluso distribuir una actualización para equipos ASUS usando un certificado digital e infectando con malware medio millón de máquinas en cuestión de segundos. Por suerte, fue un ataque dirigido que buscaba infectar 600 equipos muy concretos, y el impacto, finalmente, fue muy pequeño.
Cómo me protejo de estas amenazas
Aunque esta es una técnica muy peligrosa (para los usuarios, sobre todo), por suerte no se utiliza demasiado. Conseguir un certificado válido es, cada vez, más complicado, ya que las empresas están cada vez mejor protegidas, y más caro, ya que los pocos que hay se cotizan muy alto dentro de los mercados negros. Además, la validez de un certificado, una vez se utiliza para firmar una amenaza, es muy limitada. Por ello, tan solo malware muy específico, usado con fines muy concretos, es el que hace uso de esta técnica.
Para protegernos debemos llevar a cabo las prácticas de siempre. Y lo más importante es que, además del sentido común, nos aseguremos de mantener Windows y el antivirus siempre actualizados. Así podremos tener una lista negra con los certificados que se hayan visto comprometidos y, si un malware firmado con ellos llega a nuestro PC, no logrará infectarnos.