All of lore.kernel.org
 help / color / mirror / Atom feed
* KVM SVM(AMD) nested - disabled by default?
@ 2016-01-23 15:07 poma
  2016-01-23 21:05 ` Paolo Bonzini
  0 siblings, 1 reply; 8+ messages in thread
From: poma @ 2016-01-23 15:07 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: kvm-devel, Joerg Roedel, Avi Kivity, Cole Robinson, Richard W.M. Jones


"KVM: SVM: enable nested svm by default"
https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/arch/x86/kvm?id=4b6e4dc
"Nested SVM is (in my experience) stable enough to be enabled by default. So omit the requirement to pass a module parameter."

I tried to get an explanation of the eventual -default- change here:
https://bugzilla.redhat.com/show_bug.cgi?id=1298244

but "... I am *thinking* of changing it ..." ain't explanation, man.

I've tested "Nested SVM" myself and it works surprisingly well,
therefore what is the -actual- reason to switch it off by default?


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: KVM SVM(AMD) nested - disabled by default?
  2016-01-23 15:07 KVM SVM(AMD) nested - disabled by default? poma
@ 2016-01-23 21:05 ` Paolo Bonzini
  2016-01-25 18:31   ` poma
  0 siblings, 1 reply; 8+ messages in thread
From: Paolo Bonzini @ 2016-01-23 21:05 UTC (permalink / raw)
  To: poma
  Cc: kvm-devel, Joerg Roedel, Avi Kivity, Cole Robinson, Richard W.M. Jones



On 23/01/2016 16:07, poma wrote:
> "KVM: SVM: enable nested svm by default"
> https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/arch/x86/kvm?id=4b6e4dc
> "Nested SVM is (in my experience) stable enough to be enabled by default. So omit the requirement to pass a module parameter."
> 
> I tried to get an explanation of the eventual -default- change here:
> https://bugzilla.redhat.com/show_bug.cgi?id=1298244
> 
> but "... I am *thinking* of changing it ..." ain't explanation, man.
> 
> I've tested "Nested SVM" myself and it works surprisingly well,
> therefore what is the -actual- reason to switch it off by default?

Neither nested VMX nor nested SVM have ever been audited for security;
they could have bugs that let a malicious guest escape L0.  In fact I
would be surprised if they don't. :(

Paolo

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: KVM SVM(AMD) nested - disabled by default?
  2016-01-23 21:05 ` Paolo Bonzini
@ 2016-01-25 18:31   ` poma
  2016-01-26  9:09     ` Paolo Bonzini
  0 siblings, 1 reply; 8+ messages in thread
From: poma @ 2016-01-25 18:31 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: kvm-devel, Joerg Roedel, Avi Kivity, Cole Robinson, Richard W.M. Jones

On 23.01.2016 22:05, Paolo Bonzini wrote:
> 
> 
> On 23/01/2016 16:07, poma wrote:
>> "KVM: SVM: enable nested svm by default"
>> https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/arch/x86/kvm?id=4b6e4dc
>> "Nested SVM is (in my experience) stable enough to be enabled by default. So omit the requirement to pass a module parameter."
>>
>> I tried to get an explanation of the eventual -default- change here:
>> https://bugzilla.redhat.com/show_bug.cgi?id=1298244
>>
>> but "... I am *thinking* of changing it ..." ain't explanation, man.
>>
>> I've tested "Nested SVM" myself and it works surprisingly well,
>> therefore what is the -actual- reason to switch it off by default?
> 
> Neither nested VMX nor nested SVM have ever been audited for security;
> they could have bugs that let a malicious guest escape L0.  In fact I
> would be surprised if they don't. :(
> 
> Paolo
> 


"In nested virtualization, we have three levels: The host (KVM), which we call
L0, the guest hypervisor, which we call L1, and its nested guest, which we
call L2."
https://www.kernel.org/doc/Documentation/virtual/kvm/nested-vmx.txt

So as long as you don't nestle proprietary crap, no problemos.


Thanks for the concise explanations, man.



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: KVM SVM(AMD) nested - disabled by default?
  2016-01-25 18:31   ` poma
@ 2016-01-26  9:09     ` Paolo Bonzini
  2016-01-26 11:00       ` poma
  2016-01-26 21:17       ` Jidong Xiao
  0 siblings, 2 replies; 8+ messages in thread
From: Paolo Bonzini @ 2016-01-26  9:09 UTC (permalink / raw)
  To: poma; +Cc: kvm-devel, Cole Robinson, Richard W.M. Jones



