-
Notifications
You must be signed in to change notification settings - Fork 565
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
verbose: show process name and other human-level details #1825
Conversation
so that they can be rendered to output
This comment was marked as outdated.
This comment was marked as outdated.
the lines are getting to be pretty long, so interested to hear what you all think of the example above. it might be possible to render this:
as this:
at the expense of more vertical real estate |
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.
really cool, some things to discuss inline
for later potentially: would be really cool to highlight the match part in the rendered call line (not worth the effort right now!)
Co-authored-by: Moritz <[email protected]>
i find myself often wanting to see the full details of each matching call so that i can extract indicators. for example, seeing all the CreateFile calls to extract the filename parameter. but we only show a single example to prove the rule matched correctly. i think this suggests that maybe we want to explore how to use capa/dynamic to extract indicators, not just behaviors. |
this is probably possible, though it requires us to record the full tuple (func name, [arguments], return value) for each call, rather than a single rendered string. and, handle things like human readable vs raw value of arguments. im hesitant to try to define these structures today, since we've only looked at CAPE and the data it provides. i think we should integrate another sandbox before we attempt to find the right abstraction. |
API call rendered on its own lines, indented to help highlight the function name and differentiate the arguments. the whole block is muted (grey) so the rule logic can remain the focus of attention. i dont really like the duplication of the event at the rule root and each of the features, but i haven't brainstormed on a better policy yet. |
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.
LGTM, I think we can fine tune this down the road, if needed. Thanks!
This comment was marked as resolved.
This comment was marked as resolved.
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.
LGTM! Thanks!
closes #1816
major parts:
DynamicFeatureExtractor.get_process_name()
andDynamicFeatureExtractor.get_call_name()
DynamicLayout
(result document and proto) to record processes/threads/calls used during matching.Checklist