From: Vitaly Kuznetsov <vkuznets@redhat.com>
To: Christophe de Dinechin <dinechin@redhat.com>
Cc: kvm <kvm@vger.kernel.org>, Stefan Hajnoczi <stefanha@gmail.com>
Subject: Re: CPU vulnerabilities in public clouds
Date: Mon, 17 Feb 2020 13:30:58 +0100 [thread overview]
Message-ID: <874kvpbdkt.fsf@vitty.brq.redhat.com> (raw)
In-Reply-To: <3EF2160E-1D1F-4389-8C5E-AC6A84630711@redhat.com>
Christophe de Dinechin <dinechin@redhat.com> writes:
>> On 5 Feb 2020, at 17:06, Stefan Hajnoczi <stefanha@gmail.com> wrote:
>>
>> Hi Vitaly,
>> I just watched your FOSDEM talk on CPU vulnerabilities in public clouds:
>> https://mirror.cyberbits.eu/fosdem/2020/H.1309/vai_pubic_clouds_and_vulnerable_cpus.webm
>>
>> If I understand correctly the situation for cloud users is:
>> 1. The cloud provider takes care of hypervisor and CPU microcode fixes
>> but the instance may still be vulnerable to inter-process or guest
>> kernel attacks.
>> 2. /sys/devices/system/cpu/vulnerabilities lists vulnerabilities that
>> the guest kernel knows about. This might be outdated if new
>> vulnerabilities have been discovered since the kernel was installed.
>> False negatives are possible where your slides show the guest kernel
>> thinks there is no mitigation but you suspect the cloud provider has a
>> fix in place.
>> 3. Cloud users still need to learn about every vulnerability to
>> understand whether inter-process or guest kernel attacks are possible.
>>
>> Overall this seems to leave cloud users in a bad situation. They
>> still need to become experts in each vulnerability and don't have
>> reliable information on their protection status.
>>
>> Users with deep pockets will pay someone to do the work for them. For
>> many users the answer will probably be to apply guest OS updates and
>> hope for the best? :(
>>
>> It would be nice if /sys/devices/system/cpu/vulnerabilities was at
>> least accurate... Do you have any thoughts on improving the situation
>> for users?
>
> I understand your concern, and it’s a great point.
>
> However, /sys is about the local system, so I’m not overly shocked
> that it does not know about what is outside the system :-)
>
> What could be nice, though, is if /sys/…/vulnerabilities exposed
> a list of CVEs that have been taken into account at the time
> the kernel was built.
>
> # cat /sys/devices/system/cpu/vulnerabilities/CVE_list
> 2017-5715
> 2017-5753
> 2017-5754
> 2018-3615
> 2018-3620
> 2018-3646
> 2018-12207
> 2018-12130
> 2018-12126
> 2018-12127
> 2019-11091
> 2018-3639
> 2019-11135
>
> That way, you would know at least what you are measuring against.
> The implementation is quite easy, see experiment here:
>
> https://github.com/c3d/linux/commits/cpu-bugs-cve-list
>
> Do you think that would have any value?
>
In a way, yes. The list basically tells you 'your kernel *knows* about
these CVEs as it was released after their release dates' but there is
still some uncertainty for the user: OK, a CVE exists but is my CPU
actually vulnerable? It may happen that when CVE releases we think that
some CPUs (or a particular arch) are not vulnerable but we change our
mind later. Also, all vulnerabilities are different as the severity
depends a lot on the workload. The actions one need to undertake differ
(update microcode, disable SMT, pin tasks to certain cores/threads,
...). The bottom line is I don't see an easy path for users. They either
trust the source of their bits (e.g. distro), the infrastructure
(hardware/virtual/cloud) and the default settings as being 'secure
enough' or they have to study the details...
--
Vitaly
prev parent reply other threads:[~2020-02-17 12:31 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-05 16:06 CPU vulnerabilities in public clouds Stefan Hajnoczi
2020-02-05 16:47 ` Vitaly Kuznetsov
2020-02-12 11:01 ` Christophe de Dinechin
2020-02-17 12:30 ` Vitaly Kuznetsov [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=874kvpbdkt.fsf@vitty.brq.redhat.com \
--to=vkuznets@redhat.com \
--cc=dinechin@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=stefanha@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.