Gestión de vulnerabilidades. Determinación de software vulnerable en computadoras cliente Monitoreo de la presencia de vulnerabilidades en los sistemas de información

En el arranque escaneo inteligente Avast comprobará su PC para detectar los siguientes tipos de problemas y luego sugerirá soluciones para ellos.

  • Virus: Archivos que contienen código malicioso que puede afectar la seguridad y el rendimiento de su PC.
  • Software vulnerable: Programas que requieren actualización y que pueden ser utilizados por atacantes para obtener acceso a su sistema.
  • Extensiones de navegador con mala reputación: Extensiones del navegador que generalmente se instalan sin su conocimiento y afectan el rendimiento del sistema.
  • Contraseñas débiles: Contraseñas que se utilizan para acceder a más de una cuenta en línea y que pueden piratearse o verse comprometidas fácilmente.
  • Amenazas de red: vulnerabilidades en su red que podrían permitir ataques a su dispositivos de red y un enrutador.
  • Problemas de desempeño: objetos ( archivos innecesarios y aplicaciones, problemas relacionados con la configuración) que pueden interferir con el funcionamiento del PC.
  • Antivirus en conflicto: programas antivirus instalados en tu PC con Avast. Disponibilidad de varios programas antivirus ralentiza su PC y reduce la eficacia de la protección antivirus.

Nota. Ciertos problemas detectados por Smart Scan pueden requerir una licencia separada para resolverse. La detección de tipos de problemas innecesarios se puede desactivar en .

Resolver problemas detectados

Una marca de verificación verde junto al área de escaneo indica que no se encontraron problemas en esa área. Una cruz roja significa que el escaneo ha identificado uno o más problemas relacionados.

Para ver detalles específicos sobre los problemas detectados, haga clic en resolver todo. Escaneo inteligente muestra detalles de cada problema y ofrece la opción de solucionarlo inmediatamente haciendo clic en el elemento Decidir, o hazlo más tarde haciendo clic Salta este paso.

Nota. Los registros de análisis antivirus se pueden ver en el historial de análisis, al que se puede acceder seleccionando Antivirus de protección.

Administrar la configuración de escaneo inteligente

Para cambiar la configuración de Smart Scan, seleccione Configuración General Escaneo inteligente y especifique cuál de los siguientes tipos de problemas desea buscar en el análisis inteligente.

  • Virus
  • Software obsoleto
  • Complementos del navegador
  • Amenazas de red
  • Problemas de compatibilidad
  • Problemas de desempeño
  • Contraseñas débiles

De forma predeterminada, todos los tipos de problemas están habilitados. Para dejar de buscar un problema específico al ejecutar un Smart Scan, haga clic en el control deslizante Incluido junto al tipo de problema para que cambie el estado a Apagado.

Hacer clic Ajustes junto a la inscripción Escaneo de virus para cambiar la configuración de escaneo.

Actualmente, se han desarrollado una gran cantidad de herramientas para automatizar la búsqueda de vulnerabilidades de programas. Este artículo discutirá algunos de ellos.

Introducción

El análisis de código estático es análisis. software, que se produce sobre el código fuente de los programas y se implementa sin la ejecución real del programa en estudio.

El software suele contener varias vulnerabilidades debido a errores en el código del programa. Los errores cometidos durante el desarrollo de programas, en algunas situaciones, provocan un fallo del programa y, en consecuencia, se altera el funcionamiento normal del programa: esto a menudo resulta en cambios y daños a los datos, deteniendo el programa o incluso el sistema. La mayoría de las vulnerabilidades están asociadas con el procesamiento incorrecto de los datos recibidos del exterior o con una verificación insuficientemente estricta de los mismos.

Se utilizan varias herramientas para identificar vulnerabilidades, por ejemplo, analizadores estáticos. código fuente programas, cuya descripción general se ofrece en este artículo.

Clasificación de vulnerabilidades de seguridad.

Cuando se viola el requisito de que un programa funcione correctamente con todos los datos de entrada posibles, es posible que aparezcan las llamadas vulnerabilidades de seguridad. Las vulnerabilidades de seguridad pueden significar que se puede utilizar un programa para superar las limitaciones de seguridad de todo un sistema.

