FlowWatcher: Defending against Data Disclosure Vulnerabilities in Web Applications
File(s)ccsfp224-muthukumaran.pdf (369.21 KB)
Accepted version
Author(s)
Type
Conference Paper
Abstract
Bugs in the authorisation logic of web applications can expose the
data of one user to another. Such data disclosure vulnerabilities are
common—they can be caused by a single omitted access control
check in the application. We make the observation that, while the
implementation of the authorisation logic is complex and therefore
error-prone, most web applications only use simple access control
models, in which each piece of data is accessible by a user or a
group of users. This makes it possible to validate the correct operation
of the authorisation logic externally, based on the observed
data in HTTP traffic to and from an application.
We describe FlowWatcher, an HTTP proxy that mitigates data
disclosure vulnerabilities in unmodified web applications. FlowWatcher
monitors HTTP traffic and shadows part of an application’s
access control state based on a rule-based specification of
the user-data-access (UDA) policy. The UDA policy states the intended
data ownership and how it changes based on observed HTTP
requests. FlowWatcher detects violations of the UDA policy by
tracking data items that are likely to be unique across HTTP requests
and responses of different users. We evaluate a prototype
implementation of FlowWatcher as a plug-in for the Nginx reverse
proxy and show that, with short UDA policies, it can mitigate CVE
bugs in six popular web applications.
data of one user to another. Such data disclosure vulnerabilities are
common—they can be caused by a single omitted access control
check in the application. We make the observation that, while the
implementation of the authorisation logic is complex and therefore
error-prone, most web applications only use simple access control
models, in which each piece of data is accessible by a user or a
group of users. This makes it possible to validate the correct operation
of the authorisation logic externally, based on the observed
data in HTTP traffic to and from an application.
We describe FlowWatcher, an HTTP proxy that mitigates data
disclosure vulnerabilities in unmodified web applications. FlowWatcher
monitors HTTP traffic and shadows part of an application’s
access control state based on a rule-based specification of
the user-data-access (UDA) policy. The UDA policy states the intended
data ownership and how it changes based on observed HTTP
requests. FlowWatcher detects violations of the UDA policy by
tracking data items that are likely to be unique across HTTP requests
and responses of different users. We evaluate a prototype
implementation of FlowWatcher as a plug-in for the Nginx reverse
proxy and show that, with short UDA policies, it can mitigate CVE
bugs in six popular web applications.
Date Issued
2015-10-12
Date Acceptance
2015-07-22
Citation
22nd ACM Conference on Computer and Communications Security (CCS 2015), 2015, pp.603-615
ISBN
978-1-4503-3832-5
Publisher
ACM
Start Page
603
End Page
615
Journal / Book Title
22nd ACM Conference on Computer and Communications Security (CCS 2015)
Copyright Statement
© ACM, 2015. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution.
Source
22nd ACM Conference on Computer and Communications Security (CCS 2015)
Publication Status
Published
Start Date
2015-10-15
Finish Date
2015-10-16
Coverage Spatial
Denver, Colorado USA