GitHub - Mitre-Attack - Attack-Datasources
GitHub - Mitre-Attack - Attack-Datasources
This content is analysis and research of the data sources currently listed in ATT&CK.
Apache-2.0 License
Star Notifications
main Go to file
View code
Table of Contents
1. Assembling ATT&CK Data Source Objects
2. How Data Source Objects Can Support Security Operations?
3. Where are the New Data Sources Objects Stored?
4. How can you Consume Data Source Objects Content?
5. How Can You Contribute?
For instance, let's say the Process data source is recommended for the detection of the
T1543.003 - Create or Modify System Process: Windows Service technique. Without any other
security context, the first question that might come to your mind is what information about
a process is required? The following image shows some of the available option by using data
components:
Each data component represents activity and/or information generated within a network
environment because of actions or behaviors performed by a potential adversary. The
ATT&CK framework (v9) now provides data components that can help you to represent
specific actions or behaviors related to a technique. According to the framework, the
creation of processes and execution of operating system's API calls are a good starting
point from a Process perspective.
Identification of Relevant Security Events
At the beginning of this document, we mentioned that the main goal of this project was to
connect the defensive data in ATT&CK with how operational defenders analyze potential
adversaries/ behaviors. Even though the scope of this project does not consider mapping
security events to data components and relationships, we believe that the information
provided by data source objects can help you to identify relevant security data that should
be collected in your environment in order to expedite the development of effective
detections.
For example, the framework considers Process: Process Creation as a recommended data
source for the T1543.003 - Create or Modify System Process: Windows Service technique. The
important question here is What security events logs can give me context about the creation
of a process? For example, on the Windows platform environments Security Auditing event
4688 and Sysmon event 1 can help us to cover this data source recommendation. The image
above shows an example of security events mapped to other recommended data sources
for the same technique.
name: Process
definition: Information about instances of computer programs that are being executed
collection_layers:
- host
platforms:
- Windows
- Linux
- macOS
contributors:
- ATT&CK
- CTID
data_components:
- name: process creation
type: activity
description: A process was created.
relationships:
- source_data_element: user
relationship: created
target_data_element: process
- source_data_element: process
relationship: created
target_data_element: process
- name: OS api execution
type: activity
description: A process executed operating system api functions.
relationships:
- source_data_element: process
relationship: executed
target_data_element: api call
references:
- https://docs.microsoft.com/en-us/windows/win32/procthread/processes-and-threads
How can you Consume Data Source Objects Content?
The idea of storing all this data using YAML files is to facilitate the consumption of data
source objects content until we move everything to STIX. So, feel free to use any tool that
can handle yaml files and that is available for you. We have prepared a Jupyter notebook
using libraries such attackcti, pandas, and yaml to give you an example of how can you
gather up-to-date ATT&CK knowledge and YAML files' content. You can find the notebook
in the following link.
Adding more security context to the data source piece of ATT&CK - Notebook
Notice
Approved for Public Release; Distribution Unlimited. Public Release Case Number 20-2841
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the
License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
ANY KIND, either express or implied. See the License for the specific language governing
permissions and limitations under the License.
Releases
No releases published
Packages
Packages
No packages published
Contributors 10
Languages