Clasificación de vulnerabilidades de seguridad en función de errores de software:

  • Desbordamiento del búfer. Esta vulnerabilidad se produce debido a una falta de control sobre los límites de la matriz en la memoria durante la ejecución del programa. Cuando un paquete de datos demasiado grande desborda el búfer de tamaño limitado, el contenido de las ubicaciones de memoria extrañas se sobrescribe, lo que provoca que el programa se bloquee y se cierre. Según la ubicación del búfer en la memoria del proceso, los desbordamientos del búfer se distinguen en la pila (desbordamiento del búfer de pila), el montón (desbordamiento del búfer del montón) y el área de datos estáticos (desbordamiento del búfer bss).
  • Vulnerabilidad de entrada contaminada. Las vulnerabilidades de entrada dañada pueden ocurrir cuando la entrada del usuario se pasa al intérprete de algún lenguaje externo (generalmente un shell Unix o SQL) sin suficiente control. En este caso, el usuario puede especificar los datos de entrada de tal manera que el intérprete iniciado ejecute un comando completamente diferente al previsto por los autores del programa vulnerable.
  • Vulnerabilidad de cadena de formato. Este tipo Las vulnerabilidades de seguridad son una subclase de la vulnerabilidad de "entrada contaminada". Ocurre debido a un control insuficiente de los parámetros cuando se utilizan las funciones de formato de E/S printf, fprintf, scanf, etc. de la biblioteca estándar C. Estas funciones toman como uno de sus parámetros una cadena de caracteres que especifica el formato de entrada o salida de los argumentos de función posteriores. Si el usuario puede especificar el tipo de formato, esta vulnerabilidad podría deberse al uso incorrecto de funciones de formato de cadenas.
  • Vulnerabilidades como resultado de errores de sincronización (condiciones de carrera). Los problemas asociados con la multitarea conducen a situaciones llamadas "condiciones de carrera": un programa que no está diseñado para ejecutarse en un entorno multitarea puede creer que, por ejemplo, los archivos que utiliza no pueden ser modificados por otro programa. Como resultado, un atacante que reemplace el contenido de estos archivos de trabajo a tiempo puede obligar al programa a realizar ciertas acciones.

Por supuesto, además de las enumeradas, existen otras clases de vulnerabilidades de seguridad.

Revisión de analizadores existentes.

Las siguientes herramientas se utilizan para detectar vulnerabilidades de seguridad en los programas:

  • Depuradores dinámicos. Herramientas que permiten depurar un programa durante su ejecución.
  • Analizadores estáticos (depuradores estáticos). Herramientas que utilizan información acumulada durante el análisis estático de un programa.

Los analizadores estáticos señalan aquellos lugares del programa donde se puede ubicar un error. Estos fragmentos de código sospechosos pueden contener un error o ser completamente inofensivos.

Este artículo proporciona una descripción general de varios analizadores estáticos existentes. Echemos un vistazo más de cerca a cada uno de ellos.

En algunos casos, las vulnerabilidades surgen debido al uso de herramientas de desarrollo de diversos orígenes, que aumentan el riesgo de que aparezcan defectos de tipo sabotaje en el código del programa.

Las vulnerabilidades aparecen debido a la adición de componentes de terceros o código de distribución gratuita (código abierto) al software. El código de otra persona a menudo se utiliza "tal cual" sin un análisis exhaustivo ni pruebas de seguridad.

No se debe excluir la presencia de programadores internos en el equipo que deliberadamente introducen funciones o elementos adicionales no documentados en el producto que se está creando.

Clasificación de vulnerabilidades del programa.

Las vulnerabilidades surgen como resultado de errores que ocurren durante la etapa de diseño o codificación.

