Skip to content

Interview question · Systems, OS & Memory Safety

What is return-oriented programming, why did it make DEP insufficient, and how do control-flow integrity and shadow stacks respond?

Once data could not run as code, attackers stopped bringing code. The interview checks that you understand code reuse as an idea, and what forward-edge and backward-edge protections each enforce.

hardEssentialNewPreparation tags: Google, Microsoft, AppleUpdated Nov 2026

Once data could not run as code, attackers stopped bringing code. The interview checks that you understand code reuse as an idea, and what forward-edge and backward-edge protections each enforce.

Make your first attempt

What would you say before reading the answer?

  1. 01 State the assumptions your answer depends on.
  2. 02 Explain the mechanism and choose a control.
  3. 03 Name a condition that would change your decision.

The worked answer includes an approach, scoring criteria and follow-up questions. Compare the reasoning with your own.

10 answers per topic instead of 5, plus saved progress and bookmarks · costs nothingor unlock all 529 remaining answers · $25

Every worked answer in all 17 topics, every lesson in every course, the full concept curriculum, the complete practice-test bank, and the downloadable security field guides.

6 months · One payment · No auto-renewal

What if · the follow-ups in this answer

The answer works through 6 follow-ups like an interviewer would

An attacker controls a return address in a program with a non-executable stack and ASLR, and the team wonders what that allows.

  1. What is return-oriented programming conceptually?
  2. Why does ASLR matter to this attack?
  3. How does control-flow integrity help?
  4. What hardware support exists?
  5. What should the team do about the bug?
  6. What would you recommend?

Each rung has a nudge, a model answer, the principle that carries over and the weak answer to avoid. Premium opens every answer and ladder.

UP NEXT ON YOUR JOURNEY
DISCUSSION · 0

No comments yet. Share a correction or a different way to answer it.