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.

y ACCESS COARSE LOCATION. 358 applicati<strong>on</strong>s request<br />

at least <strong>on</strong>e of the locati<strong>on</strong> permissi<strong>on</strong>s; 133 request<br />

<strong>on</strong>ly ACCESS COARSE LOCATION. This indicates that<br />

37% of applicati<strong>on</strong>s that need to know the user’s locati<strong>on</strong><br />

are satisfied with a “coarse” locati<strong>on</strong> metric, which<br />

benefits user privacy.<br />

Future permissi<strong>on</strong> systems should c<strong>on</strong>sider adopting<br />

similar fine-grained permissi<strong>on</strong>s.<br />

4.4.3 Coarse-Grained Android Permissi<strong>on</strong>s<br />

Not all of Android’s permissi<strong>on</strong>s are fine-grained.<br />

The INTERNET permissi<strong>on</strong> lets an applicati<strong>on</strong> send<br />

HTTP(S) requests to all domains, load any web site into<br />

an embedded browser window (“<strong>Web</strong>View”), and c<strong>on</strong>nect<br />

to arbitrary destinati<strong>on</strong>s and ports. The granularity<br />

of the INTERNET permissi<strong>on</strong> is important because<br />

86.6% of free and 65% of paid applicati<strong>on</strong>s in our largescale<br />

study use it.<br />

We find that 27 of the 36 Android applicati<strong>on</strong>s in our<br />

manual review (Secti<strong>on</strong> 4.2.2) have the INTERNET permissi<strong>on</strong>.<br />

Of those, 13 <strong>on</strong>ly use the Internet to make<br />

HTTP(S) requests to specific domains. These Android<br />

applicati<strong>on</strong>s rely <strong>on</strong> backend servers for c<strong>on</strong>tent, much<br />

like web applicati<strong>on</strong>s. A fourteenth applicati<strong>on</strong> additi<strong>on</strong>ally<br />

uses the INTERNET permissi<strong>on</strong> to support Google<br />

AdSense, which displays advertisements from a single<br />

domain in a <strong>Web</strong>View.<br />

These results indicate that many applicati<strong>on</strong>s would<br />

tolerate a limited Internet permissi<strong>on</strong> that <strong>on</strong>ly permits<br />

HTTP(S) or <strong>Web</strong>View access to a specific list of domains,<br />

similar to what Google Chrome offers extensi<strong>on</strong>s.<br />

This hypothetical limited permissi<strong>on</strong> would be sufficient<br />

for 52% of the 27 applicati<strong>on</strong>s that use INTERNET.<br />

5 Reducing User Prompts<br />

Our study in Secti<strong>on</strong> 3 dem<strong>on</strong>strates that almost all extensi<strong>on</strong>s<br />

and applicati<strong>on</strong>s trigger prompts for dangerous<br />

permissi<strong>on</strong>s during installati<strong>on</strong>. The high rate of permissi<strong>on</strong><br />

warnings makes it unlikely that even an alert,<br />

security-c<strong>on</strong>scious user would pay special attenti<strong>on</strong> to an<br />

applicati<strong>on</strong> with several dangerous privileges.<br />

Possible soluti<strong>on</strong>s to this problem depend <strong>on</strong> the<br />

intended role of permissi<strong>on</strong> prompts. If permissi<strong>on</strong><br />

prompts are <strong>on</strong>ly intended to inform the user and decrease<br />

platform liability, then perhaps their presentati<strong>on</strong><br />

and frequency do not matter. If a prompt is supposed to<br />

warn or alert the user, however, then increasing user attenti<strong>on</strong><br />

will improve its efficacy. In order to preserve the<br />

significance of truly important warnings, <strong>on</strong>e possibility<br />

is to de-emphasize or remove lesser warnings.<br />

10<br />

5.1 Google Chrome<br />

Google Chrome currently presents all permissi<strong>on</strong>s<br />

equally. Critical extensi<strong>on</strong> privileges (e.g., including a<br />

plug-in) should always be prominently displayed as part<br />