On 25/01/2016 19:31, poma wrote:
> On 23.01.2016 22:05, Paolo Bonzini wrote:
>>
>>
>> On 23/01/2016 16:07, poma wrote:
>>> "KVM: SVM: enable nested svm by default"
>>> https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/arch/x86/kvm?id=4b6e4dc
>>> "Nested SVM is (in my experience) stable enough to be enabled by default. So omit the requirement to pass a module parameter."
>>>
>>> I tried to get an explanation of the eventual -default- change here:
>>> https://bugzilla.redhat.com/show_bug.cgi?id=1298244
>>>
>>> but "... I am *thinking* of changing it ..." ain't explanation, man.
>>>
>>> I've tested "Nested SVM" myself and it works surprisingly well,
>>> therefore what is the -actual- reason to switch it off by default?
>>
>> Neither nested VMX nor nested SVM have ever been audited for security;
>> they could have bugs that let a malicious guest escape L0.  In fact I
>> would be surprised if they don't. :(
>>
>> Paolo
>>
> 
> 
> "In nested virtualization, we have three levels: The host (KVM), which we call
> L0, the guest hypervisor, which we call L1, and its nested guest, which we
> call L2."
> https://www.kernel.org/doc/Documentation/virtual/kvm/nested-vmx.txt
> 
> So as long as you don't nestle proprietary crap, no problemos.

Kind of.  Suppose you are a cloud provider, and you think offering
nested virtualization would be cool.  Now, a customer (who of course
controls the kernel running in your L1 VM) uses a vulnerability in KVM
to get out of his VM and attack the host.  Enorme problema.

Paolo

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: KVM SVM(AMD) nested - disabled by default?
  2016-01-26  9:09     ` Paolo Bonzini
@ 2016-01-26 11:00       ` poma
  2016-01-26 21:17       ` Jidong Xiao
  1 sibling, 0 replies; 8+ messages in thread
From: poma @ 2016-01-26 11:00 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: kvm-devel, Cole Robinson, Richard W.M. Jones

On 26.01.2016 10:09, Paolo Bonzini wrote:
> 
> 
> On 25/01/2016 19:31, poma wrote:
>> On 23.01.2016 22:05, Paolo Bonzini wrote:
>>>
>>>
>>> On 23/01/2016 16:07, poma wrote:
>>>> "KVM: SVM: enable nested svm by default"
>>>> https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/arch/x86/kvm?id=4b6e4dc
>>>> "Nested SVM is (in my experience) stable enough to be enabled by default. So omit the requirement to pass a module parameter."
>>>>
>>>> I tried to get an explanation of the eventual -default- change here:
>>>> https://bugzilla.redhat.com/show_bug.cgi?id=1298244
>>>>
>>>> but "... I am *thinking* of changing it ..." ain't explanation, man.
>>>>
>>>> I've tested "Nested SVM" myself and it works surprisingly well,
>>>> therefore what is the -actual- reason to switch it off by default?
>>>
>>> Neither nested VMX nor nested SVM have ever been audited for security;
>>> they could have bugs that let a malicious guest escape L0.  In fact I
>>> would be surprised if they don't. :(
>>>
>>> Paolo
>>>
>>
>>
>> "In nested virtualization, we have three levels: The host (KVM), which we call
>> L0, the guest hypervisor, which we call L1, and its nested guest, which we
>> call L2."
>> https://www.kernel.org/doc/Documentation/virtual/kvm/nested-vmx.txt
>>
>> So as long as you don't nestle proprietary crap, no problemos.
> 
> Kind of.  Suppose you are a cloud provider, and you think offering
> nested virtualization would be cool.  Now, a customer (who of course
> controls the kernel running in your L1 VM) uses a vulnerability in KVM
> to get out of his VM and attack the host.  Enorme problema.
> 
> Paolo
> 


Yeah, "closed source" is just a part of problemo.

Thanks for the extra explanation/example.



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: KVM SVM(AMD) nested - disabled by default?
  2016-01-26  9:09     ` Paolo Bonzini
  2016-01-26 11:00       ` poma
@ 2016-01-26 21:17       ` Jidong Xiao
  2016-01-26 21:28         ` Andrew Honig
  1 sibling, 1 reply; 8+ messages in thread
From: Jidong Xiao @ 2016-01-26 21:17 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: poma, kvm-devel, Cole Robinson, Richard W.M. Jones

On Tue, Jan 26, 2016 at 2:09 AM, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
>
> On 25/01/2016 19:31, poma wrote:
>> On 23.01.2016 22:05, Paolo Bonzini wrote:
>>>
>>>
>>> On 23/01/2016 16:07, poma wrote:
>>>> "KVM: SVM: enable nested svm by default"
>>>> https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/arch/x86/kvm?id=4b6e4dc
>>>> "Nested SVM is (in my experience) stable enough to be enabled by default. So omit the requirement to pass a module parameter."
>>>>
>>>> I tried to get an explanation of the eventual -default- change here:
>>>> https://bugzilla.redhat.com/show_bug.cgi?id=1298244
>>>>
>>>> but "... I am *thinking* of changing it ..." ain't explanation, man.
>>>>
>>>> I've tested "Nested SVM" myself and it works surprisingly well,
>>>> therefore what is the -actual- reason to switch it off by default?
>>>
>>> Neither nested VMX nor nested SVM have ever been audited for security;
>>> they could have bugs that let a malicious guest escape L0.  In fact I
>>> would be surprised if they don't. :(
>>>
>>> Paolo
>>>
>>
>>
>> "In nested virtualization, we have three levels: The host (KVM), which we call
>> L0, the guest hypervisor, which we call L1, and its nested guest, which we
>> call L2."
>> https://www.kernel.org/doc/Documentation/virtual/kvm/nested-vmx.txt
>>
>> So as long as you don't nestle proprietary crap, no problemos.
>
> Kind of.  Suppose you are a cloud provider, and you think offering
> nested virtualization would be cool.  Now, a customer (who of course
> controls the kernel running in your L1 VM) uses a vulnerability in KVM
> to get out of his VM and attack the host.  Enorme problema.
>
> Paolo

Hi, Paolo,

Even if cloud providers don't use nested virtualization, as long as
there is "a vulnerability in KVM", it is still possible "to get out of
his VM and attack the host". You mentioned that "Neither nested VMX
nor nested SVM have ever been audited for security", so have this been
done for non-nested virtualization?

-Jidong

> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: KVM SVM(AMD) nested - disabled by default?
  2016-01-26 21:17       ` Jidong Xiao
