From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HgzcE-0003ei-ES for qemu-devel@nongnu.org; Thu, 26 Apr 2007 04:46:14 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HgzcB-0003dw-Mw for qemu-devel@nongnu.org; Thu, 26 Apr 2007 04:46:13 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HgzcA-0003dh-Vc for qemu-devel@nongnu.org; Thu, 26 Apr 2007 04:46:11 -0400 Received: from wx-out-0506.google.com ([66.249.82.234]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1HgzWR-0002Rz-RH for qemu-devel@nongnu.org; Thu, 26 Apr 2007 04:40:16 -0400 Received: by wx-out-0506.google.com with SMTP id i30so884089wxd for ; Thu, 26 Apr 2007 01:40:15 -0700 (PDT) Message-ID: <12835c8f0704260140r2154ab11h96ae8056a09cb55b@mail.gmail.com> Date: Thu, 26 Apr 2007 01:40:14 -0700 From: "Shashidhar Mysore" Subject: Re: [Qemu-devel] Minos-type integrity checking in QEMU In-Reply-To: <1177499203.4001.12.camel@localhost.localdomain> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_171982_26761246.1177576814862" References: <12835c8f0704250116i15a82885j7f6311715ad4374b@mail.gmail.com> <1177499203.4001.12.camel@localhost.localdomain> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, maestro82@gmail.com ------=_Part_171982_26761246.1177576814862 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi, Thank you very much for the links. I am looking into your thesis right now, Congratulations! nice work. I really liked the idea of your project, especially tracking control dependencies along with data dependency in QEMU. One question I have is the way in which you obtain process information from the operating system (The CR3 register, EPROCESS, etc) - Though you have mainly spoken about Windows, can you tell me if it is possible to do the same in Linux ? Also, is there a link from where I can download your tool? or patches to QEMU? Thanks again! -Shashi. On 4/25/07, maestro wrote: > > Hello Shashi! > > you might wanna take a look at the argos [0] project. they do exactly > that kind of stuff. > we implemented something quite similar as the base of my masters thesis > a technical report is available at [1] although what you need is only > covered in a single chapter. > > btw. i found it to be easier to make the changes in translate.c instead > of changing every op in op.c > > cheers > m. > > [0] http://www.few.vu.nl/argos/ > [1] http://seclab.tuwien.ac.at/papers/tqana.pdf > > Am Mittwoch, den 25.04.2007, 01:16 -0700 schrieb Shashidhar Mysore: > > Hi, > > > > I am trying to incorporate into QEMU (x86) some structures to maintain > > integrity of data that flows in the processor. Specifically, I want to > > maintain a bit for every physical memory address and transfer the > > state information for every address along onto the virtual memory, and > > also down to the instructions which operate on data, and bit arrays > > for registers (so that when an operand is fetched from a particular > > register, we also have the state information for that register). I am > > trying to build a Minos type architecture > > ( http://minos.cs.ucdavis.edu/) but in QEMU instead of Bochs. > > > > For this, as far as I can see, I need to maintain a set of new > > structures to shadow the physical memory and make changes to the micro > > ops defined in target-i386/op.c so that every instruction can track > > the state and store them for every register used as an operand. I'm > > not sure if somebody has already implemented such a system on QEMU? I > > am just beginning to think and work on this, so any > > pointers/suggestions would be greatly appreciated. Please let me know > > your views on this. > > > > Thanks, > > -Shashi. > > > > ------=_Part_171982_26761246.1177576814862 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi,

Thank you very much for the links. I am looking into your thesis right now, Congratulations! nice work. I really liked the idea of your project, especially tracking control dependencies along with data dependency in QEMU. One question I have is the way in which you obtain process information from the operating system (The CR3 register, EPROCESS, etc) - Though you have mainly spoken about Windows, can you tell me if it is possible to do the same in Linux ? Also, is there a link from where I can download your tool? or patches to QEMU?

Thanks again!
-Shashi.

On 4/25/07, maestro <maestro82@gmail.com> wrote:
Hello Shashi!

you might wanna take a look at the argos [0] project. they do exactly
that kind of stuff.
we implemented something quite similar as the base of my masters thesis
a technical report is available at [1] although what you need is only
covered in a single chapter.

btw. i found it to be easier to make the changes in translate.c instead
of changing every op in op.c

cheers
m.

[0] http://www.few.vu.nl/argos/
[1] http://seclab.tuwien.ac.at/papers/tqana.pdf

Am Mittwoch, den 25.04.2007, 01:16 -0700 schrieb Shashidhar Mysore:
> Hi,
>
> I am trying to incorporate into QEMU (x86) some structures to maintain
> integrity of data that flows in the processor. Specifically, I want to
> maintain a bit for every physical memory address and transfer the
> state information for every address along onto the virtual memory, and
> also down to the instructions which operate on data, and bit arrays
> for registers (so that when an operand is fetched from a particular
> register, we also have the state information for that register). I am
> trying to build a Minos type architecture
> ( http://minos.cs.ucdavis.edu/) but in QEMU instead of Bochs.
>
> For this, as far as I can see, I need to maintain a set of new
> structures to shadow the physical memory and make changes to the micro
> ops defined in target-i386/op.c so that every instruction can track
> the state and store them for every register used as an operand. I'm
> not sure if somebody has already implemented such a system on QEMU? I
> am just beginning to think and work on this, so any
> pointers/suggestions would be greatly appreciated. Please let me know
> your views on this.
>
> Thanks,
> -Shashi.




------=_Part_171982_26761246.1177576814862--