Los 10 principales riesgos de seguridad de OWASP | Visión general

Índice del contenido

Resumen de OWASP Top 10

¿Qué es OWASP?

OWASP es una organización sin fines de lucro dedicada a la educación en seguridad de aplicaciones web. 

Los materiales de aprendizaje de OWASP están disponibles en su sitio web. Sus herramientas son útiles para mejorar la seguridad de las aplicaciones web. Esto incluye documentos, herramientas, videos y foros.

El OWASP Top 10 es una lista que destaca las principales preocupaciones de seguridad para las aplicaciones web en la actualidad. Recomiendan a todas las empresas incluir este informe en sus procesos para reducir riesgos de seguridad. A continuación se muestra una lista de riesgos de seguridad incluidos en el informe OWASP Top 10 2017.

SQL Injection

La inyección SQL ocurre cuando un atacante envía datos inapropiados a una aplicación web para interrumpir el programa en la aplicación..

Un ejemplo de una inyección SQL:

El atacante podría ingresar una consulta SQL en un formulario de entrada que requiere un nombre de usuario en texto sin formato. Si el formulario de entrada no está protegido, dará como resultado la ejecución de una consulta SQL. Este se refiere como inyección SQL.

Para proteger las aplicaciones web de la inyección de código, asegúrese de que sus desarrolladores utilicen la validación de entrada en los datos enviados por el usuario. La validación aquí se refiere al rechazo de entradas no válidas. Un administrador de base de datos también puede establecer controles para reducir la cantidad de información eso puede divulgarse en un ataque de inyección.

Para evitar la inyección de SQL, OWASP recomienda mantener los datos separados de los comandos y consultas. La opción preferible es utilizar un seguro API para evitar el uso de un intérprete, o para migrar a herramientas de mapeo relacional de objetos (ORM).

Autenticación rota

Las vulnerabilidades de autenticación pueden permitir que un atacante acceda a cuentas de usuario y comprometa un sistema usando una cuenta de administrador. Un ciberdelincuente puede usar un script para probar miles de combinaciones de contraseñas en un sistema para ver cuál funciona.. Una vez que el cibercriminal está dentro, puede falsificar la identidad del usuario, dándole acceso a información confidencial..

Existe una vulnerabilidad de autenticación rota en las aplicaciones web que permiten inicios de sesión automatizados. Una forma popular de corregir la vulnerabilidad de la autenticación es el uso de la autenticación multifactor. Además, un límite de tasa de inicio de sesión podría estar incluido en la aplicación web para evitar ataques de fuerza bruta.

Exposición de datos sensibles

Si las aplicaciones web no protegen la información confidencial, los atacantes pueden acceder a ellas y utilizarlas para su beneficio. Un ataque en ruta es un método popular para robar información confidencial. El riesgo de exposición puede ser mínimo cuando todos los datos confidenciales están encriptados. Los desarrolladores web deben asegurarse de que no se expongan datos confidenciales en el navegador o se almacenen innecesariamente.

Entidades externas XML (XEE)

Un ciberdelincuente puede cargar o incluir contenido XML malicioso, comandos o código dentro de un documento XML.. Esto les permite ver archivos en el sistema de archivos del servidor de aplicaciones. Una vez que tienen acceso, pueden interactuar con el servidor para realizar ataques de falsificación de solicitudes del lado del servidor (SSRF)..

Los ataques de entidad externa XML pueden ser prevenido por permitir que las aplicaciones web acepten tipos de datos menos complejos como JSON. Deshabilitar el procesamiento de entidades externas XML también reduce las posibilidades de un ataque XEE.

Control de acceso roto

El control de acceso es un protocolo del sistema que restringe a los usuarios no autorizados a la información confidencial. Si se rompe un sistema de control de acceso, los atacantes pueden eludir la autenticación. Esto les da acceso a información confidencial como si tuvieran autorización. El control de acceso se puede proteger mediante la implementación de tokens de autorización en el inicio de sesión del usuario. En cada solicitud que hace un usuario mientras está autenticado, se verifica el token de autorización con el usuario, lo que indica que el usuario está autorizado para realizar esa solicitud.

Configuración incorrecta de seguridad