Dependiendo de la etapa en la que se produzcan, este tipo de amenazas se dividen en vulnerabilidades de diseño, implementación y configuración.

  1. Los errores cometidos durante el diseño son los más difíciles de detectar y eliminar. Se trata de imprecisiones en los algoritmos, marcadores, inconsistencias en la interfaz entre diferentes módulos o en los protocolos de interacción con el hardware y la introducción de tecnologías subóptimas. Eliminarlos es un proceso que requiere mucha mano de obra, incluso porque pueden aparecer en casos no obvios, por ejemplo, cuando se excede el volumen de tráfico previsto o al conectarse. gran cantidad equipo adicional, lo que complica la provisión del nivel requerido de seguridad y conduce a la aparición de formas de eludir el firewall.
  2. Las vulnerabilidades de implementación aparecen en la etapa de escribir un programa o implementar algoritmos de seguridad en él. Se trata de una organización incorrecta del proceso informático, defectos sintácticos y lógicos. Existe el riesgo de que la falla provoque un desbordamiento del búfer u otros problemas. Detectarlos lleva mucho tiempo y eliminarlos implica corregir ciertas partes del código máquina.
  3. Los errores de configuración de hardware y software son bastante comunes. Las razones más comunes son un desarrollo de calidad insuficiente y la falta de pruebas para su correcto funcionamiento. funciones adicionales. Esta categoría también puede incluir contraseñas simples y las cuentas predeterminadas no se modifican.

Según las estadísticas, las vulnerabilidades se encuentran especialmente en productos populares y comunes: computadoras de escritorio y dispositivos móviles. sistemas operativos, navegadores.

Riesgos de utilizar programas vulnerables

Programas que encuentran mayor número Las vulnerabilidades están instaladas en casi todas las computadoras. Por parte de los ciberdelincuentes, existe un interés directo en encontrar estos fallos y escribir sobre ellos.

Dado que pasa bastante tiempo desde el momento en que se descubre una vulnerabilidad hasta la publicación de una solución (parche), existen bastantes oportunidades de infectar sistemas informáticos a través de brechas en la seguridad del código del programa. En este caso, el usuario sólo necesita abrir, por ejemplo, un archivo PDF malicioso con un exploit una vez, después de lo cual los atacantes obtendrán acceso a los datos.

En este último caso, la infección se produce según el siguiente algoritmo:

  • El usuario recibe correo electrónico un correo electrónico de phishing de un remitente creíble.
  • Se adjunta a la carta un archivo con un exploit.
  • Si un usuario intenta abrir un archivo, la computadora se infecta con un virus, troyano (cifrador) u otro programa malicioso.
  • Los ciberdelincuentes obtienen acceso no autorizado al sistema.
  • Se están robando datos valiosos.

Las investigaciones realizadas por varias empresas (Kaspersky Lab, Positive Technologies) muestran que existen vulnerabilidades en casi cualquier aplicación, incluidos los antivirus. Por lo tanto, la probabilidad de establecer software, que contiene defectos de distintos grados de criticidad, es muy alto.

Para minimizar el número de lagunas en el software, es necesario utilizar SDL (Security Development Lifecycle, ciclo de vida seguro). ciclo vital desarrollo). La tecnología SDL se utiliza para reducir la cantidad de errores en las aplicaciones en todas las etapas de su creación y soporte. Así, al diseñar software, los programadores y especialistas en seguridad de la información modelan las ciberamenazas para encontrar vulnerabilidades. Durante la programación, se incluyen herramientas automáticas en el proceso para informar inmediatamente posibles fallas. Los desarrolladores se esfuerzan por limitar significativamente la funcionalidad disponible para usuarios que no son de confianza, lo que ayuda a reducir la superficie de ataque.

Para minimizar el impacto de las vulnerabilidades y el daño causado por ellas, debes seguir algunas reglas:

  • Instale rápidamente correcciones (parches) publicadas por los desarrolladores para las aplicaciones o (preferiblemente) habilite Modo automático actualizaciones.
  • Si es posible, no instale programas dudosos cuya calidad y apoyo técnico Hacer preguntas.
  • Utilice escáneres de vulnerabilidad especiales o funciones especializadas de productos antivirus que le permitan buscar errores de seguridad y, si es necesario, actualizar el software.

La gestión de vulnerabilidades es la identificación, evaluación, clasificación y selección de una solución para abordar las vulnerabilidades. La base de la gestión de vulnerabilidades son los depósitos de información sobre vulnerabilidades, uno de los cuales es el Sistema de gestión de vulnerabilidades de “supervisión directa”.

