Skip to content

Source/target and diff modeling #678

Open
@andrewstucki

Description

@andrewstucki

This is a more generic application of modeling either "source/target" style events or "diff" events that I'm spinning off from #589

As I initially mentioned (#589 (comment)). There are a number of things that ECS should support modeling including things like:

  • setuid/setgid operations
  • file modification events (i.e. renames, permissions)
  • IPC calls
  • network requests/flows (current use of source and destination)
  • user modifications
  • process execs
  • registry modifications
  • windows source/target audit log info

Overall these more or less fall into two categories:

  1. Modelling communication between two like things (network connections, IPCs, windows audit log)
  2. Modification events

Currently the way ECS has started to approach this is to make fields that are specific to each of these domains, i.e. source/destination are currently for network modeling only, and then there's also client/server

I'm advocating for adopting a more generic field set that allows you to do generic source/target or diff modeling which would essentially allow you to embed any other field set in it.

For example--something like origin and target (sad that source/destination is already taken):

For file modifications:

origin.file.name = "foo"
target.file.name = "bar"

For process execs:

origin.process.path = "foo"
target.process.path = "bar"

For network requests (slightly difficult because of the lack of port info):

origin.host.ip = "foo"
target.host.ip = "bar"

For user modification (maybe by another user baz who did the modification?):

user.name = "baz"
origin.user.name = "foo"
target.user.name = "bar"

Thoughts?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions