Hogar / Instrucciones / Gestión de vulnerabilidades. Escaneo inteligente Programas vulnerables

Gestión de vulnerabilidades. Escaneo inteligente Programas vulnerables

Al iniciar 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, lo 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 sus dispositivos de red y enrutador.
  • Problemas de rendimiento: 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 rendimiento
  • 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 al lado de la inscripción Escaneo de virus para cambiar la configuración de escaneo.

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 introducen deliberadamente funciones adicionales. funciones no documentadas o elementos.

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 cuando se conecta una gran cantidad de equipos adicionales, lo que complica la provisión de los necesarios. nivel 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. Las contraseñas que son demasiado simples y no se modifican también pueden incluirse en esta categoría. cuentas por defecto.

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

Los programas que contienen el mayor número de vulnerabilidades están instalados en casi todos los ordenadores. 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 que se publica una solución (parche), existen muchas oportunidades para 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 instalar un producto de software que contenga fallas de diversos grados de criticidad es muy alta.

Para minimizar la cantidad de brechas en el software, es necesario utilizar SDL (Security Development Lifecycle, ciclo de vida de desarrollo seguro). 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 plantear 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.

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 el nombre del archivo, un hash seguro del archivo y el tamaño, que se pueden usar para confirmar que la aplicación instalada está en el sistema y que los archivos binarios no han sido modificado por un tercero. Estas etiquetas están firmadas firma digital 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 mencionó 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. lo último en 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.

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 un análisis de software que se realiza sobre el código fuente de los programas y se implementa sin ejecutar realmente el programa en estudio.

Software a menudo contiene varias vulnerabilidades debido a errores en el código del programa. Los errores cometidos durante el desarrollo del programa en algunas situaciones conducen al fallo del programa y, en consecuencia, se interrumpe 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.

Para identificar vulnerabilidades, se utilizan varias herramientas, por ejemplo, analizadores estáticos del código fuente del programa, 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 la 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 estropeadas pueden ocurrir cuando la entrada del usuario se pasa al intérprete de algún lenguaje externo (generalmente un shell Unix o SQL) sin control suficiente. En este caso, el usuario puede especificar los datos de entrada de tal manera que el intérprete ejecutado ejecutará un comando completamente diferente al previsto por los autores del programa vulnerable.
  • Errores cadenas de formato(vulnerabilidad de cadena de formato). Este tipo de vulnerabilidad de seguridad es una subclase de la vulnerabilidad de "entrada corrupta". 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.