Cómo funciona el ransomware

Una de las ciberamenazas más recurrentes es el ransomware, y mucho se habla de él en noticias y publicaciones dada la cantidad de ataques a empresas que se realizan, pero ¿entendemos cómo funciona el ransomware? En este artículo nuestro investigador en seguridad Ignacio Espinosa te lo explica.

Para lograr su objetivo principal el ransomware debe cumplir dos características esenciales y que no puede dejar de tener: por un lado debe ser capaz de infectar a los teléfonos o computadores víctimas del ataque, es decir, debe ser capaz de encontrar una manera de entrar en el dispositivo y ejecutarse; y por otro lado debe lograr cifrar todos los archivos que quiere secuestrar para que puedan ser utilizados como rehenes y lograr finalmente el pago por parte de los afectados.

La primera de estas características, la capacidad de infectar computadores, hace que el ransomware sea básicamente un tipo de malware o virus, eso quiere decir: Un programa computacional que abusa de alguna vulnerabilidad del sistema para lograr ser ejecutado. Este abuso puede ser de muchos tipos, pero los principales son:

  •  Descuido de las usuarias y usuarios: Caer en un ataque de phishing, instalar un programa poco confiable descargado desde Internet… estas son algunas de las maneras más comunes de engañar a las personas y lograr que ejecuten directamente un programa malicioso en los computadores que están utilizando.
  •  Abuso de fallas conocidas en aplicaciones: Es común que el ransomware intenté aprovechar de vulnerabilidades ya conocidas y corregidas en aplicaciones populares tales como navegadores de Internet, suites de ofimática o los propios sistemas operativos, abusando del hecho que estos no siempre se mantienen al día con las últimas actualizaciones y parches de seguridad disponibles.
  • Utilización de 0days: Es menos común, pero posible, que los ransomware utilicen vulnerabilidades que aún no han sido descubiertas por las desarrolladoras y desarrolladores para abusar e infectar los sistemas de las víctimas. Este tipo de ataques es el más sofisticado y peligroso ya que no existe una manera fácil y clara de protegerse de lo que no se conoce.

Finalmente, una vez que el ransomware ya ha infectado y ha sido ejecutado en el sistema de la víctima, el programa hace una búsqueda de todos los archivos que quiere secuestrar (documentos de texto, presentaciones, planillas de cálculo, imágenes, videos, etc.) y los procesa cifrando su contenido mediante una llave secreta que la o él atacante sólo va a entregar una vez realizado el pago del rescate. Para realizar el proceso de cifrado, la o el atacante debe elegir entre algunos mecanismo conocidos:

  • Cifrado simétrico: En este caso la llave «secreta» debe estar de alguna manera inserta en el ransomware y sólo es cosa de paciencia e ingenio para que un analista de malware pueda dar con la llave secreta y logra descifrar cualquier archivo que haya sido víctima de este ransomware.
  • Cifrado asimétrico: Para evitar escribir la llave secreta en el propio programa se puede utilizar este mecanismo en dónde existe una llave pública y una privada: la llave pública se almacena en el ransomware y permite que los archivos sean cifrados, pero sólo la llave privada puede ser utilizada para descifrar la información y esta se mantiene a resguardo por parte de la o el atacante. El cifrado asimétrico pareciera ser la solución final pero tiene un inconveniente: para descifrar los archivos, el atacante debe entregar la llave privada (y dar pié a que esta pueda ser publicada, difundida y que nadie más necesite pagar el secuestro) o recibir toda la información en su propio computador para luego procesarla y entregarla en su forma original nuevamente, lo que es evidentemente muy lento y caro en términos de procedimiento.
  • Ambos, simétrico y asimétrico: Tomando en consideración los problemas de los dos esquemas anteriores, las y los atacantes actuales utilizan una versión híbrida en dónde el ransomware usa cifrado asimétrico para proteger la llave privada, que sólo va a tener la atacante, y transformar el contenido del computador utilizando cifrado simétrico con una llave secreta generada en cada infección y que es a su vez cifrada con la llave pública de la atacante, de manera que sólo ella tiene la información necesaria para poder obtener la información en su estado original y sólo necesita obtener el archivo cifrado que contiene la llave secreta específica de esa infección una vez que el pago ha sido realizado.