We have an Android device with 2 external USB host ports. Now I wonder what harm can be accomplished by an attacker with malicious intentions, provided that:

  • The user can not access settings or any App that we do not control (I'd love an example of apps we would need to prevent access to)
  • USB debugging is turned off
  • Our device is rooted (just to mention)

Could you give me an example what harm an attacker could do, considering the above conditions?

As I understand it, if a USB is mounted, then for something to be dangerous, it has to be executed. However execution must come from "the inside", no? If we control the inside, then there shouldn't be a problem, right?

  • 1
    Can you boot loader load OS from USB?
    – jhash
    Oct 1, 2015 at 16:38
  • Good point. I don't know for this device.
    – JohnyTex
    Oct 6, 2015 at 9:54

1 Answer 1


Consider this: It is not possible for a USB-hosting device do determine what kind of USB-device the plugged in USB-device really is.

You plug in a USB-stick, the USB-stick tells the hosting-device: "Hey! Im a Keyboard!" and the hosting-device has no possibility to proof whether it really is a Keyboard.

So if you have the basic USB-features enabled (automatical mounting e.g. -> "PlugAndPlay"), there are a lot of possible attack-vectors.

e.g. your fake-keyboard or mouse or whatever can change all the 'settings' bye calling a scripted fake-user input.

  • 1
    Valuable information! You mean if it manages to write something in a terminal then? But still, a fake keyboard would have to insert the text into a terminal, that can run something on the usb, right? So if I restrict access to anywhere where text can be interpreted as scripts, would I be safe then?
    – JohnyTex
    Oct 1, 2015 at 14:58
  • 1
    From the phone's viewpoint, does it matter if it is a real keyboard or a fake, compromised one? I think the same protections are needed for either case. Oct 1, 2015 at 16:14
  • 1
    @JohnyTex i am really not deep into usbport hacking, but i think usually you allow usb-devices to execute some code when plugged in. This is imo totally dependent from your Operating System.
    – Gewure
    Oct 5, 2015 at 18:31

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .