Cómo construimos la gestión de vulnerabilidades



Introducción al tema


En nuestra práctica de trabajar con diferentes tipos de clientes, desde grandes compañías internacionales hasta pequeñas empresas o incluso empresarios individuales, observamos problemas similares cuando intentamos trabajar sistemáticamente con vulnerabilidades.

Si bien la empresa es relativamente pequeña, es suficiente tener uno o varios escáneres de vulnerabilidades y un especialista que realice verificaciones periódicas de toda la infraestructura, cubriendo los problemas más obvios o fáciles de solucionar.

En la práctica, cuando una empresa crece, crece la cantidad de dispositivos en la red, se utilizan nuevos sistemas de información, incluidos los no estándar, un enfoque simple ya no es suficiente, porque la empresa quiere respuestas a las preguntas:

  • ¿Y con qué vulnerabilidades del informe del escáner (puede haber miles y decenas de miles) necesita trabajar y por qué?
  • ¿Cuánto cuesta arreglar estas vulnerabilidades?
  • ¿Y alguien puede realmente usarlos para lanzar un ataque?
  • ¿Y qué estoy arriesgando si no corrijo nada?
  • ¿Y cómo asegurarse de que todo esté arreglado?

No todos los guardias de seguridad y administradores de sistemas tendrán una respuesta clara a todas estas preguntas. Además, no olvide que la gestión de vulnerabilidades en sí misma es un proceso bastante complicado, y hay muchos factores que influyen en la toma de decisiones:

  • altos riesgos de convertirse en víctima de un ataque masivo o dirigido si las vulnerabilidades no se eliminan a tiempo (especialmente el perímetro externo);
  • el alto costo de eliminación de muchas vulnerabilidades, especialmente si no hay parches ya preparados o si la vulnerabilidad está expuesta a una gran cantidad de dispositivos distribuidos (a menudo esto es un factor de detención y, como resultado, los problemas persisten);
  • Si diferentes personas o incluso compañías que no siempre tienen las calificaciones necesarias para la evaluación correcta de las vulnerabilidades detectadas son responsables de diferentes tipos de equipos, el proceso de eliminación puede llevar mucho tiempo o no comenzar en absoluto;
  • Si se utilizan equipos especializados o sistemas SCADA, existe una alta probabilidad de ausencia de los parches necesarios por parte del fabricante o la incapacidad de actualizar el sistema en principio.

Debido a todo esto, el proceso de gestión de vulnerabilidades, implementado al azar, no parece efectivo y comprensible a los ojos de la empresa.

Dadas las necesidades del negocio y entendiendo los detalles específicos de trabajar con vulnerabilidades de seguridad de la información, en Akribia se nos ocurrió un servicio por separado.

¿Qué se nos ocurrió?


Pensamos que la gestión de vulnerabilidades debía abordarse sistemáticamente, como cualquier proceso. Y este es precisamente el proceso, además, continuo e iterativo, que consta de varias etapas.

Conexión del cliente


Nos encargamos de la provisión, configuración y soporte de todas las herramientas necesarias. El cliente solo debe asignar un servidor virtual o físico (posiblemente varios si la red es grande y está distribuida). Nosotros mismos instalaremos todo lo necesario y lo configuraremos para la operación correcta.

Inventario de activos y perfiles


En resumen, el punto es identificar todos los dispositivos en la red, dividirlos en grupos del mismo tipo (el nivel de detalle de dicho desglose puede variar según la escala de la red del cliente o la presencia de una gran cantidad de dispositivos específicos), seleccione los grupos para los que se presta el servicio, personas responsables de los grupos seleccionados.



Es importante no solo llevar a cabo este procedimiento una vez, sino resaltar los patrones para que pueda comprender lo que está sucediendo en la red en cualquier momento, encontrar nuevos dispositivos, encontrar dispositivos antiguos que se han movido, encontrar nuevos subtipos dentro de los grupos y más. Esto es importante El inventario ocurre constantemente con una frecuencia dada. En nuestra práctica, hemos llegado a la conclusión de que sin comprender la estructura de los activos, la gestión efectiva de la vulnerabilidad no es factible.

Trabajamos en el algoritmo de creación de perfiles de activos durante mucho tiempo, cada vez que agregamos nuevas condiciones o modificamos todo desde cero. No revelaremos todos los detalles técnicos y daremos líneas de código que implementen nuestro algoritmo, solo daremos una secuencia general de acciones:

  1. El cliente proporciona un plan de red IP.
  2. Usando un escáner de red, se forma una huella digital para cada dispositivo en función de los puertos de red abiertos y el sistema operativo.
  3. Los perfiles se combinan por dispositivo y tipo (por ejemplo, Cisco Catalyst 2960 \ Equipo de red).
  4. Cuando aparece un nuevo dispositivo, se busca el perfil más similar.
  5. Si la precisión es insuficiente, el cliente especifica el tipo de dispositivo.
  6. Se realizan análisis de red repetidos periódicamente para actualizar los datos y buscar nuevos dispositivos y tipos.