@ 2016-01-26 21:28         ` Andrew Honig
  2016-01-27 19:08           ` Jidong Xiao
  0 siblings, 1 reply; 8+ messages in thread
From: Andrew Honig @ 2016-01-26 21:28 UTC (permalink / raw)
  To: Jidong Xiao
  Cc: Paolo Bonzini, poma, kvm-devel, Cole Robinson, Richard W.M. Jones

My team at Google has spent roughly 2-3 person years of effort
security auditing KVM (both manually with code review and building
tools) and we've found a lot of issues over the years.  Also Nadav
Amit's work on the emulator was quite effective in finding security
bugs.

At this point, I don't know of anyone who's put any serious effort
into a security audit for nested vmx/svm.

On Tue, Jan 26, 2016 at 1:17 PM, Jidong Xiao <jidong.xiao@gmail.com> wrote:
> On Tue, Jan 26, 2016 at 2:09 AM, Paolo Bonzini <pbonzini@redhat.com> wrote:
>>
>>
>> On 25/01/2016 19:31, poma wrote:
>>> On 23.01.2016 22:05, Paolo Bonzini wrote:
>>>>
>>>>
>>>> On 23/01/2016 16:07, poma wrote:
>>>>> "KVM: SVM: enable nested svm by default"
>>>>> https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/arch/x86/kvm?id=4b6e4dc
>>>>> "Nested SVM is (in my experience) stable enough to be enabled by default. So omit the requirement to pass a module parameter."
>>>>>
>>>>> I tried to get an explanation of the eventual -default- change here:
>>>>> https://bugzilla.redhat.com/show_bug.cgi?id=1298244
>>>>>
>>>>> but "... I am *thinking* of changing it ..." ain't explanation, man.
>>>>>
>>>>> I've tested "Nested SVM" myself and it works surprisingly well,
>>>>> therefore what is the -actual- reason to switch it off by default?
>>>>
>>>> Neither nested VMX nor nested SVM have ever been audited for security;
>>>> they could have bugs that let a malicious guest escape L0.  In fact I
>>>> would be surprised if they don't. :(
>>>>
>>>> Paolo
>>>>
>>>
>>>
>>> "In nested virtualization, we have three levels: The host (KVM), which we call
>>> L0, the guest hypervisor, which we call L1, and its nested guest, which we
>>> call L2."
>>> https://www.kernel.org/doc/Documentation/virtual/kvm/nested-vmx.txt
>>>
>>> So as long as you don't nestle proprietary crap, no problemos.
>>
>> Kind of.  Suppose you are a cloud provider, and you think offering
>> nested virtualization would be cool.  Now, a customer (who of course
>> controls the kernel running in your L1 VM) uses a vulnerability in KVM
>> to get out of his VM and attack the host.  Enorme problema.
>>
>> Paolo
>
> Hi, Paolo,
>
> Even if cloud providers don't use nested virtualization, as long as
> there is "a vulnerability in KVM", it is still possible "to get out of
> his VM and attack the host". You mentioned that "Neither nested VMX
> nor nested SVM have ever been audited for security", so have this been
> done for non-nested virtualization?
>
> -Jidong
>
>> --
>> To unsubscribe from this list: send the line "unsubscribe kvm" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: KVM SVM(AMD) nested - disabled by default?
  2016-01-26 21:28         ` Andrew Honig
@ 2016-01-27 19:08           ` Jidong Xiao
  0 siblings, 0 replies; 8+ messages in thread
From: Jidong Xiao @ 2016-01-27 19:08 UTC (permalink / raw)
  To: Andrew Honig
  Cc: Paolo Bonzini, poma, kvm-devel, Cole Robinson, Richard W.M. Jones

On Tue, Jan 26, 2016 at 2:28 PM, Andrew Honig <ahonig@google.com> wrote:
> My team at Google has spent roughly 2-3 person years of effort
> security auditing KVM (both manually with code review and building
> tools) and we've found a lot of issues over the years.  Also Nadav
> Amit's work on the emulator was quite effective in finding security
> bugs.
>
> At this point, I don't know of anyone who's put any serious effort
> into a security audit for nested vmx/svm.
>
Thanks Andy, good to know that!

-Jidong

> On Tue, Jan 26, 2016 at 1:17 PM, Jidong Xiao <jidong.xiao@gmail.com> wrote:
>> On Tue, Jan 26, 2016 at 2:09 AM, Paolo Bonzini <pbonzini@redhat.com> wrote:
>>>
>>>
>>> On 25/01/2016 19:31, poma wrote:
>>>> On 23.01.2016 22:05, Paolo Bonzini wrote:
>>>>>
>>>>>
>>>>> On 23/01/2016 16:07, poma wrote:
>>>>>> "KVM: SVM: enable nested svm by default"
>>>>>> https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/arch/x86/kvm?id=4b6e4dc
>>>>>> "Nested SVM is (in my experience) stable enough to be enabled by default. So omit the requirement to pass a module parameter."
>>>>>>
>>>>>> I tried to get an explanation of the eventual -default- change here:
>>>>>> https://bugzilla.redhat.com/show_bug.cgi?id=1298244
>>>>>>
>>>>>> but "... I am *thinking* of changing it ..." ain't explanation, man.
>>>>>>
>>>>>> I've tested "Nested SVM" myself and it works surprisingly well,
>>>>>> therefore what is the -actual- reason to switch it off by default?
>>>>>
>>>>> Neither nested VMX nor nested SVM have ever been audited for security;
>>>>> they could have bugs that let a malicious guest escape L0.  In fact I
>>>>> would be surprised if they don't. :(
>>>>>
>>>>> Paolo
>>>>>
>>>>
>>>>
>>>> "In nested virtualization, we have three levels: The host (KVM), which we call
>>>> L0, the guest hypervisor, which we call L1, and its nested guest, which we
>>>> call L2."
>>>> https://www.kernel.org/doc/Documentation/virtual/kvm/nested-vmx.txt
>>>>
>>>> So as long as you don't nestle proprietary crap, no problemos.
>>>
>>> Kind of.  Suppose you are a cloud provider, and you think offering
>>> nested virtualization would be cool.  Now, a customer (who of course
>>> controls the kernel running in your L1 VM) uses a vulnerability in KVM
>>> to get out of his VM and attack the host.  Enorme problema.
>>>
>>> Paolo
>>
>> Hi, Paolo,
>>
>> Even if cloud providers don't use nested virtualization, as long as
>> there is "a vulnerability in KVM", it is still possible "to get out of
>> his VM and attack the host". You mentioned that "Neither nested VMX
>> nor nested SVM have ever been audited for security", so have this been
>> done for non-nested virtualization?
>>
>> -Jidong
>>
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe kvm" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> --
>> To unsubscribe from this list: send the line "unsubscribe kvm" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-01-27 19:08 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-23 15:07 KVM SVM(AMD) nested - disabled by default? poma
2016-01-23 21:05 ` Paolo Bonzini
2016-01-25 18:31   ` poma
2016-01-26  9:09     ` Paolo Bonzini
2016-01-26 11:00       ` poma
2016-01-26 21:17       ` Jidong Xiao
2016-01-26 21:28         ` Andrew Honig
2016-01-27 19:08           ` Jidong Xiao

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.