.. _malware: Software malicioso ****************** :dfn:`Software malicioso` o :dfn:`malware` (vocablo construido por la fusión de **MAL**\ iciuos soft\ **WARE**) es todo aquel diseñado para aprovechar con propósitos espurios una vulnerabilidad del sistema. Existen muchos tipos diferentes que reciben su nombre atendiendo a distintos criterios como su estrategia de ejecución o su efecto. Según su **estrategia de ejecución** .. _virus: :dfn:`Virus` Es, en general, código capaz de replicarse a sí mismo que por analogía con su contraparte biológica reciben este nombre. Sin embargo, es conveniente reservar este término sólo para aquellos virus cuyo código se acopla a un archivo legítimo y entra en funcionamiento al acceder o ejecutar éste. Una macro maliciosa de hoja de cálculo o procesador de textos que se activa al abrir el archivo es un ejemplo típico de virus. Una vez desatado el *virus* lleva a cabo dos acciones: + Actuar como un virus Infectando otros archivos semejantes que, si son transportados y ejecutados en otro equipo, provocarán la infección de éste. + Llevar a cabo el efecto por el que fueron creados. Un conocido virus de los tiempos de MS-DOS fue el `ping pong `_ que se adhería no aun ejecutable sino a los sectores de arranque. .. _gusano: :dfn:`Gusano` Tipo particular de :ref:`virus ` (en la medida en que se replica a sí mismo), que se caracteriza porque se propaga de ordenador a ordenador sin necesidad de intervención humana. Son pues código independiente, no código adherido. Con la generalización de la conexión de redes de los ordenadores, este tipo de virus cobró especialmente relevancia, ya que pueden aprovechar remotamente alguna vulnerabilidad que presente algún servicio de red. .. _exploit: Muy comúnmente los gusanos son :dfn:`exploits`, esto es, código que aprovecha la vulnerabilidad en un programa, producto de un error de programación o un defecto de diseño. De hecho, las actualizaciones de *software*, en muchas ocasiones, no pretenden mejorar sus funcionalidades, sino solucionar problemas de seguridad para evitar la acción de este tipo de programas maliciosos. Por lo general, una de las herramientas más eficaces para evitarlos es precisamente, tener actualizado el sistema. Por ejemplo, desde su versión XP y hasta antes de su versión 7, los sistemas *Windows*, al detectar la conexión de un dispositivo de almacenamiento, leían automáticamente un archivo oculto dentro del directorio raíz del dispositivo llamado :file:`autorun.inf` con el propósito de lanzar la aplicación para la que pudiera haber sido preparado (en un CD-ROM de instalación de una aplicación, p.e. el propio programa instalador). Esta proceder, sin embargo, favoreció la proliferación de toda una familia de gusanos cuyo *modus operandi* era crear en los dispositivos un archivo :file:`autorun.inf` que cargara el código vírico\ [#]_. .. _troyano: :dfn:`Troyano` Es un código malicioso que finge ser un programa legítimo, lo que origina que sea el propio usuario el que lo ejecute manualmente ignorando cuáles son las verdaderas intenciones del código. Aquí, pues, no hay capacidad de autorreplicación, aunque para favorecer su propagación muchos incluyan una segunda fase vírica. Por ejemplo, el troyano más famoso del mundo posiblemente haya sido `I love you `_ que apareció en el año 2000 e infectaba el ordenador gracias a un mensaje de correo con un prometedor asunto como "I love you" y un adjunto que prometía ser una carta de amor. Al pinchar sobre la carta, se desencadenaba su efecto. El troyano, además, presentaba un componente vírico ya que su código, además de afectar al ordenador, consultaba la lista de contactos y reenviaba correos igualmente amorosos a las direcciones de la lista. .. note:: Es común referir *virus*, *gusanos* y *troyanos* con el nombre genérico de virus, aunque sea inexacto y, en el caso de que nos refiramos así a un troyano sin ninguna capacidad de replicación, completamente incorrecto. Según su **efecto** .. _rasonware: :dfn:`Ransomware` Código malicioso (muy comúnmente en forma de troyano) que cifra la información del sistema que infecta con la intención de cobrar un rescate por la clave que la descifre\ [#]_. De un tiempo a esta parte se han vuelto bastante comunes. El más célebre de ellos fue `WannaCry `_, que llegó a tener efecto mundial y en España afectó a Telefónica. En 2019, un *ransomware* llamado :program:`Ryuk` cifró las bases de datos del Ayuntamiento de Jerez (noticia en `El Confidencial `_ y `El País `_). .. _rogueware: :dfn:`Rogueware`/:dfn:`Scareware` Troyano que adquiere la apariencia de un *software* antiintrusos (p.e. un antivirus) y lanza una falsa alerta de seguridad que nos propone corregir el problema. .. _rat: :dfn:`RAT` (Herramientas de administración remota) Troyano cuyo objetivo es ofrecer al atacante el control remoto del equipo de la víctima. Suelen actuar abriendo una **puerta trasera** en el sistema atacado. .. _spyware: :dfn:`Spyware` Es un *malware* (troyano generalmente) cuyo propósito es el de espiar a la víctima, robarle información y entregarla al atacante. Su propósito puede ser muy diverso: * Robo de contraseñas de acceso. * Registro de las pulsaciones de teclado (llamados :dfn:`keylogger`). * Seguimiento de la huella digital, que :ref:`analizaremos con posterioridad `.` .. _adware: :dfn:`Adware` Código cuyo propósito es mostrar publicidad a la víctima en su sistema. Suelen ser troyanos que en muchos casos se instalan acompañando a la instalación de otro *software*. .. _botnet: :dfn:`Zombificadores`\ [#]_ :dfn:`Malware` cuyo propósito es integrar el equipo en una red de robots (*botnet*) para la ejecución de un determinado plan: - :ref:`Ataques DDoS `. - Envío de spam. - Minería de bitcoins. Al ordenador infectado se le denomina :dfn:`zombie` (más bien *zombi* que es el término en castellano). :dfn:`Bloqueador` Es un *malware* cuyo propósito es bloquear el funcionamiento de aplicaciones de seguridad como cortafuegos o antivirus. :dfn:`Hijacker` Es un *Malware* que secuestra el navegador modificando la página de inicio o el motor de búsqueda con el propósito de que la víctima acceda involuntariamente a ciertas páginas. También bloquean la modificación de sus modificaciones para impedir que el usuario las deshaga. :dfn:`Hoax` Son *malware* que advierten de la existencia de un virus que no existe. Todo su efecto consiste en advertir de ello. :dfn:`Rootkit` Son aquellos que permiten el escalado de privilegios o la ocultación de cierta información (como los puertos abiertos) a fin de que otro *malware* pueda aprovecharse de ello. Podemos, además, definir otros términos que no tiene por qué referir *malware*, pero que están relacionados con la seguridad: .. _bomba-logica: :dfn:`Bombas lógicas` Es aquel *malware* diseñado para permanecer latente y actuar sólo tras cumplirse una determinada condición: una fecha (en este se habla de :dfn:`bombas de tiempo`), un suceso (un despido, p.e.), etc. Una conocida bomba de tiempo fue el `virus Viernes 13 `_. :dfn:`Spam` Son mensajes no deseados enviados masivamente a través del correo electrónico. Pueden contener publicidad o algún adjunto que sea un troyano. :dfn:`Cookies maliciosas` Son *cookies* de navegador cuyo propósito es recoger hábitos de usuarios. .. _phishing: :dfn:`Phishing` Son técnicas de engaño que pretenden robar información de acceso a cuentas de diverso tipo (de redes sociales, de web bancarias, etc.). Las técnicas son variadas: + Simulación de la web del sitio original. Puede ir acompañado de una manipulación del |DNS| para que la |URL| también sea la que espera el usuario. + Correo electrónico haciéndose pasar por la entidad. + SMS o Mensajería instantánea. .. rubric:: Notas al pie .. [#] Por lo general, la forma de evitarlos era tan simple como, en el propio sistema, deshabilitar esa peligrosa característica para evitar contagiarse al conectar un dispositivo externo ajeno; y en los dispositivos propios crear un directorio de nombre :file:`autorun.inf` que evitara la copia de su código vírico por parte del gusano. .. [#] *Ransom* significa rescate en inglés. .. [#] En realidad, no he encontrado cuál es término que se usa para designar al *malware* diseñado para convertir equipos en zombis. .. |URL| replace:: :abbr:`URL (Uniform Resource Locator)`