En ausencia de un plan IP preciso de la red (por ejemplo, cuando se utiliza DHCP o el "factor humano"), es posible la opción de creación de perfiles en línea basada en varias direcciones IP conocidas. A continuación, se definen dispositivos similares dentro del tipo y se actualiza el perfil.

Este enfoque nos permite determinar el tipo de dispositivo con una precisión de aproximadamente el 95%, pero siempre queremos más. Estamos abiertos a nuevas ideas, comentarios y comentarios. Si hay algo que no hemos tenido en cuenta, estamos listos para discutir en los comentarios.

Horario de escaneo


Cuando ya tenemos toda la información necesaria sobre la red del cliente, elaboramos un cronograma para buscar vulnerabilidades, teniendo en cuenta la frecuencia requerida de las verificaciones para cada tipo de dispositivo. La frecuencia puede ser cualquiera: de 1 día a 1 año. La frecuencia, por un lado, depende de qué tan rápido y con qué frecuencia el cliente esté listo para trabajar con las vulnerabilidades de uno u otro equipo, por otro lado, afecta el precio del servicio.

Por ejemplo, un plan podría verse así:



Es importante tener en cuenta que recomendamos enfáticamente verificar el perímetro de la red externa diariamente para minimizar el riesgo de explotar vulnerabilidades de 1 día (recién publicado). La misma recomendación se aplica a los recursos web públicos del cliente.

En realidad, escaneo


Una semana antes de la fecha de inicio planificada para los grupos de dispositivos de escaneo, contactamos a la persona responsable del grupo, le informamos sobre las fechas de escaneo y le enviamos una lista completa de los dispositivos que revisaremos. En esta etapa, puede ajustar (si es necesario) el área de verificación. Esto se hace para minimizar los riesgos de reconocimiento incorrecto de dispositivos en la red.

Después de completar el escaneo, la persona responsable también es informada. Es decir los interesados ​​están SIEMPRE actualizados.

Utilizamos varios escáneres diferentes, incluidas herramientas separadas para buscar vulnerabilidades en los sistemas web. Entonces obtenemos más información para el análisis y podemos encontrar más problemas potenciales.

Para optimizar los costos, no podemos escanear todo el grupo de dispositivos del mismo tipo, sino limitarnos a una muestra representativa, por ejemplo, 30-50% de dispositivos seleccionados al azar del grupo o 30-50% de dispositivos de cada oficina distribuida geográficamente. Cuando se encuentran vulnerabilidades críticas en dispositivos selectivos, se inicia una búsqueda de vulnerabilidades específicas que ya se encuentran en todos los dispositivos del grupo. Entonces obtenemos la cobertura más completa en menos tiempo.

Es importante tener en cuenta que existen vulnerabilidades separadas que no están determinadas por las herramientas estándar. Cuando comenzamos a escanear un cierto tipo de dispositivo, verificamos todas las vulnerabilidades públicas y nos aseguramos de que nuestros escáneres puedan encontrarlas. Si entendemos que las herramientas estándar no son suficientes, buscamos vulnerabilidades individuales manualmente o desarrollamos nuestras propias herramientas para la verificación.

Y lo más importante, cuando aparece información sobre una nueva vulnerabilidad peligrosa en el espacio público, no esperaremos un análisis programado. Todos los clientes que puedan sufrir la vulnerabilidad que acabamos de encontrar serán notificados de inmediato del problema, y ​​realizaremos una verificación no programada.

En general, una descripción detallada de nuestra tecnología de búsqueda de vulnerabilidades está algo más allá del alcance de este artículo, pero puede familiarizarse con la presentación que hicimos en el Foro SOC en 2017.

Análisis de resultados de escaneo


Si alguna vez ha ejecutado un escáner de vulnerabilidades en una red corporativa de más de 100 hosts, probablemente recuerde la sensación que surge cuando mira una lista de registros de un kilómetro de largo, del contenido del cual a primera vista se entiende poco. Sin un conocimiento especial, es difícil evaluar adecuadamente qué dejar como está, qué debe arreglarse y en qué orden actuar.

Tomamos este paso sobre nosotros mismos, miramos los resultados, seleccionamos problemas verdaderamente críticos que pueden causar un daño real al negocio del cliente.

Evaluamos parámetros tales como:

  • Disponibilidad de un dispositivo / servicio vulnerable para un atacante potencial;
  • la presencia de una hazaña pública;
  • complejidad de la operación;
  • riesgo potencial para el negocio;
  • ¿Es un falso positivo?
  • complejidad de eliminación;
  • Y así sucesivamente.

Después del procesamiento, publicamos las vulnerabilidades "verificadas y aprobadas" en el sistema de gestión de incidentes (hablaremos de ello por separado), donde el personal del cliente puede verlas, hacer preguntas, llevarlas a trabajar o rechazarlas si se aceptan riesgos.

Si es necesario, también organizamos una consulta con la persona responsable de los dispositivos vulnerables y le contamos en detalle qué se ha encontrado, a qué se enfrenta y qué opciones hay para minimizar los riesgos.