Nuestra solución monitorea la aparición de información sobre vulnerabilidades en sistemas operativos (Windows, Linux/basados ​​en Unix), software de oficina y aplicaciones, software de hardware y herramientas de seguridad de la información.

Fuentes de datos

La base de datos del sistema de gestión de vulnerabilidades del software Perspective Monitoring se actualiza automáticamente desde las siguientes fuentes:

  • Banco de datos de amenazas a la seguridad de la información (BDU BI) FSTEC de Rusia.
  • Base de datos nacional de vulnerabilidad (NVD) NIST.
  • Bugzilla de sombrero rojo.
  • Rastreador de errores de seguridad de Debian.
  • Lista de correo de CentOS.

También utilizamos un método automatizado para actualizar nuestra base de datos de vulnerabilidades. Hemos desarrollado un rastreador web y un analizador de datos no estructurados que cada día analiza más de cien fuentes diferentes extranjeras y rusas en varios países. palabras clave- grupos en redes sociales, blogs, microblogs, medios dedicados a tecnologías de la información y garantizar la seguridad de la información. Si estas herramientas encuentran algo que coincide con los criterios de búsqueda, el analista verifica manualmente la información y la ingresa en la base de datos de vulnerabilidades.

Monitoreo de vulnerabilidades de software

Al utilizar el sistema de gestión de vulnerabilidades, los desarrolladores pueden monitorear la presencia y el estado de las vulnerabilidades detectadas en componentes de terceros de su software.

Por ejemplo, en el modelo de ciclo de vida del desarrollador de software seguro (SSDLC) de Hewlett Packard Enterprise, el control de las bibliotecas de terceros es central.

Nuestro sistema monitorea la presencia de vulnerabilidades en versiones/compilaciones paralelas del mismo producto de software.

Funciona así:

1. El desarrollador nos proporciona una lista de bibliotecas y componentes de terceros que se utilizan en el producto.

2. Comprobamos diariamente:

b. si han aparecido métodos para eliminar vulnerabilidades descubiertas previamente.

3. Notificamos al desarrollador si el estado o la puntuación de la vulnerabilidad ha cambiado, de acuerdo con el modelo de rol especificado. Esto significa que diferentes equipos de desarrollo dentro de la misma empresa recibirán alertas y verán el estado de vulnerabilidad solo del producto en el que están trabajando.

La frecuencia de alerta del Sistema de gestión de vulnerabilidades es configurable, pero si se detecta una vulnerabilidad con una puntuación CVSS superior a 7,5, los desarrolladores recibirán una alerta inmediata.

Integración con ViPNet TIAS

El sistema de software y hardware ViPNet Threat Intelligence Analytics System detecta automáticamente ataques informáticos e identifica incidentes basándose en eventos recibidos de diversas fuentes. seguridad de información. La principal fuente de eventos para ViPNet TIAS es ViPNet IDS, que analiza el tráfico de red entrante y saliente utilizando la base de reglas de decisión AM Rules desarrollada por Perspective Monitoring. Algunas firmas están escritas para detectar la explotación de vulnerabilidades.

Si ViPNet TIAS detecta un incidente de seguridad de la información en el que se aprovechó una vulnerabilidad, entonces toda la información relacionada con la vulnerabilidad, incluidos los métodos para eliminar o compensar el impacto negativo, se ingresa automáticamente en la tarjeta de incidente del sistema de gestión.

El sistema de gestión de incidentes también ayuda en la investigación de incidentes de seguridad de la información, proporcionando a los analistas información sobre indicadores de compromiso y posibles nodos de infraestructura de información afectados por el incidente.

Monitoreo de la presencia de vulnerabilidades en los sistemas de información.

Otro escenario para utilizar un sistema de gestión de vulnerabilidades es el análisis bajo demanda.

El cliente genera de forma independiente, utilizando herramientas integradas o un script desarrollado por nosotros, una lista de lo que está instalado en el nodo (estación de trabajo, servidor, DBMS, paquete de software de seguridad de la información, hardware de red) software y componentes del sistema y de la aplicación, transmite esta lista al sistema de control y recibe un informe sobre las vulnerabilidades detectadas y notificaciones periódicas sobre su estado.

