From: Mathieu Ropert <mro@adviseo.fr>
To: Anthony Liguori <aliguori@us.ibm.com>
Cc: Neha Sood <neha0405@yahoo.com>,
xen-devel <xen-devel@lists.xensource.com>
Subject: Re: Re: System Call Interception
Date: Wed, 22 Nov 2006 20:58:00 +0100 [thread overview]
Message-ID: <4564ABC8.5090704@adviseo.fr> (raw)
In-Reply-To: <4561DA1E.60108@us.ibm.com>
Anthony Liguori wrote:
> Neha Sood wrote:
>>
>> Hi there,
>>
>> I have a question related to intercepting guest OS system calls in
>> Xen to provide logging mechanism. As a part of my project, i have to
>> log all the system calls issued by the guest OS in the Xen hypervisor
>> for secure logging. I am new to Xen and have been reading the source
>> code. I have read about Fast Handler for system call. What is the
>> fast handler and how the system call works in Xen. Could you please
>> provide me some starting point how to do that?
>
> On i386 at least, syscalls are delivered directly to the guest (they
> aren't intercepted by Xen).
>
> I'm not sure if the same is true on x86-64 but at any rate, the first
> thing to do would be to make sure Xen intercepts syscalls. You will
> have to find some mechanism to "log" these events which will likely
> involved a ring queue and some sort of daemon in dom0.
All syscalls go through Xen on x86-64 (as guest runs in ring3), so you
can insert some logs in the handling code (xen/arch/x86/x86_64/entry.S).
But as stated before, would be much easier to do it in the guest kernel
code for most OS. Now if you talk about logging calls from a
non-modified guest (using HVM), it should be theorically possible but i
don't where you should insert your code (probably in the interrupt
handling code somewhere in xen/arch/x86/hvm, can't be more precise
though, don't know this part very well).
About the "fast" system call, it's a new feature added on x86-64 (and i
think on the lastest x86 CPUs) to handle what it names says "fast system
calls". It's used as an alternative to the software interrupts
(generated by the "int" instruction) to handle system call faster than
the usual way. They are entered via the "syscall" instruction and exited
with "sysret" (some processors also implements the "sysenter" and
"sysexit" instructions, check Intel/AMD manuals for more detail).
Regards,
Mathieu
>
> However, as Mats suggests, are you sure this is really what you want
> to do? The audit infrastructure in Linux is designed just to do this
> sort of thing...
>
> Regards,
>
> Anthony Liguori
>
>> Will it be a very difficult to log guest OS system calls in Xen ? If
>> no, how to start with and what are files have to be changed.
>>
>> I would really appreciate your help.
>>
>> Thanks,
>> Neha
>>
>> ------------------------------------------------------------------------
>> Sponsored Link
>>
>> Mortgage rates near 39yr lows. $510,000 Mortgage for $1,698/mo -
>> Calculate new house payment
>> <http://www.lowermybills.com/lre/index.jsp?sourceid=lmb-9134-16416&moid=4119>
>>
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xensource.com
>> http://lists.xensource.com/xen-devel
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel
next prev parent reply other threads:[~2006-11-22 19:58 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-19 19:10 System Call Interception Neha Sood
2006-11-20 10:54 ` Petersson, Mats
2006-11-20 16:38 ` Anthony Liguori
2006-11-22 19:58 ` Mathieu Ropert [this message]
2006-11-23 15:52 ` Adrian Chadd
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=4564ABC8.5090704@adviseo.fr \
--to=mro@adviseo.fr \
--cc=aliguori@us.ibm.com \
--cc=neha0405@yahoo.com \
--cc=xen-devel@lists.xensource.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.