Remote Attestation Should Not Be Tolerated

24 points by stilic


pushcx

This then begs the question: Security for who? It's definitely not for the user, as they are locked out of their device. Their security and autonomy have been harmed significantly.

The article argues against using the label "security" for remote attestation. I think it's pretty much right in its criticisms, but it's not complete:

A horrifyingly common attack addressed by remote attestation is that an attacker calls the user and claims their device is already hacked, but the attacker will helpfully walk the user through sideloading an app to "fix" it. The malicious sideloaded app either breaks out of its app sandbox or uses disability assistance features to steal auth credentials to banking apps.

Another is stalkerware, where an attacker sideloads software to surveil their victim, often a family member or intimate partner.

Another is apps with intrusive permissions. Nowadays the review practices of the app gatekeepers do a reasonably good job of preventing apps from requesting overbroad permissions, like a flashlight app that accesses the user's contacts. These aren't all obvious BS: every banking app could truthfully argue that always-on precise location tracking would help them reduce fraud. (And of course give them a lucrative product line selling that data.)

A variation on the previous is coercion. Employers and governments force people to sideload similarly intrusive apps, especially marginalized people with reduced autonomy like the poor and those crossing borders. RA is a kind of commitment device.

Remote attestation does have real security value along with its problems because sometimes the user is part of subverting their own security. Like everything in security, it's a tradeoff. I think it'd be great to see an article that addressed why these protections aren't worth the downsides.

bakkot

I worked in anti-fraud. I've heard this argument many times, and I'm sympathetic, but I wish people making it would engage with the counter-arguments, so I'll try restating them.

Since this is making a purely principled case, I'll start with a principled objection:

Our personal devices are in a very real sense extensions to our body, which means that bodily autonomy should in some way extend to them.

Yes, that's a reasonable analogy. And just like with our bodies, that autonomy extends to the freedom to make binding pledges to avoid certain kinds of behavior in our interactions with others, because there are desirable things which simply cannot happen in the absence of such a pledge. Many sports require you to agree to avoid the use of steroids, sometimes as confirmed by urine or blood tests, even though this is most certainly a restriction of your bodily autonomy; similarly many events are sober, where as a condition of entry you agree not to do drugs before or during. We can contract to do jobs (such as doctors, therapists, military planners, etc) where we are going to obtain information that should not be shared, and this works only because we can make binding pledges not to reveal that information later.

So, yes, you should be able to run whatever software you like on devices you own. But you should also be able to promise, and demonstrate, that you are not running certain software, in order to participate in certain shared activities (such as competitive games, banking, etc). Having the ability to make this pledge is not a restriction of your freedom any more than the existence of tests for steroids in competitive sports is a restriction of your freedom.

So that's the principled objection. But there's a practical one as well: attestation has significant concrete benefits for users, contra this post. Lots of people have lost their life savings because someone talked them into sideloading a malicious app and then drained their bank account. The only two kinds of popular competitive online games are those with attestation and those overrun by cheating. Attestation is why your bank is willing to let you put your card on your phone (for fraud/liability reasons they don't like to issue tap-to-pay cards that can be trivially cloned, which means they need your phone to verifiably keep the cards somewhere they can't easily be copied). If a website's login form can be brute-forced by anyone with a subscription to a residential proxy and the latest password dump, you'd best hope it doesn't have anything valuable behind it.

(Why do we still have login forms, then? As I said, I worked in this space, so I can tell you: it's captchas, behavioral analysis, and fingerprinting. That's it. Captchas were already a joke before LLMs trivialized them, behavioral analysis has either unacceptably high false positives or >20% false negatives, and everyone hates fingerprinting plus browsers are trying to kill it off, which leaves us with... well, either nothing or remote attestation.)

Of course attestation does not make any of these bad behaviors impossible. But there is still benefit in making them more expensive, which it does. And these benefits are very broadly popular, whereas the restriction to our autonomy is felt mostly by highly technical people. "I demand to be able to participate in all these activities without attestation; it's your job to figure out how to deal with fraud/etc without it" is a nicely principled stand but you have no power to enforce it and your bank/etc have little reason to allow this. If you want to convince the world to give up attestation, you're going to need to provide some alternative way of achieving its benefits.