Lección 2: Vulnerabilidades, amenazas y riesgo
Vulnerabilidades
Se puede definir una vulnerabilidad como una debilidad en el sistema. Es decir, algún punto débil que, si alguien lo encuentra, puede ser usado para conseguir que el sistema se comporte de forma diferente a la esperada. Las vulnerabiliades pueden existir tanto en los procedimientos, como en el diseño y la implementación.
Vulnerabilidades en los procedimientos
Son puntos débiles en los procedimientos (no necesariamente informáticos) que se utilizan en el trabajo (empresas, organizaciones) o en la vida personal. Por ejemplo, que el procedimiento en una empresa para recuperar una contraseña olvidada sea llamar por teléfono.
Un atacante podría aprovechar este procedimiento para conseguir establecer una contraseña de su elección en una de las cuentas. El ataque será más o menos sencillo en función de detalles del procedimiento tales como si es necesario usar un teléfono corporativo o está permitido llamar desde cualquier número, si se conocen todos en la empresa, o si se solicita algún mecanismo de identificación adicional.
Vulnerabilidades en el diseño
Son puntos débiles del diseño del sistema. Por ejemplo, un sistema puede estar diseñado para usar contraseñas de un máximo de 8 caracteres.
En este caso el atacante puede aprovechar este hecho para tratar de adivinar la contraseña o para probar todas las contraseñas posibles (ataque por fuerza bruta). El ataque será más o menos sencillo en función de cómo se eligen las contraseñas (para tratar de adivinarla) o de la velocidad con la que sea posible probar contraseñas (fuerza bruta).
Vulnerabilidades en la implementación
Aparecen cuando los puntos débiles se deben a que la implementación no se ajusta al diseño. Por ejemplo, el diseño permite contraseñas de longitud arbitraria, pero la implementación solamente almacena los primeros 8 caracteres, bien por limitaciones de los componentes utilizados, bien por un fallo de implementación.
Amenazas
Se puede definir amenaza como el conjunto de circunstancias que puede causar un comportamiento no deseado del sistema. Las amenazas son peligrosas en tanto en cuanto existen punto débiles (vulnerabilidades) que permiten que se produzca el daño (comportamiento no esperado del sistema). Los dos principales tipos de amenaza son las naturales y las humanas.
Amenazas debidas a causas naturales
Lógicamente, los fenómenos naturales como fuegos, inundaciones o terremotos pueden causar comportamientos no deseados de los sistemas. Por este motivo, los sistemas críticos suelen estar replicados y distantes entre sí, para reducir al máximo las interrupciones del servicio.
Otras causas naturales son menos llamativas, pero pueden ser igual de efectivas a la hora de causar daño. Por ejemplo, ordenadores funcionando en salas con polvo, temperatura excesiva o vibraciones fallarán con mayor facilidad que los que trabajan en entornos más favorables.
Amenazas debidas a las personas
En esta categoría entran tanto las causas involuntarias como voluntarias, tanto de personal de la organización como externa a ella.
Las involuntarias se deben habitualmente a errores en el trabajo con los sistemas informáticos (por ejemplo, un administrador de sistemas que realiza un borrado recursivo por error) como errores al usar los servicios ofrecidos (por ejemplo, un usuario que da de baja su cuenta por error).
En cambio, las voluntarias hacen referencia a personas que tienen interés en provocar que los sistemas informáticos se comporten de forma diferente a la prevista. En este caso, se trata de actividades maliciosas que tienen el carácter de ataque al sistema. En función de quién realice el ataque, se habla de amenazas internas o externas.
Las amenazas internas se deben a personal interno o a posibles ataques lazados desde dentro de la organización. A este grupo corresponden las amenazas debidas a personal resentido con la empresa (por ejemplo, a causa de un despido) o que haya podido ser sobornado o coaccionado a realizar actividades maliciosas. Estas personas disponen de conocimiento del funcionamiento interno de los sistemas y, muchas veces, de acceso autorizado al sistema. También pertenecen a este grupo las amenazas de posibles ataques que se lancen desde dentro de la empresa. Evidentemente, pueden ser debidos a usuarios autorizados con comportamiento malicioso (grupo anterior). No obstante, esta participación no es imprescindible. En efecto, un ordenador corporativo puede haber sido comprometido sin participación ni conocimiento de su dueño (por ejemplo, por haber visitado un sitio web ya comprometido, por abrir un adjunto de correo electrónico...). A esta categoría pertenecería también el uso de dispositivos propios en el entorno corporativo (BYOD, bring your own device).
Las amenazas externas se corresponden con posibles ataques lanzados desde fuera de la empresa u organización. Evidentemente, ataques que inicialmente son externos pueden convertirse en internos en cuanto consiguen control de cualquier sistema corporativo, especialmente de aquéllos menos protegidos (por que se considera que al no ofrecer servicios o no disponer de información sensible no serán objeto de ataque).
Independientemente de si son internas o externas, es interesante también distinguir entre amenazas aleatorias y dirigidas. Las amenazas dirigidas son las que tienen un objetivo específico. Por ejemplo, una persona o empresa en particular. Normalmente, los ataques asociados suelen tener una mayor preparación previa y contar con más recursos. En cambio, las aleatorias son aquéllas que se lanzan en busca de sistemas vulnerables, realizando barridos a través de redes enteras (incluso a toda Internet). Normalmente este tipo de ataques tiene como objetivo tomar control de sistemas poco protegidos como paso previo para la realización de otro tipo de actividades maliciosas. Estos sistemas intermedios pueden ser agregados en grandes redes (botnets) controladas remotamente para realizar ataques masivos (DDOS, ataque por fuerza bruta a contraseñas, captura de credenciales bancarias...). Además, estos sistemas intermedios sirven para dificultar la identificación del origen real de los ataques.
Tipos de ataques y atacantes
Dentro de las amenazas con origen malicioso, conviene continuar la tarea de clasificación para conocer mejor a qué se enfrentan los sistemas. En este sentido, se distinguen entre diferentes tipos de ataques y de atacantes.
Atacante humano frente a ataque automatizado
Uno de los aspectos importantes a tener en cuenta es que, cada vez más, los ataques son, en gran medida, automatizados. Es decir, no los realiza una persona de forma interactiva, paso a paso, a ritmo humano. Al contrario, los ataques son lanzados mediante programas que trabajan al ritmo que permiten los ordenadores. Esto significa que la reacción tiene que ser también automática, pues desde que se encuentra una vulnerabilidad hasta que el sistema ha sido completamente comprometido pueden pasar unas pocas décimas de segundo.
Incluso en los ataques iniciados por una persona que prueba inicialmente el sistema y, en función de lo que encuentra continúa avanzando, el atacante tendrá habitualmente preparados programas para lanzar en el momento adecuado para evitar ser detectado o ser expulsado del sistema antes de haberse garantizado acceso continuado al sistema (por ejemplo, mediante la instalación de puertas traseras y/o troyanos).
Frecuencia, severidad y APTs
Otro aspecto relevante es la frecuencia con la que se pueden esperar los ataques y la intensidad de los esfuerzos tras dichos ataques. Los ataques más frecuentes son los no dirigidos, que continuamente exploran las redes en busca de sistemas poco protegidos (low hanging fruit, como se dice en inglés). No obstante, la intensidad de los ataques no hace sino aumentar, ya que los beneficios económicos detrás de ataques con éxito dependen de la importancia de los sistemas y, como ya se ha discutido, la información que los sistemas manejan es cada vez mayor y más sensible, la dependencia de los sitemas es también cada vez mayor y, cada vez más, incluyen instalaciones y servicios críticos (electricidad, agua, transportes, instalaciones industriales...).
Es precisamente este aumento del número de sistemas interconectados y de su importancia estratégica para personas, empresas, organizaciones, estados..., lo que ha causado la aparición de lo que se han denominado APTs, Advanced Persistent Threats, o, en castellano, Amenazas Avanzadas Persistentes. Las APTs se caracterizan por corresponderse con ataques avanzados. Es decir, con gran cantidad de recursos, con un elevado nivel de sofistificación y de conocimiento y claramente dirigidos a un cierto objetivo. Pero, al mismo tiempo, con un interés en permanecer ocultos, pasando inadvertidos, de forma que se pueda mantener la actividad en los sistemas comprometidos durante meses o años, sin ser descubiertos. Esto hace de ellos ataques persistentes, claramente relacionados con objetivos a largo plazo, muchas veces relacionados con el espionaje (industrial, económico, de personas o estados...).
Tipos de atacantes
Sin tratar de ser exahustivos, los atacantes pueden ser:
- Individuos. Inicialmente, la mayor parte de ataques tenía su origen en individuos que simplemente tenían curiosidad y ganas de aprender, o que lo hacían por diversión o desafío. Hoy en día, la presión económica (hay gente dispuesta a pagar a las personas con estas habilidades) hace que la mayor parte de ataques tengan una motivación económica o de venganza, pues ya nadie considera como inocuas o loables este tipo de actvidades.
- Grupos de personas. De forma similar a los atacantes individuales, pero más o menos organizados, muchas veces con financiación externa.
- El crimen organizado. La rentabilidad económica de los ciberataques, junto con la dificultad que tienen las fuerzas del orden para perseguir internacionalmente estas actividades, hace que muchas organizaciones criminales opten por incluir la ciberdelincuencia entre sus fuentes de ingreso.
- Terroristas. La dependencia cada vez mayor de sistemas informáticos y la posibilidad de, mediante ciberataques, causar daño o terror (apagones, accidentes de todo tipo...), hace que los terroristas comiencen a optar por esta vía de actuación.
- Estados. También los estados están involucrados cada vez más abiertamente en actividades de ciberespionaje, ciberataque y ciberdefensa.
Riesgo
Para establecer el nivel de seguridad adecuado para un sistema, es necesario hacer una estimación del riesgo al que debe hacer frente. Aunque la estimación de riesgos queda fuera de los objetivos de este curso, de forma informal, resulta útil definir el riesgo como una función de cuatro elementos: vulnerabilidades, amenazas, probabilidad e impacto.
- Vulnerabilidades. Un análisis de vulnerabilidades es la base para conocer los puntos débiles del sistema y, por tanto, un factor esencial a la hora de calcular el riesgo. Hay que tener en cuenta que continuamente se descubren vulnerabilidades en las aplicaciones, protocolos y sistemas que se utilizan, por lo que es necesaria una actualización periódica.
- Amenazas. Dependiendo de la función del sistema, de la información que gestiona y de la activiadad de la empresa u organización, será necesario estimar qué tipo de amenazas son de aplicación a cada caso concreto.
- Probabilidad. Es la probabilidad de que las vulnerabilidades sean explotadas en la práctica. Esta probabilidad será mayor cuanto más fácilmente explotable sea una vulnerabilidad, pero también cuanto mayor sea el nivel de amenaza.
- Impacto. En caso de que un ataque tenga éxito, ¿qué consecuencias tendría? Es conveniente destacar que es fácil subestimar el impacto, pues es necesario tener en cuenta todos los posibles efectos perniciosos que un ataque puede causar (interrupción total o parcial de la actividad de la empresa, clientes insatisfechos, pérdida de credibilidad, pérdida de oportunidades...).
Aunque están claramente relacionadas con los cuatro factores que se acaba de discutir, resulta útil tener en cuenta los siguientes aspectos adicionales:
- Todos los sistemas están bajo amenaza. Como ya se ha discutido, aunque no sean un objetivo en sí mismo, cualquier sistema es útil para algún tipo de atacante. A modo de ejemplo, se pueden usar para incluirlo en botnets, para ocultar el origen real de un posterior ataque o como paso previo para un ataque mayor.
- Pueden, y probablemente existirán, vulnerabilidades que solamente conoce el atacante (vulnerabilidades de día cero). Estas vulnerabilidades tienen su propio mercado negro y se mantienen ocultas hasta que son utilizadas.
- La probabilidad de sufrir un ataque es, probablemente, mayor que la estimada. (Ver los dos ítems anteriores).
- El impacto será, probablemente, mayor de lo estimado.
Francisco Javier Cervigon Ruckauer
No hay comentarios:
Publicar un comentario