Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add more security features, e.g. chunk header xor-ing, better randomization, double-free checks, buffer overflow prevention, ... #36

Open
m4drat opened this issue Jun 12, 2020 · 0 comments
Assignees
Labels
Projects

Comments

@m4drat
Copy link
Owner

m4drat commented Jun 12, 2020

  • heap canaries
  • randomized allocations? (probably it isn't possible)
  • headers encryption
  • better randomization of mmaped arenas (e.g. mimalloc: mi_unix_mmapx)
  • Top chunk checks
  • Checks on chunks merging
  • Replace std::terminate with std::abort?
  • On deallocate fill memory with zeroes
  • Check for invalid headers (for example: chunk header gets overwritten, so we need to check for invalid merging)
  • Check for invalid smart pointer initialization
  • Check for double-free
  • Check for invalid free

option(MPP_SECURE "Build with advanced security checks" OFF)

@m4drat m4drat created this issue from a note in Tasks (To Do) Jun 12, 2020
@m4drat m4drat added the Medium label Jun 12, 2020
@m4drat m4drat added this to the Memory Manager milestone Jun 12, 2020
@m4drat m4drat changed the title Add more security features, e.g. chunk header xor-ing, double-free checks, buffer overflow prevention, ... Add more security features, e.g. chunk header xor-ing, better randomization, double-free checks, buffer overflow prevention, ... Aug 9, 2020
@m4drat m4drat self-assigned this Aug 9, 2020
@m4drat m4drat moved this from To Do to In Progress in Tasks Aug 9, 2020
@m4drat m4drat moved this from In Progress to To Do in Tasks Apr 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Tasks
  
To Do
Development

No branches or pull requests

1 participant