Dr. Gonzalo Álvarez Marañón, Director del Máster de Ciberseguridad Online y Director I+D de Funditec.
Quién iba a decirnos que la criptografía se explotaría maliciosamente para crear una de las categorías más devastadoras de malware. Y así es: el ransomware bloquea el acceso a los archivos de la víctima y pide un rescate a cambio de la clave de cifrado.
La criptografía detrás de las primeras muestras de ransomware fue simplista e ingenua. Típicamente, el ransomware cifraba cada archivo con una clave diferente de AES (o algoritmos débiles, de todo había), pero todas las claves AES se almacenaban en un archivo en el sistema secuestrado. El módulo descifrador del ransomware podía encontrar fácilmente las claves y descifrar cada archivo, pero también lo podían hacer los investigadores de seguridad mediante reversing. Si no quieres que alguien descifre un archivo, es una mala idea dejar las claves tiradas por ahí… bajo el felpudo, por así decirlo.
Los autores de ransomware se volvieron lógicamente hacia el cifrado asimétrico en busca de solución. La ventaja más evidente de la criptografía asimétrica es que una clave pública puede estar en el sistema de la víctima y su correspondiente clave privada puede estar en otro lugar. Ahora bien, por razones de eficiencia, los archivos no pueden cifrarse con RSA directamente. Es necesario recurrir a algoritmos más rápidos para cifrar el contenido de los archivos, mientras que las correspondientes claves de cifrado simétrico pueden cifrarse individualmente con RSA. Después de todo, una clave AES es sólo 16 bytes para el AES-128 y 32 bytes para el AES-256. Cada clave puede cifrarse fácilmente con RSA antes de ser almacenada en el sistema de la víctima. RSA las cifra con la clave pública, así que mientras la clave privada no esté disponible para la víctima, no podrá descifrar las claves AES.
Existen dos variantes ingenius de este enfoque, ambas problemáticas:
El primer enfoque consiste en generar el par de claves con antelación y codificar la clave pública en el propio malware. Una vez que el malware ha cifrado todas las claves AES con la clave pública, la víctima tiene que pagar el rescate para que se le envíe la clave privada para su descifrado. El fallo obvio de este diseño es que la misma clave privada desbloquearía todos los sistemas atacados por el ransomware, ya que cada copia del malware incorpora la misma clave pública.
El segundo enfoque consiste en que el ransomware genere el par de claves RSA en el sistema de la víctima y transmita la clave privada al servidor de comando y control (C&C). Ahora una clave pública única por cada muestra de malware cifra las claves AES. Cuando el atacante libera la clave privada para descifrar, sólo desbloquea los archivos de la víctima específica. El problema aquí es que el sistema tiene que estar en línea para deshacerse de la clave privada y muchos sistemas de monitorización de red detectarán transmisiones a IPs de riesgo, desde las cuales operan los servidores de C&C. La mera transmisión de la clave privada podría revelar la presencia del ransomware antes incluso de que haya empezado a cifrar los archivos del sistema. Es más sigiloso hacerlo todo en local, hasta que el sistema esté completamente bloqueado.
El ransomware moderno resuelve todos estos problemas con un enfoque bastante inteligente:
El atacante genera en su propio sistema una pareja de claves asimétricas para uso a largo plazo, a las que llamaremos claves asimétricas permanentes.
El atacante crea un malware y codifica la clave pública permanente en el malware. Cuando el malware se activa en la máquina de la víctima, lo primero que hace es generar en local un nuevo par de claves asimétricas, a las que llamaremos el par de claves local. Cifra inmediatamente la nueva clave privada local generada usando la clave pública permanente del atacante, incrustada en el malware. Antes de seguir, elimina concienzudamente la clave privada local no cifrada.
El malware comienza a cifrar los archivos del disco utilizando AES-CTR o AES-CBC. Cada archivo se cifra con una clave simétrica diferente, generada aleatoriamente, y luego cada clave se cifra con la clave pública local. La versión sin cifrar de cada clave simétrica se destruye a conciencia tan pronto como el archivo termina de ser cifrado.
Una vez concluido todo el proceso, los archivos de la víctima han acabado cifrados con claves AES aleatorias que a su vez están cifradas con la clave pública local. Estas claves AES se pueden descifrar con la clave privada RSA local, pero esa clave se guarda cifrada con la clave pública permanente del atacante y la correspondiente clave privada no está en la máquina de la víctima, sino en la del atacante.
El atacante muestra a la víctima un mensaje exigiendo el rescate. Si la víctima acepta y paga el rescate (normalmente a través de Bitcoin), el atacante proporciona algún tipo de código de autenticación al malware. El malware transmite la clave privada local cifrada al atacante. Utilizando su clave privada permanente, descifra la clave privada local y la envía de vuelta a la víctima. Ahora se pueden descifrar todas las claves AES y, con ellas, todos los archivos cifrados de esa máquina, pero de ninguna otra.
Lo sutil de este protocolo es que el atacante nunca revela su clave privada permanente. Sigue siendo privada. El atacante se limita a descifrar una clave privada secundaria para que la víctima la use para desbloquear el resto del sistema. Como esta clave privada local es distinta para cada sistema comprometido, su revelación solo afecta al sistema en cuestión.
Bien implementada, la criptografía de un ransomware es inatacable. Con el tiempo, los ingenieros de reversing de las grandes firmas de antivirus no encontrarán manera de crear “descifradores”. Sólo nos quedarán la prevención y la disciplina férrea con las copias de seguridad.
En un mundo laboral en constante evolución, las oportunidades de trabajar como freelance se han vuelto cada vez más atractivas y accesibles. La posibilidad de ser tu propio jefe, establecer tus propios horarios y trabajar en proyectos que realmente te apasionan hace que muchos profesionales decidan explorar el fascinante universo del freelance. Además, las dinámicas […]
El pasado 22 de noviembre de 2023, Sam Altman, CEO de OpenAI, fue despedido por la junta directiva de la empresa. La noticia causó un gran revuelo en el mundo de la tecnología, ya que OpenAI es una de las empresas de inteligencia artificial más importantes del mundo. La junta directiva de OpenAI no dio […]
Usamos cookies para asegurar que te damos la mejor experiencia en nuestra web. Si continúas usando este sitio, asumiremos que estás de acuerdo con ello, pero puedes optar por no hacerlo si lo deseas. Cookies are used for ads personalisation. Política de privacidad
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie
Duración
Descripción
cookielawinfo-checkbox-analytics
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional
11 months
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy
11 months
The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.