Question: Instead of push return address onto the same stack that's mixed together with data (e.g., local variable: buffers), the CPU will push it to a

 Instead of push return address onto the same stack that's mixed

Instead of push return address onto the same stack that's mixed together with data (e.g., local variable: buffers), the CPU will push it to a dedicated stack that stores only the return address. Similarly, when ret instruction is invoked, the CPU will automatically pop from the dedicated stack. This way, a buffer overflow will overflow the stack that no longer stores the return address and therefore all return-oriented buffer overflow attacks are automatically prevented (impossible to occur). 1. Is the above strategy secure? If not, give one counterexample. (1.5 points) 2. Give one other reason (security or non-security reason) why this approach may not be desirable. (1.5 points) 3. Suggest any idea to improve the design to make it more secure or more practical? (3 bonus points)

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!