Skip to content
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

[Winlogbeat] Set event.outcome based on raw keyword value #20564

Merged

Conversation

andrewkroh
Copy link
Member

What does this PR do?

Set the event.outcome value if the event contains the "audit failure" or "audit success" keywords.
The Keywords value in the XML is a hex value where each bit can represent a keyword. So this
checks if the audit success or audit failure bits are set then adds event.outcome as either
"success" or "failure".

I removed similar logic from the Security module since it is now redundant. That logic was based
on string matching of the keyword name (rather than number) so it had problems when the OS
language was not English.

Why is it important?

Fixes event.outcome for non-English based Windows systems.

Checklist

  • My code follows the style guidelines of this project
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have made corresponding change to the default configuration files
  • I have added tests that prove my fix is effective or that my feature works
  • I have added an entry in CHANGELOG.next.asciidoc or CHANGELOG-developer.next.asciidoc.

Related issues

@botelastic botelastic bot added needs_team Indicates that the issue/PR needs a Team:* label and removed needs_team Indicates that the issue/PR needs a Team:* label labels Aug 11, 2020
@andrewkroh andrewkroh force-pushed the bugfix/wlb/event-outcome-field branch from 46c6c4b to 19ead16 Compare August 11, 2020 20:04
@andrewkroh andrewkroh marked this pull request as ready for review August 11, 2020 20:06
@andrewkroh andrewkroh requested a review from a team as a code owner August 11, 2020 20:06
@elasticmachine
Copy link
Collaborator

Pinging @elastic/siem (Team:SIEM)

@elasticmachine
Copy link
Collaborator

elasticmachine commented Aug 11, 2020

💚 Build Succeeded

Pipeline View Test View Changes Artifacts preview

Expand to view the summary

Build stats

  • Build Cause: [Pull request #20564 updated]

  • Start Time: 2020-08-11T20:43:15.204+0000

  • Duration: 41 min 52 sec

Test stats 🧪

Test Results
Failed 0
Passed 272
Skipped 5
Total 277

Set the event.outcome value if the event contains the "audit failure" or "audit success" keywords.
The `Keywords` value in the XML is a hex value where each bit can represent a keyword. So this
checks if the audit success or audit failure bits are set then adds `event.outcome` as either
"success" or "failure".

I removed similar logic from the Security module since it is now redundant. That logic was based
on string matching of the keyword name (rather than number) so it had problems when the OS
language was not English.

Fixes elastic#20079
@andrewkroh andrewkroh force-pushed the bugfix/wlb/event-outcome-field branch from 19ead16 to 6659f48 Compare August 11, 2020 20:41
Copy link
Contributor

@leehinman leehinman left a comment

Choose a reason for hiding this comment

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

LGTM

@andrewkroh andrewkroh added the needs_backport PR is waiting to be backported to other branches. label Aug 14, 2020
@andrewkroh andrewkroh merged commit 16ea8e2 into elastic:master Aug 14, 2020
@andrewkroh andrewkroh added v7.10.0 and removed needs_backport PR is waiting to be backported to other branches. labels Aug 14, 2020
andrewkroh added a commit to andrewkroh/beats that referenced this pull request Aug 14, 2020
Set the event.outcome value if the event contains the "audit failure" or "audit success" keywords.
The `Keywords` value in the XML is a hex value where each bit can represent a keyword. So this
checks if the audit success or audit failure bits are set then adds `event.outcome` as either
"success" or "failure".

I removed similar logic from the Security module since it is now redundant. That logic was based
on string matching of the keyword name (rather than number) so it had problems when the OS
language was not English.

Fixes elastic#20079

(cherry picked from commit 16ea8e2)
@andrewkroh andrewkroh added v7.9.1 and removed v7.9.0 labels Aug 14, 2020
andrewkroh added a commit to andrewkroh/beats that referenced this pull request Aug 24, 2020
Set the event.outcome value if the event contains the "audit failure" or "audit success" keywords.
The `Keywords` value in the XML is a hex value where each bit can represent a keyword. So this
checks if the audit success or audit failure bits are set then adds `event.outcome` as either
"success" or "failure".

I removed similar logic from the Security module since it is now redundant. That logic was based
on string matching of the keyword name (rather than number) so it had problems when the OS
language was not English.

Fixes elastic#20079

(cherry picked from commit 16ea8e2)
andrewkroh added a commit that referenced this pull request Aug 24, 2020
Set the event.outcome value if the event contains the "audit failure" or "audit success" keywords.
The `Keywords` value in the XML is a hex value where each bit can represent a keyword. So this
checks if the audit success or audit failure bits are set then adds `event.outcome` as either
"success" or "failure".

I removed similar logic from the Security module since it is now redundant. That logic was based
on string matching of the keyword name (rather than number) so it had problems when the OS
language was not English.

Fixes #20079

(cherry picked from commit 16ea8e2)
andrewkroh added a commit that referenced this pull request Aug 24, 2020
Set the event.outcome value if the event contains the "audit failure" or "audit success" keywords.
The `Keywords` value in the XML is a hex value where each bit can represent a keyword. So this
checks if the audit success or audit failure bits are set then adds `event.outcome` as either
"success" or "failure".

I removed similar logic from the Security module since it is now redundant. That logic was based
on string matching of the keyword name (rather than number) so it had problems when the OS
language was not English.

Fixes #20079

(cherry picked from commit 16ea8e2)
melchiormoulin pushed a commit to melchiormoulin/beats that referenced this pull request Oct 14, 2020
Set the event.outcome value if the event contains the "audit failure" or "audit success" keywords.
The `Keywords` value in the XML is a hex value where each bit can represent a keyword. So this
checks if the audit success or audit failure bits are set then adds `event.outcome` as either
"success" or "failure".

I removed similar logic from the Security module since it is now redundant. That logic was based
on string matching of the keyword name (rather than number) so it had problems when the OS
language was not English.

Fixes elastic#20079
leweafan pushed a commit to leweafan/beats that referenced this pull request Apr 28, 2023
…#20612)

Set the event.outcome value if the event contains the "audit failure" or "audit success" keywords.
The `Keywords` value in the XML is a hex value where each bit can represent a keyword. So this
checks if the audit success or audit failure bits are set then adds `event.outcome` as either
"success" or "failure".

I removed similar logic from the Security module since it is now redundant. That logic was based
on string matching of the keyword name (rather than number) so it had problems when the OS
language was not English.

Fixes elastic#20079

(cherry picked from commit f252dbc)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

winlogbeat 7.8 event.outcome on non-english OS
3 participants