Skip to content

Corelight-sensor updates from CrowdStrike #3

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

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

jlagermann
Copy link
Member

No description provided.

@jlagermann
Copy link
Member Author

@niralishah-crest and @jayeshprajapaticrest
I'm going to try and copy over all the comments from CrowdStrike and add them to this PR.

Comment on lines 524 to +527
// Log Fields
| case {
Vendor.level=*
| level = /::(?<log.level>.*)/;
*
| log.level := Vendor.severity.name;
Vendor.level=* | level = /::(?<log.level>.*)/;
* | log.level := Vendor.severity.name;
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

from CRWD

  • should be here Vendor.level ?
  • here, I think you should extract the log.level from the Vendor.level not level field

Comment on lines 548 to +551
| source.bytes := coalesce([Vendor.orig_bytes, Vendor.orig_ip_bytes])
| source.domain := rename(Vendor.domainname)
| lower(source.domain, as="source.domain")
| source.ip := rename(Vendor.id.orig_h)
| source.ip := rename(Vendor.client_src)
| source.ip := rename(Vendor.src)
| source.ip := rename(Vendor.dns_client)
| source.ip := rename(Vendor.client_addr)
| source.ip := rename(Vendor.data_channel.orig_h)
| source.mac := rename(Vendor.orig_l2_addr)
| source.mac := rename(Vendor.mac)
| source.port := rename(Vendor.host_p)
| source.port := rename(Vendor.id.orig_p)
| source.packets := rename(Vendor.orig_pkts)
| source.domain := lower(Vendor.domainname)
| source.ip := Vendor.id.orig_h
| source.ip := Vendor.client_src
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

from CRWD

  • I wonder, if we should wrap it into case stmt to avoid overwrites in case single event can contain more than one such field?

Comment on lines 564 to 565
| case {
// tx_hosts is an array by default containing multiple source IP's. Because of this, we'll map the all elements to related.ip.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

from CRWD

This section should be removed and mapped to other ecs fields.

Comment on lines 615 to 617
| case {
// rx_hosts is an array by default containing multiple destination IP's. Because of this, we'll map the all elements to related.ip.
Vendor.rx_hosts[0] = *
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

from CRWD

  • as previously stated our CPS standard does not support related.* fields. This should be removed or changed.

| source.port := rename(Vendor.data_channel.orig_p);
!Vendor.data_channel.orig_p | source.port := Vendor.id.orig_p;
Vendor.id.orig_p = Vendor.data_channel.orig_p | source.port := Vendor.id.orig_p;
Vendor.id.orig_p != Vendor.data_channel.orig_p | source.port := Vendor.data_channel.orig_p;
*;
}

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

line 586-588
from CRWD

  • can we support ipv6?

Comment on lines +441 to 442
// Event Categorization
| case {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

from CRWD

  • his is perfect examples to use a match()

Comment on lines +467 to +469
_path = "http*"
| array:append("event.category[]", values=["network", "web"])
| array:append("event.type[]", values=["connection", "protocol", "info"]);
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

from CRWD

  • can be here set access for event.type?

Comment on lines +471 to +487
_path = "intel"
| event.kind := "alert"
| array:append("event.category[]", values=["threat", "network"])
| array:append("event.type[]", values=["indicator"])
| rule.name := "intel";

_path = "suricata_corelight"
| event.kind := "alert"
| array:append("event.category[]", values=["threat", "network"])
| array:append("event.type[]", values=["indicator"])
| rule.name := Vendor.alert.signature;

_path = "notice"
| event.kind := "alert"
| array:append("event.category[]", values=["threat", "network"])
| array:append("event.type[]", values=["indicator"])
| rule.name := Vendor.msg;
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

from CRWD

  • can you define type which corresponds to network category?

Comment on lines +489 to +491
_path = "mysql"
| array:append("event.category[]", values=["network", "database"])
| array:append("event.type[]", values=["connection", "protocol"]);
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

from CRWD

  • can be here set access type corresponding to database category?

Comment on lines +509 to +511
_path = "smb_files"
| array:append("event.category[]", values=["network", "file"])
| array:append("event.type[]", values=["connection", "protocol"]);
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

from CRWD

  • can you define type which corresponds to file category?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant