
SENSOR MONITOR FOR ANDROID A Project Presented to the faculty of the Department of Computer Science California State University, Sacramento Submitted in partial satisfaction of the requirements for the degree of MASTER OF SCIENCE in Computer Science by Aniruddha Shekhar Rajguru SPRING 2019 © 2019 Aniruddha Shekhar Rajguru ALL RIGHTS RESERVED ii SENSOR MONITOR FOR ANDROID A Project by Aniruddha Shekhar Rajguru Approved by: __________________________________, Committee Chair Ahmed Salem, Ph.D. __________________________________, Second Reader Yuan Cheng, Ph.D. ____________________________ Date iii Student: Aniruddha Shekhar Rajguru I certify that this student has met the requirements for format contained in the University format manual, and that this project is suitable for shelving in the Library and credit is to be awarded for the project. __________________________, Graduate Coordinator ___________________ Jinsong Ouyang, Ph.D. Date Department of Computer Science iv Abstract of SENSOR MONITOR FOR ANDROID by Aniruddha Shekhar Rajguru Over the years, data privacy has been a major concern amongst consumers. Applications such as Facebook, Uber, and Instagram collect a huge amount of data from users in return for the free service. Some of this data collection is necessary for the service to work. However, the data being collected is often not essential for the functionality but is rather used for targeted advertising or user analytics. As the data collection takes place in the background, most consumers are left clueless. Consumers also lack the technical expertise to identify such data collection. Not just third-party applications, but even the Android operating system itself sometimes violates users’ privacy heavily. There are various ways of collecting user data, one of which is using device sensors, such as microphones, cameras, GPS, Wi-Fi and accelerometer, to precisely monitor the users’ activity. The goal of this project is to create a sensor monitor that allows users to view and capture accurately what happens to their data on a day-to-day basis. The sensor monitor also informs users to view which applications are accessing which sensors and at what time. v To achieve this functionality, the sensor monitor targets three parts of the Android stack: the Linux kernel’s PROC file system, Android’s SensorManager utility, and sensor.h header file. Combining these metrics along with a flag status allows the sensor monitor to form historical insights and send real-time alerts. The sensor monitor is designed to be modular for better maintainability and extensibility. All sensor monitor insights are stored in JSON and can be easily exported for further analysis. Thus, the sensor monitor will benefit a regular smartphone user as well as form a base for future projects in the Android domain. ______________________, Committee Chair Dr. Ahmed Salem ______________________ Date vi ACKNOWLEDGEMENTS I would like to thank Dr. Ahmed Salem for his guidance throughout this project with his immense experience in software engineering. I would also like to thank Dr. Yuan Cheng with his expertise to review my project report and provide valuable suggestions and feedback. Finally, I am very grateful to the Department of Computer Science, CSU Sacramento for providing me with access to the necessary resources and tools for completing this project successfully. vii TABLE OF CONTENTS Page Acknowledgments ..................................................................................................... vii List of Tables .............................................................................................................. xi List of Figures ........................................................................................................... xii Chapters 1. INTRODUCTION .................................................................................................... 1 1.1 Background ..................................................................................................... 1 1.2 Problem ........................................................................................................... 2 1.3 Purpose and Objective ..................................................................................... 3 1.4 Current Tools and Research ............................................................................ 3 2. PROPOSAL AND GOAL ........................................................................................ 6 2.1 Proposed Solution ........................................................................................... 6 2.2 Use Cases ........................................................................................................ 7 2.3 Project Environment and Scope ...................................................................... 8 2.4 Challenges ..................................................................................................... 10 3. PROJECT DESIGN ................................................................................................ 12 3.1 Design Overview .......................................................................................... 12 3.2 Flagging Procedure ....................................................................................... 14 3.3 Design Details ............................................................................................... 16 viii 3.4 Project Components ...................................................................................... 16 3.5 Module Synchronization ............................................................................... 21 3.6 Technology Stack ......................................................................................... 22 4. IMPLEMENTATION ............................................................................................ 23 4.1 Requirements and Installation Process .......................................................... 23 4.1.1 Requirements ......................................................................................... 23 4.1.2 Steps ...................................................................................................... 23 4.2 Source Code .................................................................................................. 24 4.3 Screenshots .................................................................................................... 26 5. SIMULATION ....................................................................................................... 30 5.1 Test Bench ..................................................................................................... 30 5.2 Test Scenario - 1 (Region: India) .................................................................. 31 5.3 Test Scenario - 2 (Region: France) ............................................................... 36 6. ANALYSIS ............................................................................................................ 37 6.1 Results from Test Scenario - 1 ...................................................................... 37 6.2 Results from Test Scenario - 2 ...................................................................... 39 7. PERFORMANCE ................................................................................................... 40 7.1 Project Performance ...................................................................................... 40 7.2 Stability ......................................................................................................... 41 7.3 Project Compatibility .................................................................................... 42 7.4 Limitations .................................................................................................... 45 ix 8. FURTHER STUDY AND FUTURE WORK ........................................................ 46 9. CONCLUSION ...................................................................................................... 47 References .................................................................................................................. 48 x LIST OF TABLES Tables Page 1. Performance Overhead with FBE Enabled ..................................................... 19 2. Sensor Insights ................................................................................................ 20 3. Test Device ..................................................................................................... 30 4. Simulation Result - 1 (3 hours, Android Version 6) ...................................... 31 5. Simulation Result - 2 (5 hours, Android Version 6) ...................................... 32 6. Simulation Result - 3 (1 hour, Android Version 7) ........................................ 33 7. Simulation Result - 4 (2 hours, Android Version 6) ...................................... 34 8. Simulation Result - 5 (5 hours, Android Version 7) ..................................... 35 9. Simulation Result - 6 (5 hours, Android Version 7) ...................................... 36 xi LIST OF FIGURES Figures Page 1. Operating System Market Share ..................................................................... 8 2. Android Version Distribution ........................................................................... 9 3. Project Structure ............................................................................................ 13 4. Flagging Procedure ........................................................................................
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages60 Page
-
File Size-