El control de acceso (o autorización) determina qué usuarios se comunican con qué sistemas y recursos dentro de su empresa. Cuando se pierde el control de acceso, cualquiera puede enviar solicitudes a sus aplicaciones de red. Esta pérdida significa que el acceso no autorizado a la funcionalidad y los recursos del sistema ha creado una […]
El control de acceso (o autorización) determina qué usuarios se comunican con qué sistemas y recursos dentro de su empresa. Cuando se pierde el control de acceso, cualquiera puede enviar solicitudes a sus aplicaciones de red. Esta pérdida significa que el acceso no autorizado a la funcionalidad y los recursos del sistema ha creado una vulnerabilidad explotable que abre a su empresa a resultados perjudiciales y potencialmente costosos.
Las restricciones de control de acceso existen para delimitar las acciones de los usuarios autenticados, pero éstas no siempre se aplican correctamente. Una de las habilidades esenciales de los atacantes es la explotación del control de acceso. De lograrlo, pueden acceder, de forma no autorizada, a funcionalidades y/o datos, cuentas de otros usuarios, ver archivos sensibles, modificar datos, cambiar derechos de acceso y permisos, y otras acciones relacionadas con la divulgación, modificación o incluso, destrucción de datos o del mismo sistema.
Las debilidades del control de acceso son comunes dado que no existen métodos automatizados para detectarlas, y si no se comienza por establecer, desde un principio, con claridad, qué usuarios tendrán qué permisos, es fácil caer en error o no detectar éstos. Además, la pérdida del control de acceso es a menudo un problema que surge en las aplicaciones o páginas web que han aumentado gradualmente de tamaño. En lugar de diseñar deliberadamente esquemas que regulen el acceso desde el principio, los desarrolladores los agregan a medida que crece la aplicación, a lo largo del tiempo. En los casos en que el control de acceso no está centralizado, esto a menudo resulta en un esquema muy complejo que es difícil de entender por completo. Un esquema complejo, a su vez, conduce a errores y vulnerabilidades y estas vulnerabilidades son altamente explotables.
Lo primero es diseñar la aplicación estableciendo políticas de acceso claras para cada archivo y tipos de usuarios/administradores. El control de acceso debe implementarse y ejecutarse a través de una matriz de control de acceso, que definirá las reglas para cada tipo de usuario. Estos puntos de acceso deben ser probados rigurosamente creando diferentes cuentas e intentando acceder a áreas no autorizadas.
Otras recomendaciones incluyen:
Finalmente, un ciclo de desarrollo seguro debe incluir una prueba de penetración antes de lanzar el sistema a producción y mientras éste esté operando.
Tener una guía escrita que describa los diversos permisos necesarios es indispensable. Es altamente probable que si se carece de esta guía, la aplicación sea vulnerable a Pérdida de Control de Acceso!
Para detectar las posibilidades de Pérdida de Control de Acceso es necesario efectuar revisiones manuales del código, puesto que herramientas automatizadas son inefectivas para detectar estos errores en la programación. Es imprescindible, además, comprender cómo los usuarios y administradores se autentican y acceden al sitio (lo que suele suceder en un portal de acceso remoto), por lo que las pruebas de penetración hechas por una entidad independiente se hacen ultranecesarias, y éstas deben incluir una auditoría exhaustiva de todos los datos accesibles y sus permisos otorgados.
En los últimos meses y semanas, concretamente desde ”el hackeo a la banca”, la actividad de la Superintendencia de Bancos e Instituciones Financieras (SBIF) ha sufrido un alza, tanto en labores de fiscalización a instituciones reguladas como en deber de informar al público en general respecto de cada filtración de datos de tarjetas de crédito […]
La semana pasada fue de descanso y de asados dieciocheros, pero la actividad maliciosa siguió bailando cueca en el ciberespacio. Éstas fueron las amenazas más prevalentes durante la semana pasada, según Talos.