of the installati<strong>on</strong> process, but less significant permissi<strong>on</strong>s<br />

(e.g., bookmarks) could be omitted from the installati<strong>on</strong><br />

warning and simply listed <strong>on</strong> the download page.<br />

Not all Internet access needs to be displayed to users.<br />

<strong>Web</strong> sites with private informati<strong>on</strong> (e.g., financial, commercial,<br />

and e-mail sites) use TLS to protect users from<br />

man-in-the-middle attacks. We assume that HTTP-<strong>on</strong>ly<br />

sites are not c<strong>on</strong>cerned about eavesdropping. If Google<br />

Chrome were to <strong>on</strong>ly show warnings for extensi<strong>on</strong>s with<br />

access to HTTPS sites, 148 of the 500 most popular extensi<strong>on</strong>s<br />

would no l<strong>on</strong>ger trigger web access warnings.<br />

102 extensi<strong>on</strong>s would no l<strong>on</strong>ger prompt a warning at<br />

all, reducing the number of extensi<strong>on</strong>s with at least <strong>on</strong>e<br />

warning from 91.4% to 71% of the 500 most popular extensi<strong>on</strong>s.<br />

Users would be at risk of man-in-the-middle<br />

attacks <strong>on</strong> HTTP-<strong>on</strong>ly sites, but they already are at risk<br />

of this <strong>on</strong> their networks.<br />

5.2 Android<br />

Android ranks permissi<strong>on</strong>s by threat level, and <strong>on</strong>ly Dangerous<br />

permissi<strong>on</strong>s are displayed to users. However,<br />

there is still great variance within Dangerous permissi<strong>on</strong>s.<br />

Dangerous permissi<strong>on</strong>s let an applicati<strong>on</strong> perform<br />

acti<strong>on</strong>s that cost the user m<strong>on</strong>ey (e.g., send text messages),<br />

pertain to private informati<strong>on</strong> (e.g., locati<strong>on</strong>, c<strong>on</strong>tacts,<br />

and the calendar), and eavesdrop <strong>on</strong> ph<strong>on</strong>e calls.<br />

On the other hand, Dangerous permissi<strong>on</strong>s also guard the<br />

ability to c<strong>on</strong>nect to paired Bluetooth devices, modify<br />

audio settings, and get the list of currently running applicati<strong>on</strong>s.<br />

Users may not care about Dangerous permissi<strong>on</strong>s<br />

that cannot cause direct harm to the user or ph<strong>on</strong>e.<br />

De-emphasizing the less-threatening Dangerous permissi<strong>on</strong>s<br />

could reduce the number of user warnings.<br />

WAKE LOCK and WRITE EXTERNAL STORAGE are<br />

two of the most popular Dangerous permissi<strong>on</strong>s, and neither<br />

has a clear implicati<strong>on</strong> for users. The WAKE LOCK<br />

permissi<strong>on</strong> lets an applicati<strong>on</strong> perform acti<strong>on</strong>s that keep<br />

the ph<strong>on</strong>e awake without user interacti<strong>on</strong>. Playing music,<br />

for example, requires this permissi<strong>on</strong>. Although the permissi<strong>on</strong><br />

could be used to slowly drain the battery, it does<br />

not pose a serious privacy or security threat. 26% of the<br />

956 applicati<strong>on</strong>s have the WAKE LOCK permissi<strong>on</strong>. The<br />

WRITE EXTERNAL STORAGE permissi<strong>on</strong> c<strong>on</strong>trols access<br />

to the SD card, which could be used to access other<br />

applicati<strong>on</strong>s’ files that are <strong>on</strong> the SD card. However, the<br />

user has no way of differentiating between legitimate and<br />

illegitimate access to the SD card. It seems reas<strong>on</strong>able<br />

for all applicati<strong>on</strong>s to store data, and <strong>on</strong>ly the developer<br />

84 <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> <str<strong>on</strong>g>USENIX</str<strong>on</strong>g> Associati<strong>on</strong>

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

Saved successfully!

Ooh no, something went wrong!