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

Create osint Profile #992

Merged
merged 33 commits into from
May 31, 2024
Merged

Conversation

jonrau-at-queryai
Copy link
Contributor

@jonrau-at-queryai jonrau-at-queryai commented Mar 19, 2024

Related Issue:

#988

Description of changes:

  • Added osint object.
  • Added osint Profile based on osint object.
  • Added signatures object, an array of signature objects.
  • Added subdomains object, an array of subdomain used to enumerate DGA-generated domains.
  • Added whois object.
  • Added contact and array-typed contacts object for use with whois object.
  • Added is_self_signed Boolean attribute to certificate object.

Several dozen attributes were added to dictionary to support whois and contact.

@jonrau-at-queryai jonrau-at-queryai marked this pull request as ready for review March 19, 2024 23:49
@floydtree floydtree added enhancement New feature or request findings Issues related to Findings Category v1.3.0 and later Changes marked for versions beyond v1.3.0 of OCSF labels Apr 15, 2024
objects/contact.json Outdated Show resolved Hide resolved
@pagbabian-splunk
Copy link
Contributor

pagbabian-splunk commented Apr 19, 2024

Aside from this being really well worked out, it is also quite a substantial amount of STIX / TI specific information, with some naming questions here (some attributes are stix_ prefixed, a few are not but in their definitions they cite STIX).

I also feel there is enough to merit a "platform" of sorts where it can be package up within a core extension. I know that our core extensions today are "OS platform" extensions and STIX isn't exactly the same thing, but we can have OCSF extensions just like we can have vendor extensions. External standards can be modeled this way, keeping attributes in their own dictionary. The notation would already scope by extension name (e.g. stix/xx). Same can be done for d3fend, which we are considering for a Remediation category. Otherwise, the core dictionary will get very large and there will be a lot of external standards specific naming mixed in.

@jonrau-at-queryai
Copy link
Contributor Author

Aside from this being really well worked out, it is also quite a substantial amount of STIX / TI specific information, with some naming questions here (some attributes are stix_ prefixed, a few are not but in their definitions they cite STIX).

I also feel there is enough to merit a "platform" of sorts where it can be package up within a core extension. I know that our core extensions today are "OS platform" extensions and STIX isn't exactly the same thing, but we can have OCSF extensions just like we can have vendor extensions. External standards can be modeled this way, keeping attributes in their own dictionary. The notation would already scope by extension name (e.g. stix/xx). Same can be done for d3fend, which we are considering for a Remediation category. Otherwise, the core dictionary will get very large and there will be a lot of external standards specific naming mixed in.

@pagbabian-splunk I agree on the overall approach. I feel we should go ahead and remove the stix_ related information from this and instead rework this object to be open_source_intelligent (or osint) as it'll pertain to only technical factors instead and be much simpler without STIX in scope.

@jonrau-at-queryai jonrau-at-queryai changed the title Create threat_intelligence Profile, add STIX 2.1 SDOs to OCSF Create open_source_intelligence Profile May 2, 2024
objects/domain_contact.json Outdated Show resolved Hide resolved
objects/domain_contact.json Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
objects/osint.json Outdated Show resolved Hide resolved
dictionary.json Outdated Show resolved Hide resolved
dictionary.json Show resolved Hide resolved
dictionary.json Outdated Show resolved Hide resolved
dictionary.json Outdated Show resolved Hide resolved
objects/whois.json Outdated Show resolved Hide resolved
profiles/osint.json Show resolved Hide resolved
zschmerber
zschmerber previously approved these changes May 28, 2024
query-jeremy
query-jeremy previously approved these changes May 28, 2024
irakledibm
irakledibm previously approved these changes May 28, 2024
Signed-off-by: Jonathan Rau <139361268+jonrau-at-queryai@users.noreply.github.com>
Copy link
Contributor

@floydtree floydtree left a comment

Choose a reason for hiding this comment

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

Thanks for getting in all the feedback! I think we are almost there. I have added a few line specific comments, but in general, if we want this profile to be usable by event classes in the framework we need to add it to those classes. Currently, if you run the server locally, you'll notice the profile won't even be visible in the profiles page, since it's not registered with any class.

Having said that, I would expect this profile to be available for all the classes. If that's your intention as well, then you'll need to add it to the base_event definition - similar to how cloud, datetime are added. Happy to discuss further.

profiles/osint.json Outdated Show resolved Hide resolved
objects/osint.json Outdated Show resolved Hide resolved
dictionary.json Outdated Show resolved Hide resolved
objects/whois.json Outdated Show resolved Hide resolved
objects/osint.json Outdated Show resolved Hide resolved
events/base_event.json Show resolved Hide resolved
Copy link
Contributor

@floydtree floydtree left a comment

Choose a reason for hiding this comment

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

Awesome, looks perfect now. Thanks.

Copy link
Contributor

@zschmerber zschmerber left a comment

Choose a reason for hiding this comment

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

Great work on this!

@mikeradka mikeradka merged commit 4a5420b into ocsf:main May 31, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request findings Issues related to Findings Category v1.3.0 and later Changes marked for versions beyond v1.3.0 of OCSF
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants