Implementation of stack
data structure with several levels of protection.
Second task in MIPT in the first year of education.
Imagine that there is a "bad guy" who wants to hack your program, go outside the array (we assume that there are no protections in the system) and get access to confidential data. As programmers, we want to prevent this. That is why the idea of this project is to understand the intricacies of basic methods of stack protection.
There are several layers of protections that can be turned on/off separately:
Canaries
. Canaries are used to determine whether there isbuffer overflow
.Checksum
. Checksum is used to determine whether there was some changes in data that were not expected.
Clone the repository
git clone https://github.com/V13kv/SecuredStack;
cd SecuredStack
Compiling
make init;
make
./stack.exe