Sample Header Ad - 728x90

Interception syscalls and make change in their arguments

1 vote
1 answer
1446 views
I'm interested to write a kernel program that can have all possible controls on syscalls, such as intersection, filtering, and make changes in their arguments. I look up for two goals: 1. read system calls and their arguments and decide to block or allow them according to a policy. 2. have access to change their argument and pass them to the user. In fact (I do not know if this allegory is true or not?), I want to do something like simple virtualization for a process that can change its view to the kernel and its system calling (like it requested a file in "/tmp/new_folder/foo.txt" by open syscall and we return "/tmp/another_folder/foo2.txt" instead). I insist that this be done with ebpf. But if there is another way, I would welcome it. Also, I should say, I know the usage of **bcc** in this case. it seems to designed for tracing but not filtering and influencing. as well as I tried **seccomp** and it is better than bcc, but seccomp can't be used for access arguments and it is an important factor for me. so I think my answer may be in something like **lsm**. but I don't know how and didn't find any good doc for it. Thanks for any help.
Asked by Mostafa Sarmad (11 rep)
May 12, 2021, 12:16 PM
Last activity: Aug 8, 2022, 08:15 PM