logoalt Hacker News

linkregistertoday at 7:35 AM1 replyview on HN

In your software, you set up a new heap for every pthread? I have never encountered this design pattern and would like to learn more.


Replies

jcalvinowenstoday at 5:00 PM

If the workers weren't forked, the entire process would die to the SIGSEGV, and when it restarted the heap would be at a new address because of ASLR. This exploit couldn't work against a threaded daemon for that reason (only one guess).

In a world where they are forked, having a randomized heap base in each worker would also defeat the brute force approach. Instead of just fork(), it could execve() itself with some arguments that tell it to be a worker and where to find its brain, that effectively do an ASLR for each worker.

show 1 reply