The Yubikey Is the Digital Seatbelt We Need(zagaja.com) |
The Yubikey Is the Digital Seatbelt We Need(zagaja.com) |
And if you need a second factor, I'm sure any smartphone-based TOTP will do. People already guard their smartphone well. No extra key fob needed.
Keychain too.
Something irks me about concentrating all access management on a device that people also use for tons of commercial, data slurping apps and games. Banks, national governments, shops; they all want me to use their app as 2F. To me it seems precisely the opposite: the phone is not a good place for this.
This was many years back, but I remember searching to see if there was some kind of hardened not-a-phone appliance, without much luck.
No it won't. Like the article states, I also believe that phishing resistance is a critical property of 2FA systems. This is something that TOTP will never be able to provide.
We don't need Yubikey the brand, but we do need security keys (i.e. FIDO) as a concept.
We recently had a pretty major vulnerability exposed by a PEN test (thankfully) that was caused by a single misplaced NOT ! operator in a pretty simple function, maybe 20loc with 100% test coverage as counted by line.
The problem case was untested because while tests touched 100% of lines, not all combinations of paths through the code were tested.
The code had been written by myself about a year ago, and reviewed by four seasoned developers, none of whom spotted the issue.
How many thousands of eyes are on OpenSSL and yet major world ending vulnerabilities still crop up?
This might be a hot take, but you can make the process as painful as you like but at the end of the day, building secure software is nigh impossible. We should be putting less trust in software.
And I think one of the approaches that helped me to write safer code is to parse, and not validate.
That way drastically limit the situations we can get into where we forget to validate certain conditions.
e.g. you have a User struct, and you want to do an action which requires you to validate whether the user is an admin.
2 options here
* validate whether the user is an admin (which could happen multiple times when you're invoking distinct functions as part of a workflow)
* parse the User into an AdminUser. If the user is an admin, the function will work, and then you can pass on your new struct into places that require an admin. If it fails, the user is not an admin. Now you have merged all your checks into 1 place.
SWEs simply aren’t trained to deeply examine code and the side effects of it being pressured by skilled attackers.
2+ LGTMs reduces the change of a security issue making its way in, but no amount of expensive “more eyes” will eradicate bugs.
This is the conclusion I've come to as well. Nothing critical should be solely software dependent. Software will fail and critical systems should be able to function without it.
Code security is orthogonal to end-user authentication methods.
So, wrong on every count.
Sounds like that is the problem? I have mine on my keyring. (and have a backup in a safe.)
> would never tie my MFA to a hardware dongle that is likely not to be on my person when I need it.
The solution is to have it with you.
You guard it well, your carrier barely even tries to guard your number from being stolen. Once you have that you can get into Apple account SMS auth/iCloud passwords and keys.
Sounds good on paper, but not practical. Who decides what is a security-critical change?
No, it won't, because TOTP doesn't protect against phishing, which remains a threat even if randomly-generated unique passwords are used. That's what U2F protects against, is phishing.
I've already had this happen, which is why I use hardware keys now, and a backup phone.
I recommend Hack Recovery KEVIN M HACKER to anyone who needs this service. I decided to get into crypto investing and lost my crypto to an investor late last year. The guy who was supposed to manage my account was a fraud the whole time. I invested $180,000 and at first my read and profit margins looked good. I got worried when I couldn't make withdrawals and realized I had been tricked. I found some testimonials that people had to say about Hack Recovery KEVIN M HACKER and how helpful it was in getting their money back. I immediately contacted him via. Email: kevinmitnick100@hackermail.com, Telegram @Kelvinmhacker or WhatsApp via: +1-256-956-4498, and I’m sure you will be happy you did.
More importantly, MFA needs to be more widely adopted and the account recovery process needs to be hardened.
EUCLEAK Side-Channel Attack on the YubiKey 5 Series
Of course, since one of the keys protects access to resources that can only be accessed from a special laptop, it lives there, and is hard to lose, although that may also reduce security since it means the laptop and key are always together.
Now maybe if you're talking about using it for SSH, then it gets slightly more tricky depending on your config. Then again, it's definitely under 10 steps to set that up as well.
But a random, unique password prevents further harm. They can’t get data from another site just because they hacked this one.
Have random, unique passwords. Use a password manager. Done.
Still vulnerable to phishing, and that's where Yubikey & U2F can help.
That depends on how your data is being leaked. Of course it does not stop the service provider from leaking your data (intentionally or unintentionally). It protects you from phishing attacks.
> Have random, unique passwords. Use a password manager.
Sure. These are still good practices even with a yubikey.
It's very important that some things wound not happen automatically.
Cline side certificate works only for the given specific domain and it automatically recognizes you. I forgot the specifics but it only works for a specific domain. You cannot use it for another domain even if you want.
The only current remedy is a class action lawsuit which will eventually give you a pittance after many years, and it’s pathetic.
Extraction of the ECDSA secret key of Yubikey 5 series FIDO devices
I do generally like that technique of returning more vetted objects, but I'm not sure that it scales. Our users have close to one hundred different permissions based on the features their admin pays for, having an object for every type seems like a lot. Every combination of types is straight out.
The original issue I was talking about I don't think could have been helped. It was an encoding problem that could have potentially lead to XSS injection with a very specific set of GET parameters. I was frankly surprised that the PEN testers managed to find it.
If you have client certs installed and ready for use, especially with automatic selection, a rogue but otherwise "trusted" server can request your certificate by its issuer DN and, even though you may not directly provide any other information, any details about your identity present on the certificate can then be seen by that server.
Even so, thanks to the underlying security model of TLS, giving your cert to a rogue server still doesn't directly open up any confused deputy or MITM risks though, as far as I know, which is more relevant to the comparison with Yubikeys. Certificates, even client certificates, are meant to be "public", and the mere possession of one proves nothing; no certificate should be trusted until the party presenting it can prove it has the associated private key.
Corroborating SO answer: https://serverfault.com/a/1086000
Now I have a hardware key. I wouldn't dare keep rescue key codes (which can't be revoked) in my wallet.
It's just different risk profiles. Your biggest risk might be to drop your phone and lose all the 2FAs in a Google Auth app. Or your biggest risk might be losing your wallet to a thief or robber who is going to hijack your accounts.
Like, it was way better.
I use a hardware thingy that I put my Dutch bank card into that generates numbers for logins and purchases. I have the option of using an app or the hardware card reader.
I use a one time generating password hardware keyfob to login to the Dutch Belastingdienst. They require it and I don't think there is an app I can use for this purpose.
I'm confused, that seems like it confuses two independent aspects:
1. Whether the TOTP code comes from a fob-device versus a phone-device.
2. Whether some interactive interface you're using gives you a chance to see/confirm what you're about to authorize or not.
A phone app can lie to you about the transaction you're about to authorize regardless of whether the TOTP code was transcribed from an external device, transcribed from another app on the same phone, or auto-filled by itself.
Danish banks, because they use the national MitID authorisation, accept MFA via app, code generator, or a chip device:
https://www.mitid.dk/en-gb/get-started-with-mitid/mitid-auth...
The threat model is: malicious actor posing as the bank website, but legitimate keyfob or legitimate app. With the keyfob, the website intercepts a valid password and a valid 2FA code; with the app, nothing happens because it doesn't receive push data from the true bank.
I hope it is more clear now!
I don't see how that feature matters to a man in the middle attack during logon, since:
1. User opens web browser at a phishing site, which is masquerading as their bank, and starts the login process.
2. Phishing site interacts with bank.
3. Bank sends push-notification to the phone# that's on-file for that user: "Hey, that you logging in right now? Press the Yes button if so."
4. User sees it, expects it, presses the button, and then proceeds to hand over their TOTP and password to the phishing site anyway.
I suppose it might help on a per-transaction basis if the phishing site tries to trigger a hidden transaction, but at that point the app is just a way to streamline: "We sent you a code by SMS, enter that code to confirm the transaction."