Model-based analysis of Java EE web security misconfigurations

The Java EE framework, a popular technology of choice for the development of web applications, provides developers with the means to define access-control policies to protect application resources from unauthorized disclosures and manipulations. Unfortunately, the definition and manipulation of such...

Descripción completa

Detalles Bibliográficos
Autores: Martínez Pérez, Salvador, Cosentino, Valerio, Cabot, Jordi
Tipo de recurso: artículo
Estado:Versión enviada para evaluación y publicación
Fecha de publicación:2017
País:España
Institución:Universitat Oberta de Catalunya (UOC)
Repositorio:O2, repositorio institucional de la UOC
OAI Identifier:oai:openaccess.uoc.edu:10609/93050
Acceso en línea:https://hdl.handle.net/10609/93050
Access Level:acceso abierto
Palabra clave:reverse engineering
model driven engineering
security
ingeniería dirigida por modelos
seguridad
ingeniería inversa
enginyeria dirigida per models
seguretat
enginyeria inversa
Web applications
Aplicacions web
Aplicaciones web
Descripción
Sumario:The Java EE framework, a popular technology of choice for the development of web applications, provides developers with the means to define access-control policies to protect application resources from unauthorized disclosures and manipulations. Unfortunately, the definition and manipulation of such security policies remains a complex and error prone task, requiring expert-level knowledge on the syntax and semantics of the Java EE access-control mechanisms. Thus, misconfigurations that may lead to unintentional security and/or availability problems can be easily introduced. In response to this problem, we present a (model-based) reverse engineering approach that automatically evaluates a set of security properties on reverse engineered Java EE security configurations, helping to detect the presence of anomalies. We evaluate the efficacy and pertinence of our approach by applying our prototype tool on a sample of real Java EE applications extracted from GitHub.