La mala configuración de la seguridad es un problema común que la seguridad cibernética especialistas observan en aplicaciones web. Esto ocurre como resultado de encabezados HTTP mal configurados, controles de acceso rotos y la visualización de errores que exponen información en una aplicación web.. Puede corregir una configuración incorrecta de seguridad eliminando funciones no utilizadas. También debe parchear o actualizar sus paquetes de software.

Secuencias de comandos entre sitios (XSS)

La vulnerabilidad XSS ocurre cuando un atacante manipula la API DOM de un sitio web confiable para ejecutar código malicioso en el navegador de un usuario.. La ejecución de este código malicioso a menudo ocurre cuando un usuario hace clic en un enlace que parece ser de un sitio web confiable.. Si el sitio web no está protegido contra la vulnerabilidad XSS, puede estar comprometido. El código malicioso que es ejecutado le da a un atacante acceso a la sesión de inicio de sesión de los usuarios, los detalles de la tarjeta de crédito y otros datos confidenciales.

Para evitar Cross-site Scripting (XSS), asegúrese de que su HTML esté bien desinfectado. Esto puede ser logrado por elegir marcos confiables según el idioma de elección. Puede usar lenguajes como .Net, Ruby on Rails y React JS, ya que ayudarían a analizar y limpiar su código HTML. Tratar todos los datos de usuarios autenticados o no autenticados como no confiables puede reducir el riesgo de ataques XSS.

Deserialización insegura

La deserialización es la transformación de datos serializados de un servidor a un objeto. La deserialización de datos es una ocurrencia común en el desarrollo de software. No es seguro cuando los datos está deserializado de una fuente no confiable. Esto puede la posibilidad exponga su aplicación a ataques. La deserialización insegura ocurre cuando los datos deserializados de una fuente no confiable conducen a ataques DDOS, ataques de ejecución remota de código o elusiones de autenticación..

Para evitar la deserialización insegura, la regla general es nunca confiar en los datos del usuario. Todos los datos de entrada del usuario deben ser tratado as la posibilidad malicioso. Evite la deserialización de datos de fuentes no confiables. Asegúrese de que la función de deserialización para ser usado en su aplicación web es seguro.

Uso de componentes con vulnerabilidades conocidas

Las bibliotecas y los marcos han hecho que sea mucho más rápido desarrollar aplicaciones web sin necesidad de reinventar la rueda. Esto reduce la redundancia en la evaluación del código. Allanan el camino para que los desarrolladores se centren en aspectos más importantes de las aplicaciones. Si los atacantes descubren exploits en estos marcos, cada base de código que usa el marco estar comprometido.

Los desarrolladores de componentes suelen ofrecer parches de seguridad y actualizaciones para las bibliotecas de componentes. Para evitar las vulnerabilidades de los componentes, debe aprender a mantener sus aplicaciones actualizadas con los últimos parches y actualizaciones de seguridad.. Los componentes no utilizados deben Ser eliminado de la aplicación para cortar vectores de ataque.

Registro y monitoreo insuficientes

El registro y la supervisión son importantes para mostrar actividades en su aplicación web. El registro facilita el seguimiento de errores, monitorear inicios de sesión de usuario y actividades.

El registro y la supervisión son insuficientes cuando no se registran los eventos críticos para la seguridad. correctamente. Los atacantes aprovechan esto para llevar a cabo ataques en su aplicación antes de que haya una respuesta notable..

El registro puede ayudar a su empresa a ahorrar dinero y tiempo porque sus desarrolladores pueden pasan fácilmente encontrar errores. Esto les permite concentrarse más en resolver los errores que en buscarlos. En efecto, el registro puede ayudar a mantener sus sitios y servidores en funcionamiento en todo momento sin que experimenten ningún tiempo de inactividad..

Conclusión

Buen código no es solo sobre la funcionalidad, se trata de mantener seguros a sus usuarios y aplicaciones. El OWASP Top 10 es una lista de los riesgos de seguridad de aplicaciones más críticos. Es un excelente recurso gratuito para que los desarrolladores escriban aplicaciones web y móviles seguras.. Capacitar a los desarrolladores de su equipo para evaluar y registrar los riesgos puede ahorrarle tiempo y dinero a su equipo a largo plazo. Si tu quisieras Obtenga más información sobre cómo capacitar a su equipo en el OWASP Top 10, haga clic aquí.