I am a computer science Ph.D. candidate at UC Berkeley,
researching web and smartphone security. My primary research topic
is the design of permission systems for modern platforms
like web browsers and smartphones. My advisor is David Wagner.
I am a student instructor at the UC Berkeley Self-Paced Center, where I teach Python, Java, and Unix.
I write a research blog on smartphone and web security.
I write a research blog on smartphone and web security.
Android Permissions: User Attention, Comprehension, and Behavior
Adrienne Porter Felt, Elizabeth Ha, Serge Egelman, Ariel Haney, Erika Chin,
and David Wagner
UC Berkeley Technical Report 2012 (in submission)
[abstract] [paper]
Adrienne Porter Felt, Elizabeth Ha, Serge Egelman, Ariel Haney, Erika Chin,
and David Wagner
UC Berkeley Technical Report 2012 (in submission)
[abstract] [paper]
Android's permission system is intended to inform users about the risks of
installing applications. When a user installs an application, he or she has the
opportunity to review the application's permission requests and cancel the installation
if the permissions are excessive or objectionable. We examine whether the Android
permission system is effective at warning users. In particular, we evaluate whether
Android users pay attention to, understand, and act on permission information during
installation. We performed two usability studies: an Internet survey of 308 Android
users, and a laboratory study where we interviewed and observed 25 Android users.
Study participants displayed low attention and comprehension rates: both the
Internet survey and laboratory study found that 17% of people paid attention to permissions
during installation, and only 3% of Internet survey respondents could correctly
answer all three permission comprehension questions. This indicates that current
Android permission warnings do not help most users make correct security decisions.
However, a notable minority of users demonstrated both awareness of permission warnings
and reasonable rates of comprehension. We present recommendations for improving user
attention and comprehension, as well as identify open challenges.
[hide abstract]
[hide abstract]
Android Permissions Demystified
Adrienne Porter Felt, Erika Chin, Steve Hanna, Dawn Song, and David Wagner
ACM Conference on Computer and Communication Security (CCS) 2011
[abstract] [paper] [tool and data] [slides]
Adrienne Porter Felt, Erika Chin, Steve Hanna, Dawn Song, and David Wagner
ACM Conference on Computer and Communication Security (CCS) 2011
[abstract] [paper] [tool and data] [slides]
Android provides third-party applications with an extensive API that includes
access to phone hardware, settings, and user data. Access to privacy- and security-relevant
parts of the API is controlled with an install-time application permission system. We
study Android applications to determine whether Android developers follow least privilege
with their permission requests. We built Stowaway, a tool that detects overprivilege in
compiled Android applications. Stowaway determines the set of API calls that an application
uses and then maps those API calls to permissions. We used automated testing tools on the
Android API in order to build the permission map that is necessary for detecting overprivilege.
We apply Stowaway to a set of 940 applications and find that about one-third are overprivileged.
We investigate the causes of overprivilege and find evidence that developers are trying to
follow least privilege but sometimes fail due to insufficient API documentation.
[hide abstract]
[hide abstract]
A Survey of Mobile Malware in the Wild
Adrienne Porter Felt, Matthew Finifter, Erika Chin, Steve Hanna, and David Wagner
ACM Workshop on Security and Privacy in Mobile Devices (SPSM) 2011
[abstract] [paper] [malware data] [slides]
Adrienne Porter Felt, Matthew Finifter, Erika Chin, Steve Hanna, and David Wagner
ACM Workshop on Security and Privacy in Mobile Devices (SPSM) 2011
[abstract] [paper] [malware data] [slides]
Mobile malware is rapidly becoming a serious threat. In this paper, we survey
the current state of mobile malware in the wild. We analyze the incentives
behind 46 pieces of iOS, Android, and Symbian malware that spread in the wild
from 2009 to 2011. We also use this data set to evaluate the effectiveness
of techniques for preventing and identifying mobile malware. After observing
that 4 pieces of malware use root exploits to mount sophisticated attacks on
Android phones, we also examine the incentives that cause non-malicious
smartphone tinkerers to publish root exploits and survey the availability of
root exploits.
[hide abstract]
[hide abstract]
Permission Re-Delegation: Attacks and Defenses
Adrienne Porter Felt, Helen Wang, Alex Moshchuk, Steve Hanna, and Erika Chin
USENIX Security Symposium 2011
[abstract] [paper] [attack video] [slides]
Adrienne Porter Felt, Helen Wang, Alex Moshchuk, Steve Hanna, and Erika Chin
USENIX Security Symposium 2011
[abstract] [paper] [attack video] [slides]
Modern browsers and smartphone operating systems treat
applications as mutually untrusting, potentially
malicious principals. Applications are (1) isolated except
for explicit IPC or inter-application communication
channels and (2) unprivileged by default, requiring user
permission for additional privileges. Although
inter-application communication supports useful collaboration,
it also introduces the risk of permission re-delegation. Permission re-delegation occurs when an application
with permissions performs a privileged task for
an application without permissions. This undermines the
requirement that the user approve each application's access
to privileged devices and data. We discuss permission
re-delegation and demonstrate its risk by launching
real-world attacks on Android system applications; several
of the vulnerabilities have been confirmed as bugs.
We discuss possible ways to address permission re-delegation and present IPC Inspection, a new OS mechanism for defending against permission re-delegation. IPC Inspection prevents opportunities for permission re-delegation by reducing an application's permissions after it receives communication from a less privileged application. We have implemented IPC Inspection for a browser and Android, and we show that it prevents the attacks we found in the Android system applications.
[hide abstract]
We discuss possible ways to address permission re-delegation and present IPC Inspection, a new OS mechanism for defending against permission re-delegation. IPC Inspection prevents opportunities for permission re-delegation by reducing an application's permissions after it receives communication from a less privileged application. We have implemented IPC Inspection for a browser and Android, and we show that it prevents the attacks we found in the Android system applications.
[hide abstract]
The Effectiveness of Application Permissions
Adrienne Porter Felt, Kate Greenwood, and David Wagner
USENIX Conference on Web Application Development (WebApps) 2011
[abstract] [paper] [slides]
Adrienne Porter Felt, Kate Greenwood, and David Wagner
USENIX Conference on Web Application Development (WebApps) 2011
[abstract] [paper] [slides]
Traditional user-based permission systems assign the user's
full privileges to all applications. Modern platforms are transitioning
to a new model, in which each application has a different set of permissions
based on its requirements. Application permissions offer several
advantages over traditional user-based permissions, but these benefits rely
on the assumption that applications generally require less than full privileges.
We explore whether that assumption is realistic, which provides insight into the
value of application permissions.
We perform case studies on two platforms with application permissions, the Google Chrome extension system and the Android OS. We collect the permission requirements of a large set of Google Chrome extensions and Android applications. From this data, we evaluate whether application permissions are effective at protecting users. Our results indicate that application permissions can have a positive impact on system security when applications' permission requirements are declared up-front by the developer, but can be improved.
[hide abstract]
We perform case studies on two platforms with application permissions, the Google Chrome extension system and the Android OS. We collect the permission requirements of a large set of Google Chrome extensions and Android applications. From this data, we evaluate whether application permissions are effective at protecting users. Our results indicate that application permissions can have a positive impact on system security when applications' permission requirements are declared up-front by the developer, but can be improved.
[hide abstract]
Analyzing Inter-Application Communication in Android
Erika Chin, Adrienne Porter Felt, Kate Greenwood, and David Wagner
International Conference on Mobile Systems, Applications, and Services (MobiSys) 2011
[abstract] [paper] [tool] [Erika's slides]
Erika Chin, Adrienne Porter Felt, Kate Greenwood, and David Wagner
International Conference on Mobile Systems, Applications, and Services (MobiSys) 2011
[abstract] [paper] [tool] [Erika's slides]
Modern smartphone operating systems support the development of third-party applications
with open system APIs. In addition to an open API, the Android operating system also provides
a rich inter-application message passing system. This encourages inter-application collaboration
and reduces developer burden by facilitating component reuse. Unfortunately, message passing
is also an application attack surface. The content of messages can be sniffed, modified, stolen,
or replaced, which can compromise user privacy. Also, a malicious application can inject forged
or otherwise malicious messages, which can lead to breaches of user data and violate application
security policies.
We examine Android application interaction and identify security risks in application components. We provide a tool, ComDroid, that detects application communication vulnerabilities. ComDroid can be used by developers to analyze their own applications before release, by application reviewers to analyze applications in the Android Market, and by end users. We analyzed 20 applications with the help of ComDroid and found 34 exploitable vulnerabilities; 12 of the 20 applications have at least one vulnerability.
[hide abstract]
We examine Android application interaction and identify security risks in application components. We provide a tool, ComDroid, that detects application communication vulnerabilities. ComDroid can be used by developers to analyze their own applications before release, by application reviewers to analyze applications in the Android Market, and by end users. We analyzed 20 applications with the help of ComDroid and found 34 exploitable vulnerabilities; 12 of the 20 applications have at least one vulnerability.
[hide abstract]
Phishing on Mobile Devices
Adrienne Porter Felt and David Wagner
Workshop on Web 2.0 Security and Privacy (W2SP) 2011
[abstract] [paper] [slides]
This work was mentioned in the news: article, article, article
Adrienne Porter Felt and David Wagner
Workshop on Web 2.0 Security and Privacy (W2SP) 2011
[abstract] [paper] [slides]
This work was mentioned in the news: article, article, article
We assess the risk of phishing on mobile platforms. Mobile operating systems
and browsers lack secure application identity indicators, so the user cannot
always identify whether a link has taken her to the expected application. We
conduct a systematic analysis of ways in which mobile applications and web sites link
to each other. To evaluate the risk, we study 85 web sites and 100 mobile applications
and discover that web sites and applications regularly ask users to type their
passwords into contexts that are vulnerable to spoofing. Our implementation of sample
phishing attacks on the Android and iOS platforms demonstrates that attackers can
spoof legitimate applications with high accuracy, suggesting that the risk of phishing
attacks on mobile platforms is greater than has previously been appreciated.
[hide abstract]
[hide abstract]
Diesel: Applying Privilege Separation to Database Access
Adrienne Porter Felt, Matthew Finifter, Joel Weinberger, and David Wagner
ACM Symposium on Information, Computer and Communications Security (AsiaCCS) 2011 [abstract] [short paper] [tech report] [Matt's slides]
Adrienne Porter Felt, Matthew Finifter, Joel Weinberger, and David Wagner
ACM Symposium on Information, Computer and Communications Security (AsiaCCS) 2011 [abstract] [short paper] [tech report] [Matt's slides]
Database-backed applications typically grant complete database access
to every part of the application. In this scenario, a flaw in one module
can expose data that the module never uses for legitimate purposes. Drawing
parallels to traditional privilege separation, we argue that database data should
be subject to limitations such that each section of code
receives access to only the data it needs. We call this data separation.
Data separation defends against SQL-based errors including
buggy queries and SQL injection attacks and facilitates code review,
since a module's policy makes the extent of its database access explicit to
programmers and code reviewers. We construct a system called Diesel, which
implements data separation by intercepting database queries and applying
modules' restrictions to the queries. We evaluate Diesel on three widely-used
applications: Drupal, JForum, and WordPress.
[hide abstract]
[hide abstract]
Object Views: Fine-Grained Sharing in Browsers
Leo A. Meyerovich, Adrienne Porter Felt, and Mark S. Miller
World Wide Web (WWW) 2010
[abstract] [paper]
Leo A. Meyerovich, Adrienne Porter Felt, and Mark S. Miller
World Wide Web (WWW) 2010
[abstract] [paper]
Browsers do not currently support the secure sharing of
JavaScript objects between principals. We present this
problem as the need for object views, which are
consistent and controllable versions of objects. Multiple
views can be made for the same object and customized for
the recipients. We implement object views with a
JavaScript library that wraps shared objects and
interposes on all access attempts. The security challenge
is to fully mediate access to objects shared through a
view and prevent privilege escalation. We discuss how
object views can be deployed in two settings: same-origin
sharing with rewriting-based JavaScript isolation systems
like Google Caja, and inter-origin sharing between
browser frames over a message-passing channel.
To facilitate simple document sharing, we build a policy system for declaratively defining policies for document object views. Notably, our document policy system makes it possible to hide elements without breaking document structure invariants. Developers can control the fine-grained behavior of object views with an aspect system that accepts programmatic policies.
[hide abstract]
To facilitate simple document sharing, we build a policy system for declaratively defining policies for document object views. Notably, our document policy system makes it possible to hide elements without breaking document structure invariants. Developers can control the fine-grained behavior of object views with an aspect system that accepts programmatic policies.
[hide abstract]
Protecting Browsers from Extension Vulnerabilities
Adam Barth, Adrienne Porter Felt, Prateek Saxena, and Aaron Boodman
Network and Distributed System Security Symposium (NDSS) 2010
[abstract] [paper] [slides]
Adam Barth, Adrienne Porter Felt, Prateek Saxena, and Aaron Boodman
Network and Distributed System Security Symposium (NDSS) 2010
[abstract] [paper] [slides]
Browser extensions are remarkably popular, with one in
three Firefox users running at least one extension.
Although well-intentioned, extension developers are often
not security experts and write buggy code that can be
exploited by malicious web site operators. In the
Firefox extension system, these exploits are dangerous
because extensions run with the user's full privileges and
can read and write arbitrary files and launch new
processes. In this paper, we analyze 25 popular Firefox
extensions and find that 88% of these extensions need less
than the full set of available privileges. Additionally,
we find that 76% of these extensions use un- necessarily
powerful APIs, making it difficult to reduce their
privileges. We propose a new browser extension system that
improves security by using least privilege, privilege
separation, and strong isolation. Our system limits the
misdeeds an attacker can perform through an extension
vulnerability. Our design has been adopted as the Google
Chrome extension system.
[hide abstract]
[hide abstract]
Privacy Protection for Social Networking APIs
Adrienne Porter Felt and David Evans
Workshop on Web 2.0 Security and Privacy (W2SP) 2008
[abstract] [paper]
This work was mentioned in the news: article, article, article
Adrienne Porter Felt and David Evans
Workshop on Web 2.0 Security and Privacy (W2SP) 2008
[abstract] [paper]
This work was mentioned in the news: article, article, article
Social networking APIs integrate third-party content into
the site and give third-party developers access to user
data. These open interfaces enable popular site
enhancements but pose serious privacy risks by exposing
user data to third-party developers. We address the
privacy risks associated with social networking APIs by
presenting a privacy-by-proxy design for a privacy-preserving API that is motivated by an analysis of the
data needs and uses of Facebook applications. Our study of
150 popular Facebook applications reveals that nearly all
applications could maintain their functionality using a
limited interface that only provides access to an
anonymized social graph and placeholders for user data.
Since the platform host can control the third party
applications' output, privacy-by-proxy can be accomplished
without major changes to the platform architecture or
applications by using new tags and data transformations.
[hide abstract]
[hide abstract]
Talking to Strangers Without Taking Their Candy: Isolating Proxied Content
Adrienne Porter Felt, Pieter Hooimeijer, David Evans, Wes Weimer
Workshop on Social Network Systems (SNS) 2008
[abstract] [paper]
Adrienne Porter Felt, Pieter Hooimeijer, David Evans, Wes Weimer
Workshop on Social Network Systems (SNS) 2008
[abstract] [paper]
Social networks have begun supporting external content integration with platforms like OpenSocial and the Facebook API. These platforms let users install third-party applications and are a popular example of a mash- up. Content integration is often accomplished by proxying the third-party content or importing third-party scripts. However, these methods introduce serious risks of user impersonation and data exposure. Modern browsers provide no mechanism to differentiate between trusted and untrusted embedded content. As a result, content providers are forced to trust third-party scripts or ensure user safety by means of server-side code sanitization. We demonstrate the difficulties of server-side code filtering - and the ramifications of its failure - with an example from the Facebook Platform. We then propose browser modifications that would distinguish between trusted and untrusted content and enforce their separation.
[hide abstract]
The Death of the Internet. Markus Jakobsson, Editor
"Phishing on Mobile Devices" by Adrienne Porter Felt
To be published in early 2012
"Phishing on Mobile Devices" by Adrienne Porter Felt
To be published in early 2012
An Evaluation of the Per-Application Permission Model
Adrienne Porter Felt
Lunch talk at Mozilla, September 2010
[abstract] [talk slides]
Adrienne Porter Felt
Lunch talk at Mozilla, September 2010
[abstract] [talk slides]
Traditional user-based permission systems assign the user's full privileges to all applications. Modern application platforms (like Android and HTML5) use a per-application permission model, in which each application has a different set of privileges based on its requirements. In theory, the per-application permission model limits the impact of vulnerabilities to applications' declared permissions, informs users of the risks of applications, and facilitates a centralized review process. We explore whether these benefits are being realized in practice by performing case studies on Android and the Google Chrome extension system. This talk will cover a set of studies on Android applications and Chrome extensions that evaluate application permission requirements, application overprivilege, malware permission usage, and the permissions leaked by buggy applications. It will also include some preliminary results on user understanding of Android permission requests. From these studies, we distill lessons for the design of future application platforms.
[hide abstract]
apf/@/cs.berkeley.edu
731 Soda Hall
731 Soda Hall
I hold a B.S.
from the University of Virginia (2008)
and a M.S. from UC Berkeley
(2010). My Ph.D. is in progress.
UC Berkeley 2008-
Graduate researcher
Graduate researcher
Fortify 2011-
Android consultant
Android consultant
Microsoft 2010
Intern with Helen Wang
Intern with Helen Wang
Google 2008
Intern with the Caja team
Intern with the Caja team
2011:
Facebook Fellowship
Facebook Fellowship
2010:
Google Anita Borg Scholar
Google Anita Borg Scholar
2009:
NSF Graduate Research Fellowship
NSF Graduate Research Fellowship
2008:
UCB Chancellor's Fellowship
UCB Chancellor's Fellowship
I'm married to Mark Murphy.
We have a dog, Punky (portrait below).