this is for holding javascript data
Ye edited Motivation_System_and_high_performance__.md
about 8 years ago
Commit id: 8a7f530d1bc0e7b2a2e250ec1c686f152b7df719
deletions | additions
diff --git a/Motivation_System_and_high_performance__.md b/Motivation_System_and_high_performance__.md
index 439ec43..3912dad 100644
--- a/Motivation_System_and_high_performance__.md
+++ b/Motivation_System_and_high_performance__.md
...
##Motivation
System and high performance computing code are often written in low level languages such as C and C++. Low level languages provide high performance but are open to memory corruption attacks due to lack memory safety and manual memory management. Memory corruption attacks \cite{Szekeres_2013} starts by creating memory errors such as
overflows,underflows overflows, underflows or dangling pointers. One main type of memory corruption attack is control-flow hijacking that takes control of the entire program by using memory errors to enable the write and execution of desired instructions. The classic control-flow attack that works by overwriting the program with new instructions can prevented with non-executable data policies, however Jump Oriented Programming (JOP) can bypass data policies by chaining in-memory code from common libraries such as libc. There are enough instruction sequences and system calls in libc functions that make it Turing complete \cite{Tran_2011}, allowing attackers to create arbitrary programs.
Currently there are no policies that prevent JOP because it executes valid code from memory, but mitigation techniques \cite{Li_2010}\cite{Pappas_2012} can be applied to reduce the effectiveness of such attacks.