Skip to content

chapters/data/memory-security: Clarify memoy security tasks #133

@teodutu

Description

@teodutu

The memory security tasks [1] and reading material [2] offer students too little information about ASLR and stack canaries.

ASLR

There is nothing written about how ASLR works and how the compilation and linking flags affect it. This information should be present in the reading material and students should be prompted to modify these flags in the task.

Stack Protector

The reading material never shows any Assembly code that handles the stack protector so when the task asks students to find it, they are confused. The reading material should provide these details. Additionally, the task should use a more gradual approach and add quiz items for each step:

  1. Which function has a stack canary?
  2. What is the canary's offset from rbp?
  3. What is the canary's offset from the beginning of the stack buffer?
  4. What is the return address's offset from the beginning of the stack buffer?
  5. Why does the program prin the "Stack smashing detected" message if you correctly overwrite both the stack canary and the return address?

[1] https://github.com/cs-pub-ro/operating-systems/tree/main/chapters/data/memory-security/drills/tasks

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/contentContent (Markdown) updatearea/readingUpdate to reading contentkind/improveImprove / Update existing content / itemtopic/dataRelated to "Data" chapter

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions