¿Cómo aplicar las técnicas de la red neuronal al perfil de activos en una prueba de penetración automatizada?

por | May 13, 2020 | IA en la prueba de penetración automatizada

El perfil de activos es un punto de partida para planificar una cadena de ataque y es una base importante. Muchas de las decisiones tomadas en la cadena de ataque se basan en los resultados del perfil de activos. Por lo tanto, el perfil de activos es para entender el objetivo a fondo, lo cual es muy importante como dice el viejo dicho «Necesitamos conocer a nuestro enemigo a fondo para ganar la batalla».

Las técnicas convencionales de reconocimiento de activos suelen utilizar la comparación de reglas o la comparación de patrones, pero hay algunos conjuntos de atributos que no se pueden identificar mediante reglas. Por ejemplo, en un sitio web de una impresora HP, su idioma puede ser el árabe o el griego, que no entendemos. Pero cuando vemos este sitio web, seguimos sabiendo que es un sitio web de una impresora. ¿Por qué?

Porque su diseño, su estilo y su estructura pueden ser usados como atributos, y estos conjuntos de atributos nos dicen que es un sitio web de una imprenta. Pero tales atributos son difíciles de describir con la expresión tradicional basada en reglas o expresiones regulares. Pero con el perfil de activos de la IA, es muy adecuado. Este es el punto 1.

El segundo punto es que, en un ataque real, tales identificaciones de bienes se realizan a menudo muchas veces, ya que esas características del objetivo pueden ser eliminadas deliberadamente o incluso falsificadas. Si sólo se basa en un simple mecanismo de comparación de reglas, es muy fácil ser desechado. Así que, en lugar de la comparación tradicional, en RidgeBot ejecutamos el perfil de activos usando el enfoque de la red neuronal.

El último punto es que las características de los bienes no sólo se expresan por sus características de cadena o algunos atributos visuales. De hecho, también tiene una relación con muchas entidades de red. Hemos elevado el reconocimiento de los activos a otro nivel llamado «perfil de activos». ¿Qué significa esto? Que construimos algunos gráficos de conocimiento, y luego utilizamos el conocimiento para minar las relaciones entre los activos y otras entidades, organizaciones, incluso personas. Muchos de nuestros activos en la red están realmente definidos/determinados por esas relaciones.

Por ejemplo, como hacker, una vez que me registré en una red, y hay muchos servidores en ella, pero hay un servidor que encontré que tiene un alto tráfico de entrada y los otros servidores están todos relacionados con él, y también tiene una gran cantidad de datos de bajada. Puedo asumir inicialmente que un servidor específico está haciendo algunos servicios de almacenamiento de datos, y sin duda trataré de atacarlo primero.

Otro ejemplo, si encuentro una cierta entidad, no puedo reconocerla por otros métodos, sólo sé que, entre semana, de 9 a 18 horas tiene una relación con una entidad, y luego el fin de semana, tiene una relación con otras entidades. Puedo inferir que esta entidad puede ser un teléfono móvil o un portátil. Durante la semana, se conecta con la red de la oficina, y el fin de semana con la red de la casa. Construir tales relaciones ayudará a identificar los activos. Por ejemplo, si ataco a la red de la oficina, y si puedo reconocer qué portátil es el del CEO o el de RR.HH., definitivamente le daré prioridad ya que el valor de la información obtenida de sus ordenadores tiende a ser mayor.