Articulo de referencia

Árbol de ataque

Los árboles de ataque son diagramas conceptuales que muestran cómo un activo, o un objetivo, podría ser atacado. [ 1 ] Los árboles de ataque se han utilizado en una variedad de ...

Los árboles de ataque son diagramas conceptuales que muestran cómo un activo, o un objetivo, podría ser atacado. [ 1 ] Los árboles de ataque se han utilizado en una variedad de aplicaciones. En el campo de la tecnología de la información, se han utilizado para describir amenazas a los sistemas informáticos y posibles ataques para materializar esas amenazas. Sin embargo, su uso no se limita al análisis de sistemas de información convencionales. Se utilizan ampliamente en los campos de defensa y aeroespacial para el análisis de amenazas contra sistemas electrónicos resistentes a manipulaciones (por ejemplo, aviónica en aeronaves militares). [ 2 ] Los árboles de ataque se están aplicando cada vez más a los sistemas de control informático (especialmente en relación con la red eléctrica ). [ 3 ] Los árboles de ataque también se han utilizado para comprender las amenazas a los sistemas físicos.

Algunas de las primeras descripciones de árboles de ataque se encuentran en artículos de Bruce Schneier [ 4 ] , cuando era director de tecnología de Counterpane Internet Security . Schneier participó activamente en el desarrollo de los conceptos de árboles de ataque y fue fundamental para su difusión. Sin embargo, las atribuciones en algunos de los primeros artículos disponibles públicamente sobre árboles de ataque [ 5 ] también sugieren la participación de la Agencia de Seguridad Nacional en su desarrollo inicial.

Los árboles de ataque son muy similares, si no idénticos, a los árboles de amenazas . Los árboles de amenazas fueron desarrollados por Jonathan Weiss de Bell Laboratories para cumplir con las directrices de la norma MIL STD 1785 [ 6 ] para el trabajo de AT&T sobre mando y control para aplicaciones federales, y fueron descritos por primera vez en su artículo de 1982. [ 7 ] Este trabajo fue posteriormente analizado en 1994 por Edward Amoroso. [ 8 ]

Básico

Árbol de ataque para virus informáticos. Aquí asumimos un sistema como Windows NT , donde no todos los usuarios tienen acceso completo al sistema. Todos los nodos secundarios operan con condiciones OR.

Los árboles de ataque son diagramas multinivel que constan de una raíz, hojas e hijos. De abajo hacia arriba, los nodos hijos representan condiciones que deben cumplirse para que el nodo padre directo sea verdadero; cuando se cumple la condición de la raíz , el ataque se completa. Cada nodo solo puede ser satisfecho por sus nodos hijos directos .

Un nodo puede ser hijo de otro nodo; en tal caso, resulta lógico que se requieran varios pasos para llevar a cabo un ataque. Por ejemplo, consideremos las computadoras de las aulas, que están sujetas a los pupitres. Para robar una, hay que cortar el cable de seguridad o desbloquear la cerradura. La cerradura se puede desbloquear forzándola o consiguiendo la llave. La llave se puede obtener amenazando a quien la guarda, sobornándolo o sustrayéndola del lugar donde está guardada (por ejemplo, debajo de la alfombrilla del ratón). Así, se puede dibujar un árbol de ataque de cuatro niveles, uno de cuyos caminos es ( Sobornar a quien guarda la llave , Obtener la llave , Desbloquear la cerradura , Robar la computadora ).

Un ataque descrito en un nodo puede requerir que se cumplan uno o más de los ataques descritos en nodos secundarios . Nuestra condición anterior solo muestra condiciones OR ; sin embargo, se puede crear una condición AND , por ejemplo, asumiendo una alarma electrónica que debe desactivarse solo si se corta el cable. En lugar de convertir esta tarea en un nodo secundario de cortar la cerradura, ambas tareas pueden simplemente llegar a una unión sumadora. De esta manera, se crea la ruta (( Desactivar alarma , Cortar cable ), Robar computadora ).

Los árboles de ataque están relacionados con el formalismo establecido del árbol de fallas. [ 9 ] La metodología del árbol de fallas emplea expresiones booleanas para controlar las condiciones cuando los nodos padre son satisfechos por los nodos hoja. Al incluir probabilidades a priori con cada nodo, es posible realizar cálculos de probabilidades con nodos superiores utilizando la regla de Bayes . Sin embargo, en la realidad, las estimaciones de probabilidad precisas no están disponibles o son demasiado costosas de obtener. Con respecto a la seguridad informática con participantes activos (es decir, atacantes), la distribución de probabilidad de los eventos probablemente no sea independiente ni uniformemente distribuida, por lo que el análisis bayesiano ingenuo no es adecuado.

Dado que las técnicas analíticas bayesianas utilizadas en el análisis de árboles de fallos no pueden aplicarse legítimamente a los árboles de ataque, los analistas emplean otras técnicas [ 10 ] [ 11 ] para determinar qué ataques serán preferidos por un atacante en particular. Estas pueden implicar la comparación de las capacidades del atacante (tiempo, dinero, habilidad, equipo) con los requisitos de recursos del ataque específico. Los ataques que están cerca o más allá de la capacidad del atacante para realizarlos son menos preferidos que los ataques que se perciben como baratos y fáciles. El grado en que un ataque satisface los objetivos del adversario también afecta las decisiones del atacante. Los ataques que están dentro de las capacidades del adversario y que satisfacen sus objetivos son más probables que aquellos que no lo hacen.

Examen

Los árboles de ataque pueden volverse extensos y complejos, especialmente al tratar con ataques específicos. Un árbol de ataque completo puede contener cientos o miles de rutas diferentes que conducen a la finalización del ataque. Aun así, estos árboles son muy útiles para determinar qué amenazas existen y cómo afrontarlas.

Los árboles de ataque pueden ser útiles para definir una estrategia de seguridad de la información . Sin embargo, es importante considerar que la implementación de políticas para ejecutar esta estrategia modifica el árbol de ataque. Por ejemplo, se puede proteger contra los virus informáticos denegando al administrador del sistema el acceso para modificar directamente los programas y carpetas existentes, exigiendo en su lugar el uso de un gestor de paquetes . Esto añade al árbol de ataque la posibilidad de fallos de diseño o vulnerabilidades en el gestor de paquetes.

Se podría observar que la forma más eficaz de mitigar una amenaza en el árbol de ataque es hacerlo lo más cerca posible de la raíz . Si bien esto es teóricamente correcto, no suele ser posible mitigar una amenaza sin otras implicaciones para el funcionamiento continuo del sistema. Por ejemplo, la amenaza de virus que infectan un sistema Windows puede reducirse considerablemente utilizando una cuenta estándar (sin privilegios de administrador) y el sistema de archivos NTFS en lugar de FAT , de modo que los usuarios normales no puedan modificar el sistema operativo. Implementar esto elimina cualquier posibilidad, prevista o imprevista, de que un usuario normal infecte el sistema operativo con un virus ; sin embargo, también requiere que los usuarios cambien a una cuenta de administrador para realizar tareas administrativas, lo que crea un conjunto diferente de amenazas en el árbol y una mayor sobrecarga operativa. Además, los usuarios aún pueden infectar archivos sobre los que tienen permisos de escritura, que pueden incluir archivos y documentos.

Desde el año 2000 se han desarrollado sistemas que utilizan agentes cooperativos que examinan e identifican dinámicamente cadenas de vulnerabilidades , creando árboles de ataque. [ 12 ]

Véase también

Referencias

  1. R. Shirey (agosto de 2007). Glosario de seguridad de Internet, versión 2. Grupo de trabajo de redes. doi : 10.17487/RFC4949 . RFC 4949 .Informativo.
  2. Departamento de Defensa de EE. UU., "Guía de Adquisiciones de Defensa", Sección 8.5.3.3
  3. Chee-Wooi Ten, Chen-Ching Liu, Manimaran Govindarasu, Evaluación de vulnerabilidades de ciberseguridad para sistemas SCADA mediante árboles de ataque, "Copia archivada" (PDF) . Archivado del original (PDF) el 30-06-2010 . Recuperado el 04-04-2012 .{{cite web}}: CS1 mantenimiento: copia archivada como título ( enlace )
  4. Schneier, Bruce (diciembre de 1999). "Árboles de ataque" . Dr Dobb's Journal, vol. 24, n.º 12. Archivado del original el 6 de agosto de 2007. Consultado el 16 de agosto de 2007 .
  5. Chris Salter, O. Sami Saydjari, Bruce Schneier, Jim Wallner, Hacia una metodología de ingeniería de sistemas seguros, "Copia archivada" (PDF) . Archivado (PDF) del original el 23-06-2011 . Recuperado el 04-04-2012 .{{cite web}}: CS1 mantenimiento: copia archivada como título ( enlace )
  6. "PROGRAMA DE INGENIERÍA DE SEGURIDAD DEL SISTEMA MIL-STD-1785". everyspec.com . Consultado el 5 de septiembre de 2023.
  7. "Un proceso de ingeniería de seguridad de sistemas, 14.ª Conferencia Nacional de Seguridad Informática, Washington D.C." (PDF) . Consultado el 18 de marzo de 2023 .
  8. Amoroso, Edward (1994). Fundamentos de seguridad informática . Upper Saddle River: Prentice Hall . ISBN 0-13-108929-3.
  9. "Manual de árboles de fallos con aplicaciones aeroespaciales" (PDF) . Archivado del original (PDF) el 28-12-2016 . Consultado el 26-02-2019 .
  10. Donald L Buckshaw, Gregory S Parnell, Willard L Ulkenholz, Donald L Parks, James M Wallner, O. Sami Saydjari, Análisis de diseño orientado a la misión de sistemas de información críticos, Military Operations Research V10, N2, 2005,
  11. Terrance R Ingoldsby, Amenaza Technologies Limited, Análisis de riesgo de amenazas basado en árboles de ataque, Un documento técnico del proveedor, "Copia archivada" (PDF) . Archivado (PDF) del original el 4 de marzo de 2016. Recuperado el 9 de abril de 2012 .{{cite web}}: CS1 mantenimiento: copia archivada como título ( enlace )
  12. "NOOSE - Examinador de seguridad orientado a objetos en red, 14.ª Conferencia de Administración de Sistemas (LISA 2000), Nueva Orleans" . Consultado el 21 de abril de 2010 .