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
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
a9d21f2
add `threat_intelligence`, expand `dictionary`
jonrau-at-queryai Mar 18, 2024
a68cc78
add `subdomains`, some `threat_intelligence` fixes
jonrau-at-queryai Mar 18, 2024
9012027
Add `whois` and `contract` objects, formatting
jonrau-at-queryai Mar 18, 2024
edf4d6f
Add `stix_object` and `stix_campaign`
jonrau-at-queryai Mar 19, 2024
a39851e
Add `stix_malware` and support attrs
jonrau-at-queryai Mar 19, 2024
572e5b3
Add `stix_malware_analysis` and related attrs
jonrau-at-queryai Mar 19, 2024
46f7129
Add `stix_threat_actor` and `stix_tool`
jonrau-at-queryai Mar 19, 2024
913c0b8
Add `stix_intrusion_set`, small updates and fixes
jonrau-at-queryai Mar 19, 2024
996dda7
create threat intel profile
jonrau-at-queryai Mar 19, 2024
9b7f6a0
Update CHANGELOG.md
jonrau-at-queryai Mar 19, 2024
59b1114
Update CHANGELOG.md
jonrau-at-queryai Mar 19, 2024
81db723
removing STIX references
jonrau-at-queryai May 2, 2024
94c630e
change `contact` to `domain_contact`
jonrau-at-queryai May 2, 2024
f88599a
`domain_contact` fix, resolve conflicts
jonrau-at-queryai May 2, 2024
a97629f
more deconflicts
jonrau-at-queryai May 2, 2024
80ef4e7
Add `email`, `email_auth`, caption changes
jonrau-at-queryai May 2, 2024
f829690
Update CHANGELOG.md
jonrau-at-queryai May 2, 2024
f22cf5b
OSINt changes, remove STIX, fix checks
jonrau-at-queryai May 7, 2024
1d74944
more Changelog fixes
jonrau-at-queryai May 7, 2024
714c216
apparently `classifications` was in 1.2?
jonrau-at-queryai May 7, 2024
1737794
remove more stix refs from dictionary
jonrau-at-queryai May 7, 2024
52e317e
Add `tlp` - Traffic Light Protocol
jonrau-at-queryai May 7, 2024
032987e
formatted, add additional type_id to osint
jonrau-at-queryai May 7, 2024
9cd7613
purge remaining STIX references
jonrau-at-queryai May 21, 2024
353be11
Update dictionary.json
jonrau-at-queryai May 21, 2024
cc77fd7
Update CHANGELOG.md
jonrau-at-queryai May 21, 2024
735e4e4
Dictionary fixes for WHOIS
jonrau-at-queryai May 23, 2024
50562de
more validator fixes
jonrau-at-queryai May 23, 2024
72b89b3
small dict fix, revert file activity fix
jonrau-at-queryai May 23, 2024
d370745
update changelog...for the 17th time
jonrau-at-queryai May 23, 2024
d687239
Merge branch 'main' into threat-intel-profile
jonrau-at-queryai May 29, 2024
18176bd
final fixes on profile & formatting
jonrau-at-queryai May 29, 2024
1ebb8df
Update base_event.json
jonrau-at-queryai May 30, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,17 @@ Thankyou! -->
1. Added `Event Log Activity` event class. #1014
2. Added `Remediation Activity` `File Remediation Activity` `Process Remediation Activity` `Network Remediation Activity` event classes. #1066
* #### Profiles
1. Added `osint` Profile based on `osint` object. #992
* #### Objects
1. Added `d3fend` `d3f_tactic` `d3f_technique` MITRE objects. #1066
2. Added `ja4_fingerprint` object. #834
3. Added `ja4_fingerprint_list` as a list of `ja4_fingerprint` objects. #834
4. Added `ticket` object. #1068
5. Added `osint` object. #992
6. Added `signatures` object, an array of `signature` objects. #992
7. Added `whois` object. #992
8. Added `domain_contact` and array-typed `domain_contacts` object for use with `whois` object. #992

* #### Platform Extensions

### Improved
Expand Down Expand Up @@ -287,4 +293,4 @@ Thankyou! -->

