kernel-hardening.lists.openwall.com archive mirror
 help / color / mirror / Atom feed
From: Chao Gao <chao.gao@intel.com>
To: Ahmed Abd El Mawgood <ahmedsoliman@mena.vt.edu>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	rkrcmar@redhat.com, Jonathan Corbet <corbet@lwn.net>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	hpa@zytor.com, x86@kernel.org, kvm@vger.kernel.org,
	linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
	ahmedsoliman0x666@gmail.com, ovich00@gmail.com,
	kernel-hardening@lists.openwall.com, nigel.edwards@hpe.com,
	Boris Lukashev <blukashev@sempervictus.com>,
	Igor Stoppa <igor.stoppa@gmail.com>
Subject: Re: [RESEND PATCH V8 05/11] KVM: Create architecture independent ROE skeleton
Date: Tue, 22 Jan 2019 11:10:50 +0800	[thread overview]
Message-ID: <20190122031049.GA18314@gao-cwp> (raw)
In-Reply-To: <20190120233940.15282-6-ahmedsoliman@mena.vt.edu>

On Mon, Jan 21, 2019 at 01:39:34AM +0200, Ahmed Abd El Mawgood wrote:
>This patch introduces a hypercall that can assist against subset of kernel
>rootkits, it works by place readonly protection in shadow PTE. The end
>result protection is also kept in a bitmap for each kvm_memory_slot and is
>used as reference when updating SPTEs. The whole goal is to protect the
>guest kernel static data from modification if attacker is running from
>guest ring 0, for this reason there is no hypercall to revert effect of
>Memory ROE hypercall. This patch doesn't implement integrity check on guest
>TLB so obvious attack on the current implementation will involve guest
>virtual address -> guest physical address remapping, but there are plans to
>fix that.

Hello Ahmed,

I don't quite understand the attack. Do you mean that even one guest
page is protected by ROE, an attacker can map the virtual address to
another unprotected guest page by editing guest page table?

Thanks
Chao

  reply	other threads:[~2019-01-22  3:10 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-20 23:39 [RESEND PATCH V8 0/11] KVM: X86: Introducing ROE Protection Kernel Hardening Ahmed Abd El Mawgood
2019-01-20 23:39 ` [RESEND PATCH V8 01/11] KVM: State whether memory should be freed in kvm_free_memslot Ahmed Abd El Mawgood
2019-01-20 23:39 ` [RESEND PATCH V8 02/11] KVM: X86: Add arbitrary data pointer in kvm memslot iterator functions Ahmed Abd El Mawgood
2019-01-20 23:39 ` [RESEND PATCH V8 03/11] KVM: X86: Add helper function to convert SPTE to GFN Ahmed Abd El Mawgood
2019-01-20 23:39 ` [RESEND PATCH V8 04/11] KVM: Document Memory ROE Ahmed Abd El Mawgood
2019-01-20 23:39 ` [RESEND PATCH V8 05/11] KVM: Create architecture independent ROE skeleton Ahmed Abd El Mawgood
2019-01-22  3:10   ` Chao Gao [this message]
2019-01-20 23:39 ` [RESEND PATCH V8 06/11] KVM: X86: Enable ROE for x86 Ahmed Abd El Mawgood
2019-01-20 23:39 ` [RESEND PATCH V8 07/11] KVM: Add support for byte granular memory ROE Ahmed Abd El Mawgood
2019-01-20 23:39 ` [RESEND PATCH V8 08/11] KVM: X86: Port ROE_MPROTECT_CHUNK to x86 Ahmed Abd El Mawgood
2019-01-20 23:39 ` [RESEND PATCH V8 09/11] KVM: Add new exit reason For ROE violations Ahmed Abd El Mawgood
2019-01-20 23:39 ` [RESEND PATCH V8 10/11] KVM: Log ROE violations in system log Ahmed Abd El Mawgood
2019-01-20 23:39 ` [RESEND PATCH V8 11/11] KVM: ROE: Store protected chunks in red black tree Ahmed Abd El Mawgood

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=20190122031049.GA18314@gao-cwp \
    --to=chao.gao@intel.com \
    --cc=ahmedsoliman0x666@gmail.com \
    --cc=ahmedsoliman@mena.vt.edu \
    --cc=blukashev@sempervictus.com \
    --cc=bp@alien8.de \
    --cc=corbet@lwn.net \
    --cc=hpa@zytor.com \
    --cc=igor.stoppa@gmail.com \
    --cc=kernel-hardening@lists.openwall.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=nigel.edwards@hpe.com \
    --cc=ovich00@gmail.com \
    --cc=pbonzini@redhat.com \
    --cc=rkrcmar@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).