Semana 2. Fallas en los Controles de Acceso
1. Lectura
Lea las lecciones sobre Fallas en Controles de Acceso "Access Control Flaws" de WebGoat, asi como los documentos adjuntos a estas.
1.1 Prevención
Los puntos por verificar en los controles de acceso de una aplicación listados en [2] son:
- Los usuarios puede ingresar a funciones protegidas solo cuando poseen autorizción específica.
- Los usuarios sólo pueden ingresar a URLs para los cuales tienen autorización específica.
- Los usuarios sólo pueden ingresar a archivos de datos para los cuales tienen autorización específica.
- Las referencias directas a objetos están protegidas, de forma que sólo los objetos autorizados sean utilizables a cada usuario.
- Está deshabilitada la posibilidad de examinar directorios a menos que se desee deliberadamente.
- Los usuarios sólo pueden ingresar a servicios para los cuales tienen autorización específica.
- Los usuarios sólo pueden ingresar a datos para los cuales tienen autorización específica.
- Los controles de acceso fallan de forma segura.
- Las mismas regleas de control de acces empleadas en la capa de presentación son aseguradas al lado del servidor.
- Todos los usuarios y los atributos de datos y políticas sobre la información utilizadas por los usuarios finales no pueden ser manipuladas excepto con autorización específica.
- Los controles de acceso son aseguradso al lado del servidor.
- Hay un mecanismo centralizado (incluyendo librerías que llaman sericios de autorización externos) que protege el ingreso a recursos privados.
- Las limitaciones en la entrada y en el acceso impuestas por el negocio de la aplicación (tales como límite de transacciones diarias o secuenciamiento de tareas) no puede sobrepasarse.
- Todas las decisiones de control de acceso pueden registrarse en bitácoras y todas las fallas son registradas.
- Todo el código que implementa o usa controles de acceso no está afectado por tipo alguno de código malicioso.
2. Práctica
Realice las prácticas sobre Fallas en Controles de Acceso de WebGoat.
3. Ejercicios
- ¿Cómo le parecieron las prácticas, en cual ha tenido dificultad?
- En su lenguaje de programación favorito y con su ambiente (framework) favorito ¿cómo previene Fallas en los Controles de Acceso?
Lo invitamos a comentar sus respuestas y sobre las respuestas de otros participantes, si responde en un blog por favor referencielo como comentario a esta tarea.
4. Bibliografía:
- Proyecto WebGoat OWASP. https://www.owasp.org/index.php/Category:OWASP_WebGoat_Project. 2011
- OWASP Application Security Standard 2009. http://www.owasp.org/index.php/Projects/OWASP_Application_Security_Verification_Standard_Project/Releases/ASVS_-_2009_Edition
5. Términos y Condiciones Especiales
Este escrito se cede al dominio público de acuerdo a la legislación colombiana, agradeciendo se de crédito a Pasos de Jesús y a Jessica Ledbetter. 2011. Ver https://www.pasosdejesus.org/dominio_publico_colombia.html.