Security Goals.
The broad security goal of both our mechanisms are iso-
lation. Isolation protects sensitive resources belonging to
the app, such as non-entry URLs, scripts, and user creden-
tials, against unauthorized use by web pages or scripts not
belonging to the app. We distill two isolation goals which, if
met, will provide the app with defenses against the attacks
described in Section 3.1. (This property holds because the
attacks either require an attacker to gain access to exploitable
URLs within the app or use sensitive state from the app, or
both.)
These goals are modeled by Alloy assertions (logical pred-
icates whose consistency with the model may be checked)
analogous to the following statements:
1. Browser contexts (pages or scripts) originating outside
an app will not read or overwrite state issued within
the app, such as credential cookies.
2. Browser contexts (pages or scripts) originating outside
an app will not obtain a non-entry resource within the
app.
Isolation Mechanisms.
We model entry-point restriction as an Alloy fact (a logic
constraint which always holds), reproduced below. The fact
states that the browser will not issue any cross-origin requests
for a non-entry resource in an entry-restricting origin.