@@ -40,39 +40,39 @@ that the provided code works as expected.
4040
4141## Motivation
4242
43- Most people think that hypervisors are meant to virtualize servers and
44- provide a means to run Windows on a Mac, but there is a whole field
45- of research were hypervisors are used without guest virtual
46- machines. Since a hypervisor is capable of controlling the host OS
47- running underneath it, (so called "ring -1"), hypervisors have been
48- used for introspection, reverse engineering, anti-virus, containerization,
49- diversity, and even architectural research like the
50- [ MoRE] ( https://github.com/ainfosec/MoRE ) hypervisor. All of these use
51- cases start the same way, by spending months standing up the hypervisor
52- itself before you can start working on your actual project. Existing open
53- source hypervisors are so focused on supporting virtual machines and
54- burdened with legacy support that they are painful to work with when
55- conducting less traditional hypervisor research.
56-
57- Bareflank's goal is to provide the scaffolding needed to create any type of
58- hypervisor. To support this, Bareflank leverages C++ not only to provide
59- a clear method for extending the hypervisor via inheritance, but also to
60- provide access to the C++ STL to reduce the time it takes to prototype and
61- implement new technologies. For example, suppose your writing an
43+ Most people think that hypervisors are meant to virtualize servers and
44+ provide a means to run Windows on a Mac, but there is a whole field
45+ of research were hypervisors are used without guest virtual
46+ machines. Since a hypervisor is capable of controlling the host OS
47+ running underneath it, (so called "ring -1"), hypervisors have been
48+ used for introspection, reverse engineering, anti-virus, containerization,
49+ diversity, and even architectural research like the
50+ [ MoRE] ( https://github.com/ainfosec/MoRE ) hypervisor. All of these use
51+ cases start the same way, by spending months standing up the hypervisor
52+ itself before you can start working on your actual project. Existing open
53+ source hypervisors are so focused on supporting virtual machines and
54+ burdened with legacy support that they are painful to work with when
55+ conducting less traditional hypervisor research.
56+
57+ Bareflank's goal is to provide the scaffolding needed to create any type of
58+ hypervisor. To support this, Bareflank leverages C++ not only to provide
59+ a clear method for extending the hypervisor via inheritance, but also to
60+ provide access to the C++ STL to reduce the time it takes to prototype and
61+ implement new technologies. For example, suppose your writing an
6262introspection hypervisor that needs to store the different system calls that
63- are being made in a hash table for fast lookups. Doing this in an existing C
64- based hypervisor might require you to create your own hash table implementation.
65- This same implementation is trivial with the STL's existing data structures.
66- With Bareflank's design, you can focus on the goal of your project, and less
67- on implementing the foundation needed to support your project.
63+ are being made in a hash table for fast lookups. Doing this in an existing C
64+ based hypervisor might require you to create your own hash table implementation.
65+ This same implementation is trivial with the STL's existing data structures.
66+ With Bareflank's design, you can focus on the goal of your project, and less
67+ on implementing the foundation needed to support your project.
6868
69- Bareflank will always maintain the "bare minimum" needed to stand up a
69+ Bareflank will always maintain the "bare minimum" needed to stand up a
7070hypervisor. Future repositories/projects will be created that extend
71- the hypervisor to add additional API support for common research tasks (e.g.
72- VT-x APIs, LibVMI APIs, and even guest support APIs). Long term, it is our
73- hope that others will leverage Bareflank to create hypervisors
74- capable of competing with existing type 1 and type 2 open source hypervisors,
75- but Bareflank itself will remain focused on the bare minimum scaffolding.
71+ the hypervisor to add additional API support for common research tasks (e.g.
72+ VT-x APIs, LibVMI APIs, and even guest support APIs). Long term, it is our
73+ hope that others will leverage Bareflank to create hypervisors
74+ capable of competing with existing type 1 and type 2 open source hypervisors,
75+ but Bareflank itself will remain focused on the bare minimum scaffolding.
7676
7777## Website
7878
@@ -142,18 +142,18 @@ functionality, we have provided a couple of examples:
142142[ Enable VPID] ( https://github.com/Bareflank/hypervisor_example_vpid ) <br >
143143[ CPUID Count] ( https://github.com/Bareflank/hypervisor_example_cpuidcount )
144144
145- ## Roadmap (updated 4-21 -2016)
145+ ## Roadmap (updated 4-27 -2016)
146146
147147### Version 1.0
148148
149- Target : April 2016
149+ Released : April 27, 2016
150150
151151* ~~ ELF Loader~~
152152* ~~ Userspace Managment Application (bfm)~~
153153* ~~ Unwinder~~
154154* ~~ Initial C++ Environment~~
155155* ~~ Linux Driver Entry~~
156- * Basic VMM
156+ * ~~ Basic VMM~~
157157* ~~ Testing (Ubuntu, Debian, Fedora, CentOS)~~
158158
159159### Version 1.1
0 commit comments