Live data from Hacker News

1Password sends your password in clear text across the loopback interface

medium.com

91–100 of 147 posts

Re: 1Password sends your password in clear text across the loopback interface

#91
post #41
post #29

Earlier quoted context omitted.

I explained in a previous comment the problem. As for the solution, without thinking too much, using TLS to encrypt the channel would do it. If we think the browser is not safe, well, all your stack is basically compromised. But if it could handle TLS correctly (and I guess it does it pretty well since it use it to send the info to your bank) it could get the password in a sfae way...

You can't read loopback as a normal user. If you have root, you don't need to read unencrypted loopback traffic to get the passwords - just use a key logger.

Fair enough... or not!

First of all, when assessing security of a solution you have to define the perimeter of attack. You could imagine a privilege escalation that gives you access to the loopback interface but not enough to install a key-logger.

In other words, you are making an assumption that could be wrong!

Second, I could agree that perfect safety against every attack is impossible unless you assume your machine is switched off. But reasonable safety measure is achievable at low cost. Diffie and Hellman won the Turing price yesterday and their work is almost 40 years old...

Re: 1Password sends your password in clear text across the loopback interface

#92
post #69

[Disclosure: I work for AgileBits, the makers of 1Password] We've talked about this several times, most recently was in June. Please see https://blog.agilebits.com/2015/06/17/1password-inter-proces... This falls into the question of what can we do to prevent attacks from malicious processes running on the user's machine. For the most part, we do try to defend against something where we can. For example, we take steps…

You can't just use some kind of Diffie–Hellman key exchange to agree on a key, instead of the user copying the key?

How would that work when both processes are running on the same Mac, under the same user account?

Re: 1Password sends your password in clear text across the loopback interface

#93
post #57

Earlier quoted context omitted.

Surely encryption with a shared key is strictly better than sending in plaintext? >In the extreme case, we could have some explicit pairing (sort of like Bluetooth) between 1Password mini and the extension. That is, the browser extension may display some number that you have to type into 1Password mini (or the other way around). With this user intervention we can provide solid mutual authentication, but that user act…

"Let's throw encryption at the problem" isn't always wise. For example: https://paragonie.com/blog/2015/09/comprehensive-guide-url-p... What do you need to do before you can sniff a loopback interface?

http://arxiv.org/abs/1505.06836

You can run as a regular user (or even sandboxed) and connect to the interface without authentication.

Re: 1Password sends your password in clear text across the loopback interface

#94
post #42

By no means an expert but is this even exploitable if the machine is not already otherwise compromised? Loopback is used for communication between two network applications on the same machine but it doesn't actually use the network device. Of course you'll be able to see it listening on your own computer but an outside computer can't sniff something that doesn't actually get transmitted over the network. Also in orde…

No, it is not exploitable.

In general it depends on the protocol that is used for communication. If it for example were not authenticated HTTP, it could be remotely exploitable by a website that a user visits.

Re: 1Password sends your password in clear text across the loopback interface

#95
post #83

Earlier quoted context omitted.

$ tcpdump -i lo0 -s 65535 -w info.pcap tcpdump: lo0: You don't have permission to capture on that device ((cannot open BPF device) /dev/bpf0: Permission denied) Looks like you're logged in on a superuser account or have otherwise somehow disable some security settings.

I also can't access loopback on 10.11.3, I get this exact error. And I'm running as an Administrator account.

Yeah, it's that they installed Wireshark, and gave it privileges to chown the loopback interfaces.

edit: Irony here is that Wireshark is doing something far more dangerous than 1password.

Re: 1Password sends your password in clear text across the loopback interface

#97
post #57

[Disclosure: I work for AgileBits, the makers of 1Password] We've talked about this several times, most recently was in June. Please see https://blog.agilebits.com/2015/06/17/1password-inter-proces... This falls into the question of what can we do to prevent attacks from malicious processes running on the user's machine. For the most part, we do try to defend against something where we can. For example, we take steps…

Surely encryption with a shared key is strictly better than sending in plaintext? >In the extreme case, we could have some explicit pairing (sort of like Bluetooth) between 1Password mini and the extension. That is, the browser extension may display some number that you have to type into 1Password mini (or the other way around). With this user intervention we can provide solid mutual authentication, but that user act…

The browser would have to hold on to the shared key long term. Where does it put this?

Encrypting with a key that is available to attackers (who have the same set a privileges needed to run localhost sniffing) is not encryption. It is obfuscation.

Re: 1Password sends your password in clear text across the loopback interface

#98
post #14

Serious question: Why is this a bad thing, and how would you do it differently? You need the password to be "plaintext" in the input field in the browser, so how do you get it there? Give the extension access to your private keys and master password to do decryption there? Is the browser a safer environment than an app on your machine?

I would gravitate toward using a Unix domain socket, like what saslauthd uses. I use saslauthd in a web server I wrote. I have the user ID and password from the browser over HTTPS, open a socket to /var/run/saslauthd/mux, and send them as plain strings, then check the reply. The problem with loopback is that the only thing which prevents the program from sending the data to a rogue socket is the IP address and port n…

Unfortunately, there is no way for browser extensions to create Unix sockets,

Also, code signing would prevent anyone from modifying the binaries to change the IP address.

Re: 1Password sends your password in clear text across the loopback interface

#99
post #35

Earlier quoted context omitted.

Someone with administrative access would have an almost unlimited number of ways of accessing passwords in any password manager. Key logging, memory dumps ... once your system is owned, you're SOL.

I agree, but this makes it a helluva lot easier.

I don't agree that installing a key logger (of which there are hundreds out there) and stealing the encrypted password files is in any way harder than logging lo0 and waiting for passwords to slowly trickle in while they're being used.

Re: 1Password sends your password in clear text across the loopback interface

#100
post #54

Earlier quoted context omitted.

Same way as the encryption key used to secure the communication with your bank. It doesn't. The idea behind TLS is that the client and the server agree on a temporary key to exchange the information in a secure way (there's a ton of literature on it) without saving the key locally. The good news is that it is something already implemented in a safe way in all sufficiently recent browser (for sufficiently recent I mea…

In this case, client = server. If your computer is compromised then they can get access to both private and public keys of 1Password and 1Password Mini. It also doesn't prevent MITM unless both the client & server. Nothing stops you from presenting a fake public key pair between the communication How doe TLS work then? Because public keys are signed by central authorities. Who do we know what to trust? Browsers and O…

Yeah, you should stop the turtle sequence. Maybe don't make it so easy that a script kid could exploit it, though...
Post reply on HN