Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Network Monitoring with libvmtrace #19

Open
AdityaNautiyal opened this issue Mar 25, 2022 · 1 comment
Open

Network Monitoring with libvmtrace #19

AdityaNautiyal opened this issue Mar 25, 2022 · 1 comment

Comments

@AdityaNautiyal
Copy link

I am Computer Science research student and exploring the field of cloud security, i came to know about your libvmi library through paper " https://opus4.kobv.de/opus4-uni-passau/frontdoor/index/index/docId/831 " and want to know more about it.

Reading the paper i found your tool pretty useful for our research, but couldn't find any clear steps/ documentation to setup and use the library. I have already cloned your git repo and now want to capture virtual machines network packets using libvmtrace.
I would like to know the steps for:

  1. execution of libvmtrace library
  2. capture network packets of virtual machines in xen architecture from Dom0.
  3. capture system calls of process from different virtual machines.
@hr-ru
Copy link
Collaborator

hr-ru commented Mar 30, 2022

First steps (dependencies, compilation) should be explained in the top-level README.

  1. Regarding execution, a good starting point is apps/csec.cpp, which is a simple example that traces system calls 0, 1 and 59 (read, write, execve on x86_64)

  2. Capturing network packets should be easier at the interface level on Dom0, so I am not sure why you would want to capture network packets using VMI.

  3. For capturing system calls of all processes, see 1. To do it more selectively, you can set up a CR3 handler and activate/deactivate tracing whenever your process that you want to trace is scheduled. Unforunately, this part is not really well documented. You might find some ideas how to do this in the Saracenia honeypot code (also in apps)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants