Vulnerabilidades

Solo el 14% de las pequeñas empresas califica su capacidad para mitigar los riesgos cibernéticos, las vulnerabilidades y los ataques como altamente efectiva.

Esto se debe en parte a que las vulnerabilidades de seguridad de la red evolucionan constantemente a medida que los actores de amenazas buscan formas nuevas e intuitivas de obtener acceso a la red de una empresa.

En este artículo, desglosaré los tipos más comunes de vulnerabilidades de red que amenazan la seguridad de tus sistemas en 2021.

Antes de comenzar, definamos qué es una vulnerabilidad de red.

¿Qué es una vulnerabilidad de red?

Una vulnerabilidad de red es una debilidad o falla en el software, hardware o procesos organizacionales, que cuando se ve comprometida por una amenaza, puede resultar en una brecha de seguridad.

Las vulnerabilidades de red no físicas generalmente involucran software o datos. Por ejemplo, un sistema operativo (SO) puede ser vulnerable a ataques de red si no está actualizado con los últimos parches de seguridad. Si no se repara, un virus podría infectar el sistema operativo, el host en el que se encuentra y, potencialmente, toda la red.

Las vulnerabilidades de la red física implican la protección física de un activo, como bloquear un servidor en un armario de rack o asegurar un punto de entrada con un torniquete.

Los servidores cuentan con algunos de los controles de seguridad física más estrictos, ya que contienen datos valiosos y secretos comerciales o realizan una función generadora de ingresos, como un servidor web que aloja un sitio de comercio electrónico. A menudo almacenados en centros de datos externos o en salas seguras, los servidores deben protegerse con tarjetas de acceso personalizadas y escáneres biométricos.

Antes de invertir en controles de seguridad, se realiza una evaluación de riesgo de vulnerabilidad para cuantificar el coste y la pérdida aceptable del equipo y su función. Como ocurre con todo lo relacionado con la seguridad cibernética, es un acto de equilibrio de recursos frente a funcionalidad lo que genera las soluciones más prácticas.

Principales vulnerabilidades

OWASP o Open Web Security Project es una organización benéfica sin fines de lucro centrada en mejorar la seguridad del software y las aplicaciones web.

La organización publica una lista de las principales vulnerabilidades de seguridad web basada en los datos de varias organizaciones de seguridad.

Las vulnerabilidades de seguridad web se priorizan según la explotabilidad, la detectabilidad y el impacto en el software.

  • Explotabilidad: ¿Qué se necesita para aprovechar la vulnerabilidad de seguridad? Máxima explotabilidad cuando el ataque solo necesita un navegador web y la menor es programación y herramientas avanzadas.
  • Detectabilidad: ¿Qué tan fácil es detectar la amenaza? La más alta es la información que se muestra en la URL, el formulario o el mensaje de error y la más baja es el código fuente.
  • Impacto o daño: ¿Cuánto daño se producirá si se expone o ataca la vulnerabilidad de seguridad? Lo más alto es un bloqueo completo del sistema y lo más bajo es nada en absoluto.

El objetivo principal de OWASP Top 10 es educar a los desarrolladores, diseñadores, gerentes, arquitectos y organizaciones sobre las vulnerabilidades de seguridad más importantes.

Las 10 principales vulnerabilidades de seguridad según OWASP Top 10 son:

Inyección SQL

La inyección es una vulnerabilidad de seguridad que permite a un atacante alterar declaraciones SQL de back-end manipulando los datos proporcionados por el usuario.

La inyección ocurre cuando la entrada del usuario se envía a un intérprete como parte de un comando o consulta y engaña al intérprete para que ejecute comandos no deseados y le da acceso a datos no autorizados.

El comando SQL que, cuando se ejecuta mediante una aplicación web, también puede exponer la base de datos back-end.

Implicación:

  • Un atacante puede inyectar contenido malicioso en los campos vulnerables.
  • Los datos confidenciales como nombres de usuario, contraseñas, etc. se pueden leer de la base de datos.
  • Los datos de la base de datos se pueden modificar (Insertar / Actualizar / Eliminar).
  • Las operaciones de administración se pueden ejecutar en la base de datos

Cross Site Scripting

Cross Site Scripting también se conoce en breve como XSS.

