
You are missing the point in your rush to be patronising.
The common problem among people who are not computer security is not having a proper threat model and therefore not evaluating your security theatre against any plausible attack.
Any attack that can compromise the integrity of a running app on a platform like Android or iOS can also compromise the integrity of the attestation. It gives you a nice warm fuzzy feeling and absolutely nothing else. Any system that is sufficiently compromised that the attestation would fail for a reason that will affect your app is also sufficiently compromised that the attacker can compromise the attestation.
It does not make attacks noticeably harder but, since you’re going to be patronising about security people here’s a bit more explanation:
We think of mitigations in two categories: durable and non-durable.
Durable mitigations completely eliminate the root cause of a vulnerability class. If they can be made to work within an acceptable cost, they are always worth it. They don’t prevent attacks but they mean that you don’t need to consider a particular attack vector.
Non-durable mitigations add work factor or block a particular exploit technique. They don’t prevent a vulnerability class, they just make it a bit harder. In the early 2000s, people rolled out a load of these because they did increase work factor. The problem is that newer exploit techniques work around them and are automated. Most exploits today are mostly, if not completely, automated. A mitigation that can be bypassed by an automated step in an attack chain does not make it less likely that an attacker will succeed.
At the same time they’re politically impossible to remove. If you remove them, and an attack succeeds that they would have blocked, that’s terrible PR even if there is a trivially automatic step that would have allowed the attacker to succeed with a slightly different attack. And this means that you’re stuck paying the performance and complexity costs basically forever.
And that’s when we security folks that you love to patronise do a little thing called a ‘cost-benefit analysis’. If you work for a bank, you might have heard of these. I’m told banks do them as well.
We look at these non-durable mitigations and decide whether the attacks that they will prevent (relative to a threat model, where we look at the different possible abilities of an attacker and how they could do the thing that we’re trying to stop them doing) and weigh that against the cost of supporting the mitigation for an unbounded amount of time. And, when the mitigation requires a lot of complexity in the most privileged parts of a system, we weigh those very carefully.
And, in the case of app-level remote attestation, we conclude that it’s a large amount of code in the TCB, it’s increased attack surface, and it can be bypassed by any attacker who has the ability to do the thing that it’s trying to prevent.
And then we tell you not to waste time on it.
Not because, as you imply, we’re complete muppets, but because we’ve actually thought through the cost of the complexity involved and concluded that the hypothetical (and small) increase in difficulty for attackers is not worth it.
Note that companies like Apple and Google will see the cost-benefit calculations differently because ‘users of this banking app are tied into either an Apple or Google ecosystem’ is a very large benefit. But that’s a monopolistic market positioning benefit, not a security benefit.
score 1 · canonical
I found KDE beta 4 hidden off in the /opt directory on the Red Hat 5.something install CD. It’s hard to overstate how impressive it was. I was running Windows 2000 at the time and dabbling with Linux.
Linux, at the time, required you to run startx to run XFree86. Once there, you could run a window manager from the terminal, or you could put one in your .xinitrc file. You could also load other programs. A few window managers did this for you, giving you a dock or start-button interface for launching things. Then the programs you launched had a mishmash of visual styles and UI models arising from using completely different widget sets. Copying and pasting text between them might work, drag and drop or anything other than rich text did not.
KDE was different. You still had to start X manually (graphical login things existed but I didn’t know how to configure them) but then it launched into a complete desktop. It wasn’t just a window manager, it was a complete suite of applications with a consistent UI throughout. It felt at least as polished as a fresh install of Windows at the time.
score 1 · canonical