Vulnerabilidades OWASP

¿QUE ES EL OWASP TOP 10?

OWASP top 10 es la lista de las 10 vulnerabilidades de aplicación mas comunes. También muestra sus riesgos,impactos y contra-medidas. Actualizada cada tres o cuatro años,la ultima lista de vulnerabilidades de OWASP se lanzo en 2018.

Compartir:

las 10 principales vulnerabilidades de owasp

INYECCIÓN

Una inyección de código ocurre cuando un atacante envía datos no validos a la aplicación web con la intención de hacer que haga algo para lo que la aplicación no fue programada. Quizás el ejemplo mas común en torno a esta vulnerabilidad de seguridad es la consulta SQL que consume datos no confiables.

String query = «SELECT FROM accounts WHERE custID =» +request.getParametrer(«id»)+»»,

Esta consulta puede ser explotada llamando a la pagina web ejecutándola con la siguiente URL:

HTTP://ejemplo.com/app/accountView?id=’o’1’=’1 causando el retorno de todas las filas almacenadas en la tabla de la base de datos.El núcleo de una vulnerabilidad de inyeccion de código es la falta de validación y desinfección de los datos utilizados por la aplicación web,lo que significa que esta vulnerabilidad puede estar presente en casi cualquier tipo de tecnología.

Cualquier cosa que acepte parámetros como entrada puede ser potencialmente vulnerable a un ataque de inyección de código.Os dejamos un ejemplo de SQL inyection que afecto a mas de medio millón de sitios web que tenían el complemento YITHWooCommerce Wishlist en WordPress:

Esta Inyección SQL podría causar una fuga de datos confidenciales y comprometer una instalación completa de WordPress.

¿COMO SE PREVIENEN LAS VULNERABILIDADES DE INYECCIÓN DE CÓDIGO?

La prevención de vulnerabilidades de inyección de código realmente dependen de la tecnología que se este utilizando en el sitio web.Por ejemplo si usamos WordPress,podríamos minimizar las vulnerabilidades de inyección de código manteniendo el mino de complementos y temas instalados debidamente actualizados.

Si se tiene una aplicación web personalizada y un equipo dedicado de desarrolladores,debe asegurarse de tener requisitos de seguridad que sus desarrolladores puedan seguir al diseñar y escribir el software.

LA PREVENCIÓN DE INYECCIONES SQL REQUIERE MANTENER LOS DATOS SEPARADOS DE LOS COMANDOS Y CONSULTAS

La opción preferida es usar una API segura,que evita el uso del interprete por completo o proporciona una interfaz parametrizada o migra para usar herramientas de mapeo relacional de objetos (ORM).

Debemos utilizar la validación de entrada positiva o lista blanca del lado del servidor.Esto no es una defensa completa ya que muchas aplicaciones requieren caracteres especiales como áreas de texto o API para aplicaciones móviles.

Usar LIMIT y otros controles SQL dentro de las consultas para evitar la divulgación masiva de registros en caso de Inyección SQL.

Sin una medida adecuada,las inyecciones de código representan un grave riesgo para los propietarios de sitios web. Estos ataques aprovechan las lagunas de seguridad para una adquisición hostil o la filtración de información confidencial.

Prevencion frente ataques de inyección de código con Antimalwares

AUTENTICACION ROTA

Una vulnerabilidad de autenticacion interrumpida puede permitir que un atacante use métodos manuales y/o automáticos para tratar de obtener el control completo sobre el sistema o peor aun para obtener el control completo sobre el sistema.

Los sitios webs con vulnerabilidades de autenticacion rotas son muy comunes en la web.La autenticacion interrumpida generalmente se refiere a problemas de lógica que ocurren en el mecanismo de autenticacion de la aplicación,como la mala administración de la sesión propensa a la enumeración de nombres de usuario,cuando un cibercriminal usa técnicas de fuerza bruta para adivinar o confirmar usuarios validos en un sistema.

Para minimizar los riesgos de autenticacion interrumpida,evite dejar la pagina de inicio de sesión para los administradores accesibles públicamente a todos los visitantes del sitio web:

-wp-admin/ en WordPress

-index.php/admin en Magento

-user/login en Drupal

TIPOS DE VULNERABILIDADES DE AUTENTICACION ROTAS:

Según el Top 10 de OWASP estas vulnerabilidades pueden presentarse de muchas formas.Una aplicación web contiene una vulnerabilidad de autenticacion rota si:

-Permite ataques automatizados como el relleno de credenciales,donde el atacante tiene una lista de nombres de usuario y contraseña validos.

-Permite la fuerza bruta u otros ataques automatizados.

-Permite contraseñas predeterminadas,debiles o bine conocidas como «Contraseña1» «admin/admin»

-Utiliza procesos de recuperacion de credenciales debiles o ineficaces y procesos de contraseña olvidada

-Utiliza texto plano,encriptado o contraseñas con poco HASH.