Diferencias entre el Sistema y los escáneres de vulnerabilidad comunes:

  • No requiere instalación de agentes de monitoreo en los nodos.
  • No crea una carga en la red, ya que la arquitectura de la solución en sí no proporciona agentes ni servidores de escaneo.
  • No crea carga en el equipo, ya que se crea la lista de componentes. comandos del sistema o un script ligero de código abierto.
  • Elimina la posibilidad de fuga de información. El “monitoreo prospectivo” no puede aprender nada de manera confiable sobre la ubicación física y lógica o el propósito funcional de un nodo en el sistema de información. La única información que sale del perímetro controlado del cliente es un archivo txt con una lista de componentes de software. El propio cliente comprueba el contenido de este archivo y lo carga en el sistema de control.
  • Para que el sistema funcione no necesitamos Cuentas en nodos controlados. La información es recopilada por el administrador del sitio en su propio nombre.
  • Intercambio seguro de información a través de ViPNet VPN, IPsec o https.

La conexión al servicio de gestión de vulnerabilidades "Monitoreo prospectivo" ayuda al cliente a cumplir con el requisito ANZ.1 "Identificación, análisis de vulnerabilidades del sistema de información y eliminación rápida de vulnerabilidades recientemente identificadas" de las órdenes FSTEC de Rusia No. 17 y 21. Nuestra empresa es una licenciatario de FSTEC de Rusia para actividades relacionadas con la protección técnica de información confidencial.

Precio

Costo mínimo: 25.000 rublos por año para 50 nodos conectados al sistema si existe un contrato válido para la conexión a

Otra forma de ver este problema es que las empresas deben reaccionar rápidamente cuando una aplicación tiene una vulnerabilidad. Esto requiere que el departamento de TI pueda realizar un seguimiento definitivo aplicaciones instaladas, componentes y parches utilizando automatización y herramientas estándar. Existe un esfuerzo en la industria para estandarizar las etiquetas de software (19770-2), que son archivos XML instalados con una aplicación, componente y/o parche que identifican el software instalado y, en el caso de un componente o parche, de qué aplicación se trata. parte de. Las etiquetas tienen información de autoridad del editor, información de versión, una lista de archivos con nombre de archivo, hash de archivo seguro y tamaño, que se pueden usar para confirmar que la aplicación instalada está en el sistema y que archivos binarios no han sido modificados por un tercero. Estas etiquetas están firmadas digitalmente por el editor.

Cuando se conoce una vulnerabilidad, los departamentos de TI pueden utilizar su software de gestión de activos para identificar inmediatamente los sistemas con software vulnerable y pueden tomar medidas para actualizar los sistemas. Las etiquetas pueden ser parte de un parche o actualización que se puede utilizar para verificar que el parche se haya instalado. De esta manera, los departamentos de TI pueden utilizar recursos como la Base de datos nacional de vulnerabilidades del NIST como un medio para administrar sus herramientas de gestión de activos, de modo que una vez que una empresa envía una vulnerabilidad a NVD, TI pueda comparar inmediatamente las nuevas vulnerabilidades con las suyas.

Hay un grupo de empresas que trabajan a través de una organización sin fines de lucro IEEE/ISTO llamada TagVault.org (www.tagvault.org) con el gobierno de EE. UU. en una implementación estándar de ISO 19770-2 que permitirá este nivel de automatización. En algún momento, estas etiquetas correspondientes a esta implementación probablemente serán obligatorias para el software vendido al gobierno de EE. UU. en algún momento de los próximos años.

Entonces, al final del día, es una buena práctica no publicar sobre qué aplicaciones y versiones específicas de software estás usando, pero esto puede ser difícil, como se indicó anteriormente. Desea asegurarse de tener un inventario de software preciso y actualizado, que se compare periódicamente con una lista de vulnerabilidades conocidas, como NVID de NVD, y que TI pueda tomar medidas inmediatas para remediar la amenaza. con la última tecnología de detección Las intrusiones, el análisis antivirus y otras técnicas de bloqueo del entorno harán que, como mínimo, sea muy difícil que su entorno se vea comprometido y, si lo hace, no se detectará durante un largo período de tiempo.