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

Proposal to add Datastore Event Class 6005 #874

Merged
merged 73 commits into from
Dec 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
4ff894f
adding objects for datastore object
Nov 30, 2023
94c6ece
Adding datastore attributes to dictionary.
pladam Nov 30, 2023
b4d1179
Delete objects/column.json
pladam Nov 30, 2023
873c04b
Delete objects/row.json
pladam Nov 30, 2023
b017d6c
removing row and col from table object
pladam Nov 30, 2023
e6b88fc
Update dictionary.json
pladam Nov 30, 2023
5950802
Update database.json
pladam Nov 30, 2023
0c6dac9
Update databucket.json
pladam Nov 30, 2023
d22b85c
Update table.json
pladam Nov 30, 2023
e01e1b1
Update query_info.json
pladam Nov 30, 2023
1424e04
Update query_info.json
pladam Nov 30, 2023
a4f0a94
Update table.json
pladam Nov 30, 2023
b1909d0
Update database.json
pladam Nov 30, 2023
8f2a654
Update databucket.json
pladam Nov 30, 2023
d36a9dd
Update database.json
pladam Nov 30, 2023
c77946c
Update databucket.json
pladam Nov 30, 2023
e499bdc
Update databucket.json
pladam Nov 30, 2023
73c7c0e
Update database.json
pladam Nov 30, 2023
fc9cc51
Update dictionary.json
pladam Nov 30, 2023
0ab6d39
Update databucket.json
pladam Nov 30, 2023
e61873e
Update database.json
pladam Nov 30, 2023
b574a0e
Update database.json
pladam Nov 30, 2023
e88ea8b
Update databucket.json
pladam Nov 30, 2023
a554136
Update dictionary.json
pladam Dec 4, 2023
1b801e1
Update database.json
pladam Dec 4, 2023
5485129
Update databucket.json
pladam Dec 4, 2023
3891ada
Update database.json
pladam Dec 4, 2023
ea9d202
Update databucket.json
pladam Dec 4, 2023
e74a49c
Update database.json
pladam Dec 4, 2023
d7db328
Update databucket.json
pladam Dec 4, 2023
cd6a4ab
Update dictionary.json
pladam Dec 4, 2023
4a9d3ed
Update query_info.json
pladam Dec 4, 2023
07e8d15
Update dictionary.json
pladam Dec 4, 2023
ebc2852
Update database.json
pladam Dec 4, 2023
23b0028
Update databucket.json
pladam Dec 4, 2023
88574c0
Update table.json
pladam Dec 4, 2023
22c54f0
Update dictionary.json
pladam Dec 4, 2023
751bb00
Update databucket.json
pladam Dec 4, 2023
7e44542
Update query_info.json
pladam Dec 5, 2023
c1b9305
Update query_info.json
adplotzk Dec 15, 2023
155b6aa
Update query_info.json
adplotzk Dec 15, 2023
43f41b0
Update datastore_activity.json
adplotzk Dec 15, 2023
b1b5485
Update dictionary.json
adplotzk Dec 19, 2023
22cffe1
Update query_info.json
adplotzk Dec 19, 2023
9e77364
Update database.json
adplotzk Dec 19, 2023
e5dd58d
Update database.json
adplotzk Dec 19, 2023
2909d9d
Update databucket.json
adplotzk Dec 19, 2023
397a0bb
Update table.json
adplotzk Dec 19, 2023
88a2a82
Update dictionary.json
adplotzk Dec 19, 2023
936df3a
Update databucket.json
pladam Dec 19, 2023
1511b03
Update databucket.json
pladam Dec 19, 2023
d94a26e
Update dictionary.json
pladam Dec 19, 2023
93abf50
Update database.json
pladam Dec 19, 2023
0f00509
Update databucket.json
pladam Dec 19, 2023
b187c41
Update dictionary.json
pladam Dec 20, 2023
6db869f
Update datastore_activity.json
pladam Dec 20, 2023
8484dea
Update datastore_activity.json
pladam Dec 20, 2023
30efd94
Update datastore_activity.json
pladam Dec 20, 2023
d061668
Update database.json
pladam Dec 20, 2023
d852ce8
Update databucket.json
pladam Dec 20, 2023
7c690a9
Update query_info.json
pladam Dec 20, 2023
c507eb4
Update table.json
pladam Dec 20, 2023
b8b338b
Update databucket.json
pladam Dec 20, 2023
7aa4cee
Update database.json
pladam Dec 20, 2023
c047168
Update datastore_activity.json
pladam Dec 21, 2023
8f421fe
Update database.json
pladam Dec 21, 2023
c9302fd
Update databucket.json
pladam Dec 21, 2023
0c19600
Update databucket.json
pladam Dec 21, 2023
21904fa
Update query_info.json
pladam Dec 21, 2023
51465a1
Update query_info.json
pladam Dec 21, 2023
563586b
Update query_info.json
pladam Dec 21, 2023
ddb17bf
Update query_info.json
pladam Dec 21, 2023
6a5d950
Update table.json
pladam Dec 21, 2023
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
20 changes: 20 additions & 0 deletions dictionary.json
Original file line number Diff line number Diff line change
Expand Up @@ -1057,6 +1057,16 @@
"description": "The additional data that is associated with the event or object. See specific usage.",
"type": "json_t"
},
"database": {
"caption": "Database",
"description": "The database object is used for databases which are typically datastore services that contain an organized collection of structured and unstructured data or a types of data.",
"type": "database"
},
"databucket": {
adplotzk marked this conversation as resolved.
Show resolved Hide resolved
"caption": "Databucket",
"description": "The data bucket object is a basic container that holds data, typically organized through the use of data partitions.",
"type": "databucket"
},
"data_sources": {
"caption": "Data Sources",
"description": "The data sources for the finding.",
Expand Down Expand Up @@ -2563,6 +2573,11 @@
"description": "The Domain Name System (DNS) query.",
"type": "dns_query"
},
"query_info": {
"caption": "Query Info",
"description": "The query info object holds information related to data access within a datastore. To access, manipulate, delete, or retrieve data from a datastore, a database query must be written using a specific syntax.",
"type": "query_info"
},
"query_string": {
"caption": "HTTP Query String",
"description": "The query portion of the URL. For example: the query portion of the URL <code>http://www.example.com/search?q=bad&sort=date</code> is <code>q=bad&sort=date</code>.",
Expand Down Expand Up @@ -3226,6 +3241,11 @@
"description": "The system call that was invoked.",
"type": "string_t"
},
"table": {
"caption": "Table",
"description": "The table object represents a table within a structured relational database or datastore, which contains columns and rows of data that are able to be create, updated, deleted and queried.",
"type": "table"
},
"tactic": {
"caption": "Tactic",
"description": "The Tactic object describes the tactic ID and/or name that is associated to an attack, as defined by <a target='_blank' href='https://attack.mitre.org/wiki/ATT&CK_Matrix'>ATT&CK Matrix<sup>TM</sup></a>.",
Expand Down
83 changes: 83 additions & 0 deletions events/application/datastore_activity.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
{
"uid": 5,
"description": "Datastore events describe general activities (Read, Update, Query, Delete, etc.) which affect datastores or data within those datastores, e.g. (AWS RDS, AWS S3).",
"extends": "application",
"caption": "Datastore Activity",
"name": "datastore_activity",
"attributes": {
"activity_id": {
"enum": {
"1": {
"caption": "Read",
"description": "The datastore activity in the event pertains to a 'Read' operation."
},
"2": {
"caption": "Update",
"description": "The datastore activity in the event pertains to a 'Update' operation."
},
"3": {
"caption": "Connect",
"description": "The datastore activity in the event pertains to a 'Connect' operation."
},
"4": {
"caption": "Query",
"description": "The datastore activity in the event pertains to a 'Query' operation."
},
"5": {
"caption": "Write",
"description": "The datastore activity in the event pertains to a 'Write' operation."
},
"6": {
"caption": "Create",
"description": "The datastore activity in the event pertains to a 'Create' operation."
},
"7": {
"caption": "Delete",
"description": "The datastore activity in the event pertains to a 'Delete' operation."
}
}
},
"database": {
"group": "primary",
"requirement": "recommended"
},
"databucket": {
"group": "primary",
"requirement": "recommended"
},
"table": {
"group": "primary",
"requirement": "optional"
},
adplotzk marked this conversation as resolved.
Show resolved Hide resolved
"query_info": {
"group": "primary",
"requirement": "optional"
},
"dst_endpoint": {
adplotzk marked this conversation as resolved.
Show resolved Hide resolved
"description": "Details about the endpoint hosting the datastore application or service.",
"group": "primary",
"requirement": "optional"
},
"http_request": {
"description": "Details about the underlying http request.",
"group": "primary",
"requirement": "optional"
},
"actor": {
"group": "primary",
"requirement": "required"
},
"src_endpoint": {
"description": "Details about the source of the activity.",
"group": "primary",
"requirement": "required"
}
},
"constraints": {
"at_least_one": [
"database",
"databucket",
"table"
]
}
}
71 changes: 71 additions & 0 deletions objects/database.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
{
"caption": "Database",
"description": "The database object is used for databases which are typically datastore services that contain an organized collection of structured and unstructured data or a types of data.",
"extends": "_entity",
"name": "database",
"attributes": {
"created_time": {
"description": "The time when the database was known to have been created.",
"requirement": "optional"
},
"modified_time": {
"description": "The most recent time when any changes, updates, or modifications were made within the database.",
"requirement": "optional"
},
"desc": {
"caption": "Description",
adplotzk marked this conversation as resolved.
Show resolved Hide resolved
"requirement": "optional"
},
"size": {
"description": "The size of the database in bytes.",
"requirement": "optional"
},
"groups": {
"description": "The group names to which the database belongs.",
"requirement": "optional"
},
"type": {
"description": "The database type.",
"requirement": "recommended"
},
"type_id": {
"description": "The normalized identifier of the database type.",
"requirement": "required",
"enum": {
"0": {
"caption": "Unknown"
},
"1": {
"caption": "Relational"
},
"2": {
"caption": "Network"
},
"3": {
"caption": "Object Oriented"
},
"3": {
"caption": "Cloud"
},
"4": {
"caption": "Centralized"
},
"5": {
"caption": "Operational"
},
"6": {
"caption": "NoSQL"
},
"99": {
"caption": "Other"
}
}
},
"name": {
"description": "The database name, ordinarily as assigned by a database administrator."
},
"uid": {
"description": "The unique identifier of the database."
}
}
}
64 changes: 64 additions & 0 deletions objects/databucket.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
{
"caption": "Databucket",
"description": "The databucket object is a basic container that holds data, typically organized through the use of data partitions.",
"extends": "_entity",
"name": "databucket",
"attributes": {
"created_time": {
"description": "The time when the databucket was known to have been created.",
"requirement": "optional"
},
"modified_time": {
"description": "The most recent time when any changes, updates, or modifications were made within the databucket.",
"requirement": "optional"
},
"desc": {
"caption": "Description",
"description": "The description of the databucket.",
"requirement": "optional"
},
"size": {
"description": "The size of the databucket in bytes.",
"requirement": "optional"
},
"file": {
"description": "A file within a databucket.",
"requirement": "optional"
},
"groups": {
"description": "The group names to which the databucket belongs.",
"requirement": "optional"
},
"type": {
"description": "The databucket type.",
"requirement": "recommended"
},
"type_id": {
"description": "The normalized identifier of the databucket type.",
floydtree marked this conversation as resolved.
Show resolved Hide resolved
"requirement": "required",
"enum": {
"0": {
"caption": "Unknown"
},
"1": {
"caption": "S3"
},
"2": {
"caption": "Azure Blob"
},
"3": {
"caption": "GCP Bucket"
},
"99": {
"caption": "Other"
}
}
},
"name": {
"description": "The databucket name."
},
"uid": {
"description": "The unique identifier of the databucket."
}
}
}
31 changes: 31 additions & 0 deletions objects/query_info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
"caption": "Query Information",
"description": "The query info object holds information related to data access within a datastore. To access, manipulate, delete, or retrieve data from a datastore, a query must be written using a specific syntax.",
"extends": "_entity",
"name": "query_info",
"attributes": {
"query_time": {
"description": "The time when the query was run.",
"requirement": "optional"
},
"query_string": {
"caption": "Query String",
"description": "A string representing the query code being run. For example: <code>SELECT * FROM my_table</code>",
"requirement": "required"
},
"data": {
"description": "The data returned from the query execution.",
"requirement": "optional"
},
"bytes": {
"description": "The size of the data returned from the query.",
adplotzk marked this conversation as resolved.
Show resolved Hide resolved
"requirement": "optional"
},
"name": {
"description": "The query name for a saved or scheduled query."
},
"uid": {
"description": "The unique identifier of the query."
}
}
}
35 changes: 35 additions & 0 deletions objects/table.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"caption": "Table",
"description": "The table object represents a table within a structured relational database or datastore, which contains columns and rows of data that are able to be create, updated, deleted and queried.",
"extends": "_entity",
"name": "table",
"attributes": {
"created_time": {
"description": "The time when the table was known to have been created.",
"requirement": "optional"
},
"modified_time": {
"description": "The most recent time when any changes, updates, or modifications were made within the table.",
"requirement": "optional"
},
"desc": {
"caption": "Description",
"description": "The description of the table.",
"requirement": "optional"
},
"size": {
"description": "The size of the data table in bytes.",
"requirement": "optional"
},
"groups": {
"description": "The group names to which the table belongs.",
"requirement": "optional"
},
"name": {
"description": "The table name, ordinarily as assigned by a database administrator."
},
"uid": {
"description": "The unique identifier of the table."
}
}
}
Loading