Explore chapters and articles related to this topic
Secure Design Of Vmi-Ids
Published in Amir Hussain, Mirjana Ivanovic, Electronics, Communications and Networks IV, 2015
Jiangyong Shi*, Chengye Li, Yuexiang Yang, Kun Jiang
HyperSafe (Wang & Jiang 2010) is a lightweight approach that endows VMMs with a unique self-protection capability to provide lifetime control flow integrity. HyperSafe mainly uses two key techniques. The first one is non-bypassable memory lockdown which reliably protects the hypervisor's code and static data from being compromised even in the presence of exploitable memory corruption bugs (e.g., buffer overflows), therefore successfully providing VMM code integrity. The second one is restricted pointer indexing which introduces one layer of indirection to convert the control data into pointer indexes. These pointer indexes are restricted such that the corresponding call/return targets strictly follow the control flow graph, hence expanding protection to control-flow integrity. A prototype is built and used to protect two open-source VMMs: BitVisor and Xen. The experimental results with synthetic hypervisor exploits and benchmarking programs show HyperSafe can reliably enable the VMM self-protection and provide the integrity guarantee with a small performance overhead.
Processor Basics – Structure and Function
Published in Pranabananda Chakraborty, Computer Organisation and Architecture, 2020
It is customary to denote indirection by placing the name of the register or the memory address given in the instruction in parentheses as is shown above. The parentheses here are to be interpreted as meaning contents of. For example, MOV R1, [R2]; here the content of register R2 is not the operand, but the address of the target location where the operand resides. This instruction copies the word-sized data located to an address indicated by the contents of R2 into the register R1.
Arbogast : Higher order automatic differentiation for special functions with Modular C
Published in Optimization Methods and Software, 2018
Isabelle Charpentier, Jens Gustedt
As a major feature, arbogast implements six Taylor polynomial types and corresponding operations and functions [22, 303–308]. It is important to note here that these types are implemented as structure types that directly contain the coefficient array without any pointer indirection. We made this choice to accommodate modern compiler optimization that is able to track such array elements individually. As a consequence, our Taylor polynomials have a maximum degree.