Regulating Access to System Sensors in Cooperating Programs

08/02/2018
by   Giuseppe Petracca, et al.
0

Modern operating systems such as Android, iOS, Windows Phone, and Chrome OS support a cooperating program abstraction. Instead of placing all functionality into a single program, programs cooperate to complete tasks requested by users. However, untrusted programs may exploit interactions with other programs to obtain unauthorized access to system sensors either directly or through privileged services. Researchers have proposed that programs should only be authorized to access system sensors on a user-approved input event, but these methods do not account for possible delegation done by the program receiving the user input event. Furthermore, proposed delegation methods do not enable users to control the use of their input events accurately. In this paper, we propose ENTRUST, a system that enables users to authorize sensor operations that follow their input events, even if the sensor operation is performed by a program different from the program receiving the input event. ENTRUST tracks user input as well as delegation events and restricts the execution of such events to compute unambiguous delegation paths to enable accurate and reusable authorization of sensor operations. To demonstrate this approach, we implement the ENTRUST authorization system for Android. We find, via a laboratory user study, that attacks can be prevented at a much higher rate (54-64 improvement); and via a field user study, that ENTRUST requires no more than three additional authorizations per program with respect to the first-use approach, while incurring modest performance (<1 per program).

READ FULL TEXT
research
08/08/2020

PolyScope: Multi-Policy Access Control Analysis to Triage Android Systems

Android filesystem access control provides a foundation for Android syst...
research
07/01/2019

One-Time Programs made Practical

A one-time program (OTP) works as follows: Alice provides Bob with the i...
research
09/21/2023

Turaco: Complexity-Guided Data Sampling for Training Neural Surrogates of Programs

Programmers and researchers are increasingly developing surrogates of pr...
research
04/07/2023

ChatPipe: Orchestrating Data Preparation Program by Optimizing Human-ChatGPT Interactions

Orchestrating a high-quality data preparation program is essential for s...
research
06/08/2021

Dynamic Software Updates for Unmodified Browsers through Multi-Version Execution

In this paper, we present the design, implementation, and evaluation of ...
research
04/14/2021

Designing an Android Application for Bills Segregation

In recent years, several people have been hanging out or sharing rental ...
research
02/02/2019

Event Loops as First-Class Values: A Case Study in Pedagogic Language Design

The World model is an existing functional input-output mechanism for eve...

Please sign up or login with your details

Forgot password? Click here to reset