All Projects → asamy → Ksm

asamy / Ksm

Licence: gpl-2.0
A fast, hackable and simple x64 VT-x hypervisor for Windows and Linux. Builtin userspace sandbox and introspection engine.

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Ksm

Learn Kvm
Qemu KVM(Kernel Virtual Machine)学习笔记
Stars: ✭ 305 (-54.68%)
Mutual labels:  kernel, virtualization, hypervisor
Svm kernel
x86_64 AMD kernel optimized for performance & hypervisor usage
Stars: ✭ 32 (-95.25%)
Mutual labels:  x86-64, kernel, hypervisor
Hdk
(unofficial) Hyper-V® Development Kit
Stars: ✭ 166 (-75.33%)
Mutual labels:  kernel, virtualization, hypervisor
uvmm
Virtual machine monitor for L4Re
Stars: ✭ 22 (-96.73%)
Mutual labels:  x86-64, virtualization, hypervisor
Hvpp
hvpp is a lightweight Intel x64/VT-x hypervisor written in C++ focused primarily on virtualization of already running operating system
Stars: ✭ 637 (-5.35%)
Mutual labels:  sandbox, virtualization, hypervisor
The holy book of x86
A simple guide to x86 architecture, assembly, memory management, paging, segmentation, SMM, BIOS....
Stars: ✭ 577 (-14.26%)
Mutual labels:  x86-64, kernel, reverse-engineering
Toaruos
A completely-from-scratch hobby operating system: bootloader, kernel, drivers, C library, and userspace including a composited graphical UI, dynamic linker, syntax-highlighting text editor, network stack, etc.
Stars: ✭ 4,687 (+596.43%)
Mutual labels:  kernel, x86-64
Beaengine
BeaEngine disasm project
Stars: ✭ 342 (-49.18%)
Mutual labels:  x86-64, reverse-engineering
Wingos
a little 64bit operating system written in c++ with smp support
Stars: ✭ 361 (-46.36%)
Mutual labels:  x86-64, kernel
Unicorn
Unicorn CPU emulator framework (ARM, AArch64, M68K, Mips, Sparc, PowerPC, RiscV, X86)
Stars: ✭ 4,934 (+633.14%)
Mutual labels:  x86-64, reverse-engineering
Minivisorpkg
The research UEFI hypervisor that supports booting an operating system.
Stars: ✭ 294 (-56.32%)
Mutual labels:  kernel, hypervisor
Drakvuf Sandbox
DRAKVUF Sandbox - automated hypervisor-level malware analysis system
Stars: ✭ 384 (-42.94%)
Mutual labels:  sandbox, reverse-engineering
Ksdumper
Dumping processes using the power of kernel space !
Stars: ✭ 454 (-32.54%)
Mutual labels:  kernel, reverse-engineering
Frakti
The hypervisor-based container runtime for Kubernetes.
Stars: ✭ 630 (-6.39%)
Mutual labels:  kernel, hypervisor
Xen Orchestra
The complete web solution to manage and backup XCP-ng and Citrix Hypervisor.
Stars: ✭ 358 (-46.81%)
Mutual labels:  virtualization, hypervisor
S6 pcie microblaze
PCI Express DIY hacking toolkit for Xilinx SP605
Stars: ✭ 301 (-55.27%)
Mutual labels:  kernel, hypervisor
Icebox
Virtual Machine Introspection, Tracing & Debugging
Stars: ✭ 422 (-37.3%)
Mutual labels:  virtualization, hypervisor
Capstone
Capstone disassembly/disassembler framework: Core (Arm, Arm64, BPF, EVM, M68K, M680X, MOS65xx, Mips, PPC, RISCV, Sparc, SystemZ, TMS320C64x, Web Assembly, X86, X86_64, XCore) + bindings.
Stars: ✭ 5,374 (+698.51%)
Mutual labels:  x86-64, reverse-engineering
Ops
ops - build and run nanos unikernels
Stars: ✭ 552 (-17.98%)
Mutual labels:  sandbox, virtualization
Khypervisor
kHypervisor is a lightweight bluepill-like nested VMM for Windows, it provides and emulating a basic function of Intel VT-x
Stars: ✭ 264 (-60.77%)
Mutual labels:  kernel, virtualization

ksm v1.6-dev Build Status Build Status Coverity Scan Build Status BountySource

A really simple and lightweight x64 hypervisor written in C for Intel processors.
KSM has a self-contained physical memory introspection engine and userspace physical memory virtualization which can be enabled at compiletime.

Currently, KSM runs on Windows and Linux kernels natively, and aims to support macOS by 2017, if you want to port KSM see Documentation/SPEC.rst for more information.

Note: You can find Windows 10 precompiled binaries here.

Purpose

Unlike other hypervisors (e.g. KVM, XEN, etc.), KSM's purpose is not to run other Operating Systems, instead, KSM can be used as an extra layer of protection to the existing running OS. This type of virtualization is usually seen in Anti-viruses, or sandboxers or even Viruses. KSM also supports nesting, that means it can emulate other hardware-assisted virtualization tools (VT-x).

Usage under Linux (+sandbox)

asciicast

Features

  • IDT Shadowing
  • EPT violation #VE (Disabled when unavailable - At least Broadwell required)
  • EPTP switching VMFUNC (Emulated when unavailable - At least Haswell required)
  • APIC virtualization (Experimental, do not use)
  • VMX Nesting (Experimental, do not use)
  • Builtin Userspace physical memory sandboxer (Optional)
  • Builtin Introspection engine (Optional)

Requirements

  • An Intel processor (with VT-x and EPT support)
  • A working C compiler (GCC or Microsoft compiler aka CL are supported)

Supported Kernels

  • Windows NT kernel (7/8/8.1/10)
  • Linux kernel (tested under 3.16, 4.8.13 and mainline)

Documentation

Module integration

Few modular examples are included to illustrate usage, those are:

  • epage.c - A shadow executale page hooking mechanism using multiple EPTP.
  • introspect.c - A small and stupid physical memory introspection engine using EPT.
  • sandbox.c - A small, incomplete and simple userspace physical memory sandbox.

See Documentation/BUILDING.rst on how to enable those modules while building.

Issues (bugs, features, etc.)

Feel free to use Github Issues, there is an Issue Template to help you file things as required.

References

  • Linux kernel (KVM)
  • HyperPlatform
  • XEN

License

GPL v2, see LICENSE file. Note that some code is thirdparty, respective licenses and/or copyright should be there, if you think otherwise, feel free to mail me.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].