With the personalization and monetization of smartphone platforms, security has become an essential facet of smartphone framework design. We explore possibility of an app that can possibly block out the user or coerce unwanted behavior.
What it does
The implemented framework consists of an application, that is very difficult to exit and forces the user to perform a predefined gesture with the smartphone. In this case, the gesture is throwing the phone high up in the air, or dropping it on the floor. The "back back button" and "show running applications" button are completely circumvented, whereas going to the home screen just causes our application to relaunch in less than a second. The navigation bar itself is only visible for a very short duration on launch and the notification are is blocked. Application can also be extended to be a lock screen on the phone. Was built for phone with no hardware navigation, but can also be used for other devices. Threshold value needs to be adjusted per device.
How I built it
The application mainly consists of two main components. The first components is the interface of the application and the other monitors the acceleration values to test if it fits a certain gesture behavior. We used android-studio to develop this application.
Challenges I ran into
There a genuine risk in this area and that is why it is becoming increasingly difficult to built custom lock screens on the newer android APIs. The APIs related to the required components change very frequently, and made it difficult to work with different devices and OS versions. Also, the robust characterization and classification of the input gestures was a challenge on its own.
Accomplishments that I'm proud of
being able effectively distribute and produce workable sub-problems that needed to accomplished in a given time limit.
What I learned
Front-end design, android application behavior, sensor management and gesture modelling.
What's next for WannaCrack
The application can be extended to become a lock screen at which point the "home-button" is completely blocked.