29.11.2012 Views

2nd USENIX Conference on Web Application Development ...

2nd USENIX Conference on Web Application Development ...

2nd USENIX Conference on Web Application Development ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Abstract<br />

The Effectiveness of Applicati<strong>on</strong> Permissi<strong>on</strong>s<br />

Adrienne Porter Felt ∗ , Kate Greenwood, David Wagner<br />

University of California, Berkeley<br />

apf, kate eli, daw@cs.berkeley.edu<br />

Traditi<strong>on</strong>al user-based permissi<strong>on</strong> systems assign the<br />

user’s full privileges to all applicati<strong>on</strong>s. Modern platforms<br />

are transiti<strong>on</strong>ing to a new model, in which each<br />

applicati<strong>on</strong> has a different set of permissi<strong>on</strong>s based <strong>on</strong><br />

its requirements. Applicati<strong>on</strong> permissi<strong>on</strong>s offer several<br />

advantages over traditi<strong>on</strong>al user-based permissi<strong>on</strong>s, but<br />

these benefits rely <strong>on</strong> the assumpti<strong>on</strong> that applicati<strong>on</strong>s<br />

generally require less than full privileges. We explore<br />

whether that assumpti<strong>on</strong> is realistic, which provides insight<br />

into the value of applicati<strong>on</strong> permissi<strong>on</strong>s.<br />

We perform case studies <strong>on</strong> two platforms with applicati<strong>on</strong><br />

permissi<strong>on</strong>s, the Google Chrome extensi<strong>on</strong> system<br />

and the Android OS. We collect the permissi<strong>on</strong> requirements<br />

of a large set of Google Chrome extensi<strong>on</strong>s<br />

and Android applicati<strong>on</strong>s. From this data, we evaluate<br />

whether applicati<strong>on</strong> permissi<strong>on</strong>s are effective at protecting<br />

users. Our results indicate that applicati<strong>on</strong> permissi<strong>on</strong>s<br />

can have a positive impact <strong>on</strong> system security when<br />

applicati<strong>on</strong>s’ permissi<strong>on</strong> requirements are declared upfr<strong>on</strong>t<br />

by the developer, but can be improved.<br />

1 Introducti<strong>on</strong><br />

Browsers and smartph<strong>on</strong>e operating systems provide development<br />

platforms that support thriving markets for<br />

third-party applicati<strong>on</strong>s. However, third-party code creates<br />

risks for the user. Some third-party authors are malicious<br />

[3, 14], and third-party code can introduce vulnerabilities<br />

because the authors of third-party applicati<strong>on</strong>s<br />

usually are not security experts [10, 19].<br />

In order to protect users from the threats associated<br />

with third-party code, modern platforms use applicati<strong>on</strong><br />

permissi<strong>on</strong>s to c<strong>on</strong>trol access to security- and privacyrelevant<br />

parts of their APIs. Users decide whether to allow<br />

individual applicati<strong>on</strong>s to access these sensitive resources.<br />

Time-of-use systems prompt users to approve<br />

permissi<strong>on</strong>s as needed by applicati<strong>on</strong>s at runtime, and<br />

install-time systems ask developers to declare their appli-<br />

∗ This material is based up<strong>on</strong> work supported under a Nati<strong>on</strong>al Science<br />

Foundati<strong>on</strong> Graduate Research Fellowship. Any opini<strong>on</strong>s, findings,<br />

c<strong>on</strong>clusi<strong>on</strong>s or recommendati<strong>on</strong>s expressed in this publicati<strong>on</strong> are<br />

those of the author(s) and do not necessarily reflect the views of the<br />

Nati<strong>on</strong>al Science Foundati<strong>on</strong>.<br />

1<br />

cati<strong>on</strong>s’ permissi<strong>on</strong> requirements up-fr<strong>on</strong>t so that users<br />

can grant them during installati<strong>on</strong>.<br />

Traditi<strong>on</strong>al user-based permissi<strong>on</strong> systems assign the<br />

user’s full privileges to all of the user’s applicati<strong>on</strong>s. In<br />

the applicati<strong>on</strong> permissi<strong>on</strong> model, however, each applicati<strong>on</strong><br />

can have a customized set of permissi<strong>on</strong>s based<br />

<strong>on</strong> its individual privilege requirements. If most applicati<strong>on</strong>s<br />

can be satisfied with less than the user’s full privileges,<br />

then three advantages of applicati<strong>on</strong> permissi<strong>on</strong>s<br />

over the traditi<strong>on</strong>al user-based model are possible:<br />

• User C<strong>on</strong>sent: Security-c<strong>on</strong>scious users may be<br />

hesitant to grant access to dangerous permissi<strong>on</strong>s<br />

without justificati<strong>on</strong>. For install-time systems, this<br />

might alert some users to malware at installati<strong>on</strong>;<br />

for time-of-use systems, this can prevent an installed<br />

applicati<strong>on</strong> from accessing sensitive c<strong>on</strong>tent.<br />

• Defense in Depth: For install-time systems, the impact<br />

of a vulnerability in an applicati<strong>on</strong> will be limited<br />

to the vulnerable applicati<strong>on</strong>’s declared privileges.<br />

This could also be true for a time-of-use system<br />

in which developers declare their applicati<strong>on</strong>s’<br />

maximum possible permissi<strong>on</strong>s up-fr<strong>on</strong>t.<br />

• Review Triaging: Up-fr<strong>on</strong>t applicati<strong>on</strong> permissi<strong>on</strong><br />

declarati<strong>on</strong>s facilitate central review because security<br />

reviewers can ignore low-privilege applicati<strong>on</strong>s<br />

and focus <strong>on</strong> applicati<strong>on</strong>s with dangerous permissi<strong>on</strong>s.<br />

This may decrease the average review time.<br />

The real-world impact of these potential advantages depends<br />

<strong>on</strong> low applicati<strong>on</strong> permissi<strong>on</strong> requirements. We<br />

evaluate the practical benefits of applicati<strong>on</strong> permissi<strong>on</strong>s.<br />

by performing a large-scale study of Google Chrome extensi<strong>on</strong>s<br />

and Android applicati<strong>on</strong>s.<br />

We perform a measurement study that quantifies the<br />

permissi<strong>on</strong> use of 1000 Google Chrome extensi<strong>on</strong>s and<br />

956 Android applicati<strong>on</strong>s. Both platforms use installtime<br />

permissi<strong>on</strong>s. Our study provides detailed data <strong>on</strong><br />

the permissi<strong>on</strong> requirements of applicati<strong>on</strong>s in the wild.<br />

From this data, we assess whether the platforms are realizing<br />

the potential benefits of applicati<strong>on</strong> permissi<strong>on</strong>s.<br />

We find that almost all applicati<strong>on</strong>s ask for fewer than<br />

maximum permissi<strong>on</strong>s. Only 14 of 1000 extensi<strong>on</strong>s request<br />

the most dangerous privileges, and the average Android<br />

applicati<strong>on</strong> requests fewer than 4 of 56 available<br />

<str<strong>on</strong>g>USENIX</str<strong>on</strong>g> Associati<strong>on</strong> <strong>Web</strong>Apps ’11: <str<strong>on</strong>g>2nd</str<strong>on</strong>g> <str<strong>on</strong>g>USENIX</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>ference</str<strong>on</strong>g> <strong>on</strong> <strong>Web</strong> Applicati<strong>on</strong> <strong>Development</strong> 75

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!