Las vulnerabilidades XSS apuntan a scripts incrustados en una página que se ejecutan en el lado del cliente, es decir, en el navegador del usuario en lugar de en el lado del servidor. Estas fallas pueden ocurrir cuando la aplicación toma datos que no son de confianza y los envía al navegador web sin la validación adecuada.

Los atacantes pueden usar XSS para ejecutar scripts maliciosos en los usuarios, en este caso, en los navegadores de las víctimas. Dado que el navegador no puede saber si la secuencia de comandos es confiable o no, la secuencia de comandos se ejecutará y el atacante puede secuestrar las cookies de sesión, desfigurar sitios web o redirigir al usuario a sitios web no deseados y maliciosos.

XSS es un ataque que permite al atacante ejecutar los scripts en el navegador de la víctima.

Al hacer uso de esta vulnerabilidad de seguridad, un atacante puede inyectar scripts en la aplicación, robar cookies de sesión, desfigurar sitios web y ejecutar malware en las máquinas de la víctima.

Autenticación rota y gestión de sesiones

Los sitios web suelen crear una cookie de sesión y un ID de sesión para cada sesión válida, y estas cookies contienen datos confidenciales como nombre de usuario, contraseña, etc. Cuando la sesión finaliza al cerrar sesión o el navegador se cierra abruptamente, estas cookies deben invalidarse, es decir, para cada sesión. debería haber una nueva cookie.

Si las cookies no se invalidan, los datos sensibles existirán en el sistema. Por ejemplo, un usuario que usa una computadora pública (Cyber ​​Cafe), las cookies del sitio vulnerable se encuentran en el sistema y están expuestas a un atacante. Un atacante usa la misma computadora pública después de un tiempo, los datos confidenciales se ven comprometidos.

De la misma manera, un usuario que usa una computadora pública, en lugar de cerrar la sesión, cierra el navegador abruptamente. Un atacante utiliza el mismo sistema, cuando navega por el mismo sitio vulnerable, se abrirá la sesión anterior de la víctima. El atacante puede hacer lo que quiera, desde robar información de perfil, información de tarjeta de crédito, etc.

Se debe realizar una verificación para encontrar la solidez de la autenticación y la administración de sesiones. Las claves, los tokens de sesión y las cookies deben implementarse correctamente sin comprometer las contraseñas.

Objetos vulnerables:

  • Los ID de sesión expuestos en la URL pueden provocar un ataque de fijación de sesión.
  • Los ID de sesión son los mismos antes y después del cierre de sesión y el inicio de sesión.
  • Los tiempos de espera de la sesión no se implementan correctamente.
  • La aplicación asigna el mismo ID de sesión para cada nueva sesión.
  • Las partes autenticadas de la aplicación están protegidas mediante SSL y las contraseñas se almacenan en formato hash o cifrado.
  • La sesión puede ser reutilizada por un usuario con pocos privilegios.

Haciendo uso de esta vulnerabilidad, un atacante puede secuestrar una sesión, obtener acceso no autorizado al sistema que permite la divulgación y modificación de información no autorizada.

Las sesiones pueden ser secuestradas usando cookies robadas o sesiones usando XSS.

Referencias de objetos directos inseguras

Ocurre cuando un desarrollador expone una referencia a un objeto de implementación interno, como un archivo, directorio o clave de base de datos como en una URL o como un parámetro FORM. El atacante puede utilizar esta información para acceder a otros objetos y puede crear un ataque futuro para acceder a los datos no autorizados.

Con esta vulnerabilidad, un atacante puede obtener acceso a objetos internos no autorizados, puede modificar datos o comprometer la aplicación.

Falsificación de solicitud entre sitios

La falsificación de solicitud de sitio cruzado es una solicitud falsificada proveniente del sitio cruzado.

El ataque CSRF es un ataque que ocurre cuando un sitio web, correo electrónico o programa malicioso hace que el navegador de un usuario realice una acción no deseada en un sitio confiable para el cual el usuario está actualmente autenticado.

Un ataque CSRF obliga al navegador de una víctima que ha iniciado sesión a enviar una solicitud HTTP falsificada, incluida la cookie de sesión de la víctima y cualquier otra información de autenticación incluida automáticamente, a una aplicación web vulnerable.

