Securing and blocking actions on corporate Android devices

19 Views Asked by At

I'm creating an Android app that has critical security functions. Due to it's importance I want to secure it properly. My main concerns are:

  1. Uninstallation. I want the app to somehow block it's uninstallation so it is ensured that the app can always work.
  2. Persistence after factory reset. I don't want my app to be removed after the phone is factory reset. I want it to work like manufacturer's software so it stays and updates itself automatically after any connection to the internet is made.
  3. Blocking of USB data transfer. I want to block all USB data transfer so that nothing can be accessed on the device.
  4. Blocking of WIFI transfer. Like above, due to security reasons.
  5. Blocking user from disabling Mobile Data and Location Services. To keep connection with the phone at all times.
  6. Locking any input on the device remotely, including physical buttons, touch screen, etc.

I can get root access to phones when I install the app, however it has to be disabled when I'm done. I was thinking about how manufacturer's software does most of this but I don't even know where to begin with this. Like Play Store, it's always there and self updates in background, basically impossible to kill it. I'm targeting Android 10 (possibly 11) and above. I know that there might be need for some modifications to the system, however I would like to keep it as clean as possible so it can download and install manufacturer's system updates (manual reinstall of the app is acceptable that way, IF I can block auto-update).

Any ideas where I might start looking for solutions?

EDIT: So far the only things I can think of are moving app to /system and Xposed modules, however the second one requires root access at all times. Other than writing a custom ROM, I can't think of anything other.

0

There are 0 best solutions below