Spook: Side channel attack which could read the memory from password managers
spookjs.com
spookjs.com
The second attack seems limited to just the site that is being messed with. The fact that sites like Tumblr which apparently (?) host random unvetted javascript for bloggers aren't protected by site isolation is not that surprising, right?
Anyway, autofill and built-in password managers have always seemed suspicious to me. People should stick to stuff like keepass I guess.
I'm reading the white paper[and from what I understand the password manager attack is just a sample.
The vulnerability exposes data from other tabs that get consolidated on the same process, so it doesn't matter if it came from the password manager or if you typed it, it's grabbing it either way.
They even managed to leak an image uploaded on a different tab. (page 13, figure 14 https://www.spookjs.com/files/spook-js.pdf)
> Have I been affected by this attack?
> If you have an Intel processor or an Apple device with the M1 chip, then yes with very high probability. We also expect our attack to be effective for AMD machines, however this has been only partially demonstrated.
while also further down
> Has Spook.js been abused in the wild?
> We do not have any evidence so far that Spook.js has been or not been abused in the wild.
and I haven't been able to find any references whatsoever to evidence that this technique has been actively used.
> Have I been affected by the polonium sushi attack?
> If you have a digestive tract, then yes with very high probability. We also expect our attack to be effective against those fed via IV, but this has only been partially demonstrated.
I'll just take a moment to point out that the article requires js for the FAQ. It may use JS for other areas I am unaware.
There is actually a list of such sites that Firefox has (had? haven’t been in the space in a while) that they could use for various reasons. Like treating the tumblr.com domain as an international domain (co.uk) which Google search would do as well.
Though, that one doesn't include tumblr.
Thanks for the link!
The allusion to Spectre seems odd to me too. This really has nothing to do with Spectre, other than it (sort of?) being a side-channel attack. So Google's Spectre mitigation not "fixing" this isn't surprising.
What the paper did was related to the site isolation, and not Spectre, but there was a lineage there...Spectre -> Site Isolation -> This Side Channel attack still works.
They showed that while Google said "single site", they really meant "same tld, but hostnames can differ" and "if you have control over a page on b.whatever.com, you can artificially gain side-channel visibility to c.whatever.com" via window.open() or iframes and some memory pressure.
Seems fairly significant given that many sites have user generated content on a.example.com and more important/sensitive stuff on b.example.com.
That is how "site" has been defined in the web world (compare to "origin").
For example, consider the SameSite attribute on cookies, site is also used there to mean same tld different hostname. So its not like google made a slip. They've been using this nomenclature consistently.
AMD introduced the Clflush instruction which was supposed to decrease the number of TLB misses and improve performance. This instruction was ultimately responsible for making V8’s behavior erratic and unpredictable with regards to memory operations.
Modern processors with x86-64 architecture support 2-way page tables and most modern operating systems support several layers of virtual memory. However, many of these techniques made the V8's behavior unreliable and unpredictable which led to a performance hit for AMD processors with AMD chips especially those who implemented TLB remapping instructions.
So in addition to being my password manager, pass and my wrapper script are my cross-browser bookmark manager, which is convenient because I'm usually in a terminal emulator.
I've never understood why people at HN use graphical password managers that are integrated into web browsers and autofill, etc. (but I've never understood why people at HN use most of the graphical software they use).
Most people, self-professed hackers included, are more comfortable in the browser sandbox than the terminal emulator sandbox.
pass has a better UX than any password manager I’ve ever been compelled to use for work. Especially when used in the way you describe, as your index to the browser (rather than as a sidecar to the browser).
That said I understand that when a password manager is closely integrated with (or even within) a browser, it can do more checking for me, and make the whole experience nicer. But such integration is imho not a silver bullet, and there are downsides which comes with this approach as well.
If your email is hidden, then someone might send you a phishing link via a HN reply. The reply might link to a website that has a domain similar to Facebook and presents a Facebook phishing login.
On the other hand site-specific logins tend to last longer which means I'm unlikely to encounter a login prompt as part of regular browsing.
To given an example, github only prompts me for my personal credentials when I use the security settings or to authorize a bot. This doesn't happen often, so it's somewhat surprising and makes me check. But my $WORK SSO tied to their github org (and a whole bunch of other things) wants me to log in every other day. This makes more less likely to check since it's forced routine.
I don't think consumer SSO does that. I think Facebook and Google generally try to avoid logging users out randomly because it causes user annoyance as well as user loss (because a lot of users might not remember their passwords or bother logging back in again).
Your work SSO can tolerate a bad user experience in order to have higher security. You're being paid to log in every day. Facebook and Google users aren't being paid to log in every day, so many of them won't.
But one of the wonderful things it does over every other password manager is Auto-Fill based on a keybinding.
It would look at the Window Title and find the available passwords that matched. This was infinitely more useful than most browser-plugins that look at URL within the browser.
Because now I could have it fill out auth for Windows shares.
If a website has a .htaccess User/Pass window - most browser plugins wont autofill this, but KeePassX(C) could.
Terminal? I had all my SSH Passphrased and Sudo passwords in KeepassX(C) and could auto-fill on keybinding.
It was wonderful.
After failing to backup my database a few times and losing portions of newly added passwords I finally threw in the towel and went with Bitwarden.
and bitwarden checks a lot of boxes - open source, you can self-host if you wish, third party audits, a good use of encryption, cross-platform both for browsers and desktop/mobile OSes.
but man do i miss just autofilling with a keypress and not reaching for the mouse and autofilling in places outside of the browser.
Anyways, I mention this b/c it's way better than manually copying/pasting. The Auto-fill would work by tossing it to the clipboard just long enough to do the auto-fill and then clearing the clipboard. So it was safer than manual copy/paste too.
Ew that sounds awful for security and ripe for phishing. Nothing stops a site from setting the title to whatever they want, at least with a browser extension it only shows credentials when the domain matches, giving you a chance to second-guess it.
Control-U all the way
Your scenario still depends on the person landing on a phishing site and choosing to attempt a login.
"choosing to attempt to login" is just bare-faced whitewashing in order to blame the user for falling prey to a phishing attack and deny that this is a problem that password managers should solve.
I did not make the assumption that my offline password manager should integrate with my web browser to provide phishing protection. That's not a bad idea! I'm not denying it's something password managers could solve. I just don't rely on it.
https://www.zetetic.net/codebook/
It's a one-time fee (per device~ish) and you can connect & sync it to Google Drive, Dropbox, Local folder, or to another device over WiFi. I've been using it for a few years and it has great iPhone and macOS integration. The Windows integration is also good but not quite as smooth as being integrated with FaceID or thumb print ID.
If you keep your passwords separate from your browser then you are guaranteed to be safe from a browser exploit.
Another worry is that some app ecosystems provide a way to read my clipboard over their permission model. With this permission in hand, surveillance capitalists will include it as part of their fingerprinting techniques. So even if you trust those platforms, you also have to trust the packet headed their way and what they do with it.
While many of these add-ons are handy and useful, we should not trust them with password management. Browsers are just too complex and have far too much going on.
Full article: https://www.go350.com/posts/the-design-flaws-of-password-man...
Thinking back to the Netscape Suite and Mozilla, this is a fun cycle
---------
I imagine eventually Thunderbird will come back as a 100% JS application (no more XUL?) in a normal Firefox (or Chrome, or Edge, or Safari, but not iOS Safari, because reasons) window - making use of a hypothetical-but-easily-imaginable WebIMAP, WebPOP, or just after raw TCP sockets become a thing in JS: https://wicg.github.io/raw-sockets/docs/explainer.html
I'm just waiting for it to get a decent web browser.
We have tested Spook.js on Chromium, which is the basis of the Chrome browser. Thus, in addition to Chrome itself, we expect most Chromium-based browsers to be vulnerable to some variant of Spook.js. This includes recent versions of Microsoft's Edge browser, as well as Brave which is a privacy-centered browser.
Other browsers like Firefox and Safari use very different JavaScript execution engines, which currently stops Spook.js from working. We leave the task of investigating speculative exection attacks on these browsers to future work. Finally, Firefox has recently introduced Strict Site Isolation in its stable release. While Spook.js does not work on Firefox as is, we note that similarly to Chrome, Firefox also consolidates pages based on their eTLD+1 domain.
So, sure, it may be security-by-obscurity--but it can also be significant and helpful depending on one's threat model. "Security by obscurity" is not a disqualifying objection under most models.
If I understand correctly, this extension can only ever ask the main 1Password UI (running in its own system process) to appear (providing site metadata such as the URL so it can suggest relevant accounts), in which I can then select the password I want. This means the browser extension itself has no access to the master password nor the entire password database.
In contrast, 1Password X and LastPass seem to let the browser extension access all passwords including the master password.
> we expect most Chromium-based browsers to be vulnerable [... including] recent versions of Microsoft's Edge browser, as well as Brave
News flash, you can do pretty much anything you want if you can get the user to install a malicious extension. That is social engineering, not a side-channel attack.
Is 1Password susceptible to the same attack?