Devices are stolen every day whether it be phones, laptops or others. There have been apps created to locate devices, but these applications are usually created for phones and not so much other mobile devices such as tablets or laptops. While these efforts can help law enforcement to a certain extent, if the device is wiped, the device may not work for this as they are account based and not hardware based. This leads to frustration by both the owner and law enforcement as they struggle to locate stolen merchandise and return it to the proper location.
Device Finder is an OS based firmware solution that allows devices to be located whether they have been factory reset or are still in the condition in which they were stolen. Device Finder tracks registered devices by registering their IMEI/MEID and having the device send location updates whenever it connects to a new network.
- Find and manipulate Android open source NIC libraries
- Create a database for storing user information
- Create a web app for user interfacing
- Create an android app for authenticating with web services
- Create an alerting system for notification of authorities
Our methodology was to split into two groups. One group tackled the issue of building the web infrastructure, the other worked on using the Android Open Source Project to gather GPS information and send it to the server. Once that was finished, we began working on the app that a user would need to download to their device to authenticate and begin sending location information to our web environment
- Successfully created the web applications and installed it on an EC2 instance in AWS.
- Successfully compiled AOSP onto the emulator and sent test information to web instance.
- Created an android application for authenticating and sending information to the web.
- Successfully created a working prototype with documentation on how to scale up to any size.
- Created installation documentation for the web application and endpoint application.
(list of any software / hardware requirements necessary to run the code/app/etc)
- At least 400 gigabytes of storage for the AOSP source tree
- At least 8 CPU threads
- At least 32 gigabytes of RAM
- An Ubuntu 19+ installation
- A sudo capable account
The installation script will take care of the rest of the requirements.
- Go to the directory you want to run the emulator from and pull the source code too.
- Download the install script:
wget https://raw.githubusercontent.com/ksefcovic/CYBR4580/master/DeviceFinderInstaller.sh
- Make the script executable and run it:
chmod +x DeviceFinderInstaller.sh && ./DeviceFinderInstaller.sh
- Start the android emulator:
cd AospSource
emulator
- Link to the application that is used to register devices to the web application
To run our app enviroment locally, start docker following these steps:
- Ensure Docker is installed and running
- Inside the check out repository, navigate to:
CYBR4580/find_my_device_app
- Execute:
docker-compose up
API Documentation:
To use the registration android application with the web app, visit this repo: Android Device Registration App Repo