Source or “poof!”
How much harm can usb or bluetooth input devices do in GrapheneOS?
de0u How can a USB keyboard "find" which browser is installed? USB keyboards can type things, but they can't see what's happening. Attacking a Windows system by typing a known key sequence to bring up a shell prompt and then typing in a canned command is different from interacting with a touch-based GUI, especially if it isn't known which OS is present and which apps are present.
I don't know exactly how this attack works, but I know it works and it's a threat.
de0u I think there have been three requests so far that the actual article making these alarming claims be provided (in whatever language it's written in). The forum moderators have at various times expressed a distaste for alarming claims made without evidence. If this discussion thread is based on unsubstantiated claims that are implausible, perhaps it has already received enough "air time".
Blastoidea Source or “poof!”
I already have provided some sources but i understand that you maybe want to see even more, so here they come:
https://www.msn.com/en-us/news/technology/a-malicious-charging-cable-reveals-why-its-best-to-stick-to-official-accessories/ar-AA1wW9O0
https://www.businessinsider.com/fbi-free-phone-charging-stations-could-get-hacked-malware-warning-2023-4?international=true&r=US&IR=T
https://www.nbcnews.com/tech/security/juice-jacking-why-you-should-avoid-public-phone-charging-stations-n1132046
https://www.techspot.com/news/105863-usb-c-cable-can-hide-lot-malicious-hardware.html
https://counterespionage.com/malicious-usb-cables/
https://www.reddit.com/r/explainlikeimfive/comments/12ingd0/eli5_how_can_a_public_usb_charging_station_be/
I have also found web shops selling cables specifically designed for such attacks, with product descriptions like this:
"This Elite gen 3 cable features:
Keystroke Injection (DuckyScript™)
Mouse Injection
Max Payload Speed of 890 keys/sec
can Self-Destruct
Geo-Fencing features
WiFi Triggers
FullSpeed USB Hardware Keylogger
HIDX StealthLink
Encrypted Network C2
Extended WiFi range
Stealth-Optimized Power Draw"
I'm not sure if it's allowed to post links to stores that sell stuff like this, so I want to make sure I have confirmation from the mods/admin of this forum before I do so.
Btw how do i ping mods/admin as a group?
With the new 2Factor fingerprint unlock with a password, it would take forever to switch USB modes. There should be a way to use the fingerprint plus pin to access locked settings.
Open_Source_Enjoyer I don't want to seem as if I'm claiming that no threats exist due to USB peripherals. Clearly that's not true, and the GrapheneOS developers have made changes to make those attacks harder.
But, to go over the articles you provided:
Open_Source_Enjoyer https://www.msn.com/en-us/news/technology/a-malicious-charging-cable-reveals-why-its-best-to-stick-to-official-accessories/ar-AA1wW9O0
No specific attacks are described. That is, nothing says "Windows/Debian/Ubuntu/macOS version X was exploited with this cable by ____". Some of the vague statements are pretty inapplicable to GrapheneOS phones. Sure, a malicious USB cable could contain a keystroke logger for USB keyboards... but that wouldn't capture PINs or passphrases entered via a phone touchscreen, so...
That article describes no actual exploit against anything, let alone any phone, let alone an Android phone, let alone an exploit that would somehow work against all Android phones without knowing which version is in use.
Open_Source_Enjoyer https://www.businessinsider.com/fbi-free-phone-charging-stations-could-get-hacked-malware-warning-2023-4?international=true&r=US&IR=T
I remember the "airport USB charging station" outcry. I also remember it being debunked (source source). Are there any reported instances of any actual devices being exploited via a free USB charging station?
Open_Source_Enjoyer https://www.nbcnews.com/tech/security/juice-jacking-why-you-should-avoid-public-phone-charging-stations-n1132046
Here a specific attack is described: remote mirroring of an iPhone screen. And there is even some video, though it is edited so that a key point is obscured. At least in this YouTube video, attaching an exterior monitor requires agreeing to a pop-up. If "cybersecurity expert Jim Stickley" has a way around that, that would be big news... and I suspect Apple would rush out a fix.
But screen mirroring has nothing to do with "installing a malicious app and giving the app admin permission" (Open_Source_Enjoyer) at all, let alone "very fast and in the background, without the user recognising it and having a chance to stop it" (Open_Source_Enjoyer).
Open_Source_Enjoyer https://www.techspot.com/news/105863-usb-c-cable-can-hide-lot-malicious-hardware.html
Again, "could easily contain hardware that can inject malicious code, log keystrokes, and extract personal data", no specific documentation of any specific exploit, just a "could" allegation.
There is a video on this page, but it's a video of using infrared and voltage/amperage devices to discover cables with clandestine active elements. No demonstration of instant background installation of malware.
The original post made specific claims:
- getting passwords, pictures, documents and other stuff
- install a malicious app and give the app admin permission
- permanent backdoor access
- very fast and in the background, without the user recognising it and having a chance to stop it.
Note that "very fast and in the background" is the opposite of "user must agree to a pop-up about trusting a device".
Is it possible to provide documentation (such as a video) of #1, #2, #3, and/or #4 applying to, for example, an Android phone where PINs and passphrases are entered via the touchscreen?
Is it possible to provide a link to the article cited in the original post? If not, why is that not possible?
rclemmer With the new 2Factor fingerprint unlock with a password, it would take forever to switch USB modes. There should be a way to use the fingerprint plus pin to access locked settings.
How do you mean that?
de0u Open_Source_Enjoyer I don't want to seem as if I'm claiming that no threats exist due to USB peripherals. Clearly that's not true, and the GrapheneOS developers have made changes to make those attacks harder.
But, to go over the articles you provided:
Open_Source_Enjoyer https://www.msn.com/en-us/news/technology/a-malicious-charging-cable-reveals-why-its-best-to-stick-to-official-accessories/ar-AA1wW9O0
No specific attacks are described. That is, nothing says "Windows/Debian/Ubuntu/macOS version X was exploited with this cable by ____". Some of the vague statements are pretty inapplicable to GrapheneOS phones. Sure, a malicious USB cable could contain a keystroke logger for USB keyboards... but that wouldn't capture PINs or passphrases entered via a phone touchscreen, so...
That article describes no actual exploit against anything, let alone any phone, let alone an Android phone, let alone an exploit that would somehow work against all Android phones without knowing which version is in use.
Open_Source_Enjoyer https://www.businessinsider.com/fbi-free-phone-charging-stations-could-get-hacked-malware-warning-2023-4?international=true&r=US&IR=T
I remember the "airport USB charging station" outcry. I also remember it being debunked (source source). Are there any reported instances of any actual devices being exploited via a free USB charging station?
I don't say that this is a catastrophical exploit that will let to everyone getting hacked, but its is a real vulnerability, so i want to put attention on the topic.
de0u Here a specific attack is described: remote mirroring of an iPhone screen. And there is even some video, though it is edited so that a key point is obscured. At least in this YouTube video, attaching an exterior monitor requires agreeing to a pop-up. If "cybersecurity expert Jim Stickley" has a way around that, that would be big news... and I suspect Apple would rush out a fix.
But screen mirroring has nothing to do with "installing a malicious app and giving the app admin permission" (Open_Source_Enjoyer) at all, let alone "very fast and in the background, without the user recognising it and having a chance to stop it" (Open_Source_Enjoyer).
The protection mechanism performed by the iPhone in the video you linked is the mechanism we need on GrapheneOS.
If the cable/Bluetooth device wants to see the screen -> permission request
If the cable/Bluetooth device wants to send inputs -> permission request
If the cable/Bluetooth device wants to install something -> permission request
de0u Note that "very fast and in the background" is the opposite of "user must agree to a pop-up about trusting a device".
Yes, that's why we need this + a permission pop-up that can't be triggered accidentally, but must be held for 1-2 seconds.
Second point as a generel change to permission pop-up's not bound to this topic.
de0u Is it possible to provide documentation (such as a video) of #1, #2, #3, and/or #4 applying to, for example, an Android phone where PINs and passphrases are entered via the touchscreen?
Is it possible to provide a link to the article cited in the original post? If not, why is that not possible?
I don't really get what you want
- Edited
I'm not gonna read this whole thread, but you should see:
https://github.com/GrapheneOS/os-issue-tracker/issues/32
EDIT: Please refrain from commenting in the link above unless you've got something meaningful to add to it.
de0u Is it possible to provide documentation (such as a video) of #1, #2, #3, and/or #4 applying to, for example, an Android phone where PINs and passphrases are entered via the touchscreen?
Open_Source_Enjoyer I don't really get what you want
If something is a real genuine exploitable vulnerability that people can actually exploit and are actually exploiting, then it is possible to demonstrate an actual exploit. Video would be good. Forensic evidence would be fine. Otherwise, it's a theoretically-possible issue, and then questions about scenarios are completely relevant. For example, if somebody claims GrapheneOS (unlike Windows) can be exploited by a device pasting in a command line, maybe that's actually so difficult that this is a low-priority issue.
So what I meant by "documentation such as a video" is documentation, such as a video. I think this is super-relevant if people are providing little scraps of video that they allege demonstrate a serious problem, but if parts are clipped out that would make it clear that the problem is less serious.
Again, I am by no means claiming there are zero vulnerabilities associated with people voluntarily plugging in USB peripherals after having set their USB-C port preference to allow connections. But in terms of whether/when the GrapheneOS might want to take action, I think those considerations matter. There are lots of vulnerabilities! Some of them can be exploited remotely. Some of them (such as the recent one involving animation-disabling breaking the lock screen) are vulnerabilities that can be clearly demonstrated including via a brief video.
So it probably be relevant in terms of the priorities of the GrapheneOS project if, instead of repeating debunked claims about airport charging stations (for which there are zero documented victims), it were possible to present clear evidence of any Android device being exploited by any of these attacks.
Please note that I don't speak for the GrapheneOS project.
Open_Source_Enjoyer The protection mechanism performed by the iPhone in the video you linked is the mechanism we need on GrapheneOS.
If the cable/Bluetooth device wants to see the screen -> permission request
If the cable/Bluetooth device wants to send inputs -> permission request
If the cable/Bluetooth device wants to install something -> permission request
Those all seem to me like fine things, to be prioritized according to the plausibility of actual exploits, keeping in mind that GrapheneOS already encourages users to configure their USB-C ports to be other than wide open.
[...We need] a permission pop-up that can't be triggered accidentally, but must be held for 1-2 seconds.
That formulation suggests this issue is more severe than any other issue that currently involves a user consenting to something, since none of those require a multi-second delay. So evidence that this issue is easy to exploit, or has been exploited, would be great.
Watermelon I'm not gonna read this whole thread, but you should see:
https://github.com/GrapheneOS/os-issue-tracker/issues/32
Thanks for reporting that!
It seems as if at least one developer thinks alerts would be useful but not all that easy. So then how feasible exploits in this space are probably matters.
Open_Source_Enjoyer If the cable/Bluetooth device wants to see the screen -> permission request
On Pixel 8 and newer which support dp-alt screen mirroring via usb or the testing version of desktop mode on a usb display both require the user to give permission when the display is connected.
Only harm i can imagine coming is with a few specific instances.
- Device emulation - Most USB and bluetooth peripheral devices don't act as 1 single connected device, but often 2 or 3 or more. Some keyboards act as mulitple devices. Logitech used to sell imposter-like usb devices with programmable macros and assignable hot keys.
On Windows pcs, certain drivers would load and change all sorts of registry keys and kernel mode settings upon inserting those usb/bluetooth devices.
- The real problem can arrise when something like a usb keyboard can fool the connected device to thinking it is a storage device when in actuality it has no storage or virtually none.
these arent considered exploits though.. but they're different attack methods someone might use.. Or perhaps can be thought of as a modern convenience.
3.Watch out for devices that act as many different seperate devices. Those logitech devices would act as a camera, multiple keyboards, mouse, or any other combination of programmable devices one could imagine.
Do note that permissions arent always enforcable for every situation. E.g. Chromebooks dont follow Android permissions model and bring along more capability then the connected Android devices are aware of by setting multiple or shared UIDs.
de0u That formulation suggests this issue is more severe than any other issue that currently involves a user consenting to something, since none of those require a multi-second delay. So evidence that this issue is easy to exploit, or has been exploited, would be great.
This is a generell note to the procesdure of granting apps permissions.
In the way that most permission requests come up, its easy to trick the user to accidently click it.
Watermelon I'm not gonna read this whole thread, but you should see:
https://github.com/GrapheneOS/os-issue-tracker/issues/32
EDIT: Please refrain from commenting in the link above unless you've got something meaningful to add to it.Carlos-Anso On Pixel 8 and newer which support dp-alt screen mirroring via usb or the testing version of desktop mode on a usb display both require the user to give permission when the display is connected.
Thank you, so there is one defense against this exploit