I pretty much entirely agree but I also thinkthinl it's useful having constant reminder that Thunderbolt and every other inane "external connection DMA bus" is Intel & friends being reckless with their customers' safety.
-
-
Like, there shouldn't be a key that gives you a backdoor to a laptop to begin with, so even if the method by which attacker obtains it is no big surprise, the existence of the key already is.
1 reply 0 retweets 1 like -
Replying to @RichFelker @MissingClara
The key is in *your* already trusted device. It's not some kind of global master key. You need to break into an already trusted device. The right way to stop DMA attacks is with an IOMMU, which is complementary to all this. Proper IOMMU usage blocks all this crap anyway.
1 reply 0 retweets 3 likes -
Replying to @marcan42 @MissingClara
IOMMU, or just not having bus mastering. But yeah. Problem is none of their IOMMUs work. They don't fail closed.
1 reply 0 retweets 2 likes -
Why is that? I haven't looked at how one actually programs an IOMMU. Is it a fundamental limitation or some sort of "we can't break existing devices relying on being able to read/write anywhere"?
2 replies 0 retweets 0 likes -
See here for an account of how historically broken this stuff is on Linux and how the solutions are still prioritizing performance over getting it obviously safely right.https://lwn.net/Articles/786558/ …
1 reply 0 retweets 2 likes -
You don't have to tell me about drivers fucking up IOMMU mappings. That's how we owned the PS4. The solution isn't forcing bounce buffers on everything, it's better software frameworks for getting this right without just dumbly copying data.
1 reply 0 retweets 3 likes -
If final destination is userspace you can't. Other data may be in same page. Based on the LWN summary I posted it looks like they're doing bounce buffer mappings only for first/last partial pages...
2 replies 0 retweets 0 likes -
Replying to @RichFelker @marcan42 and
I've seen well-written DPDK drivers that manage to do a decent job
1 reply 0 retweets 0 likes -
Replying to @HarperMitchell @RichFelker and
Maybe there's something more fundamental I'm missing or being obtuse about
1 reply 0 retweets 0 likes
The only thing you need to do is make sure all your DMA allocations are page-aligned and that you never store control structures not intended for the hardware in them. Any mapped pages are treated as untrusted data subject to change at any time.
-
-
Replying to @marcan42 @RichFelker and
Right, also I don't see how the user/kernelspace distinction is relevant
2 replies 0 retweets 0 likes -
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.