security model (was: [PATCH gnupg v12] Disable CPU speculation-related misfeatures)
Jacob Bachmeyer
jcb62281 at gmail.com
Sat Jul 12 05:02:47 CEST 2025
On 7/11/25 04:34, Robert J. Hansen via Gnupg-devel wrote:
>> But many side channels, such as those arising from speculative
>> execution, are observable by an unpriviliged third party user of a VM
>> host (and not just cloud, on-prem is no different in principle).
>
> Sorry to jump in here, but for 25 years I've told people "only run GnuPG
> on hardware you control." That also applies if your underlying hardware
> is a virtualized environment.
>
> I side with Jacob here. Once Mallory has access to your hardware, it's
> game over.
Thank you.
> [...]
>
> If I'm Mallory my order of operations is, roughly:
>
> * Gain access
> * Persist the access
> * Elevate the access
> * Prepare for termination of access
>
> I don't hit the target unless I know how to do all four and have the
> process automated.
Either you plan much farther ahead than the common cybercrook or we are
talking about targeted attacks instead of the much common "spam"
attacks. (That said, GnuPG is *supposed* to stand up against targeted
attacks.)
> Unprivileged Mallory is either (a) a brief period of time before
> becoming Privileged Mallory, or (b) a popular myth among security
> researchers.
>
> [...]
The catch is that the "juicy" stuff is typically *in* the user's account
on a single-user box... and therefore accessible without elevation if
Mallory is hitting the client.
Why risk the exposure (and correction) of a privilege escalation exploit
when everything Mallory wants is right there without it? (I note that
*I* might also be overestimating Mallory's intelligence or
underestimating arrogance here.)
Brief access as the "unprivileged user" is all Mallory needs for a
smash-and-grab. Persistence increases the risk of detection and
elevation requires an additional exploit that might be captured and
analyzed.
In my model, Mallory's ideal goal is make off with your data and/or
private keys and/or an unauthorized signature without leaving a trace
aside from possible intentional tampering.
This is one of the problems I have with tokens instead of
passwords---the former basically must be stored on the machine somewhere
accessible to the user's account, while the latter can be memorized or
stored offline (or [*sigh*] kept in "passwords.txt" on the user's desktop).
> [...] if you're in an environment where OpenPGP traffic
> is the highest-value target and would be a single-trove haul to justify
> the incursion. If that describes your risk landscape I strongly advise
> against doing any key operations on the box: use a smartcard instead.
In that environment, a smartcard is not sufficient; you need an isolated
box. If Mallory can gain persistence as the user, then Mallory need
only wait until the user unlocks the smartcard and can then abuse the
card right under the user's nose.
-- Jacob
More information about the Gnupg-devel
mailing list