El atacante enviará un enlace a la víctima cuando el usuario haga clic en la URL cuando inicie sesión en el sitio web original, los datos serán robados del sitio web.

El uso de esta vulnerabilidad como atacante puede cambiar la información del perfil del usuario, cambiar el estado, crear un nuevo usuario en nombre del administrador, etc.

Objetos vulnerables:

  • Página de perfil de usuario
  • Formularios de cuenta de usuario
  • Página de transacciones comerciales

Configuración incorrecta de seguridad

La configuración de seguridad debe definirse e implementarse para la aplicación, los marcos, el servidor de aplicaciones, el servidor web, el servidor de base de datos y la plataforma. Si no se configuran correctamente, un atacante puede tener acceso no autorizado a datos confidenciales o funciones.

A veces, tales fallas dan como resultado un compromiso completo del sistema. Mantener el software actualizado también es una buena seguridad.

Haciendo uso de esta vulnerabilidad, el atacante puede enumerar la tecnología subyacente y la información de la versión del servidor de la aplicación, información de la base de datos y obtener información sobre la aplicación para montar algunos ataques más.

Objetos vulnerables:

  • URL
  • Campos de formulario
  • Campos de entrada

Almacenamiento criptográfico inseguro

El almacenamiento criptográfico inseguro es una vulnerabilidad común que existe cuando los datos confidenciales no se almacenan de forma segura.

Las credenciales de usuario, la información del perfil, los detalles de salud, la información de la tarjeta de crédito, etc. se incluyen en información confidencial en un sitio web.

Estos datos se almacenarán en la base de datos de la aplicación. Cuando estos datos se almacenan incorrectamente al no usar cifrado o hash *, serán vulnerables a los atacantes.

(* El hash es la transformación de los caracteres de la cadena en cadenas más cortas de longitud fija o una clave. Para descifrar la cadena, el algoritmo utilizado para formar la clave debe estar disponible)

Al usar esta vulnerabilidad, un atacante puede robar, modificar datos tan débilmente protegidos para cometer robo de identidad, fraude con tarjetas de crédito u otros delitos.

No restringir el acceso a la URL

Las aplicaciones web comprueban los derechos de acceso a la URL antes de mostrar enlaces y botones protegidos. Las aplicaciones deben realizar comprobaciones de control de acceso similares cada vez que se accede a estas páginas.

En la mayoría de las aplicaciones, las páginas, ubicaciones y recursos privilegiados no se presentan a los usuarios privilegiados.

Mediante una suposición inteligente, un atacante puede acceder a páginas de privilegios. Un atacante puede acceder a páginas sensibles, invocar funciones y ver información confidencial.

Al hacer uso de esta vulnerabilidad, el atacante puede obtener acceso a las URL no autorizadas, sin iniciar sesión en la aplicación y aprovechar la vulnerabilidad.

Protección insuficiente de la capa de transporte

Se ocupa del intercambio de información entre el usuario (cliente) y el servidor (aplicación). Las aplicaciones transmiten con frecuencia información confidencial como detalles de autenticación, información de tarjetas de crédito y tokens de sesión a través de una red.

El uso de algoritmos débiles o el uso de certificados caducados o no válidos o no usar SSL puede permitir que la comunicación se exponga a usuarios que no son de confianza, lo que puede poner en peligro una aplicación web o robar información confidencial.

Al hacer uso de esta vulnerabilidad de seguridad web, un atacante puede rastrear las credenciales de un usuario legítimo y obtener acceso a la aplicación. Puede robar información de tarjetas de crédito.

Redirecciones y reenvíos no validados

La aplicación web utiliza pocos métodos para redirigir y reenviar a los usuarios a otras páginas para un propósito previsto.

Si no hay una validación adecuada al redirigir a otras páginas, los atacantes pueden hacer uso de esto y pueden redirigir a las víctimas a sitios de phishing o malware, o utilizar reenvíos para acceder a páginas no autorizadas.

Un atacante puede enviar una URL al usuario que contiene una URL genuina adjunta con una URL maliciosa codificada. Un usuario con solo ver la parte genuina de la URL enviada por el atacante puede navegar y convertirse en una víctima.