Después de que la vulnerabilidad se transfiere al trabajo, la pelota va al lado del cliente y procedemos a escanear el siguiente grupo de dispositivos.

Pero el proceso para el primer grupo no termina ahí.

Control de vulnerabilidad


En el sistema, para cada vulnerabilidad publicada, puede establecer el estado y la fecha límite para la eliminación. Monitoreamos los cambios de estado, así como los plazos.

Si el cliente cierra la vulnerabilidad, vemos esto y ejecutamos una verificación para asegurarnos de que la vulnerabilidad haya desaparecido realmente. Porque la verificación se inicia solo para una vulnerabilidad, luego no lleva mucho tiempo, el resultado se puede obtener en un día para cientos de miles de hosts o incluso en segundos para un pequeño grupo de dispositivos.

Si la vulnerabilidad está realmente cerrada, lo confirmamos. Si se preserva la vulnerabilidad en todos o parte de los dispositivos del grupo, entonces volveremos para su revisión.

El ciclo de trabajo con cada vulnerabilidad finaliza solo cuando confirmamos que ya no está en todos los dispositivos vulnerables.

El esquema general se parece a esto:



En el proceso de controlar la eliminación de vulnerabilidades, se pueden distinguir 2 subprocesos auxiliares: control de plazos y trabajo con los responsables de cerrar la vulnerabilidad del lado del cliente.

Control de tiempo

Repito, para cada vulnerabilidad, se debe asignar una fecha límite para su eliminación. Este parámetro lo establece el cliente de forma independiente, es decir No dictamos qué tan rápido deben trabajar los empleados responsables de los clientes, pero supervisamos el logro de los objetivos. Si las tareas están atrasadas, se notifica al titular del proceso de gestión de vulnerabilidades del cliente. La información sobre vulnerabilidades que se cerraron a tiempo o expiraron es reflejada por nosotros en informes periódicos con los nombres de, por así decir, "excelentes estudiantes" y "dobles". También consideramos un indicador como la velocidad promedio de reparación de vulnerabilidades. Por lo tanto, el cliente recopila la información necesaria para programar, cargar responsable, así como sobre sus logros u omisiones.

Trabajar con responsable

A veces, para vulnerabilidades individuales, es necesario asignar a varias personas responsables, transferir todo o parte del trabajo en la tarea a otra persona, o simplemente cambiar a la persona responsable, porque el primero falló, se fue de vacaciones, de baja por enfermedad, etc. Todo esto nos permite implementar nuestro sistema.

La siguiente imagen muestra el esquema del servicio en el contexto de una vulnerabilidad.


Efectividad


Así es como construimos el proceso de trabajo y vemos en nuestro enfoque una serie de ventajas y oportunidades que ayudarán a trabajar de manera más efectiva con las vulnerabilidades y al mismo tiempo resolver los problemas identificados en la primera parte del artículo:

  1. Asumimos no solo la tarea de lanzar escáneres para buscar vulnerabilidades en la red, sino también el análisis de los resultados de su trabajo. Filtramos el exceso y el resultado final es una lista de vulnerabilidades con las que podemos y debemos trabajar.
  2. Al hacer esta lista y presentarla a los especialistas responsables del cliente, siempre escribimos 2 cosas: una descripción detallada del significado de la vulnerabilidad y el impacto negativo en el negocio que conlleva, y recomendaciones para eliminar o minimizar los riesgos. Por lo tanto, siempre puede comprender lo que sucederá si no hace nada, y puede estimar el tiempo y el costo de implementar las medidas recomendadas.
  3. Si todavía hay dudas o argumentos a favor de eliminar una cierta vulnerabilidad, también podemos probar la posibilidad de explotar esta vulnerabilidad en condiciones reales o cercanas a las reales. Después de tal "mini-pentest", se verá cuán posible y difícil es para un atacante potencial realizar un ataque.
  4. Finalmente, cuando se completa el trabajo de eliminación de vulnerabilidades, siempre lo verificamos. Por lo tanto, se puede eliminar el riesgo de errores u omisiones.

Y el cliente, a su vez, recibe valiosas oportunidades en nuestra opinión y puede:

  • centrarse en grupos de dispositivos realmente importantes y controlar su estado con mayor frecuencia;
  • centrarse en vulnerabilidades verdaderamente peligrosas que pueden causar daños reales;
  • supervisar el trabajo en cada vulnerabilidad, realizar un seguimiento de los cambios de estado y plazos;
  • recibir asesoramiento individual sobre el cierre de vulnerabilidades;
  • liberar el tiempo de sus empleados necesario para lanzar y procesar los resultados de los escaneos, así como para configurar y dar soporte a todas las herramientas necesarias;
  • Bueno, y como un bono para el CFO: traducir los costos de capital de comprar sus propias herramientas para escanear en costos operativos para pagar los servicios de expertos.

Interesante? En la sección de servicios de nuestro sitio web, puede ver los precios, así como solicitar servicios de prueba en condiciones especiales.

Source: https://habr.com/ru/post/460048/


All Articles