A01:2021 – Pérdida de Control de Acceso Flashcards

1
Q

Cuales son los CWE (Common Weakness Enumerations) en la Pérdida de Control de Acceso?

A
  • CWE-200: Exposición de información sensible a un actor no autorizado
  • CWE-201: Exposición de información confidencial a través de datos enviados
  • CWE-352: Falsificación de Petciones en Sitos Cruzados
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Que hace el control de acceso?

A

El control de acceso implementa el cumplimiento de política de modo que los usuarios no pueden actuar fuera de los permisos que le fueron asignados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

A que conducen las fallas del control de acceso?

A

Las fallas generalmente conducen a:

  • La divulgación de información no autorizada,
  • La modificación o la destrucción de todos los datos
  • La ejecución de una función de negocio fuera de los límites del usuario.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Cuales son las vulnerabilidades comunes del control de acceso?

A
  • Violación del principio de mínimo privilegio o denegación por defecto, según el cual el acceso sólo debe ser permitido para capacidades, roles o usuarios particulares, y no disponible para cualquier persona.
  • Eludir las comprobaciones de control de acceso modificando la URL (alteración de parámetros o navegación forzada), el estado interno de la aplicación o la página HTML, o mediante el uso de una herramienta que modifique los pedidos a APIs.
  • Permitir ver o editar la cuenta de otra persona, con tan solo conocer su identificador único (referencia directa insegura a objetos)
  • Acceder a APIs con controles de acceso inexistentes para los métodos POST, PUT y DELETE.
  • Elevación de privilegios. Actuar como usuario sin haber iniciado sesión o actuar como administrador cuando se inició sesión como usuario regular.
  • Manipulación de metadatos, como reutilizar o modificar un token de control de acceso JSON Web Token (JWT), una cookie o un campo oculto, manipulándolos para elevar privilegios o abusar de la invalidación de tokens JWT.
  • Configuraciones incorrectas de CORS (uso compartido de recursos de origen cruzado) que permiten el acceso a APIs desde orígenes no autorizados o confiables.
  • Forzar la navegación a páginas autenticadas siendo usuario no autenticado o a páginas privilegiadas siendo usuario regular.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Como se pueden prevenir las vulnerabilidas del control de acceso?

A

El control de acceso solo es efectivo si es implementado en el servidor (server-side) o en la API (caso serverless), donde el atacante no puede modificarlo ni manipular metadatos.

  • A excepción de los recursos públicos, denegar por defecto.
  • Implemente mecanismos de control de acceso una única vez y reutilícelos en toda la aplicación, incluyendo la minimización del uso de CORS.
  • El control de acceso debe implementar su cumplimiento a nivel de dato y no permitir que el usuario pueda crear, leer, actulizar o borrar cualquier dato.
  • Los modelos de dominio deben hacer cumplir los requisitos únicos de límite de negocio de aplicaciones.
  • Deshabilite el listado de directorios del servidor web y asegúrese de que los archivos de metadatos (por ejemplo una carpeta .git) y archivos de respaldo no puedan ser accedidos a partir de la raíz del sitio web.
  • Registre las fallas de control de acceso (loggin), alertando a los administradores cuando sea apropiado (por ejemplo, fallas repetidas).
  • Establezca límites a la tasa de accesos permitidos a APIs y controladores de forma de poder minimizar el daño provocado por herramientas automatizadas de ataque.
  • Los identificadores de sesiones deben invalidarse en el servidor luego de cerrar la sesión. Los tokens JWT deberían ser preferiblemente de corta duración para minimizar la ventana de oportunidad de ataque. Para tokens JWT de mayor duración, es sumamente recomendable seguir los estándares de OAuth de revocación de acceso.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

A que vulnerabilidad pertenece el siguiente escenario?

La aplicación utiliza datos no verificados en una llamada SQL que accede a información de una cuenta:

 pstmt.setString(1, request.getParameter("acct"));
 ResultSet results = pstmt.executeQuery( );

Un atacante simplemente modifica el parámetro ‘acct’ en el navegador para enviar el número de cuenta que desee. Si no es verificado correctamente, el atacante puede acceder a la cuenta de cualquier usuario.
~~~

https://example.com/app/accountInfo?acct=notmyacct
~~~

A

Perdida de Control de Acceso

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

A que vulnerabilidad pertenece el siguiente escenario?

Un atacante simplemente navega a una URL específica. Se deberían requerir derechos de administrador para acceder a la página de administración.

 https://example.com/app/getappInfo
 https://example.com/app/admin_getappInfo

Si un usuario no autenticado puede acceder a cualquiera de las páginas, es una falla. Si una persona que no es administrador puede acceder a la página de administración, esto es también una falla.

A

Perdida de Control de Acceso

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Cual es el top de la vulnerabilidad de Perdida de Control de Acceso

A

1

How well did you know this?
1
Not at all
2
3
4
5
Perfectly