From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MirIG-0004vc-9G for qemu-devel@nongnu.org; Wed, 02 Sep 2009 10:58:40 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MirIF-0004vP-GV for qemu-devel@nongnu.org; Wed, 02 Sep 2009 10:58:39 -0400 Received: from [199.232.76.173] (port=58688 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MirIF-0004vM-DY for qemu-devel@nongnu.org; Wed, 02 Sep 2009 10:58:39 -0400 Received: from ey-out-1920.google.com ([74.125.78.149]:41506) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MirIE-0002N1-WD for qemu-devel@nongnu.org; Wed, 02 Sep 2009 10:58:39 -0400 Received: by ey-out-1920.google.com with SMTP id 13so220512eye.14 for ; Wed, 02 Sep 2009 07:58:38 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <20090901234716.GB1321@shareable.org> References: <20090831180825.6ed2ea55@bud-laptop> <20090901234716.GB1321@shareable.org> From: Blue Swirl Date: Wed, 2 Sep 2009 17:58:18 +0300 Message-ID: Subject: Re: [Qemu-devel] QEMU as a "virtual smart card"? Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jamie Lokier Cc: John Forrester , "Bud P. Bruegger" , qemu-devel@nongnu.org On Wed, Sep 2, 2009 at 2:47 AM, Jamie Lokier wrote: > Bud P. Bruegger wrote: >> At least looking naively at QEMU, it seems that its CPU and RAM are >> well protected from the host operating system--in a way to say make it >> practically impossible for some malware to extract the secret key used >> in a virtual machine. > > No, the CPU and RAM state inside QEMU is easily read from the host. > Just run a debugger and attach to the running QEMU process. =C2=A0It's no= t > completely simple, but it's far from secure. For additional complexity, the CPU registers, memory, instruction set and I/O could be encrypted but there is still a problem: where to store the keys. The keys could be handled by another host process, which could also try to attest that no debugger is attached (at least on that level of virtualization). Performance would suck of course and the attestation process could be fooled.