## [v1.0.0]

Initial release of OCSF.
Initial release of OCSF.
79 changes: 79 additions & 0 deletions dictionary.json
Original file line number Diff line number Diff line change
Expand Up @@ -1514,11 +1514,51 @@
"description": "The Domain-based Message Authentication, Reporting and Conformance (DMARC) policy status.",
"type": "string_t"
},
"dnssec_status_id": {
"caption": "DNSSEC Status ID",
"description": "Describes the normalized status of DNS Security Extensions (DNSSEC) for a domain.",
"enum": {
"0": {
"caption": "Unknown",
"description": "The disposition is unknown."
},
"1": {
"caption": "Signed",
"description": "The related domain enables the signing of DNS records using DNSSEC."
},
"2": {
"caption": "Unsigned",
"description": "The related domain does not enable the signing of DNS records using DNSSEC."
},
"99": {
"caption": "Other",
"description": "The DNSSEC status is not mapped. See the <code>dnssec_status</code> attribute, which contains a data source specific value."
}
},
"sibling": "dnssec_status",
"type": "integer_t"
},
"dnssec_status": {
"caption": "DNSSEC Status",
"description": "The normalized value of dnssec_status_id.",
"type": "string_t"
},
"domain": {
"caption": "Domain",
"description": "The name of the domain.",
"type": "string_t"
},
"domain_contact": {
"caption": "Domain Contact",
"description": "The contact information related to a domain registration, e.g., registrant, administrator, abuse, billing, or technical contact.",
"type": "domain_contact"
},
"domain_contacts": {
"caption": "Domain Contacts",
"description": "An array of <code>Domain Contact</code> objects.",
"is_array": true,
"type": "domain_contact"
},
"driver": {
"caption": "Kernel Driver",
"description": "The driver that was loaded/unloaded into the kernel",
Expand Down Expand Up @@ -2187,6 +2227,11 @@
"description": "The cookie attribute indicates that cookies are sent to the server only when the request is encrypted using the HTTPS protocol.",
"type": "boolean_t"
},
"is_self_signed": {
"caption": "Certificate Self-Signed",
"description": "Denotes whether a digital certificate is self-signed or signed by a known certificate authority (CA).",
"type": "boolean_t"
},
"is_superseded": {
"caption": "The patch is superseded.",
"description": "The vendor patch has been replaced by another.",
Expand Down Expand Up @@ -2637,6 +2682,12 @@
"description": "If running under a process namespace (such as in a container), the process identifier within that process namespace.",
"type": "integer_t"
},
"name_servers": {
"caption": "Name Servers",
"description": "A collection of name servers related to a domain registration or other record.",
"is_array": true,
"type": "string_t"
},
"network_driver": {
"caption": "Network Driver",
"description": "The network driver used by the container. For example, bridge, overlay, host, none, etc.",
Expand Down Expand Up @@ -3779,6 +3830,12 @@
"description": "The digital signature of the file.",
"type": "digital_signature"
},
"signatures": {
"caption": "Digital Signatures",
"description": "A collection of <code>Digital Signature</code> objects.",
"is_array": true,
"type": "digital_signature"
},
"size": {
"caption": "Size",
"description": "The size of data, in bytes.",
Expand Down Expand Up @@ -3955,6 +4012,12 @@
"description": "The subdomain portion of the URL. For example: <code>sub</code> in <code>https://sub.example.com</code> or <code>sub2.sub1</code> in <code>https://sub2.sub1.example.com</code>.",
"type": "string_t"
},
"subdomains": {
"caption": "Subdomains",
"description": "An array of subdomain strings. Can be used to collect several subdomains such as those from Domain Generation Algorithms (DGAs).",
"is_array": true,
"type": "string_t"
},
"subject": {
"caption": "Subject Details",
"description": "The identifier of the subject. See specific usage.",
Expand Down Expand Up @@ -4045,6 +4108,12 @@
"description": "The time when the entity was terminated. See specific usage.",
"type": "timestamp_t"
},
"osint": {
jonrau-at-queryai marked this conversation as resolved.
Show resolved Hide resolved
"caption": "OSINT",
"description": "The OSINT (Open Source Intelligence) object contains details related to an indicator such as the indicator itself, related indicators, geolocation, registrar information, subdomains, analyst commentary, and other contextual information. This information can be used to further enrich a detection or finding by providing decisioning support to other analysts and engineers.",
"is_array": true,
"type": "osint"
},
"tid": {
"caption": "Thread ID",
"description": "The Identifier of the thread associated with the event, as returned by the operating system.",
Expand All @@ -4070,6 +4139,11 @@
"description": "The title of an entity. See specific usage.",
"type": "string_t"
},
"tlp": {
"caption": "Traffic Light Protocol",
"description": "The <a target='_blank' href='https://www.first.org/tlp/'>Traffic Light Protocol</a> was created to facilitate greater sharing of potentially sensitive information and more effective collaboration. TLP provides a simple and intuitive schema for indicating with whom potentially sensitive information can be shared.",
"type": "string_t"
},
"tls": {
"caption": "TLS",
"description": "The Transport Layer Security (TLS) attributes.",
Expand Down Expand Up @@ -4337,6 +4411,11 @@
"type": "web_resource",
"is_array": true
},
"whois": {
"caption": "WHOIS",
"description": "The resources of a WHOIS record for a given domain. This can include domain names, IP address blocks, autonomous system information, and/or contact and registration information for a domain.",
"type": "whois"
},
"x_forwarded_for": {
"caption": "X-Forwarded-For",
"description": "The X-Forwarded-For header identifying the originating IP address(es) of a client connecting to a web server through an HTTP proxy or a load balancer.",
Expand Down
6 changes: 4 additions & 2 deletions events/base_event.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,16 @@
"name": "base_event",
"profiles": [
"cloud",
"datetime"
"datetime",
"osint"
],
"attributes": {
"$include": [
jonrau-at-queryai marked this conversation as resolved.
Show resolved Hide resolved
"includes/classification.json",
"includes/occurrence.json",
"profiles/cloud.json",
"profiles/datetime.json"
"profiles/datetime.json",
"profiles/osint.json"
],
"enrichments": {
"group": "context",
Expand Down
3 changes: 3 additions & 0 deletions objects/certificate.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@
"description": "The certificate issuer distinguished name.",
"requirement": "required"
},
"is_self_signed": {
"requirement": "recommended"
},
"serial_number": {
"description": "The serial number of the certificate used to create the digital signature.",
"caption": "Certificate Serial Number",
Expand Down
60 changes: 60 additions & 0 deletions objects/domain_contact.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
{
"caption": "Domain Contact",
"description": "The contact information related to a domain registration, e.g., registrant, administrator, abuse, billing, or technical contact.",
"extends": "object",
"name": "domain_contact",
"attributes": {
"type_id": {
"caption": "Domain Contact Type ID",
"description": "The normalized domain contact type ID.",
"requirement": "required",
"enum": {
"1": {
"caption": "Registrant",
"description": "The contact information provided is for the domain registrant."
},
"2": {
"caption": "Administrative",
"description": "The contact information provided is for the domain administrator."
},
"3": {
"caption": "Technical",
"description": "The contact information provided is for the domain technical lead."
},
"4": {
"caption": "Billing",
"description": "The contact information provided is for the domain billing lead."
},
"5": {
"caption": "Abuse",
"description": "The contact information provided is for the domain abuse contact."
}
}
},
"type": {
"caption": "Domain Contact Type",
"description": "The Domain Contact type, normalized to the caption of the <code>type_id</code> value. In the case of 'Other', it is defined by the source",
"requirement": "optional"
},
"location": {
"caption": "Contact Location Information",
"description": "Location details for the contract such as the city, state/province, country, etc.",
"requirement": "recommended"
},
"email_addr": {
"caption": "Contact Email",
"requirement": "recommended"
},
"phone_number": {
"requirement": "optional"
},
"name": {
"description": "The individual or organization name for the contact.",
"requirement": "optional"
},
"uid": {
"description": "The unique identifier of the contact information, typically provided in WHOIS information.",
"requirement": "optional"
}
}
}
Loading
Loading