Git Product home page Git Product logo

furnace's Introduction

Furnace: Self-Service Tenant VMI for the Cloud

Introduction

Although Virtual Machine Introspection (VMI) tools are increasingly capable, modern multi-tenant cloud providers are hesitant to expose the sensitive hypervisor APIs necessary for tenants to use them.

This project, Furnace, is an open source VMI framework that satisfies both a tenant's desire to run their own custom VMI tools underneath their cloud VMs and a cloud provider's expectation of security.

For additional details on Furnace's motivation and design, please check out the Furnace paper.

This repository contains information about the overall project. The following individual repositories contain the actual software components.

The individual repositories listed above are intended to be installed on specific cloud infrastructure components (e.g., the Furnace sandbox is installed on each cloud compute node). The diagram below shows Furnace's overall software architecture and which repository belongs on which cloud component.

Warning!

  • Furnace is a young project that is very much a work in progress.
  • Until Furnace is more mature, it is not recommended to be used in a production cloud.
  • See an issue? Report it!

Installation

See INSTALL.md for instructions on installing Furnace in a single-hypervisor configuration.

Built with

Citation

Using Furnace for something? Cite us!

@inproceedings{18RAID_Furnace,
 title = {{Furnace: Self-Service Tenant VMI for the Cloud}},
 author = {Bushouse, Micah and Reeves, Douglas},
 bookTitle={21st International Symposium on Research in Attacks, Intrusions, and Defenses},
 year = {2018},
 location = {Heraklion, Crete, Greece},
}

FAQ

I have a problem with Furnace, how can I get help?

For general issues and issues with installation, please create an issue on this repo. Issues related to a specific Furnace repo should be posted to that repo.

Do I have to use DRAKVUF? What about Furnace on KVM?

The hypervisor-specific component of Furnace is its VMI partition. Presently, we recommend DRAKVUF with the Furnace plugin for this partition, however this limits us to Xen hypervisors.

Furnace can be made to support any hypervisor that supports LibVMI. A swap-in replacement for DRAVKUF is under development, which would make Furance compatible with KVM hypervisors.

What's with the logo?

In memory forensics, virtual machines (and hosts in general) are occasionally depicted as a collection of kernel and process address spaces. These address spaces are represented as the "smoke" rising above the flames (virtual machine introspection actions). A Furnace app is shown as a yellow shield at the center running underneath the VM.

License

Furnace is GPLv3.

However, to use Furnace library with DRAKVUF, you must also comply with DRAKVUF's license. Including DRAKVUF within commercial applications or appliances generally requires the purchase of a commercial DRAKVUF license (see https://github.com/tklengyel/drakvuf/blob/master/LICENSE).

furnace's People

Contributors

mbushou avatar

Stargazers

 avatar Christopher Pelloux avatar Tamas K Lengyel avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.