Prueba de vulnerabilidad
La prueba de vulnerabilidad, también llamada Evaluación de vulnerabilidad, es un proceso de evaluación de los riesgos de seguridad en los sistemas de software para reducir la probabilidad de amenazas. El propósito de las pruebas de vulnerabilidad es reducir la posibilidad de que intrusos / piratas informáticos obtengan acceso no autorizado a los sistemas. Depende del mecanismo denominado Evaluación de vulnerabilidad y prueba de penetración (VAPT) o prueba VAPT.
Una vulnerabilidad es cualquier error o debilidad en los procedimientos de seguridad del sistema, el diseño, la implementación o cualquier control interno que pueda resultar en la violación de la política de seguridad del sistema.
En este tutorial, aprenderá:
- ¿Qué es la evaluación de vulnerabilidades?
- ¿Por qué realizar una evaluación de vulnerabilidades?
- Proceso de evaluación de vulnerabilidades y pruebas de penetración (VAPT)
- Cómo realizar pruebas de vulnerabilidad
- Tipos de escáner de vulnerabilidad
- Herramientas para el análisis de vulnerabilidades
- Ventajas de la evaluación de vulnerabilidades
- Desventajas de la evaluación de vulnerabilidades
- Comparación de evaluación de vulnerabilidades y pruebas de penetración
- Métodos de prueba de vulnerabilidad
¿Por qué realizar una evaluación de vulnerabilidades?
- Es importante para la seguridad de la organización.
- El proceso de localizar y reportar las vulnerabilidades, que proporciona una forma de detectar y resolver problemas de seguridad clasificando las vulnerabilidades antes de que alguien o algo pueda explotarlas.
- En este proceso, se escanean los sistemas operativos, el software de aplicación y la red para identificar la aparición de vulnerabilidades, que incluyen un diseño de software inadecuado, autenticación insegura, etc.
Proceso de evaluación de la vulnerabilidad
Aquí está el proceso de evaluación de vulnerabilidades paso a paso para identificar las vulnerabilidades del sistema.
Paso 1) Metas y Objetivos : - Definir metas y objetivos de Análisis de Vulnerabilidad.
Paso 2) Alcance : - Al realizar la evaluación y la prueba, el alcance de la tarea debe definirse claramente.
Los siguientes son los tres posibles ámbitos que existen:
- Pruebas de caja negra: - Pruebas desde una red externa sin conocimiento previo de la red y los sistemas internos.
- Pruebas de caja gris: - Pruebas de redes internas o externas con el conocimiento de la red y el sistema internos. Es la combinación de las pruebas de caja negra y de caja blanca.
- Pruebas de caja blanca: - Pruebas dentro de la red interna con el conocimiento de la red y el sistema internos. También conocido como pruebas internas.
Paso 3) Recopilación de información : - Obtener la mayor cantidad de información sobre el entorno de TI como redes, dirección IP, versión del sistema operativo, etc. Es aplicable a los tres tipos de ámbitos, como pruebas de caja negra, pruebas de caja gris y pruebas de caja blanca.
Paso 4) Detección de vulnerabilidades : - En este proceso, los escáneres de vulnerabilidades se utilizan para escanear el entorno de TI e identificar las vulnerabilidades.
Paso 5) Análisis y planificación de la información : - Analizará las vulnerabilidades identificadas para diseñar un plan de penetración en la red y los sistemas.
Cómo realizar una evaluación de vulnerabilidades
A continuación se muestra el proceso paso a paso sobre cómo realizar una evaluación de vulnerabilidades :
Paso 1) Configuración:
- Comenzar la documentación
- Permisos seguros
- Herramientas de actualización
- Configurar herramientas
Paso 2) Ejecución de la prueba:
- Ejecute las herramientas
- Ejecute el paquete de datos capturado (un paquete es la unidad de datos que se enruta entre un origen y el destino. Cuando se envía cualquier archivo, por ejemplo, un mensaje de correo electrónico, un archivo HTML, una solicitud de localizador uniforme de recursos (URL), etc. de un lugar a otro en Internet, la capa TCP de TCP / IP divide el archivo en varios "fragmentos" para un enrutamiento eficiente, y cada uno de estos fragmentos tendrá una numeración única e incluirá la dirección de Internet del destino. Estos Los fragmentos se denominan paquetes. Cuando lleguen todos los paquetes, la capa TCP en el extremo receptor los volverá a ensamblar en el archivo original mientras se ejecutan las herramientas de evaluación.
Paso 3) Análisis de vulnerabilidad:
- Definición y clasificación de los recursos de la red o del sistema.
- Asignar prioridad a los recursos (Ej: - Alto, Medio, Bajo)
- Identificar las amenazas potenciales a cada recurso.
- Desarrollar una estrategia para abordar primero los problemas más priorizados.
- Definir e implementar formas de minimizar las consecuencias si ocurre un ataque.
Paso 4) Informes
Paso 5) Remediación:
- El proceso de reparación de las vulnerabilidades.
- Realizado para cada vulnerabilidad
Tipos de escáner de vulnerabilidades
- Basado en host
- Identifica los problemas en el host o el sistema.
- El proceso se lleva a cabo utilizando escáneres basados en host y diagnostica las vulnerabilidades.
- Las herramientas basadas en host cargarán un software de mediador en el sistema de destino; rastreará el evento y lo informará al analista de seguridad.
- Basado en red
- Detectará el puerto abierto e identificará los servicios desconocidos que se ejecutan en estos puertos. Luego, revelará posibles vulnerabilidades asociadas con estos servicios.
- Este proceso se realiza mediante escáneres basados en red.
- Basado en bases de datos
- Identificará la exposición de seguridad en los sistemas de bases de datos utilizando herramientas y técnicas para prevenir inyecciones SQL. (Inyecciones SQL: - Inyección de declaraciones SQL en la base de datos por parte de usuarios malintencionados, que pueden leer los datos confidenciales de una base de datos y pueden actualizar los datos en la base de datos).
Herramientas para el análisis de vulnerabilidades
Intruso
Intruder es un potente escáner de vulnerabilidades en línea que descubre las debilidades de seguridad en su entorno de TI. Al ofrecer controles de seguridad líderes en la industria, monitoreo continuo y una plataforma fácil de usar, Intruder mantiene a las empresas de todos los tamaños a salvo de los piratas informáticos.
Características:
- La mejor cobertura contra amenazas de su clase con más de 10,000 controles de seguridad
- Comprueba si hay debilidades de configuración, parches faltantes, debilidades de aplicaciones (como inyección de SQL y secuencias de comandos entre sitios) y más
- Análisis automático y priorización de los resultados del análisis.
- Interfaz intuitiva, rápida de configurar y ejecutar sus primeros escaneos
- Monitoreo de seguridad proactivo para las últimas vulnerabilidades
- Conectores de AWS, Azure y Google Cloud
- Integración de API con su canalización de CI / CD
Categoría | Herramienta | Descripción |
---|---|---|
Basado en host | ESTADÍSTICA | Escanee varios sistemas en la red. |
TARA | Asistente de Investigación Analítica del Tigre. | |
Caín y Abel | Recupere la contraseña rastreando la red, descifrando la contraseña HTTP. | |
Metasploit | Plataforma de código abierto para desarrollar, probar y explotar código. | |
Basado en red | Escáner seguro de Cisco | Diagnosticar y reparar problemas de seguridad. |
Wireshark | Analizador de protocolos de red de código abierto para Linux y Windows. | |
Nmap | Utilidad de código abierto gratuita para auditoría de seguridad. | |
Nessus | Integración de gestión de parches, informes y auditoría sin agentes. | |
Basado en bases de datos | Dieta SQL | Puerta de la herramienta Dictionary Attack para el servidor SQL. |
Auditor seguro | Permita al usuario realizar pruebas de enumeración, escaneo, auditoría y penetración y análisis forense en el sistema operativo. | |
DB-scan | Detección de troyanos de una base de datos, detección de troyanos ocultos mediante escaneo de línea de base. |
Ventajas de la evaluación de vulnerabilidades
- Hay herramientas de código abierto disponibles.
- Identifica casi todas las vulnerabilidades
- Automatizado para escaneo.
- Fácil de ejecutar de forma regular.
Desventajas de la evaluación de vulnerabilidades
- Alta tasa de falsos positivos
- Puede detectar fácilmente mediante el firewall del sistema de detección de intrusiones.
- A menudo no se dan cuenta de las últimas vulnerabilidades.
Comparación de evaluación de vulnerabilidades y pruebas de penetración
Evaluación de vulnerabilidad | Pruebas de penetración | |
---|---|---|
Trabajando | Descubrir vulnerabilidades | Identificar y explotar vulnerabilidades |
Mecanismo | Descubrimiento y escaneo | Simulación |
Atención | Amplitud sobre profundidad | Profundidad sobre anchura |
Cobertura de integridad | Alto | Bajo |
Costo | Bajo- Moderado | Alto |
Interpretado por | Personal interno | Un atacante o un probador de bolígrafos |
Conocimiento del probador | Alto | Bajo |
Con que frecuencia correr | Después de que se cargue cada equipo | Una vez al año |
Resultado | Proporcione detalles parciales sobre las vulnerabilidades | Proporcione detalles completos de las vulnerabilidades |
Métodos de prueba de vulnerabilidad
Prueba activa
- Pruebas inactivas, un probador introduce nuevos datos de prueba y analiza los resultados.
- Durante el proceso de prueba, los evaluadores crean un modelo mental del proceso, que crecerá aún más durante la interacción con el software bajo prueba.
- Mientras realiza la prueba, el evaluador participará activamente en el proceso de descubrir los nuevos casos de prueba y las nuevas ideas. Por eso se llama Prueba Activa.
Prueba pasiva
- Pruebas pasivas, monitoreando el resultado de ejecutar el software bajo prueba sin introducir nuevos casos de prueba o datos.
Prueba de red
- La prueba de red es el proceso de medir y registrar el estado actual del funcionamiento de la red durante un período de tiempo.
- Las pruebas se realizan principalmente para predecir el funcionamiento de la red bajo carga o para descubrir los problemas creados por los nuevos servicios.
- Necesitamos probar las siguientes características de red: -
- Niveles de utilización
- Número de usuarios
- Utilización de la aplicación
Pruebas distribuidas
- Las pruebas distribuidas se aplican para probar aplicaciones distribuidas, es decir, las aplicaciones que están trabajando con varios clientes simultáneamente. Básicamente, probar una aplicación distribuida significa probar sus partes cliente y servidor por separado, pero al usar un método de prueba distribuido, podemos probarlas todas juntas.
- Las partes de prueba interactuarán entre sí durante la ejecución de prueba. Esto los sincroniza de manera adecuada. La sincronización es uno de los puntos más cruciales en las pruebas distribuidas.
Conclusión
En ingeniería de software, las pruebas de vulnerabilidad dependen de dos mecanismos, a saber, la evaluación de la vulnerabilidad y las pruebas de penetración. Ambas pruebas se diferencian entre sí por la fuerza y las tareas que realizan. Sin embargo, para lograr un informe completo sobre las pruebas de vulnerabilidad, se recomienda la combinación de ambos procedimientos.
Este artículo es una contribución de Syamini Sreedharan