News for hackers. Stuff that matters.
Re:Google: Security Keys Neutralized Employee Phishing by tptacek on Monday July 23, 2018 @12:44PM (#17593911)
The website and the password manager in this scenario are storing the exact same secrets. If you're going to store them in a password manager, it is indeed reasonable to ask "why bother"?

TOTP is very useful! Just use a TOTP authenticator app on your phone, and don't put them in 1Password.

Re:Google: Security Keys Neutralized Employee Phishing by SpaethCo on Monday July 23, 2018 @01:15PM (#17594147)
> TOTP is very useful! Just use a TOTP authenticator app on your phone, and don't put them in 1Password.

I was fully in that camp before I started talking with friends on red teams that were allowed to actually start using realistic phishing campaigns. Now I'm fully in the "U2F, client certs, or don't bother" camp.

Maybe I'm jaded, but it feels like the exploit landscape has improved enough that TOTP is as hopeless as enabling WEP on a present-day wireless network. Not only does setting it up waste your time, you're presumably doing so because you have the false belief it will actually offer protection from something. It may have been useful at one point, but those days are disappearing in the rearview mirror.

The only place I see TOTP still offering value is for people who re-use passwords, but only because it becomes the single site-unique factor for authentication.

Re:Google: Security Keys Neutralized Employee Phishing by tptacek on Monday July 23, 2018 @02:16PM (#17594614)
U2F addresses phishing and password theft. TOTP just addresses password theft. That doesn't make TOTP useless; password theft is a serious problem, routinely exploited in the real world.
Re:Google: Security Keys Neutralized Employee Phishing by jedberg on Monday July 23, 2018 @12:57PM (#17594007)
But the secrets serve different purposes, they aren't the same. So why not keep them in the same place? I'll admit that it is less secure of course, since someone could compromise your 1Password. But it is still more secure that not using TPOP at all, is not?

Again, is there no attack vector that exists that makes TPOP worthwhile when you're already using a password manager that makes it not worthwhile if it's in your password manager?

Re:Google: Security Keys Neutralized Employee Phishing by tptacek on Monday July 23, 2018 @01:11PM (#17594121)
I'm not really sure I see how storing TOTP secrets in 1Password is materially any more secure than not using TOTP secrets and just letting 1Password generate a random password for that site.
Re:Google: Security Keys Neutralized Employee Phishing by zzzeek on Monday July 23, 2018 @02:49PM (#17594883)
a keylogger sniffs your password for site X, now they have your password for that site and can log in. If you also had a TOTP code, they can only log in for the next 30 seconds using that TOTP code, but they can't send out an email with your password in a CSV file to their friends and expect it to be usable.

I know I'm wrong because you know everything but I can't get past this particular one. unless the argument is, attackers aren't that lame anymore, then sure.

Re:Google: Security Keys Neutralized Employee Phishing by tialaramex on Monday July 23, 2018 @04:55PM (#17595898)
Best not to assume anyone is infallible. If you don't put people on pedestals you've got less cleaning up to do later when they inevitably fall off. Yes that includes you (and of course me).

2-3 minutes is more realistic for real sites than 30 seconds, because there is usually a margin allowed for clock skew. But yes each OTP expires and that's a difference for an attacker who doesn't know the underlying secret.

TOTP is also not supposed to be re-usable. A passive keylogger gets the TOTP code, but only at the same moment it's used up by you successfully logging in with it. Implementations will vary in how effectively they enforce this, but in principle at least it could save you.

Caveat: The system may issue a long-lived token (e.g. a session Cookie) in exchange for the TOTP code which bad guys _can_ trade unlike the token itself.

I think there's also a difference with passwords on the other side of the equation. If I get read access to a credentials database (e.g. maybe a stolen backup tape) I get the OTP secret and so I can generate all the OTP codes I need, but in a halfway competently engineered system I do not get the password, only a hash. Since we're talking about 1Password, this password will genuinely be difficult to guess, and guessing is the only thing I can do because knowing the hash doesn't get me access to the live system. In this case 1Password is protecting you somewhat while my TOTP code made no difference. If you have a 10 character mixed case alphanumeric password (which is easy with 1Password), and the password hash used means I only get to try one billion passwords per second, you have many, many years to get around to changing that password.

Still, FIDO tokens are very much a superior alternative, their two main disadvantages are fixable. Not enough people have FIDO tokens, and not enough sites accept them.

[Edited to make the password stuff easier to follow]

Re:Google: Security Keys Neutralized Employee Phishing by Dylan16807 on Monday July 23, 2018 @11:12PM (#17597843)
The scenario of "attacker has a key logger but doesn't steal the entire password database" sounds like enough of an edge case to ignore. If someone's stealing data from my password manager I'm going to assume full compromise.
Re:Google: Security Keys Neutralized Employee Phishing by tialaramex on Tuesday July 24, 2018 @04:47AM (#17599176)
Do you have anything - statistics, examples of popular toolkits, something like that, to show this is actually just an "edge case" ?

In the threat scenario we're discussing bad guys aren't "stealing data from my password manager" they just have the password and OTP code that were filled out, possibly by hand. They can do this using the same tools and techniques that work for password-only authentication, including making phishing sites with a weak excuse for why the auto-fill didn't work. We know this works.

Re:Google: Security Keys Neutralized Employee Phishing by Dylan16807 on Tuesday July 24, 2018 @05:00AM (#17599229)
> In the threat scenario we're discussing bad guys aren't "stealing data from my password manager" they just have the password and OTP code that were filled out, possibly by hand.

Possibly by hand? You are definitely not discussing the same scenario as everyone else. They're talking about password and OTP being stored in the same password manager, both filled out at the same time all in software.

A key logger is stealing those bytes right out of the password manager's buffers. It takes more sophistication to dump the database, but it's a very small amount more.

Re:Google: Security Keys Neutralized Employee Phishing by tialaramex on Tuesday July 24, 2018 @11:13AM (#17601727)
You are, alas, not unusual in mistaking the autofill feature, which ordinary users are told is about convenience, for a security measure.

In the real world users go "Huh, why didn't my autofill work? Oh well, I'll copy it by hand".

A "key logger" logs keypresses. That's all key loggers do. There are lots of interesting scenarios that enable key logging. You've imagined some radically more capable attack, in which you get local code execution on someone's computer, and then for reasons best known to yourself you've decided that somehow counts as a "key logger". I can't help you there, except to recommend never going anywhere near security.

Re:Google: Security Keys Neutralized Employee Phishing by jedberg on Monday July 23, 2018 @01:27PM (#17594249)
Ok, so you don't see any use for TPOP when using 1Password then?
Re:Google: Security Keys Neutralized Employee Phishing by subway on Monday July 23, 2018 @02:02PM (#17594500)
The issue is with storing your TOTP secret in the same store as your password. The idea of using MFA is that multiple secret stores must be compromised in order to grant access to a service.

If you put your TOTP secret on your phone (or Yubikey), then both your TOTP secret store (that is your phone or keychain) and 1Password store must be compromised in order to gain access to your account. TOTP is useful in this scenario.

If you put your TOTP secret in 1Password along with your site password, then only your 1Password store needs to be compromised. This is the scenario where TOTP becomes pointless.

Re:Google: Security Keys Neutralized Employee Phishing by ubercore on Monday July 23, 2018 @02:43PM (#17594831)
Isn't that a less likely scenario? Or at least, a subset of the possible compromises, meaning you have materially improved your security in _some but not all_ cases. I don't disagree that it's best to not have TOTP in 1password, but isn't it still _better_ than not having TOTP at all?
Re:Google: Security Keys Neutralized Employee Phishing by jedberg on Monday July 23, 2018 @03:12PM (#17595091)
I understand that, but it isn't it still better to store it in 1Password than not have TPOP at all? At least you're still protected against other attacks, right?
Re:Google: Security Keys Neutralized Employee Phishing by subway on Monday July 23, 2018 @05:12PM (#17596049)
Marginally sure, but what "other attacks" are you looking to protect against?

Most MITM scenarios are going to result in giving up at least one TOTP code -- and that TOTP code will be used to obtain a long-lived HTTP session (I can't remember when Google last had me auth).

I think it's common for folks to think that TOTP means it's safe to lose a code because it is short-lived and invalidated when a subsequent code is used (usually), but it just takes one code for a long-lived session cookie to be obtained.

If an attacker is in the position to intercept your password via MITM, Phising, whatver, they're in position to intercept your TOTP code. They're not going to sit on that code -- they're going to immediately use it to obtain their long-lived session while reporting an error back to you.

Re:Google: Security Keys Neutralized Employee Phishing by tptacek on Monday July 23, 2018 @02:06PM (#17594522)
No, I use TOTP and I use 1Password. But my TOTP secrets live in Duo's iPhone application.
Re:Google: Security Keys Neutralized Employee Phishing by jedberg on Monday July 23, 2018 @03:12PM (#17595082)
And I also store them separately. But don't you agree that storing them in 1Password is still better than nothing, as there are still some use cases that you are protected against that way?
Re:Google: Security Keys Neutralized Employee Phishing by tptacek on Monday July 23, 2018 @03:48PM (#17595396)
No, that's where you lose me. If you're using 1Password to generate passwords in the first place, then I really don't see how using it for TOTP accomplishes anything. To me, it looks like you could literally concatenate the TOTP secret to the 1Pw-generated password and have the same level of security.
Re:Google: Security Keys Neutralized Employee Phishing by tialaramex on Monday July 23, 2018 @05:15PM (#17596079)
In particular OTP codes are intended to be single use they're a ratchet. If a site does this properly then any OTP code you steal from me is not only worthless when it naturally expires, it's also worthless once I use that code or a subsequent code to authenticate. If you used a passive keylogger that may mean by the time you get the key events that OTP is already useless. Likewise for shoulder surfing attacks.
Re:Google: Security Keys Neutralized Employee Phishing by fragmede on Monday July 23, 2018 @06:11PM (#17596438)
TOTP != HOTP
Re:Google: Security Keys Neutralized Employee Phishing by tialaramex on Monday July 23, 2018 @06:24PM (#17596517)
Nevertheless, RFC 6238 (TOTP) specifically tells implementers that:

Note that a prover may send the same OTP inside a given time-step window multiple times to a verifier. The verifier MUST NOT accept the second attempt of the OTP after the successful validation has been issued for the first OTP, which ensures one-time only use of an OTP.

Re:Google: Security Keys Neutralized Employee Phishing by Dylan16807 on Monday July 23, 2018 @11:10PM (#17597832)
The question is whether there is any point in having an OTP secret if it's stored in the same location as the password.

We're not talking about stealing single codes, but the entire secret.

With HOTP the answer is yes, because of ratcheting. A clone of the secret doesn't let you impersonate the original device, because their counters will conflict as both are used.

With TOTP the answer is no. You can make codes freely, and the clone is indistinguishable from the original.

The rule you cite is basically irrelevant. It just means that original and clone can't log in at the exact same time.

Re:Google: Security Keys Neutralized Employee Phishing by tialaramex on Tuesday July 24, 2018 @03:23AM (#17598809)
You've short-circuited by assuming the threat model is a bad guy breaks into 1Password. But there's no reason to insist upon this very unlikely threat model, there are other threats that _really happen_ in which having both OTP and a password under 1Password saves you.

Getting obsessed with a single unlikely threat leads to doing things that are actively counter-productive, because in your single threat model they didn't make any difference and you forgot that real bad guys aren't obliged to attack where you've put most effort into defence.

Re:Google: Security Keys Neutralized Employee Phishing by Dylan16807 on Tuesday July 24, 2018 @05:04AM (#17599252)
First, I don't agree that if the attackers have access to the password, guessing that they have access to data stored with the password is "very unlikely".

Second, any theoretical advantage still has nothing to do with ratcheting...

Re:Google: Security Keys Neutralized Employee Phishing by tialaramex on Tuesday July 24, 2018 @11:36AM (#17601951)
First: Fuzzy thinking. The attackers have access to _a copy of the password_. The copy they got wasn't necessarily anywhere near the OTP secret.

If I tell my phone number to my bank, my mom and my hairdresser, and you steal it from the hairdresser, this doesn't give you information about my bank account number, even though the bank stored that with the phone number.

Bad guys successfully phish passwords plus OTP codes. We know they do this, hopefully you agree that in this case they don't have the OTP secret. So in this case 1Password worked out as well as having a separate TOTP program.

Bad guys successfully steal form credentials out of browsers using various JS / DOM / etcetera flaws. Again, they get the OTP code but don't get the OTP secret regardless of whether you use 1Password

Bad guys also install keyboard monitors/ logs/ etcetera. In some cases they could just as easily steal your 1Password vault, but in other cases (depending on how they do it) that isn't an option. I believe it's "very unlikely" in reality that they'll get your 1Password vault unless it's a targeted attack.

A passive TLS tap also gives the bad guys the password plus OTP code but not the OTP secret. Unlike the former three examples this is going to be very environment specific. Your work may insist on having a passive TLS tap, and some banks definitely do (this is why they fought so hard to delay or prevent TLS 1.3) but obviously your home systems shouldn't allow such shenanigans. Nevertheless, while the passive tap can't be used to MITM your session it can steal any credentials you enter, again this doesn't include the OTP secret.

Second: A ratchet enables us to recover from a situation where bad guys have our secret, forcing the bad guy to either repeat their attack to get a new secret or show their hand. TOTP lets us do this when bad guys get one TOTP code but not the underlying TOTP secret.

Re:Google: Security Keys Neutralized Employee Phishing by Dylan16807 on Tuesday July 24, 2018 @05:06PM (#17604931)
> Second: A ratchet enables us to recover from a situation where bad guys have our secret, forcing the bad guy to either repeat their attack to get a new secret or show their hand. TOTP lets us do this when bad guys get one TOTP code but not the underlying TOTP secret.

I'm just going to focus on this, because it's not based on opinions of likelihood but simple facts. TOTP does not have a ratchet. If you copy the secret, you can use it indefinitely.

A ratchet is a counter (or similar) that goes up per use, so you can detect cloning. TOTP does not have this. It does not store any state. If I log in every day, and the attacker logs in every day, you can't look at the counters to see that something is very wrong, because there is no counter.

Re:Google: Security Keys Neutralized Employee Phishing by tialaramex on Tuesday July 24, 2018 @08:46PM (#17606117)
I goofed by using the word "secret" in the ratchet description after earlier choosing "secret" to mean the TOTP Shared Secret.

In the situation we care about (which you think hardly matters, but I believe evidence shows to be extremely common) bad guys do NOT have the TOTP Shared Secret, it's in your 1Password Vault and the bad guys can't access that.

What they do have is a code, a One Time Password typically six digits long.

Because TOTP produces a _One Time_ Password, if I use that code, or any subsequent code, the one the bad guys have is now useless even if it has not yet expired. This forms a ratchet.

Ratchets aren't about detecting cloning, they're about what happens if bad guys temporarily get access. Can we recover? In many systems we're permanently screwed, if there's a ratchet we may be able to recover. For example this is essential to the design of OTR and the Signal Protocol.

Re:Google: Security Keys Neutralized Employee Phishing by Dylan16807 on Tuesday July 24, 2018 @09:52PM (#17606373)
Ratchets serve multiple purposes, but they're fundamentally about having a state on both ends that ticks forward per use. TOTP tokens are stateless and "ratchet" is not the right word for only allowing one login per 30 seconds.
Re:Google: Security Keys Neutralized Employee Phishing by manicdee on Tuesday July 24, 2018 @12:23AM (#17598098)
How is that materially different to storing the password and TOTP in 1Password?
Re:Google: Security Keys Neutralized Employee Phishing by tptacek on Tuesday July 24, 2018 @12:27AM (#17598112)
Obviously, because if you compromise my desktop, you still won't have my TOTP secrets.
Re:Google: Security Keys Neutralized Employee Phishing by manicdee on Tuesday July 24, 2018 @10:18AM (#17601210)
But what if I seize your phone at a customs inspection, or a traffic stop? Don't I then have password and OTP?
Re:Google: Security Keys Neutralized Employee Phishing by tzs on Monday July 23, 2018 @01:49PM (#17594407)
Do you see any problem with using a phone TOTP authenticator, but when setting it up saving a copy of the TOTP secret in a file encrypted with my public gpg key?

The idea is that if I lose access to my phone, I can decrypt that saved copy of the secret, and load it into 1Password temporarily until I get my phone back or get a new phone and get everything set back up.

Re:Google: Security Keys Neutralized Employee Phishing by tptacek on Monday July 23, 2018 @02:05PM (#17594516)
Before people started storing their TOTP secrets in desktop applications so they could auto-fill them in their browsers, this question used to be the front line of the 2FA opsec wars. I was a lieutenant in the army of "if you want to back up 2FA secrets, just enroll two of them; a single 2FA secret should never live in more than one place". I think that battle is already lost.

Lots of reasonable people back up their secrets, or even clone them into multiple authenticator applications. I try not to.

Re:Google: Security Keys Neutralized Employee Phishing by Fnoord on Monday July 23, 2018 @02:55PM (#17594932)
> Lots of reasonable people back up their secrets, or even clone them into multiple authenticator applications. I try not to.

Because if they lose access to the 2FA secrets, you lose access to your account. If that's just one account, recovery might be doable (depending on who ultimately is root on the machine). If its your Bitcoin wallet or FDE though, you're toast.

There's also a variety of protocols used for 2FA. I've seen: USB2, USB3, USB-C, BlueTooth, NFC.

As for how people do this: they use a second key, save their key on a cryptosteel(-esque) device [1] (IMO overpriced, YMMV), USB stick, a piece of paper, or gasp CDROM. Where its saved differs. Could be next to a bunch of USB sticks, in a safe, at a notary (my recommendation though does cost a dime or two), in a basement under a sack of grain, ...

[1] https://cryptosteel.com

Re:Google: Security Keys Neutralized Employee Phishing by tptacek on Monday July 23, 2018 @03:38PM (#17595311)
What the actual fuck is this "cryptosteel" thing?
Re:Google: Security Keys Neutralized Employee Phishing by Fnoord on Monday July 23, 2018 @03:41PM (#17595333)
There's a FAQ on the bottom of the page.
Re:Google: Security Keys Neutralized Employee Phishing by tptacek on Monday July 23, 2018 @04:19PM (#17595616)
I know, I read it. What the actual fuck is this? Who would spend money on this? How is this not an insane product concept?
Re:Google: Security Keys Neutralized Employee Phishing by CiPHPerCoder on Monday July 23, 2018 @04:25PM (#17595679)
> Who would spend money on this?

https://www.kickstarter.com/projects/zackdangerbrown/potato-...

https://en.wikipedia.org/wiki/Juicero

etc.

> How is this not an insane product concept?

I thought sanity died years ago.

Re:Google: Security Keys Neutralized Employee Phishing by tptacek on Monday July 23, 2018 @04:28PM (#17595693)
It costs $199 and you can't even store '@' with it!
Re:Google: Security Keys Neutralized Employee Phishing by carbocation on Monday July 23, 2018 @04:54PM (#17595879)
Re:Google: Security Keys Neutralized Employee Phishing by Fnoord on Monday July 23, 2018 @08:44PM (#17597261)
Thank you for the link, that was actually an informative comparison instead of cursing.
Re:Google: Security Keys Neutralized Employee Phishing by owaty on Monday July 23, 2018 @02:33PM (#17594748)
> if you want to back up 2FA secrets, just enroll two of them

Could you elaborate on how you do this in practice?

Re:Google: Security Keys Neutralized Employee Phishing by Tomte on Monday July 23, 2018 @03:19PM (#17595154)
Just like the first one. Most U2F web sites let you register multiple keys.

Any one gives you access. So you take one with you and put one in a drawer at home.