Difference between revisions of "Compel"
Jump to navigation
Jump to search
Line 12: | Line 12: | ||
* Death detection. Open pipe/socket and pass the other end outside. Once the victim dies the pipe/socket will wake up. | * Death detection. Open pipe/socket and pass the other end outside. Once the victim dies the pipe/socket will wake up. | ||
* Binary updates. E.g. live patching or libr relink | * Binary updates. E.g. live patching or libr relink | ||
+ | * Inject socket spy -- instead of opened socket create a unix one, put it in place of original one and send the latter back to caller so that any traffic flow in one goes "through" the spy | ||
[[Category:Empty articles]] | [[Category:Empty articles]] | ||
[[Category:Sub-projects]] | [[Category:Sub-projects]] |
Revision as of 17:08, 8 February 2016
Usage ideas
One thing parasite code can do is call clone() and create thread having access to main process VM, FDT, FS, etc. The new thread can then
- Check socket FDs to get stuck/closed, re-open them and dup2() into original places
- Problem: how to inform the original process about this change
Another is to do some activity on the victim and then just unload. With this we can
- Death detection. Open pipe/socket and pass the other end outside. Once the victim dies the pipe/socket will wake up.
- Binary updates. E.g. live patching or libr relink
- Inject socket spy -- instead of opened socket create a unix one, put it in place of original one and send the latter back to caller so that any traffic flow in one goes "through" the spy