Genérico 6min de Leitura - 17 de septiembre de 2020

Procesos para prevenir los ataques cibernéticos

This post is also available in: Português Español

Conozca algunos de los medios para entender las estructuras, metodologías y herramientas que ayudan a identificar, cuantificar y comprender las amenazas de hackers.

El modelado de amenazas es un proceso estructurado mediante el cual los profesionales de TI pueden identificar posibles amenazas y vulnerabilidades de seguridad, medir su gravedad y dar prioridad a las técnicas de reducción de ataques y proteger los recursos de TI.

Esta definición es amplia, y puede sonar como «apenas» la descripción del trabajo de un profesional de seguridad cibernética. Pero lo importante de un modelo de amenaza es que es sistemático y estructurado. La modelización de amenazas sigue una serie de pasos concretos para entender plenamente el entorno que tratan de proteger, identificando las vulnerabilidades y los posibles atacantes.

De esta manera, la modelización de amenazas continúa siendo, de cierta forma, un arte y una ciencia al mismo tiempo, y no solamente un solo proceso. Existen varias prácticas de seguridad, especialmente la idea de los «árboles de ataque» desarrollada en los años 90. En 1999, los empleados de Microsoft, Loren Kohnfelder y Praerit Garg distribuyeron un documento dentro de la empresa llamado «Las amenazas a nuestros productos», considerado por muchos como la primera descripción del modelo de amenazas. Kohnfelder y Garg llamaron a su propuesta Stride Model.

Es importante saber que existe una gran variedad de estructuras y métodos de modelización de amenazas. Algunos modelos tienen énfasis diferentes, mientras que otros son específicos de ciertas esferas de la tecnología de la información, como aquellos que se centran específicamente en la seguridad de aplicaciones. Es necesario entonces, comprender qué tienen en común todas esos métodos y qué técnicas específicas pueden ser las más apropiadas para cada situación.

Procesos y pasos de la modelización de amenazas

Cada metodología individual de modelización de amenazas consta de diferentes etapas. Hay un flujo lógico básico común a todos esos métodos. Una de las guías más precisas y directas del proceso de modelado de amenazas proviene del ingeniero de software Goran Aviani. Para él, el objetivo de un modelo de amenaza es responder a cuatro preguntas:

  1. ¿En qué estamos exactamente trabajando?
  2. ¿Qué puede salir mal?
  3. ¿Qué estamos haciendo al respecto?
  4. ¿Hicimos un buen trabajo?

El proceso de modelización de la amenaza, a su vez, debe implicar cuatro grandes etapas, cada una de las cuales producirá una respuesta a cada pregunta.

  1. Descomponer la aplicación o la infraestructura.
  2. Determinar las amenazas.
  3. Determinar medidas de combate y atenuación.
  4. Clasificar amenazas.

Para entender exactamente lo que ocurre en cada una de esas etapas, es necesario hablar sobre las técnicas específicas subyacentes al modelaje de amenazas.

Técnica de modelado de amenazas

Talvez el término más conocido en las etapas anteriormente mencionadas, sea la palabra “descomponer”. Pero, ¿qué significa descomponer una aplicación o una infraestructura? El ingeniero de software Andrea Della Corte dice que, en términos generales, consiste en comprender mejor la aplicación y cómo interactúa con los entes externos. Ello supone crear casos de uso para comprender cómo se utiliza la aplicación, identificar los puntos de entrada para ver dónde puede interactuar un posible intruso con la aplicación, identificar los bienes (es decir, los artículos/áreas en los que el intruso estaría interesado), e identificar los niveles de confianza que representan los derechos de acceso que la aplicación concederá a las entidades externas. Esto se refiere específicamente a la seguridad de las aplicaciones, pero también puede aplicarse a una visión general de la infraestructura.

Una de las técnicas para descomponer una aplicación es crear un diagrama de flujo de datos. Estas fueron desarrolladas en la década de 1970 como una forma de representar visualmente la forma en que los datos se mueven alrededor de una aplicación o sistema, y dónde se alteran o almacenan esos datos por diversos componentes. El concepto de límite de confianza, que ilustra un punto en el flujo de datos en el que es necesario validar los datos antes de que puedan ser utilizados por la entidad receptora, se añadió a principios de los años 2000, y esta idea es esencial para utilizar un diagrama de flujo de datos para la elaboración de modelado de amenazas.

Debido a que los diagramas de flujo de datos fueron desarrollados por ingenieros de sistemas, no por profesionales de la seguridad, incluyen sobrecargas que no son necesarias para el modelado de amenazas. Así que, una alternativa a un diagrama de flujo de datos es un diagrama de flujo de proceso.

En general son similares, pero más simplificados y centrados en las maneras en que los usuarios y la ejecución de código se mueven dentro de un sistema, reflejando más de cerca la forma de pensar de los hackers.

Árbol de ataque

La construcción de un árbol de ataque es una técnica de modelado de amenazas que cobra importancia cuando se llega a la etapa en que se determinan las posibles amenazas contra la aplicación, software o infraestructura. Los árboles de ataque fueron creados a finales de los años 90, y consisten en una serie de estructuras de tipo «parent and child nodes», algo así como «nodo padre», de mayor rango, y » nodo hijo» que emerge de los padres. De esa manera, representando diferentes eventos, siendo las conexiones hijos las condiciones que deben cumplirse para que los nodos padres sean reales y auténticos. El nodo raíz – el padre principal del diagrama – es el objetivo general del ataque. Con un árbol de ataque, los modeladores de amenazas pueden ver qué conjunto de circunstancias deben reunirse para que una amenaza tenga éxito.

Las técnicas para determinar las medidas para combatir y clasificar las amenazas varían mucho, según la estructura o el método elegido.

Estructuras y métodos de modelado de amenazas más populares

  1. STRIDE
  2. DREAD
  3. PASTA
  4. GRANDE
  5. Trike
  6. OCTAVE
  7. NIST

Modelado de amenazas: STRIDE

Es el abuelo de los modelados de amenazas, desarrollado por primera vez por Microsoft a finales de los 90. STRIDE representa las seis categorías de amenaza, cada una de las cuales viola una competencia específica de las variaciones de la CIA:

  • Falsificación o representación de otra persona o computadora, violando la autenticidad;
  • Manipulación de datos, violando la integridad;
  • Repudio o incapacidad de vincular lo a usted una acción que ha realizado, violando el no repudio;
  • La divulgación de información, violando la confidencialidad;
  • Negación de servicio, violando la disponibilidad;
  • Elevación de privilegios, violando la autorización.

Modelado de amenazas: DREAD

Está diseñado como complemento del modelo STRIDE, y permite a los modeladores, clasificar las amenazas una vez identificadas. DREAD representa seis preguntas que podrían hacerse sobre cada amenaza potencial:

  • Potencial de daño: ¿cuál sería el daño si se explotara la vulnerabilidad?
  • Reproducibilidad: ¿Es fácil reproducir el ataque?
  • Exploración: ¿Qué tan fácil es lanzar un ataque?
  • Usuarios afectados: Con un porcentaje aproximado, ¿cuántos usuarios se ven afectados?
  • Detectabilidad: ¿Es fácil encontrar la vulnerabilidad?

Cada una de estas preguntas se responde con notas que van del 1 al 3.

Modelado de amenazas: PASTA

Se trata de un proceso de simulación de ataques y análisis de amenazas, de siete etapas centrados en la alineación de los requisitos técnicos de seguridad con los objetivos comerciales. Cada paso es bastante complejo, y se divide en varias subetapas. Pero en general, tiene la siguiente secuencia:

  1. Definir objetivos
  2. Definir alcance técnico
  3. Descomposición de aplicaciones
  4. Análisis de amenazas
  5. Análisis de vulnerabilidades y debilidades
  6. Modelado de ataque
  7. Análisis de riesgo e impacto

Modelado de amenazas: VAST

VAST significa Visual Agile Threat Modeling. Este modelo que se encuentra por debajo del ThreatModeler, es una plataforma de modelado de amenazas automatizada que distingue las aplicaciones y modelos de las amenazas operacionales. VAST está diseñado específicamente para integrar los flujos de trabajo creados en torno a la filosofía DevOps.

Modelado de amenazas: Trike

Se trata de una estructura y herramienta de código abierto que lo acompaña en la modelización de amenazas y la evaluación de riesgos. Opera de manera defensiva, en lugar de tratar de imitar el proceso de pensamiento de un atacante. Con Trike, es posible modelar el sistema que se intenta defender, evaluando todos los componentes desde el punto de vista de CRUD, es decir, quién tiene los recursos para crear, leer, actualizar o eliminar esta entidad. Las amenazas se identifican mediante interacción, por medio de un diagrama de flujo de datos, y cada amenaza se clasifica sólo en dos categorías: denegación de servicio o elevación del privilegio.

Modelado de amenazas: OCTAVE

En inglés, el nombre significa Evaluación Crítica Operacional de Amenazas, Activos y Vulnerabilidades. Fue desarrollado en la Universidad de Carnegie Mellon, y se centra en los riesgos organizativos y no tecnológicos. Consiste en tres fases:

  1. Crear perfiles de amenazas, basado en activos
  2. Identificar la vulnerabilidad de la infraestructura
  3. Desarrollar una estrategia y planes de seguridad

Modelado de amenazas: NIST

El Instituto Nacional de Estándares y Tecnología de los Estados Unidos tiene su propio método de modelización de amenazas centrada en datos, que cuenta con cuatro pasos:

  1. Identificar y caracterizar el sistema y los datos de interés;
  2. Identificar y seleccionar los vectores de ataque a incluir en el modelo;
  3. Caracterizar los controles de seguridad para minimizar los vectores de ataque;
  4. Analizar el modelo de amenaza

Prácticas recomendadas de modelización de amenazas

Independientemente del método escogido, hay algunas prácticas que deben seguirse. Tal vez lo más importante es hacer que el modelado de amenazas sea una prioridad durante el desarrollo del sistema. Si existe la posibilidad de hacer esto al principio de un proyecto, se puede evitar mucho trabajo de revisión.

Otra práctica recomendada es el no exhibir aplicaciones y sistemas aislados entre sí. Si los diversos modelos de amenazas están conectados entre sí de la misma manera que las aplicaciones y los componentes interactúan como parte del sistema de TI, el resultado es una superficie de ataque integral que el oficial responsable por la seguridad de la información puede utilizar para comprender todo el repertorio de amenazas de la empresa. Y lo más importante, un modelo de amenaza debe ser un documento activo que debe ser actualizado constantemente. Después de todo, los ciberdelincuentes siempre están buscando nuevas formas de atacar, y todo indica que nunca se dan vacaciones.

This post is also available in: Português Español