-
Notifications
You must be signed in to change notification settings - Fork 69
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
cleanup(rules): transition rule BPF Program Not Profiled
to maturity incubating
#246
Changes from 2 commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -1283,4 +1283,25 @@ | |
(fd.name contains "liblzma.so.5.6.0" or fd.name contains "liblzma.so.5.6.1") | ||
output: SSHD loaded a backdoored version of liblzma library %fd.name with parent %proc.pname and cmdline %proc.cmdline (process=%proc.name parent=%proc.pname file=%fd.name evt_type=%evt.type user=%user.name user_uid=%user.uid user_loginuid=%user.loginuid proc_exepath=%proc.exepath command=%proc.cmdline terminal=%proc.tty exe_flags=%evt.arg.flags %container.info) | ||
priority: WARNING | ||
tags: [maturity_incubating, host, container] | ||
tags: [maturity_incubating, host, container, mitre_initial_access, T1556] | ||
|
||
- list: bpf_profiled_binaries | ||
items: [falco, bpftool, systemd] | ||
|
||
- macro: bpf_profiled_procs | ||
condition: (proc.name in (bpf_profiled_binaries)) | ||
|
||
- rule: BPF Program Not Profiled | ||
desc: > | ||
BPF is a kernel technology that can be misused for malicious purposes, like "Linux Kernel Module Injection". This | ||
rule should be considered an auditing rule to notify you of any unprofiled BPF tools running in your environment. | ||
However, it requires customization after profiling your environment. BPF-powered agents make bpf syscalls all the | ||
time, so this rule only sends logs for BPF_PROG_LOAD calls (bpf cmd=BPF_PROG_LOAD) in the enter event. If you also want to log | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. also fixed docs as it's now There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This requires an engine version bump if I'm not mistaken, meaning also a major version bump for the incubating file There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Right, forgot about it, great callout Luca! |
||
whether the syscall failed or succeeded, remove the direction filter and add the evt.arg.res_or_fd output field. | ||
condition: > | ||
evt.type=bpf and evt.dir=> | ||
and evt.arg.cmd=BPF_PROG_LOAD | ||
and not bpf_profiled_procs | ||
output: BPF Program Not Profiled (bpf_cmd=%evt.arg.cmd evt_type=%evt.type user=%user.name user_uid=%user.uid user_loginuid=%user.loginuid process=%proc.name proc_exepath=%proc.exepath parent=%proc.pname command=%proc.cmdline terminal=%proc.tty %container.info) | ||
priority: NOTICE | ||
tags: [maturity_incubating, host, container, mitre_persistence, TA0003] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@darryk10 @loresuso @LucaGuerra