Los servicios web pueden llegar a identificar cualquier tipo de actividad que realiza el usuario en la aplicación web. Debemos primero entender la diferencia entre un servicio web y una aplicación web: uno es considerado el mecanismo de transporte y el otro es quien presenta la información al usuario. No debemos confundir uno con otro dado que puede traer problemas al momento de que un sistema esté gestionando sesiones. Una sesión se lleva acabo desde un encabezado HTTP el cual maneja la autenticación y autorización. Esto tampoco debemos confundir ya que una autenticación significa que un usuario se identificó y lo otro es tener el permiso de acceder a otros recursos.
La autenticación es parte de cómo un usuario se muestra, quien es la persona al momento de acceder a los recursos de la aplicación web. Esta autenticación se lleva acabo al momento de introducir las credenciales en una página web –Login Page-.
Existe un sinnúmero de maneras de realizar una autenticación, pero por la salvedad de poder digerir el tema de autenticación hablaremos solamente de acceder de la manera más común. Este proceso de autenticación es crucial para identificar al usuario que accede a la aplicación web, dado que es importante saber quién es la persona que accede a un X recurso.
La autorización es donde surge la mayor criticidad dado que un usuario identificado -que se identifique a través de introducir sus credenciales- pueda acceder a recursos de otros usuarios por el simple hecho de que comparten el mismo rol -el rol es nivel de privilegios que cuenta un usuario-. Un ejemplo de mala práctica de autorización es cuando usuario A y uno B pueden consultar datos exclusivos del otro; esto puede ser fruto de una falla lógica de la aplicación web. Es aquí donde podemos afirmar que no existe una autorización usada de manera correcta, permitiendo que otros usuarios puedan ver, editar y eliminar datos de otros usuarios.
Una auditoría de aplicación web de caja blanca es lo ideal para poder identificar estas fallas lógicas de la aplicación web. Por caja blanca nos referimos a la que el auditor cuenta con usuarios de diferentes roles, inducción de la plataforma y un entorno de pruebas para fines de hallazgos identificados de manera manual, porque estos tipos de hallazgos no son identificados a través de un escaneo con herramienta automatizada.
Esta es la razón por la cual las aplicaciones web deben realizarse en modo de caja blanca para fines de identificar fallas lógicas. Este tipo de hallazgo puede identificar alguno con potencialidad de ocasionar un impacto crítico si no llega a ser identificado. Puede impactar de manera negativa a cualquier tipo de negocio si no se realizan auditorías de aplicaciones web.