The reason hardware 2fa keys like yubikeys are unphishable is that the browser controls the usb communication with the hardware key and passes the origin of the page to it - the page itself can't spoof an origin. But with WebUSB a page _can_ communicate directly to a yubikey and pretend it's being asked to authenticate on a different origin. It's been fixed now but it was an interesting bypass: - https://www.yubico.c…
What are some interesting uses of WebUSB you have come across?
71–80 of 101 posts
Re: What are some interesting uses of WebUSB you have come across?
#72I used it for my CNC milling machine. It’s used to configure quadcopters.
Re: What are some interesting uses of WebUSB you have come across?
#73Earlier quoted context omitted.
> pwn your computer because the high-quality USB implementation wasn’t that high quality after all. You have to compare it to the options we have available today, not an implausibly perfect implementation that doesn't exist. Let's imagine there is some bug that means if I grant access to a device, then more access than intended is actually granted. That sounds bad, but let's compare that to the non-Web USB model, whe…
I think we're talking past each other. If the two alternatives are "I need to use a random native USB driver to talk to this" and "I can use WebUSB" then WebUSB is probably better. But in reality a lot of devices actually already have drivers for that class in the OS, or there's a way to write some sort of restricted driver on that platform doesn't require loading things into the kernel. In that case I'm now using a…
Great, then you don't need to install anything or use Web USB, it's a no-op!
Still, until we can get Microsoft to ship every driver for every device, we still need a solution that works today.
> In that case I'm now using a browser where random websites can either trick me into giving them access to my USB devices with a click,
You can already be tricked into granting complete access to your machine with a few clicks, that's malware. It's a huge ongoing problem that can only be solved by limiting the ability to run third party code. That's a really high price to pay.
Sure, you could be socially engineered into granting an attacker access to a USB device. The only solution is to have no way for you to grant access to USB devices. There is no amount of confirmation or warning you couldn't be tricked into dismissing by a social engineer.
You will also need to uninstall Remote Desktop and OpenSSH, because you could also be socially engineered into configuring them to allow access. It's a common scam to trick people into downloading TeamViewer, so we will also need to remove your Administrator access and setup AppLocker with a strict policy.
> or forcefully access them via an exploit on a surface that is generally amenable to such things
That's not how it works. When a vulnerability is described as "arbitrary code execution", that means the code can do anything, not just access functionality that exists in the browser. If you were to use a browser without WebUSB support, an arbitrary code execution exploit would still be able to interact with USB devices.
The only added complexity here is after you've granted access to a device, otherwise the attack surface is entirely tractable.
Re: What are some interesting uses of WebUSB you have come across?
#74Earlier quoted context omitted.
Why is it a security vulnerability? I really want WebUSB to succeed, it could be a cross platform way to eliminate random executables from shady websites. The idea is that your browser can mediate and scope access to specific devices. There are some edge cases where Web USB is equally as dangerous as the status quo, but in the common case it is far better and never worse. The situation today is you buy a random USB g…
Assuming security is a well implemented "first class citizen" and not an afterthought, yes…
That's still better than "just download and run this exe as Administrator".
Re: What are some interesting uses of WebUSB you have come across?
#75The reason hardware 2fa keys like yubikeys are unphishable is that the browser controls the usb communication with the hardware key and passes the origin of the page to it - the page itself can't spoof an origin. But with WebUSB a page _can_ communicate directly to a yubikey and pretend it's being asked to authenticate on a different origin. It's been fixed now but it was an interesting bypass: - https://www.yubico.c…
Hmm this might not quite be WebUSB territory but it would be interesting to put a Yubikey in the cloud so it could be accessed from anywhere.
Re: What are some interesting uses of WebUSB you have come across?
#76This is cool, but both safari and firefox will not implement it: https://usefulangle.com/web-updates/post/80/firefox-decines-... I assume this is because of security concerns.
Am I alone in thinking even its Chrome implementation is a massive security risk? The fact that users can grant any webpage COMPLETE control of a USB attached device is astonishing. Live webpages shouldn't be able to access this feature - can't wait for fake jailbreak and backup services to start cropping up.
I reject this way of thinking. Letting bad guys dictate how you live your life and how you use your computer just doesn't scale that well.
Re: What are some interesting uses of WebUSB you have come across?
#77Earlier quoted context omitted.
I explain in a neighboring comment: https://news.ycombinator.com/item?id=34563795 It's crucially important that Googlers are divorced of the belief a permission popup on the top of the screen is adequate indication of intent/informed consent. People approve these all the time without understanding what it's for. Installing software is, at minimum, a very distinct action which users are aware of doing. Generally, they…
Why is installing software a distinct action, but granting device access not? Malware is a huge ongoing problem, which suggests this distinction doesn't really exist. I think we have to accept that there is no way to perfectly eliminate social engineering without also locking down legitimate access to devices. There will be some percentage of users who will click through all the warnings and confirmation prompts, jus…
This is a problem I have talked about many times before regarding Google's security outlook. On Project Zero there's a ton of interesting and surely exciting work into novel ways to compromise systems. ...That work has basically no bearing on improving security for the billions of users who will never be targeted in such a niche technical way.
Real world compromise tends to just be social engineering people into doing what Google explicitly permits websites to do. You could remove malicious activity from a billion users right now by simply... deleting the Notifications API from Chrome, which is principally used to spam ads. Because people mash that allow button all the time, every time.
I'd best guess I see ten times the malware in Chrome (either hijacker extensions delivered by the Chrome Web Store, push notifications from random adult websites, or both) than actual installed malicious software on a given Windows machine.
And this is fixable! Google could fix this with WebUSB and make a net positive all around! Likely by redesigning permission granting in the browser to require deeper user intent. But it would require a fundamental change in how Google understands and perceives security (and it'd likely reduce engagement stats for some features, which various teams would fight), and I've been beating this drum for several years and I don't really expect it to change.
(In fact, one specific change I could recommend: I think APIs like WebUSB, as well as the Notifications API and similar, should probably be completely blocked unless you install a PWA. It's not as much process as a Windows software install, but it's a clear gate to allowing a site more ability, and installing and removing apps is a far easier concept to explain to users than navigating the site privacy settings.)
Re: What are some interesting uses of WebUSB you have come across?
#78The reason hardware 2fa keys like yubikeys are unphishable is that the browser controls the usb communication with the hardware key and passes the origin of the page to it - the page itself can't spoof an origin. But with WebUSB a page _can_ communicate directly to a yubikey and pretend it's being asked to authenticate on a different origin. It's been fixed now but it was an interesting bypass: - https://www.yubico.c…
Hmm this might not quite be WebUSB territory but it would be interesting to put a Yubikey in the cloud so it could be accessed from anywhere.
Re: What are some interesting uses of WebUSB you have come across?
#79Earlier quoted context omitted.
I think we're talking past each other. If the two alternatives are "I need to use a random native USB driver to talk to this" and "I can use WebUSB" then WebUSB is probably better. But in reality a lot of devices actually already have drivers for that class in the OS, or there's a way to write some sort of restricted driver on that platform doesn't require loading things into the kernel. In that case I'm now using a…
> But in reality a lot of devices actually already have drivers for that class in the OS Great, then you don't need to install anything or use Web USB, it's a no-op! Still, until we can get Microsoft to ship every driver for every device, we still need a solution that works today. > In that case I'm now using a browser where random websites can either trick me into giving them access to my USB devices with a click, Y…
You've posited effectively that if we cannot stop people from compromising their computer we should not bother to try. Either let them be owned with a trivial popup and a single press, or remove their agency entirely.
However, a better approach to security would be to take responsibility for designs that allow easy compromise, and build systems designed to drastically reduce the likelihood a user compromises their machines.
We can't stop people from finding a shady installer for a driver on a file sharing site hosted in Russia and running it, but we can make 99% of people less likely to do it with good design.
Re: What are some interesting uses of WebUSB you have come across?
#80https://github.com/skybrian/serialviz
Also a hack to connect to a Lego NXT brick. (Not shared since I'd need to polish it up.)