Marco de validación de datos: HDIV de un vistazo

July 12, 2013
Pentestes

Un estudio de seguridad ha demostrado una vez más que la mayoría de los ataques a la seguridad de las aplicaciones web (aproximadamente el 85% según Gartner y NIST) se generan desde la capa de aplicación. Siempre ha sido un desafío para los desarrolladores validar los parámetros de la URL, el encabezado HTTP, la solicitud HTP y los campos no editables de la página. También observamos muchas irregularidades a la hora de corregir la vulnerabilidad de manipulación de parámetros, es decir, cuando un atacante accede a los datos de otros usuarios o en nombre de otros usuarios. La solución tradicional sugerida e implementada consiste en mapear el rol del usuario con alguna variable oculta y, a continuación, validarla en el servidor. Sin embargo, esta solución no funciona bien para todos.

Un marco de seguridad de aplicaciones web JAVA, es decir HDIV (HTTP Data Integrity Validator) está disponible para aplicaciones JAVA que utilizan Struts 1.x, Struts 2.x, Spring MVC y JSTL. El marco garantiza la integridad, la confidencialidad y la protección contra el ataque CSRF. El marco divide la solicitud HTTP en dos partes:

·Datos editables: incluye cuadro de texto y área de texto

·Datos no editables: incluye enlaces, campos ocultos, valores combinados, opciones de radio, botones, páginas de destino, cookies, etc.)

Trabajando

HDIV añade un parámetro de estado (_HDIV_State) con un valor de token aleatorio para cada solicitud enviada al cliente. El valor de este token se calcula en función de la estrategia de trabajo elegida, es decir, Hash/Cipher/Memory. El token valida todo el contenido de la página no editable en el servidor. Una solicitud HTTP HDIV parece

como: http://www.host.com/page.do?param1=0&_HDIV_STATE_=46bdsd687ajldfg9100

Y lo que es más importante, HDIV también puede ocultar/enmascarar el valor original del parámetro. Supongamos que tenemos una aplicación en la que un parámetro reconoce el rol de usuario administradorrole=1001;ahora, después de implementar HDIV, el valor del parámetro se verá asírol = 1(cualquier valor aleatorio). Esta técnica evita que el atacante adivine el valor original del parámetro.

HDIV también permite usar validaciones personalizadas para los campos de entrada de una página que están configurados en formato XML. Además, la instalación de HDIV no afecta a la configuración de la aplicación.

Rendimiento


El rendimiento es el criterio más importante cuando decidimos implementar algo adicional en nuestra aplicación/servidor. Como era de esperar, el HDIV también consume algunos megabytes adicionales de espacio en la memoria del servidor, pero si tiene un servidor de configuración decente, el tiempo de respuesta es imperceptible. El rendimiento del HDIV depende de la estrategia de trabajo elegida.
Espero que esto ayude a su desarrollador a solucionar muchos de los problemas de seguridad de sus aplicaciones web.


¡¡¡Feliz lectura!!!

Share this post
Seguridad de Wordpress
Análisis de malware
Herramientas y técnicas
Pentestes
PTAAS
Suscríbase a nuestro boletín

Suscríbase a nuestro boletín hoy mismo y mejore sus conocimientos con información valiosa. ¡Es rápido, fácil y gratuito!

Be a Team Player
¡Gracias! ¡Su presentación ha sido recibida!
¡Uy! Algo salió mal al enviar el formulario.
Latest blogs

Latest updates in cybersecurity services

View All
Blacklock Blog Image