-Tiene autenticacion multifactor faltante o ineficaz.

-No gira las ID de sesión después de un inicio de sesión exitoso.

Escribir software inseguro resulta en la mayoría de estas vulnerabilidades. Se pueden atribuir a muchos factores,como la falta de experiencia de los desarrolladores. También puede ser la consecuencia de fallos mas institucionalizados,como la falta de requisitos de seguridad u organizaciones que apresuran los lanzamientos de software,en otras palabras,la elección de software de trabajo en lugar de software seguro.

Ataques de autenticacion rota

Para evitar vulnerabilidades de autenticacion rotas,asegúrese de que los desarrolladores apliquen las mejores practicas de seguridad del sitio web. Apoyelos ofreciéndoles acceso a auditorias de seguridad externas y tiempo suficiente para probar adecuadamente el código antes de la implementarlo en producción.

EXPOSICIÓN DE DATOS SENSIBLES

Es vital para cualquier empresa,comprender la importancia de proteger la información y la privacidad de los usuarios.Todas las compañías deben cumplir con sus leyes de privacidad.

La recopilación y el manejo responsable de datos confidenciales se han vuelto mas notorios,especialmente después de la llegada del reglamento general de protección de datos (GDPR).

Hay dos tipos de datos:

-Datos almacenados:datos en reposo.

-Datos transmitidos:Datos que se transmiten internamente entre servidores o navegadores web.

PROTECCIÓN DE DATOS EN TRANSITO

Ambos tipos de datos deben estar protegidos.Al pensar en los datos en transito,una forma de protegerlos en un sitio web es tener un certificado SSL.

SSL es el acronimo de Secure Sockets Layer.Es la tecnología de seguridad estándar para establecer un enlace cifrado entre un servidor web y un navegador.Los certificados SSL ayudan a proteger la integridad de los datos en transito entre el host (Servidor web o firewall) y el cliente (navegador web).

Seguridad SSL

¿POR QUE ES TAN COMÚN LA EXPOSICIÓN DE DATOS CONFIDENCIALES?

En los últimos años,la exposición de datos confidenciales han sido uno de los ataques mas comunes en todo el mundo.Algunos ejemplos de fugas de datos que terminaron exponiendo datos confidenciales son:

-El ciberataque de la plataforma de tarjetas regalo de la cadena minorista de moda brasileña C&A que ocurrió en agosto del 2018.

-La violación de UBER en 2016 que expuso la información personal de 57 millones de usuarios de UBER así como 600.000 conductores.

-La violación de datos de la tienda Target que ocurrió el día de acción de gracias exponiendo la información de las tarjetas de crédito y la información de contacto de hasta 110 millones de personas.

No cifrar datos confidenciales es la razón principal por la que estos ataques aun están tan extendidos.Incluso los datos cifrados pueden romperse debido a la debilidad del proceso de generación de claves o el uso de algoritmos.

Esta vulnerabilidad es muy difícil de explotar,sin embargo las consecuencias de un ataque exitoso son terribles.

COMO PREVENIR LA EXPOSICIÓN DE DATOS

-Clasifique los datos procesados,almacenados o transmitidos por una aplicación.

-Identifique que datos son sensibles de acuerdo con las leyes de privacidad,los requisitos reglamentarios o las necesidades comerciales.

-Aplicar controles según clasificación

-No almacenar datos confidenciales innecesariamente.

-Asegúrese de cifrar todos los datos confidenciales.

-Cifrar todos los datos en transito con protocolos seguros como TLS con cifrados de secreto directo perfecto.

-Haga cumplir el cifrado por parte del servidor y parámetros seguros.

-Deshabilite el almacenamiento en cache de respuestas que contienen datos confidenciales.

Como prevenir la exposición de datos sensibles

ENTIDADES EXTERNAS XML

Un ataque de entidad externa XML es un tipo de ataque contra una aplicación que analiza la entrada XML. Este ataque ocurre cuando la entrada XML que contiene una referencia a una entidad externa es procesada por un analizador XML débilmente configurado.

La mayoría de los analizadores XML son vulnerables a los ataques XXE por defecto.Es por eso que la responsabilidad de garantizar que la aplicación no tenga esta vulnerabilidad recae principalmente en el desarrollador.

COMO PREVENIR ATAQUES DE ENTIDADES EXTERNAS XML

-Siempre que sea posible,use formatos de datos menos complejos,como JSON y evite la serializacion de datos confidenciales.

-Parchee o actualice todos los procesadores XML y bibliotecas en uso por la aplicación o en el sistema operativo subyacente.

-Use verificaciones de dependencia.

-Verifique que la funcionalidad de carga de archivos XML o XSL valida el XML entrante mediante la validación XDS o similar.

Si estas medidas no son posibles desde Antimalwares recomendamos usar una protección WAF para poder detectar,monitorear y bloquear estos ataques.

Control de acceso remoto seguro

CONTROL DE ACCESO ROTO

En la seguridad de los sitios web, el control de acceso significa poner un limite a que secciones o paginas pueden llegar los visitantes,dependiendo de sus necesidades.

Por ejemplo,si posee una tienda de comercio electrónico,probablemente necesite acceso al panel de administración para agregar nuevos productos o configurar una promoción para las próximas vacaciones.Sin embargo,casi nadie mas lo necesitaría.Permitir que el resto de los visitantes de su sitio web lleguen a su pagina de inicio de sesión solo abre su tienda de comercio electrónico a los ataques.

Y ese es el gran problema con casi todos los principales sistemas de administración de contenido (CMS) en estos días. Por defecto,dan acceso mundial a la pagina de inicio de sesión de administrador.La mayoría de ellos tampoco lo obligaran a establecer un método de autenticacion de dos factores.

PREVENCIÓN DE CONTROL DE ACCESO ROTO

Para evitar el control de acceso roto es desarrollar y configurar software con una filosofía de seguridad primero.Por eso es importante trabajar con un desarrollador para asegurarse de que existan requisitos de seguridad.

Las recomendaciones técnicas de OWASP para evitar el control de acceso roto son:

-Implemente mecanismos de control de acceso una vez y reutilicelos en toda la aplicación,incluida la minimizacion del uso de CORS.

-Los controles de acceso del modelo deben exigir la propiedad del registro,en lugar de aceptar que el usuario puede crear,leer,actualizar o eliminar cualquier registro.

-Los modelos de dominio deben imponer requisitos unicos de limite comercial de aplicaciones.

-Limite de velocidad API y acceso al controlador para minimizar el daño de las herramientas de ataque automatizado.

Control de acceso roto seguridad informática

CONFIGURACIONES ERRÓNEAS DE SEGURIDAD

En esencia la fuerza bruta es el acto de probar muchas combinaciones posibles,pero hay muchas varientaes de este ataque para aumentar su tasa de exito.Los mas comunes son:

-Defectos sin parchear

-Configuraciones predeterminadas

-Paginas no utilizadas.

-Archivos y directorios desprotegidos.

-Servicios innecesarios

Uno de los defectos mas comunes del webmaster es mantener las configuraciones predeterminadas de CMS.

Las aplicaciones actuales de CMS pueden ser difíciles desde una perspectiva de seguridad para los usuarios finales.De lejos los ataques mas comunes están completamente automatizados.Muchos de estos ataques dependen de que los usuarios solo tengan configuraciones predeterminadas.

Esto significa que se puede mitigar un gran numero de ataques cambiando la configuración predeterminada al instalar un CMS.

¿DONDE PUEDE OCURRIR UNA MALA CONFIGURACIÓN DE SEGURIDAD?

La configuración incorrecta de seguridad puede ocurrir en cualquier nivel de una pila de aplicaciones,incluyendo:

-Servicios de red

-Plataforma

-Servidor Web

-Servidor de aplicaciones

-Base de datos

-Marcos

-Código personalizado

-Maquinas virtuales preinstaladas

-Contendores

-Almacenamiento

COMO TENER SISTEMAS DE INSTALACIÓN SEGUROS

Un proceso de endurecimiento repetible que agiliza la implementacion de otro entorno que esta bloqueado correctamente.Los entornos de desarrollo,control de calidad y producción deben configurarse de manera identica,con diferentes credenciales utilizadas en cada entorno.Automatice este proceso para minimizar el esfuerzo requerido para configurar un nuevo entrono seguro.

Una plataforma mínima sin características,componentes,documentación y muestras innecesarias.Elimine o no instale funciones y marcos no utilizados.

Una tarea para revisar y actualizar las configuraciones apropiadas para todas las notas de seguridad,actualizaciones y parches como parte del proceso de administración de parches.

Un proceso automatizado para verificar la efectividad de las configuraciones y configuraciones en todos los entornos.

Configuraciones erroneas de seguridad

CROSS-SITE SCRIPTING (XSS)

Vulnerabilidad generalizada que afecta a muchas aplicaciones web.Los ataques XSS consisten en inyectar srcipts maliciosos del lado del cliente en un sitio web y usar el sitio web como método de propagación.

El riesgo detrás de XSS es que permite a un atacante inyectar contenido en un sitio web y modificar la forma en que se se muestra,lo que obliga al navegador de la victima a ejecutar el código proporcionado por el atacante mientras carga la pagina.

En general,las vulnerabilidades XSS requieren algún tipo de interacción por parte del usuario,ya sea a través de la ingeniera social o mediante una visita a un pagina especifica.Si una vulnerabilidad XSS no se repara puede ser muy peligrosa para cualquier sitio web.

Existen tecnologías WAF como el de Antimalwares que están diseñados para ayudar a mitigar los ataques XSS.

Como protegernos de los ataques XXS