From 538d434ffcd077389a03e007d05bd477bdeaeee2 Mon Sep 17 00:00:00 2001 From: Samuel Hassine Date: Wed, 15 May 2024 03:29:06 +0100 Subject: [PATCH] Deployed 04d5446 to 6.1.X with MkDocs 1.6.0 and mike 2.2.0.dev0 --- 6.1.X/search/search_index.json | 2 +- 6.1.X/sitemap.xml | 176 +++++++++--------- 6.1.X/sitemap.xml.gz | Bin 916 -> 916 bytes 6.1.X/usage/assets/customize_your_export.png | Bin 273621 -> 138487 bytes 6.1.X/usage/assets/export_entity_content.png | Bin 45467 -> 61817 bytes .../usage/assets/export_specific_elements.png | Bin 212659 -> 119065 bytes 6.1.X/usage/assets/export_types.png | Bin 29092 -> 9871 bytes 6.1.X/usage/assets/exported-files-list.png | Bin 0 -> 20633 bytes 6.1.X/usage/assets/exports_list.png | Bin 263029 -> 151558 bytes 6.1.X/usage/assets/open_export_panel.png | Bin 47007 -> 154803 bytes 6.1.X/usage/export/index.html | 16 +- 11 files changed, 101 insertions(+), 93 deletions(-) create mode 100755 6.1.X/usage/assets/exported-files-list.png diff --git a/6.1.X/search/search_index.json b/6.1.X/search/search_index.json index 714ea4bf..47dd6b9c 100755 --- a/6.1.X/search/search_index.json +++ b/6.1.X/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"],"fields":{"title":{"boost":1000.0},"text":{"boost":1.0},"tags":{"boost":1000000.0}}},"docs":[{"location":"","title":"OpenCTI Documentation Space","text":"

Welcome to the OpenCTI Documentation space. Here you will be able to find all documents, meeting notes and presentations about the platform.

Release notes

Please, be sure to also take a look at the OpenCTI releases notes, they may contain important information about releases and deployments.

"},{"location":"#introduction","title":"Introduction","text":"

OpenCTI is an open source platform allowing organizations to manage their cyber threat intelligence knowledge and observables. It has been created in order to structure, store, organize and visualize technical and non-technical information about cyber threats.

"},{"location":"#getting-started","title":"Getting started","text":"

Need more help?

We are doing our best to keep this documentation complete, accurate and up to date.

If you still have questions or you find something which is not sufficiently explained, join the Filigran Community on Slack.

"},{"location":"#latest-blog-posts","title":"Latest blog posts","text":"

All tutorials are published directly on the Medium blog, this section provides a comprehensive list of the most important ones.

"},{"location":"#additional-resources","title":"Additional resources","text":"

Below, you will find external resources which may be useful along your OpenCTI journey.

OpenCTI Ecosystem List of available connectors and integrations to expand platform usage.

Training Courses Training courses for analysts and administrators in the Filigran training center.

Video materials Set of video illustrating the implementation of use cases and platform capabilities.

"},{"location":"administration/csv-mappers/","title":"CSV Mappers","text":"

In OpenCTI, CSV Mappers allow to parse CSV files in a STIX 2.1 Object. The mappers are created and configured by users with the Manage CSV mapper capability. Then, they are available to users who import CSV files, for instance inside a report or in the global import view.

"},{"location":"administration/csv-mappers/#principles","title":"Principles","text":"

The mapper contains representations of STIX 2.1 entities and relationships, in order for the parser to properly extract them. One mapper is dedicated to parsing a specific CSV file structure, and thus dedicated mappers should be created for every specific CSV structure you might need to ingest in the platform.

"},{"location":"administration/csv-mappers/#create-a-new-csv-mapper","title":"Create a new CSV Mapper","text":"

In menu Data, select the submenu Processing, and on the right menu select CSV Mappers. You are presented with a list of all the mappers set in the platform. Note that you can delete or update any mapper from the context menu via the burger button beside each mapper.

Click on the button + in the bottom-right corner to add a new Mapper.

Enter a name for your mapper and some basic information about your CSV files:

Header management

The parser will not extract any information from the CSV header if any, it will just skip the first line during parsing.

Then, you need to create every representation, one per entity and relationship type represented in the CSV file. Click on the + button to add an empty representation in the list, and click on the chevron to expand the section and configure the representation.

Depending on the entity type, the form contains the fields that are either required (input outlined in red) or optional. For each field, set the corresponding columns mapping (the letter-based index of the column in the CSV table, as presented in common spreadsheet tools).

References to other entities should be picked from the list of all the other representations already defined earlier in the mapper.

You can do the same for all the relationships between entities that might be defined in this particular CSV file structure.

Fields might have options besides the mandatory column index, to help extract relevant data:

Or to set default values in case some data is missing in the imported file.

"},{"location":"administration/csv-mappers/#csv-mapper-validity","title":"CSV Mapper validity","text":"

The only parameter required to save a CSV Mapper is a name. The creation and refinement of its representations can be done iteratively.

Nonetheless, all CSV Mappers go through a quick validation that checks if all the representations have all their mandatory fields set. Only valid mappers can be run by the users on their CSV files.

Mapper validity is visible in the list of CSV Mappers as shown below.

"},{"location":"administration/csv-mappers/#test-your-csv-mapper","title":"Test your CSV mapper","text":"

In the creation or edition form, hit the button Test to open a dialog. Select a sample CSV file and hit the Test button.

The code block contains the raw result of the parsing attempt, in the form of a STIX 2.1 bundle in JSON format.

You can then check if the extracted values match the expected entities and relationships.

Test with a small file

We strongly recommend limiting test files to 100 lines and 1MB. Otherwise, the browser may crash.

"},{"location":"administration/csv-mappers/#use-a-mapper-for-importing-a-csv-file","title":"Use a mapper for importing a CSV file","text":"

You can change the default configuration of the import csv connector in your configuration file.

\"import_csv_built_in_connector\": {\n  \"enabled\": true, \n  \"interval\": 10000, \n  \"validate_before_import\": false\n},\n

In Data import section, or Data tab of an entity, when you upload a CSV, you can select a mapper to apply to the file. The file will then be parsed following the representation rules set in the mapper.

By default, the imported elements will be added in a new Analyst Workbench where you will be able to check the result of the import.

"},{"location":"administration/csv-mappers/#default-values-for-attributes","title":"Default values for attributes","text":"

In the case of the CSV file misses some data, you can complete it with default values. To achieve this, you have two possibilities:

"},{"location":"administration/csv-mappers/#set-default-values-in-the-settings-of-the-entities","title":"Set default values in the settings of the entities","text":"

Default value mechanisms

Note that adding default values in settings have an impact at entity creation globally on the platform, not only on CSV mappers. If you want to apply those default values only at CSV mapper level, please use the second option.

In settings > Customization, you can select an entity type and then set default values for its attributes.

In the configuration of the entity, you have access to the entity's attributes that can be managed.

Click on the attribute to add a default value information.

Enter the default value in the input and save the update.

The value filled will be used in the case where the CSV file lacks data for this attribute.

"},{"location":"administration/csv-mappers/#set-specific-default-values-directly-in-the-csv-mapper","title":"Set specific default values directly in the CSV mapper","text":"

Information retained in case of default value

If you fill a default value in entity settings and the CSV mapper, the one from CSV mapper will be used.

In the mapper form, you will see next to the column index input a gear icon to add extra information for the attribute. If the attribute can have a customizable default value, then you will be able to set one here.

The example above shows the case of the attribute architecture implementation of a malware. You have some information here. First, it seems we have a default value already set in entity settings for this attribute with the value [powerpc, x86]. However, we want to override this value with another one for our case: [alpha].

"},{"location":"administration/csv-mappers/#specific-case-of-marking-definitions","title":"Specific case of marking definitions","text":"

For marking definitions, setting a default value is different from other attributes. We are not choosing a particular marking definition to use if none is specified in the CSV file. Instead, we will choose a default policy. Two option are available:

"},{"location":"administration/csv-mappers/#additional-resources","title":"Additional resources","text":""},{"location":"administration/decay-rules/","title":"Decay rules","text":"

Decay rules are used to update automatically indicators score in order to represent their lifecycle.

"},{"location":"administration/decay-rules/#configuration","title":"Configuration","text":"

Decay rules can be configured in the \"Settings > Customization > Decay rule\" menu.

There are built-in decay rules that can't be modified and are applied by default to indicators depending on their main observable type. Decay rules are applied from highest to lowest order (the lowest being 0).

You can create new decay rules with higher order to apply them along with (or instead of) the built-in rules.

When you create a decay rule, you can specify on which indicators' main observable types it will apply. If you don't enter any, it will apply to all indicators.

You can also add reaction points which represent the scores at which indicators are updated. For example, if you add one reaction point at 60 and another one at 40, indicators that have an initial score of 80 will be updated with a score of 60, then 40, depending on the decay curve.

The decay curve is based on two parameters:

Finally, the revoke score is the score at which the indicator can be revoked automatically.

Once you have created a new decay rule, you will be able to view its details, along with a life curve graph showing the score evolution over time.

You will also be able to edit your rule, change all its parameters and order, activate or deactivate it (only activated rules are applied), or delete it.

Indicator decay manager

Decay rules are only applied, and indicators score updated, if indicator decay manager is enabled (enabled by default).

Please read the dedicated page to have all information

"},{"location":"administration/enterprise/","title":"Enterprise edition","text":"

Filigran

Filigran is providing an Enterprise Edition of the platform, whether on-premise or in the SaaS.

"},{"location":"administration/enterprise/#what-is-opencti-ee","title":"What is OpenCTI EE?","text":"

OpenCTI Enterprise Edition is based on the open core concept. This means that the source code of OCTI EE remains open source and included in the main GitHub repository of the platform but is published under a specific license. As specified in the GitHub license file:

The source files in this repository have a header indicating which license they are under. If no such header is provided, this means that the file belongs to the Community Edition under the Apache License, Version 2.0.

We wrote a complete article to explain the enterprise edition, feel free to read it to have more information

"},{"location":"administration/enterprise/#ee-activation","title":"EE Activation","text":"

Enterprise edition is easy to activate. You need to go the platform settings and click on the Activate button.

Then you will need to agree to the Filigran EULA.

As a reminder:

"},{"location":"administration/enterprise/#available-features","title":"Available features","text":""},{"location":"administration/enterprise/#activity-monitoring","title":"Activity monitoring","text":"

Audit logs help you answer \"who did what, where, and when?\" within your data with the maximum level of transparency. Please read Activity monitoring page to get all information.

"},{"location":"administration/enterprise/#playbooks-and-automation","title":"Playbooks and automation","text":"

OpenCTI playbooks are flexible automation scenarios which can be fully customized and enabled by platform administrators to enrich, filter and modify the data created or updated in the platform. Please read Playbook automation page to get all information.

"},{"location":"administration/enterprise/#organizations-management-and-segregation","title":"Organizations management and segregation","text":"

Organizations segregation is a way to segregate your data considering the organization associated to the users. Useful when your platform aims to share data to multiple organizations that have access to the same OpenCTI platform. Please read Organizations RBAC to get more information.

"},{"location":"administration/enterprise/#full-text-indexing","title":"Full text indexing","text":"

Full text indexing grants improved searches across structured and unstructured data. OpenCTI classic searches are based on metadata fields (e.g. title, description, type) while advanced indexing capability enables searches to be extended to the document\u2019s contents. Please read File indexing to get all information.

"},{"location":"administration/enterprise/#more-to-come","title":"More to come","text":"

More features will be available in OpenCTI in the future. Features like:

"},{"location":"administration/entities/","title":"Customize entities","text":""},{"location":"administration/entities/#introduction","title":"Introduction","text":"

A variety of entity customization options are available to optimize data representation, workflow management, and enhance overall user experience. Whether you're fine-tuning processing statuses, configuring entities' attributes, or hiding entities, OpenCTI's customization capabilities provide the flexibility you need to create a tailored environment for your threat intelligence and cybersecurity workflows.

The following chapter aims to provide readers with an understanding of the available customization options by entity type. Customize entities can be done in \"Settings > Customization\".

"},{"location":"administration/entities/#hidden-in-interface","title":"Hidden in interface","text":"

This configuration allows to hide a specific entity type throughout the entire platform. It provides a potent means to simplify the interface and tailor it to your domain expertise. For instance, if you have no interest in disinformation campaigns, you can conceal related entities such as Narratives and Channels from the menus.

You can specify which entities to hide on a platform-wide basis from \"Settings > Customization\" and from \"Settings > Parameters\", providing you with a list of hidden entities. Furthermore, you can designate hidden entities for specific Groups and Organizations from \"Settings > Security > Groups/Organizations\" by editing a Group/Organization.

An overview of hidden entity types is available in the \"Hidden entity types\" field in \"Settings > Parameters.\"

"},{"location":"administration/entities/#automatic-references-at-file-upload","title":"Automatic references at file upload","text":"

This configuration enables an entity to automatically construct an external reference from the uploaded file.

"},{"location":"administration/entities/#enforce-references","title":"Enforce references","text":"

This configuration enables the requirement of a reference message on an entity creation or modification. This option is helpful if you want to keep a strong consistency and traceability of your knowledge and is well suited for manual creation and update.

"},{"location":"administration/entities/#workflow","title":"Workflow","text":"

For now, OpenCTI has a simple workflow approach. They're represented by the \"Processing status\" field embedded in each object. By default, this field is disabled for most objects but can be activated through the platform settings:

  1. Navigate to \"Settings > Customization > Entity types > [Desired object type].\"
  2. Click on the small pink pen icon next to \"Workflow\" to access the object customization window.
  3. Add and configure the desired statuses, defining their order within the workflow.

In addition, the available statuses are defined by a collection of status templates visible in \"Settings > Taxonomies > Status templates\". This collection can be customized.

"},{"location":"administration/entities/#attributes","title":"Attributes","text":"

Each attribute in an Entity offers several customization options:

"},{"location":"administration/entities/#confidence-scale-configuration","title":"Confidence scale configuration","text":"

Confidence scale can be customized for each entity type by selecting another scale template or by editing directly the scale values. Once you have customized your scale, click on \"Update\" to save your configuration.

Max confidence level

The above scale also needs to take into account the confidence level per user. To understand the concept, please navigate to this page

"},{"location":"administration/file-indexing/","title":"File indexing","text":"

Enterprise edition

Platform segregation by organization is available under the \"OpenCTI Enterprise Edition\" license. Please read the dedicated page to have all the information.

"},{"location":"administration/file-indexing/#files-search-requirements","title":"Files search requirements","text":"

In order to search in files, we need to extract and index files text content, which requires to have one of these database configurations :

"},{"location":"administration/file-indexing/#file-indexing-configuration","title":"File indexing configuration","text":"

File indexing can be configured via the File indexing tab in the Settings menu.

The configuration and impact panel shows all file types that can be indexed, as well as the volume of storage used.

It is also possible to include or exclude files uploaded from the global Data import panel and that are not associated with a specific entity in the platform.

Finally, it is possible to set a maximum file size for indexing (5 Mb by default).

Currently supported content types : application/pdf, text/plain, text/csv, text/html, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (excel sheets).

Once indexing has been launched by pressing the Start button, you can follow its progress.

You will also be able to Pause it and restart from the beginning by pressing Reset button which deletes all indexed files from the database.

If you change the configuration while file indexing is running, you might need to reset in order to include newly impacted files.

File indexing runs every 5 minutes to index last uploaded files.

"},{"location":"administration/introduction/","title":"Introduction","text":"

This guide aims to give you a full overview of the OpenCTI features and workflows. The platform can be used in various contexts to handle threats management use cases from a technical to a more strategic level.

"},{"location":"administration/introduction/#administrative-settings","title":"Administrative Settings","text":"

The OpenCTI Administrative settings console allows administrators to configure many options dynamically within the system. As an Administrator, you can access this settings console, by clicking the settings link.

The Settings Console allows for configuration of various aspects of the system.

"},{"location":"administration/introduction/#general-configuration","title":"General Configuration","text":""},{"location":"administration/introduction/#authentication-strategies-display","title":"Authentication Strategies Display","text":""},{"location":"administration/introduction/#platform-messages","title":"Platform Messages","text":""},{"location":"administration/introduction/#dark-theme-color-scheme","title":"Dark Theme Color Scheme","text":"

Various aspects of the Dark Theme can be dynamically configured in this section.

"},{"location":"administration/introduction/#light-theme-color-scheme","title":"Light Theme Color Scheme","text":"

Various aspects of the Light Theme can be dynamically configured in this section.

"},{"location":"administration/introduction/#tools-configuration-display","title":"Tools Configuration Display","text":"

This section will give general status on the various tools and enabled components of the currently configured OpenCTI deployment.

"},{"location":"administration/merging/","title":"Merging","text":""},{"location":"administration/merging/#data-merging","title":"Data merging","text":"

Within the OpenCTI platform, the merge capability is present into the \"Data > Entities\" tab, and is fairly straightforward to use. To execute a merge, select the set of entities to be merged, then click on the Merge icon.

Merging limitation

It is not possible to merge entities of different types, nor is it possible to merge more than 4 entities at a time (it will have to be done in several stages).

Central to the merging process is the selection of a main entity. This primary entity becomes the anchor, retaining crucial attributes such as name and description. Other entities, while losing specific fields like descriptions, are aliased under the primary entity. This strategic decision preserves vital data while eliminating redundancy.

Once the choice has been made, simply validate to run the task in the background. Depending on the number of entity relationships, and the current workload on the platform, the merge may take more or less time. In the case of a healthy platform and around a hundred relationships per entity, merge is almost instantaneous.

"},{"location":"administration/merging/#data-preservation-and-relationship-continuity","title":"Data preservation and relationship continuity","text":"

A common concern when merging entities lies in the potential loss of information. In the context of OpenCTI, this worry is alleviated. Even if the merged entities were initially created by distinct sources, the platform ensures that data is not lost. Upon merging, the platform automatically generates relationships directly on the merged entity. This strategic approach ensures that all connections, regardless of their origin, are anchored to the consolidated entity. Post-merge, OpenCTI treats these once-separate entities as a singular, unified entity. Subsequent information from varied sources is channeled directly into the entity resulting from the merger. This unified entity becomes the focal point for all future relationships, ensuring the continuity of data and relationships without any loss or fragmentation.

"},{"location":"administration/merging/#important-considerations","title":"Important considerations","text":""},{"location":"administration/merging/#additional-resources","title":"Additional resources","text":""},{"location":"administration/notifier-samples/","title":"Notifier samples","text":""},{"location":"administration/notifier-samples/#configure-teams-webhook","title":"Configure Teams webhook","text":"

To configure a notifier for Teams, allowing to send notifications via Teams messages, we followed the guidelines outlined in the Microsoft documentation.

"},{"location":"administration/notifier-samples/#template-message-for-live-trigger","title":"Template message for live trigger","text":"

The Teams template message sent through webhook for a live notification is:

{\n        \"type\": \"message\",\n        \"attachments\": [\n            {\n                \"contentType\": \"application/vnd.microsoft.card.thumbnail\",\n                \"content\": {\n                    \"subtitle\": \"Operation : <%=content[0].events[0].operation%>\",\n                    \"text\": \"<%=(new Date(notification.created)).toLocaleString()%>\",\n                    \"title\": \"<%=content[0].events[0].message%>\",\n                    \"buttons\": [\n                        {\n                            \"type\": \"openUrl\",\n                            \"title\": \"See in OpenCTI\",\n                            \"value\": \"https://YOUR_OPENCTI_URL/dashboard/id/<%=content[0].events[0].instance_id%>\"\n                        }\n                    ]\n                }\n            }\n        ]\n    }\n
"},{"location":"administration/notifier-samples/#template-message-for-digest","title":"Template message for digest","text":"

The Teams template message sent through webhook for a digest notification is:

{\n    \"type\": \"message\",\n    \"attachments\": [\n        {\n            \"contentType\": \"application/vnd.microsoft.card.adaptive\",\n            \"content\": {\n                \"$schema\": \"http://adaptivecards.io/schemas/adaptive-card.json\",\n                \"type\": \"AdaptiveCard\",\n                \"version\": \"1.0\",\n                \"body\": [\n                    {\n                        \"type\": \"Container\",\n                        \"items\": [\n                            {\n                                \"type\": \"TextBlock\",\n                                \"text\": \"<%=notification.name%>\",\n                                \"weight\": \"bolder\",\n                                \"size\": \"extraLarge\"\n                            }, {\n                                \"type\": \"TextBlock\",\n                                \"text\": \"<%=(new Date(notification.created)).toLocaleString()%>\",\n                                \"size\": \"medium\"\n                            }\n                        ]\n                    },\n                    <% for(var i=0; i<content.length; i++) { %>\n                    {\n                        \"type\": \"Container\",\n                        \"items\": [<% for(var j=0; j<content[i].events.length; j++) { %>\n                            {\n                                \"type\" : \"TextBlock\",\n                                \"text\" : \"[<%=content[i].events[j].message%>](https://YOUR_OPENCTI_URL/dashboard/id/<%=content[i].events[j].instance_id%>)\"\n                            }<% if(j<(content[i].events.length - 1)) {%>,<% } %>\n                        <% } %>]\n           }<% if(i<(content.length - 1)) {%>,<% } %>\n                    <% } %>\n                ]\n            }\n        }\n    ],\n   \"dataString\": <%-JSON.stringify(notification)%>\n}\n
"},{"location":"administration/notifiers/","title":"Custom notifiers","text":"

Leveraging the platform's built-in connectors, users can create custom notifiers tailored to their unique needs. OpenCTI features three built-in connectors: a webhook connector, a simple mailer connector, and a platform mailer connector. These connectors operate based on registered schemas that describe their interaction methods.

"},{"location":"administration/notifiers/#built-in-notifier-connectors","title":"Built-In notifier connectors","text":""},{"location":"administration/notifiers/#platform-mailer","title":"Platform mailer","text":"

This notifier connector enables customization of notifications raised within the platform. It's simple to configure, requiring only:

"},{"location":"administration/notifiers/#simple-mailer","title":"Simple mailer","text":"

This notifier connector offers a straightforward approach to email notifications with simplified configuration options. Users can set:

"},{"location":"administration/notifiers/#webhook","title":"Webhook","text":"

This notifier connector enables users to send notifications to external applications or services through HTTP requests. Users can specify:

OpenCTI provides two notifier samples by default, designed to communicate with Microsoft Teams through a webhook. A documentation page providing details on these samples is available.

"},{"location":"administration/notifiers/#configuration-and-access","title":"Configuration and access","text":"

Custom notifiers are manageable in the \"Settings > Customization > Notifiers\" window and can be restricted through Role-Based Access Control (RBAC). Administrators can control access, limiting usage to specific Users, Groups, or Organizations.

For guidance on configuring notification triggers and exploring the usages of notifiers, refer to the dedicated documentation page.

"},{"location":"administration/ontologies/","title":"Taxonomies","text":"

Taxonomies in OpenCTI refer to the structured classification systems that help in organizing and categorizing cyber threat intelligence data. They play a crucial role in the platform by allowing analysts to systematically tag and retrieve information based on predefined categories and terms.

Along with the Customization page, these pages allow the administrator to customize the platform.

"},{"location":"administration/ontologies/#labels","title":"Labels","text":"

Labels in OpenCTI serve as a powerful tool for organizing, categorizing, and prioritizing data. Here\u2019s how they can be used effectively:

  1. Tagging and Categorization: Labels can be used to tag malware, incidents, or indicators (IOCs) with specific categories, making it easier to filter and search through large datasets.
  2. Prioritization: By labeling threats based on their severity or impact, security analysts can prioritize their response efforts accordingly.
  3. Correlation and Analysis: Labels help in correlating different pieces of intelligence. For example, if multiple indicators are tagged with the same label, it might indicate a larger campaign or a common adversary.
  4. Automation and Integration: Labels can trigger automated workflows (also called playbooks) within OpenCTI. For instance, a label might automatically initiate further investigation or escalate an incident.
  5. Reporting and Metrics: Labels facilitate the generation of reports and metrics, allowing organizations to track trends through dashboards, measure response effectiveness, and make data-driven decisions.
  6. Sharing and Collaboration: When sharing intelligence with other organizations or platforms, labels provide a common language that helps in understanding the context and relevance of the shared data.

Tip

In order to achieve effective data labeling methods, it is recommended to establish a clear and consistent criteria for your labeling and document them in a policy or guideline.

"},{"location":"administration/ontologies/#kill-chain-phases","title":"Kill chain phases","text":"

Kill chain phases are used in OpenCTI to structure and analyze the data related to cyber threats and attacks. They describe the stages of an attack from the perspective of the attacker and provide a framework for identifying, analysing and responding to threats.

OpenCTI supports the following kill chain models:

You can add, edit, or delete kill chain phases in the settings page, and assign them to indicators, attack patterns, incidents, or courses of action in the platform. You can also filter the data by kill chain phase, and view the kill chain phases in a timeline or as a matrix.

"},{"location":"administration/ontologies/#vocabularies","title":"Vocabularies","text":"

Open vocabularies are sets of terms and definitions that are agreed upon by the CTI community. They help to standardize the communication documentation of cyber threat information. This section allows you to customize a set of available fields by adding vocabulary. Almost all of the drop-down menus available in the entities can be modified from this panel.

Open vocabularies in OpenCTI are mainly based on the STIX standard.

"},{"location":"administration/ontologies/#status-templates","title":"Status templates","text":"

Status templates are predefined statuses that can be assigned to different entities in OpenCTI, such as reports, incidents, or cases (incident responses, requests for information and requests for takedown).

They help to track the progress of the analysis and response activities by defining statuses that are used in the workflows.

"},{"location":"administration/ontologies/#case-templates","title":"Case templates","text":"

Customizable case templates help to streamline the process of creating cases with predefined lists of tasks.

"},{"location":"administration/organization-segregation/","title":"Organization segregation","text":"

Enterprise edition

Platform segregation by organization is available under the \"OpenCTI Enterprise Edition\" license. Please read the dedicated page to have all the information.

"},{"location":"administration/organization-segregation/#organization-administration","title":"Organization administration","text":"

Platform administrators can promote members of an organization as \"Organization administrator\". This elevated role grants them the necessary capabilities to create, edit and delete users from the corresponding Organization. Additionally, administrators have the flexibility to define a list of groups that can be granted to newly created members by the organization administrators. This feature simplifies the process of granting appropriate access and privileges to individuals joining the organization.

The platform administrator can promote/demote an organization admin through its user edition form.

Organization admin rights

The \"Organization admin\" has restricted access to Settings. They can only manage the members of the organizations for which they have been promoted as \"admins\".

"},{"location":"administration/parameters/","title":"Parameters","text":""},{"location":"administration/parameters/#description","title":"Description","text":"

This part of the interface wil let you configure global platform settings, like title, favicon, etc.

It will also give you important information about the platform.

"},{"location":"administration/parameters/#the-configuration-section","title":"The \"Configuration\" section","text":"

This section allows the administrator to edit the following settings:

"},{"location":"administration/parameters/#opencti-platform","title":"OpenCTI Platform","text":"

This is where the Enterprise edition can be enabled.

This section gives important information about the platform like the used version, the edition, the architecture mode (can be Standalone or Cluster) and the number used nodes.

Through the \"Remove Filigran logos\" toggle, the administrator has the option to hide the Filigran logo on the login page and the sidebar.

"},{"location":"administration/parameters/#platform-announcement","title":"Platform Announcement","text":"

This section gives you the possibility to set and display Announcements in the platform. Those announcements will be visible to every user in the platform, on top of the interface.

They can be used to inform some of your users or all of important information, like a scheduled downtime, an incoming upgrade, or even to share important tips regarding the usage of the platform.

An Announcement can be accompanied by a \"Dismiss\u201d button. When clicked by a user, it makes the message disappear for this user.

This option can be deactivated to have a permanent announcement.

\u26a0\ufe0f Only one announcement is shown at a time, with priority given to dismissible ones. If there are no dismissible announcements, the most recent non-dismissible one is shown.

"},{"location":"administration/parameters/#third-party-analytics","title":"Third-party Analytics","text":"

Enterprise edition

Analytics is available under the \"OpenCTI Enterprise Edition\" license.

Please read the dedicated page to have more information

This is where you can configure analytics providers. At the moment only Google Analytics v4 is supported.

"},{"location":"administration/parameters/#theme-customization","title":"Theme customization","text":"

In this section, the administrator can customize the two OpenCTI themes

"},{"location":"administration/parameters/#tools","title":"Tools","text":"

This section informs the administrator of the statuses of the different managers used in the Platform. More information about the managers can be found here. It shows also the used versions of the search engine database, RabbitMQ and Redis.

In cluster mode, the fact that a manager appears as enabled means that it is active in at least one node.

"},{"location":"administration/policies/","title":"Policies","text":"

The Policies configuration window (in \"Settings > Security > Policies\") encompasses essential settings that govern the organizational sharing, authentication strategies, password policies, login messages, and banner appearance within the OpenCTI platform.

"},{"location":"administration/policies/#platform-main-organization","title":"Platform main organization","text":"

Allow to set a main organization for the entire platform. Users belonging to the main organization enjoy unrestricted access to all data stored in the platform. In contrast, users affiliated with other organizations will only have visibility into data explicitly shared with them.

Numerous repercussions linked to the activation of this feature

This feature has implications for the entire platform and must be fully understood before being used. For example, it's mandatory to have organizations set up for each user, otherwise they won't be able to log in. It is also advisable to include connector's users in the platform main organization to avoid import problems.

"},{"location":"administration/policies/#authentication-strategies","title":"Authentication strategies","text":"

The authentication strategies section provides insights into the configured authentication methods. Additionally, an \"Enforce Two-Factor Authentication\" button is available, allowing administrators to mandate 2FA activation for users, enhancing overall account security.

Please see the Authentication section for further details on available authentication strategies.

"},{"location":"administration/policies/#local-password-policies","title":"Local password policies","text":"

This section encompasses a comprehensive set of parameters defining the local password policy. Administrators can specify requirements such as minimum/maximum number of characters, symbols, digits, and more to ensure robust password security across the platform. Here are all the parameters available:

Parameter Description Number of chars must be greater than or equals to Define the minimum length required for passwords. Number of chars must be lower or equals to (0 equals no maximum) Set an upper limit for password length. Number of symbols must be greater or equals to Specify the minimum number of symbols required in a password. Number of digits must be greater or equals to Set the minimum number of numeric characters in a password. Number of words (split on hyphen, space) must be greater or equals to Enforce a minimum count of words in a password. Number of lowercase chars must be greater or equals to Specify the minimum number of lowercase characters. Number of uppercase chars must be greater or equals to Specify the minimum number of uppercase characters.

"},{"location":"administration/policies/#login-messages","title":"Login messages","text":"

Allow to define messages on the login page to customize and highlight your platform's security policy. Three distinct messages can be customized:

"},{"location":"administration/policies/#platform-banner-configuration","title":"Platform banner configuration","text":"

The platform banner configuration section allows administrators to display a custom banner message at the top and bottom of the screen. This feature enables customization for enhanced visual communication and branding within the OpenCTI platform. It can be used to add a disclaimer or system purpose.

This configuration has two parameters:

"},{"location":"administration/policies/#maximum-marking-definitions-shareable","title":"Maximum marking definitions shareable","text":"

This configuration allows to define, for each type of marking definitions, until which level we allow to share data externally.

For now this max marking definitions is used only for Public dashboard.

For example in the capture below, for the type of marking TLP, only data with a marking definition with a level equal or below GREEN will be shareable through Public Dashboard. And no data with marking definition statement will be shared at all.

"},{"location":"administration/reasoning/","title":"Rules engine","text":""},{"location":"administration/reasoning/#inference-rules","title":"Inference rules","text":"

The rules engine comprises a set of predefined rules (named inference rules) that govern how new relationships are inferred based on existing data. These rules are carefully crafted to ensure logical and accurate relationship creation. Here is the list of existing inference rules:

"},{"location":"administration/reasoning/#raise-incident-based-on-sighting","title":"Raise incident based on sighting","text":"Conditions Creations A non-revoked Indicator is sighted in an Entity Creation of an Incident linked to the sighted Indicator and the targeted Entity"},{"location":"administration/reasoning/#sightings-of-observables-via-observed-data","title":"Sightings of observables via observed data","text":"Conditions Creations An Indicator is based on an Observable contained in an Observed Data Creation of a sighting between the Indicator and the creating Identity of the Observed Data"},{"location":"administration/reasoning/#sightings-propagation-from-indicator","title":"Sightings propagation from indicator","text":"Conditions Creations An Indicator based on an Observable is sighted in an Entity The Observable is sighted in the Entity"},{"location":"administration/reasoning/#sightings-propagation-from-observable","title":"Sightings propagation from observable","text":"Conditions Creations An Indicator is based on an Observable sighted in an Entity The Indicator is sighted in the Entity"},{"location":"administration/reasoning/#relation-propagation-via-an-observable","title":"Relation propagation via an observable","text":"Conditions Creations An observable is related to two Entities Create a related to relationship between the two Entities"},{"location":"administration/reasoning/#attribution-propagation","title":"Attribution propagation","text":"Conditions Creations An Entity A is attributed to an Entity B and this Entity B is itself attributed to an Entity C The Entity A is attributed to Entity C"},{"location":"administration/reasoning/#belonging-propagation","title":"Belonging propagation","text":"Conditions Creations An Entity A is part of an Entity B and this Entity B is itself part of an Entity C The Entity A is part of Entity C"},{"location":"administration/reasoning/#location-propagation","title":"Location propagation","text":"Conditions Creations A Location A is located at a Location B and this Location B is itself located at a Location C The Location A is located at Location C"},{"location":"administration/reasoning/#organization-propagation-via-participation","title":"Organization propagation via participation","text":"Conditions Creations A User is affiliated with an Organization B, which is part of an Organization C The User is affiliated to the Organization C"},{"location":"administration/reasoning/#identities-propagation-in-reports","title":"Identities propagation in reports","text":"Conditions Creations A Report contains an Identity B and this Identity B is part of an Identity C The Report contains Identity C, as well as the Relationship between Identity B and Identity C"},{"location":"administration/reasoning/#locations-propagation-in-reports","title":"Locations propagation in reports","text":"Conditions Creations A Report contains a Location B and this Location B is located at a Location C The Report contains Location B, as well as the Relationship between Location B and Location C"},{"location":"administration/reasoning/#observables-propagation-in-reports","title":"Observables propagation in reports","text":"Conditions Creations A Report contains an Indicator and this Indicator is based on an Observable The Report contains the Observable, as well as the Relationship between the Indicator and the Observable"},{"location":"administration/reasoning/#usage-propagation-via-attribution","title":"Usage propagation via attribution","text":"Conditions Creations An Entity A, attributed to an Entity C, uses an Entity B The Entity C uses the Entity B"},{"location":"administration/reasoning/#inference-of-targeting-via-a-sighting","title":"Inference of targeting via a sighting","text":"Conditions Creations An Indicator, sighted at an Entity C, indicates an Entity B The Entity B targets the Entity C"},{"location":"administration/reasoning/#targeting-propagation-via-attribution","title":"Targeting propagation via attribution","text":"Conditions Creations An Entity A, attributed to an Entity C, targets an Entity B The Entity C targets the Entity B"},{"location":"administration/reasoning/#targeting-propagation-via-belonging","title":"Targeting propagation via belonging","text":"Conditions Creations An Entity A targets an Identity B, part of an Identity C The Entity A targets the Identity C"},{"location":"administration/reasoning/#targeting-propagation-via-location","title":"Targeting propagation via location","text":"Conditions Creations An Entity targets a Location B and this Location B is located at a Location C The Entity targets the Location C"},{"location":"administration/reasoning/#targeting-propagation-when-located","title":"Targeting propagation when located","text":"Conditions Creations An Entity A targets an Entity B and this target is located at Location D. The Entity A targets the Location D"},{"location":"administration/reasoning/#rule-execution","title":"Rule execution","text":""},{"location":"administration/reasoning/#rule-activation","title":"Rule activation","text":"

When a rule is activated, a background task is initiated. This task scans all platform data, identifying existing relationships that meet the conditions defined by the rule. Subsequently, it creates new objects (entities and/or relationships), expanding the network of insights within your threat intelligence environment. Then, activated rules operate continuously. Whenever a relationship is created or modified, and this change aligns with the conditions specified in an active rule, the reasoning mechanism is triggered. This ensures real-time relationship inference.

"},{"location":"administration/reasoning/#rule-deactivation","title":"Rule deactivation","text":"

Deactivating a rule leads to the deletion of all objects and relationships created by it. This cleanup process maintains the accuracy and reliability of your threat intelligence database.

"},{"location":"administration/reasoning/#access-restrictions-and-data-impact","title":"Access restrictions and data impact","text":"

Access to the rule engine panel is restricted to administrators only. Regular users do not have visibility into this section of the platform. Administrators possess the authority to activate or deactivate rules.

The rules engine empowers OpenCTI with the capability to automatically establish intricate relationships within your data. However, these rules can lead to a very large number of objects created. Even if the operation is reversible, an administrator should consider the impact of activating a rule.

"},{"location":"administration/reasoning/#additional-resources","title":"Additional resources","text":""},{"location":"administration/retentions/","title":"Retention policies","text":"

Retention rules serve the purpose of establishing data retention times, specifying when data should be automatically deleted from the platform. Users can define filters to target specific objects. Any object meeting these criteria that haven't been updated within the designated time frame will be deleted.

"},{"location":"administration/retentions/#configuration","title":"Configuration","text":"

Retention rules can be configured in the \"Settings > Customization > Retention policies\" window. A set of parameters must be configured:

An object will be removed if it meets the specified filters and hasn't been updated for the duration set in the \"Maximum retention days\" field.

"},{"location":"administration/retentions/#verification-process","title":"Verification process","text":"

Before activating a retention rule, users have the option to verify its impact using the \"Verify\" button. This action provides insight into the number of objects that currently match the rule's criteria and would be deleted if the rule is activated.

Verify before activation

Always use the \"Verify\" feature to assess the potential impact of a retention rule before activating it. Once the rule is activated, data deletion will begin, and retrieval of the deleted data will not be possible.

Retention rules contribute to maintaining a streamlined and efficient data lifecycle within OpenCTI, ensuring that outdated or irrelevant information is systematically removed from the platform, thereby optimizing disk space usage.

"},{"location":"administration/segregation/","title":"Data segregation","text":""},{"location":"administration/segregation/#introduction","title":"Introduction","text":"

Data segregation in the context of Cyber Threat Intelligence refers to the practice of categorizing and separating different types of data or information related to cybersecurity threats based on specific criteria.

This separation helps organizations manage and analyze threat intelligence more effectively and securely and the goal of data segregation is to ensure that only those individuals who are authorized to view a particular set of data have access to that set of data.

Practically, \"Need-to-know basis\" and \"classification level\" are data segregation measures.

"},{"location":"administration/segregation/#marking-definitions","title":"Marking Definitions","text":""},{"location":"administration/segregation/#description","title":"Description","text":"

Marking definitions are essential in the context of data segregation to ensure that data is appropriately categorized and protected based on its sensitivity or classification level. Marking definitions establish a standardized framework for classifying data.

Marking Definition objects are unique among STIX objects in the STIX 2.1 standard in that they cannot be versioned. This restriction is in place to prevent the possibility of indirect alterations to the markings associated with a STIX Object.

Multiple markings can be added to the same object. Certain categories of marking definitions or trust groups may enforce rules that specify which markings take precedence over others or how some markings can be added to complement existing ones.

In OpenCTI, data is segregated based on knowledge marking. The diagram provided below illustrates the manner in which OpenCTI establishes connections between pieces of information to authorize data access for a user:

"},{"location":"administration/segregation/#traffic-light-protocol","title":"Traffic Light Protocol","text":"

The Traffic Light Protocol is implemented by default as marking definitions in OpenCTI. It allows you to segregate information by TLP levels in your platform and restrict access to marked data if users are not authorized to see the corresponding marking.

The Traffic Light Protocol (TLP) was designed by the Forum of Incident Response and Security Teams (FIRST) to provide a standardized method for classifying and handling sensitive information, based on four categories of sensitivity.

For more details, the diagram provided below illustrates how are categorized the marking definitions:

"},{"location":"administration/segregation/#create-new-markings","title":"Create new markings","text":"

In order to create a marking, you must first have the ability to access the Settings tab. For example, a user who is in a group with the role of Administrator can bypass all capabilities or a user who is in a group with the role that has Access administration checked can access the Settings tab. For more details about user administration, please see the Users and Role Based Access Control page.

Once you have access to the settings, you can create a new marking in Security > Marking Definitions

A marking has:

"},{"location":"administration/segregation/#allowed-marking-definitions","title":"Allowed marking definitions","text":"

In order for all users in a group to be able to see entities and relationships that have specific markings on them, allowed markings can be checked when updating a group:

"},{"location":"administration/segregation/#default-marking-definitions","title":"Default marking definitions","text":"

To apply a default marking when creating a new entity or relationship, you can choose which marking to add by default from the list of allowed markings. You can add only one marking per type, but you can have multiple types.

Be careful, add markings as default markings is not enough to see the markings when you create an entity or relationship, you need to enable default markings in an entity or relationship customization.

For example, if you create a new report, got to Settings > Customization > Report > Markings and click on Activate/Desactivate default values.

"},{"location":"administration/segregation/#authorize-a-group-to-new-marking-definition","title":"Authorize a group to new marking definition","text":"

To authorize a group to automatically have access to a newly created marking definition in allowed marking definitions, you can check Automatically authorize this group to new marking definition when update a group:

"},{"location":"administration/segregation/#behavior-on-the-opencti-platform","title":"Behavior on the OpenCTI Platform","text":""},{"location":"administration/segregation/#create-a-new-entity-or-relationship","title":"Create a new entity or relationship","text":"

When a new entity or a new relationship is created, if multiple markings of the same type and different order are added, the platform will only keep the highest order for each type.

For example:

Create a new report and add markings PAP:AMBER,PAP:RED,TLP:AMBER+STRICT,TLP:CLEAR and a statement CC-BY-SA-4.0 DISARM Foundation

The final markings kept are: PAP:RED, TLP:AMBER+STRICT and CC-BY-SA-4.0 DISARM Foundation

"},{"location":"administration/segregation/#update-an-entity-or-a-relationship","title":"Update an entity or a relationship","text":"

When update an entity or a relationship:

"},{"location":"administration/segregation/#merge-entities","title":"Merge entities","text":"

When you merge multiple entities, the platform will keep the highest order for each type of marking when the merge is complete:

For example, merging two observables, one with TLP:CLEAR and PAP:CLEAR, and the other one with PAP:RED and TLP:GREEN.

As a final result, you will have the observable with PAP:RED and TLP:GREEN.

"},{"location":"administration/segregation/#import-data-from-a-connector","title":"Import data from a connector","text":"

When you import data from a connector, the connector cannot downgrade a marking for the same entity, if a same type of marking is set on it.

For example, if you create an observable existing in AlienVault data and set TLP:AMBER as the marking, when importing AlienVault data, the platform will keep the highest rank for the same type of markings.

"},{"location":"administration/support-package/","title":"Support Package","text":"

Support packages are useful for troubleshooting issue that occurs on OpenCTI platform. Administrators can request to create and download a support package that contains recent platform error logs and usage statistics.

Support package content

Even if we do our best to prevent logging any data, the support package may contains some sensitive information that you may not want to share with everyone. Before creating a ticket with your support package takes some time to check if you can safely share the content depending of your security policy.

Support Package can be requested from \"Settings > Support\" menu.

"},{"location":"administration/support-package/#package-generation","title":"Package generation","text":"

On a click on \"Generate support package\", a support event is propagated to every platform instances to request needed information. Every instance that will receive this message will process the request and send the files to the platform. During this processing the interface will display the expected support package name in an IN PROGRESS state waiting for completion. After finishing the process the support package will move to the READY state and the buttons download and delete will be activated.

"},{"location":"administration/support-package/#package-download","title":"Package download","text":"

After file generation, using the download button will dynamically create a (zip) containing all instances logs and telemetry.

"},{"location":"administration/support-package/#partial-package","title":"Partial package","text":"

In case of platform instability, some logs might not be retrieved and the support package will be incomplete.

If some instances fail to send their data, you will be able to force download a partial zip only after 1 minute. In case of a support package taking more than 5 minutes, the status will be moved to \"timeout\".

"},{"location":"administration/users/","title":"Users and Role Based Access Control","text":""},{"location":"administration/users/#introduction","title":"Introduction","text":"

In OpenCTI, the RBAC system not only related to what users can do or cannot do in the platform (aka. Capabilities) but also to the system of data segregation. Also, platform behavior such as default home dashboards, default triggers and digests as well as default hidden menus or entities can be defined across groups and organizations.

"},{"location":"administration/users/#high-level-design","title":"High level design","text":""},{"location":"administration/users/#roles","title":"Roles","text":"

Roles are used in the platform to grant the given groups with some capabilities to define what users in those groups can do or cannot do.

"},{"location":"administration/users/#list-of-capabilities","title":"List of capabilities","text":"Capability Description Bypass all capabilities Just bypass everything including data segregation and enforcements. Access knowledge Access in read-only to all the knowledge in the platform. Access to collaborative creation Create notes and opinions (and modify its own) on entities and relations. Create / Update knowledge Create and update existing entities and relationships. Restrict organization access Share entities and relationships with other organizations. Delete knowledge Delete entities and relationships. Upload knowledge files Upload files in the Data and Content section of entities. Download knowledge export Download the exports generated in the entities (in the Data section). Ask for knowledge enrichment Trigger an enrichment for a given entity. Access Dashboards and investigations Access to existing custom dashboards and investigations. Create / Update Dashboards and investigations Create and update custom dashboards and investigations. Delete Dashboards and investigations Delete existing custom dashboards and investigations. Manage Public Dashboards Manage public dashboards Access connectors Read information in the Data > Connectors section. Manage connector state Reset the connector state to restart ingestion from the beginning. Access data sharing & ingestion Access and consume data such as TAXII collections. Manage data sharing & ingestion Share data such as TAXII collections or custom dashboards. Manage CSV mappers Create, update and delete CSV mappers. Access administration Access and manage overall parameters of the platform in Settings > Parameters. Manage credentials Access and manage roles, groups, users, organizations and security policies. Manage marking definitions Update and delete marking definitions. Manage labels & Attributes Update and delete labels, custom taxonomies, workflow and case templates. Connectors API usage: register, ping, export push ... Connectors specific permissions for register, ping, push export files, etc. Connect and consume the platform streams (/stream, /stream/live) List and consume the OpenCTI live streams. Bypass mandatory references if any If external references enforced in a type of entity, be able to bypass the enforcement."},{"location":"administration/users/#manage-roles","title":"Manage roles","text":"

You can manage the roles in Settings > Security > Roles.

To create a role, just click on the + button:

Then you will be able to define the capabilities of the role:

"},{"location":"administration/users/#users","title":"Users","text":"

You can manage the users in Settings > Security > Users. If you are using Single-Sign-On (SSO), the users in OpenCTI are automatically created upon login.

To create a user, just click on the + button:

"},{"location":"administration/users/#manage-a-user","title":"Manage a user","text":"

When access to a user, it is possible to:

In the image below, you can see how to override the value inherited from the group.

Mandatory max confidence level

A user without Max confidence level won't have the ability to create, delete or update any data in our platform. Please be sure that your users are always either assigned to group that have a confidence level defined or that have an override of this group confidence level.

"},{"location":"administration/users/#groups","title":"Groups","text":"

Groups are the main way to manage permissions and data segregation as well as platform customization for the given users part of this group. You can manage the groups in Settings > Security > Groups.

Here is the description of the group available parameters.

Parameter Description Auto new markings If a new marking definition is created, this group will automatically be granted to it. Default membership If a new user is created (manually or upon SSO), it will be added to this group. Roles Roles and capabilities granted to the users belonging to this group. Default dashboard Customize the home dashboard for the users belonging to this group. Default markings In Settings > Customization > Entity types, if a default marking definition is enabled, default markings of the group is used. Allowed markings Grant access to the group to the defined marking definitions, more details in data segregation. Triggers and digests Define defaults triggers and digests for the users belonging to this group. Max confidence level Define the maximum confidence level for the group: it will impact the capacity to update entities, the confidence level of a newly created entity by a user of the group.

Max confidence level when a user has multiple groups

A user with multiple groups will have the the highest confidence level of all its groups. For instance, if a user is part of group A (max confidence level = 100) and group B (max confidence level = 50), then the user max confidence level will be 100.

"},{"location":"administration/users/#manage-a-group","title":"Manage a group","text":"

When managing a group, you can define the members and all above configurations.

"},{"location":"administration/users/#organizations","title":"Organizations","text":"

Users can belong to organizations, which is an additional layer of data segregation and customization. To find out more about this part, please refer to the page on organization segregation.

"},{"location":"administration/users/#organization-administration","title":"Organization administration","text":"

Platform administrators can promote members of an organization as \"Organization administrator\". This elevated role grants them the necessary capabilities to create, edit and delete users from the corresponding Organization. Additionally, administrators have the flexibility to define a list of groups that can be granted to newly created members by the organization administrators. This feature simplifies the process of granting appropriate access and privileges to individuals joining the organization.

The platform administrator can promote/demote an organization admin through its user edition form.

Organization admin rights

The \"Organization admin\" has restricted access to Settings. They can only manage the members of the organizations for which they have been promoted as \"admins\".

"},{"location":"administration/audit/configuration/","title":"Configuration","text":"

Enterprise edition

Activity unified interface and logging are available under the \"OpenCTI Enterprise Edition\" license.

Please read the dedicated page to have all information

As explained in the overview page, all administration actions are listened by default. However, all knowledge are not listened by default due to performance impact on the platform.

For this reason you need to explicitly activate extended listening on user / group or organization.

Listening will start just after the configuration. Every past events will not be taken into account.

"},{"location":"administration/audit/events/","title":"Events","text":"

Enterprise edition

Activity unified interface and logging are available under the \"OpenCTI Enterprise Edition\" license.

Please read the dedicated page to have all information

"},{"location":"administration/audit/events/#description","title":"Description","text":"

OpenCTI activity capability is the way to unified whats really happen in the platform. In events section you will have access to the UI that will answer to \"who did what, where, and when?\" within your data with the maximum level of transparency.

"},{"location":"administration/audit/events/#include-knowledge","title":"Include knowledge","text":"

By default, the events screen only show you the administration actions done by the users.

If you want to see also the information about the knowledge, you can simply activate the filter in the bar to get the complete overview of all user actions.

Don't hesitate to read again the overview page to have a better understanding of the difference between Audit, Basic/Extended knowledge.

"},{"location":"administration/audit/overview/","title":"Overview","text":""},{"location":"administration/audit/overview/#overview","title":"Overview","text":"

Enterprise edition

Activity unified interface and logging are available under the \"OpenCTI Enterprise Edition\" license.

Please read the dedicated page to have all the information

OpenCTI activity capability is the way to unify what's really happening in the platform. With this feature you will be able to answer \"who did what, where, and when?\" within your data with the maximum level of transparency.

Enabling activity helps your security, auditing, and compliance entities monitor platform for possible vulnerabilities or external data misuse.

"},{"location":"administration/audit/overview/#categories","title":"Categories","text":"

The activity groups 3 different concepts that need to be explained.

"},{"location":"administration/audit/overview/#basic-knowledge","title":"Basic knowledge","text":"

The basic knowledge refers to all STIX data knowledge inside OpenCTI. Every create/update/delete action on that knowledge is accessible through the history. That basic activity is handled by the history manager and can also be found directly on each entity.

"},{"location":"administration/audit/overview/#extended-knowledge","title":"Extended knowledge","text":"

The extended knowledge refers to extra information data to track specific user activity. As this kind of tracking is expensive, the tracking will only be done for specific users/groups/organizations explicitly configured in the configuration window.

"},{"location":"administration/audit/overview/#audit-knowledge","title":"Audit knowledge","text":"

Audit is focusing on user administration or security actions. Audit will produce console/logs files along with user interface elements.

{\n  \"auth\": \"<User information>\",\n  \"category\": \"AUDIT\",\n  \"level\": \"<info | error>\",\n  \"message\": \"<human readable explanation>\",\n  \"resource\": {\n    \"type\": \"<authentication | mutation>\",\n    \"event_scope\": \"<depends on type>\",\n    \"event_access\": \"<administration>\",\n    \"data\": \"<contextual data linked to the event type>\",\n    \"version\": \"<version of audit log format>\"\n  },\n  \"timestamp\": \"<event date>\",\n  \"version\": \"<platform version>\"\n}\n
"},{"location":"administration/audit/overview/#architecture","title":"Architecture","text":"

OpenCTI uses different mechanisms to be able to publish actions (audit) or data modification (history)

"},{"location":"administration/audit/overview/#audit-knowledge_1","title":"Audit knowledge","text":"

Administration or security actions

With Enterprise edition activated, Administration and security actions are always written; you can't configure, exclude, or disable them

Supported

Not supported for now

Not applicable

"},{"location":"administration/audit/overview/#ingestion","title":"Ingestion","text":"Create Delete Edit Remote OCTI Streams"},{"location":"administration/audit/overview/#data-sharing","title":"Data sharing","text":"Create Delete Edit CSV Feeds TAXII Feeds Stream Feeds"},{"location":"administration/audit/overview/#connectors","title":"Connectors","text":"Create Delete Edit Connectors State reset Works"},{"location":"administration/audit/overview/#parameters","title":"Parameters","text":"Create Delete Edit Platform parameters"},{"location":"administration/audit/overview/#security","title":"Security","text":"Create Delete Edit Roles Groups Users Sessions Policies"},{"location":"administration/audit/overview/#customization","title":"Customization","text":"Create Delete Edit Entity types Rules engine Retention policies"},{"location":"administration/audit/overview/#taxonomies","title":"Taxonomies","text":"Create Delete Edit Status templates Case templates + tasks"},{"location":"administration/audit/overview/#accesses","title":"Accesses","text":"Listen Login (success or fail) Logout Unauthorized access"},{"location":"administration/audit/overview/#extended-knowledge_1","title":"Extended knowledge","text":"

Extended knowledge

Extented knowledge activity are written only if you activate the feature for a subset of users / groups or organizations

"},{"location":"administration/audit/overview/#data-management","title":"Data management","text":"

Some history actions are already included in the \"basic knowledge\". (basic marker)

Read Create Delete Edit Platform knowledge basic basic basic Background tasks knowledge Knowledge files basic basic Global data import files Analyst workbenches files Triggers Workspaces Investigations User profile"},{"location":"administration/audit/overview/#user-actions","title":"User actions","text":"Supported Ask for file import Ask for data enrichment Ask for export generation Execute global search"},{"location":"administration/audit/triggers/","title":"Activity triggers","text":"

Enterprise edition

Activity unified interface and logging are available under the \"OpenCTI Enterprise Edition\" license.

Please read the dedicated page to have all information

"},{"location":"administration/audit/triggers/#description","title":"Description","text":"

Having all the history in the user interface (events) is sometimes not enough to have a proactive monitoring. For this reason, you can configure some specific triggers to receive notifications on audit events. You can configure like personal triggers, lives one that will be sent directly or digest depending on your needs.

"},{"location":"administration/audit/triggers/#configuration","title":"Configuration","text":"

In this type of trigger, you will need to configure various options:

"},{"location":"administration/audit/triggers/#event-structure","title":"Event structure","text":"

In order to correctly configure the filters, here's a definition of the event structure

"},{"location":"deployment/authentication/","title":"Authentication","text":""},{"location":"deployment/authentication/#introduction","title":"Introduction","text":"

OpenCTI supports several authentication providers. If you configure multiple strategies, they will be tested in the order you declared them.

Activation

You need to configure/activate only the authentication strategy that you really want to propose to your users.

The product proposes two kinds of authentication strategies:

"},{"location":"deployment/authentication/#supported-strategies","title":"Supported Strategies","text":"

Under the hood, we technically use the strategies provided by PassportJS. We integrate a subset of the strategies available with passport. If you need more, we can integrate other strategies.

"},{"location":"deployment/authentication/#local-users-form","title":"Local users (form)","text":"

This strategy uses the OpenCTI database as a user management.

OpenCTI use this strategy as the default, but it's not the one we recommend for security reasons.

\"local\": {\n    \"strategy\": \"LocalStrategy\",\n    \"config\": {\n        \"disabled\": false\n    }\n}\n

Production deployment

Please use the LDAP/Auth0/OpenID/SAML strategy for production deployment.

"},{"location":"deployment/authentication/#ldap-form","title":"LDAP (form)","text":"

This strategy can be used to authenticate your user with your company LDAP and is based on Passport - LDAPAuth.

\"ldap\": {\n    \"strategy\": \"LdapStrategy\",\n    \"config\": {\n        \"url\": \"ldaps://mydc.domain.com:686\",\n        \"bind_dn\": \"cn=Administrator,cn=Users,dc=mydomain,dc=com\",\n        \"bind_credentials\": \"MY_STRONG_PASSWORD\",\n        \"search_base\": \"cn=Users,dc=mydomain,dc=com\",\n        \"search_filter\": \"(cn={{username}})\",\n        \"mail_attribute\": \"mail\",\n        // \"account_attribute\": \"givenName\",\n        // \"firstname_attribute\": \"cn\",\n        // \"lastname_attribute\": \"cn\",\n        \"account_attrgroup_search_filteribute\": \"givenName\",\n        \"allow_self_signed\": true\n    }\n}\n

If you would like to use LDAP groups to automatically associate LDAP groups and OpenCTI groups/organizations:

\"ldap\": {\n    \"config\": {\n        ...\n        \"group_search_base\": \"cn=Groups,dc=mydomain,dc=com\",\n        \"group_search_filter\": \"(member={{dn}})\",\n        \"groups_management\": { // To map LDAP Groups to OpenCTI Groups\n            \"group_attribute\": \"cn\",\n            \"groups_mapping\": [\"LDAP_Group_1:OpenCTI_Group_1\", \"LDAP_Group_2:OpenCTI_Group_2\", ...]\n        },\n        \"organizations_management\": { // To map LDAP Groups to OpenCTI Organizations\n            \"organizations_path\": \"cn\",\n            \"organizations_mapping\": [\"LDAP_Group_1:OpenCTI_Organization_1\", \"LDAP_Group_2:OpenCTI_Organization_2\", ...]\n        }\n    }\n}\n
"},{"location":"deployment/authentication/#saml-button","title":"SAML (button)","text":"

This strategy can be used to authenticate your user with your company SAML and is based on Passport - SAML.

\"saml\": {\n    \"identifier\": \"saml\",\n    \"strategy\": \"SamlStrategy\",\n    \"config\": {\n        \"issuer\": \"mytestsaml\",\n        // \"account_attribute\": \"nameID\",\n        // \"firstname_attribute\": \"nameID\",\n        // \"lastname_attribute\": \"nameID\",\n        \"entry_point\": \"https://auth.mydomain.com/auth/realms/mydomain/protocol/saml\",\n        \"saml_callback_url\": \"http://localhost:4000/auth/saml/callback\",\n        // \"private_key\": \"MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwg...\",\n        \"cert\": \"MIICmzCCAYMCBgF2Qt3X1zANBgkqhkiG9w0BAQsFADARMQ8w...\",\n        \"logout_remote\": false\n    }\n}\n

For the SAML strategy to work:

Certificates

Be careful to put the cert / private_key key in PEM format. Indeed, a lot of systems generally export the keys in X509 / PCKS12 formats and so you will need to convert them. Here is an example to extract PEM from PCKS12:

openssl pkcs12 -in keystore.p12 -out newfile.pem -nodes\n

Here is an example of SAML configuration using environment variables:

- PROVIDERS__SAML__STRATEGY=SamlStrategy \n- \"PROVIDERS__SAML__CONFIG__LABEL=Login with SAML\"\n- PROVIDERS__SAML__CONFIG__ISSUER=mydomain\n- PROVIDERS__SAML__CONFIG__ENTRY_POINT=https://auth.mydomain.com/auth/realms/mydomain/protocol/saml\n- PROVIDERS__SAML__CONFIG__SAML_CALLBACK_URL=http://opencti.mydomain.com/auth/saml/callback\n- PROVIDERS__SAML__CONFIG__CERT=MIICmzCCAYMCBgF3Rt3X1zANBgkqhkiG9w0BAQsFADARMQ8w\n- PROVIDERS__SAML__CONFIG__LOGOUT_REMOTE=false\n

OpenCTI supports mapping SAML Roles/Groups on OpenCTI Groups. Here is an example:

\"saml\": {\n    \"config\": {\n        ...,\n        // Groups mapping\n        \"groups_management\": { // To map SAML Groups to OpenCTI Groups\n            \"group_attributes\": [\"Group\"],\n            \"groups_mapping\": [\"SAML_Group_1:OpenCTI_Group_1\", \"SAML_Group_2:OpenCTI_Group_2\", ...]\n        },\n        \"groups_management\": { // To map SAML Roles to OpenCTI Groups\n            \"group_attributes\": [\"Role\"],\n            \"groups_mapping\": [\"SAML_Role_1:OpenCTI_Group_1\", \"SAML_Role_2:OpenCTI_Group_2\", ...]\n        },\n        // Organizations mapping\n        \"organizations_management\": { // To map SAML Groups to OpenCTI Organizations\n            \"organizations_path\": [\"Group\"],\n            \"organizations_mapping\": [\"SAML_Group_1:OpenCTI_Organization_1\", \"SAML_Group_2:OpenCTI_Organization_2\", ...]\n        },\n        \"organizations_management\": { // To map SAML Roles to OpenCTI Organizations\n            \"organizations_path\": [\"Role\"],\n            \"organizations_mapping\": [\"SAML_Role_1:OpenCTI_Organization_1\", \"SAML_Role_2:OpenCTI_Organization_2\", ...]\n        }\n    }\n}\n

Here is an example of SAML Groups mapping configuration using environment variables:

- \"PROVIDERS__SAML__CONFIG__GROUPS_MANAGEMENT__GROUP_ATTRIBUTES=[\\\"Group\\\"]\"\n- \"PROVIDERS__SAML__CONFIG__GROUPS_MANAGEMENT__GROUPS_MAPPING=[\\\"SAML_Group_1:OpenCTI_Group_1\\\", \\\"SAML_Group_2:OpenCTI_Group_2\\\", ...]\"\n
"},{"location":"deployment/authentication/#auth0-button","title":"Auth0 (button)","text":"

This strategy allows to use Auth0 Service to handle the authentication and is based on Passport - Auth0.

\"authzero\": {\n    \"identifier\": \"auth0\",\n    \"strategy\": \"Auth0Strategy\",\n    \"config\": {\n        \"clientID\": \"XXXXXXXXXXXXXXXXXX\",\n        \"baseURL\": \"https://opencti.mydomain.com\",\n        \"clientSecret\": \"XXXXXXXXXXXXXXXXXX\",\n        \"callback_url\": \"https://opencti.mydomain.com/auth/auth0/callback\",\n        \"domain\": \"mycompany.eu.auth0.com\",\n        \"audience\": \"XXXXXXXXXXXXXXX\",\n        \"scope\": \"openid email profile XXXXXXXXXXXXXXX\",\n        \"logout_remote\": false\n    }\n}\n

Here is an example of Auth0 configuration using environment variables:

- PROVIDERS__AUTHZERO__STRATEGY=Auth0Strategy\n- PROVIDERS__AUTHZERO__CONFIG__CLIENT_ID=${AUTH0_CLIENT_ID}\n- PROVIDERS__AUTHZERO__CONFIG__BASEURL=${AUTH0_BASE_URL}\n- PROVIDERS__AUTHZERO__CONFIG__CLIENT_SECRET=${AUTH0_CLIENT_SECRET}\n- PROVIDERS__AUTHZERO__CONFIG__CALLBACK_URL=${AUTH0_CALLBACK_URL}\n- PROVIDERS__AUTHZERO__CONFIG__DOMAIN=${AUTH0_DOMAIN}\n- \"PROVIDERS__AUTHZERO__CONFIG__SCOPE=openid email profile\"\n- PROVIDERS__AUTHZERO__CONFIG__LOGOUT_REMOTE=false\n
"},{"location":"deployment/authentication/#openid-connect-button","title":"OpenID Connect (button)","text":"

This strategy allows to use the OpenID Connect Protocol to handle the authentication and is based on Node OpenID Client which is more powerful than the passport one.

\"oic\": {\n    \"identifier\": \"oic\",\n    \"strategy\": \"OpenIDConnectStrategy\",\n    \"config\": {\n        \"label\": \"Login with OpenID\",\n        \"issuer\": \"https://auth.mydomain.com/auth/realms/mydomain\",\n        \"client_id\": \"XXXXXXXXXXXXXXXXXX\",\n        \"client_secret\": \"XXXXXXXXXXXXXXXXXX\",\n        \"redirect_uris\": [\"https://opencti.mydomain.com/auth/oic/callback\"],\n        \"logout_remote\": false\n    }\n}\n

Here is an example of OpenID configuration using environment variables:

- PROVIDERS__OPENID__STRATEGY=OpenIDConnectStrategy \n- \"PROVIDERS__OPENID__CONFIG__LABEL=Login with OpenID\"\n- PROVIDERS__OPENID__CONFIG__ISSUER=https://auth.mydomain.com/auth/realms/xxxx\n- PROVIDERS__OPENID__CONFIG__CLIENT_ID=XXXXXXXXXXXXXXXXXX\n- PROVIDERS__OPENID__CONFIG__CLIENT_SECRET=XXXXXXXXXXXXXXXXXX\n- \"PROVIDERS__OPENID__CONFIG__REDIRECT_URIS=[\\\"https://opencti.mydomain.com/auth/oic/callback\\\"]\"\n- PROVIDERS__OPENID__CONFIG__LOGOUT_REMOTE=false\n

OpenCTI support mapping OpenID Claims on OpenCTI Groups (everything is tied to a group in the platform). Here is an example:

\"oic\": {\n    \"config\": {\n        ...,\n        // Groups mapping\n        \"groups_management\": { // To map OpenID Claims to OpenCTI Groups\n            \"groups_scope\": \"groups\",\n            \"groups_path\": [\"groups\", \"realm_access.groups\", \"resource_access.account.groups\"],\n            \"groups_mapping\": [\"OpenID_Group_1:OpenCTI_Group_1\", \"OpenID_Group_2:OpenCTI_Group_2\", ...]\n        },\n        // Organizations mapping  \n        \"organizations_management\": { // To map OpenID Claims to OpenCTI Organizations\n            \"organizations_scope\": \"groups\",\n            \"organizations_path\": [\"groups\", \"realm_access.groups\", \"resource_access.account.groups\"],\n            \"organizations_mapping\": [\"OpenID_Group_1:OpenCTI_Group_1\", \"OpenID_Group_2:OpenCTI_Group_2\", ...]\n        },\n    }\n}\n

Here is an example of OpenID Groups mapping configuration using environment variables:

- PROVIDERS__OPENID__CONFIG__GROUPS_MANAGEMENT__GROUPS_SCOPE=groups\n- \"PROVIDERS__OPENID__CONFIG__GROUPS_MANAGEMENT__GROUPS_PATH=[\\\"groups\\\", \\\"realm_access.groups\\\", \\\"resource_access.account.groups\\\"]\"\n- \"PROVIDERS__OPENID__CONFIG__GROUPS_MANAGEMENT__GROUPS_MAPPING=[\\\"OpenID_Group_1:OpenCTI_Group_1\\\", \\\"OpenID_Group_2:OpenCTI_Group_2\\\", ...]\"\n

By default, the claims are mapped based on the content of the JWT access_token. If you want to map claims which are in other JWT (such as id_token), you can define the following environment variables:

- PROVIDERS__OPENID__CONFIG__GROUPS_MANAGEMENT__TOKEN_REFERENCE=id_token\n- PROVIDERS__OPENID__CONFIG__ORGANISATIONS_MANAGEMENT__TOKEN_REFERENCE=id_token\n

Alternatively, you can request OpenCTI to use claims from the userinfo endpoint instead of a JWT.

- PROVIDERS__OPENID__CONFIG__GROUPS_MANAGEMENT__READ_USERINFO=true\n- PROVIDERS__OPENID__CONFIG__ORGANISATIONS_MANAGEMENT__READ_USERINFO=true\n

"},{"location":"deployment/authentication/#facebook-button","title":"Facebook (button)","text":"

This strategy can authenticate your users with Facebook and is based on Passport - Facebook.

\"facebook\": {\n    \"identifier\": \"facebook\",\n    \"strategy\": \"FacebookStrategy\",\n    \"config\": {\n        \"client_id\": \"XXXXXXXXXXXXXXXXXX\",\n        \"client_secret\": \"XXXXXXXXXXXXXXXXXX\",\n        \"callback_url\": \"https://opencti.mydomain.com/auth/facebook/callback\",\n        \"logout_remote\": false\n    }\n}\n
"},{"location":"deployment/authentication/#google-button","title":"Google (button)","text":"

This strategy can authenticate your users with Google and is based on Passport - Google.

\"google\": {\n    \"identifier\": \"google\",\n    \"strategy\": \"GoogleStrategy\",\n    \"config\": {\n        \"client_id\": \"XXXXXXXXXXXXXXXXXX\",\n        \"client_secret\": \"XXXXXXXXXXXXXXXXXX\",\n        \"callback_url\": \"https://opencti.mydomain.com/auth/google/callback\",\n        \"logout_remote\": false\n    }\n}\n
"},{"location":"deployment/authentication/#github-button","title":"GitHub (button)","text":"

This strategy can authenticate your users with GitHub and is based on Passport - GitHub.

\"github\": {\n    \"identifier\": \"github\",\n    \"strategy\": \"GithubStrategy\",\n    \"config\": {\n        \"client_id\": \"XXXXXXXXXXXXXXXXXX\",\n        \"client_secret\": \"XXXXXXXXXXXXXXXXXX\",\n        \"callback_url\": \"https://opencti.mydomain.com/auth/github/callback\",\n        \"logout_remote\": false\n  }\n}\n
"},{"location":"deployment/authentication/#client-certificate-button","title":"Client certificate (button)","text":"

This strategy can authenticate a user based on SSL client certificates. For this, you need to configure OpenCTI to start in HTTPS, for example:

\"port\": 443,\n\"https_cert\": {\n    \"key\": \"/cert/server_key.pem\",\n    \"crt\": \"/cert/server_cert.pem\",\n    \"reject_unauthorized\": true\n}\n

And then add the ClientCertStrategy:

\"cert\": {\n    \"strategy\":\"ClientCertStrategy\",\n    \"config\": {\n        \"label\":\"CLIENT CERT\"\n    }\n}\n

Afterwards, when accessing for the first time OpenCTI, the browser will ask for the certificate you want to use.

"},{"location":"deployment/authentication/#proxy-headers-automatic","title":"Proxy headers (automatic)","text":"

This strategy can authenticate the users directly from trusted headers.

{\n  \"header\": {\n    \"strategy\": \"HeaderStrategy\",\n    \"config\": {\n      \"disabled\": false,\n      \"header_email\": \"auth_email_address\",\n      \"header_name\": \"auth_name\",\n      \"header_firstname\": \"auth_firstname\",\n      \"header_lastname\": \"auth_lastname\",\n      \"logout_uri\": \"https://www.filigran.io\",\n      \"groups_management\": {\n        \"groups_header\": \"auth_groups\",\n        \"groups_splitter\": \",\",\n        \"groups_mapping\": [\"admin:admin\", \"root:root\"]\n      },\n      \"organizations_management\": {\n        \"organizations_header\": \"auth_institution\",\n        \"organizations_splitter\": \",\",\n        \"organizations_mapping\": [\"test:test\"]\n      }\n    }\n  }\n}\n

If this mode is activated and the headers are available, the user will be automatically logged without any action or notice. The logout uri will remove the session and redirect to the configured uri. If not specified, the redirect will be done to the request referer and so the header authentication will be done again.

"},{"location":"deployment/authentication/#automatically-create-group-on-sso","title":"Automatically create group on SSO","text":"

The variable auto_create_group can be added in the options of some strategies (LDAP, SAML and OpenID). If this variable is true, the groups of a user that logins will automatically be created if they don\u2019t exist.

More precisely, if the user that tries to authenticate has groups that don\u2019t exist in OpenCTI but exist in the SSO configuration, there are two cases:

Example

We assume that Group1 exists in the platform, and newGroup doesn\u2019t exist. The user that tries to log in has the group newGroup. If auto_create_group = true in the SSO configuration, the group named newGroup will be created at the platform initialization and the user will be mapped on it. If auto_create_group = false or is undefined, the user can\u2019t log in and an error is raised.

\"groups_management\": {\n  \"group_attribute\": \"cn\",\n  \"groups_mapping\": [\"SSO_GROUP_NAME1:group1\", \"SSO_GROUP_NAME_2:newGroup\", ...]\n},\n\"auto_create_group\": true\n
"},{"location":"deployment/authentication/#examples","title":"Examples","text":""},{"location":"deployment/authentication/#ldap-then-fallback-to-local","title":"LDAP then fallback to local","text":"

In this example the users have a login form and need to enter login and password. The authentication is done on LDAP first, then locally if user failed to authenticate and finally fail if none of them succeeded. Here is an example for the production.json file:

\"providers\": {\n    \"ldap\": {\n        \"strategy\": \"LdapStrategy\",\n        \"config\": {\n            \"url\": \"ldaps://mydc.mydomain.com:636\",\n            \"bind_dn\": \"cn=Administrator,cn=Users,dc=mydomain,dc=com\",\n            \"bind_credentials\": \"MY_STRONG_PASSWORD\",\n            \"search_base\": \"cn=Users,dc=mydomain,dc=com\",\n            \"search_filter\": \"(cn={{username}})\",\n            \"mail_attribute\": \"mail\",\n            \"account_attribute\": \"givenName\"\n        }\n    },\n    \"local\": {\n        \"strategy\": \"LocalStrategy\",\n        \"config\": {\n            \"disabled\": false\n        }\n    }\n}\n

If you use a container deployment, here is an example using environment variables:

- PROVIDERS__LDAP__STRATEGY=LdapStrategy\n- PROVIDERS__LDAP__CONFIG__URL=ldaps://mydc.mydomain.org:636\n- PROVIDERS__LDAP__CONFIG__BIND_DN=cn=Administrator,cn=Users,dc=mydomain,dc=com\n- PROVIDERS__LDAP__CONFIG__BIND_CREDENTIALS=XXXXXXXXXX\n- PROVIDERS__LDAP__CONFIG__SEARCH_BASE=cn=Users,dc=mydomain,dc=com\n- PROVIDERS__LDAP__CONFIG__SEARCH_FILTER=(cn={{username}})\n- PROVIDERS__LDAP__CONFIG__MAIL_ATTRIBUTE=mail\n- PROVIDERS__LDAP__CONFIG__ACCOUNT_ATTRIBUTE=givenName\n- PROVIDERS__LDAP__CONFIG__ALLOW_SELF_SIGNED=true\n- PROVIDERS__LOCAL__STRATEGY=LocalStrategy\n
"},{"location":"deployment/clustering/","title":"Clustering","text":""},{"location":"deployment/clustering/#introduction","title":"Introduction","text":"

The OpenCTI platform technological stack has been designed to be able to scale horizontally. All dependencies such as Elastic or Redis can be deployed in cluster mode and performances can be drastically increased by deploying multiple platform and worker instances.

"},{"location":"deployment/clustering/#high-level-architecture","title":"High level architecture","text":"

Here is the high level architecture for customers and Filigran cloud platform to ensure both high availability and throughput.

"},{"location":"deployment/clustering/#configuration","title":"Configuration","text":""},{"location":"deployment/clustering/#dependencies","title":"Dependencies","text":""},{"location":"deployment/clustering/#elasticsearch","title":"ElasticSearch","text":"

In the ElasticSearch configuration of OpenCTI, it is possible to declare all nodes.

- \"ELASTICSEARCH__URL=[\\\"https://user:pass@node1:9200\\\", \\\"https://user:pass@node2:9200\\\", ...]\"\n

Compatibility

OpenCTI is also compatible with OpenSearch and AWS / GCP / Azure native search services based on the ElasticSearch query language.

"},{"location":"deployment/clustering/#redis","title":"Redis","text":"

Redis should be turned to cluster mode:

- REDIS__MODE=cluster\n- \"REDIS__HOSTNAMES=[\\\"node1:6379\\\", \\\"node2:6379\\\", ...]\"\n

Compatibility

OpenCTI is also compatible with ElastiCache, MemoryStore and AWS / GCP / Azure native services based on the Redis protocol.

"},{"location":"deployment/clustering/#rabbitmq","title":"RabbitMQ","text":"

For the RabbitMQ cluster, you will need a TCP load balancer on top of the nodes since the configuration does not support multi-nodes for now:

- RABBITMQ__HOSTNAME=load-balancer-rabbitmq\n

Compatibility

OpenCTI is also compatible with Amazon MQ, CloudAMQP and AWS / GCP / Azure native services based on the AMQP protocol.

"},{"location":"deployment/clustering/#s3-bucket-minio","title":"S3 bucket / MinIO","text":"

MinIO is an open source server able to serve S3 buckets. It can be deployed in cluster mode and is compatible with several storage backend. OpenCTI is compatible with any tool following the S3 standard.

"},{"location":"deployment/clustering/#platform","title":"Platform","text":"

As showed on the schema, best practices for cluster mode and to avoid any congestion in the technological stack are:

When enabling clustering, the number of nodes is displayed in Settings > Parameters.

"},{"location":"deployment/clustering/#managers-and-schedulers","title":"Managers and schedulers","text":"

Also, since some managers like the rule engine, the task manager and the notification manager can take some resources in the OpenCTI NodeJS process, it is highly recommended to disable them in the frontend cluster. OpenCTI automatically handle the distribution and the launching of the engines across all nodes in the cluster except where they are explicitly disabled in the configuration.

"},{"location":"deployment/configuration/","title":"Configuration","text":"

The purpose of this section is to learn how to configure OpenCTI to have it tailored for your production and development needs. It is possible to check all default parameters implemented in the platform in the default.json file.

Here are the configuration keys, for both containers (environment variables) and manual deployment.

Parameters equivalence

The equivalent of a config variable in environment variables is the usage of a double underscores (__) for a level of config.

For example:

\"providers\": {\n  \"ldap\": {\n    \"strategy\": \"LdapStrategy\"\n  }\n}\n

will become:

PROVIDERS__LDAP__STRATEGY=LdapStrategy\n

If you need to put a list of elements for the key, it must have a special formatting. Here is an example for redirect URIs for OpenID config:

\"PROVIDERS__OPENID__CONFIG__REDIRECT_URIS=[\\\"https://demo.opencti.io/auth/oic/callback\\\"]\"\n

"},{"location":"deployment/configuration/#platform","title":"Platform","text":""},{"location":"deployment/configuration/#api-frontend","title":"API & Frontend","text":""},{"location":"deployment/configuration/#basic-parameters","title":"Basic parameters","text":"Parameter Environment variable Default value Description app:port APP__PORT 4000 Listen port of the application app:base_path APP__BASE_PATH Specific URI (ie. /opencti) app:base_url APP__BASE_URL http://localhost:4000 Full URL of the platform (should include the base_path if any) app:request_timeout APP__REQUEST_TIMEOUT 1200000 Request timeout, in ms (default 20 minutes) app:session_timeout APP__SESSION_TIMEOUT 1200000 Session timeout, in ms (default 20 minutes) app:session_idle_timeout APP__SESSION_IDLE_TIMEOUT 0 Idle timeout (locking the screen), in ms (default 0 minute - disabled) app:session_cookie APP__SESSION_COOKIE false Use memory/session cookie instead of persistent one app:admin:email APP__ADMIN__EMAIL admin@opencti.io Default login email of the admin user app:admin:password APP__ADMIN__PASSWORD ChangeMe Default password of the admin user app:admin:token APP__ADMIN__TOKEN ChangeMe Default token (must be a valid UUIDv4) app:health_access_key APP__HEALTH_ACCESS_KEY ChangeMe Access key for the /health endpoint. Must be changed - will not respond to default value. Access with /health?health_access_key=ChangeMe"},{"location":"deployment/configuration/#network-and-security","title":"Network and security","text":"Parameter Environment variable Default value Description http_proxy HTTP_PROXY Proxy URL for HTTP connection (example: http://proxy:80080) https_proxy HTTPS_PROXY Proxy URL for HTTPS connection (example: http://proxy:80080) no_proxy NO_PROXY Comma separated list of hostnames for proxy exception (example: localhost,127.0.0.0/8,internal.opencti.io) app:https_cert:cookie_secure APP__HTTPS_CERT__COOKIE_SECURE false Set the flag \"secure\" for session cookies. app:https_cert:ca APP__HTTPS_CERT__CA Empty list [] Certificate authority paths or content, only if the client uses a self-signed certificate. app:https_cert:key APP__HTTPS_CERT__KEY Certificate key path or content app:https_cert:crt APP__HTTPS_CERT__CRT Certificate crt path or content app:https_cert:reject_unauthorized APP__HTTPS_CERT__REJECT_UNAUTHORIZED If not false, the server certificate is verified against the list of supplied CAs"},{"location":"deployment/configuration/#logging","title":"Logging","text":""},{"location":"deployment/configuration/#errors","title":"Errors","text":"Parameter Environment variable Default value Description app:app_logs:logs_level APP__APP_LOGS__LOGS_LEVEL info The application log level app:app_logs:logs_files APP__APP_LOGS__LOGS_FILES true If application logs is logged into files app:app_logs:logs_console APP__APP_LOGS__LOGS_CONSOLE true If application logs is logged to console (useful for containers) app:app_logs:logs_max_files APP__APP_LOGS__LOGS_MAX_FILES 7 Maximum number of daily files in logs app:app_logs:logs_directory APP__APP_LOGS__LOGS_DIRECTORY ./logs File logs directory"},{"location":"deployment/configuration/#audit","title":"Audit","text":"Parameter Environment variable Default value Description app:audit_logs:logs_files APP__AUDIT_LOGS__LOGS_FILES true If audit logs is logged into files app:audit_logs:logs_console APP__AUDIT_LOGS__LOGS_CONSOLE true If audit logs is logged to console (useful for containers) app:audit_logs:logs_max_files APP__AUDIT_LOGS__LOGS_MAX_FILES 7 Maximum number of daily files in logs app:audit_logs:logs_directory APP__AUDIT_LOGS__LOGS_DIRECTORY ./logs Audit logs directory"},{"location":"deployment/configuration/#telemetry","title":"Telemetry","text":"Parameter Environment variable Default value Description app:telemetry:metrics:enabled APP__TELEMETRY__METRICS__ENABLED false Enable the metrics collection. app:telemetry:metrics:exporter_otlp APP__TELEMETRY__METRICS__EXPORTER_OTLP Port to expose the OTLP endpoint. app:telemetry:metrics:exporter_prometheus APP__TELEMETRY__METRICS__EXPORTER_PROMETHEUS 14269 Port to expose the Prometheus endpoint."},{"location":"deployment/configuration/#maps-references","title":"Maps & references","text":"Parameter Environment variable Default value Description app:map_tile_server_dark APP__MAP_TILE_SERVER_DARK https://map.opencti.io/styles/luatix-dark/{z}/{x}/{y}.png The address of the OpenStreetMap provider with dark theme style app:map_tile_server_light APP__MAP_TILE_SERVER_LIGHT https://map.opencti.io/styles/luatix-light/{z}/{x}/{y}.png The address of the OpenStreetMap provider with light theme style app:reference_attachment APP__REFERENCE_ATTACHMENT false External reference mandatory attachment"},{"location":"deployment/configuration/#functional-customization","title":"Functional customization","text":"Parameter Environment variable Default value Description relations_deduplication:past_days RELATIONS_DEDUPLICATION__PAST_DAYS 30 De-duplicate relations based on start_time and stop_time - n days relations_deduplication:next_days RELATIONS_DEDUPLICATION__NEXT_DAYS 30 De-duplicate relations based on start_time and stop_time + n days relations_deduplication:created_by_based RELATIONS_DEDUPLICATION__CREATED_BY_BASED false Take into account the author to duplicate even if stat_time / stop_time are matching relations_deduplication:types_overrides:relationship_type:past_days RELATIONS_DEDUPLICATION__RELATIONSHIP_TYPE__PAST_DAYS Override the past days for a specific type of relationship (ex. targets) relations_deduplication:types_overrides:relationship_type:next_days RELATIONS_DEDUPLICATION__RELATIONSHIP_TYPE__NEXT_DAYS Override the next days for a specific type of relationship (ex. targets) relations_deduplication:types_overrides:relationship_type:created_by_based RELATIONS_DEDUPLICATION__RELATIONSHIP_TYPE__CREATED_BY_BASED Override the author duplication for a specific type of relationship (ex. targets)"},{"location":"deployment/configuration/#technical-customization","title":"Technical customization","text":"Parameter Environment variable Default value Description app:graphql:playground:enabled APP__GRAPHQL__PLAYGROUND__ENABLED true Enable the playground on /graphql app:graphql:playground:force_disabled_introspection APP__GRAPHQL_PLAYGROUND__FORCE_DISABLED_INTROSPECTION false Introspection is allowed to auth users but can be disabled in needed app:concurrency:retry_count APP__CONCURRENCY__RETRY_COUNT 200 Number of try to get the lock to work an element (create/update/merge, ...) app:concurrency:retry_delay APP__CONCURRENCY__RETRY_DELAY 100 Delay between 2 lock retry (in milliseconds) app:concurrency:retry_jitter APP__CONCURRENCY__RETRY_JITTER 50 Random jitter to prevent concurrent retry (in milliseconds) app:concurrency:max_ttl APP__CONCURRENCY__MAX_TTL 30000 Global maximum time for lock retry (in milliseconds)"},{"location":"deployment/configuration/#dependencies","title":"Dependencies","text":""},{"location":"deployment/configuration/#xtm-suite","title":"XTM Suite","text":"Parameter Environment variable Default value Description xtm:openbas_url XTM__OPENBAS_URL OpenBAS URL xtm:openbas_token XTM__OPENBAS_TOKEN OpenBAS token xtm:openbas_reject_unauthorized XTM__OPENBAS_REJECT_UNAUTHORIZED false Enable TLS certificate check xtm:openbas_disable_display XTM__OPENBAS_DISABLE_DISPLAY false Disable OpenBAS posture in the UI"},{"location":"deployment/configuration/#elasticsearch","title":"ElasticSearch","text":"Parameter Environment variable Default value Description elasticsearch:engine_selector ELASTICSEARCH__ENGINE_SELECTOR auto elk or opensearch, default is auto, please put elk if you use token auth. elasticsearch:engine_check ELASTICSEARCH__ENGINE_CHECK false Disable Search Engine compatibility matrix verification. Caution: OpenCTI was developed in compliance with the compatibility matrix. Setting the parameter to true may result in negative impacts. elasticsearch:url ELASTICSEARCH__URL http://localhost:9200 URL(s) of the ElasticSearch (supports http://user:pass@localhost:9200 and list of URLs) elasticsearch:username ELASTICSEARCH__USERNAME Username can be put in the URL or with this parameter elasticsearch:password ELASTICSEARCH__PASSWORD Password can be put in the URL or with this parameter elasticsearch:api_key ELASTICSEARCH__API_KEY API key for ElasticSearch token auth. Please set also engine_selector to elk elasticsearch:index_prefix ELASTICSEARCH__INDEX_PREFIX opencti Prefix for the indices elasticsearch:ssl:reject_unauthorized ELASTICSEARCH__SSL__REJECT_UNAUTHORIZED true Enable TLS certificate check elasticsearch:ssl:ca ELASTICSEARCH__SSL__CA Custom certificate path or content elasticsearch:search_wildcard_prefix ELASTICSEARCH__SEARCH_WILDCARD_PREFIX false Search includes words with automatic fuzzy comparison elasticsearch:search_fuzzy ELASTICSEARCH__SEARCH_FUZZY false Search will include words not starting with the search keyword"},{"location":"deployment/configuration/#redis","title":"Redis","text":"Parameter Environment variable Default value Description redis:mode REDIS__MODE single Connect to redis in \"single\", \"sentinel or \"cluster\" mode redis:namespace REDIS__NAMESPACE Namespace (to use as prefix) redis:hostname REDIS__HOSTNAME localhost Hostname of the Redis Server redis:hostnames REDIS__HOSTNAMES Hostnames definition for Redis cluster or sentinel mode: a list of host:port objects. redis:port REDIS__PORT 6379 Port of the Redis Server redis:sentinel_master_name REDIS__SENTINEL_MASTER_NAME Name of your Redis Sentinel Master (mandatory in sentinel mode) redis:use_ssl REDIS__USE_SSL false Is the Redis Server has TLS enabled redis:username REDIS__USERNAME Username of the Redis Server redis:password REDIS__PASSWORD Password of the Redis Server redis:ca REDIS__CA [] List of path(s) of the CA certificate(s) redis:trimming REDIS__TRIMMING 2000000 Number of elements to maintain in the stream. (0 = unlimited)"},{"location":"deployment/configuration/#rabbitmq","title":"RabbitMQ","text":"Parameter Environment variable Default value Description rabbitmq:hostname RABBITMQ__HOSTNAME localhost 7 Hostname of the RabbitMQ server rabbitmq:port RABBITMQ__PORT 5672 Port of the RabbitMQ server rabbitmq:port_management RABBITMQ__PORT_MANAGEMENT 15672 Port of the RabbitMQ Management Plugin rabbitmq:username RABBITMQ__USERNAME guest RabbitMQ user rabbitmq:password RABBITMQ__PASSWORD guest RabbitMQ password rabbitmq:queue_type RABBITMQ__QUEUE_TYPE \"classic\" RabbitMQ Queue Type (\"classic\" or \"quorum\") - - - - rabbitmq:use_ssl RABBITMQ__USE_SSL false Use TLS connection rabbitmq:use_ssl_cert RABBITMQ__USE_SSL_CERT Path or cert content rabbitmq:use_ssl_key RABBITMQ__USE_SSL_KEY Path or key content rabbitmq:use_ssl_pfx RABBITMQ__USE_SSL_PFX Path or pfx content rabbitmq:use_ssl_ca RABBITMQ__USE_SSL_CA [] List of path(s) of the CA certificate(s) rabbitmq:use_ssl_passphrase RABBITMQ__SSL_PASSPHRASE Passphrase for the key certificate rabbitmq:use_ssl_reject_unauthorized RABBITMQ__SSL_REJECT_UNAUTHORIZED false Reject rabbit self signed certificate - - - - rabbitmq:management_ssl RABBITMQ__MANAGEMENT_SSL false Is the Management Plugin has TLS enabled rabbitmq:management_ssl_reject_unauthorized RABBITMQ__SSL_REJECT_UNAUTHORIZED true Reject management self signed certificate"},{"location":"deployment/configuration/#s3-bucket","title":"S3 Bucket","text":"Parameter Environment variable Default value Description minio:endpoint MINIO__ENDPOINT localhost Hostname of the S3 Service. Example if you use AWS Bucket S3: s3.us-east-1.amazonaws.com (if minio:bucket_region value is us-east-1). This parameter value can be omitted if you use Minio as an S3 Bucket Service. minio:port MINIO__PORT 9000 Port of the S3 Service. For AWS Bucket S3 over HTTPS, this value can be changed (usually 443). minio:use_ssl MINIO__USE_SSL false Indicates whether the S3 Service has TLS enabled. For AWS Bucket S3 over HTTPS, this value could be true. minio:access_key MINIO__ACCESS_KEY ChangeMe Access key for the S3 Service. minio:secret_key MINIO__SECRET_KEY ChangeMe Secret key for the S3 Service. minio:bucket_name MINIO__BUCKET_NAME opencti-bucket S3 bucket name. Useful to change if you use AWS. minio:bucket_region MINIO__BUCKET_REGION us-east-1 Region of the S3 bucket if you are using AWS. This parameter value can be omitted if you use Minio as an S3 Bucket Service. minio:use_aws_role MINIO__USE_AWS_ROLE false Indicates whether to use AWS role auto credentials. When this parameter is configured, the minio:access_key and minio:secret_key parameters are not necessary."},{"location":"deployment/configuration/#smtp-service","title":"SMTP Service","text":"Parameter Environment variable Default value Description smtp:hostname SMTP__HOSTNAME SMTP Server hostname smtp:port SMTP__PORT 465 SMTP Port (25 or 465 for TLS) smtp:use_ssl SMTP__USE_SSL false SMTP over TLS smtp:reject_unauthorized SMTP__REJECT_UNAUTHORIZED false Enable TLS certificate check smtp:username SMTP__USERNAME SMTP Username if authentication is needed smtp:password SMTP__PASSWORD SMTP Password if authentication is needed"},{"location":"deployment/configuration/#ai-service","title":"AI Service","text":"

AI deployment and cloud services

There are several possibilities for Enterprise Edition customers to use OpenCTI AI endpoints:

Parameter Environment variable Default value Description ai:enabled AI__ENABLED true Enable AI capabilities ai:type AI__TYPE mistralai AI type (mistralai or openai) ai:endpoint AI__ENDPOINT Endpoint URL (empty means default cloud service) ai:token AI__TOKEN Token for endpoint credentials ai:model AI__MODEL Model to be used for text generation (depending on type) ai:model_images AI__MODEL_IMAGES Model to be used for image generation (depending on type)"},{"location":"deployment/configuration/#engines-schedules-and-managers","title":"Engines, Schedules and Managers","text":"Parameter Environment variable Default value Description rule_engine:enabled RULE_ENGINE__ENABLED true Enable/disable the rule engine rule_engine:lock_key RULE_ENGINE__LOCK_KEY rule_engine_lock Lock key of the engine in Redis - - - - history_manager:enabled HISTORY_MANAGER__ENABLED true Enable/disable the history manager history_manager:lock_key HISTORY_MANAGER__LOCK_KEY history_manager_lock Lock key for the manager in Redis - - - - task_scheduler:enabled TASK_SCHEDULER__ENABLED true Enable/disable the task scheduler task_scheduler:lock_key TASK_SCHEDULER__LOCK_KEY task_manager_lock Lock key for the scheduler in Redis task_scheduler:interval TASK_SCHEDULER__INTERVAL 10000 Interval to check new task to do (in ms) - - - - sync_manager:enabled SYNC_MANAGER__ENABLED true Enable/disable the sync manager sync_manager:lock_key SYNC_MANAGER__LOCK_KEY sync_manager_lock Lock key for the manager in Redis sync_manager:interval SYNC_MANAGER__INTERVAL 10000 Interval to check new sync feeds to consume (in ms) - - - - expiration_scheduler:enabled EXPIRATION_SCHEDULER__ENABLED true Enable/disable the scheduler expiration_scheduler:lock_key EXPIRATION_SCHEDULER__LOCK_KEY expired_manager_lock Lock key for the scheduler in Redis expiration_scheduler:interval EXPIRATION_SCHEDULER__INTERVAL 300000 Interval to check expired indicators (in ms) - - - - retention_manager:enabled RETENTION_MANAGER__ENABLED true Enable/disable the retention manager retention_manager:lock_key RETENTION_MANAGER__LOCK_KEY retention_manager_lock Lock key for the manager in Redis retention_manager:interval RETENTION_MANAGER__INTERVAL 60000 Interval to check items to be deleted (in ms) - - - - notification_manager:enabled NOTIFICATION_MANAGER__ENABLED true Enable/disable the notification manager notification_manager:lock_live_key NOTIFICATION_MANAGER__LOCK_LIVE_KEY notification_live_manager_lock Lock live key for the manager in Redis notification_manager:lock_digest_key NOTIFICATION_MANAGER__LOCK_DIGEST_KEY notification_digest_manager_lock Lock digest key for the manager in Redis notification_manager:interval NOTIFICATION_MANAGER__INTERVAL 10000 Interval to push notifications - - - - publisher_manager:enabled PUBLISHER_MANAGER__ENABLED true Enable/disable the publisher manager publisher_manager:lock_key PUBLISHER_MANAGER__LOCK_KEY publisher_manager_lock Lock key for the manager in Redis publisher_manager:interval PUBLISHER_MANAGER__INTERVAL 10000 Interval to send notifications / digests (in ms) - - - - ingestion_manager:enabled INGESTION_MANAGER__ENABLED true Enable/disable the ingestion manager ingestion_manager:lock_key INGESTION_MANAGER__LOCK_KEY ingestion_manager_lock Lock key for the manager in Redis ingestion_manager:interval INGESTION_MANAGER__INTERVAL 300000 Interval to check for new data in remote feeds - - - - playbook_manager:enabled PLAYBOOK_MANAGER__ENABLED true Enable/disable the playbook manager playbook_manager:lock_key PLAYBOOK_MANAGER__LOCK_KEY publisher_manager_lock Lock key for the manager in Redis playbook_manager:interval PLAYBOOK_MANAGER__INTERVAL 60000 Interval to check new playbooks - - - - activity_manager:enabled ACTIVITY_MANAGER__ENABLED true Enable/disable the activity manager activity_manager:lock_key ACTIVITY_MANAGER__LOCK_KEY activity_manager_lock Lock key for the manager in Redis - - - - connector_manager:enabled CONNECTOR_MANAGER__ENABLED true Enable/disable the connector manager connector_manager:lock_key CONNECTOR_MANAGER__LOCK_KEY connector_manager_lock Lock key for the manager in Redis connector_manager:works_day_range CONNECTOR_MANAGER__WORKS_DAY_RANGE 7 Days range before considering the works as too old connector_manager:interval CONNECTOR_MANAGER__INTERVAL 10000 Interval to check the state of the works - - - - import_csv_built_in_connector:enabled IMPORT_CSV_CONNECTOR__ENABLED true Enable/disable the csv import connector import_csv_built_in_connector:validate_before_import IMPORT_CSV_CONNECTOR__VALIDATE_BEFORE_IMPORT false Validates the bundle before importing - - - - file_index_manager:enabled FILE_INDEX_MANAGER__ENABLED true Enable/disable the file indexing manager file_index_manager:stream_lock_key FILE_INDEX_MANAGER__STREAM_LOCK file_index_manager_stream_lock Stream lock key for the manager in Redis file_index_manager:interval FILE_INDEX_MANAGER__INTERVAL 60000 Interval to check for new files - - - - indicator_decay_manager:enabled INDICATOR_DECAY_MANAGER__ENABLED true Enable/disable the file indexing manager indicator_decay_manager:lock_key INDICATOR_DECAY_MANAGER__LOCK_KEY indicator_decay_manager_lock Lock key for the manager in Redis indicator_decay_manager:interval INDICATOR_DECAY_MANAGER__INTERVAL 60000 Interval to check for indicators to update indicator_decay_manager:batch_size INDICATOR_DECAY_MANAGER__BATCH_SIZE 10000 Number of indicators handled by the manager - - - - telemetry_manager:lock_key TELEMETRY_MANAGER__LOCK_LOCK telemetry_manager_lock Lock key for the manager in Redis

Manager's duties

A description of each manager's duties is available on a dedicated page.

"},{"location":"deployment/configuration/#worker-and-connector","title":"Worker and connector","text":"

Can be configured manually using the configuration file config.yml or through environment variables.

Parameter Environment variable Default value Description opencti:url OPENCTI_URL The URL of the OpenCTI platform opencti:token OPENCTI_TOKEN A token of an administrator account with bypass capability - - - - mq:use_ssl / / Depending of the API configuration (fetch from API) mq:use_ssl_ca MQ_USE_SSL_CA Path or ca content mq:use_ssl_cert MQ_USE_SSL_CERT Path or cert content mq:use_ssl_key MQ_USE_SSL_KEY Path or key content mq:use_ssl_passphrase MQ_USE_SSL_PASSPHRASE Passphrase for the key certificate mq:use_ssl_reject_unauthorized MQ_USE_SSL_REJECT_UNAUTHORIZED false Reject rabbit self signed certificate"},{"location":"deployment/configuration/#worker-specific-configuration","title":"Worker specific configuration","text":""},{"location":"deployment/configuration/#logging_1","title":"Logging","text":"Parameter Environment variable Default value Description worker:log_level WORKER_LOG_LEVEL info The log level (error, warning, info or debug)"},{"location":"deployment/configuration/#telemetry_1","title":"Telemetry","text":"Parameter Environment variable Default value Description worker:telemetry_enabled WORKER_TELEMETRY_ENABLED false Enable the Prometheus endpoint worker:telemetry_prometheus_port WORKER_PROMETHEUS_TELEMETRY_PORT 14270 Port of the Prometheus endpoint worker:telemetry_prometheus_host WORKER_PROMETHEUS_TELEMETRY_HOST 0.0.0.0 Listen address of the Prometheus endpoint"},{"location":"deployment/configuration/#connector-specific-configuration","title":"Connector specific configuration","text":"

For specific connector configuration, you need to check each connector behavior.

"},{"location":"deployment/configuration/#elasticsearch_1","title":"ElasticSearch","text":"

If you want to adapt the memory consumption of ElasticSearch, you can use these options:

# Add the following environment variable:\n\"ES_JAVA_OPTS=-Xms8g -Xmx8g\"\n

This can be done in configuration file in the jvm.conf file.

"},{"location":"deployment/connectors/","title":"Connectors","text":""},{"location":"deployment/connectors/#introduction","title":"Introduction","text":"

Connectors list

You are looking for the available connectors? The list is in the OpenCTI Ecosystem.

Connectors are the cornerstone of the OpenCTI platform and allow organizations to easily ingest, enrich or export data. According to their functionality and use case, they are categorized in the following classes.

"},{"location":"deployment/connectors/#import","title":"Import","text":"

These connectors automatically retrieve information from an external organization, application, or service, and convert it to STIX 2.1 bundles. Then, they import it into OpenCTI using the workers.

"},{"location":"deployment/connectors/#enrichment","title":"Enrichment","text":"

When a new object is created in the platform or on the user request, it is possible to trigger the internal enrichment connector to lookup and/or search the object in external organizations, applications, or services. If the object is found, the connectors will generate a STIX 2.1 bundle which will increase the level of knowledge about the concerned object.

"},{"location":"deployment/connectors/#stream","title":"Stream","text":"

These connectors connect to a platform live stream and continuously do something with the received events. In most cases, they are used to consume OpenCTI data and insert them in third-party platforms such as SIEMs, XDRs, EDRs, etc. In some cases, stream connectors can also query the external system on a regular basis and act as import connector for instance to gather alerts and sightings related to CTI data and push them to OpenCTI (bi-directional).

"},{"location":"deployment/connectors/#import-files","title":"Import files","text":"

Information from an uploaded file can be extracted and ingested into OpenCTI. Examples are files attached to a report or a STIX 2.1 file.

"},{"location":"deployment/connectors/#export-files","title":"Export files","text":"

Information stored in OpenCTI can be extracted into different file formats like .csv or .json (STIX 2.1).

"},{"location":"deployment/connectors/#connector-configuration","title":"Connector configuration","text":"

All connectors have to be able to access the OpenCTI API. To allow this connection, they have 2 mandatory configuration parameters, the OPENCTI_URL and the OPENCTI_TOKEN. In addition to these 2 parameters, connectors have other mandatory parameters that need to be set in order to get them work.

Connectors tokens

Be careful, we strongly recommend to use a dedicated token for each connector running in the platform. So you have to create a specific user for each of them.

Also, if all connectors users can run in with a user belonging to the Connectors group (with the Connector role), the Internal Export Files should be run with a user who is Administrator (with bypass capability) because they impersonate the user requesting the export to avoid data leak.

Type Required role Used permissions EXTERNAL_IMPORT Connector Import data with the connector user. INTERNAL_ENRICHMENT Connector Enrich data with the connector user. INTERNAL_IMPORT_FILE Connector Import data with the connector user. INTERNAL_EXPORT_FILE Administrator Export data with the user who requested the export. STREAM Connector Consume the streams with the connector user.

Here is an example of a connector docker-compose.yml file:

- CONNECTOR_ID=ChangeMe\n- CONNECTOR_TYPE=EXTERNAL_IMPORT\n- CONNECTOR_NAME=MITRE ATT&CK\n- CONNECTOR_SCOPE=identity,attack-pattern,course-of-action,intrusion-set,malware,tool,report\n- CONNECTOR_LOG_LEVEL=info\n

Here is an example in a connector config.yml file:

connector:\n  id: 'ChangeMe'\n  type: 'EXTERNAL_IMPORT'\n  name: 'MITRE ATT&CK'\n  scope: 'identity,attack-pattern,course-of-action,intrusion-set,malware,tool,report'\n  log_level: 'info'\n
"},{"location":"deployment/connectors/#networking","title":"Networking","text":"

Be aware that all connectors are reaching RabbitMQ based the RabbitMQ configuration provided by the OpenCTI platform. The connector must be able to reach RabbitMQ on the specified hostname and port. If you have a specific Docker network configuration, please be sure to adapt your docker-compose.yml file in such way that the connector container gets attached to the OpenCTI Network, e.g.:

networks:\n  default:\n    external: true\n    name: opencti-docker_default\n

"},{"location":"deployment/connectors/#connector-token","title":"Connector token","text":""},{"location":"deployment/connectors/#create-the-user","title":"Create the user","text":"

As mentioned previously, it is strongly recommended to run each connector with its own user. The Internal Export File connectors should be launched with a user that belongs to a group which has an \u201cAdministrator\u201d role (with bypass all capabilities enabled).

By default, in platform, a group named \"Connectors\" already exists. So just create a new user with the name [C] Name of the connector in Settings > Security > Users.

"},{"location":"deployment/connectors/#put-the-user-in-the-group","title":"Put the user in the group","text":"

Just go to the user you have just created and add it to the Connectors group.

Then just get the token of the user displayed in the interface.

"},{"location":"deployment/connectors/#docker-activation","title":"Docker activation","text":"

You can either directly run the Docker image of connectors or add them to your current docker-compose.yml file.

"},{"location":"deployment/connectors/#add-a-connector-to-your-deployment","title":"Add a connector to your deployment","text":"

For instance, to enable the MISP connector, you can add a new service to your docker-compose.yml file:

  connector-misp:\n    image: opencti/connector-misp:latest\n    environment:\n      - OPENCTI_URL=http://localhost\n      - OPENCTI_TOKEN=ChangeMe\n      - CONNECTOR_ID=ChangeMe\n      - CONNECTOR_TYPE=EXTERNAL_IMPORT\n      - CONNECTOR_NAME=MISP\n      - CONNECTOR_SCOPE=misp\n      - CONNECTOR_LOG_LEVEL=info\n      - MISP_URL=http://localhost # Required\n      - MISP_KEY=ChangeMe # Required\n      - MISP_SSL_VERIFY=False # Required\n      - MISP_CREATE_REPORTS=True # Required, create report for MISP event\n      - MISP_REPORT_CLASS=MISP event # Optional, report_class if creating report for event\n      - MISP_IMPORT_FROM_DATE=2000-01-01 # Optional, import all event from this date\n      - MISP_IMPORT_TAGS=opencti:import,type:osint # Optional, list of tags used for import events\n      - MISP_INTERVAL=1 # Required, in minutes\n    restart: always\n
"},{"location":"deployment/connectors/#launch-a-standalone-connector","title":"Launch a standalone connector","text":"

To launch standalone connector, you can use the docker-compose.yml file of the connector itself. Just download the latest release and start the connector:

$ wget https://github.com/OpenCTI-Platform/connectors/archive/{RELEASE_VERSION}.zip\n$ unzip {RELEASE_VERSION}.zip\n$ cd connectors-{RELEASE_VERSION}/misp/\n

Change the configuration in the docker-compose.yml according to the parameters of the platform and of the targeted service. Then launch the connector:

$ docker-compose up\n
"},{"location":"deployment/connectors/#manual-activation","title":"Manual activation","text":"

If you want to manually launch connector, you just have to install Python 3 and pip3 for dependencies:

$ apt install python3 python3-pip\n

Download the release of the connectors:

$ wget <https://github.com/OpenCTI-Platform/connectors/archive/{RELEASE_VERSION}.zip>\n$ unzip {RELEASE_VERSION}.zip\n$ cd connectors-{RELEASE_VERSION}/misp/src/\n

Install dependencies and initialize the configuration:

$ pip3 install -r requirements.txt\n$ cp config.yml.sample config.yml\n

Change the config.yml content according to the parameters of the platform and of the targeted service and launch the connector:

$ python3 misp.py\n
"},{"location":"deployment/connectors/#connectors-status","title":"Connectors status","text":"

The connector status can be displayed in the dedicated section of the platform available in Data > Ingestion > Connectors. You will be able to see the statistics of the RabbitMQ queue of the connector:

Problem

If you encounter problems deploying OpenCTI or connectors, you can consult the troubleshooting page page.

"},{"location":"deployment/installation/","title":"Installation","text":"

All components of OpenCTI are shipped both as Docker images and manual installation packages.

Production deployment

For production deployment, we recommend to deploy all components in containers, including dependencies, using native cloud services or orchestration systems such as Kubernetes.

To have more details about deploying OpenCTI and its dependencies in cluster mode, please read the dedicated section.

"},{"location":"deployment/installation/#using-docker","title":"Using Docker","text":"

OpenCTI can be deployed using the docker-compose command.

Deploy FIPS 140-2 compliant components

We are providing FIPS 140-2 compliant images, please read the dedicated documentation to understand how to deploy OpenCTI in FIPS-compliant mode.

"},{"location":"deployment/installation/#pre-requisites","title":"Pre-requisites","text":"

Linux

sudo apt install docker-compose\n

Windows and MacOS

Just download the appropriate Docker for Desktop version for your operating system.

"},{"location":"deployment/installation/#clone-the-repository","title":"Clone the repository","text":"

Docker helpers are available in the Docker GitHub repository.

mkdir -p /path/to/your/app && cd /path/to/your/app\ngit clone https://github.com/OpenCTI-Platform/docker.git\ncd docker\n
"},{"location":"deployment/installation/#configure-the-environment","title":"Configure the environment","text":"

ElasticSearch / OpenSearch configuration

thread_pool.search.queue_size=5000\n

Before running the docker-compose command, the docker-compose.yml file should be configured. By default, the docker-compose.yml file is using environment variables available in the file .env.sample.

You can either rename the file .env.sample in .env and put the expected values or just fill directly the docker-compose.yml with the values corresponding to your environment.

Configuration static parameters

The complete list of available static parameters is available in the configuration section.

Here is an example to quickly generate the .env file under Linux, especially all the default UUIDv4:

sudo apt install -y jq\ncd ~/docker\n(cat << EOF\nOPENCTI_ADMIN_EMAIL=admin@opencti.io\nOPENCTI_ADMIN_PASSWORD=ChangeMePlease\nOPENCTI_ADMIN_TOKEN=$(cat /proc/sys/kernel/random/uuid)\nOPENCTI_BASE_URL=http://localhost:8080\nMINIO_ROOT_USER=$(cat /proc/sys/kernel/random/uuid)\nMINIO_ROOT_PASSWORD=$(cat /proc/sys/kernel/random/uuid)\nRABBITMQ_DEFAULT_USER=guest\nRABBITMQ_DEFAULT_PASS=guest\nELASTIC_MEMORY_SIZE=4G\nCONNECTOR_HISTORY_ID=$(cat /proc/sys/kernel/random/uuid)\nCONNECTOR_EXPORT_FILE_STIX_ID=$(cat /proc/sys/kernel/random/uuid)\nCONNECTOR_EXPORT_FILE_CSV_ID=$(cat /proc/sys/kernel/random/uuid)\nCONNECTOR_IMPORT_FILE_STIX_ID=$(cat /proc/sys/kernel/random/uuid)\nCONNECTOR_EXPORT_FILE_TXT_ID=$(cat /proc/sys/kernel/random/uuid)\nCONNECTOR_IMPORT_DOCUMENT_ID=$(cat /proc/sys/kernel/random/uuid)\nSMTP_HOSTNAME=localhost\nEOF\n) > .env\n

If your docker-compose deployment does not support .env files, just export all environment variables before launching the platform:

export $(cat .env | grep -v \"#\" | xargs)\n

As OpenCTI has a dependency on ElasticSearch, you have to set the vm.max_map_count before running the containers, as mentioned in the ElasticSearch documentation.

sudo sysctl -w vm.max_map_count=1048575\n

To make this parameter persistent, add the following to the end of your /etc/sysctl.conf:

vm.max_map_count=1048575\n
"},{"location":"deployment/installation/#persist-data","title":"Persist data","text":"

The default for OpenCTI data is to be persistent.

In the docker-compose.yml, you will find at the end the list of necessary persistent volumes for the dependencies:

volumes:\n  esdata:     # ElasticSearch data\n  s3data:     # S3 bucket data\n  redisdata:  # Redis data\n  amqpdata:   # RabbitMQ data\n
"},{"location":"deployment/installation/#run-opencti","title":"Run OpenCTI","text":""},{"location":"deployment/installation/#using-single-node-docker","title":"Using single node Docker","text":"

After changing your .env file run docker-compose in detached (-d) mode:

sudo systemctl start docker.service\n# Run docker-compose in detached\ndocker-compose up -d\n
"},{"location":"deployment/installation/#using-docker-swarm","title":"Using Docker swarm","text":"

In order to have the best experience with Docker, we recommend using the Docker stack feature. In this mode you will have the capacity to easily scale your deployment.

# If your virtual machine is not a part of a Swarm cluster, please use:\ndocker swarm init\n

Put your environment variables in /etc/environment:

# If you already exported your variables to .env from above:\nsudo cat .env >> /etc/environment\nsudo bash -c 'cat .env >> /etc/environment'\nsudo docker stack deploy --compose-file docker-compose.yml opencti\n

Installation done

You can now go to http://localhost:8080 and log in with the credentials configured in your environment variables.

"},{"location":"deployment/installation/#manual-installation","title":"Manual installation","text":""},{"location":"deployment/installation/#prerequisites","title":"Prerequisites","text":""},{"location":"deployment/installation/#installation-of-dependencies","title":"Installation of dependencies","text":"

You have to install all the needed dependencies for the main application and the workers. The example below is for Debian-based systems:

sudo apt-get update\nsudo apt-get install build-essential nodejs npm python3 python3-pip python3-dev\n
"},{"location":"deployment/installation/#download-the-application-files","title":"Download the application files","text":"

First, you have to download and extract the latest release file. Then select the version to install depending of your operating system:

For Linux:

For Windows:

We don't provide any Windows release for now. However it is still possible to check the code out, manually install the dependencies and build the software.

mkdir /path/to/your/app && cd /path/to/your/app\nwget <https://github.com/OpenCTI-Platform/opencti/releases/download/{RELEASE_VERSION}/opencti-release-{RELEASE_VERSION}.tar.gz>\ntar xvfz opencti-release-{RELEASE_VERSION}.tar.gz\n
"},{"location":"deployment/installation/#install-the-main-platform","title":"Install the main platform","text":""},{"location":"deployment/installation/#configure-the-application","title":"Configure the application","text":"

The main application has just one JSON configuration file to change and a few Python modules to install

cd opencti\ncp config/default.json config/production.json\n

Change the config/production.json file according to your configuration of ElasticSearch, Redis, RabbitMQ and S3 bucket as well as default credentials (the ADMIN_TOKEN must be a valid UUID).

"},{"location":"deployment/installation/#install-the-python-modules","title":"Install the Python modules","text":"
cd src/python\npip3 install -r requirements.txt\ncd ../..\n
"},{"location":"deployment/installation/#start-the-application","title":"Start the application","text":"

The application is just a NodeJS process, the creation of the database schema and the migration will be done at starting.

Please verify that yarn version is greater than 4 and node version is greater or equals to v19. Please note that some Node.js version are outdated in linux package manager, you can download a recent one in https://nodejs.org/en/download or alternatively nvm can help to chose a recent version of Node.js https://github.com/nvm-sh/nvm

yarn --version\n#4.1.0\nnode --version\n#v20.11.1\n

Once Node.js is setup, you can build and run with (from inside opencti folder):

yarn install\nyarn build\nyarn serv\n

The default username and password are those you have put in the config/production.json file.

"},{"location":"deployment/installation/#install-the-worker","title":"Install the worker","text":"

The OpenCTI worker is used to write the data coming from the RabbitMQ messages broker.

"},{"location":"deployment/installation/#configure-the-worker","title":"Configure the worker","text":"
cd worker\npip3 install -r requirements.txt\ncp config.yml.sample config.yml\n

Change the config.yml file according to your OpenCTI token.

"},{"location":"deployment/installation/#start-as-many-workers-as-you-need","title":"Start as many workers as you need","text":"
python3 worker.py &\npython3 worker.py &\n

Installation done

You can now go to http://localhost:4000 and log in with the credentials configured in your production.json file.

"},{"location":"deployment/installation/#community-contributions","title":"Community contributions","text":""},{"location":"deployment/installation/#terraform","title":"Terraform","text":""},{"location":"deployment/installation/#helm-charts","title":"Helm Charts","text":""},{"location":"deployment/installation/#deploy-behind-a-reverse-proxy","title":"Deploy behind a reverse proxy","text":"

If you want to use OpenCTI behind a reverse proxy with a context path, like https://domain.com/opencti, please change the base_path static parameter.

By default OpenCTI use websockets so don't forget to configure your proxy for this usage, an example with Nginx:

location / {\n    proxy_cache                 off;\n    proxy_buffering             off;\n    proxy_http_version          1.1;\n    proxy_set_header Upgrade    $http_upgrade;\n    proxy_set_header Connection \"upgrade\";\n    proxy_set_header Host       $host;\n    chunked_transfer_encoding   off;\n    proxy_pass                  http://YOUR_UPSTREAM_BACKEND;\n  }\n
"},{"location":"deployment/installation/#additional-memory-information","title":"Additional memory information","text":""},{"location":"deployment/installation/#platform","title":"Platform","text":"

OpenCTI platform is based on a NodeJS runtime, with a memory limit of 8GB by default. If you encounter OutOfMemory exceptions, this limit could be changed:

- NODE_OPTIONS=--max-old-space-size=8096\n
"},{"location":"deployment/installation/#workers-and-connectors","title":"Workers and connectors","text":"

OpenCTI workers and connectors are Python processes. If you want to limit the memory of the process, we recommend to directly use Docker to do that. You can find more information in the official Docker documentation.

"},{"location":"deployment/installation/#elasticsearch","title":"ElasticSearch","text":"

ElasticSearch is also a JAVA process. In order to setup the JAVA memory allocation, you can use the environment variable ES_JAVA_OPTS. You can find more information in the official ElasticSearch documentation.

"},{"location":"deployment/installation/#redis","title":"Redis","text":"

Redis has a very small footprint on keys but will consume memory for the stream. By default the size of the stream is limited to 2 millions which represents a memory footprint around 8 GB. You can find more information in the Redis docker hub.

"},{"location":"deployment/installation/#minio-s3-bucket","title":"MinIO / S3 Bucket","text":"

MinIO is a small process and does not require a high amount of memory. More information are available for Linux here on the Kernel tuning guide.

"},{"location":"deployment/installation/#rabbitmq","title":"RabbitMQ","text":"

The RabbitMQ memory configuration can be find in the RabbitMQ official documentation. RabbitMQ will consumed memory until a specific threshold, therefore it should be configure along with the Docker memory limitation.

"},{"location":"deployment/integrations/","title":"Integrations","text":""},{"location":"deployment/integrations/#introduction","title":"Introduction","text":"

OpenCTI supports multiple ways to integrate with other systems which do not have native connectors or plugins to the platform. Here are the technical features available to ease the connection and the integration of the platform with other applications.

Connectors list

If you are looking for the list of OpenCTI connectors or native integration, please check the OpenCTI Ecosystem.

"},{"location":"deployment/integrations/#native-feeds-and-streams","title":"Native feeds and streams","text":"

To ease integrations with other products, OpenCTI has built-in capabilities to deliver the data to third-parties.

"},{"location":"deployment/integrations/#csv-feeds","title":"CSV Feeds","text":"

It is possible to create as many CSV feeds as needed, based on filters and accessible in HTTP. CSV feeds are available in Data > Data sharing > CSV deeds.

When creating a CSV feed, you need to select one or multiple types of entities to make available. Then, you must assign a field (of an entity type) to each column in the CSV:

Details

For more information about CSV feeds, filters and configuration, please check the Native feeds page.

"},{"location":"deployment/integrations/#taxii-collections","title":"TAXII collections","text":"

Most of the modern cybersecurity systems such as SIEMs, EDRs, XDRs and even firewalls supports the TAXII protocol which is basically a paginated HTTP STIX feed. OpenCTI implements a TAXII 2.1 server with the ability to create as many TAXII collections as needed in Data > Data sharing > TAXII Collections.

TAXII collections are a sub-selection of the knowledge available in the platform and rely on filters. For instance, it is possible to create TAXII collections for pieces of malware with a given label, for indicators with a score greater than n, etc.

"},{"location":"deployment/integrations/#live-streams","title":"Live Streams","text":"

After implementing CSV feeds and TAXII collections, we figured out that those 2 stateless APIs are definitely not enough when it comes to tackle advanced information sharing challenges such as:

That's why we've developed the live streams. They are available in Data > Data sharing > Live streams. As TAXII collections, it is possible to create as many streams as needed using filters.

Streams implement the HTTP SSE (Server-sent events) protocol and give applications the possibility to consume a real time pure STIX 2.1 stream. Stream connectors in the OpenCTI Ecosystem are using live streams to consume data and do something such as create / update / delete information in SIEMs, XDRs, etc.

"},{"location":"deployment/integrations/#authentication","title":"Authentication","text":"

For all previously explained capabilities, as they are over the HTTP protocol, 3 authentication mechanisms are available to consume them.

  1. Using a bearer header with your OpenCTI API key

    Authorization: Bearer a17bc103-8420-4208-bd53-e1f80845d15f\n

    API Key

    Your API key can be found in your profile available clicking on the top right icon.

  2. Using basic authentication

    Username: Your platform username\nPassword: Your plafrom password\nAuthorization: Basic c2FtdWVsLmhhc3NpbmVBZmlsaWdyYW4uaW86TG91aXNlMTMwNCM=\n
  3. Using client certificate authentication

    To know how to configure the client certificate authentication, please consult the authentication configuration section.

"},{"location":"deployment/integrations/#api-and-libraries","title":"API and libraries","text":""},{"location":"deployment/integrations/#graphql-api","title":"GraphQL API","text":"

To allow analysts and developers to implement more custom or complex use cases, a full GraphQL API is available in the application on the /graphql endpoint.

The API can be queried using various GraphQL client such as Postman but you can leverage any HTTP client to forge GraphQL queries using POST methods.

"},{"location":"deployment/integrations/#authentication_1","title":"Authentication","text":"

The API authentication can be performed using the token of a user and a classic Authorization header:

Content-Type: application/json\nAuthorization: Bearer 6b6554c4-bb2c-4c80-9cd3-30288c8bf424\n
"},{"location":"deployment/integrations/#playground","title":"Playground","text":"

The playground is available on the /graphql endpoint. A link button is also available in the profile of your user.

All the schema documentation is directly available in the playground.

If you already logged to OpenCTI with the same browser you should be able to directly do some requests. If you are not authenticated or want to authenticate only through the playground you can use a header configuration using your profile token

Example of configuration (bottom left of the playground):

Additional GraphQL documentation

To find out more about GraphQL and the playground, you can find two additional documentation pages: the GraphQL API page and the GraphQL playground page.

"},{"location":"deployment/integrations/#python-library","title":"Python library","text":"

Since not everyone is familiar with GraphQL APIs, we've developed a Python library to ease the interaction with it. The library is pretty easy to use. To initiate the client:

# coding: utf-8\n\nfrom pycti import OpenCTIApiClient\n\n# Variables\napi_url = \"http://opencti:4000\"\napi_token = \"bfa014e0-e02e-4aa6-a42b-603b19dcf159\"\n\n# OpenCTI initialization\nopencti_api_client = OpenCTIApiClient(api_url, api_token)\n

Then just use the available helpers:

# Search for malware with the keyword \"windows\"\nmalwares = opencti_api_client.malware.list(search=\"windows\")\n\n# Print\nprint(malwares)\n

Details

For more detailed information about the Python library, please read the dedicated section.

"},{"location":"deployment/managers/","title":"Platform managers","text":"

Platform managers are background components that perform various tasks to support some important functionalities in the platform.

Here is a list of all the managers on the platform:

"},{"location":"deployment/managers/#rules-engine","title":"Rules engine","text":"

Allows users to execute pre-defined actions based on the data and events in the platform.

These rules are accessible in Settings > Customization > Rules engine.

The rules engine is designed to help users automate and streamline their cyber threat intelligence processes.

More information can be found here.

"},{"location":"deployment/managers/#history-manager","title":"History manager","text":"

This manager keeps tracks of user/connector interactions on entities in the platform.

It is designed to help users audit and understand the evolution of their CTI data.

"},{"location":"deployment/managers/#activity-manager","title":"Activity manager","text":"

The activity manager in OpenCTI is a component that monitors and logs the user actions in the platform such as login, settings update, and user activities if configured (read, udpate, etc.).

More information can be found here.

"},{"location":"deployment/managers/#background-task-manager","title":"Background task manager","text":"

Is a component that handles the execution of tasks, such as importing data, exporting data and mass operations.

More information can be found here.

"},{"location":"deployment/managers/#expiration-scheduler","title":"Expiration scheduler","text":"

The expiration scheduler is responsible for monitoring expired elements in the platform. It cancels the access rights of expired user accounts and revokes expired indicators from the platform.

"},{"location":"deployment/managers/#synchronization-manager","title":"Synchronization manager","text":"

The synchronization manager enables the data sharing between multiple OpenCTI platforms. It allows the user to create and configure synchronizers which are processes that connect to the live streams of remote OpenCTI platforms and import the data into the local platform.

"},{"location":"deployment/managers/#retention-manager","title":"Retention manager","text":"

The retention manager is a component that allows the user to define rules to help delete data in OpenCTI that is no longer relevant or useful. This helps to optimize the performance and storage of the OpenCTI platform and ensures the quality and accuracy of the data.

More information can be found here.

"},{"location":"deployment/managers/#notification-manager","title":"Notification manager","text":"

The notification manager is a component that allows the user to customize and receive alerts about events/changes in the platform.

More information can be found here.

"},{"location":"deployment/managers/#ingestion-manager","title":"Ingestion manager","text":"

The ingestion manager in OpenCTI is a component that manages the ingestion of data from RSS and TAXII feeds.

"},{"location":"deployment/managers/#playbook-manager","title":"Playbook manager","text":"

The playbook manager handles the automation scenarios which can be fully customized and enabled by platform administrators to enrich, filter and modify the data created or updated in the platform.

Please read the Playbook automation page to get more information.

"},{"location":"deployment/managers/#file-index-manager","title":"File index manager","text":"

The file indexing manager extracts and indexes the text content of the files, and stores it in the database. It allows users to search for text content within files uploaded to the platform.

More information can be found here.

"},{"location":"deployment/managers/#indicator-decay-manager","title":"Indicator decay manager","text":"

The indicator decay manager allows to update indicators score automatically based on configured decay rules.

More information can be found here.

"},{"location":"deployment/managers/#filigran-telemetry-manager","title":"Filigran telemetry manager","text":"

The telemetry manager collects periodically statistical data about platform usage.

More information about data telemetry can be found here.

"},{"location":"deployment/overview/","title":"Overview","text":"

Before starting the installation, let's discover how OpenCTI is working, which dependencies are needed and what are the minimal requirements to deploy it in production.

"},{"location":"deployment/overview/#architecture","title":"Architecture","text":"

The OpenCTI platform relies on several external databases and services in order to work.

"},{"location":"deployment/overview/#platform","title":"Platform","text":"

The platform is the central part of the OpenCTI technological stack. It allows users to access to the user interface but also provides the GraphQL API used by connectors and workers to insert data. In the context of a production deployment, you may need to scale horizontally and launch multiple platforms behind a load balancer connected to the same databases (ElasticSearch, Redis, S3, RabbitMQ).

"},{"location":"deployment/overview/#workers","title":"Workers","text":"

The workers are standalone Python processes consuming messages from the RabbitMQ broker in order to do asynchronous write queries. You can launch as many workers as you need to increase the write performances. At some point, the write performances will be limited by the throughput of the ElasticSearch database cluster.

Number of workers

If you need to increase performances, it is better to launch more platforms to handle worker queries. The recommended setup is to have at least one platform for 3 workers (ie. 9 workers distributed over 3 platforms).

"},{"location":"deployment/overview/#connectors","title":"Connectors","text":"

The connectors are third-party pieces of software (Python processes) that can play five different roles on the platform:

Type Description Examples EXTERNAL_IMPORT Pull data from remote sources, convert it to STIX2 and insert it on the OpenCTI platform. MITRE Datasets, MISP, CVE, AlienVault, Mandiant, etc. INTERNAL_ENRICHMENT Listen for new OpenCTI entities or users requests, pull data from remote sources to enrich. Shodan, DomainTools, IpInfo, etc. INTERNAL_IMPORT_FILE Extract data from files uploaded on OpenCTI trough the UI or the API. STIX 2.1, PDF, Text, HTML, etc. INTERNAL_EXPORT_FILE Generate export from OpenCTI data, based on a single object or a list. STIX 2.1, CSV, PDF, etc. STREAM Consume a platform data stream an do something with events. Splunk, Elastic Security, Q-Radar, etc.

List of connectors

You can find all currently available connectors in the OpenCTI Ecosystem.

"},{"location":"deployment/overview/#infrastructure-requirements","title":"Infrastructure requirements","text":""},{"location":"deployment/overview/#dependencies","title":"Dependencies","text":"Component Version CPU RAM Disk type Disk space ElasticSearch / OpenSearch >= 8.0 / >= 2.9 2 cores \u2265 8GB SSD \u2265 16GB Redis >= 7.1 1 core \u2265 1GB SSD \u2265 16GB RabbitMQ >= 3.11 1 core \u2265 512MB Standard \u2265 2GB S3 / MinIO >= RELEASE.2023-02 1 core \u2265 128MB SSD \u2265 16GB"},{"location":"deployment/overview/#platform_1","title":"Platform","text":"Component CPU RAM Disk type Disk space OpenCTI Core 2 cores \u2265 8GB None (stateless) - Worker(s) 1 core \u2265 128MB None (stateless) - Connector(s) 1 core \u2265 128MB None (stateless) -

Clustering

To have more details about deploying OpenCTI and its dependencies in cluster mode, please read the dedicated section.

"},{"location":"deployment/resources/","title":"Other resources","text":""},{"location":"deployment/resources/#introduction","title":"Introduction","text":"

OpenCTI is an open and modular platform. A lot of connectors, plugins and clients are created by Filigran and by the community. You can find here other resources available to complete your OpenCTI journey.

"},{"location":"deployment/resources/#videos-training","title":"Videos & training","text":""},{"location":"deployment/resources/#articles-news","title":"Articles & news","text":""},{"location":"deployment/resources/#analysis","title":"Analysis","text":""},{"location":"deployment/rollover/","title":"Indices and rollover policies","text":"

Default rollover policies

Since OpenCTI 5.9.0, rollover policies are automatically created when the platform is initialized for the first time. If your platform has been initialized using an older version of OpenCTI or if you would like to understand (and customize) rollover policies please read the following documentation.

"},{"location":"deployment/rollover/#introduction","title":"Introduction","text":"

ElasticSearch and OpenSearch both support rollover on indices. OpenCTI has been designed to be able to use aliases for indices and so support very well index lifecycle policies. Thus, by default OpenCTI initialized indices with a suffix -00001 and use wildcard to query indices. When rollover policies are implemented (default starting OCTI 5.9.X if you initialized your platform at this version), indices are splitted to keep a reasonable volume of data in shards.

"},{"location":"deployment/rollover/#opencti-integration-user-permissions-in-opensearchelasticsearch","title":"OpenCTI Integration User Permissions in OpenSearch/ElasticSearch","text":"

About indices:* in Cluster Permissions

It is crucial to include indices:* permissions in Cluster Permissions for the proper functioning of the OpenCTI integration. Removing these, even if already present in Index Permissions, may result in startup issues for the OpenCTI Platform.

"},{"location":"deployment/rollover/#elasticsearch-configuration","title":"ElasticSearch configuration","text":""},{"location":"deployment/rollover/#indices","title":"Indices","text":"

By default, a rollover policy is applied on all indices used by OpenCTI.

For your information, the indices which can grow rapidly are:

"},{"location":"deployment/rollover/#default-implemented-lifecycle-policy","title":"Default implemented lifecycle policy","text":"

Here is the recommended policy (initialized starting 5.9.X):

"},{"location":"deployment/rollover/#applying-rollover-policies-on-existing-indices","title":"Applying rollover policies on existing indices","text":"

Procedure information

Please read the following only if your platform has been initialized before 5.9.0, otherwise lifecycle policies has been created (but you can still cutomize them).

Unfortunately, to be able to implement rollover policies on ElasticSearch / OpenSearch indices, it will be needed to re-index all the data in new indices using ElasticSearch capabilities.

"},{"location":"deployment/rollover/#shutdown","title":"Shutdown","text":"

First step is to shutdown your OpenCTI platform.

"},{"location":"deployment/rollover/#change-configuration","title":"Change configuration","text":"

Then, in the OpenCTI configuration, change the ElasticSearch / OpenSearch default prefix to octi (default is opencti).

"},{"location":"deployment/rollover/#create-the-rollover-policy","title":"Create the rollover policy","text":"

Create a rollover policy named octi-ilm-policy (in Kibana, Management > Index Lifecycle Policies):

"},{"location":"deployment/rollover/#create-index-templates","title":"Create index templates","text":"

In Kibana, clone the opencti-index-template to have one index template by OpenCTI index with the appropriate rollover policy, index pattern and rollover alias (in Kibana, Management > Index Management > Index Templates).

Create the following index templates:

Here is the overview of all templates (you should have something with octi_ instead of opencti_).

"},{"location":"deployment/rollover/#apply-rollover-policy-on-all-index-templates","title":"Apply rollover policy on all index templates","text":"

Then, going back in the index lifecycle policies screen, you can click on the \"+\" button of the octi-ilm-policy to Add the policy to index template, then add the policy to add previously created template with the proper \"Alias for rollover index\".

"},{"location":"deployment/rollover/#bootstrap-all-new-indices","title":"Bootstrap all new indices","text":"

Before we can re-index, we need to create the new indices with aliases.

PUT octi_history-000001\n{\n  \"aliases\": {\n    \"octi_history\": {\n      \"is_write_index\": true\n    }\n  }\n}\n

Repeat this step for all indices:

"},{"location":"deployment/rollover/#re-index-all-indices","title":"Re-index all indices","text":"

Using the reindex API, re-index all indices one by one:

curl -X POST \"localhost:9200/_reindex?pretty\" -H 'Content-Type: application/json' -d'\n{\n  \"source\": {\n    \"index\": \"opencti_history-000001\"\n  },\n  \"dest\": {\n    \"index\": \"octi_history\"\n  }\n}\n'\n

You will see the rollover policy to be applied and the new indices are automatically rolled-over during re-indexation.

"},{"location":"deployment/rollover/#delete-all-old-indices","title":"Delete all old indices","text":"

Then just delete all indices with the prefix opencti_.

"},{"location":"deployment/rollover/#start-your-platform","title":"Start your platform","text":"

Start your platform, using the new indices.

Rollover documentation

To have more details about automatic rollover and lifecycle policies, please read the official ElasticSearch documentation.

"},{"location":"deployment/troubleshooting/","title":"Troubleshooting","text":"

This page aims to explain the typical errors you can have with your OpenCTI platform.

"},{"location":"deployment/troubleshooting/#finding-the-relevant-logs","title":"Finding the relevant logs","text":"

It is highly recommended to monitor the error logs of the platforms, workers and connectors. All the components have log outputs in an understandable JSON format. If necessary, it is always possible to increase the log level. In production, it is recommended to have the log level set to error.

"},{"location":"deployment/troubleshooting/#platform","title":"Platform","text":"

Here are some useful parameters for platform logging:

- APP__APP_LOGS__LOGS_LEVEL=[error|warning|info|debug]\n- APP__APP_LOGS__LOGS_CONSOLE=true # Output in the container console\n
"},{"location":"deployment/troubleshooting/#connectors","title":"Connectors","text":"

All connectors support the same set of parameters to manage the log level and outputs:

- OPENCTI_JSON_LOGGING=true # Enable / disable JSON logging\n- CONNECTOR_LOG_LEVEL=info=[error|warning|info|debug]\n
"},{"location":"deployment/troubleshooting/#workers","title":"Workers","text":"

The workers can have more or less verbose outputs:

- OPENCTI_JSON_LOGGING=true # Enable / disable JSON logging\n- WORKER_LOG_LEVEL=[error|warning|info|debug]\n
"},{"location":"deployment/troubleshooting/#elasticsearch-opensearch-data","title":"ElasticSearch / OpenSearch data","text":"

Kibana / OpenSearch dashboard

In case you need to troubleshoot the OpenCTI knowledge data, we recommend to install Kibana or OpenSearch dashboard.

"},{"location":"deployment/troubleshooting/#common-errors","title":"Common errors","text":""},{"location":"deployment/troubleshooting/#ingestion-technical-errors","title":"Ingestion technical errors","text":"

Missing reference to handle creation

After 5 retries, if an element required to create another element is missing, the platform raises an exception. It usually comes from a connector that generates inconsistent STIX 2.1 bundles.

Cant upsert entity. Too many entities resolved

OpenCTI received an entity which is matching too many other entities in the platform. In this condition we cannot take a decision. We need to dig into the data bundle to identify why it matches too much entities and fix the data in the bundle / or the platform according to what you expect.

Execution timeout, too many concurrent call on the same entities

The platform supports multi workers and multiple parallel creation but different parameters can lead to some locking timeout in the execution.

If you have this kind of error, limit the number of workers deployed. Try to find the right balance of the number of workers, connectors and elasticsearch sizing.

"},{"location":"deployment/troubleshooting/#ingestion-functional-errors","title":"Ingestion functional errors","text":"

Indicator of type yara is not correctly formatted

OpenCTI check the validity of the indicator rule.

Observable of type IPv4-Addr is not correctly formatted

OpenCTI check the validity of the observable value.

"},{"location":"deployment/troubleshooting/#dependencies-errors","title":"Dependencies errors","text":"

TOO_MANY_REQUESTS/12/disk usage exceeded flood-stage watermark...

Disk full, no space left on the device for ElasticSearch.

"},{"location":"deployment/upgrade/","title":"Upgrade","text":"

Depending on your installation mode, upgrade path may change.

Migrations

The platform is taking care of all necessary underlying migrations in the databases if any. You can upgrade OpenCTI from any version to the latest one, including skipping multiple major releases.

"},{"location":"deployment/upgrade/#using-docker","title":"Using Docker","text":"

Before applying this procedure, please update your docker-compose.yml file with the new version number of container images.

"},{"location":"deployment/upgrade/#for-single-node-docker","title":"For single node Docker","text":"
$ sudo docker-compose stop\n$ sudo docker-compose pull\n$ sudo docker-compose up -d\n
"},{"location":"deployment/upgrade/#for-docker-swarm","title":"For Docker swarm","text":"

For each of services, you have to run the following command:

$ sudo docker service update --force service_name\n
"},{"location":"deployment/upgrade/#manual-installation","title":"Manual installation","text":"

When upgrading the platform, you have to replace all files and restart the platform, the database migrations will be done automatically:

$ yarn serv\n
"},{"location":"development/api-usage/","title":"GraphQL playground","text":"

The GraphQL playground is an integrated development environment (IDE) provided by OpenCTI for exploring and testing GraphQL APIs. It offers a user-friendly interface that allows developers to interactively query the GraphQL schema, experiment with different queries, and visualize the responses.

"},{"location":"development/api-usage/#key-features","title":"Key features","text":""},{"location":"development/api-usage/#interactive-querying","title":"Interactive querying","text":"

The Playground provides a text editor where developers can write GraphQL queries, mutations, and subscriptions. As you type, the Playground offers syntax highlighting, autocompletion, and error checking to aid in query composition.

"},{"location":"development/api-usage/#documentation","title":"Documentation","text":"

Developers can access comprehensive documentation for the GraphQL schema directly within the Playground. This documentation includes descriptions of all available types, fields, and directives, making it easy to understand the data model and construct queries.

"},{"location":"development/api-usage/#query-history","title":"Query history","text":"

The playground keeps track of previously executed queries, allowing developers to revisit and reuse queries from previous sessions. This feature streamlines the development process by eliminating the need to retype complex queries.

"},{"location":"development/api-usage/#response-visualization","title":"Response visualization","text":"

Upon executing a query, the playground displays the response data in a structured and readable format. JSON responses are presented in a collapsible tree view, making it easy to navigate nested data structures and inspect individual fields.

"},{"location":"development/api-usage/#schema-exploration","title":"Schema exploration","text":"

Developers can explore the GraphQL schema using the built-in schema viewer. This feature provides a graphical representation of the schema, showing types, fields, and their relationships. Developers can explore the schema and understand its structure.

"},{"location":"development/api-usage/#getting-started","title":"Getting started","text":"

To access the GraphQL playground, navigate to the GraphQL endpoint of your OpenCTI instance: https://[your-opencti-instance]/graphql. Then, follow these steps to utilize the playground:

  1. Query editor: Write GraphQL queries, mutations, and subscriptions in the text editor. Use syntax highlighting and autocompletion to speed up query composition.
  2. Documentation explorer: Access documentation for the GraphQL schema by clicking on the \"Docs\" tab on the right. Browse types, fields, and descriptions to understand the available data and query syntax.
  3. Query history: View and execute previously executed queries from the \"History\" tab on the top. Reuse queries and experiment with variations without retyping.
  4. Response pane: Visualize query responses in the response pane. Expand and collapse sections to navigate complex data structures and inspect individual fields.
  5. Schema viewer: Explore the GraphQL schema interactively using the \"Schema\" tab on the right. Navigate types, fields, and relationships to understand the data model and plan queries.
"},{"location":"development/api-usage/#external-resources","title":"External Resources","text":"

For a more in-depth understanding of GraphQL and its usage, consider exploring the following external resources:

"},{"location":"development/connectors/","title":"Connector development","text":""},{"location":"development/connectors/#introduction","title":"Introduction","text":"

A connector in OpenCTI is a service that runs next to the platform and can be implemented in almost any programming language that has STIX2 support. Connectors are used to extend the functionality of OpenCTI and allow operators to shift some of the processing workload to external services. To use the conveniently provided OpenCTI connector SDK you need to use Python3 at the moment.

We choose to have a very decentralized approach on connectors, in order to bring a maximum freedom to developers and vendors. So a connector on OpenCTI can be defined by a standalone Python 3 process that pushes an understandable format of data to an ingestion queue of messages.

Each connector must implement a long-running process that can be launched just by executing the main Python file. The only mandatory dependency is the OpenCTIConnectorHelper class that enables the connector to send data to OpenCTI.

"},{"location":"development/connectors/#getting-started","title":"Getting started","text":"

In the beginning first think about your use-case to choose and appropriate connector type - what do want to achieve with your connector? The following table gives you an overview of the current connector types and some typical use-cases:

Connector types

Type Typical use cases Example connector EXTERNAL_IMPORT Integrate external TI provider, Integrate external TI platform AlienVault INTERNAL_ENRICHMENT Enhance existing data with additional knowledge AbuseIP INTERNAL_IMPORT_FILE (Bulk) import knowledge from files Import document INTERNAL_EXPORT_FILE (Bulk) export knowledge to files STIX 2.1, CSV. STREAM Integrate external TI provider, Integrate external TI platform Elastic Security

After you've selected your connector type make yourself familiar with STIX2 and the supported relationships in OpenCTI. Having some knowledge about the internal data models with help you a lot with the implementation of your idea.

"},{"location":"development/connectors/#preparation","title":"Preparation","text":""},{"location":"development/connectors/#environment-setup","title":"Environment Setup","text":"

To develop and test your connector, you need a running OpenCTI instance with the frontend and the messaging broker accessible. If you don't plan on developing anything for the OpenCTI platform or the frontend, the easiest setup for the connector development is using the docker setup, For more details see here.

"},{"location":"development/connectors/#coding-setup","title":"Coding Setup","text":"

To give you an easy starting point we prepared an example connector in the public repository you can use as template to bootstrap your development.

Some prerequisites we recommend to follow this tutorial:

In the terminal check out the connectors repository and copy the template connector to $myconnector (replace it with your name throughout the following text examples).

$ pip3 install black flake8 pycti\n# Fork the current repository, then clone your fork\n$ git clone https://github.com/YOUR-USERNAME/connectors.git\n$ cd connectors\n$ git remote add upstream https://github.com/OpenCTI-Platform/connectors.git\n# Create a branch for your feature/fix\n$ git checkout -b [branch-name]\n# Copy the appropriate template directory for the connector type\n$ cp -r templates/$connector_type $connector_type/$myconnector\n$ cd $connector_type/$myconnector\n$ ls -R\nDockerfile              docker-compose.yml      requirements.txt\nREADME.md               entrypoint.sh           src\n\n./src:\nlib     main.py\n\n./src/lib:\n$connector_type.py\n
"},{"location":"development/connectors/#changing-the-template","title":"Changing the template","text":"

There are a few files in the template we need to change for our connector to be unique. You can check for all places you need to change you connector name with the following command (the output will look similar):

$ grep -Ri template .\n\nREADME.md:# OpenCTI Template Connector\nREADME.md:| `connector_type`                     | `CONNECTOR_TYPE`                    | Yes          | Must be `Template_Type` (this is the connector type).                                                                                                      |\nREADME.md:| `connector_name`                     | `CONNECTOR_NAME`                    | Yes          | Option `Template`                                                                                                                                          |\nREADME.md:| `connector_scope`                    | `CONNECTOR_SCOPE`                   | Yes          | Supported scope: Template Scope (MIME Type or Stix Object)                                                                                                 |\nREADME.md:| `template_attribute`                 | `TEMPLATE_ATTRIBUTE`                | Yes          | Additional setting for the connector itself                                                                                                                |\ndocker-compose.yml:  connector-template:\ndocker-compose.yml:    image: opencti/connector-template:4.5.5\ndocker-compose.yml:      - CONNECTOR_TYPE=Template_Type\ndocker-compose.yml:      - CONNECTOR_NAME=Template\ndocker-compose.yml:      - CONNECTOR_SCOPE=Template_Scope # MIME type or Stix Object\nentrypoint.sh:cd /opt/opencti-connector-template\nDockerfile:COPY src /opt/opencti-template\nDockerfile:    cd /opt/opencti-connector-template && \\\nsrc/main.py:class Template:\nsrc/main.py:            \"TEMPLATE_ATTRIBUTE\", [\"template\", \"attribute\"], config, True\nsrc/main.py:        connectorTemplate = Template()\nsrc/main.py:        connectorTemplate.run()\nsrc/config.yml.sample:  type: 'Template_Type'\nsrc/config.yml.sample:  name: 'Template'\nsrc/config.yml.sample:  scope: 'Template_Scope' # MIME type or SCO\n

Required changes:

"},{"location":"development/connectors/#development","title":"Development","text":""},{"location":"development/connectors/#initialize-the-opencti-connector-helper","title":"Initialize the OpenCTI connector helper","text":"

After getting the configuration parameters of your connector, you have to initialize the OpenCTI connector helper by using the pycti Python library. This is shown in the following example:

class TemplateConnector:\n    def __init__(self):\n                # Instantiate the connector helper from config\n        config_file_path = os.path.dirname(os.path.abspath(__file__)) + \"/config.yml\"\n        config = (\n            yaml.load(open(config_file_path), Loader=yaml.SafeLoader)\n            if os.path.isfile(config_file_path)\n            else {}\n        )\n        self.helper = OpenCTIConnectorHelper(config)\n                self.custom_attribute = get_config_variable(\n            \"TEMPLATE_ATTRIBUTE\", [\"template\", \"attribute\"], config\n        )\n

Since there are some basic differences in the tasks of the different connector classes, the structure is also a bit class dependent. While the external-import and the stream connector run independently in a regular interval or constantly, the other 3 connector classes only run when being requested by the OpenCTI platform.

The self-triggered connectors run independently, but the OpenCTI need to define a callback function, which can be executed for the connector to start its work. This is done via self.helper.listen(self._process_message) . In the appended examples, the difference of the setup can be seen.

Self-triggered Connectors

OpenCTI triggered

from pycti import OpenCTIConnectorHelper, get_config_variable\n\nclass TemplateConnector:\n    def __init__(self) -> None:\n                # Initialization procedures\n                [...]\n        self.template_interval = get_config_variable(\n            \"TEMPLATE_INTERVAL\", [\"template\", \"interval\"], config, True\n        )\n\n    def get_interval(self) -> int:\n        return int(self.template_interval) * 60 * 60 * 24\n\n    def run(self) -> None:\n                # Main procedure\n\nif __name__ == \"__main__\":\n    try:\n        template_connector = TemplateConnector()\n        template_connector.run()\n    except Exception as e:\n        print(e)\n        time.sleep(10)\n        exit(0)\n
from pycti import OpenCTIConnectorHelper, get_config_variable\n\nclass TemplateConnector:\n    def __init__(self) -> None:\n                # Initialization procedures\n                [...]\n\n    def _process_message(self, data: dict) -> str:\n                # Main procedure                \n\n    # Start the main loop\n    def start(self) -> None:\n        self.helper.listen(self._process_message)\n\nif __name__ == \"__main__\":\n    try:\n        template_connector = TemplateConnector()\n        template_connector.start()\n    except Exception as e:\n        print(e)\n        time.sleep(10)\n        exit(0)\n
"},{"location":"development/connectors/#write-and-read-operations","title":"Write and Read Operations","text":"

When using the OpenCTIConnectorHelper class, there are two way for reading from or writing data to the OpenCTI platform.

  1. via the OpenCTI API interface via self.helper.api
  2. via the OpenCTI worker via self.send_stix2_bundle
"},{"location":"development/connectors/#sending-data-to-the-opencti-platform","title":"Sending data to the OpenCTI platform","text":"

The recommended way for creating or updating data in the OpenCTI platform is via the OpenCTI worker. This enables the connector to just send and forget about thousands of entities at once to without having to think about the ingestion order, performance or error handling.

\u26a0\ufe0f **Please DO NOT use the api interface to create new objects in connectors.**

The OpenCTI connector helper method send_stix2_bundle must be used to send data to OpenCTI. The send_stix2_bundle function takes 2 arguments.

  1. A serialized STIX2 bundle as a string (mandatory)
  2. A list of entities types that should be ingested (optional)

Here is an example using the STIX2 Python library:

from stix2 import Bundle, AttackPattern\n\n[...]\n\nattack_pattern = AttackPattern(name='Evil Pattern')\n\nbundle_objects = []\nbundle_objects.append(attack_pattern)\n\nbundle = Bundle(objects=bundle_objects).serialize()\nbundles_sent = self.opencti_connector_helper.send_stix2_bundle(bundle)\n
"},{"location":"development/connectors/#reading-from-the-opencti-platform","title":"Reading from the OpenCTI platform","text":"

Read queries to the OpenCTI platform can be achieved using the API and the STIX IDs can be attached to reports to create the relationship between those two entities.

entity = self.helper.api.vulnerability.read(\n    filters={\"key\": \"name\", \"values\": [\"T1234\"]}\n)\n

If you want to add the found entity via objects_refs to another SDO, simple add a list of stix_ids to the SDO. Here's an example using the entity from the code snippet above:

from stix2 import Report\n\n[...]\n\nreport = Report(\n    id=report[\"standard_id\"],\n  object_refs=[entity[\"standard_id\"]],\n)\n
"},{"location":"development/connectors/#logging","title":"Logging","text":"

When something crashes at a user's, you as a developer want to know as much as possible about this incident to easily improve your code and remove this issue. To do so, it is very helpful if your connector documents what it does. Use info messages for big changes like the beginning or the finishing of an operation, but to facilitate your bug removal attempts, implement debug messages for minor operation changes to document different steps in your code.

When encountering a crash, the connector's user can easily restart the troubling connector with the debug logging activated.

Using those additional log messages, the bug report is more enriched with information about the possible cause of the problem. Here's an example of how the logging should be implemented:

        def run(self) -> None:\n                self.helper.log_info('Template connector starts')\n                results = self._ask_for_news()\n                [...]\n\n        def _ask_for_news() -> None:\n                overall = []\n                for i in range(0, 10):\n                        self.log_debug(f\"Asking about news with count '{i}'\")\n                        # Do something\n                        self.log_debug(f\"Resut: '{result}'\")\n                        overall.append(result)\n                return overall\n

Please make sure that the debug messages rich of useful information, but that they are not redundant and that the user is not drowned by unnecessary information.

"},{"location":"development/connectors/#additional-implementations","title":"Additional implementations","text":"

If you are still unsure about how to implement certain things in your connector, we advise you to have a look at the code of other connectors of the same type. Maybe they are already using approach which is suitable for addressing to your problem.

"},{"location":"development/connectors/#opencti-triggered-connector-special-cases","title":"OpenCTI triggered Connector - Special cases","text":""},{"location":"development/connectors/#data-layout-of-dictionary-from-callback-function","title":"Data Layout of Dictionary from Callback function","text":"

OpenCTI sends the connector a few instructions via the data dictionary in the callback function. Depending on the connector type, the data dictionary content is a bit different. Here are a few examples for each connector type.

Internal Import Connector

Internal Enrichment Connector

{ \n  \"file_id\": \"<fileId>\",\n  \"file_mime\": \"application/pdf\", \n  \"file_fetch\": \"storage/get/<file_id>\", // Path to get the file\n  \"entity_id\": \"report--82843863-6301-59da-b783-fe98249b464e\", // Context of the upload\n}\n
{ \n  \"entity_id\": \"<stixCoreObjectId>\" // StixID of the object wanting to be enriched\n}\n

Internal Export Connector

{ \n  \"export_scope\": \"single\", // 'single' or 'list'\n  \"export_type\": \"simple\", // 'simple' or 'full'\n  \"file_name\": \"<fileName>\", // Export expected file name\n  \"max_marking\": \"<maxMarkingId>\", // Max marking id\n  \"entity_type\": \"AttackPattern\", // Exported entity type\n  // ONLY for single entity export\n  \"entity_id\": \"<entity.id>\", // Exported element\n  // ONLY for list entity export\n  \"list_params\": \"[<parameters>]\" // Parameters for finding entities\n}\n
"},{"location":"development/connectors/#self-triggered-connector-special-cases","title":"Self triggered Connector - Special cases","text":""},{"location":"development/connectors/#initiating-a-work-before-pushing-data","title":"Initiating a 'Work' before pushing data","text":"

For self-triggered connectors, OpenCTI has to be told about new jobs to process and to import. This is done by registering a so called work before sending the stix bundle and signalling the end of a work. Here an example:

By implementing the work registration, they will show up as shown in this screenshot for the MITRE ATT&CK connector:

def run() -> None:\n        # Anounce upcoming work\n        timestamp = int(time.time())\n        now = datetime.utcfromtimestamp(timestamp)\n    friendly_name = \"Template run @ \" + now.strftime(\"%Y-%m-%d %H:%M:%S\")\n    work_id = self.helper.api.work.initiate_work(\n                self.helper.connect_id, friendly_name\n        )\n\n        [...]\n        # Send Stix bundle\n        self.helper.send_stix2_bundle(\n                bundle,\n                entities_types=self.helper.connect_scope,\n                update=True,\n                work_id=work_id,\n        )\n        # Finish the work\n        self.helper.log_info(\n            f\"Connector successfully run, storing last_run as {str(timestamp)}\"\n    )              \n        message = \"Last_run stored, next run in: {str(round(self.get_interval() / 60 / 60 / 24, 2))} days\"\n        self.helper.api.work.to_processed(work_id, message)\n
"},{"location":"development/connectors/#interval-handling","title":"Interval handling","text":"

The connector is also responsible for making sure that it runs in certain intervals. In most cases, the intervals are definable in the connector config and then only need to be set and updated during the runtime.

class TemplateConnector:\n    def __init__(self) -> None:\n                # Initialization procedures\n                [...]\n        self.template_interval = get_config_variable(\n            \"TEMPLATE_INTERVAL\", [\"template\", \"interval\"], config, True\n        )\n\n    def get_interval(self) -> int:\n        return int(self.template_interval) * 60 * 60 * 24\n\n        def run(self) -> None:\n        self.helper.log_info(\"Fetching knowledge...\")\n        while True:\n            try:\n                # Get the current timestamp and check\n                timestamp = int(time.time())\n                current_state = self.helper.get_state()\n                if current_state is not None and \"last_run\" in current_state:\n                    last_run = current_state[\"last_run\"]\n                    self.helper.log_info(\n                        \"Connector last run: \"\n                        + datetime.utcfromtimestamp(last_run).strftime(\n                            \"%Y-%m-%d %H:%M:%S\"\n                        )\n                    )\n                else:\n                    last_run = None\n                    self.helper.log_info(\"Connector has never run\")\n                # If the last_run is more than interval-1 day\n                if last_run is None or (\n                    (timestamp - last_run)\n                    > ((int(self.template_interval) - 1) * 60 * 60 * 24)\n                ):\n                    timestamp = int(time.time())\n                    now = datetime.utcfromtimestamp(timestamp)\n                    friendly_name = \"Connector run @ \" + now.strftime(\"%Y-%m-%d %H:%M:%S\")\n\n                                        ###\n                                        # RUN CODE HERE     \n                                        ###\n\n                    # Store the current timestamp as a last run\n                    self.helper.log_info(\n                        \"Connector successfully run, storing last_run as \"\n                        + str(timestamp)\n                    )\n                    self.helper.set_state({\"last_run\": timestamp})\n                    message = (\n                        \"Last_run stored, next run in: \"\n                        + str(round(self.get_interval() / 60 / 60 / 24, 2))\n                        + \" days\"\n                    )\n                    self.helper.api.work.to_processed(work_id, message)\n                    self.helper.log_info(message)\n                    time.sleep(60)\n                else:\n                    new_interval = self.get_interval() - (timestamp - last_run)\n                    self.helper.log_info(\n                        \"Connector will not run, next run in: \"\n                        + str(round(new_interval / 60 / 60 / 24, 2))\n                        + \" days\"\n                    )\n                    time.sleep(60)\n
"},{"location":"development/connectors/#running-the-connector","title":"Running the connector","text":"

For development purposes, it is easier to simply run the python script locally until everything works as it sould.

$ virtualenv env\n$ source ./env/bin/activate\n$ pip3 install -r requirements\n$ cp config.yml.sample config.yml\n# Define the opencti url and token, as well as the connector's id\n$ vim config.yml\n$ python3 main.py\nINFO:root:Listing Threat-Actors with filters null.\nINFO:root:Connector registered with ID: a2de809c-fbb9-491d-90c0-96c7d1766000\nINFO:root:Starting ping alive thread\n...\n
"},{"location":"development/connectors/#final-testing","title":"Final Testing","text":"

Before submitting a Pull Request, please test your code for different use cases and scenarios. We don't have an automatic testing suite for the connectors yet, thus we highly depend on developers thinking about creative scenarios their code could encounter.

"},{"location":"development/connectors/#prepare-for-release","title":"Prepare for release","text":"

If you plan to provide your connector to be used by the community (\u2764\ufe0f) your code should pass the following (minimum) criteria.

# Linting with flake8 contains no errors or warnings\n$ flake8 --ignore=E,W\n# Verify formatting with black\n$ black .\nAll done! \u2728 \ud83c\udf70 \u2728\n1 file left unchanged.\n# Verify import sorting\n$ isort --profile black .\nFixing /path/to/connector/file.py\n# Push you feature/fix on Github\n$ git add [file(s)]\n$ git commit -m \"[connector_name] descriptive message\"\n$ git push origin [branch-name]\n# Open a pull request with the title \"[connector_name] message\"\n

If you have any trouble with this just reach out to the OpenCTI core team. We are happy to assist with this.

"},{"location":"development/environment_ubuntu/","title":"Prerequisites Ubuntu","text":"

Development stack require some base software that need to be installed.

"},{"location":"development/environment_ubuntu/#docker-or-podman","title":"Docker or podman","text":"

Platform dependencies in development are deployed through container management, so you need to install a container stack.

We currently support docker and podman.

$ sudo apt-get install docker docker-compose curl\n
sudo apt-get -y install podman\n

As OpenCTI has a dependency to ElasticSearch, you have to set the vm.max_map_count before running the containers, as mentioned in the ElasticSearch documentation.

$ sudo sysctl -w vm.max_map_count=262144\n
"},{"location":"development/environment_ubuntu/#nodejs-and-yarn","title":"NodeJS and yarn","text":"

The platform is developed on nodejs technology, so you need to install node and the yarn package manager.

$ sudo apt-get install nodejs\n$ sudo curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -\n$ sudo echo \"deb https://dl.yarnpkg.com/debian/ stable main\" | sudo tee /etc/apt/sources.list.d/yarn.list\n$ sudo apt-get update && sudo apt-get install yarn\n
"},{"location":"development/environment_ubuntu/#python-runtime","title":"Python runtime","text":"

For worker and connectors, a python runtime is needed.

$ sudo apt-get install python3 python3-pip\n
"},{"location":"development/environment_ubuntu/#git-and-dev-tool","title":"Git and dev tool","text":"
$ sudo apt-get install git-all\n
"},{"location":"development/environment_windows/","title":"Prerequisites Windows","text":"

Development stack require some base software that need to be installed.

"},{"location":"development/environment_windows/#docker-or-podman","title":"Docker or podman","text":"

Platform dependencies in development are deployed through container management, so you need to install a container stack.

We currently support docker and postman.

Docker Desktop from - https://docs.docker.com/desktop/install/windows-install/

wsl --set-default-version 2

"},{"location":"development/environment_windows/#nodejs-and-yarn","title":"NodeJS and yarn","text":"

The platform is developed on nodejs technology, so you need to install node and the yarn package manager.

"},{"location":"development/environment_windows/#python-runtime","title":"Python runtime","text":"

For worker and connectors, a python runtime is needed. Even if you already have a python runtime installed through node installation, on windows some nodejs package will be recompiled with python and C++ runtime.

For this reason Visual Studio Build Tools is required.

"},{"location":"development/environment_windows/#git-and-dev-tool","title":"Git and dev tool","text":""},{"location":"development/platform/","title":"Platform development","text":""},{"location":"development/platform/#introduction","title":"Introduction","text":"

This summary should give you a detailed setup description for initiating the OpenCTI setup environment necessary for developing on the OpenCTI platform, a client library or the connectors. This page document how to set up an \"All-in-One\" development environment for OpenCTI. The devenv will contain data of 3 different repositories:

"},{"location":"development/platform/#platform","title":"Platform","text":"

Contains the platform OpenCTI project code base:

"},{"location":"development/platform/#connectors","title":"Connectors","text":"

Contains a lot of developed connectors, as a source of inspiration for your new connector.

"},{"location":"development/platform/#client-python","title":"Client python","text":"

Contains the source code of the python library used in worker or connectors.

"},{"location":"development/platform/#prerequisites","title":"Prerequisites","text":"

Some tools are needed before starting to develop. Please check Ubuntu prerequisites or Windows prerequisites

"},{"location":"development/platform/#clone-the-projects","title":"Clone the projects","text":"

Fork and clone the git repositories

"},{"location":"development/platform/#dependencies-containers","title":"Dependencies containers","text":"

In development dependencies are deployed trough containers. A development compose file is available in ~/opencti/opencti-platform/opencti-dev

cd ~/docker\n#Start the stack in background\ndocker-compose -f ./docker-compose-dev.yml up -d\n

You have now all the dependencies of OpenCTI running and waiting for product to run.

"},{"location":"development/platform/#backend-api","title":"Backend / API","text":""},{"location":"development/platform/#python-virtual-env","title":"Python virtual env","text":"

The GraphQL API is developed in JS and with some python code. As it's an \"all-in-one\" installation, the python environment will be installed in a virtual environment.

cd ~/opencti/opencti-platform/opencti-graphql\npython3 -m venv .venv --prompt \"graphql\"\nsource .venv/bin/activate\npip install --upgrade pip wheel setuptools\nyarn install\nyarn install:python \ndeactivate\n
"},{"location":"development/platform/#development-configuration","title":"Development configuration","text":"

The API can be specifically configured with files depending on the starting profile. By default, the default.json file is used and will be correctly configured for local usage except for admin password

So you need to create a development profile file. You can duplicate the default file and adapt if for you need.

cd ~/opencti/opencti-platform/opencti-graphql/config\ncp default.json development.json\n

At minimum adapt the admin part for the password and token.

    \"admin\": {\n      \"email\": \"admin@opencti.io\",\n      \"password\": \"MyNewPassord\",\n      \"token\": \"UUID generated with https://www.uuidgenerator.net\"\n    }\n

"},{"location":"development/platform/#install-start","title":"Install / start","text":"

Before starting the backend you need to install the nodejs modules

cd ~/opencti/opencti-platform/opencti-graphql\nyarn install\n

Then you can simply start the backend API with the yarn start command

cd ~/opencti/opencti-platform/opencti-graphql\nyarn start\n

The platform will start logging some interesting information

{\"category\":\"APP\",\"level\":\"info\",\"message\":\"[OPENCTI] Starting platform\",\"timestamp\":\"2023-07-02T16:37:10.984Z\",\"version\":\"5.8.7\"}\n{\"category\":\"APP\",\"level\":\"info\",\"message\":\"[OPENCTI] Checking dependencies statuses\",\"timestamp\":\"2023-07-02T16:37:10.987Z\",\"version\":\"5.8.7\"}\n{\"category\":\"APP\",\"level\":\"info\",\"message\":\"[SEARCH] Elasticsearch (8.5.2) client selected / runtime sorting enabled\",\"timestamp\":\"2023-07-02T16:37:11.014Z\",\"version\":\"5.8.7\"}\n{\"category\":\"APP\",\"level\":\"info\",\"message\":\"[CHECK] Search engine is alive\",\"timestamp\":\"2023-07-02T16:37:11.015Z\",\"version\":\"5.8.7\"}\n...\n{\"category\":\"APP\",\"level\":\"info\",\"message\":\"[INIT] Platform initialization done\",\"timestamp\":\"2023-07-02T16:37:11.622Z\",\"version\":\"5.8.7\"}\n{\"category\":\"APP\",\"level\":\"info\",\"message\":\"[OPENCTI] API ready on port 4000\",\"timestamp\":\"2023-07-02T16:37:12.382Z\",\"version\":\"5.8.7\"}\n

If you want to start on another profile you can use the -e parameter. For example here to use the profile.json configuration file.

yarn start -e profile\n
"},{"location":"development/platform/#code-check","title":"Code check","text":"

Before pushing your code you need to validate the syntax and ensure the testing will be validated.

"},{"location":"development/platform/#for-validation","title":"For validation","text":"

yarn lint

yarn check-ts

"},{"location":"development/platform/#for-testing","title":"For testing","text":"

For starting the test you will need to create a test.json configuration file. You can use the same dependencies by only adapting all prefix for all dependencies.

Tests are using dedicated indices in the Elastic database (prefixed with test-* or the prefix that you have set up in test.json).

The following command will run the complete test suite using vitest, which might take more than 30 minutes. It starts by cleaning up the test database and seeding a minimal dataset. The file vitest.config.test.ts can be edited to run only a specific file pattern.

yarn test:dev

We also provide utility scripts to ease the development of new tests, especially integration tests that rely on the sample data loaded after executing 00-inject/loader-test.ts.

To solely initialize the test database with this sample dataset run:

yarn test:dev:init

And then, execute the following command to run the pattern specified in the file vitest.config.test.ts, or add a file name to the command line to run only this test file.

yarn test:dev:resume

This last command will NOT cleanup & initialize the test database and thus will be quicker to execute.

"},{"location":"development/platform/#frontend","title":"Frontend","text":""},{"location":"development/platform/#install-start_1","title":"Install / start","text":"

Before starting the backend you need to install the nodejs modules

cd ~/opencti/opencti-platform/opencti-front\nyarn install\n

Then you can simply start the frontend with the yarn start command

cd ~/opencti/opencti-platform/opencti-front\nyarn start\n

The frontend will start with some interesting information

[INFO] [default] compiling...\n[INFO] [default] compiled documents: 1592 reader, 1072 normalization, 1596 operation text\n[INFO] Compilation completed.\n[INFO] Done.\n[HPM] Proxy created: /stream  -> http://localhost:4000\n[HPM] Proxy created: /storage  -> http://localhost:4000\n[HPM] Proxy created: /taxii2  -> http://localhost:4000\n[HPM] Proxy created: /feeds  -> http://localhost:4000\n[HPM] Proxy created: /graphql  -> http://localhost:4000\n[HPM] Proxy created: /auth/**  -> http://localhost:4000\n[HPM] Proxy created: /static/flags/**  -> http://localhost:4000\n

The web UI should be accessible on http://127.0.0.1:3000

"},{"location":"development/platform/#code-check_1","title":"Code check","text":"

Before pushing your code you need to validate the syntax and ensure the testing will be validated.

"},{"location":"development/platform/#for-validation_1","title":"For validation","text":"

yarn lint

yarn check-ts

"},{"location":"development/platform/#for-testing_1","title":"For testing","text":"

yarn test

"},{"location":"development/platform/#worker","title":"Worker","text":"

Running a worker is required when you want to develop on the ingestion or import/export connectors.

"},{"location":"development/platform/#python-virtual-env_1","title":"Python virtual env","text":"
cd ~/opencti/opencti-worker/src\npython3 -m venv .venv --prompt \"worker\"\nsource .venv/bin/activate\npip3 install --upgrade pip wheel setuptools\npip3 install -r requirements.txt\ndeactivate\n
"},{"location":"development/platform/#install-start_2","title":"Install / start","text":"
cd ~/opencti/opencti-worker/src\nsource .venv/bin/activate\npython worker.py\n
"},{"location":"development/platform/#connectors_1","title":"Connectors","text":"

For connectors development, please take a look to Connectors development dedicated page.

"},{"location":"development/platform/#production-build","title":"Production build","text":"

Based on development source you can build the package for production. This package will be minified and optimized with esbuild.

$ cd opencti-frontend\n$ yarn build\n$ cd ../opencti-graphql\n$ yarn build\n

After the build you can start the production build with yarn serv. This build will use the production.json configuration file

$ cd ../opencti-graphql\n$ yarn serv\n
"},{"location":"development/python/","title":"Python library","text":"

The PyCTI library is the official Python client for OpenCTI. It is made to help developers interact with the openCTI plaform.

"},{"location":"development/python/#installation","title":"Installation","text":"

To install the latest Python client library, please use pip:

$ pip3 install pycti\n
"},{"location":"development/python/#using-the-helper-functions","title":"Using the helper functions","text":"

The main class OpenCTIApiClient contains all what you need to interact with the platform, you just have to initialize it.

The following example shows how you create an indicator in OpenCTI using the python library with TLP marking and OpenCTI compatible date format.

from dateutil.parser import parse\nfrom pycti import OpenCTIApiClient\nfrom stix2 import TLP_GREEN\n\n# OpenCTI API client initialization\nopencti_api_client = OpenCTIApiClient(\"https://myopencti.server\", \"mysupersecrettoken\")\n\n# Define an OpenCTI compatible date\ndate = parse(\"2019-12-01\").strftime(\"%Y-%m-%dT%H:%M:%SZ\")\n\n# Get the OpenCTI marking for stix2 TLP_GREEN\nTLP_GREEN_CTI = opencti_api_client.marking_definition.read(id=TLP_GREEN[\"id\"])\n\n# Use the client to create an indicator in OpenCTI\nindicator = opencti_api_client.indicator.create(\n    name=\"C2 server of the new campaign\",\n    description=\"This is the C2 server of the campaign\",\n    pattern_type=\"stix\",\n    pattern=\"[domain-name:value = 'www.5z8.info']\",\n    x_opencti_main_observable_type=\"IPv4-Addr\",\n    valid_from=date,\n    update=True,\n    markingDefinitions=[TLP_GREEN_CTI[\"id\"]],\n)\n
"},{"location":"development/python/#examples","title":"Examples","text":"

A suite of illustrative examples is available in the PyCTI GitHub repository to aid in better understanding.

"},{"location":"reference/api/","title":"GraphQL API","text":"

OpenCTI provides a comprehensive API based on GraphQL, allowing users to perform various actions programmatically. The API enables users to interact with OpenCTI's functionality and data, offering a powerful tool for automation, integration, and customization. All actions that can be performed through the platform's graphical interface are also achievable via the API.

"},{"location":"reference/api/#authentication","title":"Authentication","text":"

Access to the OpenCTI API requires authentication using standard authentication mechanisms. Access rights to data via the API will be determined by the access privileges of the user associated with the API key. For authentication, users need to include the following headers in their API requests:

Content-Type: application/json\nAuthorization: Bearer [API key]\n
"},{"location":"reference/api/#documentation","title":"Documentation","text":"

The OpenCTI API consists of various endpoints corresponding to different functionalities and operations within the platform. These endpoints allow users to perform actions such as querying data, creating or updating entities, and more. Users can refer to the Understand GraphQL section to understand how it works.

Documentation for the OpenCTI API, including schema definitions, the list of filters available and queryable fields, is available through the OpenCTI platform. It can be found on the GraphQL playground. However, query examples and mutation examples are not yet available. In the meantime, users can explore the available endpoints and their functionality by inspecting network traffic in the browser's developer tools or by examining the source code of the Python client.

"},{"location":"reference/api/#understand-graphql","title":"Understand GraphQL","text":"

GraphQL is a powerful query language for APIs that enables clients to request exactly the data they need. Unlike traditional REST APIs, which expose fixed endpoints and return predefined data structures, GraphQL APIs allow clients to specify the shape and structure of the data they require.

"},{"location":"reference/api/#core-concepts","title":"Core concepts","text":""},{"location":"reference/api/#schema-definition-language-sdl","title":"Schema Definition Language (SDL)","text":"

GraphQL APIs are defined by a schema, which describes the types of data that can be queried and the relationships between them. The schema is written using the Schema Definition Language (SDL), which defines types, fields, and their relationships.

"},{"location":"reference/api/#query-language","title":"Query language","text":"

GraphQL uses a query language to request data from the server. Clients can specify exactly which fields they need and how they are related, enabling precise data retrieval without over-fetching or under-fetching.

Example:

query IntrusionSets {\n    intrusionSets (\n        filters:\n        {\n            mode: and,\n            filters: [\n                {\n                    key: \"name\",\n                    values: [\"Ajax Security Team\"],\n                    operator: eq,\n                    mode: or,\n                }\n            ],\n            filterGroups: [],\n        }\n    )\n    {\n        edges{\n            node{\n                id\n                name\n                description\n                externalReferences{\n                    edges{\n                        node{\n                            url\n                            source_name\n                        }\n                    }\n                }\n            }\n        }\n    }\n}\n
"},{"location":"reference/api/#resolvers","title":"Resolvers","text":"

Resolvers are functions responsible for fetching the requested data. Each field in the GraphQL schema corresponds to a resolver function, which determines how to retrieve the data from the underlying data sources.

"},{"location":"reference/api/#how-it-works","title":"How it Works","text":"
  1. Schema definition: The API provider defines a GraphQL schema using SDL, specifying the types and fields available for querying.
  2. Query execution: Clients send GraphQL queries to the server, specifying the data they need. The server processes the query, resolves each field, and constructs a response object with the requested data.
  3. Validation and execution: The server validates the query against the schema to ensure it is syntactically and semantically correct. If validation passes, the server executes the query, invoking the appropriate resolver functions to fetch the requested data.
  4. Data retrieval: Resolvers fetch data from the relevant data sources, such as databases, APIs, or other services. They transform the raw data into the shape specified in the query and return it to the client.
  5. Response formation: Once all resolvers have completed, the server assembles the response object containing the requested data and sends it back to the client.
"},{"location":"reference/api/#external-resources","title":"External Resources","text":"

For a more in-depth understanding of GraphQL and its usage, consider exploring the following external resources:

"},{"location":"reference/data-intelligence/","title":"Data intelligence","text":"

As a cyber threat intelligence platform, OpenCTI offers functionalities that enable users to move quickly from raw data to operational intelligence by building up high-quality, structured information.

To do so, the platform provides a number of essential capabilities, such as automated data deduplication, merging of similar entities while preserving relationship integrity, the ability to modulate the confidence levels on your intelligence, and the presence of inference rules to automate the creation of logical relationships among your data.

The purpose of this page is to list the features of the platform that contribute to the intelligibility and quality of intelligence.

"},{"location":"reference/data-intelligence/#deduplication","title":"Deduplication","text":"

The first essential data intelligence mechanism in OpenCTI is the deduplication of information and relations.

This advanced functionality not only enables you to check whether a piece of data, information or a relationship is not a duplicate of an existing element, but will also, under certain conditions, enrich the element already present.

If the new duplicated entity has new content, the pre-existing entity can be enriched with the new information from the duplicate.

It works as follows (see details in the dedicated page):

The ability to update and enrich is determined by the confidence level and quality level of the entities and relationships (see diagram on page deduplication).

"},{"location":"reference/data-intelligence/#merging","title":"Merging","text":"

OpenCTI's merging function is one of the platform's crucial data intelligence elements.

From the Data > Entities tab, this feature lets you merge up to 4 entities of the same type. A parent entity is selected and assigned up to three child entities.

The benefit of this feature is to centralize a number of similar elements from different sources without losing data or degrading the quality of the information. During merging, the platform will create relationships to anchor all the data to the consolidated entity.

This enrichment function consolidates the data and avoids duplication, but above all initiates a structured intelligence process while preserving the integrity of pre-existing relationships as presented here.

"},{"location":"reference/data-intelligence/#confidence-level-and-data-segregation","title":"Confidence level and data segregation","text":"

Another key element of OpenCTI's data intelligence is its ability to apply confidence levels and to segregate the data present in the platform.

The confidence level is directly linked to users and Role Based Access Control. It is applied to a user directly or indirectly via the confidence level of the group to which the user belongs. This element is fundamental as it defines the levels of data manipulation to which the user (real or connector) is entitled.

The correct application of confidence levels is all the more important as it will determine the confidence level of the data manipulated by a user. It is therefore a decisive mechanism, since it underpins the confidence you have in the content of your instance.

While it is important to apply a level of trust to your users or groups, it is also important to define a way of categorizing and protecting your data.

Data segregation makes it possible to apply marking definitions and therefore establish a standardized framework for classifying data.

These marking definitions, like the classic Traffic Light Protocols (TLP) implemented by default in the platform, will determine whether a user can access a specific data set. The marking will be applied at the group level to which the user belongs, which will determine the data to which the user has access and therefore the data that the user can potentially handle.

"},{"location":"reference/data-intelligence/#inference-rules","title":"Inference rules","text":"

In OpenCTI, data intelligence is not just about the ability to segregate, qualify or enrich data. OpenCTI's inference rules enable you to mobilize the data on your platform effectively and operationally.

These predefined rules enable the user to speed up cyber threat management. For example, inferences can be used to automatically identify incidents based on a sighting, to create sightings on observables based on new observed data, to propagate relationships based on an observable, etc.

In all, the platform includes some twenty high-performance inference rules that considerably speed up the analysis and response to threats (see the full list here).

These rules are based on a logical interpretation of the data, resulting in a pre-analysis of the information by creating relationships that will enrich the intelligence in the platform. There are three main benefits: efficiency, completeness and accuracy. These user benefits can be found here.

Note: If these rules are present in the platform, they are not activated by default.

Once activated, they scan all the data in your platform in the background to identify all the existing relationships that meet the conditions of the rules. Then, the rules operate continuously to create relationships. If you deactivate a rule, all the objects and relationships it has created will be deleted.

These actions can only be carried out by an administrator of the instance.

"},{"location":"reference/data-model/","title":"Data model","text":"

Under construction

This page will be automatically generated to reference the platform's data model. We are doing our best to implement this automatic generation as quickly as possible.

"},{"location":"reference/filters-migration/","title":"Filters format migration for OpenCTI 5.12","text":"

The version 5.12 of OpenCTI introduces breaking changes to the filters format used in the API. This documentation describes how you can migrate your scripts or programs that call the OpenCTI API, when updating from a version of OpenCTI inferior to 5.12.

"},{"location":"reference/filters-migration/#why-this-migration","title":"Why this migration?","text":"

Before OpenCTI 5.12, it was not possible to construct complex filters combinations: we couldn't embed filters within filters, used different boolean modes (and/or), filter on all available attributes or relations for a given entity type, or even test for empty fields of any sort.

Legacy of years of development, the former format and filtering mechanics were not adapted for such task, and a profound refactoring was necessary to make it happen.

Here are the main pain points we identified beforehand:

// filter formats in OpenCTI < 5.12\n\ntype Filter = {\n    key: string, // a key in the list of the available filter keys for given the entity type\n    values: string[],\n    operator: string,\n    filterMode: 'and' | 'or',\n}\n\n// \"give me Reports labelled with labelX or labelY\"\nconst filters = [\n  { \n    \"key\": \"entity_type\",\n    \"values\": [\"Report\"],\n    \"operator\": \"eq\",\n    \"filterMode\": \"or\"\n  },\n  { \n    \"key\": \"labelledBy\",\n    \"values\": [\"<id-for-labelX>\", \"<id-for-labelY>\"],\n    \"operator\": \"eq\",\n    \"filterMode\": \"or\"\n  },\n]\n

The new format brings a lot of short-term benefits and is compatible with our long-term vision of the filtering capabilities in OpenCTI. We chose a simple recursive structure that allow complex combination of any sort with respect to basic boolean logic.

The list of operator is fixed and can be extended during future developments.

// filter formats in OpenCTI >= 5.12\n\ntype FilterGroup = {\n  mode: 'and' | 'or'\n  filters: Filter[]\n  filterGroups: FilterGroup[] // recursive definition\n}\n\ntype Filter  = {\n  key: string[]\n  values: string[]\n  operator: 'eq' | 'not_eq' | 'gt' // ... and more\n  mode: 'and' | 'or',\n}\n\n// \"give me Reports and RFIs, not marked TLP:RED with labelX or no label\"\nconst filters = {\n  mode: 'and',\n  filters: [\n    { key: 'entity_type', values: ['Report', 'Case-Rfi'], operator: 'eq', mode: 'or', },\n    { key: 'objectMarking', values: ['<id-for-TLP:RED>'], operator: 'not_eq', mode: 'or', },\n  ],\n  filterGroups: [{\n    mode: 'or',\n    filters: [\n      { key: 'objectLabel', values: [\"<id-for-labelX>\"], operator: 'eq', mode: 'or', },\n      { key: 'objectLabel', values: [], operator: 'nil', mode: 'or', },\n    ],\n    filterGroups: [],\n  }],\n};\n

Because changing filters format impacts almost everything in the platform, we decided to do a complete refactoring once and for all. We want this migration process to be clear and easy.

"},{"location":"reference/filters-migration/#what-has-been-changed","title":"What has been changed","text":"

The new filter implementation bring major changes in the way filters are processed and executed.

"},{"location":"reference/filters-migration/#how-to-migrate-your-own-filters","title":"How to migrate your own filters","text":"

We wrote a migration script to convert all stored filters created prior to version 5.12. These filters will thus be migrated automatically when starting your updated platform.

However, you might have your own connectors, queries, or python scripts that use the graphql API or the python client. If this is the case, you must change the filter format if you want to run the code against OpenCTI >= 5.12.

"},{"location":"reference/filters-migration/#filter-conversion","title":"Filter conversion","text":"

To convert filters prior to version 5.12 in the new format:

  1. update the key field if it has been changed in 5.12 (see the conversion table below),
  2. rename the field filterMode in mode
  3. if values contains null, see below for conversion.

Now you can build your new FilterGroup object with:

const oldFilter = {\n    key: 'old_key',\n    values: ['value1', 'value2'],\n    operator: 'XX',\n    filterMode: 'XX',\n}\n\nconst convertedFilter = {\n    key: 'converted_key_if_necessary',\n    values: ['value1', 'value2'],\n    operator: 'XX',\n    mode: 'XX',\n}\n\nconst newFilters = {\n    mode: 'and',\n    filters: [convertedFilter1, convertedFilter2...], // array with all converted filters\n    filterGroups: [],\n}\n

If values contains a null value, you need to convert the filter by using the new nil / not_nil operators. Here's the procedure:

  1. Extract one filter dedicated to null

    • if operator was 'eq', switch to operator: 'nil' / if operator was not_eq, switch to operator = 'not_nil'
    • values = []
  2. Extract another filter for all the other values.

// \"Must have a label that is not Label1 or Label2\"\nconst oldFilter = {\n    key: 'labelledBy',\n    values: [null, 'id-for-Label1', 'id-for-Label2'],\n    operator: 'not_eq',\n    filterMode: 'and',\n}\n\nconst newFilters = {\n    mode: 'and',\n    filters: [\n      {\n        key: 'objectLabel',\n        values: ['id-label-1', 'id-for-Label2'],\n        operator: 'not_eq',\n        mode: 'and',\n      },\n      {\n        key: 'objectLabel',\n        values: [],\n        operator: 'not_nil',\n        mode: 'and',\n      },\n    ],\n    filterGroups: [],\n}\n

Switch to nested filter to preserve logic

To preserve the logic of your old filter you might need to compose nested filter groups. This could happen for instance when using eq operator with null values for one filter, combined in and mode with other filters.

"},{"location":"reference/filters-migration/#filter-keys-conversion-table","title":"Filter keys conversion table","text":"

Make sure you address all the filter keys that require conversion, following the map below:

// array of [oldKey, newKey] for the renamed keys\nconst keyConversion = [\n    ['labelledBy', 'objectLabel'],\n    ['markedBy', 'objectMarking'],\n    ['objectContains', 'objects'],\n    ['killChainPhase', 'killChainPhases'],\n    ['assigneeTo', 'objectAssignee'],\n    ['participant', 'objectParticipant'],\n    ['creator', 'creator_id'],\n    ['hasExternalReference', 'externalReferences'],\n    ['hashes_MD5', 'hashes.MD5'],\n    ['hashes_SHA1', 'hashes.SHA-1'],\n    ['hashes_SHA256', 'hashes.SHA-256'],\n    ['hashes_SHA512', 'hashes.SHA-512']\n]\n
"},{"location":"reference/filters-migration/#examples","title":"Examples","text":""},{"location":"reference/filters-migration/#simple-example","title":"Simple example","text":"

Let's start with a simple case:

All Reports with label \"label1\" or \"label2\"

(entity_type = Report) AND (label = label1 OR label2)

const oldBackendFilter = [\n  {\n    key: 'entity_type',\n    values: ['Report'],\n    operator: 'eq',\n    filterMode: 'or',\n  },\n  {\n   key: 'labelledBy',\n    values: [label1_id, label2_id],\n    operator: 'eq',\n    filterMode: 'or',\n  },\n];\n\nconst newFilters = {\n  mode: 'and',\n  filters: [\n    {\n      key: 'entity_type',\n      values: ['Report'],\n      operator: 'eq',\n      mode: 'or',\n    },\n    {\n      key: 'objectLabel',\n      values: [label1_id, label2_id],\n      operator: 'eq',\n      mode: 'or',\n    }\n  ],\n  filterGroups: [],\n};\n
"},{"location":"reference/filters-migration/#complex-example","title":"Complex example","text":"

Now let's see a more complex case involving filter group nesting:

\"All Reports that have either the label \"label1\" or \"label2\", or no label at all\"

(entity_type = Report) AND (label = \"No label\" OR label1 OR label2)

const oldBackendFilter = [\n    {\n      key: 'labelledBy',\n      values: [label1_id, label2_id, null],\n      operator: 'eq',\n      filterMode: 'or',\n    },\n    {\n      key: 'entity_type',\n      values: ['Report'],\n      operator: 'eq',\n      filterMode: 'or',\n    },\n];\n\nconst newFilters = {\n    mode: 'and',\n    filters: [\n      {\n        key: 'entity_type',\n        values: ['Report'],\n        operator: 'eq',\n        mode: 'or',\n      },\n    ],\n    // the combination mode/operator in this case requires nested filter groups\n    filterGroups: [\n      {\n        mode: 'or',\n        filters: [\n          {\n            key: 'objectLabel',\n            values: [label1_id, label2_id],\n            operator: 'eq',\n            mode: 'or',\n          },\n          {\n            key: 'objectLabel',\n            operator: 'nil',\n            values: [], // empty, does not matter\n            mode: 'or', // and/or, does not matter \n          },\n        ],\n        filterGroups: [],\n      }\n    ],\n};\n
"},{"location":"reference/filters-migration/#residual-dynamic-filters","title":"Residual dynamic filters","text":"

Dynamic filters are not stored in the database, they enable to filter view in the UI, e.g. filters in entities list, investigations, knowledge graphs. They are saved as URL parameters, and can be saved in local storage.

These filters are not migrated automatically and are lost when moving to 5.12. This concerns the filters saved for each view, that are restored when coming back to the same view. You will need to reconstruct the filters by hand in the UI; these new filters will be properly saved and restored afterward.

Also, when going to an url with filters in the old format, OpenCTI will display a warning and remove the filter parameters. Only URLs built by OpenCTI 5.12 are compatible with it, so you will need to reconstruct the filters by hand and save / share your updated links.

"},{"location":"reference/filters/","title":"Filter knowledge","text":"

In OpenCTI, you can filter data to target or view entities that have particular attributes.

"},{"location":"reference/filters/#filters-usages","title":"Filters usages","text":"

There are two types of filters that are used in many locations in the platform:

"},{"location":"reference/filters/#dynamic-filters","title":"Dynamic filters","text":"

Dynamic filters are not stored in the database, they enable to filter view in the UI, e.g. filters in entities list, investigations, knowledge graphs.

However, they are still persistent in the platform frontend side. The filters used in a view are saved as URL parameters, so you can save and share links of these filtered views.

Also, your web browser saves in local storage the filters that you are setting in various places of the platform, allowing to retrieve them when you come back to the same view. You can then keep working from where you left of.

"},{"location":"reference/filters/#stored-filters","title":"Stored filters","text":"

Stored filters are attributes of an entity, and are therefore stored in the database. They are stored as an attribute in the object itself, e.g. filters in dashboards, feeds, TAXII collections, triggers, streams, playbooks.

"},{"location":"reference/filters/#create-a-filter","title":"Create a filter","text":"

To create a filter, add every key you need using the 'Add filter' select box. It will give you the possible attributes on which you can filter in the current view.

A grey box appears and allows to select:

  1. the operator to use, and
  2. the values to compare (if the operator is not \"empty\" or \"not_empty\").

You can add as many filters as you want, even use the same key twice with different operators and values.

The boolean modes (and/or) are either global (between every attribute filters) or local (between values inside a filter). Both can be switched with a single click, changing the logic of your filtering.

"},{"location":"reference/filters/#filters-format","title":"Filters format","text":"

Since OpenCTI 5.12, the OpenCTI platform uses a new filter format called FilterGroup. The FilterGroup model enables to do complex filters imbrication with different boolean operators, which extends greatly the filtering capabilities in every part of the platform.

"},{"location":"reference/filters/#structure","title":"Structure","text":"

The new format used internally by OpenCTI and exposed through its API, can be described as below:

// filter formats in OpenCTI >= 5.12\n\ntype FilterGroup = {\n  mode: 'and' | 'or'\n  filters: Filter[]\n  filterGroups: FilterGroup[] // recursive definition\n}\n\ntype Filter  = {\n  key: string[] // or single string (input coercion)\n  values: string[]\n  operator: 'eq' | 'not_eq' | 'gt' // ... and more\n  mode: 'and' | 'or',\n}\n
"},{"location":"reference/filters/#properties","title":"Properties","text":"

In a given filter group, the mode (and or or) represents the boolean operation between the different filters and filterGroups arrays. The filters and filterGroups arrays are composed of objects of type Filter and FilterGroup.

The Filter has 4 properties:

"},{"location":"reference/filters/#operators","title":"Operators","text":"

The available operators are:

Value Meaning Additional information eq equal not_eq different gl greater than against textual values, the alphabetical ordering is used gte greater than or equal against textual values, the alphabetical ordering is used lt lower than against textual values, the alphabetical ordering is used lte lower than or equal against textual values, the alphabetical ordering is used nil empty / no value nil do not require anything inside values not_nil non-empty / any value not_nil do not require anything inside values

In addition, there are operators:

There is a small difference between search and contains. search finds any occurrence of specified words, regardless of order, while \"contains\" specifically looks for the exact sequence of words you provide.

Always use single-key filters

Multi-key filters are not supported across the platform and are reserved to specific, internal cases.

"},{"location":"reference/filters/#examples","title":"Examples","text":"

entity_type = 'Report'

filters = {\n    mode: 'and',\n    filters: [{\n        key: 'entity_type',\n        values: ['Report'],\n        operator: 'eq',\n        mode: 'or', // useless here because values contains only one value\n    }],\n    filterGroups: [],\n};\n

(entity_type = 'Report') AND (label = 'label1' OR 'label2')

filters = {\n    mode: 'and',\n    filters: [\n        {\n            key: 'entity_type',\n            values: ['Report'],\n            operator: 'eq',\n            mode: 'or',\n        },\n        {\n            key: 'objectLabel',\n            values: ['label1', 'label2'],\n            operator: 'eq',\n            mode: 'or',\n        }\n    ],\n    filterGroups: [],\n};\n

(entity_type = 'Report') AND (confidence > 50 OR marking is empty)

filters = {\n    mode: 'and',\n    filters: [\n        {\n            key: 'entity_type',\n            values: ['Report'],\n            operator: 'eq',\n            mode: 'or',\n        }\n    ],\n    filterGroups: [\n        {\n            mode: 'or',\n            filters: [\n                {\n                    key: 'confidence',\n                    values: ['50'],\n                    operator: 'gt',\n                    mode: 'or',\n                },\n                {\n                    key: 'objectMarking',\n                    values: [],\n                    operator: 'nil',\n                    mode: 'or',\n                },\n            ],\n            filterGroups: [],\n        }\n    ],\n};\n
"},{"location":"reference/filters/#keys","title":"Keys","text":""},{"location":"reference/filters/#filter-keys-validation","title":"Filter keys validation","text":"

Only a specific set of key can be used in the filters.

Automatic key checking prevents typing error when constructing filters via the API. If a user write an unhandled key (object-label instead of objectLabel for instance), the API will return an error instead of an empty list. Doing so, we make sure the platform do not provide misleading results.

"},{"location":"reference/filters/#regular-filter-keys","title":"Regular filter keys","text":"

For an extensive list of available filter keys, refer to the attributes and relations schema definitions.

Here are some of the most useful keys as example. NB: X refers here to the filtered entities.

"},{"location":"reference/filters/#special-filter-keys","title":"Special filter keys","text":"

Some keys do not exist in the schema definition, but are allowed in addition. They describe a special behavior.

It is the case for:

For some keys, negative equality filtering is not supported yet (not_eq operator). For instance, it is the case for:

The regardingOf filter key has a special format and enables to target the entities having a relationship of a certain type with certain entities. Here is an example of filter to fetch the entities related to the entity X:

filters = {\n  mode: 'and',\n  filters: [\n    {\n      key: 'regardingOf',\n      values: [\n        { key: 'id', values: ['id-of-X'] },\n        { key: 'relationship_type', values: ['related-to'] },\n      ],\n    },\n  ],\n  filterGroups: [],\n};\n
"},{"location":"reference/filters/#limited-support-in-stream-events-filtering","title":"Limited support in stream events filtering","text":"

Filters that are run against the event stream are not using the complete schema definition in terms of filtering keys.

This concerns:

For filters used in this context, only some keys are supported for the moment:

"},{"location":"reference/fips/","title":"SSL FIPS 140-2 deployment","text":""},{"location":"reference/fips/#introduction","title":"Introduction","text":"

For organizations that need to deploy OpenCTI in a SSL FIPS 140-2 compliant environment, we provide FIPS compliant OpenCTI images for all components of the platform. Please note that you will also need to deploy dependencies (ElasticSearch / OpenSearch, Redis, etc.) with FIPS 140-2 SSL to have the full compliant OpenCTI technological stack.

OpenCTI SSL FIPS 140-2 compliant builds

The OpenCTI platform, workers and connectors SSL FIPS 140-2 compliant images are based on packaged Alpine Linux with OpenSSL 3 and FIPS mode enabled maintened by the Filigran engineering team.

"},{"location":"reference/fips/#dependencies","title":"Dependencies","text":""},{"location":"reference/fips/#aws-native-services-in-fedramp-compliant-environment","title":"AWS Native Services in FedRAMP compliant environment","text":"

It is important to remind that OpenCTI is fully compatible with AWS native services and all dependencies are available in both FedRAMP Moderate (East / West) and FedRAMP High (GovCloud) scopes.

"},{"location":"reference/fips/#elasticsearch-opensearch","title":"ElasticSearch / OpenSearch","text":"

ElasticSearch is known to be compatible with FIPS 140-2 SSL using the proper JVM. There is a comprehensive guide in the Elastic documentation.

Alternatively, please note that Elastic is also providing an ElasticSearch FedRAMP authorized cloud offering.

"},{"location":"reference/fips/#redis","title":"Redis","text":"

Redis does not provide FIPS 140-2 SSL compliant Docker images but supports very well custom tls-ciphersuites that can be configured to use the system FIPS 140-2 OpenSSL library.

Alternatively, you can use a Stunnel TLS endpoint to ensure encrypted communication between OpenCTI and Redis. There are a few examples available, here or here.

"},{"location":"reference/fips/#rabbitmq","title":"RabbitMQ","text":"

RabbitMQ does not provide FIPS 140-2 SSL compliant Docker images but, as Redis, supports custom cipher suites. Also, it is confirmed since RabbitMQ version 3.12.5, the associated Erlang build (> 26.1), supports FIPS mode on OpenSSL 3.

Alternatively, you can use a Stunnel TLS endpoint to ensure encrypted communication between OpenCTI and RabbitMQ.

"},{"location":"reference/fips/#s3-bucket-minio","title":"S3 Bucket / MinIO","text":"

If you cannot use an S3 endpoint already deployed in your FIPS 140-2 SSL compliant environment, MinIO provides FIPS 140-2 SSL compliant Docker images which then are very easy to deploy within your environment.

"},{"location":"reference/fips/#opencti-stack","title":"OpenCTI stack","text":""},{"location":"reference/fips/#platform","title":"Platform","text":"

For the platform, we provide FIPS 140-2 SSL compliant Docker images. Just use the appropriate tag to ensure you are deploying the FIPS compliant version and follow the standard Docker deployment procedure.

"},{"location":"reference/fips/#worker","title":"Worker","text":"

For the worker, we provide FIPS 140-2 SSL compliant Docker images. Just use the appropriate tag to ensure you are deploying the FIPS compliant version and follow the standard Docker deployment procedure.

"},{"location":"reference/fips/#connectors","title":"Connectors","text":"

All connectors have FIPS 140-2 SSL compliant Docker images. For each connector you need to deploy, please use the tag {version}-fips instead of {version} and follow the standard deployment procedure. An example is available on Docker Hub.

"},{"location":"reference/streaming/","title":"Data Streaming","text":""},{"location":"reference/streaming/#presentation","title":"Presentation","text":"

In order to provide a real time way to consume STIX CTI information, OpenCTI provides data events in a stream that can be consumed to react on creation, update, deletion and merge. This way of getting information out of OpenCTI is highly efficient and already use by some connectors.

"},{"location":"reference/streaming/#technology","title":"Technology","text":""},{"location":"reference/streaming/#redis-stream","title":"Redis stream","text":"

OpenCTI is currently using REDIS Stream as the technical layer. Each time something is modified in the OpenCTI database, a specific event is added in the stream.

"},{"location":"reference/streaming/#sse-protocol","title":"SSE protocol","text":"

In order to provide a really easy consuming protocol we decide to provide a SSE (https://fr.wikipedia.org/wiki/Server-sent_events) HTTP URL linked to the standard login system of OpenCTI. Any user with the correct access rights can open and access http://opencti_instance/stream, and open an SSE connection to start receiving live events. You can of course consume directly the stream in Redis, but you will have to manage access and rights directly.

"},{"location":"reference/streaming/#events-format","title":"Events format","text":"
id: {Event stream id} -> Like 1620249512318-0\nevent: {Event type} -> create / update / delete\ndata: { -> The complete event data\n    version -> The version number of the event\n    type -> The inner type of the event\n    scope -> The scope of the event [internal or external]\n    data: {STIX data} -> The STIX representation of the data.\n    message -> A simple string to easy understand the event\n    origin: {Data Origin} -> Complex object with different information about the origin of the event\n    context: {Event context} -> Complex object with meta information depending of the event type\n}\n

It can be used to consume the stream from this specific point.

"},{"location":"reference/streaming/#stix-data","title":"STIX data","text":"

The current stix data representation is based on the STIX 2.1 format using extension mechanism. Please take a look to the STIX documentation for more information.

"},{"location":"reference/streaming/#create","title":"Create","text":"

It's simply the data created in STIX format.

"},{"location":"reference/streaming/#delete","title":"Delete","text":"

It's simply the data in STIX format just before his deletion. You will also find the automated deletions in context due to automatic dependency management.

{\n  \"context\": {\n      \"deletions\": [{STIX data}]\n  }\n}\n
"},{"location":"reference/streaming/#update","title":"Update","text":"

This event type publish the complete STIX data information along with patches information. Thanks to the patches, it's possible to rebuild the previous version and easily understand what happens in the update.

Patch and reverse_patch follow the official jsonpatch specification. You can find more information on the jsonpatch page

{\n  \"context\": {\n      \"patch\": [/* patch operation object */],\n      \"reverse_patch\": [/* patch operation object */]\n  }\n}\n
"},{"location":"reference/streaming/#merge","title":"Merge","text":"

Merge is a combination of an update of the merge targets and deletions of the sources. In this event you will find the same patch and reverse_patch as an update and the list of elements merged into the target in the \"sources\" attribute.

{\n  \"context\": {\n      \"patch\": [/* patch operation object */],\n      \"reverse_patch\": [/* patch operation object */],\n      \"sources\": [{STIX data}]\n  }\n}\n
"},{"location":"reference/streaming/#stream-types","title":"Stream types","text":"

In OpenCTI we propose 2 types of streams.

"},{"location":"reference/streaming/#base-stream","title":"Base stream","text":"

The stream hosted in /stream url contains all the raw events of the platform, always filtered by the user rights (marking based). It's a technical stream a bit complex to used but very useful for internal processing or some specific connectors like backup/restore.

This stream is live by default but if, you want to catchup, you can simply add the from parameter to your query. This parameter accept a timestamp in millisecond and also an event id, e.g. http://localhost/stream?from=1620249512599

Stream size?

The raw stream is really important in the platform and needs te be sized according to the period of retention you want to ensure. More retention you will have, more security about reprocessing the past information you will get. We usually recommand 1 month of retention, that usually match 2 000 000 of events. This limit can be configured with redis:trimming option, please check deployment configuration page.

"},{"location":"reference/streaming/#live-stream","title":"Live stream","text":"

This stream aims to simplify your usage of the stream through the connectors, providing a way to create stream with specific filters through the UI. After creating this stream, is simply accessible from /stream/{STREAM_ID}.

It's very useful for various cases of data externalization, synchronization, like SPLUNK, TANIUM...

This stream provides different interesting mechanics:

If you want to dig in about the internal behavior you can check this complete diagram:

"},{"location":"reference/streaming/#general-options","title":"General options","text":""},{"location":"reference/streaming/#from-and-recover","title":"From and Recover","text":"

From and recover are 2 different options that need to be explains.

This difference will be transparent for the consumer but very important to get old information as an initial snapshot. This also let you consume information that is no longer in the stream retention period.

The next diagram will help you to understand the concept:

"},{"location":"reference/taxonomy/","title":"Taxonomy","text":"

In OpenCTI, taxonomies serve as structured classification systems that aid in organizing and categorizing intelligence data. This reference guide provides an exhaustive description of the platform's customizable fields within the taxonomies' framework. Users can modify, add, or delete values within the available vocabularies to tailor the classification system to their specific requirements.

For broader documentation on the taxonomies section, please consult the appropriate page.

"},{"location":"reference/taxonomy/#vocabularies","title":"Vocabularies","text":"

Default values are based on those defined in the STIX standard but can be tailored to better suit the organization's needs.

Name Used in Default value Account type vocabulary (account-type-ov) User account facebook, ldap, nis, openid, radius, skype, tacacs, twitter, unix, windows-domain, windows-local Attack motivation vocabulary (attack-motivation-ov) Threat actor group accidental, coercion, dominance, ideology, notoriety, organizational-gain, personal-gain, personal-satisfaction, revenge, unpredictable Attack resource level vocabulary (attack-resource-level-ov) Threat actor group club, contest, government, individual, organization, team Case priority vocabulary (case_priority_ov) Incident response P1, P2, P3, P4 Case severity vocabulary (case_severity_ov) Incident response critical, high, medium, low Channel type vocabulary (channel_type_ov) Channel Facebook, Twitter Collection layers vocabulary (collection_layers_ov) Data source cloud-control-plane, container, host, network, OSINT Event type vocabulary (event_type_ov) Event conference, financial, holiday, international-summit, local-election, national-election, sport-competition Eye color vocabulary (eye_color_ov) Threat actor individual black, blue, brown, green, hazel, other Gender vocabulary (gender_ov) Threat actor individual female, male, nonbinary, other Grouping context vocabulary (grouping_context_ov) Grouping malware-analysis, suspicious-activity, unspecified Hair color vocabulary vocabulary (hair_color_ov) Threat actor individual bald, black, blond, blue, brown, gray, green, other, red Implementation language vocabulary (implementation_language_ov) Malware applescript, bash, c, c++, c#, go, java, javascript, lua, objective-c, perl, php, powershell, python, ruby, scala, swift, typescript, visual-basic, x86-32, x86-64 Incident response type vocabulary (incident_response_type_ov) Incident response data-leak, ransomware Incident severity vocabulary (incident_severity_ov) Incident critical, high, medium, low Incident type vocabulary (incident_type_ov) Incident alert, compromise, cybercrime, data-leak, information-system-disruption, phishing, reputation-damage, typosquatting Indicator type vocabulary (indicator_type_ov) Indicator anomalous-activity, anonymization, attribution, benign, compromised, malicious-activity, unknown Infrastructure type vocabulary (infrastructure_type_ov) Infrastructure amplification, anonymization, botnet, command-and-control, control-system, exfiltration, firewall, hosting-malware, hosting-target-lists, phishing, reconnaissance, routers-switches, staging, unknown, workstation Integrity level vocabulary (integrity_level_ov) Process high, medium, low, system Malware capabilities vocabulary (malware_capabilities_ov) Malware accesses-remote-machines, anti-debugging, anti-disassembly, anti-emulation, anti-memory-forensics, anti-sandbox, anti-vm, captures-input-peripherals, captures-output-peripherals, captures-system-state-data, cleans-traces-of-infection, commits-fraud, communicates-with-c2, compromises-data-availability, compromises-data-integrity, compromises-system-availability, controls-local-machine, degrades-security-software, degrades-system-updates, determines-c2-server, emails-spam, escalates-privileges, evades-av, exfiltrates-data, fingerprints-host, hides-artifacts, hides-executing-code, infects-files, infects-remote-machines, installs-other-components, persists-after-system-reboot, prevents-artifact-access, prevents-artifact-deletion, probes-network-environment, self-modifies, steals-authentication-credentials, violates-system-operational-integrity Malware result vocabulary (malware_result_ov) Malware analysis benign, malicious, suspicious, unknown Malware type vocabulary (malware_type_ov) Malware adware, backdoor, bootkit, bot, ddos, downloader, dropper, exploit-kit, keylogger, ransomware, remote-access-trojan, resource-exploitation, rogue-security-software, rootkit, screen-capture, spyware, trojan, unknown, virus, webshell, wiper, worm Marital status vocabulary (marital_status_ov) Threat actor individual annulled, divorced, domestic_partner, legally_separated, married, never_married, polygamous, separated, single, widowed Note types vocabulary (note_types_ov) Note analysis, assessment, external, feedback, internal Opinion vocabulary (opinion_ov) Opinion agree, disagree, neutral, strongly-agree, strongly-disagree Pattern type vocabulary (pattern_type_ov) Indicator eql, pcre, shodan, sigma, snort, spl, stix, suricata, tanium-signal, yara Permissions vocabulary (permissions_ov) Attack pattern Administrator, root, User Platforms vocabulary (platforms_ov) Data source android, Azure AD, Containers, Control Server, Data Historian, Engineering Workstation, Field Controller/RTU/PLC/IED, Google Workspace, Human-Machine Interface, IaaS, Input/Output Server, iOS, linux, macos, Office 365, PRE, SaaS, Safety Instrumented System/Protection Relay, windows Processor architecture vocabulary (processor_architecture_ov) Malware alpha, arm, ia-64, mips, powerpc, sparc, x86, x86-64 Reliability vocabulary (reliability_ov) Report, Organization A - Completely reliable, B - Usually reliable, C - Fairly reliable, D - Not usually reliable, E - Unreliable, F - Reliability cannot be judged Report types vocabulary (report_types_ov) Report internal-report, threat-report Request for information types vocabulary (request_for_information_types_ov) Request for information none Request for takedown types vocabulary (request_for_takedown_types_ov) Request for takedown brand-abuse, phishing Service status vocabulary (service_status_ov) Process SERVICE_CONTINUE_PENDING, SERVICE_PAUSE_PENDING, SERVICE_PAUSED, SERVICE_RUNNING, SERVICE_START_PENDING, SERVICE_STOP_PENDING, SERVICE_STOPPED Service type vocabulary (service_type_ov) Process SERVICE_FILE_SYSTEM_DRIVER, SERVICE_KERNEL_DRIVER, SERVICE_WIN32_OWN_PROCESS, SERVICE_WIN32_SHARE_PROCESS Start type vocabulary (start_type_ov) Process SERVICE_AUTO_START, SERVICE_BOOT_START, SERVICE_DEMAND_START, SERVICE_DISABLED, SERVICE_SYSTEM_ALERT Threat actor group role vocabulary (threat_actor_group_role_ov) Threat actor group agent, director, independent, infrastructure-architect, infrastructure-operator, malware-author, sponsor Threat actor group sophistication vocabulary (threat_actor_group_sophistication_ov) Threat actor group advanced, expert, innovator, intermediate, minimal, none, strategic Threat actor group type vocabulary (threat_actor_group_type_ov) Threat actor group activist, competitor, crime-syndicate, criminal, hacker, insider-accidental, insider-disgruntled, nation-state, sensationalist, spy, terrorist, unknown Threat actor individual role vocabulary (threat_actor_individual_role_ov) Threat actor individual agent, director, independent, infrastructure-architect, infrastructure-operator, malware-author, sponsor Threat actor individual sophistication vocabulary (threat_actor_individual_sophistication_ov) Threat actor individual advanced, expert, innovator, intermediate, minimal, none, strategic Threat actor individual type vocabulary (threat_actor_individual_type_ov) Threat actor individual activist, competitor, crime-syndicate, criminal, hacker, insider-accidental, insider-disgruntled, nation-state, sensationalist, spy, terrorist, unknown Tool types vocabulary (tool_types_ov) Tool credential-exploitation, denial-of-service, exploitation, information-gathering, network-capture, remote-access, unknown, vulnerability-scanning

"},{"location":"reference/taxonomy/#customization","title":"Customization","text":"

Users can customize the taxonomies by modifying the available values or adding new ones. These modifications enable users to adapt the classification system to their specific intelligence requirements. Additionally, within each vocabulary list, users have the flexibility to customize the order of the dropdown menu associated with the taxonomy. This feature allows users to prioritize certain values or arrange them in a manner that aligns with their specific classification needs. Additionally, users can track the usage count for each vocabulary, providing insights into the frequency of usage and helping to identify the most relevant and impactful classifications. These customization options empower users to tailor the taxonomy system to their unique intelligence requirements, enhancing the efficiency and effectiveness of intelligence analysis within the OpenCTI platform.

"},{"location":"reference/usage-telemetry/","title":"Usage telemetry","text":"

The application collects statistical data related to its usage and performances.

Confidentiality

The OpenCTI platform does not collect any information related to threat intelligence knowledge which remains strictly confidential. Also, the collection is strictly anonymous and personally identifiable information is NOT collected (including IP addresses).

All data collected is anonymized and aggregated to protect the privacy of individual users, in compliance with all privacy regulations.

"},{"location":"reference/usage-telemetry/#purpose-of-the-telemetry","title":"Purpose of the telemetry","text":"

The collected data is used for the following purposes:

"},{"location":"reference/usage-telemetry/#important-thing-to-know","title":"Important thing to know","text":"

The platform send the metrics to the hostname telemetry.filigran.io using the OTLP protocol (over HTTPS). The format of the data is OpenTelemetry JSON.

The metrics push is done every 6 hours if OpenCTI was able to connect to the hostname when the telemetry manager is started. Metrics are also written in specific logs files in order to be included in support package

"},{"location":"reference/usage-telemetry/#telemetry-metrics","title":"Telemetry metrics","text":"

The application collects statistical data related to its usage. Here are an exhaustive list of the collected metrics:

"},{"location":"usage/ask-ai/","title":"Ask AI","text":"

Enterprise edition

Ask AI is available under the \"OpenCTI Enterprise Edition\" license.

Please read the dedicated page to have all information

"},{"location":"usage/ask-ai/#prerequisites-for-using-ask-ai","title":"Prerequisites for using Ask AI","text":"

There are several possibilities for Enterprise Edition customers to use OpenCTI AI endpoints:

Please read the configuration documentation

Beta Feature

Ask AI is a beta feature as we are currently fine-tuning our models. Consider checking important information.

"},{"location":"usage/ask-ai/#how-it-works","title":"How it works","text":"

Even if in the future, we would like to leverage AI to do RAG, for the moment we are mostly using AI to analyze and produce texts or images, based on data directly sent into the prompt.

This means that if you are using Filigran AI endpoint or a local one, your data is never used to re-train or adapt the model and everything relies on a pre-trained and fixed model. When using the Ask AI button in the platform, a prompt is generated with the proper instruction to generate the expected result and use it in the context of the button (in forms, rich text editor etc.).

"},{"location":"usage/ask-ai/#filigran-custom-model","title":"Filigran custom model","text":"

We are hosting a scalable AI endpoint for all SaaS or On-Prem enterprise edition customers, this endpoint is based on MistralAI with a model that will be adapted over time to be more effective when processing threat intelligence related contents.

The model, which is still in beta version, will be adapted in the upcoming months to reach maturity at the end of 2024. It can be shared with on-prem enterprise edition customers under NDA.

"},{"location":"usage/ask-ai/#functionalities-of-ask-ai","title":"Functionalities of Ask AI","text":"

Ask AI is represented by a dedicated icon wherever on of its functionalities is available to use.

"},{"location":"usage/ask-ai/#assistance-for-writing-meaningful-content","title":"Assistance for writing meaningful content","text":"

Ask AI can assist you for writing better textual content, for example better title, name, description and detailed content of Objects.

"},{"location":"usage/ask-ai/#assistance-for-importing-data-from-documents","title":"Assistance for importing data from documents","text":"

Fom the Content tab of a Container (Reports, Groupings and Cases), Ask AI can also assist you for importing data contained in uploaded documents into OpenCTI for further exploitation.

A short video on the FiligranHQ YouTube channel presents tha capabilities of AskAI: https://www.youtube.com/watch?v=lsP3VVsk5ds.

"},{"location":"usage/ask-ai/#improving-generated-elements-of-ask-ai","title":"Improving generated elements of Ask AI","text":"

Be aware that the text quality is highly dependent on the capabilities of the associated LLM.

That is why every generated text by Ask AI is provided in a dedicated panel, allowing you to verify and rectify any error the LLM could have made.

"},{"location":"usage/automation/","title":"Playbooks Automation","text":"

Enterprise edition

Playbooks automation is available under the \"OpenCTI Enterprise Edition\" license. Please read the dedicated page to have all information.

OpenCTI playbooks are flexible automation scenarios which can be fully customized and enabled by platform administrators to enrich, filter and modify the data created or updated in the platform.

Playbook automation is accessible in the user interface under Data > Processing > Automation.

Right needed

You need the \"Manage credentials\" capability to use the Playbooks automation, because you will be able to manipulate data simple users cannot access.

You will then be able to:

"},{"location":"usage/automation/#playbook-philosophy","title":"Playbook philosophy","text":"

Consider Playbook as a STIX 2.1 bundle pipeline.

Initiating with a component listening to a data stream, each subsequent component in the playbook processes a received STIX bundle. These components have the ability to modify the bundle and subsequently transmit the altered result to connected components.

In this paradigm, components can send out the STIX 2.1 bundle to multiple components, enabling the development of multiple branches within your playbook.

A well-designed playbook end with a component executing an action based on the processed information. For instance, this may involve writing the STIX 2.1 bundle in a data stream.

Validate ingestion

The STIX bundle processed by the playbook won't be written in the platform without specifying it using the appropriate component, i.e. \"Send for ingestion\".

"},{"location":"usage/automation/#create-a-playbook","title":"Create a Playbook","text":"

It is possible to create as many playbooks as needed which are running independently. You can give a name and description to each playbook.

The first step to define in the playbook is the \u201ctriggering event\u201d, which can be any knowledge event (create, update or delete) with customizable filters. To do so, click on the grey rectangle in the center of the workspace and choose the component to \"listen knowledge events\". Configure it with adequate filters. You can use same filters as in other part of the platform.

Then you have flexible choices for the next steps to:

Do not forget to start your Playbook when ready, with the Start option of the burger button placed near the name of your Playbook.

By clicking the burger button of a component, you can replace it by another one.

By clicking on the arrow icon in the bottom right corner of a component, you can develop a new branch at the same level.

By clicking the \"+\" button on a link between components, you can insert a component between the two.

"},{"location":"usage/automation/#components-of-playbooks","title":"Components of playbooks","text":""},{"location":"usage/automation/#log-data-in-standard-output","title":"Log data in standard output","text":"

Will write the received STIX 2.1 bundle in platform logs with configurable log level and then send out the STIX 2.1 bundle unmodified.

"},{"location":"usage/automation/#send-for-ingestion","title":"Send for ingestion","text":"

Will pass the STIX 2.1 bundle to be written in the data stream. This component has no output and should end a branch of your playbook.

"},{"location":"usage/automation/#filter-knowledge","title":"Filter Knowledge","text":"

Will allow you to define filter and apply it to the received STIX 2.1 bundle. The component has 2 output, one for data matching the filter and one for the remainder.

By default, filtering is applied to entities having triggered the playbook. You can toggle the corresponding option to apply it to all elements in the bundle (elements that might result from enrichment for example).

"},{"location":"usage/automation/#enrich-through-connector","title":"Enrich through connector","text":"

Will send the received STIX 2.1 bundle to a compatible enrichment connector and send out the modified bundle.

"},{"location":"usage/automation/#manipulate-knowledge","title":"Manipulate knowledge","text":"

Will add, replace or remove compatible attribute of the entities contains in the received STIX 2.1 bundle and send out the modified bundle.

By default, modification is applied to entities having triggered the playbook. You can toggle the corresponding option to apply it to all elements in the bundle (elements that might result from enrichment for example).

"},{"location":"usage/automation/#container-wrapper","title":"Container wrapper","text":"

Will modify the received STIX 2.1 bundle to include the entities into an container of the type you configured. By default, wrapping is applied to entities having triggered the playbook. You can toggle the corresponding option to apply it to all elements in the bundle (elements that might result from enrichment for example).

"},{"location":"usage/automation/#share-with-organizations","title":"Share with organizations","text":"

Will share every entity in the received STIX 2.1 bundle with Organizations you configured. Your platform need to have declared a platform main organization in Settings/Parameters.

"},{"location":"usage/automation/#apply-predefined-rule","title":"Apply predefined rule","text":"

Will apply a complex automation built-in rule. This kind of rule might impact performance. Current rules are:

"},{"location":"usage/automation/#send-to-notifier","title":"Send to notifier","text":"

Will generate a Notification each time a STIX 2.1 bundle is received.

"},{"location":"usage/automation/#promote-observable-to-indicator","title":"Promote observable to indicator","text":"

Will generate indicator based on observables contained in the received STIX 2.1 bundle.

By default, it is applied to entities having triggered the playbook. You can toggle the corresponding option to apply it to all observables in the bundle (e.g. observables that might result from predefined rule).

You can also add all indicators and relationships generated by this component in the entity having triggered the playbook, if this entity is a container.

"},{"location":"usage/automation/#extract-observables-from-indicator","title":"Extract observables from indicator","text":"

Will extract observables based on indicators contained in the received STIX 2.1 bundle.

By default, it is applied to entities having triggered the playbook. You can toggle the corresponding option to apply it to all indicators in the bundle (e.g. indicators that might result from enrichment.

You can also add all observables and relationships generated by this component in the entity having triggered the playbook, if this entity is a container.

"},{"location":"usage/automation/#reduce-knowledge","title":"Reduce Knowledge","text":"

Will elagate the received STIX 2.1 bundle based on the configured filter.

"},{"location":"usage/automation/#monitor-playbook-activity","title":"Monitor playbook activity","text":"

At the top right of the interface, you can access execution trace of your playbook and consult the raw data after every step of your playbook execution.

"},{"location":"usage/background-tasks/","title":"Background tasks","text":"

Three types of tasks are done in the background:

Rule tasks can be seen and activated in Settings > Customization > Rules engine. Knowledge and user tasks can be seen and managed in Data > Background Tasks. The scope of each task is indicated.

"},{"location":"usage/background-tasks/#rule-tasks","title":"Rule tasks","text":"

If a rule task is enabled, it leads to the scan of the whole platform data and the creation of entities or relationships in case a configuration corresponds to the tasks rules. The created data are called 'inferred data'. Each time an event occurs in the platform, the rule engine checks if inferred data should be updated/created/deleted.

"},{"location":"usage/background-tasks/#knowledge-tasks","title":"Knowledge tasks","text":"

Knowledge tasks are background tasks updating or deleting entities and correspond to mass operations on these data. To create one, select entities via the checkboxes in an entity list, and choose the action to perform via the toolbar.

"},{"location":"usage/background-tasks/#rights","title":"Rights","text":""},{"location":"usage/background-tasks/#user-tasks","title":"User tasks","text":"

User tasks are background tasks updating or deleting notifications. It can be done from the Notification section, by selecting several notifications via the checkboxes, and choosing an action via the toolbar.

"},{"location":"usage/background-tasks/#rights_1","title":"Rights","text":""},{"location":"usage/case-management/","title":"Case management","text":""},{"location":"usage/case-management/#why-case-management","title":"Why Case management?","text":"

Compiling CTI data in one place, deduplicate and correlate to transform it into Intelligence is very important. But ultimately, you need to act based on this Intelligence. Some situations will need to be taken care of, like cybersecurity incidents, requests for information or requests for takedown. Some actions will then need to be traced, to be coordinated and oversaw. Some actions will include feedback and content delivery.

OpenCTI includes Cases to allow organizations to manage situations and organize their team's work. Better, by doing Case management in OpenCTI, you handle your cases with all the context and Intelligence you need, at hand.

"},{"location":"usage/case-management/#how-to-manage-your-case-in-opencti","title":"How to manage your Case in OpenCTI?","text":"

Multiple situations can be modelize in OpenCTI as a Case, either an Incident Response, a Request for Takedown or a Request for Information.

All Cases can contain any entities and relationships you need to represent the Intelligence context related to the situation. At the beginning of your case, you may find yourself with only some Observables sighted in a system. At the end, you may have Indicators, Threat Actor, impacted systems, attack patterns. All representing your findings, ready to be presented and exported as graph, pdf report, timeline, etc.

Some Cases may need some collaborative work and specific Tasks to be performed by people that have the skillset for. OpenCTI allows you to associate Tasks in your Cases and assign them to users in the platform. As some type of situation may need the same tasks to be done, it is also possible to pre-define lists of tasks to be applied on your case. You can define these lists by accessing the Settings/Taxonomies/Case templates panel. Then you just need to add it from the overview of your desire Case.

Tip: A user can have a custom dashboard showing him all the tasks that have been assigned to him.

As with other objects in OpenCTI, you can also leverage the Notes to add some investigation and analysis related comments, helping you shaping up the content of your case with unstructured data and trace all the work that have been done.

You can also use Opinions to collect how the Case has been handled, helping you to build Lessons Learned.

To trace the evolution of your Case and define specific resolution worflows, you can use the Status (that can be define in Settings/Taxonomies/Status templates).

At the end of your Case, you will certainly want to report on what have been done. OpenCTI allows you to export the content of the Case in a simple but customizable PDF (currently in refactor). But of course, your company have its own documents' templates, right? With OpenCTI, you will be able to include some nice graphics in it. For example, a Matrix view of the attacker attack pattern or even a graph display of how things are connected.

Also, we are currently working a more meaningfull Timeline view that will be possible to export too.

"},{"location":"usage/case-management/#use-case-example-a-suspicious-observable-is-sighted-by-a-defense-system-is-it-important","title":"Use case example: A suspicious observable is sighted by a defense system. Is it important?","text":""},{"location":"usage/containers/","title":"Containers","text":""},{"location":"usage/containers/#stix-standard","title":"STIX standard","text":""},{"location":"usage/containers/#definition","title":"Definition","text":"

In the STIX 2.1 standard, some STIX Domain Objects (SDO) can be considered as \"container of knowledge\", using the object_refs attribute to refer multiple other objects as nested references. In object_refs, it is possible to refer to entities and relationships.

"},{"location":"usage/containers/#example","title":"Example","text":"
{\n   \"type\": \"report\",\n   \"spec_version\": \"2.1\",\n   \"id\": \"report--84e4d88f-44ea-4bcd-bbf3-b2c1c320bcb3\",\n   \"created_by_ref\": \"identity--a463ffb3-1bd9-4d94-b02d-74e4f1658283\",\n   \"created\": \"2015-12-21T19:59:11.000Z\",\n   \"modified\": \"2015-12-21T19:59:11.000Z\",\n   \"name\": \"The Black Vine Cyberespionage Group\",\n   \"description\": \"A simple report with an indicator and campaign\",\n   \"published\": \"2016-01-20T17:00:00.000Z\",\n   \"report_types\": [\"campaign\"],\n   \"object_refs\": [\n      \"indicator--26ffb872-1dd9-446e-b6f5-d58527e5b5d2\",\n      \"campaign--83422c77-904c-4dc1-aff5-5c38f3a2c55c\",\n      \"relationship--f82356ae-fe6c-437c-9c24-6b64314ae68a\"\n   ]\n}\n

In the previous example, we have a nested reference to 3 other objects:

\"object_refs\": [\n   \"indicator--26ffb872-1dd9-446e-b6f5-d58527e5b5d2\",\n   \"campaign--83422c77-904c-4dc1-aff5-5c38f3a2c55c\",\n   \"relationship--f82356ae-fe6c-437c-9c24-6b64314ae68a\"\n]\n
"},{"location":"usage/containers/#implementation","title":"Implementation","text":""},{"location":"usage/containers/#types-of-container","title":"Types of container","text":"

In OpenCTI, containers are displayed differently than other entities, because they contain pieces of knowledge. Here is the list of containers in the platform:

Type of entity STIX standard Description Report Native Reports are collections of threat intelligence focused on one or more topics, such as a description of a threat actor, malware, or attack technique, including context and related details. Grouping Native A Grouping object explicitly asserts that the referenced STIX Objects have a shared context, unlike a STIX Bundle (which explicitly conveys no context). Observed Data Native Observed Data conveys information about cyber security related entities such as files, systems, and networks using the STIX Cyber-observable Objects (SCOs). Note Native A Note is intended to convey informative text to provide further context and/or to provide additional analysis not contained in the STIX Objects. Opinion Native An Opinion is an assessment of the correctness of the information in a STIX Object produced by a different entity. Case Extension A case whether an Incident Response, a Request for Information or a Request for Takedown is used to convey an epic with a set of tasks. Task Extension A task, generally used in the context of a case, is intended to convey information about something that must be done in a limited timeframe."},{"location":"usage/containers/#containers-behavior","title":"Containers behavior","text":"

In the platform, it is always possible to visualize the list of entities and/or observables referenced in a container (Container > Entities or Observables) but also to add / remove entities from the container.

As containers can also contain relationships, which are generally linked to the other entities in the container, it is also possible to visualize the container as a graph (Container > Knowledge)

"},{"location":"usage/containers/#containers-of-an-entity-or-a-relationship","title":"Containers of an entity or a relationship","text":"

On the entity or the relationship side, you can always find all containers where the object is contained using the top menu Analysis:

In all containers list, you can also filter containers based on one or multiple contained object(s):

"},{"location":"usage/dashboards-share/","title":"Share custom dashboards","text":"

OpenCTI provides a simple way to share a visualisation of a custom dashboard to anyone, even for people that are outside of the platform. We call those visualisations: public dashboards.

Public dashboards are a snapshot of a custom dashboard at a specific moment of time. By this way you can share a version of a custom dashboard, then modify your custom dashboard without worrying about the impact on public dashboards you have created.

On the contrary, if you want that your public dashboard is updated with the last version of the associated custom dashboard, you can do it with few clicks by recreating a public dashboard using the same name of the one to update.

To be able to share custom dashboards you need to have the Manage data sharing & ingestion capability.

"},{"location":"usage/dashboards-share/#create-a-public-dashboard","title":"Create a public dashboard","text":"

On the top-right of your custom dashboard page you will find a button that will open a panel to manage the public dashboards associated to this custom dashboard.

In this panel you will find two parts: - At the top you have a form allowing you to create public dashboards, - And below, the list of the public dashboards you have created.

"},{"location":"usage/dashboards-share/#form-to-create-a-new-public-dashboard","title":"Form to create a new public dashboard","text":"

First you need to specify a name for your public dashboard. This name will be displayed on the dashboard page. The name is also used to generate an ID for your public dashboard that will be used in the URL to access the dashboard.

The ID is generated as follow: replace all spaces with symbol - and remove special characters. This ID also needs to be unique in the platform as it is used in the URL to access the dashboard.

Then you can choose if the public dashboard is enabled or not. A disabled dashboard means that you cannot access the public dashboard through the custom URL. But you can still manage it from this panel.

Finally you choose the max level of marking definitions for the data to be displayed in the public dashboard. For example if you choose TLP:AMBER then the data fetched by the widgets inside the public dashboard will be at maximum AMBER, you won't retrieved data with RED marking definition.

Also note that the list of marking definitions you can see is based on your current marking access on the platform and the maximum sharable marking definitions defined by the admin of the platform:

As a platform administrator, you can define, for each type of marking definition, Maximum marking definitions shareable to be shared through Public Dashboard, regardless of the definition set by users in their public dashboard. This configuration is accessible in settings > security > policies (this step is mandatory for creating public dashboards to ensure control over data sharing).

"},{"location":"usage/dashboards-share/#list-of-the-public-dashboards","title":"List of the public dashboards","text":"

When you have created a public dashboard, it will appear in the list below the form.

In this list each item represents a public dashboard you have created. For each you can see its name, path of the URL, max marking definitions, the date of creation, the status to know if the dashboard is enabled or not and some actions.

The possible actions are: copy the link of the public dashboard, disable or enable the dashboard and delete the dashboard.

To share a public dashboard just copy the link and give the URL to the person you want to share with. The dashboard will be visible even if the person is not connected to OpenCTI.

"},{"location":"usage/dashboards/","title":"Custom dashboards","text":"

OpenCTI provides an adaptable and entirely customizable dashboard functionality. The flexibility of OpenCTI's dashboard ensures a tailored and insightful visualization of data, fostering a comprehensive understanding of the platform's knowledge, relationships, and activities.

"},{"location":"usage/dashboards/#dashboard-overview","title":"Dashboard overview","text":"

You have the flexibility to tailor the arrangement of widgets on your dashboard, optimizing organization and workflow efficiency. Widgets can be intuitively placed to highlight key information. Additionally, you can resize widgets from the bottom right corner based on the importance of the information, enabling adaptation to specific analytical needs. This technical flexibility ensures a fluid, visually optimized user experience.

Moreover, the top banner of the dashboard offers a convenient feature to configure the timeframe for displayed data. This can be accomplished through the selection of a relative time period, such as \"Last 7 days\", or by specifying fixed \"Start\" and \"End\" dates, allowing users to precisely control the temporal scope of the displayed information.

"},{"location":"usage/dashboards/#access-control","title":"Access control","text":"

In OpenCTI, the power to create custom dashboards comes with a flexible access control system, allowing users to tailor visibility and rights according to their collaborative needs.

When a user crafts a personalized dashboard, by default, it remains visible only to the dashboard creator. At this stage, the creator holds administrative access rights. However, they can extend access and rights to others using the \"Manage access\" button, denoted by a locker icon, located at the top right of the dashboard page.

Levels of access:

It's crucial to emphasize that at least one user must retain admin access to ensure ongoing management capabilities for the dashboard.

Knowledge access restriction

The platform's data access restrictions also apply to dashboards. The data displayed in the widgets is subject to the user's access rights within the platform. Therefore, an admin user will not see the same results in the widgets as a user with limited access, such as viewing only TLP:CLEAR data (assuming the platform contains data beyond TLP:CLEAR).

"},{"location":"usage/dashboards/#share-dashboard-and-widget-configurations","title":"Share dashboard and widget configurations","text":"

OpenCTI provides functionality for exporting, importing and duplicating dashboard and widget configurations, facilitating the seamless transfer of customized dashboard setups between instances or users.

"},{"location":"usage/dashboards/#export","title":"Export","text":"

Dashboards can be exported from either the custom dashboards list or the dashboard view.

To export a dashboard configuration from the custom dashboards list:

  1. Click on the burger menu button at the end of the dashboard line.
  2. Select Export.

To export a widget, the same mechanism is used, but from the burger menu button in the upper right-hand corner of the widget.

To export a dashboard configuration from the dashboard view:

  1. Navigate to the desired dashboard.
  2. Click on the Export button (file with an arrow pointing to the top right corner) located in the top-right corner of the dashboard.

"},{"location":"usage/dashboards/#configuration-file","title":"Configuration file","text":"

The dashboard configuration will be saved as a JSON file, with the title formatted as [YYYYMMDD]_octi_dashboard_[dashboard title]. The expected configuration file content is as follows:

{\n  \"openCTI_version\": \"5.12.0\",\n  \"type\": \"dashboard\",\n  \"configuration\": {\n    \"name\": \"My dashboard title\",\n    \"manifest\": \"eyJ3aWRn(...)uZmlnIjp7fX0=\"\n  }\n}\n

The widget configuration will be saved as a JSON file, with the title formatted as [YYYYMMDD]_octi_widget_[widget view]. The expected configuration file content is as follows:

{\n  \"openCTI_version\": \"5.12.0\",\n  \"type\": \"widget\",\n  \"configuration\": \"eyJ0eXB(...)iOmZhbHNlfX0=\"\n}\n

Source platform-related filters

When exporting a dashboard or widget configuration, all filters will be exported as is. Filters on objects that do not exist in the receiving platform will need manual deletion after import. Filters to be deleted can be identified by their \"delete\" barred value.

"},{"location":"usage/dashboards/#import","title":"Import","text":"

Dashboards can be imported from the custom dashboards list:

  1. Hover over the Add button (+) in the right bottom corner.
  2. Click on the Import dashboard button (cloud with an upward arrow).
  3. Select your file.

To import a widget, the same mechanism is used, but from a dashboard view.

Configuration compatibility

Only JSON files with the required properties will be accepted, including \"openCTI_version: [5.12.0 and above]\", \"type: [dashboard|widget]\", and a \"configuration\". This applies to both dashboards and widgets configurations.

"},{"location":"usage/dashboards/#duplicate","title":"Duplicate","text":"

Dashboards can be duplicated from either the custom dashboards list or the dashboard view.

To duplicate a dashboard from the custom dashboards list:

  1. Click on the burger menu button at the end of the dashboard line.
  2. Select Duplicate.

To duplicate a widget, the same mechanism is used, but from the burger menu button in the upper right-hand corner of the widget.

To duplicate a dashboard from the dashboard view:

  1. Navigate to the desired dashboard.
  2. Click on the Duplicate the dashboard button (two stacked sheets) located in the top-right corner of the dashboard.

Upon successful duplication, a confirmation message is displayed for a short duration, accompanied by a link for easy access to the new dashboard view. Nevertheless, the new dashboard can still be found in the dashboards list.

Dashboard access

The user importing or duplicating a dashboard becomes the only one with access to it. Then, access can be managed as usual.

"},{"location":"usage/data-model/","title":"Data model","text":""},{"location":"usage/data-model/#introduction","title":"Introduction","text":"

The OpenCTI core design relies on the concept of a knowledge graph, where you have two different kinds of object:

  1. Nodes are used to describe entities, which have some properties or attributes.
  2. Edges are used to describe relationships, which are created between two entity nodes and have some properties or attributes.

Example

An example would be that the entity APT28 has a relationship uses to the malware entity Drovorub.

"},{"location":"usage/data-model/#standard","title":"Standard","text":""},{"location":"usage/data-model/#the-stix-model","title":"The STIX model","text":"

To enable a unified approach in the description of threat intelligence knowledge as well as importing and exporting data, the OpenCTI data model is based on the STIX 2.1 standard. Thus we highly recommend to take a look to the STIX Introductory Walkthrough and to the different kinds of STIX relationships to get a better understanding of how OpenCTI works.

Some more important STIX naming shortcuts are:

"},{"location":"usage/data-model/#extensions","title":"Extensions","text":"

In some cases, the model has been extended to be able to:

"},{"location":"usage/data-model/#implementation-in-the-platform","title":"Implementation in the platform","text":""},{"location":"usage/data-model/#diagram-of-types","title":"Diagram of types","text":"

You can find below the digram of all types of entities and relationships available in OpenCTI.

"},{"location":"usage/data-model/#attributes-and-properties","title":"Attributes and properties","text":"

To get a comprehensive list of available properties for a given type of entity or relationship, you can use the GraphQL playground schema available in your \"Profile > Playground\". Then you can click on schema. You can for instance search for the keyword IntrusionSet:

"},{"location":"usage/deduplication/","title":"Deduplication","text":"

One of the core concept of the OpenCTI knowledge graph is all underlying mechanisms implemented to accurately de-duplicate and consolidate (aka. upserting) information about entities and relationships.

"},{"location":"usage/deduplication/#creation-behavior","title":"Creation behavior","text":"

When an object is created in the platform, whether manually by a user or automatically by the connectors / workers chain, the platform checks if something already exist based on some properties of the object. If the object already exists, it will return the existing object and, in some cases, update it as well.

Technically, OpenCTI generates deterministic IDs based on the listed properties below to prevent duplicate (aka \"ID Contributing Properties\"). Also, it is important to note that there is a special link between name and aliases leading to not have entities with overlapping aliases or an alias already used in the name of another entity.

"},{"location":"usage/deduplication/#entities","title":"Entities","text":"Type Attributes Area (name OR x_opencti_alias) AND x_opencti_location_type Attack Pattern (name OR alias) AND optional x_mitre_id Campaign name OR alias Channel name OR alias City (name OR x_opencti_alias) AND x_opencti_location_type Country (name OR x_opencti_alias) AND x_opencti_location_type Course Of Action (name OR alias) AND optional x_mitre_id Data Component name OR alias Data Source name OR alias Event name OR alias Feedback Case name AND created (date) Grouping name AND context Incident name OR alias Incident Response Case name OR alias Indicator pattern OR alias Individual (name OR x_opencti_alias) and identity_class Infrastructure name OR alias Intrusion Set name OR alias Language name OR alias Malware name OR alias Malware Analysis name OR alias Narrative name OR alias Note None Observed Data name OR alias Opinion None Organization (name OR x_opencti_alias) and identity_class Position (name OR x_opencti_alias) AND x_opencti_location_type Region name OR alias Report name AND published (date) RFI Case name AND created (date) RFT Case name AND created (date) Sector (name OR alias) and identity_class Task None Threat Actor name OR alias Tool name OR alias Vulnerability name OR alias

Names and aliases management

The name and aliases of an entity define a set of unique values, so it's not possible to have the name equal to an alias and vice versa.

"},{"location":"usage/deduplication/#relationships","title":"Relationships","text":"

The deduplication process of relationships is based on the following criterias:

"},{"location":"usage/deduplication/#observables","title":"Observables","text":"

For STIX Cyber Observables, OpenCTI also generate deterministic IDs based on the STIX specification using the \"ID Contributing Properties\" defined for each type of observable.

"},{"location":"usage/deduplication/#update-behavior","title":"Update behavior","text":"

In cases where an entity already exists in the platform, incoming creations can trigger updates to the existing entity's attributes. This logic has been implemented to converge the knowledge base towards the highest confidence and quality levels for both entities and relationships.

To understand in details how the deduplication mechanism works in context of the maximum confidence level, you can navigate through this diagram (section deduplication):

"},{"location":"usage/enrichment/","title":"Enrichment connectors","text":"

Enriching the data within the OpenCTI platform is made seamlessly through the integration of enrichment connectors. These connectors facilitate the retrieval of additional data from external sources or portals.

"},{"location":"usage/enrichment/#automatic-enrichment","title":"Automatic enrichment","text":"

Enrichment can be conducted automatically in two distinct modes:

"},{"location":"usage/enrichment/#manual-enrichment","title":"Manual enrichment","text":"

Manually initiating the enrichment process is straightforward. Simply locate the button with the cloud icon at the top right of an entity.

Clicking on this icon unveils a side panel displaying a list of available connectors that can be activated for the given object. If no connectors appear in the panel, it indicates that no enrichment connectors are available for the specific type of object in focus.

Activation of an enrichment connector triggers a contact with the designated remote source, importing a set of data into OpenCTI to enrich the selected object. Each enrichment connector operates uniquely, focusing on a specific set of object types it can enrich and a distinct set of data it imports. Depending on the connectors, they may, establish relationships, add external references, or complete object information, thereby contributing to the comprehensiveness of information within the platform.

The list of available connectors can be found in our connectors catalog. In addition, further documentation on connectors is available on the dedicated documentation page.

Impact of the max confidence level

The maximum confidence level per user can have an impact on enrichment connectors, not being able to update data in the platform. To understand the concept and the potential issues you could face, please navigate to this page to understand.

"},{"location":"usage/exploring-analysis/","title":"Analyses","text":"

When you click on \"Analyses\" in the left-side bar, you see all the \"Analyses\" tabs, visible on the top bar on the left. By default, the user directly access the \"Reports\" tab, but can navigate to the other tabs as well.

From the Analyses section, users can access the following tabs:

"},{"location":"usage/exploring-analysis/#reports","title":"Reports","text":""},{"location":"usage/exploring-analysis/#general-presentation","title":"General presentation","text":"

Reports are one of the central component of the platform. It is from a Report that knowledge is extracted and integrated in the platform for further navigation, analyses and exports. Always tying the information back to a report allows for the user to be able to identify the source of any piece of information in the platform at all time.

In the MITRE STIX 2.1 documentation, a Report is defined as such :

Reports are collections of threat intelligence focused on one or more topics, such as a description of a threat actor, malware, or attack technique, including context and related details. They are used to group related threat intelligence together so that it can be published as a comprehensive cyber threat story.

As a result, a Report object in OpenCTI is a set of attributes and metadata defining and describing a document outside the platform, which can be a threat intelligence report from a security reseearch team, a blog post, a press article a video, a conference extract, a MISP event, or any type of document and source.

When clicking on the Reports tab at the top left, you see the list of all the Reports you have access to, in respect with your allowed marking definitions. You can then search and filter on some common and specific attributes of reports.

"},{"location":"usage/exploring-analysis/#visualizing-knowledge-within-a-report","title":"Visualizing Knowledge within a Report","text":"

When clicking on a Report, you land on the Overview tab. For a Report, the following tabs are accessible:

Exploring and modifying the structured Knowledge contained in a Report can be done through different lenses.

"},{"location":"usage/exploring-analysis/#graph-view","title":"Graph View","text":"

In Graph view, STIX SDO are displayed as graph nodes and relationships as graph links. Nodes are colored depending of their type. Direct relationship are displayed as plain link and inferred relationships in dotted link. At the top right, you will find a serie of icons. From there you can change the current type of view. Here you can also perform global action on the Knowledge of the Report. Let's highlight 2 of them: - Suggestions: This tool suggests you some logical relationships to add between your contained Object to give more consistency to your Knowledge. - Share with an Organization: if you have designated a main Organization in the platform settings, you can here share your Report and its content with users of an other Organization. At the bottom, you have many option to manipulate the graph: - Multiple option for shaping the graph and applying forces to the nodes and links - Multiple selection options - Multiple filters, including a time range selector allowing you to see the evolution of the Knowledge within the Report. - Multiple creation and edition tools to modify the Knowledge contained in the Report.

"},{"location":"usage/exploring-analysis/#content-mapping-view","title":"Content mapping view","text":"

Through this view, you can map exsisting or new Objects directly from a readable content, allowing you to quickly append structured Knowledge in your Report before refining it with relationships and details. This view is a great place to see the continuum between unstructured and structured Knowledge of a specific Intelligence Production.

"},{"location":"usage/exploring-analysis/#timeline-view","title":"Timeline view","text":"

This view allows you to see the structured Knowledge chronologically. This view is really useful when the report describes an attack or a campaign that lasted some time, and the analyst payed attention to the dates. The view can be filtered and displayed relationships too.

"},{"location":"usage/exploring-analysis/#correlation-view","title":"Correlation view","text":"

The correlation view is a great way to visualize and find other Reports related to your current subject of interest. This graph displays all Report related to the important nodes contained in your current Report, for example Objects like Malware or Intrusion sets.

"},{"location":"usage/exploring-analysis/#matrix-view","title":"Matrix view","text":"

If your Report describes let's say an attack, a campaign, or an understanding of an Intrusion set, it should contains multiple attack patterns Objects to structure the Knowledge about the TTPs of the Threat Actor. Those attack patterns can be displayed as highlighted matrices, by default the MITRE ATT&CK Enterprise matrix. As some matrices can be huge, it can be also filtered to only display attack patterns describes in the Report.

"},{"location":"usage/exploring-analysis/#groupings","title":"Groupings","text":"

Groupings are an alternative to Report for grouping Objects sharing a context without describing an Intelligence Production.

In the MITRE STIX 2.1 documentation, a Grouping is defined as such :

A Grouping object explicitly asserts that the referenced STIX Objects have a shared context, unlike a STIX Bundle (which explicitly conveys no context). A Grouping object should not be confused with an intelligence product, which should be conveyed via a STIX Report. A STIX Grouping object might represent a set of data that, in time, given sufficient analysis, would mature to convey an incident or threat report as a STIX Report object. For example, a Grouping could be used to characterize an ongoing investigation into a security event or incident. A Grouping object could also be used to assert that the referenced STIX Objects are related to an ongoing analysis process, such as when a threat analyst is collaborating with others in their trust community to examine a series of Campaigns and Indicators.

When clicking on the Groupings tab at the top of the interface, you see the list of all the Groupings you have access to, in respect with your allowed marking definitions. You can then search and filter on some common and specific attributes of the groupings.

Clicking on a Grouping, you land on its Overview tab. For a Groupings, the following tabs are accessible: - Overview: as described here. - Knowledge: a complex tab that regroups all the structured Knowledge contained in the groupings, as for a Report, except for the Timeline view. As described here. - Entities: A table containing all SDO (Stix Domain Objects) contained in the Grouping, with search and filters available. It also display if the SDO has been added directly or through inferences with the reasonging engine - Observables: A table containing all SCO (Stix Cyber Observable) contained in the Grouping, with search and filters available. It also display if the SDO has been added directly or through inferences with the reasonging engine - Data: as described here.

"},{"location":"usage/exploring-analysis/#malware-analyses","title":"Malware Analyses","text":"

Malware analyses are an important part of the Cyber Threat Intelligence, allowing an precise understanding of what and how a malware really do on the host but also how and from where it receives its command and communicates its results.

In OpenCTI, Malware Analyses can be created from enrichment connectors that will take an Observable as input and perform a scan on a online service platform to bring back results. As such, Malware Analyses can be done on File, Domain and URL.

In the MITRE STIX 2.1 documentation, a Malware Analyses is defined as such :

Malware Analyses captures the metadata and results of a particular static or dynamic analysis performed on a malware instance or family.

When clicking on the Malware Analyses tab at the top of the interface, you see the list of all the Malware Analyses you have access to, in respect with your allowed marking definitions. You can then search and filter on some common and specific attributes of the Malware Analyses.

Clicking on a Malware Analyses, you land on its Overview tab. The following tabs are accessible: - Overview: This view contains some additions from the common Overview here. You will find here details about how the analysis have been performed, what is the global result regarding the malicioussness of the analysed artifact and all the Observables that have been found during the analysis. - Knowledge: If you Malware analysis is linked to other Objects that are not part of the analysis result, they will be displayed here. As described here. - Data: as described here. - History: as described here.

"},{"location":"usage/exploring-analysis/#notes","title":"Notes","text":"

Not every Knowledge can be structured. For allowing any users to share their insights about a specific Knowledge, they can create a Note for every Object and relationship in OpenCTI they can access to. All the Notes are listed within the Analyses menu for allowing global review of this unstructured addition to the global Knowledge.

In the MITRE STIX 2.1 documentation, a Note is defined as such :

A Note is intended to convey informative text to provide further context and/or to provide additional analysis not contained in the STIX Objects, Marking Definition objects, or Language Content objects which the Note relates to. Notes can be created by anyone (not just the original object creator).

Clicking on a Note, you land on its Overview tab. The following tabs are accessible: - Overview: as described here. - Data: as described here. - History: as described here.

"},{"location":"usage/exploring-analysis/#external-references","title":"External references","text":"

Intelligence is never created from nothing. External references give user a way to link sources or reference documents to any Object in the platform. All external references are listed within the Analyses menu for accessing directly sources of the structured Knowledge.

In the MITRE STIX 2.1 documentation, a External references is defined as such :

External references are used to describe pointers to information represented outside of STIX. For example, a Malware object could use an external reference to indicate an ID for that malware in an external database or a report could use references to represent source material.

Clicking on an External reference, you land on its Overview tab. The following tabs are accessible: - Overview: as described here.

"},{"location":"usage/exploring-arsenal/","title":"Arsenal","text":"

When you click on \"Arsenal\" in the left-side bar, you access all the \"Arsenal\" tabs, visible on the top bar on the left. By default, the user directly access the \"Malware\" tab, but can navigate to the other tabs as well.

From the Arsenal section, users can access the following tabs:

"},{"location":"usage/exploring-arsenal/#malware","title":"Malware","text":""},{"location":"usage/exploring-arsenal/#general-presentation","title":"General presentation","text":"

Malware encompasses a broad category of malicious pieces of code built, deployed, and operated by intrusion set. Malware can take many forms, including viruses, worms, Trojans, ransomware, spyware, and more. These entities are created by individuals or groups, including state-nations, state-sponsored groups, corporations, or hacktivist collectives.

Use the Malware SDO to model and track these threats comprehensively, facilitating in-depth analysis, response, and correlation with other security data.

When clicking on the Malware tab on the top left, you see the list of all the Malware you have access to, in respect with your allowed marking definitions. These malware are displayed as Cards where you can find a summary of the important Knowledge associated with each of them: description, aliases, related intrusion sets, countries and sectors they target, and labels. You can then search and filter on some common and specific attributes of Malware.

At the top right of each Card, you can click the star icon to put it as favorite. It will pin the card on top of the list. You will also be able to display all your favorite easily in your Custom Dashboards.

"},{"location":"usage/exploring-arsenal/#visualizing-knowledge-associated-with-a-malware","title":"Visualizing Knowledge associated with a Malware","text":"

When clicking on an Malware card you land on its Overview tab. For a Malware, the following tabs are accessible:

"},{"location":"usage/exploring-arsenal/#channels","title":"Channels","text":""},{"location":"usage/exploring-arsenal/#general-presentation_1","title":"General presentation","text":"

Channels - such as forums, websites and social media platforms (e.g. Twitter, Telegram) - are mediums for disseminating news, knowledge, and messages to a broad audience. While they offer benefits like open communication and outreach, they can also be leveraged for nefarious purposes, such as spreading misinformation, coordinating cyberattacks, or promoting illegal activities.

Monitoring and managing content within Channels aids in analyzing threats, activities, and indicators associated with various threat actors, campaigns, and intrusion sets.

When clicking on the Channels tab at the top left, you see the list of all the Channels you have access to, in respect with your allowed marking definitions. These channels are displayed in a list where you can find certain fields characterizing the entity: type of channel, labels, and dates. You can then search and filter on some common and specific attributes of Channels.

"},{"location":"usage/exploring-arsenal/#visualizing-knowledge-associated-with-a-channel","title":"Visualizing Knowledge associated with a Channel","text":"

When clicking on a Channel in the list, you land on its Overview tab. For a Channel, the following tabs are accessible:

"},{"location":"usage/exploring-arsenal/#tools","title":"Tools","text":""},{"location":"usage/exploring-arsenal/#general-presentation_2","title":"General presentation","text":"

Tools refers to legitimate, pre-installed software applications, command-line utilities, or scripts that are present on a compromised system. These objects enable you to model and monitor the activities of these tools, which can be misused by attackers.

When clicking on the Tools tab at the top left, you see the list of all the Tools you have access to, in respect with your allowed marking definitions. These tools are displayed in a list where you can find certain fields characterizing the entity: labels and dates. You can then search and filter on some common and specific attributes of Tools.

"},{"location":"usage/exploring-arsenal/#visualizing-knowledge-associated-with-an-observed-data","title":"Visualizing Knowledge associated with an Observed Data","text":"

When clicking on a Tool in the list, you land on its Overview tab. For a Tool, the following tabs are accessible:

"},{"location":"usage/exploring-arsenal/#vulnerabilities","title":"Vulnerabilities","text":""},{"location":"usage/exploring-arsenal/#general-presentation_3","title":"General presentation","text":"

Vulnerabilities represent weaknesses or flaws in software, hardware, configurations, or systems that can be exploited by malicious actors. This object assists in managing and tracking the organization's security posture by identifying areas that require attention and remediation, while also providing insights into associated intrusion sets, malware and campaigns where relevant.

When clicking on the Vulnerabilities tab at the top left, you see the list of all the Vulnerabilities you have access to, in respect with your allowed marking definitions. These vulnerabilities are displayed in a list where you can find certain fields characterizing the entity: CVSS3 severity, labels, dates and creators (in the platform). You can then search and filter on some common and specific attributes of Vulnerabilities.

"},{"location":"usage/exploring-arsenal/#visualizing-knowledge-associated-with-an-observed-data_1","title":"Visualizing Knowledge associated with an Observed Data","text":"

When clicking on a Vulnerabilities in the list, you land on its Overview tab. For a Vulnerability, the following tabs are accessible:

"},{"location":"usage/exploring-cases/","title":"Cases","text":"

When you click on \"Cases\" in the left-side bar, you access all the \"Cases\" tabs, visible on the top bar on the left. By default, the user directly access the \"Incident Responses\" tab, but can navigate to the other tabs as well.

As Analyses, Cases can contain other objects. This way, by adding context and results of your investigations in the case, you will be able to get an up-to-date overview of the ongoing situation, and later produce more easily an incident report.

From the Cases section, users can access the following tabs:

"},{"location":"usage/exploring-cases/#incident-response-request-for-information-request-for-takedown","title":"Incident Response, Request for Information & Request for Takedown","text":""},{"location":"usage/exploring-cases/#general-presentation","title":"General presentation","text":"

Incident responses, Request for Information & Request for Takedown cases are an important part of the case management system in OpenCTI. Here, you can organize the work of your team to respond to cybersecurity situations. You can also give context to the team and other users on the platform about the situation and actions (to be) taken.

To manage the situation, you can issue Tasks and assign them to users in the platform, by directly creating a Task or by applying a Case template that will append a list of predefined tasks.

To bring context, you can use your Case as a container (like Reports or Groupings), allowing you to add any Knowledge from your platform in it. You can also use this possibility to trace your investigation, your Case playing the role of an Incident report. You will find more information about case management here.

Incident Response, Request for Information & Request for Takedown are not STIX 2.1 Objects.

When clicking on the Incident Response, Request for Information & Request for Takedown tabs at the top, you see the list of all the Cases you have access to, in respect with your allowed marking definitions. You can then search and filter on some common and specific attributes.

"},{"location":"usage/exploring-cases/#visualizing-knowledge-within-an-incident-response-request-for-information-request-for-takedown","title":"Visualizing Knowledge within an Incident Response, Request for Information & Request for Takedown","text":"

When clicking on an Incident Response, Request for Information or Request for Takedown, you land on the Overview tab. The following tabs are accessible:

Exploring and modifying the structured Knowledge contained in a Case can be done through different lenses.

"},{"location":"usage/exploring-cases/#graph-view","title":"Graph View","text":"

In Graph view, STIX SDO are displayed as graph nodes and relationships as graph links. Nodes are colored depending on their type. Direct relationship are displayed as plain link and inferred relationships in dotted link. At the top right, you will find a series of icons. From there you can change the current type of view. Here you can also perform global action on the Knowledge of the Case. Let's highlight 2 of them:

"},{"location":"usage/exploring-cases/#content-mapping-view","title":"Content mapping view","text":"

Through this view, you can map existing or new Objects directly from a readable content, allowing you to quickly append structured Knowledge in your Case before refining it with relationships and details. This view is a great place to see the continuum between unstructured and structured Knowledge.

"},{"location":"usage/exploring-cases/#timeline-view","title":"Timeline view","text":"

This view allows you to see the structured Knowledge chronologically. This view is particularly useful in the context of a Case, allowing you to see the chain of events, either from the attack perspectives, the defense perspectives or both. The view can be filtered and displayed relationships too.

"},{"location":"usage/exploring-cases/#matrix-view","title":"Matrix view","text":"

If your Case contains attack patterns, you will be able to visualize them in a Matrix view.

"},{"location":"usage/exploring-cases/#tasks","title":"Tasks","text":"

Tasks are actions to be performed in the context of a Case (Incident Response, Request for Information, Request for Takedown). Usually, a task is assigned to a user, but important tasks may involve more participants.

When clicking on the Tasks tab at the top of the interface, you see the list of all the Tasks you have access to, in respect with your allowed marking definitions. You can then search and filter on some common and specific attributes of the tasks.

Clicking on a Task, you land on its Overview tab. For a Tasks, the following tabs are accessible:

"},{"location":"usage/exploring-cases/#feedbacks","title":"Feedbacks","text":"

When a user fill a feedback form from its Profile/Feedback menu, it will then be accessible here.

This feature gives the opportunity to engage with other users of your platform and to respond directly to their concern about it or the Knowledge, without the need of third party software.

Clicking on a Feedback, you land on its Overview tab. For a Feedback, the following tabs are accessible:

"},{"location":"usage/exploring-entities/","title":"Entities","text":"

OpenCTI's Entities objects provides a comprehensive framework for modeling various targets and attack victims within your threat intelligence data. With five distinct Entity object types, you can represent sectors, events, organizations, systems, and individuals. This robust classification empowers you to contextualize threats effectively, enhancing the depth and precision of your analysis.

When you click on \"Entities\" in the left-side bar, you access all the \"Entities\" tabs, visible on the top bar on the left. By default, the user directly access the \"Sectors\" tab, but can navigate to the other tabs as well.

From the Entities section, users can access the following tabs:

"},{"location":"usage/exploring-entities/#sectors","title":"Sectors","text":""},{"location":"usage/exploring-entities/#general-presentation","title":"General presentation","text":"

Sectors represent specific domains of activity, defining areas such as energy, government, health, finance, and more. Utilize sectors to categorize targeted industries or sectors of interest, providing valuable context for threat intelligence analysis within distinct areas of the economy.

When clicking on the Sectors tab at the top left, you see the list of all the Sectors you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-entities/#visualizing-knowledge-associated-with-a-sector","title":"Visualizing Knowledge associated with a Sector","text":"

When clicking on a Sector in the list, you land on its Overview tab. For a Sector, the following tabs are accessible:

"},{"location":"usage/exploring-entities/#events","title":"Events","text":""},{"location":"usage/exploring-entities/#general-presentation_1","title":"General presentation","text":"

Events encompass occurrences like international sports events, summits (e.g., G20), trials, conferences, or any significant happening in the real world. By modeling events, you can analyze threats associated with specific occurrences, allowing for targeted investigations surrounding high-profile incidents.

When clicking on the Events tab at the top left, you see the list of all the Events you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-entities/#visualizing-knowledge-associated-with-an-event","title":"Visualizing Knowledge associated with an Event","text":"

When clicking on an Event in the list, you land on its Overview tab. For an Event, the following tabs are accessible:

"},{"location":"usage/exploring-entities/#organizations","title":"Organizations","text":""},{"location":"usage/exploring-entities/#general-presentation_2","title":"General presentation","text":"

Organizations include diverse entities such as companies, government bodies, associations, non-profits, and other groups with specific aims. Modeling organizations enables you to understand the threat landscape concerning various entities, facilitating investigations into cyber-espionage, data breaches, or other malicious activities targeting specific groups.

When clicking on the Organizations tab at the top left, you see the list of all the Organizations you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-entities/#visualizing-knowledge-associated-with-an-organization","title":"Visualizing Knowledge associated with an Organization","text":"

When clicking on an Organization in the list, you land on its Overview tab. For an Organization, the following tabs are accessible:

Furthermore, an Organization can be observed from an \"Author\" perspective. It is possible to change this viewpoint to the right of the entity name, using the \"Display as\" drop-down menu (see screenshot below). This different perspective is accessible in the Overview, Knowledge and Analyses tabs. When switched to \"Author\" mode, the observed data pertains to the entity's description as an author within the platform:

"},{"location":"usage/exploring-entities/#systems","title":"Systems","text":""},{"location":"usage/exploring-entities/#general-presentation_3","title":"General presentation","text":"

Systems represent software applications, platforms, frameworks, or specific tools like WordPress, VirtualBox, Firefox, Python, etc. Modeling systems allows you to focus on threats related to specific software or technology, aiding in vulnerability assessments, patch management, and securing critical applications.

When clicking on the Systems tab at the top left, you see the list of all the Systems you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-entities/#visualizing-knowledge-associated-with-a-system","title":"Visualizing Knowledge associated with a System","text":"

When clicking on a System in the list, you land on its Overview tab. For a System, the following tabs are accessible:

Furthermore, a System can be observed from an \"Author\" perspective. It is possible to change this viewpoint to the right of the entity name, using the \"Display as\" drop-down menu (see screenshot below). This different perspective is accessible in the Overview, Knowledge and Analyses tabs. When switched to \"Author\" mode, the observed data pertains to the entity's description as an author within the platform:

"},{"location":"usage/exploring-entities/#individuals","title":"Individuals","text":""},{"location":"usage/exploring-entities/#general-presentation_4","title":"General presentation","text":"

Individuals represent specific persons relevant to your threat intelligence analysis. This category includes targeted individuals, or influential figures in various fields. Modeling individuals enables you to analyze threats related to specific people, enhancing investigations into cyber-stalking, impersonation, or other targeted attacks.

When clicking on the Individuals tab at the top left, you see the list of all the Individuals you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-entities/#visualizing-knowledge-associated-with-an-individual","title":"Visualizing Knowledge associated with an Individual","text":"

When clicking on an Individual in the list, you land on its Overview tab. For an Individual, the following tabs are accessible:

Furthermore, an Individual can be observed from an \"Author\" perspective. It is possible to change this viewpoint to the right of the entity name, using the \"Display as\" drop-down menu (see screenshot below). This different perspective is accessible in the Overview, Knowledge and Analyses tabs. When switched to \"Author\" mode, the observed data pertains to the entity's description as an author within the platform:

"},{"location":"usage/exploring-events/","title":"Events","text":"

When you click on \"Events\" in the left-side bar, you access all the \"Events\" tabs, visible on the top bar on the left. By default, the user directly access the \"Incidents\" tab, but can navigate to the other tabs as well.

From the Events section, users can access the following tabs:

"},{"location":"usage/exploring-events/#incidents","title":"Incidents","text":""},{"location":"usage/exploring-events/#general-presentation","title":"General presentation","text":"

Incidents usually represents negative events impacting resources you want to protect, but local definitions can vary a lot, from a simple security events send by a SIEM to a massive scale supply chain attack impacting a whole activity sector.

In the MITRE STIX 2.1, the Incident SDO has not yet been finalized and is the object of important work as part of a forthcoming STIX Extension.

When clicking on the Incidents tab at the top left, you see the list of all the Incidents you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-events/#visualizing-knowledge-associated-with-an-incident","title":"Visualizing Knowledge associated with an Incident","text":"

When clicking on an Incident in the list, you land on its Overview tab. For an Incident, the following tabs are accessible:

"},{"location":"usage/exploring-events/#sightings","title":"Sightings","text":""},{"location":"usage/exploring-events/#general-presentation_1","title":"General presentation","text":"

The Sightings correspond to events in which an Observable (IP, domain name, url, etc.) is detected by or within an information system, an individual or an organization. Most often, this corresponds to a security event transmitted by a SIEM or EDR.

In OpenCTI, as we are in a cybersecurity context, Sightings are associated with Indicators of Compromise (IoC) and the notion of \"True positive\" and \"False positive\".

It is important to note that Sightings are a type of relationship (not a STIX SDO or STIX SCO), between an Observable and an Entities or Locations.

When clicking on the Sightings tab at the top left, you see the list of all the Sightings you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-events/#visualizing-knowledge-associated-with-a-sighting","title":"Visualizing Knowledge associated with a Sighting","text":"

When clicking on a Sighting in the list, you land on its Overview tab. As other relationships in the platform, Sighting's overview displays common related metadata, containers, external references, notes and entities linked by the relationship.

In addition, this overview displays: - Qualification : if the Sighting is a True Positive or a False Positive - Count : number of times the event has been seen

"},{"location":"usage/exploring-events/#observed-data","title":"Observed Data","text":""},{"location":"usage/exploring-events/#general-presentation_2","title":"General presentation","text":"

Observed Data correspond to an extract from a log that contains Observables.

In the MITRE STIX 2.1, the Observed Data SDO is defined as such:

Observed Data conveys information about cybersecurity related entities such as files, systems, and networks using the STIX Cyber-observable Objects (SCOs). For example, Observed Data can capture information about an IP address, a network connection, a file, or a registry key. Observed Data is not an intelligence assertion, it is simply the raw information without any context for what it means.

When clicking on the Observed Data tab at the top left, you see the list of all the Observed Data you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-events/#visualizing-knowledge-associated-with-an-observed-data","title":"Visualizing Knowledge associated with an Observed Data","text":"

When clicking on an Observed Data in the list, you land on its Overview tab. The following tabs are accessible:

"},{"location":"usage/exploring-locations/","title":"Location","text":"

OpenCTI's Locations objects provides a comprehensive framework for representing various geographic entities within your threat intelligence data. With five distinct Location object types, you can precisely define regions, countries, areas, cities, and specific positions. This robust classification empowers you to contextualize threats geographically, enhancing the depth and accuracy of your analysis.

When you click on \"Locations\" in the left-side bar, you access all the \"Locations\" tabs, visible on the top bar on the left. By default, the user directly access the \"Regions\" tab, but can navigate to the other tabs as well.

From the Locations section, users can access the following tabs:

"},{"location":"usage/exploring-locations/#regions","title":"Regions","text":""},{"location":"usage/exploring-locations/#general-presentation","title":"General presentation","text":"

Regions encapsulate broader geographical territories, often representing continents or significant parts of continents. Examples include EMEA (Europe, Middle East, and Africa), Asia, Western Europe, and North America. Utilize regions to categorize large geopolitical areas and gain macro-level insights into threat patterns.

When clicking on the Regions tab at the top left, you see the list of all the Regions you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-locations/#visualizing-knowledge-associated-with-a-region","title":"Visualizing Knowledge associated with a Region","text":"

When clicking on a Region in the list, you land on its Overview tab. For a Region, the following tabs are accessible:

"},{"location":"usage/exploring-locations/#countries","title":"Countries","text":""},{"location":"usage/exploring-locations/#general-presentation_1","title":"General presentation","text":"

Countries represent individual nations across the world. With this object type, you can specify detailed information about a particular country, enabling precise localization of threat intelligence data. Countries are fundamental entities in geopolitical analysis, offering a focused view of activities within national borders.

When clicking on the Countries tab at the top left, you see the list of all the Countries you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-locations/#visualizing-knowledge-associated-with-a-country","title":"Visualizing Knowledge associated with a Country","text":"

When clicking on a Country in the list, you land on its Overview tab. For a Country, the following tabs are accessible:

"},{"location":"usage/exploring-locations/#areas","title":"Areas","text":""},{"location":"usage/exploring-locations/#general-presentation_2","title":"General presentation","text":"

Areas define specific geographical regions of interest, such as the Persian Gulf, the Balkans, or the Caucasus. Use areas to identify unique zones with distinct geopolitical, cultural, or strategic significance. This object type facilitates nuanced analysis of threats within defined geographic contexts.

When clicking on the Areas tab at the top left, you see the list of all the Areas you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-locations/#visualizing-knowledge-associated-with-an-area","title":"Visualizing Knowledge associated with an Area","text":"

When clicking on an Area in the list, you land on its Overview tab. For an Area, the following tabs are accessible:

"},{"location":"usage/exploring-locations/#cities","title":"Cities","text":""},{"location":"usage/exploring-locations/#general-presentation_3","title":"General presentation","text":"

Cities provide granular information about urban centers worldwide. From major metropolises to smaller towns, cities are crucial in understanding localized threat activities. With this object type, you can pinpoint threats at the urban level, aiding in tactical threat assessments and response planning.

When clicking on the Cities tab at the top left, you see the list of all the Cities you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-locations/#visualizing-knowledge-associated-with-a-city","title":"Visualizing Knowledge associated with a City","text":"

When clicking on a City in the list, you land on its Overview tab. For a City, the following tabs are accessible:

"},{"location":"usage/exploring-locations/#positions","title":"Positions","text":""},{"location":"usage/exploring-locations/#general-presentation_4","title":"General presentation","text":"

Positions represent highly precise geographical points, such as monuments, buildings, or specific event locations. This object type allows you to define exact coordinates, enabling accurate mapping of events or incidents. Positions enhance the granularity of your threat intelligence data, facilitating precise geospatial analysis.

When clicking on the Positions tab at the top left, you see the list of all the Positions you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-locations/#visualizing-knowledge-associated-with-a-position","title":"Visualizing Knowledge associated with a Position","text":"

When clicking on a Position in the list, you land on its Overview tab. For a Position, the following tabs are accessible:

"},{"location":"usage/exploring-observations/","title":"Observations","text":"

When you click on \"Observations\" in the left-side bar, you access all the \"Observations\" tabs, visible on the top bar on the left. By default, the user directly access the \"Observables\" tab, but can navigate to the other tabs as well.

From the Observations section, users can access the following tabs:

"},{"location":"usage/exploring-observations/#observables","title":"Observables","text":""},{"location":"usage/exploring-observations/#general-presentation","title":"General presentation","text":"

An Observable is a distinct entity from the Indicator within OpenCTI and represents an immutable object. Observables can encompass a wide range of entities such as IPv4 addresses, domain names, email addresses, and more. Importantly, Observables don't inherently imply malicious intent, they can include items like legitimate IP addresses or domains associated with an organization. Additionally, they serve as raw data points without the additional detection context found in Indicators.

When clicking on the Observables tab at the top left, you see the list of all the Observables you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-observations/#visualizing-knowledge-associated-with-an-observable","title":"Visualizing Knowledge associated with an Observable","text":"

When clicking on an Observable in the list, you land on its Overview tab. For an Observable, the following tabs are accessible:

"},{"location":"usage/exploring-observations/#artefacts","title":"Artefacts","text":""},{"location":"usage/exploring-observations/#general-presentation_1","title":"General presentation","text":"

An Artefact is a particular Observable. It may contain a file, such as a malware sample. Files can be uploaded or downloaded in encrypted archives, providing an additional layer of security against potential manipulation of malicious payloads.

When clicking on the Artefacts tab at the top left, you see the list of all the Artefacts you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-observations/#visualizing-knowledge-associated-with-an-artefact","title":"Visualizing Knowledge associated with an Artefact","text":"

When clicking on an Artefact in the list, you land on its Overview tab. For an Artefact, the following tabs are accessible:

"},{"location":"usage/exploring-observations/#indicators","title":"Indicators","text":""},{"location":"usage/exploring-observations/#general-presentation_2","title":"General presentation","text":"

An Indicator is a detection object. It is defined by a search pattern, which could be expressed in various formats such as STIX, Sigma, YARA, among others. This pattern serves as a key to identify potential threats within the data. Furthermore, an Indicator includes additional information that enriches its detection context. This information encompasses:

When clicking on the Indicators tab at the top left, you see the list of all the Indicators you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-observations/#visualizing-knowledge-associated-with-an-indicator","title":"Visualizing Knowledge associated with an Indicator","text":"

When clicking on an Indicator in the list, you land on its Overview tab. For an Indicator, the following tabs are accessible:

"},{"location":"usage/exploring-observations/#infrastructures","title":"Infrastructures","text":""},{"location":"usage/exploring-observations/#general-presentation_3","title":"General presentation","text":"

An Infrastructure refers to a set of resources, tools, systems, or services employed by a threat to conduct their activities. It represents the underlying framework or support system that facilitates malicious operations, such as the command and control (C2) servers in an attack. Notably, like Observables, an Infrastructure doesn't inherently imply malicious intent. It can also represent legitimate resources affiliated with an organization (e.g. devices or servers that are part of defense, database servers targeted by an attack, etc.).

When clicking on the Infrastructures tab at the top left, you see the list of all the Infrastructures you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-observations/#visualizing-knowledge-associated-with-an-infrastructure","title":"Visualizing Knowledge associated with an Infrastructure","text":"

When clicking on an Infrastructure in the list, you land on its Overview tab. For an Infrastructure, the following tabs are accessible:

"},{"location":"usage/exploring-techniques/","title":"Techniques","text":"

When you click on \"Techniques\" in the left-side bar, you access all the \"Techniques\" tabs, visible on the top bar on the left. By default, the user directly access the \"Attack pattern\" tab, but can navigate to the other tabs as well.

From the Techniques section, users can access the following tabs:

"},{"location":"usage/exploring-techniques/#attack-pattern","title":"Attack pattern","text":""},{"location":"usage/exploring-techniques/#general-presentation","title":"General presentation","text":"

Attacks pattern used by the threat actors to perform their attacks. By default, OpenCTI is provisionned with attack patterns from MITRE ATT&CK matrices and CAPEC (for CTI) and DISARM matrix (for FIMI).

In the MITRE STIX 2.1 documentation, an Attack pattern is defined as such :

Attack Patterns are a type of TTP that describe ways that adversaries attempt to compromise targets. Attack Patterns are used to help categorize attacks, generalize specific attacks to the patterns that they follow, and provide detailed information about how attacks are performed. An example of an attack pattern is \"spear phishing\": a common type of attack where an attacker sends a carefully crafted e-mail message to a party with the intent of getting them to click a link or open an attachment to deliver malware. Attack Patterns can also be more specific; spear phishing as practiced by a particular threat actor (e.g., they might generally say that the target won a contest) can also be an Attack Pattern.

When clicking on the Attack pattern tab at the top left, you access the list of all the attack pattern you have access too, in respect with your allowed marking definitions. You can then search and filter on some common and specific attributes of attack patterns.

"},{"location":"usage/exploring-techniques/#visualizing-knowledge-associated-with-an-attack-pattern","title":"Visualizing Knowledge associated with an Attack pattern","text":"

When clicking on an Attack pattern, you land on its Overview tab. For an Attack pattern, the following tabs are accessible:

"},{"location":"usage/exploring-techniques/#narratives","title":"Narratives","text":""},{"location":"usage/exploring-techniques/#general-presentation_1","title":"General presentation","text":"

In OpenCTI, narratives used by threat actors can be represented and linked to other Objects. Narratives are mainly used in the context of disinformation campaigns where it is important to trace which narratives have been and are still used by threat actors.

An example of Narrative can be \"The country A is weak and corrupted\" or \"The ongoing operation aims to free people\".

Narrative can be a mean in the context of a more broad attack or the goal of the operation, a vision to impose.

When clicking on the Narrative tab at the top left, you access the list of all the Narratives you have access too, in respect with your allowed marking definitions. You can then search and filter on some common and specific attributes of narratives.

"},{"location":"usage/exploring-techniques/#visualizing-knowledge-associated-with-a-narrative","title":"Visualizing Knowledge associated with a Narrative","text":"

When clicking on a Narrative, you land on its Overview tab. For a Narrative, the following tabs are accessible:

"},{"location":"usage/exploring-techniques/#courses-of-action","title":"Courses of action","text":""},{"location":"usage/exploring-techniques/#general-presentation_2","title":"General presentation","text":"

In the MITRE STIX 2.1 documentation, an Course of action is defined as such :

A Course of Action is an action taken either to prevent an attack or to respond to an attack that is in progress. It may describe technical, automatable responses (applying patches, reconfiguring firewalls) but can also describe higher level actions like employee training or policy changes. For example, a course of action to mitigate a vulnerability could describe applying the patch that fixes it.

When clicking on the Courses of action tab at the top left, you access the list of all the Courses of action you have access too, in respect with your allowed marking definitions. You can then search and filter on some common and specific attributes of course of action.

"},{"location":"usage/exploring-techniques/#visualizing-knowledge-associated-with-a-course-of-action","title":"Visualizing Knowledge associated with a Course of action","text":"

When clicking on a Course of Action, you land on its Overview tab. For a Course of action, the following tabs are accessible:

"},{"location":"usage/exploring-techniques/#data-sources-data-components","title":"Data sources & Data components","text":""},{"location":"usage/exploring-techniques/#general-presentation_3","title":"General presentation","text":"

In the MITRE ATT&CK documentation, Data sources are defined as such :

Data sources represent the various subjects/topics of information that can be collected by sensors/logs. Data sources also include data components, which identify specific properties/values of a data source relevant to detecting a given ATT&CK technique or sub-technique.

"},{"location":"usage/exploring-techniques/#visualizing-knowledge-associated-with-a-data-source-or-a-data-components","title":"Visualizing Knowledge associated with a Data source or a Data components","text":"

When clicking on a Data source or a Data component, you land on its Overview tab. For a Course of action, the following tabs are accessible:

"},{"location":"usage/exploring-threats/","title":"Threats","text":"

When you click on \"Threats\" in the left-side bar, you access all the \"Threats\" tabs, visible on the top bar on the left. By default, the user directly access the \"Threat Actor (Group)\" tab, but can navigate to the other tabs as well.

From the Threats section, users can access the following tabs:

"},{"location":"usage/exploring-threats/#threat-actors-group-and-individual","title":"Threat actors (Group and Individual)","text":""},{"location":"usage/exploring-threats/#general-presentation","title":"General presentation","text":"

Threat actors are the humans who are building, deploying and operating intrusion sets. A threat actor can be an single individual or a group of attackers (who may be composed of individuals). A group of attackers may be a state-nation, a state-sponsored group, a corporation, a group of hacktivists, etc.

Beware, groups of attackers might be modelled as \"Intrusion sets\" in feeds, as there is sometimes a misunderstanding in the industry between group of people and the technical/operational intrusion set they operate.

When clicking on the Threat actor (Group or Individual) tabs at the top left, you see the list of all the groups of Threat actors or Individual Threat actors you have access to, in respect with your allowed marking definitions. These groups or individual are displayed as Cards where you can find a summary of the important Knowledge associated with each of them: description, aliases, malware they used, countries and industries they target, labels. You can then search and filter on some common and specific attributes of Threat actors.

At the top right of each Card, you can click the star icon to put it as favorite. It will pin the card on top of the list. You will also be able to display all your favorite easily in your Custom Dashboards.

"},{"location":"usage/exploring-threats/#demographic-and-biographic-information","title":"Demographic and Biographic Information","text":"

Individual Threat actors have unique properties to represent demographic and biographic information. Currently tracked demographics include their countries of residence, citizenships, date of birth, gender, and more.

Biographic information includes their eye and hair color, as well as known heights and weights.

An Individual Threat actor can also be tracked as employed by an Organization or a Threat Actor group. This relationship can be set under the knowledge tab.

"},{"location":"usage/exploring-threats/#visualizing-knowledge-associated-with-a-threat-actor","title":"Visualizing Knowledge associated with a Threat actor","text":"

When clicking on a Threat actor Card, you land on its Overview tab. For a Threat actor, the following tabs are accessible:

"},{"location":"usage/exploring-threats/#intrusion-sets","title":"Intrusion Sets","text":"

An intrusion set is a consistent group of technical elements such as \"tactics, technics and procedures\" (TTP), tools, malware and infrastructure used by a threat actor against one or a number of victims who are usually sharing some characteristics (field of activity, country or region) to reach a similar goal whoever the victim is. The intrusion set may be deployed once or several times and may evolve with time. Several intrusion sets may be linked to one threat actor. All the entities described below may be linked to one intrusion set. There are many debates in the Threat Intelligence community on how to define an intrusion set and how to distinguish several intrusion sets with regards to:

As OpenCTI is very customizable, each organization or individual may use these categories as they wish. Instead, it is also possible to use the import feed for the choice of categories.

When clicking on the Intrusion set tab on the top left, you see the list of all the Intrusion sets you have access to, in respect with your allowed marking definitions. These intrusion sets are displayed as Cards where you can find a summary of the important Knowledge associated with each of them: description, aliases, malware they used, countries and industries they target, labels. You can then search and filter on some common and specific attributes of Intrusion set.

At the top right of each Card, you can click the star icon to put it as favorite. It will pin the card on top of the list. You will also be able to display all your favorite easily in your Custom Dashboards.

"},{"location":"usage/exploring-threats/#visualizing-knowledge-associated-with-an-intrusion-set","title":"Visualizing Knowledge associated with an Intrusion set","text":"

When clicking on an Intrusion set Card, you land on its Overview tab. The following tabs are accessible:

"},{"location":"usage/exploring-threats/#campaigns","title":"Campaigns","text":"

A campaign can be defined as \"a series of malicious activities or attacks (sometimes called a \"wave of attacks\") taking place within a limited period of time, against a defined group of victims, associated to a similar intrusion set and characterized by the use of one or several identical malware towards the various victims and common TTPs\". However, a campaign is an investigation element and may not be widely recognized. Thus, a provider might define a series of attacks as a campaign and another as an intrusion set. Campaigns can be attributed to an Intrusion set.

When clicking on the Campaign tab on the top left, you see the list of all the Campaigns you have access to, in respect with your allowed marking definitions. These campaigns are displayed as Cards where you can find a summary of the important Knowledge associated with each of them: description, aliases, malware used, countries and industries they target, labels. You can then search and filter on some common and specific attributes of Campaigns.

At the top right of each Card, you can click the star icon to put it as favorite. It will pin the card on top of the list. You will also be able to display all your favorite easily in your Custom Dashboards.

"},{"location":"usage/exploring-threats/#visualizing-knowledge-associated-with-a-campaign","title":"Visualizing Knowledge associated with a Campaign","text":"

When clicking on an Campaign Card, you land on its Overview tab. The following tabs are accessible:

"},{"location":"usage/export/","title":"Manual export","text":""},{"location":"usage/export/#introduction","title":"Introduction","text":"

With the OpenCTI platform, you can manually export your intelligence content in the following formats:

"},{"location":"usage/export/#export-in-structured-or-document-format","title":"Export in structured or document format","text":""},{"location":"usage/export/#generate-an-export","title":"Generate an export","text":"

To export one or more entities you have two possibilities. First you can click on the button \"Open export panel\". The list of pre-existing exports will open, and in the bottom right-hand corner you can configure and generate a new export.

This opens the export settings panel, where you can customize your export according to three fields:

The second way is to click directly on the \"Generate an Export\" button to export the content of an entity in the desired format. The same settings panel will open.

"},{"location":"usage/export/#export-possibilities","title":"Export possibilities","text":"

All entities in your instance can be exported either directly via Generate Export or indirectly via Export List in .json and .csv formats.

"},{"location":"usage/export/#export-a-list-entities","title":"Export a list entities","text":"

You have the option to export either a single element, such as a report, or a collection of elements, such as multiple reports. These exports may contain not only the entity itself but also related elements, depending on the type of export you select: \"simple\" or \"full\". See the Export types (simple and full) section.

You can also choose to export a list of entities within a container. To do so, go to the container's entities tab. For example, for a report, if you only want to retrieve entity type attack pattern and indicators to design a detection strategy, go to the entities tab and select specific elements for export.

"},{"location":"usage/export/#export-types-simple-and-full","title":"Export types (simple and full)","text":"

When you wish to export only the content of a specific entity such as a report, you can choose a \"simple\" export type.

If you also wish to export associated content, you can choose a \"full\" export. With this type of export, the entity will be exported along with all entities directly associated with the central one (first neighbors).

"},{"location":"usage/export/#exports-list-panel","title":"Exports list panel","text":"

Once an export has been created, you can find it in the export list panel. Simply click on a particular export to download it.

You can also generate a new export directly from the Exports list, as explained in the Generate an export section.

"},{"location":"usage/feeds/","title":"Native feeds","text":"

OpenCTI provides versatile mechanisms for sharing data through its built-in feeds, including Live streams, TAXII collections, and CSV feeds.

"},{"location":"usage/feeds/#feed-configuration","title":"Feed configuration","text":"

Feeds are configured in the \"Data > Data sharing\" window. Configuration for all feed types is uniform and relies on the following parameters:

By carefully configuring filters and access controls, you can tailor the behavior of Live streams, TAXII collections, and CSV feeds to align with your specific data-sharing needs.

"},{"location":"usage/feeds/#live-streams","title":"Live streams","text":""},{"location":"usage/feeds/#introduction","title":"Introduction","text":"

Live streams, an exclusive OpenCTI feature, increase the capacity for real-time data sharing by serving STIX 2.1 bundles as TAXII collections with advanced capabilities. What distinguishes them is their dynamic nature, which includes the creation, updating, and deletion of data. Unlike TAXII, Live streams comprehensively resolve relationships and dependencies, ensuring a more nuanced and interconnected exchange of information. This is particularly beneficial in scenarios where sharing involves entities with complex relationships, providing a richer context for the shared data.

In scenarios involving data sharing between two OpenCTI platforms, Live streams emerge as the preferred mechanism. These streams operate like TAXII collections but are notably enhanced, supporting:

Resolve relationships and dependencies

Dependencies and relationships of entities shared via Live streams, as determined by specified filters, are automatically shared even beyond the confines of these filters. This means that interconnected data, which may not directly meet the filter criteria, is still included in the Live stream. However, OpenCTI data segregation mechanisms are still applied. They allow to restrict access to shared data based on factors such as markings or organization. It's imperative to carefully configure and manage these access controls to ensure that no confidential data is shared.

"},{"location":"usage/feeds/#illustrative-scenario","title":"Illustrative scenario","text":"

To better understand how live streams are working, let's take a few examples, from simple to complex.

Given a live stream with filters Entity type: Indicator AND Label: detection. Let's see what happens with an indicator with:

Action Result in stream (with Avoid dependencies resolution=true) Result in stream (with Avoid dependencies resolution=false) 1. Create an indicator Nothing Nothing 2. Add the label detection Create TLP:GREEN, create CrowdStrike, create the indicator Create TLP:GREEN, create CrowdStrike, create the malware Emotet, create the indicator, create the relationship indicates 3. Remove the label detection Delete the indicator Delete the indicator and the relationship 4. Add the label detection Create the indicator Create the indicator, create the relationship indicates 5. Delete the indicator Delete the indicator Delete the indicator and the relationship

Details on how to consume these Live streams can be found on the dedicated page.

"},{"location":"usage/feeds/#taxii-collections","title":"TAXII Collections","text":"

OpenCTI has an embedded TAXII API endpoint which provides valid STIX 2.1 bundles. If you wish to know more about the TAXII standard, please read the official introduction.

In OpenCTI you can create as many TAXII 2.1 collections as needed.

After creating a new collection, every system with a proper access token can consume the collection using different kinds of authentication (basic, bearer, etc.).

As when using the GraphQL API, TAXII 2.1 collections have a classic pagination system that should be handled by the consumer. Also, it's important to understand that element dependencies (nested IDs) inside the collection are not always contained/resolved in the bundle, so consistency needs to be handled at the client level.

"},{"location":"usage/feeds/#csv-feeds","title":"CSV feeds","text":"

The CSV feed facilitates the automatic generation of a CSV file, accessible via a URL. The CSV file is regenerated and updated at user-defined intervals, providing flexibility. The entries in the file correspond to the information that matches the filters applied and that were created or modified in the platform during the time interval (between the last generation of the CSV and the new one).

CSV size limit

The CSV file generated has a limit of 5 000 entries. If more than 5 000 entities are retrieved by the platform, only the most recent 5 000 will be shared in the file.

"},{"location":"usage/getting-started/","title":"Getting started","text":"

This guide aims to give you a full overview of the OpenCTI features and workflows. The platform can be used in various contexts to handle threats management use cases from a technical to a more strategic level. OpenCTI has been designed as a knowledge graph, taking inputs (threat intelligence feeds, sightings & alerts, vulnerabilities, assets, artifacts, etc.) and generating outputs based on built-in capabilities and / or connectors.

Here are some examples of use cases:

"},{"location":"usage/getting-started/#welcome-dashboard","title":"Welcome dashboard","text":"

The welcome page gives any visitor on the OpenCTI platform an overview of what's happening on the platform. It can be replaced by a custom dashboard, created by a user (or the default dashboard set up in a role, a group or an organization).

"},{"location":"usage/getting-started/#indicators-in-the-dashboard","title":"Indicators in the dashboard","text":""},{"location":"usage/getting-started/#numbers","title":"Numbers","text":"Component Description Intrusion sets Number of intrusion sets . Malware Number of malware. Reports Number of reports. Indicators Number of indicators."},{"location":"usage/getting-started/#charts-lists","title":"Charts & lists","text":"Component Description Most active threats (3 last months) Top active threats (threat actor, intrusion set and campaign) during the last 3 months. Most targeted victims (3 last months) Intensity of the targeting tied to the number of relations targets for a given entities (organization, sector, location, etc.) during the last 3 months. Relationships created Volume of relationships created over the past 12 months. Most active malware (3 last months) Top active malware during the last 3 months. Most active vulnerabilities (3 last months) List of the vulnerabilities with the greatest number of relations over the last 3 months. Targeted countries (3 last months) Intensity of the targeting tied to the number of relations targets for a given country over the past 3 months. Latest reports Last reports ingested in the platform. Most active labels (3 last months) Top labels given to entities during the last 3 months.

Explore the platform

To start exploring the platform and understand how information is structured, we recommend starting with the overview documentation page.

"},{"location":"usage/import-automated/","title":"Automated import","text":"

Automated imports in OpenCTI streamline the process of data ingestion, allowing users to effortlessly bring in valuable intelligence from diverse sources. This page focuses on the automated methods of importing data, which serve as bridges between OpenCTI and diverse external systems, formatting it into a STIX bundle, and importing it into the OpenCTI platform.

"},{"location":"usage/import-automated/#connectors","title":"Connectors","text":"

Connectors in OpenCTI serve as dynamic gateways, facilitating the import of data from a wide array of sources and systems. Every connector is designed to handle specific data types and structures of the source, allowing OpenCTI to efficiently ingest the data.

"},{"location":"usage/import-automated/#connector-behaviors","title":"Connector behaviors","text":"

The behavior of each connector is defined by its development, determining the types of data it imports and its configuration options. This flexibility allows users to customize the import process to their specific needs, ensuring a seamless and personalized data integration experience.

The level of configuration granularity regarding the imported data type varies with each connector. Nevertheless, connectors empower users to specify the date from which they wish to fetch data. This capability is particularly useful during the initial activation of a connector, enabling the retrieval of historical data. Following this, the connector operates in real-time, continuously importing new data from the source.

"},{"location":"usage/import-automated/#connector-ecosystem","title":"Connector Ecosystem","text":"

OpenCTI's connector ecosystem covers a broad spectrum of sources, enhancing the platform's capability to integrate data from various contexts, from threat intelligence providers to specialized databases. The list of available connectors can be found in our connectors catalog. Connectors are categorized into three types: import connectors (the focus here), enrichment connectors, and stream consumers. Further documentation on connectors is available on the dedicated documentation page.

In summary, automated imports through connectors empower OpenCTI users with a scalable, efficient, and customizable mechanism for data ingestion, ensuring that the platform remains enriched with the latest and most relevant intelligence.

"},{"location":"usage/import-automated/#native-automated-import","title":"Native automated import","text":"

In OpenCTI, the \"Data > Ingestion\" section provides users with built-in functions for automated data import. These functions are designed for specific purposes and can be configured to seamlessly ingest data into the platform. Here, we'll explore the configuration process for the three built-in functions: Live Streams, TAXII Feeds, and RSS Feeds.

"},{"location":"usage/import-automated/#live-streams","title":"Live streams","text":"

Live Streams enable users to consume data from another OpenCTI platform, fostering collaborative intelligence sharing. Here's a step-by-step guide to configure Live streams synchroniser:

  1. Remote OpenCTI URL: Provide the URL of the remote OpenCTI platform (e.g., https://[domain]; don't include the path).
  2. Remote OpenCTI token: Provide the user token. An administrator from the remote platform must supply this token, and the associated user must have the \"Access data sharing\" privilege.
  3. After filling in the URL and user token, validate the configuration.
  4. Once validated, select a live stream to which you have access.

Additional configuration options:

"},{"location":"usage/import-automated/#taxii-feeds","title":"TAXII feeds","text":"

TAXII Feeds in OpenCTI provide a robust mechanism for ingesting TAXII collections from TAXII servers or other OpenCTI instances. Configuring TAXII ingester involves specifying essential details to seamlessly integrate threat intelligence data. Here's a step-by-step guide to configure TAXII ingesters:

  1. TAXII server URL: Provide the root API URL of the TAXII server. For collections from another OpenCTI instance, the URL is in the form https://[domain]/taxii2/root.
  2. TAXII collection: Enter the ID of the TAXII collection to be ingested. For collections from another OpenCTI instance, the ID follows the format 426e3acb-db50-4118-be7e-648fab67c16c.
  3. Authentication type (if necessary): Enter the authentication type. For non-public collections from another OpenCTI instance, the authentication type is \"Bearer token.\" Enter the token of a user with access to the collection (similar to the point 2 of the Live streams configuration above).

Additional configuration options:

"},{"location":"usage/import-automated/#rss-feeds","title":"RSS feeds","text":"

RSS Feeds functionality enables users to seamlessly ingest items in report form from specified RSS feeds. Configuring RSS Feeds involves providing essential details and selecting preferences to tailor the import process. Here's a step-by-step guide to configure RSS ingesters:

  1. RSS Feed URL: Provide the URL of the RSS feed from which items will be imported.

Additional configuration options:

"},{"location":"usage/import-automated/#csv-feeds","title":"CSV feeds","text":"

The CSV feeds ingester integrates new entities to the platform.

Create a CSV feeds ingester by clicking on the \"+\" button Fill the URL field up to retrieve the CSV file.

Note that a CSV mapper is required.

To finalize the creation, click on \"Verify\" to run a check on the submitted URL with the selected CSV mapper. A valid URL-CSV mapper combination results in the identification of up to 50 entities.

Once, the test is successful, the \"Create\" button can be clicked.

To start your new ingester, click on \"Start\", in the burger menu.

CSV feed ingestion is made possible thanks to the connector \"ImportCSV\". So you can track the progress in the Connectors page. On a regular basis, the ingestion is updated when new data is added to the CSV feed.

"},{"location":"usage/import-automated/#best-practices-for-feed-import","title":"Best practices for feed import","text":"

Ensuring a secure and well-organized environment is paramount in OpenCTI. Here are two recommended best practices to enhance security, traceability, and overall organizational clarity:

  1. Create a dedicated user for each source: Generate a user specifically for feed import, following the convention [F] Source name for clear identification. Assign the user to the \"Connectors\" group to streamline user management and permission related to data creation. Please see here for more information on this good practice.
  2. Establish a dedicated Organization for the source: Create an organization named after the data source for clear identification. Assign the newly created organization to the \"Default author\" field in feed import configuration if available.

By adhering to these best practices, you ensure independence in managing rights for each import source through dedicated user and organization structures. In addition, you enable clear traceability to the entity's creator, facilitating source evaluation, dashboard creation, data filtering and other administrative tasks.

"},{"location":"usage/import-automated/#digest","title":"Digest","text":"

Users can streamline the data ingestion process using various automated import capabilities. Each method proves beneficial in specific circumstances.

By leveraging these automated import functionalities, OpenCTI users can build a comprehensive, up-to-date threat intelligence database. The platform's adaptability and user-friendly configuration options ensure that intelligence workflows remain agile, scalable, and tailored to the unique needs of each organization.

"},{"location":"usage/import-files/","title":"Import from files","text":""},{"location":"usage/import-files/#import-mechanisms","title":"Import mechanisms","text":"

The platform provides a seamless process for automatically parsing data from various file formats. This capability is facilitated by two distinct mechanisms.

File import connectors: Currently, there are two connectors designed for importing files and automatically identifying entities.

CSV mappers: The CSV mapper is a tailored functionality to facilitate the import of data stored in CSV files. For more in-depth information on using CSV mappers, refer to the CSV Mappers documentation page.

"},{"location":"usage/import-files/#usage","title":"Usage","text":""},{"location":"usage/import-files/#locations","title":"Locations","text":"

Both mechanisms can be employed wherever file uploads are possible. This includes the \"Data\" tabs of all entities and the dedicated panel named \"Data import and analyst workbenches\" located in the top right-hand corner (database logo with a small gear). Importing files from these two locations is not entirely equal; refer to the \"Relationship handling from entity's Data tab\" section below for details on this matter.

"},{"location":"usage/import-files/#entity-identification-process","title":"Entity identification process","text":"

For ImportDocument connector, the identification process involves searching for existing entities in the platform and scanning the document for relevant information. In additions, the connector use regular expressions (regex) to detect IP addresses and domains within the document.

As for the ImportFileStix connector and the CSV mappers, there is no identification mechanism. The imported data will be, respectively, the data defined in the STIX bundle or according to the configuration of the CSV mapper used.

"},{"location":"usage/import-files/#workflow-overview","title":"Workflow overview","text":"
  1. Upload file: Navigate to the desired location, such as the \"Data\" tabs of an entity or the \"Data import and analyst workbenches\" panel. Then, upload the file containing the relevant data by clicking on the small cloud with the arrow inside next to \"Uploaded files\".
  2. Entity identification: For a CSV file, select the connector and CSV mapper to be used by clicking on the icon with an upward arrow in a circle. If it's not a CSV file, the connector will launch automatically. Then, the file import connectors or CSV mappers will identify entities within the uploaded document.
  3. Workbench review and validation: Entities identified by connectors are not immediately integrated into the platform's knowledge base. Instead, they are thoughtfully placed in a workbench, awaiting review and validation by an analyst. Workbenches function as draft spaces, ensuring that no data is officially entered into the platform until the workbench has undergone the necessary validation process. For more information on workbenches, refer to the Analyst workbench documentation page.

Review workbenches

Import connectors may introduce errors in identifying object types or add \"unknown\" entities. Workbenches were established with the intent of reviewing the output of connectors before validation. Therefore, it is crucial to be vigilant when examining the workbench to prevent the import of incorrect data into the platform.

"},{"location":"usage/import-files/#additional-information","title":"Additional information","text":""},{"location":"usage/import-files/#no-workbench-for-csv-mapper","title":"No workbench for CSV mapper","text":"

It's essential to note that CSV mappers operate differently from other import mechanisms. Unlike connectors, CSV mappers do not generate workbenches. Instead, the data identified by CSV mappers is imported directly into the platform without an intermediary workbench stage.

"},{"location":"usage/import-files/#relationship-handling-from-entitys-data-tab","title":"Relationship handling from entity's \"Data\" tab","text":"

When importing a document directly from an entity's \"Data\" tab, there can be an automatic addition of relationships between the objects identified by connectors and the entity in focus. The process differs depending on the type of entity in which the import occurs:

"},{"location":"usage/import-files/#file-import-in-content-tab","title":"File import in Content tab","text":"

Expanding the scope of file imports, users can seamlessly add files in the Content tab of Analyses or Cases. In this scenario, the file is directly added as an attachment without utilizing an import mechanism.

"},{"location":"usage/import-files/#user-capability-requirement","title":"User capability requirement","text":"

In order to initiate file imports, users must possess the requisite capability: \"Upload knowledge files.\" This capability ensures that only authorized users can contribute and manage knowledge files within the OpenCTI platform, maintaining a controlled and secure environment for data uploads.

Deprecation warning

Using the ImportDocument connector to parse CSV file is now disallowed as it produces inconsistent results. Please configure and use CSV mappers dedicated to your specific CSV content for a reliable parsing. CSV mappers can be created and configured in the administration interface.

"},{"location":"usage/indicators-lifecycle/","title":"Indicators Lifecycle Management","text":""},{"location":"usage/indicators-lifecycle/#introduction","title":"Introduction","text":"

OpenCTI enforces strict rules to determine the period during which an indicator is effective for usage. This period is defined by the valid_from and valid_until dates. All along its lifecycle, the indicator score will decrease according to configured decay rules. After the indicator expires, the object is marked as revoked and the detection field is automatically set to false. Here, we outline how these dates are calculated within the OpenCTI platform and how the score is updated with decay rules.

"},{"location":"usage/indicators-lifecycle/#setting-validity-dates","title":"Setting validity dates","text":""},{"location":"usage/indicators-lifecycle/#data-source-provided-the-dates","title":"Data source provided the dates","text":"

If a data source provides valid_from and valid_until dates when creating an indicator on the platform, these dates are used without modification. But, if the creation is performed from the UI and the indicator is elligible to be manages by a decay rule, the platform will change this valid_until with the one calculated by the Decay rule.

"},{"location":"usage/indicators-lifecycle/#fallback-rules-for-unspecified-dates","title":"Fallback rules for unspecified dates","text":"

If a data source does not provide validity dates, OpenCTI applies the decay rule matching the indicator to determine these dates. The valid_until date is computed based on the revoke score of the decay rule : it is set at the exact time at which the indicator will reach the revoke score. Past valid_until date, the indicator is marked as revoked.

"},{"location":"usage/indicators-lifecycle/#score-decay","title":"Score decay","text":"

Indicators have an initial score at creation, either provided by data source, or 50 by default. Over time, this score is going to decrease according to the configured decay rules. Score is updated at each reaction point defined for the decay rule matching the indicator at creation.

"},{"location":"usage/indicators-lifecycle/#example","title":"Example","text":"

This URL indicator has matched the Built-in IP and URL decay rule. Its initial score at creation is 100.

Right next to the indicator score, there is a button Lifecycle which enables to open a dialog to see the details of the indicator's lifecyle.

"},{"location":"usage/indicators-lifecycle/#conclusion","title":"Conclusion","text":"

Understanding how OpenCTI calculates validity periods and scores is essential for effective threat intelligence analysis. These rules ensure that your indicators are accurate and up-to-date, providing a reliable foundation for threat intelligence data.

"},{"location":"usage/inferences/","title":"Inferences and reasoning","text":""},{"location":"usage/inferences/#overview","title":"Overview","text":"

OpenCTI\u2019s inferences and reasoning capability is a robust engine that automates the process of relationship creation within your threat intelligence data. This capability, situated at the core of OpenCTI, allows logical rules to be applied to existing relationships, resulting in the automatic generation of new, pertinent connections.

"},{"location":"usage/inferences/#understanding-inferences-and-reasoning","title":"Understanding inferences and reasoning","text":"

Inferences and reasoning serve as OpenCTI\u2019s intelligent engine. It interprets your data logically. By activating specific predefined rules (of which there are around twenty), OpenCTI can deduce new relationships from the existing ones. For instance, if there's a connection indicating an Intrusion Set targets a specific country, and another relationship stating that this country is part of a larger region, OpenCTI can automatically infer that the Intrusion Set also targets the broader region.

"},{"location":"usage/inferences/#key-benefits","title":"Key benefits","text":""},{"location":"usage/inferences/#how-it-operates","title":"How it operates","text":"

When you activate an inference rule, OpenCTI continuously analyzes your existing relationships and applies the defined logical rules. These rules are logical statements that define conditions for new relationships. When the set of conditions is met, the OpenCTI creates the corresponding relationship automatically.

For example, if you activate a rule as follows:

IF [Entity A targets Identity B] AND [Identity B is part of Identity C] THEN [Entity A targets Identity C]

OpenCTI will apply this rule to existing data. If it finds an Intrusion Set (\"Entity A\") targeting a specific country (\"Identity B\") and that country is part of a larger region (\"Identity C\"), the platform will automatically establish a relationship between the Intrusion Set and the region.

"},{"location":"usage/inferences/#identifying-inferred-relationships","title":"Identifying inferred relationships","text":"

In the knowledge graphs: Inferred relationships are represented by dotted lines of a different color, distinguishing them from non-inferred relations.

In the lists: In a relationship list, a magic wand icon at the end of the line indicates relationship created by inference.

"},{"location":"usage/inferences/#additional-resources","title":"Additional resources","text":""},{"location":"usage/manual-creation/","title":"Manual creations","text":"

Manual data creation in OpenCTI is an intuitive process that occurs throughout the platform. This page provides guidance on two key aspects of manual creation: Entity creation and Relationship creation.

"},{"location":"usage/manual-creation/#entity-creation","title":"Entity creation","text":"

To create an entity:

  1. Navigate to the relevant section: Be on the section of the platform related to the object type you want to create.
  2. Click on the \"+\" icon: Locate the \"+\" icon located at the bottom right of the window.
  3. Fill in entity-specific fields: A form on the right side of the window will appear, allowing to fill in specific fields of the entity. Certain fields are inherently obligatory, and administrators have the option to designate additional mandatory fields (See here for more information).
  4. Click on \"Create\": Once you've filled in the desired fields, click on \"create\" to initiate the entity creation process.

"},{"location":"usage/manual-creation/#relationship-creation","title":"Relationship creation","text":"

Before delving into the creation of relationships between objects in OpenCTI, it's crucial to grasp some foundational concepts. Here are key points to understand:

Now, let\u2019s explore the process of creating relationships. To do this, we will differentiate the case of containers from the others.

"},{"location":"usage/manual-creation/#for-container","title":"For container","text":"

When it comes to creating relationships within containers in OpenCTI, the process is straightforward. Follow these steps to attach objects to a container:

  1. Navigate to the container: Go to the specific container to which you want to attach an object. This could be a Report, Grouping, or Cases.
  2. Access the \"Entities\" tab: Within the container, locate and access the \"Entities\" tab.
  3. Click on the \"+\" icon: Find the \"+\" icon located at the bottom right of the window.
  4. Search for entities: A side window will appear. Search for the entities you want to add to the container.
  5. Add entities to the container: Click on the desired entities. They will be added directly to the container.
"},{"location":"usage/manual-creation/#for-other","title":"For other","text":"

When creating relationships not involving a container, the creation method is distinct. Follow these steps to create relationships between entities:

  1. Navigate to one of the entities: Go to one of the entities you wish to link. Please be aware that the entity from which you create the relationship will be designated as the \"from\" entity for that relationship. So the decision of which entity to choose for creating the relationship should be considered, as it will impact the outcome.
  2. Access the \"Knowledge\" tab: Within the entity, go to the \"Knowledge\" tab.
  3. Select the relevant categories: In the right banner, navigate to the categories that correspond to the object to be linked. The available categories depend on the type of entity you are currently on. For example, if you are on malware and want to link to a sector, choose \"victimology.\"
  4. Click on the \"+\" icon: Find the \"+\" icon located at the bottom right of the window.
  5. Search for entities: A side window will appear. Search for the entities you want to link.
  6. Add entities and click on \"Continue\": Click on the entities you wish to link. Multiple entities can be selected. Then click on \"Continue\" at the bottom right.
  7. Fill in the relationship form: As relationships are objects, a creation form similar to creating an entity will appear.
  8. Click on \"Create\": Once you've filled in the desired fields, click on \"create\" to initiate the relationship creation process.

"},{"location":"usage/manual-creation/#additional-methods","title":"Additional methods","text":"

While the aforementioned methods are primary for creating entities and relationships, OpenCTI offers versatility, allowing users to create objects in various locations within the platform. Here's a non-exhaustive list of additional places that facilitate on-the-fly creation:

These supplementary methods offer users flexibility and convenience, allowing them to adapt their workflow to various contexts within the OpenCTI platform. As users explore the platform, they will naturally discover additional means of creating entities and relationships.

Max confidence level

When creating knowledge in the platform, the maximum confidence level of the users is used. Please navigate to this page to understand this concept and the impact it can have on the knowledge creation.

"},{"location":"usage/merging/","title":"Merge objects","text":""},{"location":"usage/merging/#introduction","title":"Introduction","text":"

OpenCTI\u2019s merge capability stands as a pivotal tool for optimizing threat intelligence data, allowing to consolidate multiple entities of the same type. This mechanism serves as a powerful cleanup tool, harmonizing the platform and unifying scattered information. In this section, we explore the significance of this feature, the process of merging entities, and the strategic considerations involved.

"},{"location":"usage/merging/#data-streamlining","title":"Data streamlining","text":"

In the ever-expanding landscape of threat intelligence and the multitude of names chosen by different data sources, data cleanliness is essential. Duplicates and fragmented information hinder efficient analysis. The merge capability is a strategic solution for amalgamating related entities into a cohesive unit. Central to the merging process is the selection of a main entity. This primary entity becomes the anchor, retaining crucial attributes such as name and description. Other entities, while losing specific fields like descriptions, are aliased under the primary entity. This strategic decision preserves vital data while eliminating redundancy.

"},{"location":"usage/merging/#preserving-entity-relationships","title":"Preserving entity relationships","text":"

One of the key feature of the merge capability is its ability to preserve relationships. While merging entities, their interconnected relationships are not lost. Instead, they seamlessly integrate into the new, merged entity. This ensures that the intricate web of relationships within the data remains intact, fostering a comprehensive understanding of the threat landscape.

"},{"location":"usage/merging/#conclusion","title":"Conclusion","text":"

OpenCTI\u2019s merge capability helps improve the quality of threat intelligence data. By consolidating entities and centralizing relationships, OpenCTI empowers analysts to focus on insights and strategies, unburdened by data silos or fragmentation. However, exercising caution and foresight in the merging process is essential, ensuring a robust and streamlined knowledge basis.

"},{"location":"usage/merging/#additional-resources","title":"Additional resources","text":""},{"location":"usage/nested/","title":"Nested references and objects","text":""},{"location":"usage/nested/#stix-standard","title":"STIX standard","text":""},{"location":"usage/nested/#definition","title":"Definition","text":"

In the STIX 2.1 standard, objects can:

  1. Refer to other objects in directly in their attributes, by referencing one or multiple IDs.
  2. Have other objects directly embedded in the entity.
"},{"location":"usage/nested/#example","title":"Example","text":"
{\n   \"type\": \"intrusion-set\",\n   \"spec_version\": \"2.1\",\n   \"id\": \"intrusion-set--4e78f46f-a023-4e5f-bc24-71b3ca22ec29\",\n   \"created_by_ref\": \"identity--f431f809-377b-45e0-aa1c-6a4751cae5ff\", // nested reference to an identity\n   \"object_marking_refs\": [\"marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da\"], // nested reference to multiple marking defintions\n   \"external_references\": [\n      {\n         \"source_name\": \"veris\",\n         \"external_id\": \"0001AA7F-C601-424A-B2B8-BE6C9F5164E7\",\n         \"url\": \"https://github.com/vz-risk/VCDB/blob/125307638178efddd3ecfe2c267ea434667a4eea/data/json/validated/0001AA7F-C601-424A-B2B8-BE6C9F5164E7.json\",    \n      }\n   ],\n   \"created\": \"2016-04-06T20:03:48.000Z\",\n   \"modified\": \"2016-04-06T20:03:48.000Z\",\n   \"name\": \"Bobcat Breakin\",\n   \"description\": \"Incidents usually feature a shared TTP of a bobcat being released within the building containing network access...\",\n   \"aliases\": [\"Zookeeper\"],\n   \"goals\": [\"acquisition-theft\", \"harassment\", \"damage\"]\n}\n

In the previous example, we have 2 nested references to other objects in:

\"created_by_ref\": \"identity--f431f809-377b-45e0-aa1c-6a4751cae5ff\", // nested reference to an identity\n\"object_marking_refs\": [\"marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da\"], // nested reference to multiple marking defintions\n

But we also have a nested object within the entity (an External Reference):

\"external_references\": [\n   {\n      \"source_name\": \"veris\",\n      \"external_id\": \"0001AA7F-C601-424A-B2B8-BE6C9F5164E7\",\n      \"url\": \"https://github.com/vz-risk/VCDB/blob/125307638178efddd3ecfe2c267ea434667a4eea/data/json/validated/0001AA7F-C601-424A-B2B8-BE6C9F5164E7.json\",    \n   }\n]\n
"},{"location":"usage/nested/#implementation","title":"Implementation","text":""},{"location":"usage/nested/#modelization","title":"Modelization","text":"

In OpenCTI, all nested references and objects are modelized as relationships, to be able to pivot more easily on labels, external references, kill chain phases, marking definitions, etc.

"},{"location":"usage/nested/#import-export","title":"Import & export","text":"

When importing and exporting data to/from OpenCTI, the translation between nested references and objects to full-fledged nodes and edges is automated and therefore transparent for the users. Here is an example with the object in the graph above:

{\n   \"id\": \"file--b6be3f04-e50f-5220-af3a-86c2ca66b719\",\n   \"spec_version\": \"2.1\",\n   \"x_opencti_description\": \"...\",\n   \"x_opencti_score\": 50,\n   \"hashes\": {\n       \"MD5\": \"b502233b34256285140676109dcadde7\"\n   },\n   \"labels\": [\n       \"cookiecutter\",\n       \"clouddata-networks-1\"\n   ],\n   \"external_references\": [\n       {\n           \"source_name\": \"Sekoia.io\",\n           \"url\": \"https://app.sekoia.io/intelligence/objects/indicator--3e6d61b4-d5f0-48e0-b934-fdbe0d87ab0c\"\n       }\n   ],\n   \"x_opencti_id\": \"8a3d108f-908c-4833-8ff4-4d6fc996ce39\",\n   \"type\": \"file\",\n   \"created_by_ref\": \"identity--b5b8f9fc-d8bf-5f85-974e-66a7d6f8d4cb\",\n   \"object_marking_refs\": [\n       \"marking-definition--613f2e26-407d-48c7-9eca-b8e91df99dc9\"\n   ]\n}\n
"},{"location":"usage/notifications/","title":"Notifications and alerting","text":"

In the evolving landscape of cybersecurity, timely awareness is crucial. OpenCTI empowers users to stay informed and act swiftly through its robust notifications and alerting system. This feature allows users to create personalized triggers that actively monitor the platform for specific events and notify them promptly when these conditions are met.

From individual users tailoring their alert preferences to administrators orchestrating collaborative triggers for Groups or Organizations, OpenCTI's notification system is a versatile tool for keeping cybersecurity stakeholders in the loop.

The main menu \"Notifications and triggers\" for creating and managing notifications is located in the top right-hand corner with the bell icon.

"},{"location":"usage/notifications/#triggers","title":"Triggers","text":"

In OpenCTI, triggers serve as personalized mechanisms for users to stay informed about specific events that align with their cybersecurity priorities. Users can create and manage triggers to tailor their notification experience. Each trigger operates by actively listening to events based on predefined filters and event types, promptly notifying users via chosen notifiers when conditions are met.

"},{"location":"usage/notifications/#trigger-management","title":"Trigger management","text":"

Individual user triggers: Each user possesses the autonomy to craft their own triggers, finely tuned to their unique preferences and responsibilities. By setting up personalized filters and selecting preferred notifiers, users ensure that they receive timely and relevant notifications aligned with their specific focus areas.

Administrative control: Platform administrators have the capability to create and manage triggers for Users, Groups and Organizations. This provides centralized control and the ability to configure triggers that address collective cybersecurity objectives. Users within the designated Group or Organization will benefit from triggers with read-only access rights. These triggers are to be created directly on the User|Group|Organization with whom to share them in \"Settings > Security > Users|Groups|Organizations\".

"},{"location":"usage/notifications/#trigger-filters","title":"Trigger filters","text":"

Leveraging the filters, users can meticulously define the criteria that activate their triggers. This level of granularity ensures that triggers are accurate, responding precisely to events that matter most. Users can tailor filters to consider various parameters such as object types, markings, sources, or other contextual details. They can also allow notifications for the assignment of a Task, a Case, etc.

Beyond filters, a trigger can be configured to respond to three event types: creation, modification, and deletion.

"},{"location":"usage/notifications/#instance-triggers","title":"Instance triggers","text":"

Instance triggers offer a targeted approach to live monitoring by allowing users to set up triggers specific to one or several entities. These triggers, when activated, keep a vigilant eye on a predefined set of events related to the selected entities, ensuring that you stay instantly informed about crucial changes.

"},{"location":"usage/notifications/#creating-instance-triggers","title":"Creating instance triggers","text":"

Method 1: Using the general trigger creation form

  1. Go on the \"Notifications and triggers\" window.
  2. Navigate to the \"Triggers and digests\" tab.
  3. Access the general trigger creation form.
  4. Toggle the switch \"Instance trigger\".
  5. Choose the entities to monitor.

Method 2: Quick subscription

  1. On an entity's overview, locate the \"Instance trigger quick subscription\" button with the bell icon at the top right.
  2. Click on the button to create the instance trigger.
  3. (Optional) Click on it again to modify the instance trigger created.

"},{"location":"usage/notifications/#events-monitored-by-instance-triggers","title":"Events monitored by instance triggers","text":"

An instance trigger set on an entity X actively monitors the following events:

Entity deletion notification

It's important to note that the notification of entity deletion can occur in two scenarios: - Real entity deletion: When the entity is genuinely deleted from the platform. - Visibility loss: When a modification to the entity results in the user losing visibility for that entity.

"},{"location":"usage/notifications/#digest","title":"Digest","text":"

Digests provide an efficient way to streamline and organize your notifications. By grouping notifications based on selected triggers and specifying the delivery period (daily, weekly, monthly), you gain the flexibility to receive consolidated updates at your preferred time, as opposed to immediate notifications triggered by individual events.

"},{"location":"usage/notifications/#creating-digests","title":"Creating digests","text":"
  1. Go on the \"Notifications and triggers\" window.
  2. Navigate to the \"Triggers and digests\" tab.
  3. Create a new digest.
  4. Configure digest: Set the parameters, including triggers to be included and the frequency of notifications (daily, weekly, monthly).
  5. Choose the notifier(s): Select the notification method(s) (e.g. within the OpenCTI interface, via email, etc.).
"},{"location":"usage/notifications/#benefits-of-digests","title":"Benefits of digests","text":"

Digests enhance your control over notification management, ensuring a more structured and convenient approach to staying informed about important events.

"},{"location":"usage/notifications/#notifiers","title":"Notifiers","text":"

In OpenCTI, notifiers serve as the channels for delivering notifications, allowing users to stay informed about critical events. The platform offers two built-in notifiers, \"Default mailer\" for email notifications and \"User interface\" for in-platform alerts.

"},{"location":"usage/notifications/#notifier-connectors","title":"Notifier connectors","text":"

OpenCTI features built-in notifier connectors that empower users to create personalized notifiers for notification and activity alerting. Three essential connectors are available:

OpenCTI provides two samples of webhook notifiers designed for Teams integration.

"},{"location":"usage/notifications/#configuration-and-access","title":"Configuration and Access","text":"

Notifiers are manageable in the \"Settings > Customization > Notifiers\" window and can be restricted through Role-Based Access Control (RBAC). Administrators can restrict access to specific Users, Groups, or Organizations, ensuring controlled usage.

For guidance on configuring custom notifiers and explore detailed setup instructions, refer to the dedicated documentation page.

"},{"location":"usage/overview/","title":"Overview","text":""},{"location":"usage/overview/#introduction","title":"Introduction","text":"

The following chapter aims at giving the reader a step-by-step description of what is available on the platform and the meaning of the different tabs and entries.

When the user connects to the platform, the home page is the Dashboard. This Dashboard contains several visuals summarizing the types and quantity of data recently imported into the platform.

Dashboard

To get more information about the components of the default dashboard, you can consult the Getting started.

The left side panel allows the user to navigate through different windows and access different views and categories of knowledge.

"},{"location":"usage/overview/#structure","title":"Structure","text":""},{"location":"usage/overview/#the-hot-knowledge","title":"The \"hot knowledge\"","text":"

The first part of the platform in the left menu is dedicated to what we call the \"hot knowledge\", which means this is the entities and relationships which are added on a daily basis in the platform and which generally require work / analysis from the users.

"},{"location":"usage/overview/#the-cold-knowledge","title":"The \"cold knowledge\"","text":"

The second part of the platform in the left menu is dedicated to the \"cold knowledge\", which means this is the entities and relationships used in the hot knowledge. You can see this as the \"encyclopedia\" of all pieces of knowledge you need to get context: threats, countries, sectors, etc.

"},{"location":"usage/overview/#hide-categories","title":"Hide categories","text":"

You can customize the experience in the platform by hiding some categories in the left menu, whether globally or for a specific role.

"},{"location":"usage/overview/#hide-categories-globally","title":"Hide categories globally","text":"

In the Settings > Parameters, it is possible for the platform administrator to hide categories in the platform for all users.

"},{"location":"usage/overview/#hide-categories-in-roles","title":"Hide categories in roles","text":"

In OpenCTI, the different roles are highly customizable. It is possible to defined default dashboards, triggers, etc. but also be able to hide categories in the roles:

"},{"location":"usage/overview/#presentation-of-a-typical-page-in-opencti","title":"Presentation of a typical page in OpenCTI","text":"

While OpenCTI features numerous entities and tabs, many of them share similarities, with only minor differences arising from specific characteristics. These differences may involve the inclusion or exclusion of certain fields, depending on the nature of the entity.

In this part will only be detailed a general outline of a \"typical\" OpenCTI page. The specifies of the different entities will be detailed in the corresponding pages below (Activities and Knowledge).

"},{"location":"usage/overview/#overview_1","title":"Overview","text":"

In the Overview tab on the entity, you will find all properties of the entity as well as the recent activities.

First, you will find the Details section, where are displayed all properties specific to the type of entity you are looking at, an example below with a piece of malware:

Thus, in the Basic information section, are displayed all common properties to all objects in OpenCTI, such as the marking definition, the author, the labels (i.e. tags), etc.

Below these two sections, you will find latest modifications in the Knowledge base related to the Entity:

Last, all Notes written by users of the platform about this Entity are displayed in order to access unstructured analysis comments.

"},{"location":"usage/overview/#knowledge","title":"Knowledge","text":"

In the Knowledge tab, which is the central part of the entity, you will find all the Knowledge related to the current entity. The Knowledge tab is different for Analyses (Report, Groupings) and Cases (Incident response, Request for Information, Request for Takedown) entities than for all the other entity types.

"},{"location":"usage/overview/#focus-on-indicators-and-observables","title":"Focus on Indicators and Observables","text":"

The Indicators and Observables section offers 3 display modes: - The entities view, which displays the indicators/observables linked to the entity. - The relationship view, which displays the various relationships between the indicators/observables linked to the entity and the entity itself. - The contextual view, which displays the indicators/observables contained in the cases and analyses that contain the entity.

"},{"location":"usage/overview/#content","title":"Content","text":"

The Content tab allows for uploading and creating outcomes documents related to the content of the current entity (in PDF, text, HTML or markdown files). This specific tab enable to previzualize, manage and write deliverable associated with the entity. For example an analytic report to share with other teams, a markdown files to feed a collaborative wiki with, etc.

The Content tab is available for a subset of entities: Report, Incident, Incident response, Request for Information, and Request for Takedown.

"},{"location":"usage/overview/#analyses","title":"Analyses","text":"

The Analyses tab contains the list of all Analyses (Report, Groupings) and Cases (Incident response, Request for Information, Request for Takedown) in which the entity has been identified.

By default, this tab display the list, but you can also display the content of all the listed Analyses on a graph, allowing you to explore all their Knowledge and have a glance of the context around the Entity.

"},{"location":"usage/overview/#data","title":"Data","text":"

The Data tab contains documents that are associated to the object and were either:

Analyst Workbench can also be created from here. They will contain the entity by default.

In addition, the Data tab of Threat actors (group), Threat actors (individual), Intrusions sets, Organizations, Individuals have an extra panel:

"},{"location":"usage/overview/#history","title":"History","text":"

The History tab displays the history of change of the Entity, update of attributes, creation of relations, ...

Because of the volumes of information the history is written in a specific index that consume the redis stream to rebuild the history for the UI.

"},{"location":"usage/overview/#less-frequent-tabs","title":"Less frequent tabs","text":""},{"location":"usage/pivoting/","title":"Pivot and investigate","text":"

In OpenCTI, all data are structured as an extensive knowledge graph, where every element is interconnected. The investigation functionality provides a powerful tool for pivoting on any entity or relationship within the platform. Pivoting enables users to explore and analyze connections between entities and relationships, facilitating a comprehensive understanding of the data.

To access investigations, navigate to the top right corner of the toolbar:

Access restriction

When an investigation is created, it is initially visible only to the creator, allowing them to work on the investigation before deciding to share it. The sharing mechanism is akin to that of dashboards. For further details, refer to the Access control section in the dashboard documentation page.

"},{"location":"usage/pivoting/#perform-investigation","title":"Perform investigation","text":""},{"location":"usage/pivoting/#manipulate-entity","title":"Manipulate entity","text":"

We can add any existing entity of the platform to your investigation.

After adding an entity, we can choose the entity and view its details in the panel that appears on the right of the screen.

On each node, we'll notice a bullet with a number inside, serving as a visual indication of how many entities are linked to it but not currently displayed in the graph. Keep in mind that this number is an approximation, which is why there's a \"+\" next to it. If there's no bullet displayed, it means there's nothing to expand from this node.

"},{"location":"usage/pivoting/#expansion","title":"Expansion","text":"

To incorporate these linked entities into the graph, we just have to expand the nodes. Utilize the button with a 4-arrows logo in the mentioned menu, or double-click on the entity directly. This action opens a new window where we can choose the types of entities and relationships we wish to expand.

For instance, in the image above, selecting the target Malware and the relationship Uses implies expanding in my investigation graph all Malware linked to this node with a relationship of type Uses.

"},{"location":"usage/pivoting/#roll-back-expansion","title":"Roll back expansion","text":"

Expanding a graph can add a lot of entities and relations, making it not only difficult to read but sometimes counterproductive since it brings entities and relations that are not useful to your investigations. To solve this problem, there is a button to undo the last expansion.

When clicking on this button, we will retrieve the state in which your graph was before your expansion. As a result, please note that all add or remove actions made since the last expansion will be lost: in other words, if you have expanded your graph, and then have added some entities in your graph, when clicking on rollback button, the entities that you have added will not be in your graph.

You can roll back your investigation graph up to the last 10 expand actions.

"},{"location":"usage/pivoting/#manipulate-relationship","title":"Manipulate relationship","text":"

We can create a relationship between entities directly within our investigation. To achieve this, select multiple entities by clicking on them while holding down the shift key. Subsequently, a button appears at the bottom right to create one (or more, depending on the number of entities selected) relationships.

Relationship creation

Creating a relationship in the investigation graph will generate the relationship in your knowledge base.

"},{"location":"usage/pivoting/#capitalize-on-an-investigation","title":"Capitalize on an investigation","text":""},{"location":"usage/pivoting/#export-investigation","title":"Export investigation","text":"

Users have the capability to export investigations, providing a way to share, document, or archive their findings.

"},{"location":"usage/pivoting/#turn-investigation-into-a-container","title":"Turn investigation into a container","text":"

Users can efficiently collect and consolidate the findings of an investigation by adding the content into dedicated containers. The contents of an investigation can be imported into various types of containers, including:

We have the flexibility to choose between creating a new container on the fly or adding investigation content to an existing container.

After clicking on the ADD button, the browser will redirect to the Knowledge tab of the container where we added the content of our investigation. If we added it to multiple containers, the redirection will be to the first of the list.

"},{"location":"usage/reliability-confidence/","title":"Reliability and Confidence","text":""},{"location":"usage/reliability-confidence/#generalities","title":"Generalities","text":"

In (Cyber) Threat Intelligence, evaluation of information sources and of information quality is one of the most important aspect of the work. It is of the utter most importance to assess situations by taking into account reliability of the sources and credibility of the information.

This concept is foundational in OpenCTI, and have real impact on:

"},{"location":"usage/reliability-confidence/#what-is-the-reliability-of-a-source","title":"What is the Reliability of a source?","text":"

Reliability of a source of information is a measurement of the trust that the analyst can have about the source, based on the technical capabilities or history of the source. Is the source a reliable partner with long sharing history? A competitor? Unknown?

Reliability of sources are often stated at organizational level, as it requires an overview of the whole history with it.

In the Intelligence field, Reliability is often notated with the NATO Admiralty code.

"},{"location":"usage/reliability-confidence/#what-is-confidence-of-an-information","title":"What is Confidence of an information?","text":"

Reliability of a source is important but even a trusted source can be wrong. Information in itself has a credibility, based on what is known about the subject and the level of corroboration by other sources.

Credibility is often stated at the analyst team level, expert of the subject, able to judge the information with its context.

In the Intelligence field, Confidence is often notated with the NATO Admiralty code.

Why Confidence instead of Credibility?

Using both Reliability and Credibility is an advanced use case for most of CTI teams. It requires a mature organization and a well staffed team. For most of internal CTI team, a simple confidence level is enough to forge assessment, in particular for teams that concentrate on technical CTI.

Thus in OpenCTI, we have made the choice to fuse the notion of Credibility with the Confidence level that is commonly used by the majority of users. They have now the liberty to push forward their practice and use both Confidence and Reliability in their daily assessments.

"},{"location":"usage/reliability-confidence/#reliability-open-vocabulary","title":"Reliability open vocabulary","text":"

Reliability value can be set for every Entity in the platform that can be Author of Knowledge:

Reliability on Reports allows you to specify the reliability associated to the original author of the report if you received it through a provider.

For all Knowledge in the platform, the reliability of the source of the Knowledge (author) is displayed in the Overview. This way, you can always forge your assessment of the provided Knowledge regarding the reliability of the author.

You can also now filter entities by the reliability of its author.

Tip

This way, you may choose to feed your work with only Knowledge provided by reliable sources.

Reliability is an open vocabulary that can be customized in Settings -> Taxonomies -> Vocabularies : reliability_ov.

Info

The setting by default is the Reliability scale from NATO Admiralty code. But you can define whatever best fit your organization.

"},{"location":"usage/reliability-confidence/#confidence-scale","title":"Confidence scale","text":"

Confidence level can be set for:

For all of these entities, the Confidence level is displayed in the Overview, along with the Reliability. This way, you can rapidly assess the Knowledge with the Confidence level representing the credibility/quality of the information.

"},{"location":"usage/reliability-confidence/#confidence-scale-customization","title":"Confidence scale customization","text":"

Confidence level is a numerical value between 0 and 100. But Multiple \"Ticks\" can be defined and labelled to provide a meaningful scale.

Confidence level can be customized for each entity type in Settings > Customization > Entity type.

As such customization can be cumbersome, three confidence level templates are provided in OpenCTI:

It is always possible to modify an existing template to define a custom scale adapted to your context.

Tip

If you use the Admiralty code setting for both reliability and Confidence, you will find yourself with the equivalent of NATO confidence notation in the Overview of your different entities (A1, B2, C3, etc.)

"},{"location":"usage/reliability-confidence/#max-confidence-level","title":"Max confidence level","text":""},{"location":"usage/reliability-confidence/#overview","title":"Overview","text":"

We know that in organizations, different users do not always have the same expertise or seniority. As a result, some specific users can be more \"trusted\" when creating or updating knowledge than others. Additionally, because connectors, TAXII feeds and streams are all linked to respectively one user, it is important to be able to differentiate which connector, stream or TAXII feed is more trustable than others.

This is why we have introduced the concept of max confidence level to tackle this use case.

Max confidence level per user allows organizations to fine tune their users to ensure knowledge updated and created stays as consistent as possible.

"},{"location":"usage/reliability-confidence/#overall-way-of-working","title":"Overall way of working","text":"

The overall idea is that users with a max confidence level lower than a confidence level of an entity cannot update or delete this entity.

Also, in a conservative approach, when 2 confidence levels are possible, we would always take the lowest one.

To have a detailed understanding of the concept, please browse through this diagram:

"},{"location":"usage/reliability-confidence/#how-to-set-a-confidence-level","title":"How to set a confidence level","text":"

To see how to set up the confidence level, please go in this page.

"},{"location":"usage/reliability-confidence/#usage-in-opencti","title":"Usage in OpenCTI","text":""},{"location":"usage/reliability-confidence/#example-with-the-admiralty-code-template","title":"Example with the admiralty code template","text":"

Your organization have received a report from a CTI provider. At your organization level, this provider is considered as reliable most of the time and its reliability level has been set to \"B - Usually Reliable\" (your organization uses the Admiralty code).

This report concerns ransomware threat landscape and have been analysed by your CTI analyst specialized in cybercrime. This analyst has granted a confidence level of \"2 - Probably True\" to the information.

As a technical analyst, through the cumulated reliability and Confidence notations, you now know that the technical elements of this report are probably worth consideration.

"},{"location":"usage/reliability-confidence/#example-with-the-objective-template","title":"Example with the Objective template","text":"

As a CTI analyst in a governmental CSIRT, you build up Knowledge that will be shared within the platform to beneficiaries. Your CSIRT is considered as a reliable source by your beneficiaries, even if you play a role of a proxy with other sources, but your beneficiaries need some insights about how the Knowledge has been built/gathered.

For that, you use the \"Objective\" confidence scale in your platform to provide beneficiaries with that. When the Knowledge is the work of the investigation of your CSIRT, either from incident response or attack infrastructure investigation, you set the confidence level to \"Witnessed\", \"Deduced\" or \"Induced\" (depending on if you observed directly the data, or inferred it during your research). When the information has not been verified by the CSIRT but has value to be shared with beneficiaries, you can use the \"Told\" level to make it clear to them that the information is probably valuable but has not been verified.

"},{"location":"usage/search/","title":"Search for knowledge","text":"

In OpenCTI, you have access to different capabilities to be able to search for knowledge in the platform. In most cases, a search by keyword can be refined with additional filters for instance on the type of object, the author etc.

"},{"location":"usage/search/#global-search","title":"Global search","text":"

The global search is always available in the top bar of the platform.

This search covers all STIX Domain Objects (SDOs) and STIX Cyber Observables (SCOs) in the platform. The search results are sorted according to the following behaviour:

If you get unexpected result, it is always possible to add some filters after the initial search:

Also, using the Advanced search button, it is possible to directly put filters in a global search:

Advanced filters

You have access to advanced filters all accross the UI, if you want to know more about how to use these filters with the API or the Python library, don't hesitate to read the dedicated page

"},{"location":"usage/search/#full-text-search-in-files-content","title":"Full text search in files content","text":"

Enterprise edition

Full text search in files content is available under the \"OpenCTI Enterprise Edition\" license.

Please read the dedicated page to have all information

It's possible to extend the global search by keywords to the content of documents uploaded to the platform via the Data import tab, or directly linked to an entity via its Data tab.

It is particularly useful to enable Full text indexing to avoid missing important information that may not have been structured within the platform. This situation can arise due to a partial automatic import of document content, limitations of a connector, and, of course, errors during manual processing.

In order to search in files, you need to configure file indexing.

"},{"location":"usage/search/#bulk-search","title":"Bulk search","text":"

The bulk search capabilities is available in the top bar of the platform and allows you to copy paste a list of keyword or objects (ie. list of domains, list of IP addresses, list of vulnerabilities, etc.) to search in the platform:

When searching in bulk, OpenCTI is only looking for an exact match in some properties:

When something is not found, it appears in the list as Unknown and will be excluded if you choose to export your search result in a JSON STIX bundle or in a CSV file.

"},{"location":"usage/search/#contextual-search","title":"Contextual search","text":"

In most of the screens of knowledge, you always have a contextual search bar allowing you to filter the list you are on:

The search keyword used here is taken into account if you decide to export the current view in a file such as a JSON STIX bundle or a CSV file.

"},{"location":"usage/search/#other-search-bars","title":"Other search bars","text":"

Some other screens can contain search bars for specific purposes. For instance, in the graph views to filter the nodes displayed on the graph:

"},{"location":"usage/tips-widget-creation/","title":"Pro-tips on widget creation","text":"

Previously, the creation of widgets has been covered. To help users being more confident in creating widgets, here are some details to master the widget creation.

"},{"location":"usage/tips-widget-creation/#how-to-choose-the-appropriate-widget-visualization-for-your-use-case","title":"How to choose the appropriate widget visualization for your use case?","text":"

We can classify the widgets in 3 different types.

"},{"location":"usage/tips-widget-creation/#single-dimension-widgets","title":"Single dimension widgets","text":"

Use these widgets when you would like to display information about one single type of object (entity or relation).

"},{"location":"usage/tips-widget-creation/#multi-dimension-widgets","title":"Multi dimension widgets","text":"

Use these widgets if you would like to compare or have some insights about similar types of object (up to 5).

Type of object in widget

These widgets need to use the same \"type\" of object to work properly. You always need to add relationships in the filter view if you have selected a \"knowledge graph\" perspective. If you have selected the knowledge graph entity, adding \"Entities\" (click on + entities) will not work, since you are not counting the same things.

"},{"location":"usage/tips-widget-creation/#break-down-widgets","title":"Break down widgets","text":"

Use this widget if you want to divide your data set into smaller parts to make it clearer and more useful for analysis.

"},{"location":"usage/tips-widget-creation/#adding-datasets-to-your-widget","title":"Adding datasets to your widget","text":"

Adding datasets can serve two purposes: comparing data or breakdown a view to have deeper understanding on what a specific dataset is composed of.

"},{"location":"usage/tips-widget-creation/#use-case-1-compare-several-datasets","title":"Use Case 1: compare several datasets","text":"

As mentioned in How to choose the appropriate widget visualization for your use case? section you can add data sets to compare different data. Make sure to add the same type of objects (entities or relations) to be able to compare the same objects, by using access buttons like +, + Relationships, or + Entities.

You can add up to 5 different data sets. The Label field allows you to name a data set, and this label can then be shown as a legend in the widget using the Display legend button in the widget parameters (see the next section).

"},{"location":"usage/tips-widget-creation/#use-case-2-break-down-your-chart","title":"Use case 2: break down your chart","text":"

As mentioned in How to choose the appropriate widget visualization for your use case? section you can add data sets to decompose your graph into smaller meaningful chunks. In the below points, you can find some use cases that will help you understand how to structure your data.

You can break down a view either by entity or by relations, depending on what you need to count.

"},{"location":"usage/tips-widget-creation/#break-down-by-entity","title":"Break down by entity","text":"

Use case example: I need to understand what are the most targeted countries by malware, and have a breakdown for each country by malware type.

Process:

  1. To achieve this use case, you first need to select the horizontal bar vizualisation.
  2. Then you need to select the knowledge graph perspective.

In the filters view:

  1. Then input your main query Source type = Malware AND Target type = Countries AND Relation type = Targets. Add a label to your dataset.
  2. Add an entity data set by using access button + Entities.
  3. Add the following filters Entity type = Malware AND In regards of = targets. Add a label to your dataset.

In the parameter view:

  1. Attribute (of your relation) = entity (so that you display the different entities values)
  2. Display the source toggle = off
  3. Attribute (of your entity malware) = Malware type (since you want to break down your relations by the malware types)

As a result, you get a list of countries broken down by malware types.

"},{"location":"usage/tips-widget-creation/#break-down-by-relation","title":"Break down by relation","text":"

Use case example: I need to understand what are the top targeting malware and have a breakdown of the top targets per malware

Process:

  1. To achieve this use case, you first need to select the horizontal bar vizualisation.
  2. Then you need to select the knowledge graph perspective.

In the filters view:

  1. Then input your main query Source type = Malware AND Relation type = Targets. Add a label to your dataset.
  2. Add a relation data set by using access button + Relationships
  3. Add the following filters Source type = Malware AND Relation type = targets. Add a label to your dataset.

In the parameter view:

  1. Attribute (of your relation): entity (so that you display the different entities values)
  2. Display the source toggle = on
  3. Attribute (of your entity malware) = Malware type (since you want to break down your relations by the malware types)
  4. Display the source toggle = off

As a result, you get a list of malware with the breakdown of their top targets.

"},{"location":"usage/tips-widget-creation/#more-use-cases","title":"More use cases","text":"

To see more use cases, feel free to have a look at this blog post that will provide you additional information.

"},{"location":"usage/widgets/","title":"Widget creation","text":"

Creating widgets on the dashboard involves a four-step configuration process. By navigating through these configuration steps, users can design widgets that meet their specific requirements.

"},{"location":"usage/widgets/#widget-configuration","title":"Widget configuration","text":""},{"location":"usage/widgets/#1-visualization","title":"1. Visualization","text":"

Users can select from 15 diverse visualization options to highlight different aspects of their data. This includes simple views like counters and lists, as well as more intricate views like heatmaps and trees. The chosen visualization impacts the available perspectives and parameters, making it crucial to align the view with the desired data observations. Here are a few insights:

"},{"location":"usage/widgets/#2-perspective","title":"2. Perspective","text":"

A perspective is the way the platform will count the data to display in your widgets:

"},{"location":"usage/widgets/#3-filters","title":"3. Filters","text":""},{"location":"usage/widgets/#generic-knowledge","title":"Generic knowledge","text":"

Filters vary based on the selected perspective, defining the dataset to be utilized in the widget. Filters are instrumental in narrowing down the scope of data for a more focused analysis.

While filters in the \"Entities\" and \"Activity & History\" perspectives align with the platform's familiar search and feed creation filters, the \"Knowledge Graph\" perspective introduces a more intricate filter configuration.Therefore, they need to be addressed in more detail.

"},{"location":"usage/widgets/#filter-in-the-context-of-knowledge-graph","title":"Filter in the context of Knowledge Graph","text":"

Two types of filters are available in the Knowledge Graph perspective:

Pre-query limitation

The pre-query is limited to 5000 results. If your pre-query results in having more than 5000 results, your widget will only display statistics based on these 5000 results matching your pre-query, resulting in a wrong view. To avoid this issue, be specific in your pre-query filters.

Example scenario:

Let's consider an example scenario: Analyzing the initial access attack patterns used by intrusion sets targeting the finance sector.

  1. Classic filters: Define the relationships associated with the use of attack patterns by intrusion sets
  2. Dynamic filters on the source (Orange): Narrow down the data by filtering on intrusion sets targeting the finance sector.
  3. Dynamic filters on the target (Green): Narrow down the data by filtering on attack patterns associated with the kill chain's initial access phase.

By leveraging these advanced filters, users can conduct detailed analyses within the Knowledge Graph perspective, unlocking insights that are crucial for understanding intricate relationships and statistics.

In certain views, you can access buttons like +, + Relationships, or + Entities. These buttons enable you to incorporate different data into the same widget for comparative analysis. For instance, in a Line view, adding a second set of filters will display two curves in the widget, each corresponding to one of the filtered data sets. Depending on the view, you can work with 1 to 5 sets of filters. The Label field allows you to name a data set, and this label can then be shown as a legend in the widget using the Display legend button in the widget parameters (see the next section).

"},{"location":"usage/widgets/#4-parameters","title":"4. Parameters","text":"

Parameters depend on the chosen visualization and allow users to define widget titles, choose displayed elements from the filtered data, select data reference date, and configure various other parameters specific to each visualization.

For the \"Knowledge Graph\" perspective, a critical parameter is the Display the source toggle. This feature empowers users to choose whether the widget displays entities from the source side or the target side of the relationships.

This level of control ensures that your dashboard aligns precisely with your analytical objectives, offering a tailored perspective based on your data and relationship.

"},{"location":"usage/widgets/#prerequisite-knowledge","title":"Prerequisite knowledge","text":"

To successfully configure widgets in OpenCTI, having a solid understanding of the platform's data modeling is essential. Knowing specific relationships, entities, and their attributes helps refine filters accurately. Let's explore two examples.

Scenarios 1:

Consider the scenario where you aim to visualize relationships between intrusion sets and attack patterns. In this case, the relevant relationship type connecting intrusion sets to attack patterns is labeled as \"Uses\" (as illustrated in the \"Filters\" section).

Scenarios 2:

Suppose your goal is to retrieve all reports associated with the finance sector. In this case, it's essential to use the correct filter for the finance sector. Instead of placing the finance sector in the \"Related entity\" filter, it should be placed in the \"Contains\" filter. Since a Report is a container object (like Cases and Groupings), it contains entities within it and is not related to entities.

"},{"location":"usage/widgets/#key-data-modeling-aspects","title":"Key data modeling aspects","text":"

Having this prerequisite knowledge allows you to navigate the widget configuration process seamlessly, ensuring accurate and insightful visualizations based on your specific data requirements.

"},{"location":"usage/workbench/","title":"Analyst workbench","text":"

Workbenches serve as dedicated workspaces for manipulating data before it is officially imported into the platform.

"},{"location":"usage/workbench/#location-of-use","title":"Location of use","text":"

The workbenches are located at various places within the platform:

"},{"location":"usage/workbench/#data-import-and-analyst-workbenches-window","title":"Data import and analyst workbenches window","text":"

This window encompasses all the necessary tools for importing a file. Files imported through this interface will subsequently be processed by the import connectors, resulting in the creation of workbenches. Additionally, analysts can manually create a workbench by clicking on the \"+\" icon at the bottom right of the window.

"},{"location":"usage/workbench/#data-tabs-of-all-entities","title":"Data tabs of all entities","text":"

Workbenches are also accessible through the \"Data\" tabs of entities, providing convenient access to import data associated with the entity.

"},{"location":"usage/workbench/#operation","title":"Operation","text":"

Workbenches are automatically generated upon the import of a file through an import connector. When an import connector is initiated, it scans files for recognizable entities and subsequently creates a workbench. All identified entities are placed within this workbench for analyst reviews. Alternatively, analysts have the option to manually create a workbench by clicking on the \"+\" icon at the bottom right of the \"Data import and analyst workbenches\" window.

The workbench being a draft space, the analysts use it to review connector proposals before finalizing them for import. Within the workbench, analysts have the flexibility to add, delete, or modify entities to meet specific requirements.

Once the content within the workbench is deemed acceptable, the analyst must initiate the ingestion process by clicking on Validate this workbench. This action signifies writing the data in the knowledge base.

Workbenches are drafting spaces

Until the workbench is validated, the contained data remains in draft form and is not recorded in the knowledge base. This ensures that only reviewed and approved data is officially integrated into the platform.

For more information on importing files, refer to the Import from files documentation page.

Confidence level of created knowledge through workbench

The confidence level of knowledge created through workbench is affected by the confidence level of the user. Please navigate to this page to understand in more details.

"},{"location":"usage/workflows/","title":"Workflows and assignation","text":"

Efficiently manage and organize your work within the OpenCTI platform by leveraging workflows and assignment. These capabilities provide a structured approach to tracking the status of objects and assigning responsibilities to users.

"},{"location":"usage/workflows/#workflows","title":"Workflows","text":"

Workflows are designed to trace the status of objects in the system. They are represented by the \"Processing status\" field embedded in each object. By default, this field is disabled for most objects but can be activated through the platform settings. For details on activating and configuring workflows, refer to the dedicated documentation page.

Enabling workflows enhances visibility into the progress and status of different objects, providing a comprehensive view for effective management.

"},{"location":"usage/workflows/#assignment-attributes","title":"Assignment attributes","text":"

Certain objects, including Reports, Cases, and Tasks, come equipped with \"Assignees\" and \"Participants\" attributes. These attributes serve the purpose of designating individuals responsible for the object and those who actively participate in it.

Attributes can be set as mandatory or with default values, streamlining the assignment process. Users can also be assigned or designated as participants manually, contributing to a collaborative and organized workflow. For details on configuring attributes, refer to the dedicated documentation page.

Users can stay informed about assignments through notification triggers. By setting up notification triggers, users receive alerts when an object is assigned to them. This ensures timely communication and proactive engagement with assigned tasks or responsibilities.

"}]} \ No newline at end of file +{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"],"fields":{"title":{"boost":1000.0},"text":{"boost":1.0},"tags":{"boost":1000000.0}}},"docs":[{"location":"","title":"OpenCTI Documentation Space","text":"

Welcome to the OpenCTI Documentation space. Here you will be able to find all documents, meeting notes and presentations about the platform.

Release notes

Please, be sure to also take a look at the OpenCTI releases notes, they may contain important information about releases and deployments.

"},{"location":"#introduction","title":"Introduction","text":"

OpenCTI is an open source platform allowing organizations to manage their cyber threat intelligence knowledge and observables. It has been created in order to structure, store, organize and visualize technical and non-technical information about cyber threats.

"},{"location":"#getting-started","title":"Getting started","text":"

Need more help?

We are doing our best to keep this documentation complete, accurate and up to date.

If you still have questions or you find something which is not sufficiently explained, join the Filigran Community on Slack.

"},{"location":"#latest-blog-posts","title":"Latest blog posts","text":"

All tutorials are published directly on the Medium blog, this section provides a comprehensive list of the most important ones.

"},{"location":"#additional-resources","title":"Additional resources","text":"

Below, you will find external resources which may be useful along your OpenCTI journey.

OpenCTI Ecosystem List of available connectors and integrations to expand platform usage.

Training Courses Training courses for analysts and administrators in the Filigran training center.

Video materials Set of video illustrating the implementation of use cases and platform capabilities.

"},{"location":"administration/csv-mappers/","title":"CSV Mappers","text":"

In OpenCTI, CSV Mappers allow to parse CSV files in a STIX 2.1 Object. The mappers are created and configured by users with the Manage CSV mapper capability. Then, they are available to users who import CSV files, for instance inside a report or in the global import view.

"},{"location":"administration/csv-mappers/#principles","title":"Principles","text":"

The mapper contains representations of STIX 2.1 entities and relationships, in order for the parser to properly extract them. One mapper is dedicated to parsing a specific CSV file structure, and thus dedicated mappers should be created for every specific CSV structure you might need to ingest in the platform.

"},{"location":"administration/csv-mappers/#create-a-new-csv-mapper","title":"Create a new CSV Mapper","text":"

In menu Data, select the submenu Processing, and on the right menu select CSV Mappers. You are presented with a list of all the mappers set in the platform. Note that you can delete or update any mapper from the context menu via the burger button beside each mapper.

Click on the button + in the bottom-right corner to add a new Mapper.

Enter a name for your mapper and some basic information about your CSV files:

Header management

The parser will not extract any information from the CSV header if any, it will just skip the first line during parsing.

Then, you need to create every representation, one per entity and relationship type represented in the CSV file. Click on the + button to add an empty representation in the list, and click on the chevron to expand the section and configure the representation.

Depending on the entity type, the form contains the fields that are either required (input outlined in red) or optional. For each field, set the corresponding columns mapping (the letter-based index of the column in the CSV table, as presented in common spreadsheet tools).

References to other entities should be picked from the list of all the other representations already defined earlier in the mapper.

You can do the same for all the relationships between entities that might be defined in this particular CSV file structure.

Fields might have options besides the mandatory column index, to help extract relevant data:

Or to set default values in case some data is missing in the imported file.

"},{"location":"administration/csv-mappers/#csv-mapper-validity","title":"CSV Mapper validity","text":"

The only parameter required to save a CSV Mapper is a name. The creation and refinement of its representations can be done iteratively.

Nonetheless, all CSV Mappers go through a quick validation that checks if all the representations have all their mandatory fields set. Only valid mappers can be run by the users on their CSV files.

Mapper validity is visible in the list of CSV Mappers as shown below.

"},{"location":"administration/csv-mappers/#test-your-csv-mapper","title":"Test your CSV mapper","text":"

In the creation or edition form, hit the button Test to open a dialog. Select a sample CSV file and hit the Test button.

The code block contains the raw result of the parsing attempt, in the form of a STIX 2.1 bundle in JSON format.

You can then check if the extracted values match the expected entities and relationships.

Test with a small file

We strongly recommend limiting test files to 100 lines and 1MB. Otherwise, the browser may crash.

"},{"location":"administration/csv-mappers/#use-a-mapper-for-importing-a-csv-file","title":"Use a mapper for importing a CSV file","text":"

You can change the default configuration of the import csv connector in your configuration file.

\"import_csv_built_in_connector\": {\n  \"enabled\": true, \n  \"interval\": 10000, \n  \"validate_before_import\": false\n},\n

In Data import section, or Data tab of an entity, when you upload a CSV, you can select a mapper to apply to the file. The file will then be parsed following the representation rules set in the mapper.

By default, the imported elements will be added in a new Analyst Workbench where you will be able to check the result of the import.

"},{"location":"administration/csv-mappers/#default-values-for-attributes","title":"Default values for attributes","text":"

In the case of the CSV file misses some data, you can complete it with default values. To achieve this, you have two possibilities:

"},{"location":"administration/csv-mappers/#set-default-values-in-the-settings-of-the-entities","title":"Set default values in the settings of the entities","text":"

Default value mechanisms

Note that adding default values in settings have an impact at entity creation globally on the platform, not only on CSV mappers. If you want to apply those default values only at CSV mapper level, please use the second option.

In settings > Customization, you can select an entity type and then set default values for its attributes.

In the configuration of the entity, you have access to the entity's attributes that can be managed.

Click on the attribute to add a default value information.

Enter the default value in the input and save the update.

The value filled will be used in the case where the CSV file lacks data for this attribute.

"},{"location":"administration/csv-mappers/#set-specific-default-values-directly-in-the-csv-mapper","title":"Set specific default values directly in the CSV mapper","text":"

Information retained in case of default value

If you fill a default value in entity settings and the CSV mapper, the one from CSV mapper will be used.

In the mapper form, you will see next to the column index input a gear icon to add extra information for the attribute. If the attribute can have a customizable default value, then you will be able to set one here.

The example above shows the case of the attribute architecture implementation of a malware. You have some information here. First, it seems we have a default value already set in entity settings for this attribute with the value [powerpc, x86]. However, we want to override this value with another one for our case: [alpha].

"},{"location":"administration/csv-mappers/#specific-case-of-marking-definitions","title":"Specific case of marking definitions","text":"

For marking definitions, setting a default value is different from other attributes. We are not choosing a particular marking definition to use if none is specified in the CSV file. Instead, we will choose a default policy. Two option are available:

"},{"location":"administration/csv-mappers/#additional-resources","title":"Additional resources","text":""},{"location":"administration/decay-rules/","title":"Decay rules","text":"

Decay rules are used to update automatically indicators score in order to represent their lifecycle.

"},{"location":"administration/decay-rules/#configuration","title":"Configuration","text":"

Decay rules can be configured in the \"Settings > Customization > Decay rule\" menu.

There are built-in decay rules that can't be modified and are applied by default to indicators depending on their main observable type. Decay rules are applied from highest to lowest order (the lowest being 0).

You can create new decay rules with higher order to apply them along with (or instead of) the built-in rules.

When you create a decay rule, you can specify on which indicators' main observable types it will apply. If you don't enter any, it will apply to all indicators.

You can also add reaction points which represent the scores at which indicators are updated. For example, if you add one reaction point at 60 and another one at 40, indicators that have an initial score of 80 will be updated with a score of 60, then 40, depending on the decay curve.

The decay curve is based on two parameters:

Finally, the revoke score is the score at which the indicator can be revoked automatically.

Once you have created a new decay rule, you will be able to view its details, along with a life curve graph showing the score evolution over time.

You will also be able to edit your rule, change all its parameters and order, activate or deactivate it (only activated rules are applied), or delete it.

Indicator decay manager

Decay rules are only applied, and indicators score updated, if indicator decay manager is enabled (enabled by default).

Please read the dedicated page to have all information

"},{"location":"administration/enterprise/","title":"Enterprise edition","text":"

Filigran

Filigran is providing an Enterprise Edition of the platform, whether on-premise or in the SaaS.

"},{"location":"administration/enterprise/#what-is-opencti-ee","title":"What is OpenCTI EE?","text":"

OpenCTI Enterprise Edition is based on the open core concept. This means that the source code of OCTI EE remains open source and included in the main GitHub repository of the platform but is published under a specific license. As specified in the GitHub license file:

The source files in this repository have a header indicating which license they are under. If no such header is provided, this means that the file belongs to the Community Edition under the Apache License, Version 2.0.

We wrote a complete article to explain the enterprise edition, feel free to read it to have more information

"},{"location":"administration/enterprise/#ee-activation","title":"EE Activation","text":"

Enterprise edition is easy to activate. You need to go the platform settings and click on the Activate button.

Then you will need to agree to the Filigran EULA.

As a reminder:

"},{"location":"administration/enterprise/#available-features","title":"Available features","text":""},{"location":"administration/enterprise/#activity-monitoring","title":"Activity monitoring","text":"

Audit logs help you answer \"who did what, where, and when?\" within your data with the maximum level of transparency. Please read Activity monitoring page to get all information.

"},{"location":"administration/enterprise/#playbooks-and-automation","title":"Playbooks and automation","text":"

OpenCTI playbooks are flexible automation scenarios which can be fully customized and enabled by platform administrators to enrich, filter and modify the data created or updated in the platform. Please read Playbook automation page to get all information.

"},{"location":"administration/enterprise/#organizations-management-and-segregation","title":"Organizations management and segregation","text":"

Organizations segregation is a way to segregate your data considering the organization associated to the users. Useful when your platform aims to share data to multiple organizations that have access to the same OpenCTI platform. Please read Organizations RBAC to get more information.

"},{"location":"administration/enterprise/#full-text-indexing","title":"Full text indexing","text":"

Full text indexing grants improved searches across structured and unstructured data. OpenCTI classic searches are based on metadata fields (e.g. title, description, type) while advanced indexing capability enables searches to be extended to the document\u2019s contents. Please read File indexing to get all information.

"},{"location":"administration/enterprise/#more-to-come","title":"More to come","text":"

More features will be available in OpenCTI in the future. Features like:

"},{"location":"administration/entities/","title":"Customize entities","text":""},{"location":"administration/entities/#introduction","title":"Introduction","text":"

A variety of entity customization options are available to optimize data representation, workflow management, and enhance overall user experience. Whether you're fine-tuning processing statuses, configuring entities' attributes, or hiding entities, OpenCTI's customization capabilities provide the flexibility you need to create a tailored environment for your threat intelligence and cybersecurity workflows.

The following chapter aims to provide readers with an understanding of the available customization options by entity type. Customize entities can be done in \"Settings > Customization\".

"},{"location":"administration/entities/#hidden-in-interface","title":"Hidden in interface","text":"

This configuration allows to hide a specific entity type throughout the entire platform. It provides a potent means to simplify the interface and tailor it to your domain expertise. For instance, if you have no interest in disinformation campaigns, you can conceal related entities such as Narratives and Channels from the menus.

You can specify which entities to hide on a platform-wide basis from \"Settings > Customization\" and from \"Settings > Parameters\", providing you with a list of hidden entities. Furthermore, you can designate hidden entities for specific Groups and Organizations from \"Settings > Security > Groups/Organizations\" by editing a Group/Organization.

An overview of hidden entity types is available in the \"Hidden entity types\" field in \"Settings > Parameters.\"

"},{"location":"administration/entities/#automatic-references-at-file-upload","title":"Automatic references at file upload","text":"

This configuration enables an entity to automatically construct an external reference from the uploaded file.

"},{"location":"administration/entities/#enforce-references","title":"Enforce references","text":"

This configuration enables the requirement of a reference message on an entity creation or modification. This option is helpful if you want to keep a strong consistency and traceability of your knowledge and is well suited for manual creation and update.

"},{"location":"administration/entities/#workflow","title":"Workflow","text":"

For now, OpenCTI has a simple workflow approach. They're represented by the \"Processing status\" field embedded in each object. By default, this field is disabled for most objects but can be activated through the platform settings:

  1. Navigate to \"Settings > Customization > Entity types > [Desired object type].\"
  2. Click on the small pink pen icon next to \"Workflow\" to access the object customization window.
  3. Add and configure the desired statuses, defining their order within the workflow.

In addition, the available statuses are defined by a collection of status templates visible in \"Settings > Taxonomies > Status templates\". This collection can be customized.

"},{"location":"administration/entities/#attributes","title":"Attributes","text":"

Each attribute in an Entity offers several customization options:

"},{"location":"administration/entities/#confidence-scale-configuration","title":"Confidence scale configuration","text":"

Confidence scale can be customized for each entity type by selecting another scale template or by editing directly the scale values. Once you have customized your scale, click on \"Update\" to save your configuration.

Max confidence level

The above scale also needs to take into account the confidence level per user. To understand the concept, please navigate to this page

"},{"location":"administration/file-indexing/","title":"File indexing","text":"

Enterprise edition

Platform segregation by organization is available under the \"OpenCTI Enterprise Edition\" license. Please read the dedicated page to have all the information.

"},{"location":"administration/file-indexing/#files-search-requirements","title":"Files search requirements","text":"

In order to search in files, we need to extract and index files text content, which requires to have one of these database configurations :

"},{"location":"administration/file-indexing/#file-indexing-configuration","title":"File indexing configuration","text":"

File indexing can be configured via the File indexing tab in the Settings menu.

The configuration and impact panel shows all file types that can be indexed, as well as the volume of storage used.

It is also possible to include or exclude files uploaded from the global Data import panel and that are not associated with a specific entity in the platform.

Finally, it is possible to set a maximum file size for indexing (5 Mb by default).

Currently supported content types : application/pdf, text/plain, text/csv, text/html, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (excel sheets).

Once indexing has been launched by pressing the Start button, you can follow its progress.

You will also be able to Pause it and restart from the beginning by pressing Reset button which deletes all indexed files from the database.

If you change the configuration while file indexing is running, you might need to reset in order to include newly impacted files.

File indexing runs every 5 minutes to index last uploaded files.

"},{"location":"administration/introduction/","title":"Introduction","text":"

This guide aims to give you a full overview of the OpenCTI features and workflows. The platform can be used in various contexts to handle threats management use cases from a technical to a more strategic level.

"},{"location":"administration/introduction/#administrative-settings","title":"Administrative Settings","text":"

The OpenCTI Administrative settings console allows administrators to configure many options dynamically within the system. As an Administrator, you can access this settings console, by clicking the settings link.

The Settings Console allows for configuration of various aspects of the system.

"},{"location":"administration/introduction/#general-configuration","title":"General Configuration","text":""},{"location":"administration/introduction/#authentication-strategies-display","title":"Authentication Strategies Display","text":""},{"location":"administration/introduction/#platform-messages","title":"Platform Messages","text":""},{"location":"administration/introduction/#dark-theme-color-scheme","title":"Dark Theme Color Scheme","text":"

Various aspects of the Dark Theme can be dynamically configured in this section.

"},{"location":"administration/introduction/#light-theme-color-scheme","title":"Light Theme Color Scheme","text":"

Various aspects of the Light Theme can be dynamically configured in this section.

"},{"location":"administration/introduction/#tools-configuration-display","title":"Tools Configuration Display","text":"

This section will give general status on the various tools and enabled components of the currently configured OpenCTI deployment.

"},{"location":"administration/merging/","title":"Merging","text":""},{"location":"administration/merging/#data-merging","title":"Data merging","text":"

Within the OpenCTI platform, the merge capability is present into the \"Data > Entities\" tab, and is fairly straightforward to use. To execute a merge, select the set of entities to be merged, then click on the Merge icon.

Merging limitation

It is not possible to merge entities of different types, nor is it possible to merge more than 4 entities at a time (it will have to be done in several stages).

Central to the merging process is the selection of a main entity. This primary entity becomes the anchor, retaining crucial attributes such as name and description. Other entities, while losing specific fields like descriptions, are aliased under the primary entity. This strategic decision preserves vital data while eliminating redundancy.

Once the choice has been made, simply validate to run the task in the background. Depending on the number of entity relationships, and the current workload on the platform, the merge may take more or less time. In the case of a healthy platform and around a hundred relationships per entity, merge is almost instantaneous.

"},{"location":"administration/merging/#data-preservation-and-relationship-continuity","title":"Data preservation and relationship continuity","text":"

A common concern when merging entities lies in the potential loss of information. In the context of OpenCTI, this worry is alleviated. Even if the merged entities were initially created by distinct sources, the platform ensures that data is not lost. Upon merging, the platform automatically generates relationships directly on the merged entity. This strategic approach ensures that all connections, regardless of their origin, are anchored to the consolidated entity. Post-merge, OpenCTI treats these once-separate entities as a singular, unified entity. Subsequent information from varied sources is channeled directly into the entity resulting from the merger. This unified entity becomes the focal point for all future relationships, ensuring the continuity of data and relationships without any loss or fragmentation.

"},{"location":"administration/merging/#important-considerations","title":"Important considerations","text":""},{"location":"administration/merging/#additional-resources","title":"Additional resources","text":""},{"location":"administration/notifier-samples/","title":"Notifier samples","text":""},{"location":"administration/notifier-samples/#configure-teams-webhook","title":"Configure Teams webhook","text":"

To configure a notifier for Teams, allowing to send notifications via Teams messages, we followed the guidelines outlined in the Microsoft documentation.

"},{"location":"administration/notifier-samples/#template-message-for-live-trigger","title":"Template message for live trigger","text":"

The Teams template message sent through webhook for a live notification is:

{\n        \"type\": \"message\",\n        \"attachments\": [\n            {\n                \"contentType\": \"application/vnd.microsoft.card.thumbnail\",\n                \"content\": {\n                    \"subtitle\": \"Operation : <%=content[0].events[0].operation%>\",\n                    \"text\": \"<%=(new Date(notification.created)).toLocaleString()%>\",\n                    \"title\": \"<%=content[0].events[0].message%>\",\n                    \"buttons\": [\n                        {\n                            \"type\": \"openUrl\",\n                            \"title\": \"See in OpenCTI\",\n                            \"value\": \"https://YOUR_OPENCTI_URL/dashboard/id/<%=content[0].events[0].instance_id%>\"\n                        }\n                    ]\n                }\n            }\n        ]\n    }\n
"},{"location":"administration/notifier-samples/#template-message-for-digest","title":"Template message for digest","text":"

The Teams template message sent through webhook for a digest notification is:

{\n    \"type\": \"message\",\n    \"attachments\": [\n        {\n            \"contentType\": \"application/vnd.microsoft.card.adaptive\",\n            \"content\": {\n                \"$schema\": \"http://adaptivecards.io/schemas/adaptive-card.json\",\n                \"type\": \"AdaptiveCard\",\n                \"version\": \"1.0\",\n                \"body\": [\n                    {\n                        \"type\": \"Container\",\n                        \"items\": [\n                            {\n                                \"type\": \"TextBlock\",\n                                \"text\": \"<%=notification.name%>\",\n                                \"weight\": \"bolder\",\n                                \"size\": \"extraLarge\"\n                            }, {\n                                \"type\": \"TextBlock\",\n                                \"text\": \"<%=(new Date(notification.created)).toLocaleString()%>\",\n                                \"size\": \"medium\"\n                            }\n                        ]\n                    },\n                    <% for(var i=0; i<content.length; i++) { %>\n                    {\n                        \"type\": \"Container\",\n                        \"items\": [<% for(var j=0; j<content[i].events.length; j++) { %>\n                            {\n                                \"type\" : \"TextBlock\",\n                                \"text\" : \"[<%=content[i].events[j].message%>](https://YOUR_OPENCTI_URL/dashboard/id/<%=content[i].events[j].instance_id%>)\"\n                            }<% if(j<(content[i].events.length - 1)) {%>,<% } %>\n                        <% } %>]\n           }<% if(i<(content.length - 1)) {%>,<% } %>\n                    <% } %>\n                ]\n            }\n        }\n    ],\n   \"dataString\": <%-JSON.stringify(notification)%>\n}\n
"},{"location":"administration/notifiers/","title":"Custom notifiers","text":"

Leveraging the platform's built-in connectors, users can create custom notifiers tailored to their unique needs. OpenCTI features three built-in connectors: a webhook connector, a simple mailer connector, and a platform mailer connector. These connectors operate based on registered schemas that describe their interaction methods.

"},{"location":"administration/notifiers/#built-in-notifier-connectors","title":"Built-In notifier connectors","text":""},{"location":"administration/notifiers/#platform-mailer","title":"Platform mailer","text":"

This notifier connector enables customization of notifications raised within the platform. It's simple to configure, requiring only:

"},{"location":"administration/notifiers/#simple-mailer","title":"Simple mailer","text":"

This notifier connector offers a straightforward approach to email notifications with simplified configuration options. Users can set:

"},{"location":"administration/notifiers/#webhook","title":"Webhook","text":"

This notifier connector enables users to send notifications to external applications or services through HTTP requests. Users can specify:

OpenCTI provides two notifier samples by default, designed to communicate with Microsoft Teams through a webhook. A documentation page providing details on these samples is available.

"},{"location":"administration/notifiers/#configuration-and-access","title":"Configuration and access","text":"

Custom notifiers are manageable in the \"Settings > Customization > Notifiers\" window and can be restricted through Role-Based Access Control (RBAC). Administrators can control access, limiting usage to specific Users, Groups, or Organizations.

For guidance on configuring notification triggers and exploring the usages of notifiers, refer to the dedicated documentation page.

"},{"location":"administration/ontologies/","title":"Taxonomies","text":"

Taxonomies in OpenCTI refer to the structured classification systems that help in organizing and categorizing cyber threat intelligence data. They play a crucial role in the platform by allowing analysts to systematically tag and retrieve information based on predefined categories and terms.

Along with the Customization page, these pages allow the administrator to customize the platform.

"},{"location":"administration/ontologies/#labels","title":"Labels","text":"

Labels in OpenCTI serve as a powerful tool for organizing, categorizing, and prioritizing data. Here\u2019s how they can be used effectively:

  1. Tagging and Categorization: Labels can be used to tag malware, incidents, or indicators (IOCs) with specific categories, making it easier to filter and search through large datasets.
  2. Prioritization: By labeling threats based on their severity or impact, security analysts can prioritize their response efforts accordingly.
  3. Correlation and Analysis: Labels help in correlating different pieces of intelligence. For example, if multiple indicators are tagged with the same label, it might indicate a larger campaign or a common adversary.
  4. Automation and Integration: Labels can trigger automated workflows (also called playbooks) within OpenCTI. For instance, a label might automatically initiate further investigation or escalate an incident.
  5. Reporting and Metrics: Labels facilitate the generation of reports and metrics, allowing organizations to track trends through dashboards, measure response effectiveness, and make data-driven decisions.
  6. Sharing and Collaboration: When sharing intelligence with other organizations or platforms, labels provide a common language that helps in understanding the context and relevance of the shared data.

Tip

In order to achieve effective data labeling methods, it is recommended to establish a clear and consistent criteria for your labeling and document them in a policy or guideline.

"},{"location":"administration/ontologies/#kill-chain-phases","title":"Kill chain phases","text":"

Kill chain phases are used in OpenCTI to structure and analyze the data related to cyber threats and attacks. They describe the stages of an attack from the perspective of the attacker and provide a framework for identifying, analysing and responding to threats.

OpenCTI supports the following kill chain models:

You can add, edit, or delete kill chain phases in the settings page, and assign them to indicators, attack patterns, incidents, or courses of action in the platform. You can also filter the data by kill chain phase, and view the kill chain phases in a timeline or as a matrix.

"},{"location":"administration/ontologies/#vocabularies","title":"Vocabularies","text":"

Open vocabularies are sets of terms and definitions that are agreed upon by the CTI community. They help to standardize the communication documentation of cyber threat information. This section allows you to customize a set of available fields by adding vocabulary. Almost all of the drop-down menus available in the entities can be modified from this panel.

Open vocabularies in OpenCTI are mainly based on the STIX standard.

"},{"location":"administration/ontologies/#status-templates","title":"Status templates","text":"

Status templates are predefined statuses that can be assigned to different entities in OpenCTI, such as reports, incidents, or cases (incident responses, requests for information and requests for takedown).

They help to track the progress of the analysis and response activities by defining statuses that are used in the workflows.

"},{"location":"administration/ontologies/#case-templates","title":"Case templates","text":"

Customizable case templates help to streamline the process of creating cases with predefined lists of tasks.

"},{"location":"administration/organization-segregation/","title":"Organization segregation","text":"

Enterprise edition

Platform segregation by organization is available under the \"OpenCTI Enterprise Edition\" license. Please read the dedicated page to have all the information.

"},{"location":"administration/organization-segregation/#organization-administration","title":"Organization administration","text":"

Platform administrators can promote members of an organization as \"Organization administrator\". This elevated role grants them the necessary capabilities to create, edit and delete users from the corresponding Organization. Additionally, administrators have the flexibility to define a list of groups that can be granted to newly created members by the organization administrators. This feature simplifies the process of granting appropriate access and privileges to individuals joining the organization.

The platform administrator can promote/demote an organization admin through its user edition form.

Organization admin rights

The \"Organization admin\" has restricted access to Settings. They can only manage the members of the organizations for which they have been promoted as \"admins\".

"},{"location":"administration/parameters/","title":"Parameters","text":""},{"location":"administration/parameters/#description","title":"Description","text":"

This part of the interface wil let you configure global platform settings, like title, favicon, etc.

It will also give you important information about the platform.

"},{"location":"administration/parameters/#the-configuration-section","title":"The \"Configuration\" section","text":"

This section allows the administrator to edit the following settings:

"},{"location":"administration/parameters/#opencti-platform","title":"OpenCTI Platform","text":"

This is where the Enterprise edition can be enabled.

This section gives important information about the platform like the used version, the edition, the architecture mode (can be Standalone or Cluster) and the number used nodes.

Through the \"Remove Filigran logos\" toggle, the administrator has the option to hide the Filigran logo on the login page and the sidebar.

"},{"location":"administration/parameters/#platform-announcement","title":"Platform Announcement","text":"

This section gives you the possibility to set and display Announcements in the platform. Those announcements will be visible to every user in the platform, on top of the interface.

They can be used to inform some of your users or all of important information, like a scheduled downtime, an incoming upgrade, or even to share important tips regarding the usage of the platform.

An Announcement can be accompanied by a \"Dismiss\u201d button. When clicked by a user, it makes the message disappear for this user.

This option can be deactivated to have a permanent announcement.

\u26a0\ufe0f Only one announcement is shown at a time, with priority given to dismissible ones. If there are no dismissible announcements, the most recent non-dismissible one is shown.

"},{"location":"administration/parameters/#third-party-analytics","title":"Third-party Analytics","text":"

Enterprise edition

Analytics is available under the \"OpenCTI Enterprise Edition\" license.

Please read the dedicated page to have more information

This is where you can configure analytics providers. At the moment only Google Analytics v4 is supported.

"},{"location":"administration/parameters/#theme-customization","title":"Theme customization","text":"

In this section, the administrator can customize the two OpenCTI themes

"},{"location":"administration/parameters/#tools","title":"Tools","text":"

This section informs the administrator of the statuses of the different managers used in the Platform. More information about the managers can be found here. It shows also the used versions of the search engine database, RabbitMQ and Redis.

In cluster mode, the fact that a manager appears as enabled means that it is active in at least one node.

"},{"location":"administration/policies/","title":"Policies","text":"

The Policies configuration window (in \"Settings > Security > Policies\") encompasses essential settings that govern the organizational sharing, authentication strategies, password policies, login messages, and banner appearance within the OpenCTI platform.

"},{"location":"administration/policies/#platform-main-organization","title":"Platform main organization","text":"

Allow to set a main organization for the entire platform. Users belonging to the main organization enjoy unrestricted access to all data stored in the platform. In contrast, users affiliated with other organizations will only have visibility into data explicitly shared with them.

Numerous repercussions linked to the activation of this feature

This feature has implications for the entire platform and must be fully understood before being used. For example, it's mandatory to have organizations set up for each user, otherwise they won't be able to log in. It is also advisable to include connector's users in the platform main organization to avoid import problems.

"},{"location":"administration/policies/#authentication-strategies","title":"Authentication strategies","text":"

The authentication strategies section provides insights into the configured authentication methods. Additionally, an \"Enforce Two-Factor Authentication\" button is available, allowing administrators to mandate 2FA activation for users, enhancing overall account security.

Please see the Authentication section for further details on available authentication strategies.

"},{"location":"administration/policies/#local-password-policies","title":"Local password policies","text":"

This section encompasses a comprehensive set of parameters defining the local password policy. Administrators can specify requirements such as minimum/maximum number of characters, symbols, digits, and more to ensure robust password security across the platform. Here are all the parameters available:

Parameter Description Number of chars must be greater than or equals to Define the minimum length required for passwords. Number of chars must be lower or equals to (0 equals no maximum) Set an upper limit for password length. Number of symbols must be greater or equals to Specify the minimum number of symbols required in a password. Number of digits must be greater or equals to Set the minimum number of numeric characters in a password. Number of words (split on hyphen, space) must be greater or equals to Enforce a minimum count of words in a password. Number of lowercase chars must be greater or equals to Specify the minimum number of lowercase characters. Number of uppercase chars must be greater or equals to Specify the minimum number of uppercase characters.

"},{"location":"administration/policies/#login-messages","title":"Login messages","text":"

Allow to define messages on the login page to customize and highlight your platform's security policy. Three distinct messages can be customized:

"},{"location":"administration/policies/#platform-banner-configuration","title":"Platform banner configuration","text":"

The platform banner configuration section allows administrators to display a custom banner message at the top and bottom of the screen. This feature enables customization for enhanced visual communication and branding within the OpenCTI platform. It can be used to add a disclaimer or system purpose.

This configuration has two parameters:

"},{"location":"administration/policies/#maximum-marking-definitions-shareable","title":"Maximum marking definitions shareable","text":"

This configuration allows to define, for each type of marking definitions, until which level we allow to share data externally.

For now this max marking definitions is used only for Public dashboard.

For example in the capture below, for the type of marking TLP, only data with a marking definition with a level equal or below GREEN will be shareable through Public Dashboard. And no data with marking definition statement will be shared at all.

"},{"location":"administration/reasoning/","title":"Rules engine","text":""},{"location":"administration/reasoning/#inference-rules","title":"Inference rules","text":"

The rules engine comprises a set of predefined rules (named inference rules) that govern how new relationships are inferred based on existing data. These rules are carefully crafted to ensure logical and accurate relationship creation. Here is the list of existing inference rules:

"},{"location":"administration/reasoning/#raise-incident-based-on-sighting","title":"Raise incident based on sighting","text":"Conditions Creations A non-revoked Indicator is sighted in an Entity Creation of an Incident linked to the sighted Indicator and the targeted Entity"},{"location":"administration/reasoning/#sightings-of-observables-via-observed-data","title":"Sightings of observables via observed data","text":"Conditions Creations An Indicator is based on an Observable contained in an Observed Data Creation of a sighting between the Indicator and the creating Identity of the Observed Data"},{"location":"administration/reasoning/#sightings-propagation-from-indicator","title":"Sightings propagation from indicator","text":"Conditions Creations An Indicator based on an Observable is sighted in an Entity The Observable is sighted in the Entity"},{"location":"administration/reasoning/#sightings-propagation-from-observable","title":"Sightings propagation from observable","text":"Conditions Creations An Indicator is based on an Observable sighted in an Entity The Indicator is sighted in the Entity"},{"location":"administration/reasoning/#relation-propagation-via-an-observable","title":"Relation propagation via an observable","text":"Conditions Creations An observable is related to two Entities Create a related to relationship between the two Entities"},{"location":"administration/reasoning/#attribution-propagation","title":"Attribution propagation","text":"Conditions Creations An Entity A is attributed to an Entity B and this Entity B is itself attributed to an Entity C The Entity A is attributed to Entity C"},{"location":"administration/reasoning/#belonging-propagation","title":"Belonging propagation","text":"Conditions Creations An Entity A is part of an Entity B and this Entity B is itself part of an Entity C The Entity A is part of Entity C"},{"location":"administration/reasoning/#location-propagation","title":"Location propagation","text":"Conditions Creations A Location A is located at a Location B and this Location B is itself located at a Location C The Location A is located at Location C"},{"location":"administration/reasoning/#organization-propagation-via-participation","title":"Organization propagation via participation","text":"Conditions Creations A User is affiliated with an Organization B, which is part of an Organization C The User is affiliated to the Organization C"},{"location":"administration/reasoning/#identities-propagation-in-reports","title":"Identities propagation in reports","text":"Conditions Creations A Report contains an Identity B and this Identity B is part of an Identity C The Report contains Identity C, as well as the Relationship between Identity B and Identity C"},{"location":"administration/reasoning/#locations-propagation-in-reports","title":"Locations propagation in reports","text":"Conditions Creations A Report contains a Location B and this Location B is located at a Location C The Report contains Location B, as well as the Relationship between Location B and Location C"},{"location":"administration/reasoning/#observables-propagation-in-reports","title":"Observables propagation in reports","text":"Conditions Creations A Report contains an Indicator and this Indicator is based on an Observable The Report contains the Observable, as well as the Relationship between the Indicator and the Observable"},{"location":"administration/reasoning/#usage-propagation-via-attribution","title":"Usage propagation via attribution","text":"Conditions Creations An Entity A, attributed to an Entity C, uses an Entity B The Entity C uses the Entity B"},{"location":"administration/reasoning/#inference-of-targeting-via-a-sighting","title":"Inference of targeting via a sighting","text":"Conditions Creations An Indicator, sighted at an Entity C, indicates an Entity B The Entity B targets the Entity C"},{"location":"administration/reasoning/#targeting-propagation-via-attribution","title":"Targeting propagation via attribution","text":"Conditions Creations An Entity A, attributed to an Entity C, targets an Entity B The Entity C targets the Entity B"},{"location":"administration/reasoning/#targeting-propagation-via-belonging","title":"Targeting propagation via belonging","text":"Conditions Creations An Entity A targets an Identity B, part of an Identity C The Entity A targets the Identity C"},{"location":"administration/reasoning/#targeting-propagation-via-location","title":"Targeting propagation via location","text":"Conditions Creations An Entity targets a Location B and this Location B is located at a Location C The Entity targets the Location C"},{"location":"administration/reasoning/#targeting-propagation-when-located","title":"Targeting propagation when located","text":"Conditions Creations An Entity A targets an Entity B and this target is located at Location D. The Entity A targets the Location D"},{"location":"administration/reasoning/#rule-execution","title":"Rule execution","text":""},{"location":"administration/reasoning/#rule-activation","title":"Rule activation","text":"

When a rule is activated, a background task is initiated. This task scans all platform data, identifying existing relationships that meet the conditions defined by the rule. Subsequently, it creates new objects (entities and/or relationships), expanding the network of insights within your threat intelligence environment. Then, activated rules operate continuously. Whenever a relationship is created or modified, and this change aligns with the conditions specified in an active rule, the reasoning mechanism is triggered. This ensures real-time relationship inference.

"},{"location":"administration/reasoning/#rule-deactivation","title":"Rule deactivation","text":"

Deactivating a rule leads to the deletion of all objects and relationships created by it. This cleanup process maintains the accuracy and reliability of your threat intelligence database.

"},{"location":"administration/reasoning/#access-restrictions-and-data-impact","title":"Access restrictions and data impact","text":"

Access to the rule engine panel is restricted to administrators only. Regular users do not have visibility into this section of the platform. Administrators possess the authority to activate or deactivate rules.

The rules engine empowers OpenCTI with the capability to automatically establish intricate relationships within your data. However, these rules can lead to a very large number of objects created. Even if the operation is reversible, an administrator should consider the impact of activating a rule.

"},{"location":"administration/reasoning/#additional-resources","title":"Additional resources","text":""},{"location":"administration/retentions/","title":"Retention policies","text":"

Retention rules serve the purpose of establishing data retention times, specifying when data should be automatically deleted from the platform. Users can define filters to target specific objects. Any object meeting these criteria that haven't been updated within the designated time frame will be deleted.

"},{"location":"administration/retentions/#configuration","title":"Configuration","text":"

Retention rules can be configured in the \"Settings > Customization > Retention policies\" window. A set of parameters must be configured:

An object will be removed if it meets the specified filters and hasn't been updated for the duration set in the \"Maximum retention days\" field.

"},{"location":"administration/retentions/#verification-process","title":"Verification process","text":"

Before activating a retention rule, users have the option to verify its impact using the \"Verify\" button. This action provides insight into the number of objects that currently match the rule's criteria and would be deleted if the rule is activated.

Verify before activation

Always use the \"Verify\" feature to assess the potential impact of a retention rule before activating it. Once the rule is activated, data deletion will begin, and retrieval of the deleted data will not be possible.

Retention rules contribute to maintaining a streamlined and efficient data lifecycle within OpenCTI, ensuring that outdated or irrelevant information is systematically removed from the platform, thereby optimizing disk space usage.

"},{"location":"administration/segregation/","title":"Data segregation","text":""},{"location":"administration/segregation/#introduction","title":"Introduction","text":"

Data segregation in the context of Cyber Threat Intelligence refers to the practice of categorizing and separating different types of data or information related to cybersecurity threats based on specific criteria.

This separation helps organizations manage and analyze threat intelligence more effectively and securely and the goal of data segregation is to ensure that only those individuals who are authorized to view a particular set of data have access to that set of data.

Practically, \"Need-to-know basis\" and \"classification level\" are data segregation measures.

"},{"location":"administration/segregation/#marking-definitions","title":"Marking Definitions","text":""},{"location":"administration/segregation/#description","title":"Description","text":"

Marking definitions are essential in the context of data segregation to ensure that data is appropriately categorized and protected based on its sensitivity or classification level. Marking definitions establish a standardized framework for classifying data.

Marking Definition objects are unique among STIX objects in the STIX 2.1 standard in that they cannot be versioned. This restriction is in place to prevent the possibility of indirect alterations to the markings associated with a STIX Object.

Multiple markings can be added to the same object. Certain categories of marking definitions or trust groups may enforce rules that specify which markings take precedence over others or how some markings can be added to complement existing ones.

In OpenCTI, data is segregated based on knowledge marking. The diagram provided below illustrates the manner in which OpenCTI establishes connections between pieces of information to authorize data access for a user:

"},{"location":"administration/segregation/#traffic-light-protocol","title":"Traffic Light Protocol","text":"

The Traffic Light Protocol is implemented by default as marking definitions in OpenCTI. It allows you to segregate information by TLP levels in your platform and restrict access to marked data if users are not authorized to see the corresponding marking.

The Traffic Light Protocol (TLP) was designed by the Forum of Incident Response and Security Teams (FIRST) to provide a standardized method for classifying and handling sensitive information, based on four categories of sensitivity.

For more details, the diagram provided below illustrates how are categorized the marking definitions:

"},{"location":"administration/segregation/#create-new-markings","title":"Create new markings","text":"

In order to create a marking, you must first have the ability to access the Settings tab. For example, a user who is in a group with the role of Administrator can bypass all capabilities or a user who is in a group with the role that has Access administration checked can access the Settings tab. For more details about user administration, please see the Users and Role Based Access Control page.

Once you have access to the settings, you can create a new marking in Security > Marking Definitions

A marking has:

"},{"location":"administration/segregation/#allowed-marking-definitions","title":"Allowed marking definitions","text":"

In order for all users in a group to be able to see entities and relationships that have specific markings on them, allowed markings can be checked when updating a group:

"},{"location":"administration/segregation/#default-marking-definitions","title":"Default marking definitions","text":"

To apply a default marking when creating a new entity or relationship, you can choose which marking to add by default from the list of allowed markings. You can add only one marking per type, but you can have multiple types.

Be careful, add markings as default markings is not enough to see the markings when you create an entity or relationship, you need to enable default markings in an entity or relationship customization.

For example, if you create a new report, got to Settings > Customization > Report > Markings and click on Activate/Desactivate default values.

"},{"location":"administration/segregation/#authorize-a-group-to-new-marking-definition","title":"Authorize a group to new marking definition","text":"

To authorize a group to automatically have access to a newly created marking definition in allowed marking definitions, you can check Automatically authorize this group to new marking definition when update a group:

"},{"location":"administration/segregation/#behavior-on-the-opencti-platform","title":"Behavior on the OpenCTI Platform","text":""},{"location":"administration/segregation/#create-a-new-entity-or-relationship","title":"Create a new entity or relationship","text":"

When a new entity or a new relationship is created, if multiple markings of the same type and different order are added, the platform will only keep the highest order for each type.

For example:

Create a new report and add markings PAP:AMBER,PAP:RED,TLP:AMBER+STRICT,TLP:CLEAR and a statement CC-BY-SA-4.0 DISARM Foundation

The final markings kept are: PAP:RED, TLP:AMBER+STRICT and CC-BY-SA-4.0 DISARM Foundation

"},{"location":"administration/segregation/#update-an-entity-or-a-relationship","title":"Update an entity or a relationship","text":"

When update an entity or a relationship:

"},{"location":"administration/segregation/#merge-entities","title":"Merge entities","text":"

When you merge multiple entities, the platform will keep the highest order for each type of marking when the merge is complete:

For example, merging two observables, one with TLP:CLEAR and PAP:CLEAR, and the other one with PAP:RED and TLP:GREEN.

As a final result, you will have the observable with PAP:RED and TLP:GREEN.

"},{"location":"administration/segregation/#import-data-from-a-connector","title":"Import data from a connector","text":"

When you import data from a connector, the connector cannot downgrade a marking for the same entity, if a same type of marking is set on it.

For example, if you create an observable existing in AlienVault data and set TLP:AMBER as the marking, when importing AlienVault data, the platform will keep the highest rank for the same type of markings.

"},{"location":"administration/support-package/","title":"Support Package","text":"

Support packages are useful for troubleshooting issue that occurs on OpenCTI platform. Administrators can request to create and download a support package that contains recent platform error logs and usage statistics.

Support package content

Even if we do our best to prevent logging any data, the support package may contains some sensitive information that you may not want to share with everyone. Before creating a ticket with your support package takes some time to check if you can safely share the content depending of your security policy.

Support Package can be requested from \"Settings > Support\" menu.

"},{"location":"administration/support-package/#package-generation","title":"Package generation","text":"

On a click on \"Generate support package\", a support event is propagated to every platform instances to request needed information. Every instance that will receive this message will process the request and send the files to the platform. During this processing the interface will display the expected support package name in an IN PROGRESS state waiting for completion. After finishing the process the support package will move to the READY state and the buttons download and delete will be activated.

"},{"location":"administration/support-package/#package-download","title":"Package download","text":"

After file generation, using the download button will dynamically create a (zip) containing all instances logs and telemetry.

"},{"location":"administration/support-package/#partial-package","title":"Partial package","text":"

In case of platform instability, some logs might not be retrieved and the support package will be incomplete.

If some instances fail to send their data, you will be able to force download a partial zip only after 1 minute. In case of a support package taking more than 5 minutes, the status will be moved to \"timeout\".

"},{"location":"administration/users/","title":"Users and Role Based Access Control","text":""},{"location":"administration/users/#introduction","title":"Introduction","text":"

In OpenCTI, the RBAC system not only related to what users can do or cannot do in the platform (aka. Capabilities) but also to the system of data segregation. Also, platform behavior such as default home dashboards, default triggers and digests as well as default hidden menus or entities can be defined across groups and organizations.

"},{"location":"administration/users/#high-level-design","title":"High level design","text":""},{"location":"administration/users/#roles","title":"Roles","text":"

Roles are used in the platform to grant the given groups with some capabilities to define what users in those groups can do or cannot do.

"},{"location":"administration/users/#list-of-capabilities","title":"List of capabilities","text":"Capability Description Bypass all capabilities Just bypass everything including data segregation and enforcements. Access knowledge Access in read-only to all the knowledge in the platform. Access to collaborative creation Create notes and opinions (and modify its own) on entities and relations. Create / Update knowledge Create and update existing entities and relationships. Restrict organization access Share entities and relationships with other organizations. Delete knowledge Delete entities and relationships. Upload knowledge files Upload files in the Data and Content section of entities. Download knowledge export Download the exports generated in the entities (in the Data section). Ask for knowledge enrichment Trigger an enrichment for a given entity. Access Dashboards and investigations Access to existing custom dashboards and investigations. Create / Update Dashboards and investigations Create and update custom dashboards and investigations. Delete Dashboards and investigations Delete existing custom dashboards and investigations. Manage Public Dashboards Manage public dashboards Access connectors Read information in the Data > Connectors section. Manage connector state Reset the connector state to restart ingestion from the beginning. Access data sharing & ingestion Access and consume data such as TAXII collections. Manage data sharing & ingestion Share data such as TAXII collections or custom dashboards. Manage CSV mappers Create, update and delete CSV mappers. Access administration Access and manage overall parameters of the platform in Settings > Parameters. Manage credentials Access and manage roles, groups, users, organizations and security policies. Manage marking definitions Update and delete marking definitions. Manage labels & Attributes Update and delete labels, custom taxonomies, workflow and case templates. Connectors API usage: register, ping, export push ... Connectors specific permissions for register, ping, push export files, etc. Connect and consume the platform streams (/stream, /stream/live) List and consume the OpenCTI live streams. Bypass mandatory references if any If external references enforced in a type of entity, be able to bypass the enforcement."},{"location":"administration/users/#manage-roles","title":"Manage roles","text":"

You can manage the roles in Settings > Security > Roles.

To create a role, just click on the + button:

Then you will be able to define the capabilities of the role:

"},{"location":"administration/users/#users","title":"Users","text":"

You can manage the users in Settings > Security > Users. If you are using Single-Sign-On (SSO), the users in OpenCTI are automatically created upon login.

To create a user, just click on the + button:

"},{"location":"administration/users/#manage-a-user","title":"Manage a user","text":"

When access to a user, it is possible to:

In the image below, you can see how to override the value inherited from the group.

Mandatory max confidence level

A user without Max confidence level won't have the ability to create, delete or update any data in our platform. Please be sure that your users are always either assigned to group that have a confidence level defined or that have an override of this group confidence level.

"},{"location":"administration/users/#groups","title":"Groups","text":"

Groups are the main way to manage permissions and data segregation as well as platform customization for the given users part of this group. You can manage the groups in Settings > Security > Groups.

Here is the description of the group available parameters.

Parameter Description Auto new markings If a new marking definition is created, this group will automatically be granted to it. Default membership If a new user is created (manually or upon SSO), it will be added to this group. Roles Roles and capabilities granted to the users belonging to this group. Default dashboard Customize the home dashboard for the users belonging to this group. Default markings In Settings > Customization > Entity types, if a default marking definition is enabled, default markings of the group is used. Allowed markings Grant access to the group to the defined marking definitions, more details in data segregation. Triggers and digests Define defaults triggers and digests for the users belonging to this group. Max confidence level Define the maximum confidence level for the group: it will impact the capacity to update entities, the confidence level of a newly created entity by a user of the group.

Max confidence level when a user has multiple groups

A user with multiple groups will have the the highest confidence level of all its groups. For instance, if a user is part of group A (max confidence level = 100) and group B (max confidence level = 50), then the user max confidence level will be 100.

"},{"location":"administration/users/#manage-a-group","title":"Manage a group","text":"

When managing a group, you can define the members and all above configurations.

"},{"location":"administration/users/#organizations","title":"Organizations","text":"

Users can belong to organizations, which is an additional layer of data segregation and customization. To find out more about this part, please refer to the page on organization segregation.

"},{"location":"administration/users/#organization-administration","title":"Organization administration","text":"

Platform administrators can promote members of an organization as \"Organization administrator\". This elevated role grants them the necessary capabilities to create, edit and delete users from the corresponding Organization. Additionally, administrators have the flexibility to define a list of groups that can be granted to newly created members by the organization administrators. This feature simplifies the process of granting appropriate access and privileges to individuals joining the organization.

The platform administrator can promote/demote an organization admin through its user edition form.

Organization admin rights

The \"Organization admin\" has restricted access to Settings. They can only manage the members of the organizations for which they have been promoted as \"admins\".

"},{"location":"administration/audit/configuration/","title":"Configuration","text":"

Enterprise edition

Activity unified interface and logging are available under the \"OpenCTI Enterprise Edition\" license.

Please read the dedicated page to have all information

As explained in the overview page, all administration actions are listened by default. However, all knowledge are not listened by default due to performance impact on the platform.

For this reason you need to explicitly activate extended listening on user / group or organization.

Listening will start just after the configuration. Every past events will not be taken into account.

"},{"location":"administration/audit/events/","title":"Events","text":"

Enterprise edition

Activity unified interface and logging are available under the \"OpenCTI Enterprise Edition\" license.

Please read the dedicated page to have all information

"},{"location":"administration/audit/events/#description","title":"Description","text":"

OpenCTI activity capability is the way to unified whats really happen in the platform. In events section you will have access to the UI that will answer to \"who did what, where, and when?\" within your data with the maximum level of transparency.

"},{"location":"administration/audit/events/#include-knowledge","title":"Include knowledge","text":"

By default, the events screen only show you the administration actions done by the users.

If you want to see also the information about the knowledge, you can simply activate the filter in the bar to get the complete overview of all user actions.

Don't hesitate to read again the overview page to have a better understanding of the difference between Audit, Basic/Extended knowledge.

"},{"location":"administration/audit/overview/","title":"Overview","text":""},{"location":"administration/audit/overview/#overview","title":"Overview","text":"

Enterprise edition

Activity unified interface and logging are available under the \"OpenCTI Enterprise Edition\" license.

Please read the dedicated page to have all the information

OpenCTI activity capability is the way to unify what's really happening in the platform. With this feature you will be able to answer \"who did what, where, and when?\" within your data with the maximum level of transparency.

Enabling activity helps your security, auditing, and compliance entities monitor platform for possible vulnerabilities or external data misuse.

"},{"location":"administration/audit/overview/#categories","title":"Categories","text":"

The activity groups 3 different concepts that need to be explained.

"},{"location":"administration/audit/overview/#basic-knowledge","title":"Basic knowledge","text":"

The basic knowledge refers to all STIX data knowledge inside OpenCTI. Every create/update/delete action on that knowledge is accessible through the history. That basic activity is handled by the history manager and can also be found directly on each entity.

"},{"location":"administration/audit/overview/#extended-knowledge","title":"Extended knowledge","text":"

The extended knowledge refers to extra information data to track specific user activity. As this kind of tracking is expensive, the tracking will only be done for specific users/groups/organizations explicitly configured in the configuration window.

"},{"location":"administration/audit/overview/#audit-knowledge","title":"Audit knowledge","text":"

Audit is focusing on user administration or security actions. Audit will produce console/logs files along with user interface elements.

{\n  \"auth\": \"<User information>\",\n  \"category\": \"AUDIT\",\n  \"level\": \"<info | error>\",\n  \"message\": \"<human readable explanation>\",\n  \"resource\": {\n    \"type\": \"<authentication | mutation>\",\n    \"event_scope\": \"<depends on type>\",\n    \"event_access\": \"<administration>\",\n    \"data\": \"<contextual data linked to the event type>\",\n    \"version\": \"<version of audit log format>\"\n  },\n  \"timestamp\": \"<event date>\",\n  \"version\": \"<platform version>\"\n}\n
"},{"location":"administration/audit/overview/#architecture","title":"Architecture","text":"

OpenCTI uses different mechanisms to be able to publish actions (audit) or data modification (history)

"},{"location":"administration/audit/overview/#audit-knowledge_1","title":"Audit knowledge","text":"

Administration or security actions

With Enterprise edition activated, Administration and security actions are always written; you can't configure, exclude, or disable them

Supported

Not supported for now

Not applicable

"},{"location":"administration/audit/overview/#ingestion","title":"Ingestion","text":"Create Delete Edit Remote OCTI Streams"},{"location":"administration/audit/overview/#data-sharing","title":"Data sharing","text":"Create Delete Edit CSV Feeds TAXII Feeds Stream Feeds"},{"location":"administration/audit/overview/#connectors","title":"Connectors","text":"Create Delete Edit Connectors State reset Works"},{"location":"administration/audit/overview/#parameters","title":"Parameters","text":"Create Delete Edit Platform parameters"},{"location":"administration/audit/overview/#security","title":"Security","text":"Create Delete Edit Roles Groups Users Sessions Policies"},{"location":"administration/audit/overview/#customization","title":"Customization","text":"Create Delete Edit Entity types Rules engine Retention policies"},{"location":"administration/audit/overview/#taxonomies","title":"Taxonomies","text":"Create Delete Edit Status templates Case templates + tasks"},{"location":"administration/audit/overview/#accesses","title":"Accesses","text":"Listen Login (success or fail) Logout Unauthorized access"},{"location":"administration/audit/overview/#extended-knowledge_1","title":"Extended knowledge","text":"

Extended knowledge

Extented knowledge activity are written only if you activate the feature for a subset of users / groups or organizations

"},{"location":"administration/audit/overview/#data-management","title":"Data management","text":"

Some history actions are already included in the \"basic knowledge\". (basic marker)

Read Create Delete Edit Platform knowledge basic basic basic Background tasks knowledge Knowledge files basic basic Global data import files Analyst workbenches files Triggers Workspaces Investigations User profile"},{"location":"administration/audit/overview/#user-actions","title":"User actions","text":"Supported Ask for file import Ask for data enrichment Ask for export generation Execute global search"},{"location":"administration/audit/triggers/","title":"Activity triggers","text":"

Enterprise edition

Activity unified interface and logging are available under the \"OpenCTI Enterprise Edition\" license.

Please read the dedicated page to have all information

"},{"location":"administration/audit/triggers/#description","title":"Description","text":"

Having all the history in the user interface (events) is sometimes not enough to have a proactive monitoring. For this reason, you can configure some specific triggers to receive notifications on audit events. You can configure like personal triggers, lives one that will be sent directly or digest depending on your needs.

"},{"location":"administration/audit/triggers/#configuration","title":"Configuration","text":"

In this type of trigger, you will need to configure various options:

"},{"location":"administration/audit/triggers/#event-structure","title":"Event structure","text":"

In order to correctly configure the filters, here's a definition of the event structure

"},{"location":"deployment/authentication/","title":"Authentication","text":""},{"location":"deployment/authentication/#introduction","title":"Introduction","text":"

OpenCTI supports several authentication providers. If you configure multiple strategies, they will be tested in the order you declared them.

Activation

You need to configure/activate only the authentication strategy that you really want to propose to your users.

The product proposes two kinds of authentication strategies:

"},{"location":"deployment/authentication/#supported-strategies","title":"Supported Strategies","text":"

Under the hood, we technically use the strategies provided by PassportJS. We integrate a subset of the strategies available with passport. If you need more, we can integrate other strategies.

"},{"location":"deployment/authentication/#local-users-form","title":"Local users (form)","text":"

This strategy uses the OpenCTI database as a user management.

OpenCTI use this strategy as the default, but it's not the one we recommend for security reasons.

\"local\": {\n    \"strategy\": \"LocalStrategy\",\n    \"config\": {\n        \"disabled\": false\n    }\n}\n

Production deployment

Please use the LDAP/Auth0/OpenID/SAML strategy for production deployment.

"},{"location":"deployment/authentication/#ldap-form","title":"LDAP (form)","text":"

This strategy can be used to authenticate your user with your company LDAP and is based on Passport - LDAPAuth.

\"ldap\": {\n    \"strategy\": \"LdapStrategy\",\n    \"config\": {\n        \"url\": \"ldaps://mydc.domain.com:686\",\n        \"bind_dn\": \"cn=Administrator,cn=Users,dc=mydomain,dc=com\",\n        \"bind_credentials\": \"MY_STRONG_PASSWORD\",\n        \"search_base\": \"cn=Users,dc=mydomain,dc=com\",\n        \"search_filter\": \"(cn={{username}})\",\n        \"mail_attribute\": \"mail\",\n        // \"account_attribute\": \"givenName\",\n        // \"firstname_attribute\": \"cn\",\n        // \"lastname_attribute\": \"cn\",\n        \"account_attrgroup_search_filteribute\": \"givenName\",\n        \"allow_self_signed\": true\n    }\n}\n

If you would like to use LDAP groups to automatically associate LDAP groups and OpenCTI groups/organizations:

\"ldap\": {\n    \"config\": {\n        ...\n        \"group_search_base\": \"cn=Groups,dc=mydomain,dc=com\",\n        \"group_search_filter\": \"(member={{dn}})\",\n        \"groups_management\": { // To map LDAP Groups to OpenCTI Groups\n            \"group_attribute\": \"cn\",\n            \"groups_mapping\": [\"LDAP_Group_1:OpenCTI_Group_1\", \"LDAP_Group_2:OpenCTI_Group_2\", ...]\n        },\n        \"organizations_management\": { // To map LDAP Groups to OpenCTI Organizations\n            \"organizations_path\": \"cn\",\n            \"organizations_mapping\": [\"LDAP_Group_1:OpenCTI_Organization_1\", \"LDAP_Group_2:OpenCTI_Organization_2\", ...]\n        }\n    }\n}\n
"},{"location":"deployment/authentication/#saml-button","title":"SAML (button)","text":"

This strategy can be used to authenticate your user with your company SAML and is based on Passport - SAML.

\"saml\": {\n    \"identifier\": \"saml\",\n    \"strategy\": \"SamlStrategy\",\n    \"config\": {\n        \"issuer\": \"mytestsaml\",\n        // \"account_attribute\": \"nameID\",\n        // \"firstname_attribute\": \"nameID\",\n        // \"lastname_attribute\": \"nameID\",\n        \"entry_point\": \"https://auth.mydomain.com/auth/realms/mydomain/protocol/saml\",\n        \"saml_callback_url\": \"http://localhost:4000/auth/saml/callback\",\n        // \"private_key\": \"MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwg...\",\n        \"cert\": \"MIICmzCCAYMCBgF2Qt3X1zANBgkqhkiG9w0BAQsFADARMQ8w...\",\n        \"logout_remote\": false\n    }\n}\n

For the SAML strategy to work:

Certificates

Be careful to put the cert / private_key key in PEM format. Indeed, a lot of systems generally export the keys in X509 / PCKS12 formats and so you will need to convert them. Here is an example to extract PEM from PCKS12:

openssl pkcs12 -in keystore.p12 -out newfile.pem -nodes\n

Here is an example of SAML configuration using environment variables:

- PROVIDERS__SAML__STRATEGY=SamlStrategy \n- \"PROVIDERS__SAML__CONFIG__LABEL=Login with SAML\"\n- PROVIDERS__SAML__CONFIG__ISSUER=mydomain\n- PROVIDERS__SAML__CONFIG__ENTRY_POINT=https://auth.mydomain.com/auth/realms/mydomain/protocol/saml\n- PROVIDERS__SAML__CONFIG__SAML_CALLBACK_URL=http://opencti.mydomain.com/auth/saml/callback\n- PROVIDERS__SAML__CONFIG__CERT=MIICmzCCAYMCBgF3Rt3X1zANBgkqhkiG9w0BAQsFADARMQ8w\n- PROVIDERS__SAML__CONFIG__LOGOUT_REMOTE=false\n

OpenCTI supports mapping SAML Roles/Groups on OpenCTI Groups. Here is an example:

\"saml\": {\n    \"config\": {\n        ...,\n        // Groups mapping\n        \"groups_management\": { // To map SAML Groups to OpenCTI Groups\n            \"group_attributes\": [\"Group\"],\n            \"groups_mapping\": [\"SAML_Group_1:OpenCTI_Group_1\", \"SAML_Group_2:OpenCTI_Group_2\", ...]\n        },\n        \"groups_management\": { // To map SAML Roles to OpenCTI Groups\n            \"group_attributes\": [\"Role\"],\n            \"groups_mapping\": [\"SAML_Role_1:OpenCTI_Group_1\", \"SAML_Role_2:OpenCTI_Group_2\", ...]\n        },\n        // Organizations mapping\n        \"organizations_management\": { // To map SAML Groups to OpenCTI Organizations\n            \"organizations_path\": [\"Group\"],\n            \"organizations_mapping\": [\"SAML_Group_1:OpenCTI_Organization_1\", \"SAML_Group_2:OpenCTI_Organization_2\", ...]\n        },\n        \"organizations_management\": { // To map SAML Roles to OpenCTI Organizations\n            \"organizations_path\": [\"Role\"],\n            \"organizations_mapping\": [\"SAML_Role_1:OpenCTI_Organization_1\", \"SAML_Role_2:OpenCTI_Organization_2\", ...]\n        }\n    }\n}\n

Here is an example of SAML Groups mapping configuration using environment variables:

- \"PROVIDERS__SAML__CONFIG__GROUPS_MANAGEMENT__GROUP_ATTRIBUTES=[\\\"Group\\\"]\"\n- \"PROVIDERS__SAML__CONFIG__GROUPS_MANAGEMENT__GROUPS_MAPPING=[\\\"SAML_Group_1:OpenCTI_Group_1\\\", \\\"SAML_Group_2:OpenCTI_Group_2\\\", ...]\"\n
"},{"location":"deployment/authentication/#auth0-button","title":"Auth0 (button)","text":"

This strategy allows to use Auth0 Service to handle the authentication and is based on Passport - Auth0.

\"authzero\": {\n    \"identifier\": \"auth0\",\n    \"strategy\": \"Auth0Strategy\",\n    \"config\": {\n        \"clientID\": \"XXXXXXXXXXXXXXXXXX\",\n        \"baseURL\": \"https://opencti.mydomain.com\",\n        \"clientSecret\": \"XXXXXXXXXXXXXXXXXX\",\n        \"callback_url\": \"https://opencti.mydomain.com/auth/auth0/callback\",\n        \"domain\": \"mycompany.eu.auth0.com\",\n        \"audience\": \"XXXXXXXXXXXXXXX\",\n        \"scope\": \"openid email profile XXXXXXXXXXXXXXX\",\n        \"logout_remote\": false\n    }\n}\n

Here is an example of Auth0 configuration using environment variables:

- PROVIDERS__AUTHZERO__STRATEGY=Auth0Strategy\n- PROVIDERS__AUTHZERO__CONFIG__CLIENT_ID=${AUTH0_CLIENT_ID}\n- PROVIDERS__AUTHZERO__CONFIG__BASEURL=${AUTH0_BASE_URL}\n- PROVIDERS__AUTHZERO__CONFIG__CLIENT_SECRET=${AUTH0_CLIENT_SECRET}\n- PROVIDERS__AUTHZERO__CONFIG__CALLBACK_URL=${AUTH0_CALLBACK_URL}\n- PROVIDERS__AUTHZERO__CONFIG__DOMAIN=${AUTH0_DOMAIN}\n- \"PROVIDERS__AUTHZERO__CONFIG__SCOPE=openid email profile\"\n- PROVIDERS__AUTHZERO__CONFIG__LOGOUT_REMOTE=false\n
"},{"location":"deployment/authentication/#openid-connect-button","title":"OpenID Connect (button)","text":"

This strategy allows to use the OpenID Connect Protocol to handle the authentication and is based on Node OpenID Client which is more powerful than the passport one.

\"oic\": {\n    \"identifier\": \"oic\",\n    \"strategy\": \"OpenIDConnectStrategy\",\n    \"config\": {\n        \"label\": \"Login with OpenID\",\n        \"issuer\": \"https://auth.mydomain.com/auth/realms/mydomain\",\n        \"client_id\": \"XXXXXXXXXXXXXXXXXX\",\n        \"client_secret\": \"XXXXXXXXXXXXXXXXXX\",\n        \"redirect_uris\": [\"https://opencti.mydomain.com/auth/oic/callback\"],\n        \"logout_remote\": false\n    }\n}\n

Here is an example of OpenID configuration using environment variables:

- PROVIDERS__OPENID__STRATEGY=OpenIDConnectStrategy \n- \"PROVIDERS__OPENID__CONFIG__LABEL=Login with OpenID\"\n- PROVIDERS__OPENID__CONFIG__ISSUER=https://auth.mydomain.com/auth/realms/xxxx\n- PROVIDERS__OPENID__CONFIG__CLIENT_ID=XXXXXXXXXXXXXXXXXX\n- PROVIDERS__OPENID__CONFIG__CLIENT_SECRET=XXXXXXXXXXXXXXXXXX\n- \"PROVIDERS__OPENID__CONFIG__REDIRECT_URIS=[\\\"https://opencti.mydomain.com/auth/oic/callback\\\"]\"\n- PROVIDERS__OPENID__CONFIG__LOGOUT_REMOTE=false\n

OpenCTI support mapping OpenID Claims on OpenCTI Groups (everything is tied to a group in the platform). Here is an example:

\"oic\": {\n    \"config\": {\n        ...,\n        // Groups mapping\n        \"groups_management\": { // To map OpenID Claims to OpenCTI Groups\n            \"groups_scope\": \"groups\",\n            \"groups_path\": [\"groups\", \"realm_access.groups\", \"resource_access.account.groups\"],\n            \"groups_mapping\": [\"OpenID_Group_1:OpenCTI_Group_1\", \"OpenID_Group_2:OpenCTI_Group_2\", ...]\n        },\n        // Organizations mapping  \n        \"organizations_management\": { // To map OpenID Claims to OpenCTI Organizations\n            \"organizations_scope\": \"groups\",\n            \"organizations_path\": [\"groups\", \"realm_access.groups\", \"resource_access.account.groups\"],\n            \"organizations_mapping\": [\"OpenID_Group_1:OpenCTI_Group_1\", \"OpenID_Group_2:OpenCTI_Group_2\", ...]\n        },\n    }\n}\n

Here is an example of OpenID Groups mapping configuration using environment variables:

- PROVIDERS__OPENID__CONFIG__GROUPS_MANAGEMENT__GROUPS_SCOPE=groups\n- \"PROVIDERS__OPENID__CONFIG__GROUPS_MANAGEMENT__GROUPS_PATH=[\\\"groups\\\", \\\"realm_access.groups\\\", \\\"resource_access.account.groups\\\"]\"\n- \"PROVIDERS__OPENID__CONFIG__GROUPS_MANAGEMENT__GROUPS_MAPPING=[\\\"OpenID_Group_1:OpenCTI_Group_1\\\", \\\"OpenID_Group_2:OpenCTI_Group_2\\\", ...]\"\n

By default, the claims are mapped based on the content of the JWT access_token. If you want to map claims which are in other JWT (such as id_token), you can define the following environment variables:

- PROVIDERS__OPENID__CONFIG__GROUPS_MANAGEMENT__TOKEN_REFERENCE=id_token\n- PROVIDERS__OPENID__CONFIG__ORGANISATIONS_MANAGEMENT__TOKEN_REFERENCE=id_token\n

Alternatively, you can request OpenCTI to use claims from the userinfo endpoint instead of a JWT.

- PROVIDERS__OPENID__CONFIG__GROUPS_MANAGEMENT__READ_USERINFO=true\n- PROVIDERS__OPENID__CONFIG__ORGANISATIONS_MANAGEMENT__READ_USERINFO=true\n

"},{"location":"deployment/authentication/#facebook-button","title":"Facebook (button)","text":"

This strategy can authenticate your users with Facebook and is based on Passport - Facebook.

\"facebook\": {\n    \"identifier\": \"facebook\",\n    \"strategy\": \"FacebookStrategy\",\n    \"config\": {\n        \"client_id\": \"XXXXXXXXXXXXXXXXXX\",\n        \"client_secret\": \"XXXXXXXXXXXXXXXXXX\",\n        \"callback_url\": \"https://opencti.mydomain.com/auth/facebook/callback\",\n        \"logout_remote\": false\n    }\n}\n
"},{"location":"deployment/authentication/#google-button","title":"Google (button)","text":"

This strategy can authenticate your users with Google and is based on Passport - Google.

\"google\": {\n    \"identifier\": \"google\",\n    \"strategy\": \"GoogleStrategy\",\n    \"config\": {\n        \"client_id\": \"XXXXXXXXXXXXXXXXXX\",\n        \"client_secret\": \"XXXXXXXXXXXXXXXXXX\",\n        \"callback_url\": \"https://opencti.mydomain.com/auth/google/callback\",\n        \"logout_remote\": false\n    }\n}\n
"},{"location":"deployment/authentication/#github-button","title":"GitHub (button)","text":"

This strategy can authenticate your users with GitHub and is based on Passport - GitHub.

\"github\": {\n    \"identifier\": \"github\",\n    \"strategy\": \"GithubStrategy\",\n    \"config\": {\n        \"client_id\": \"XXXXXXXXXXXXXXXXXX\",\n        \"client_secret\": \"XXXXXXXXXXXXXXXXXX\",\n        \"callback_url\": \"https://opencti.mydomain.com/auth/github/callback\",\n        \"logout_remote\": false\n  }\n}\n
"},{"location":"deployment/authentication/#client-certificate-button","title":"Client certificate (button)","text":"

This strategy can authenticate a user based on SSL client certificates. For this, you need to configure OpenCTI to start in HTTPS, for example:

\"port\": 443,\n\"https_cert\": {\n    \"key\": \"/cert/server_key.pem\",\n    \"crt\": \"/cert/server_cert.pem\",\n    \"reject_unauthorized\": true\n}\n

And then add the ClientCertStrategy:

\"cert\": {\n    \"strategy\":\"ClientCertStrategy\",\n    \"config\": {\n        \"label\":\"CLIENT CERT\"\n    }\n}\n

Afterwards, when accessing for the first time OpenCTI, the browser will ask for the certificate you want to use.

"},{"location":"deployment/authentication/#proxy-headers-automatic","title":"Proxy headers (automatic)","text":"

This strategy can authenticate the users directly from trusted headers.

{\n  \"header\": {\n    \"strategy\": \"HeaderStrategy\",\n    \"config\": {\n      \"disabled\": false,\n      \"header_email\": \"auth_email_address\",\n      \"header_name\": \"auth_name\",\n      \"header_firstname\": \"auth_firstname\",\n      \"header_lastname\": \"auth_lastname\",\n      \"logout_uri\": \"https://www.filigran.io\",\n      \"groups_management\": {\n        \"groups_header\": \"auth_groups\",\n        \"groups_splitter\": \",\",\n        \"groups_mapping\": [\"admin:admin\", \"root:root\"]\n      },\n      \"organizations_management\": {\n        \"organizations_header\": \"auth_institution\",\n        \"organizations_splitter\": \",\",\n        \"organizations_mapping\": [\"test:test\"]\n      }\n    }\n  }\n}\n

If this mode is activated and the headers are available, the user will be automatically logged without any action or notice. The logout uri will remove the session and redirect to the configured uri. If not specified, the redirect will be done to the request referer and so the header authentication will be done again.

"},{"location":"deployment/authentication/#automatically-create-group-on-sso","title":"Automatically create group on SSO","text":"

The variable auto_create_group can be added in the options of some strategies (LDAP, SAML and OpenID). If this variable is true, the groups of a user that logins will automatically be created if they don\u2019t exist.

More precisely, if the user that tries to authenticate has groups that don\u2019t exist in OpenCTI but exist in the SSO configuration, there are two cases:

Example

We assume that Group1 exists in the platform, and newGroup doesn\u2019t exist. The user that tries to log in has the group newGroup. If auto_create_group = true in the SSO configuration, the group named newGroup will be created at the platform initialization and the user will be mapped on it. If auto_create_group = false or is undefined, the user can\u2019t log in and an error is raised.

\"groups_management\": {\n  \"group_attribute\": \"cn\",\n  \"groups_mapping\": [\"SSO_GROUP_NAME1:group1\", \"SSO_GROUP_NAME_2:newGroup\", ...]\n},\n\"auto_create_group\": true\n
"},{"location":"deployment/authentication/#examples","title":"Examples","text":""},{"location":"deployment/authentication/#ldap-then-fallback-to-local","title":"LDAP then fallback to local","text":"

In this example the users have a login form and need to enter login and password. The authentication is done on LDAP first, then locally if user failed to authenticate and finally fail if none of them succeeded. Here is an example for the production.json file:

\"providers\": {\n    \"ldap\": {\n        \"strategy\": \"LdapStrategy\",\n        \"config\": {\n            \"url\": \"ldaps://mydc.mydomain.com:636\",\n            \"bind_dn\": \"cn=Administrator,cn=Users,dc=mydomain,dc=com\",\n            \"bind_credentials\": \"MY_STRONG_PASSWORD\",\n            \"search_base\": \"cn=Users,dc=mydomain,dc=com\",\n            \"search_filter\": \"(cn={{username}})\",\n            \"mail_attribute\": \"mail\",\n            \"account_attribute\": \"givenName\"\n        }\n    },\n    \"local\": {\n        \"strategy\": \"LocalStrategy\",\n        \"config\": {\n            \"disabled\": false\n        }\n    }\n}\n

If you use a container deployment, here is an example using environment variables:

- PROVIDERS__LDAP__STRATEGY=LdapStrategy\n- PROVIDERS__LDAP__CONFIG__URL=ldaps://mydc.mydomain.org:636\n- PROVIDERS__LDAP__CONFIG__BIND_DN=cn=Administrator,cn=Users,dc=mydomain,dc=com\n- PROVIDERS__LDAP__CONFIG__BIND_CREDENTIALS=XXXXXXXXXX\n- PROVIDERS__LDAP__CONFIG__SEARCH_BASE=cn=Users,dc=mydomain,dc=com\n- PROVIDERS__LDAP__CONFIG__SEARCH_FILTER=(cn={{username}})\n- PROVIDERS__LDAP__CONFIG__MAIL_ATTRIBUTE=mail\n- PROVIDERS__LDAP__CONFIG__ACCOUNT_ATTRIBUTE=givenName\n- PROVIDERS__LDAP__CONFIG__ALLOW_SELF_SIGNED=true\n- PROVIDERS__LOCAL__STRATEGY=LocalStrategy\n
"},{"location":"deployment/clustering/","title":"Clustering","text":""},{"location":"deployment/clustering/#introduction","title":"Introduction","text":"

The OpenCTI platform technological stack has been designed to be able to scale horizontally. All dependencies such as Elastic or Redis can be deployed in cluster mode and performances can be drastically increased by deploying multiple platform and worker instances.

"},{"location":"deployment/clustering/#high-level-architecture","title":"High level architecture","text":"

Here is the high level architecture for customers and Filigran cloud platform to ensure both high availability and throughput.

"},{"location":"deployment/clustering/#configuration","title":"Configuration","text":""},{"location":"deployment/clustering/#dependencies","title":"Dependencies","text":""},{"location":"deployment/clustering/#elasticsearch","title":"ElasticSearch","text":"

In the ElasticSearch configuration of OpenCTI, it is possible to declare all nodes.

- \"ELASTICSEARCH__URL=[\\\"https://user:pass@node1:9200\\\", \\\"https://user:pass@node2:9200\\\", ...]\"\n

Compatibility

OpenCTI is also compatible with OpenSearch and AWS / GCP / Azure native search services based on the ElasticSearch query language.

"},{"location":"deployment/clustering/#redis","title":"Redis","text":"

Redis should be turned to cluster mode:

- REDIS__MODE=cluster\n- \"REDIS__HOSTNAMES=[\\\"node1:6379\\\", \\\"node2:6379\\\", ...]\"\n

Compatibility

OpenCTI is also compatible with ElastiCache, MemoryStore and AWS / GCP / Azure native services based on the Redis protocol.

"},{"location":"deployment/clustering/#rabbitmq","title":"RabbitMQ","text":"

For the RabbitMQ cluster, you will need a TCP load balancer on top of the nodes since the configuration does not support multi-nodes for now:

- RABBITMQ__HOSTNAME=load-balancer-rabbitmq\n

Compatibility

OpenCTI is also compatible with Amazon MQ, CloudAMQP and AWS / GCP / Azure native services based on the AMQP protocol.

"},{"location":"deployment/clustering/#s3-bucket-minio","title":"S3 bucket / MinIO","text":"

MinIO is an open source server able to serve S3 buckets. It can be deployed in cluster mode and is compatible with several storage backend. OpenCTI is compatible with any tool following the S3 standard.

"},{"location":"deployment/clustering/#platform","title":"Platform","text":"

As showed on the schema, best practices for cluster mode and to avoid any congestion in the technological stack are:

When enabling clustering, the number of nodes is displayed in Settings > Parameters.

"},{"location":"deployment/clustering/#managers-and-schedulers","title":"Managers and schedulers","text":"

Also, since some managers like the rule engine, the task manager and the notification manager can take some resources in the OpenCTI NodeJS process, it is highly recommended to disable them in the frontend cluster. OpenCTI automatically handle the distribution and the launching of the engines across all nodes in the cluster except where they are explicitly disabled in the configuration.

"},{"location":"deployment/configuration/","title":"Configuration","text":"

The purpose of this section is to learn how to configure OpenCTI to have it tailored for your production and development needs. It is possible to check all default parameters implemented in the platform in the default.json file.

Here are the configuration keys, for both containers (environment variables) and manual deployment.

Parameters equivalence

The equivalent of a config variable in environment variables is the usage of a double underscores (__) for a level of config.

For example:

\"providers\": {\n  \"ldap\": {\n    \"strategy\": \"LdapStrategy\"\n  }\n}\n

will become:

PROVIDERS__LDAP__STRATEGY=LdapStrategy\n

If you need to put a list of elements for the key, it must have a special formatting. Here is an example for redirect URIs for OpenID config:

\"PROVIDERS__OPENID__CONFIG__REDIRECT_URIS=[\\\"https://demo.opencti.io/auth/oic/callback\\\"]\"\n

"},{"location":"deployment/configuration/#platform","title":"Platform","text":""},{"location":"deployment/configuration/#api-frontend","title":"API & Frontend","text":""},{"location":"deployment/configuration/#basic-parameters","title":"Basic parameters","text":"Parameter Environment variable Default value Description app:port APP__PORT 4000 Listen port of the application app:base_path APP__BASE_PATH Specific URI (ie. /opencti) app:base_url APP__BASE_URL http://localhost:4000 Full URL of the platform (should include the base_path if any) app:request_timeout APP__REQUEST_TIMEOUT 1200000 Request timeout, in ms (default 20 minutes) app:session_timeout APP__SESSION_TIMEOUT 1200000 Session timeout, in ms (default 20 minutes) app:session_idle_timeout APP__SESSION_IDLE_TIMEOUT 0 Idle timeout (locking the screen), in ms (default 0 minute - disabled) app:session_cookie APP__SESSION_COOKIE false Use memory/session cookie instead of persistent one app:admin:email APP__ADMIN__EMAIL admin@opencti.io Default login email of the admin user app:admin:password APP__ADMIN__PASSWORD ChangeMe Default password of the admin user app:admin:token APP__ADMIN__TOKEN ChangeMe Default token (must be a valid UUIDv4) app:health_access_key APP__HEALTH_ACCESS_KEY ChangeMe Access key for the /health endpoint. Must be changed - will not respond to default value. Access with /health?health_access_key=ChangeMe"},{"location":"deployment/configuration/#network-and-security","title":"Network and security","text":"Parameter Environment variable Default value Description http_proxy HTTP_PROXY Proxy URL for HTTP connection (example: http://proxy:80080) https_proxy HTTPS_PROXY Proxy URL for HTTPS connection (example: http://proxy:80080) no_proxy NO_PROXY Comma separated list of hostnames for proxy exception (example: localhost,127.0.0.0/8,internal.opencti.io) app:https_cert:cookie_secure APP__HTTPS_CERT__COOKIE_SECURE false Set the flag \"secure\" for session cookies. app:https_cert:ca APP__HTTPS_CERT__CA Empty list [] Certificate authority paths or content, only if the client uses a self-signed certificate. app:https_cert:key APP__HTTPS_CERT__KEY Certificate key path or content app:https_cert:crt APP__HTTPS_CERT__CRT Certificate crt path or content app:https_cert:reject_unauthorized APP__HTTPS_CERT__REJECT_UNAUTHORIZED If not false, the server certificate is verified against the list of supplied CAs"},{"location":"deployment/configuration/#logging","title":"Logging","text":""},{"location":"deployment/configuration/#errors","title":"Errors","text":"Parameter Environment variable Default value Description app:app_logs:logs_level APP__APP_LOGS__LOGS_LEVEL info The application log level app:app_logs:logs_files APP__APP_LOGS__LOGS_FILES true If application logs is logged into files app:app_logs:logs_console APP__APP_LOGS__LOGS_CONSOLE true If application logs is logged to console (useful for containers) app:app_logs:logs_max_files APP__APP_LOGS__LOGS_MAX_FILES 7 Maximum number of daily files in logs app:app_logs:logs_directory APP__APP_LOGS__LOGS_DIRECTORY ./logs File logs directory"},{"location":"deployment/configuration/#audit","title":"Audit","text":"Parameter Environment variable Default value Description app:audit_logs:logs_files APP__AUDIT_LOGS__LOGS_FILES true If audit logs is logged into files app:audit_logs:logs_console APP__AUDIT_LOGS__LOGS_CONSOLE true If audit logs is logged to console (useful for containers) app:audit_logs:logs_max_files APP__AUDIT_LOGS__LOGS_MAX_FILES 7 Maximum number of daily files in logs app:audit_logs:logs_directory APP__AUDIT_LOGS__LOGS_DIRECTORY ./logs Audit logs directory"},{"location":"deployment/configuration/#telemetry","title":"Telemetry","text":"Parameter Environment variable Default value Description app:telemetry:metrics:enabled APP__TELEMETRY__METRICS__ENABLED false Enable the metrics collection. app:telemetry:metrics:exporter_otlp APP__TELEMETRY__METRICS__EXPORTER_OTLP Port to expose the OTLP endpoint. app:telemetry:metrics:exporter_prometheus APP__TELEMETRY__METRICS__EXPORTER_PROMETHEUS 14269 Port to expose the Prometheus endpoint."},{"location":"deployment/configuration/#maps-references","title":"Maps & references","text":"Parameter Environment variable Default value Description app:map_tile_server_dark APP__MAP_TILE_SERVER_DARK https://map.opencti.io/styles/luatix-dark/{z}/{x}/{y}.png The address of the OpenStreetMap provider with dark theme style app:map_tile_server_light APP__MAP_TILE_SERVER_LIGHT https://map.opencti.io/styles/luatix-light/{z}/{x}/{y}.png The address of the OpenStreetMap provider with light theme style app:reference_attachment APP__REFERENCE_ATTACHMENT false External reference mandatory attachment"},{"location":"deployment/configuration/#functional-customization","title":"Functional customization","text":"Parameter Environment variable Default value Description relations_deduplication:past_days RELATIONS_DEDUPLICATION__PAST_DAYS 30 De-duplicate relations based on start_time and stop_time - n days relations_deduplication:next_days RELATIONS_DEDUPLICATION__NEXT_DAYS 30 De-duplicate relations based on start_time and stop_time + n days relations_deduplication:created_by_based RELATIONS_DEDUPLICATION__CREATED_BY_BASED false Take into account the author to duplicate even if stat_time / stop_time are matching relations_deduplication:types_overrides:relationship_type:past_days RELATIONS_DEDUPLICATION__RELATIONSHIP_TYPE__PAST_DAYS Override the past days for a specific type of relationship (ex. targets) relations_deduplication:types_overrides:relationship_type:next_days RELATIONS_DEDUPLICATION__RELATIONSHIP_TYPE__NEXT_DAYS Override the next days for a specific type of relationship (ex. targets) relations_deduplication:types_overrides:relationship_type:created_by_based RELATIONS_DEDUPLICATION__RELATIONSHIP_TYPE__CREATED_BY_BASED Override the author duplication for a specific type of relationship (ex. targets)"},{"location":"deployment/configuration/#technical-customization","title":"Technical customization","text":"Parameter Environment variable Default value Description app:graphql:playground:enabled APP__GRAPHQL__PLAYGROUND__ENABLED true Enable the playground on /graphql app:graphql:playground:force_disabled_introspection APP__GRAPHQL_PLAYGROUND__FORCE_DISABLED_INTROSPECTION false Introspection is allowed to auth users but can be disabled in needed app:concurrency:retry_count APP__CONCURRENCY__RETRY_COUNT 200 Number of try to get the lock to work an element (create/update/merge, ...) app:concurrency:retry_delay APP__CONCURRENCY__RETRY_DELAY 100 Delay between 2 lock retry (in milliseconds) app:concurrency:retry_jitter APP__CONCURRENCY__RETRY_JITTER 50 Random jitter to prevent concurrent retry (in milliseconds) app:concurrency:max_ttl APP__CONCURRENCY__MAX_TTL 30000 Global maximum time for lock retry (in milliseconds)"},{"location":"deployment/configuration/#dependencies","title":"Dependencies","text":""},{"location":"deployment/configuration/#xtm-suite","title":"XTM Suite","text":"Parameter Environment variable Default value Description xtm:openbas_url XTM__OPENBAS_URL OpenBAS URL xtm:openbas_token XTM__OPENBAS_TOKEN OpenBAS token xtm:openbas_reject_unauthorized XTM__OPENBAS_REJECT_UNAUTHORIZED false Enable TLS certificate check xtm:openbas_disable_display XTM__OPENBAS_DISABLE_DISPLAY false Disable OpenBAS posture in the UI"},{"location":"deployment/configuration/#elasticsearch","title":"ElasticSearch","text":"Parameter Environment variable Default value Description elasticsearch:engine_selector ELASTICSEARCH__ENGINE_SELECTOR auto elk or opensearch, default is auto, please put elk if you use token auth. elasticsearch:engine_check ELASTICSEARCH__ENGINE_CHECK false Disable Search Engine compatibility matrix verification. Caution: OpenCTI was developed in compliance with the compatibility matrix. Setting the parameter to true may result in negative impacts. elasticsearch:url ELASTICSEARCH__URL http://localhost:9200 URL(s) of the ElasticSearch (supports http://user:pass@localhost:9200 and list of URLs) elasticsearch:username ELASTICSEARCH__USERNAME Username can be put in the URL or with this parameter elasticsearch:password ELASTICSEARCH__PASSWORD Password can be put in the URL or with this parameter elasticsearch:api_key ELASTICSEARCH__API_KEY API key for ElasticSearch token auth. Please set also engine_selector to elk elasticsearch:index_prefix ELASTICSEARCH__INDEX_PREFIX opencti Prefix for the indices elasticsearch:ssl:reject_unauthorized ELASTICSEARCH__SSL__REJECT_UNAUTHORIZED true Enable TLS certificate check elasticsearch:ssl:ca ELASTICSEARCH__SSL__CA Custom certificate path or content elasticsearch:search_wildcard_prefix ELASTICSEARCH__SEARCH_WILDCARD_PREFIX false Search includes words with automatic fuzzy comparison elasticsearch:search_fuzzy ELASTICSEARCH__SEARCH_FUZZY false Search will include words not starting with the search keyword"},{"location":"deployment/configuration/#redis","title":"Redis","text":"Parameter Environment variable Default value Description redis:mode REDIS__MODE single Connect to redis in \"single\", \"sentinel or \"cluster\" mode redis:namespace REDIS__NAMESPACE Namespace (to use as prefix) redis:hostname REDIS__HOSTNAME localhost Hostname of the Redis Server redis:hostnames REDIS__HOSTNAMES Hostnames definition for Redis cluster or sentinel mode: a list of host:port objects. redis:port REDIS__PORT 6379 Port of the Redis Server redis:sentinel_master_name REDIS__SENTINEL_MASTER_NAME Name of your Redis Sentinel Master (mandatory in sentinel mode) redis:use_ssl REDIS__USE_SSL false Is the Redis Server has TLS enabled redis:username REDIS__USERNAME Username of the Redis Server redis:password REDIS__PASSWORD Password of the Redis Server redis:ca REDIS__CA [] List of path(s) of the CA certificate(s) redis:trimming REDIS__TRIMMING 2000000 Number of elements to maintain in the stream. (0 = unlimited)"},{"location":"deployment/configuration/#rabbitmq","title":"RabbitMQ","text":"Parameter Environment variable Default value Description rabbitmq:hostname RABBITMQ__HOSTNAME localhost 7 Hostname of the RabbitMQ server rabbitmq:port RABBITMQ__PORT 5672 Port of the RabbitMQ server rabbitmq:port_management RABBITMQ__PORT_MANAGEMENT 15672 Port of the RabbitMQ Management Plugin rabbitmq:username RABBITMQ__USERNAME guest RabbitMQ user rabbitmq:password RABBITMQ__PASSWORD guest RabbitMQ password rabbitmq:queue_type RABBITMQ__QUEUE_TYPE \"classic\" RabbitMQ Queue Type (\"classic\" or \"quorum\") - - - - rabbitmq:use_ssl RABBITMQ__USE_SSL false Use TLS connection rabbitmq:use_ssl_cert RABBITMQ__USE_SSL_CERT Path or cert content rabbitmq:use_ssl_key RABBITMQ__USE_SSL_KEY Path or key content rabbitmq:use_ssl_pfx RABBITMQ__USE_SSL_PFX Path or pfx content rabbitmq:use_ssl_ca RABBITMQ__USE_SSL_CA [] List of path(s) of the CA certificate(s) rabbitmq:use_ssl_passphrase RABBITMQ__SSL_PASSPHRASE Passphrase for the key certificate rabbitmq:use_ssl_reject_unauthorized RABBITMQ__SSL_REJECT_UNAUTHORIZED false Reject rabbit self signed certificate - - - - rabbitmq:management_ssl RABBITMQ__MANAGEMENT_SSL false Is the Management Plugin has TLS enabled rabbitmq:management_ssl_reject_unauthorized RABBITMQ__SSL_REJECT_UNAUTHORIZED true Reject management self signed certificate"},{"location":"deployment/configuration/#s3-bucket","title":"S3 Bucket","text":"Parameter Environment variable Default value Description minio:endpoint MINIO__ENDPOINT localhost Hostname of the S3 Service. Example if you use AWS Bucket S3: s3.us-east-1.amazonaws.com (if minio:bucket_region value is us-east-1). This parameter value can be omitted if you use Minio as an S3 Bucket Service. minio:port MINIO__PORT 9000 Port of the S3 Service. For AWS Bucket S3 over HTTPS, this value can be changed (usually 443). minio:use_ssl MINIO__USE_SSL false Indicates whether the S3 Service has TLS enabled. For AWS Bucket S3 over HTTPS, this value could be true. minio:access_key MINIO__ACCESS_KEY ChangeMe Access key for the S3 Service. minio:secret_key MINIO__SECRET_KEY ChangeMe Secret key for the S3 Service. minio:bucket_name MINIO__BUCKET_NAME opencti-bucket S3 bucket name. Useful to change if you use AWS. minio:bucket_region MINIO__BUCKET_REGION us-east-1 Region of the S3 bucket if you are using AWS. This parameter value can be omitted if you use Minio as an S3 Bucket Service. minio:use_aws_role MINIO__USE_AWS_ROLE false Indicates whether to use AWS role auto credentials. When this parameter is configured, the minio:access_key and minio:secret_key parameters are not necessary."},{"location":"deployment/configuration/#smtp-service","title":"SMTP Service","text":"Parameter Environment variable Default value Description smtp:hostname SMTP__HOSTNAME SMTP Server hostname smtp:port SMTP__PORT 465 SMTP Port (25 or 465 for TLS) smtp:use_ssl SMTP__USE_SSL false SMTP over TLS smtp:reject_unauthorized SMTP__REJECT_UNAUTHORIZED false Enable TLS certificate check smtp:username SMTP__USERNAME SMTP Username if authentication is needed smtp:password SMTP__PASSWORD SMTP Password if authentication is needed"},{"location":"deployment/configuration/#ai-service","title":"AI Service","text":"

AI deployment and cloud services

There are several possibilities for Enterprise Edition customers to use OpenCTI AI endpoints:

Parameter Environment variable Default value Description ai:enabled AI__ENABLED true Enable AI capabilities ai:type AI__TYPE mistralai AI type (mistralai or openai) ai:endpoint AI__ENDPOINT Endpoint URL (empty means default cloud service) ai:token AI__TOKEN Token for endpoint credentials ai:model AI__MODEL Model to be used for text generation (depending on type) ai:model_images AI__MODEL_IMAGES Model to be used for image generation (depending on type)"},{"location":"deployment/configuration/#engines-schedules-and-managers","title":"Engines, Schedules and Managers","text":"Parameter Environment variable Default value Description rule_engine:enabled RULE_ENGINE__ENABLED true Enable/disable the rule engine rule_engine:lock_key RULE_ENGINE__LOCK_KEY rule_engine_lock Lock key of the engine in Redis - - - - history_manager:enabled HISTORY_MANAGER__ENABLED true Enable/disable the history manager history_manager:lock_key HISTORY_MANAGER__LOCK_KEY history_manager_lock Lock key for the manager in Redis - - - - task_scheduler:enabled TASK_SCHEDULER__ENABLED true Enable/disable the task scheduler task_scheduler:lock_key TASK_SCHEDULER__LOCK_KEY task_manager_lock Lock key for the scheduler in Redis task_scheduler:interval TASK_SCHEDULER__INTERVAL 10000 Interval to check new task to do (in ms) - - - - sync_manager:enabled SYNC_MANAGER__ENABLED true Enable/disable the sync manager sync_manager:lock_key SYNC_MANAGER__LOCK_KEY sync_manager_lock Lock key for the manager in Redis sync_manager:interval SYNC_MANAGER__INTERVAL 10000 Interval to check new sync feeds to consume (in ms) - - - - expiration_scheduler:enabled EXPIRATION_SCHEDULER__ENABLED true Enable/disable the scheduler expiration_scheduler:lock_key EXPIRATION_SCHEDULER__LOCK_KEY expired_manager_lock Lock key for the scheduler in Redis expiration_scheduler:interval EXPIRATION_SCHEDULER__INTERVAL 300000 Interval to check expired indicators (in ms) - - - - retention_manager:enabled RETENTION_MANAGER__ENABLED true Enable/disable the retention manager retention_manager:lock_key RETENTION_MANAGER__LOCK_KEY retention_manager_lock Lock key for the manager in Redis retention_manager:interval RETENTION_MANAGER__INTERVAL 60000 Interval to check items to be deleted (in ms) - - - - notification_manager:enabled NOTIFICATION_MANAGER__ENABLED true Enable/disable the notification manager notification_manager:lock_live_key NOTIFICATION_MANAGER__LOCK_LIVE_KEY notification_live_manager_lock Lock live key for the manager in Redis notification_manager:lock_digest_key NOTIFICATION_MANAGER__LOCK_DIGEST_KEY notification_digest_manager_lock Lock digest key for the manager in Redis notification_manager:interval NOTIFICATION_MANAGER__INTERVAL 10000 Interval to push notifications - - - - publisher_manager:enabled PUBLISHER_MANAGER__ENABLED true Enable/disable the publisher manager publisher_manager:lock_key PUBLISHER_MANAGER__LOCK_KEY publisher_manager_lock Lock key for the manager in Redis publisher_manager:interval PUBLISHER_MANAGER__INTERVAL 10000 Interval to send notifications / digests (in ms) - - - - ingestion_manager:enabled INGESTION_MANAGER__ENABLED true Enable/disable the ingestion manager ingestion_manager:lock_key INGESTION_MANAGER__LOCK_KEY ingestion_manager_lock Lock key for the manager in Redis ingestion_manager:interval INGESTION_MANAGER__INTERVAL 300000 Interval to check for new data in remote feeds - - - - playbook_manager:enabled PLAYBOOK_MANAGER__ENABLED true Enable/disable the playbook manager playbook_manager:lock_key PLAYBOOK_MANAGER__LOCK_KEY publisher_manager_lock Lock key for the manager in Redis playbook_manager:interval PLAYBOOK_MANAGER__INTERVAL 60000 Interval to check new playbooks - - - - activity_manager:enabled ACTIVITY_MANAGER__ENABLED true Enable/disable the activity manager activity_manager:lock_key ACTIVITY_MANAGER__LOCK_KEY activity_manager_lock Lock key for the manager in Redis - - - - connector_manager:enabled CONNECTOR_MANAGER__ENABLED true Enable/disable the connector manager connector_manager:lock_key CONNECTOR_MANAGER__LOCK_KEY connector_manager_lock Lock key for the manager in Redis connector_manager:works_day_range CONNECTOR_MANAGER__WORKS_DAY_RANGE 7 Days range before considering the works as too old connector_manager:interval CONNECTOR_MANAGER__INTERVAL 10000 Interval to check the state of the works - - - - import_csv_built_in_connector:enabled IMPORT_CSV_CONNECTOR__ENABLED true Enable/disable the csv import connector import_csv_built_in_connector:validate_before_import IMPORT_CSV_CONNECTOR__VALIDATE_BEFORE_IMPORT false Validates the bundle before importing - - - - file_index_manager:enabled FILE_INDEX_MANAGER__ENABLED true Enable/disable the file indexing manager file_index_manager:stream_lock_key FILE_INDEX_MANAGER__STREAM_LOCK file_index_manager_stream_lock Stream lock key for the manager in Redis file_index_manager:interval FILE_INDEX_MANAGER__INTERVAL 60000 Interval to check for new files - - - - indicator_decay_manager:enabled INDICATOR_DECAY_MANAGER__ENABLED true Enable/disable the file indexing manager indicator_decay_manager:lock_key INDICATOR_DECAY_MANAGER__LOCK_KEY indicator_decay_manager_lock Lock key for the manager in Redis indicator_decay_manager:interval INDICATOR_DECAY_MANAGER__INTERVAL 60000 Interval to check for indicators to update indicator_decay_manager:batch_size INDICATOR_DECAY_MANAGER__BATCH_SIZE 10000 Number of indicators handled by the manager - - - - telemetry_manager:lock_key TELEMETRY_MANAGER__LOCK_LOCK telemetry_manager_lock Lock key for the manager in Redis

Manager's duties

A description of each manager's duties is available on a dedicated page.

"},{"location":"deployment/configuration/#worker-and-connector","title":"Worker and connector","text":"

Can be configured manually using the configuration file config.yml or through environment variables.

Parameter Environment variable Default value Description opencti:url OPENCTI_URL The URL of the OpenCTI platform opencti:token OPENCTI_TOKEN A token of an administrator account with bypass capability - - - - mq:use_ssl / / Depending of the API configuration (fetch from API) mq:use_ssl_ca MQ_USE_SSL_CA Path or ca content mq:use_ssl_cert MQ_USE_SSL_CERT Path or cert content mq:use_ssl_key MQ_USE_SSL_KEY Path or key content mq:use_ssl_passphrase MQ_USE_SSL_PASSPHRASE Passphrase for the key certificate mq:use_ssl_reject_unauthorized MQ_USE_SSL_REJECT_UNAUTHORIZED false Reject rabbit self signed certificate"},{"location":"deployment/configuration/#worker-specific-configuration","title":"Worker specific configuration","text":""},{"location":"deployment/configuration/#logging_1","title":"Logging","text":"Parameter Environment variable Default value Description worker:log_level WORKER_LOG_LEVEL info The log level (error, warning, info or debug)"},{"location":"deployment/configuration/#telemetry_1","title":"Telemetry","text":"Parameter Environment variable Default value Description worker:telemetry_enabled WORKER_TELEMETRY_ENABLED false Enable the Prometheus endpoint worker:telemetry_prometheus_port WORKER_PROMETHEUS_TELEMETRY_PORT 14270 Port of the Prometheus endpoint worker:telemetry_prometheus_host WORKER_PROMETHEUS_TELEMETRY_HOST 0.0.0.0 Listen address of the Prometheus endpoint"},{"location":"deployment/configuration/#connector-specific-configuration","title":"Connector specific configuration","text":"

For specific connector configuration, you need to check each connector behavior.

"},{"location":"deployment/configuration/#elasticsearch_1","title":"ElasticSearch","text":"

If you want to adapt the memory consumption of ElasticSearch, you can use these options:

# Add the following environment variable:\n\"ES_JAVA_OPTS=-Xms8g -Xmx8g\"\n

This can be done in configuration file in the jvm.conf file.

"},{"location":"deployment/connectors/","title":"Connectors","text":""},{"location":"deployment/connectors/#introduction","title":"Introduction","text":"

Connectors list

You are looking for the available connectors? The list is in the OpenCTI Ecosystem.

Connectors are the cornerstone of the OpenCTI platform and allow organizations to easily ingest, enrich or export data. According to their functionality and use case, they are categorized in the following classes.

"},{"location":"deployment/connectors/#import","title":"Import","text":"

These connectors automatically retrieve information from an external organization, application, or service, and convert it to STIX 2.1 bundles. Then, they import it into OpenCTI using the workers.

"},{"location":"deployment/connectors/#enrichment","title":"Enrichment","text":"

When a new object is created in the platform or on the user request, it is possible to trigger the internal enrichment connector to lookup and/or search the object in external organizations, applications, or services. If the object is found, the connectors will generate a STIX 2.1 bundle which will increase the level of knowledge about the concerned object.

"},{"location":"deployment/connectors/#stream","title":"Stream","text":"

These connectors connect to a platform live stream and continuously do something with the received events. In most cases, they are used to consume OpenCTI data and insert them in third-party platforms such as SIEMs, XDRs, EDRs, etc. In some cases, stream connectors can also query the external system on a regular basis and act as import connector for instance to gather alerts and sightings related to CTI data and push them to OpenCTI (bi-directional).

"},{"location":"deployment/connectors/#import-files","title":"Import files","text":"

Information from an uploaded file can be extracted and ingested into OpenCTI. Examples are files attached to a report or a STIX 2.1 file.

"},{"location":"deployment/connectors/#export-files","title":"Export files","text":"

Information stored in OpenCTI can be extracted into different file formats like .csv or .json (STIX 2.1).

"},{"location":"deployment/connectors/#connector-configuration","title":"Connector configuration","text":"

All connectors have to be able to access the OpenCTI API. To allow this connection, they have 2 mandatory configuration parameters, the OPENCTI_URL and the OPENCTI_TOKEN. In addition to these 2 parameters, connectors have other mandatory parameters that need to be set in order to get them work.

Connectors tokens

Be careful, we strongly recommend to use a dedicated token for each connector running in the platform. So you have to create a specific user for each of them.

Also, if all connectors users can run in with a user belonging to the Connectors group (with the Connector role), the Internal Export Files should be run with a user who is Administrator (with bypass capability) because they impersonate the user requesting the export to avoid data leak.

Type Required role Used permissions EXTERNAL_IMPORT Connector Import data with the connector user. INTERNAL_ENRICHMENT Connector Enrich data with the connector user. INTERNAL_IMPORT_FILE Connector Import data with the connector user. INTERNAL_EXPORT_FILE Administrator Export data with the user who requested the export. STREAM Connector Consume the streams with the connector user.

Here is an example of a connector docker-compose.yml file:

- CONNECTOR_ID=ChangeMe\n- CONNECTOR_TYPE=EXTERNAL_IMPORT\n- CONNECTOR_NAME=MITRE ATT&CK\n- CONNECTOR_SCOPE=identity,attack-pattern,course-of-action,intrusion-set,malware,tool,report\n- CONNECTOR_LOG_LEVEL=info\n

Here is an example in a connector config.yml file:

connector:\n  id: 'ChangeMe'\n  type: 'EXTERNAL_IMPORT'\n  name: 'MITRE ATT&CK'\n  scope: 'identity,attack-pattern,course-of-action,intrusion-set,malware,tool,report'\n  log_level: 'info'\n
"},{"location":"deployment/connectors/#networking","title":"Networking","text":"

Be aware that all connectors are reaching RabbitMQ based the RabbitMQ configuration provided by the OpenCTI platform. The connector must be able to reach RabbitMQ on the specified hostname and port. If you have a specific Docker network configuration, please be sure to adapt your docker-compose.yml file in such way that the connector container gets attached to the OpenCTI Network, e.g.:

networks:\n  default:\n    external: true\n    name: opencti-docker_default\n

"},{"location":"deployment/connectors/#connector-token","title":"Connector token","text":""},{"location":"deployment/connectors/#create-the-user","title":"Create the user","text":"

As mentioned previously, it is strongly recommended to run each connector with its own user. The Internal Export File connectors should be launched with a user that belongs to a group which has an \u201cAdministrator\u201d role (with bypass all capabilities enabled).

By default, in platform, a group named \"Connectors\" already exists. So just create a new user with the name [C] Name of the connector in Settings > Security > Users.

"},{"location":"deployment/connectors/#put-the-user-in-the-group","title":"Put the user in the group","text":"

Just go to the user you have just created and add it to the Connectors group.

Then just get the token of the user displayed in the interface.

"},{"location":"deployment/connectors/#docker-activation","title":"Docker activation","text":"

You can either directly run the Docker image of connectors or add them to your current docker-compose.yml file.

"},{"location":"deployment/connectors/#add-a-connector-to-your-deployment","title":"Add a connector to your deployment","text":"

For instance, to enable the MISP connector, you can add a new service to your docker-compose.yml file:

  connector-misp:\n    image: opencti/connector-misp:latest\n    environment:\n      - OPENCTI_URL=http://localhost\n      - OPENCTI_TOKEN=ChangeMe\n      - CONNECTOR_ID=ChangeMe\n      - CONNECTOR_TYPE=EXTERNAL_IMPORT\n      - CONNECTOR_NAME=MISP\n      - CONNECTOR_SCOPE=misp\n      - CONNECTOR_LOG_LEVEL=info\n      - MISP_URL=http://localhost # Required\n      - MISP_KEY=ChangeMe # Required\n      - MISP_SSL_VERIFY=False # Required\n      - MISP_CREATE_REPORTS=True # Required, create report for MISP event\n      - MISP_REPORT_CLASS=MISP event # Optional, report_class if creating report for event\n      - MISP_IMPORT_FROM_DATE=2000-01-01 # Optional, import all event from this date\n      - MISP_IMPORT_TAGS=opencti:import,type:osint # Optional, list of tags used for import events\n      - MISP_INTERVAL=1 # Required, in minutes\n    restart: always\n
"},{"location":"deployment/connectors/#launch-a-standalone-connector","title":"Launch a standalone connector","text":"

To launch standalone connector, you can use the docker-compose.yml file of the connector itself. Just download the latest release and start the connector:

$ wget https://github.com/OpenCTI-Platform/connectors/archive/{RELEASE_VERSION}.zip\n$ unzip {RELEASE_VERSION}.zip\n$ cd connectors-{RELEASE_VERSION}/misp/\n

Change the configuration in the docker-compose.yml according to the parameters of the platform and of the targeted service. Then launch the connector:

$ docker-compose up\n
"},{"location":"deployment/connectors/#manual-activation","title":"Manual activation","text":"

If you want to manually launch connector, you just have to install Python 3 and pip3 for dependencies:

$ apt install python3 python3-pip\n

Download the release of the connectors:

$ wget <https://github.com/OpenCTI-Platform/connectors/archive/{RELEASE_VERSION}.zip>\n$ unzip {RELEASE_VERSION}.zip\n$ cd connectors-{RELEASE_VERSION}/misp/src/\n

Install dependencies and initialize the configuration:

$ pip3 install -r requirements.txt\n$ cp config.yml.sample config.yml\n

Change the config.yml content according to the parameters of the platform and of the targeted service and launch the connector:

$ python3 misp.py\n
"},{"location":"deployment/connectors/#connectors-status","title":"Connectors status","text":"

The connector status can be displayed in the dedicated section of the platform available in Data > Ingestion > Connectors. You will be able to see the statistics of the RabbitMQ queue of the connector:

Problem

If you encounter problems deploying OpenCTI or connectors, you can consult the troubleshooting page page.

"},{"location":"deployment/installation/","title":"Installation","text":"

All components of OpenCTI are shipped both as Docker images and manual installation packages.

Production deployment

For production deployment, we recommend to deploy all components in containers, including dependencies, using native cloud services or orchestration systems such as Kubernetes.

To have more details about deploying OpenCTI and its dependencies in cluster mode, please read the dedicated section.

"},{"location":"deployment/installation/#using-docker","title":"Using Docker","text":"

OpenCTI can be deployed using the docker-compose command.

Deploy FIPS 140-2 compliant components

We are providing FIPS 140-2 compliant images, please read the dedicated documentation to understand how to deploy OpenCTI in FIPS-compliant mode.

"},{"location":"deployment/installation/#pre-requisites","title":"Pre-requisites","text":"

Linux

sudo apt install docker-compose\n

Windows and MacOS

Just download the appropriate Docker for Desktop version for your operating system.

"},{"location":"deployment/installation/#clone-the-repository","title":"Clone the repository","text":"

Docker helpers are available in the Docker GitHub repository.

mkdir -p /path/to/your/app && cd /path/to/your/app\ngit clone https://github.com/OpenCTI-Platform/docker.git\ncd docker\n
"},{"location":"deployment/installation/#configure-the-environment","title":"Configure the environment","text":"

ElasticSearch / OpenSearch configuration

thread_pool.search.queue_size=5000\n

Before running the docker-compose command, the docker-compose.yml file should be configured. By default, the docker-compose.yml file is using environment variables available in the file .env.sample.

You can either rename the file .env.sample in .env and put the expected values or just fill directly the docker-compose.yml with the values corresponding to your environment.

Configuration static parameters

The complete list of available static parameters is available in the configuration section.

Here is an example to quickly generate the .env file under Linux, especially all the default UUIDv4:

sudo apt install -y jq\ncd ~/docker\n(cat << EOF\nOPENCTI_ADMIN_EMAIL=admin@opencti.io\nOPENCTI_ADMIN_PASSWORD=ChangeMePlease\nOPENCTI_ADMIN_TOKEN=$(cat /proc/sys/kernel/random/uuid)\nOPENCTI_BASE_URL=http://localhost:8080\nMINIO_ROOT_USER=$(cat /proc/sys/kernel/random/uuid)\nMINIO_ROOT_PASSWORD=$(cat /proc/sys/kernel/random/uuid)\nRABBITMQ_DEFAULT_USER=guest\nRABBITMQ_DEFAULT_PASS=guest\nELASTIC_MEMORY_SIZE=4G\nCONNECTOR_HISTORY_ID=$(cat /proc/sys/kernel/random/uuid)\nCONNECTOR_EXPORT_FILE_STIX_ID=$(cat /proc/sys/kernel/random/uuid)\nCONNECTOR_EXPORT_FILE_CSV_ID=$(cat /proc/sys/kernel/random/uuid)\nCONNECTOR_IMPORT_FILE_STIX_ID=$(cat /proc/sys/kernel/random/uuid)\nCONNECTOR_EXPORT_FILE_TXT_ID=$(cat /proc/sys/kernel/random/uuid)\nCONNECTOR_IMPORT_DOCUMENT_ID=$(cat /proc/sys/kernel/random/uuid)\nSMTP_HOSTNAME=localhost\nEOF\n) > .env\n

If your docker-compose deployment does not support .env files, just export all environment variables before launching the platform:

export $(cat .env | grep -v \"#\" | xargs)\n

As OpenCTI has a dependency on ElasticSearch, you have to set the vm.max_map_count before running the containers, as mentioned in the ElasticSearch documentation.

sudo sysctl -w vm.max_map_count=1048575\n

To make this parameter persistent, add the following to the end of your /etc/sysctl.conf:

vm.max_map_count=1048575\n
"},{"location":"deployment/installation/#persist-data","title":"Persist data","text":"

The default for OpenCTI data is to be persistent.

In the docker-compose.yml, you will find at the end the list of necessary persistent volumes for the dependencies:

volumes:\n  esdata:     # ElasticSearch data\n  s3data:     # S3 bucket data\n  redisdata:  # Redis data\n  amqpdata:   # RabbitMQ data\n
"},{"location":"deployment/installation/#run-opencti","title":"Run OpenCTI","text":""},{"location":"deployment/installation/#using-single-node-docker","title":"Using single node Docker","text":"

After changing your .env file run docker-compose in detached (-d) mode:

sudo systemctl start docker.service\n# Run docker-compose in detached\ndocker-compose up -d\n
"},{"location":"deployment/installation/#using-docker-swarm","title":"Using Docker swarm","text":"

In order to have the best experience with Docker, we recommend using the Docker stack feature. In this mode you will have the capacity to easily scale your deployment.

# If your virtual machine is not a part of a Swarm cluster, please use:\ndocker swarm init\n

Put your environment variables in /etc/environment:

# If you already exported your variables to .env from above:\nsudo cat .env >> /etc/environment\nsudo bash -c 'cat .env >> /etc/environment'\nsudo docker stack deploy --compose-file docker-compose.yml opencti\n

Installation done

You can now go to http://localhost:8080 and log in with the credentials configured in your environment variables.

"},{"location":"deployment/installation/#manual-installation","title":"Manual installation","text":""},{"location":"deployment/installation/#prerequisites","title":"Prerequisites","text":""},{"location":"deployment/installation/#installation-of-dependencies","title":"Installation of dependencies","text":"

You have to install all the needed dependencies for the main application and the workers. The example below is for Debian-based systems:

sudo apt-get update\nsudo apt-get install build-essential nodejs npm python3 python3-pip python3-dev\n
"},{"location":"deployment/installation/#download-the-application-files","title":"Download the application files","text":"

First, you have to download and extract the latest release file. Then select the version to install depending of your operating system:

For Linux:

For Windows:

We don't provide any Windows release for now. However it is still possible to check the code out, manually install the dependencies and build the software.

mkdir /path/to/your/app && cd /path/to/your/app\nwget <https://github.com/OpenCTI-Platform/opencti/releases/download/{RELEASE_VERSION}/opencti-release-{RELEASE_VERSION}.tar.gz>\ntar xvfz opencti-release-{RELEASE_VERSION}.tar.gz\n
"},{"location":"deployment/installation/#install-the-main-platform","title":"Install the main platform","text":""},{"location":"deployment/installation/#configure-the-application","title":"Configure the application","text":"

The main application has just one JSON configuration file to change and a few Python modules to install

cd opencti\ncp config/default.json config/production.json\n

Change the config/production.json file according to your configuration of ElasticSearch, Redis, RabbitMQ and S3 bucket as well as default credentials (the ADMIN_TOKEN must be a valid UUID).

"},{"location":"deployment/installation/#install-the-python-modules","title":"Install the Python modules","text":"
cd src/python\npip3 install -r requirements.txt\ncd ../..\n
"},{"location":"deployment/installation/#start-the-application","title":"Start the application","text":"

The application is just a NodeJS process, the creation of the database schema and the migration will be done at starting.

Please verify that yarn version is greater than 4 and node version is greater or equals to v19. Please note that some Node.js version are outdated in linux package manager, you can download a recent one in https://nodejs.org/en/download or alternatively nvm can help to chose a recent version of Node.js https://github.com/nvm-sh/nvm

yarn --version\n#4.1.0\nnode --version\n#v20.11.1\n

Once Node.js is setup, you can build and run with (from inside opencti folder):

yarn install\nyarn build\nyarn serv\n

The default username and password are those you have put in the config/production.json file.

"},{"location":"deployment/installation/#install-the-worker","title":"Install the worker","text":"

The OpenCTI worker is used to write the data coming from the RabbitMQ messages broker.

"},{"location":"deployment/installation/#configure-the-worker","title":"Configure the worker","text":"
cd worker\npip3 install -r requirements.txt\ncp config.yml.sample config.yml\n

Change the config.yml file according to your OpenCTI token.

"},{"location":"deployment/installation/#start-as-many-workers-as-you-need","title":"Start as many workers as you need","text":"
python3 worker.py &\npython3 worker.py &\n

Installation done

You can now go to http://localhost:4000 and log in with the credentials configured in your production.json file.

"},{"location":"deployment/installation/#community-contributions","title":"Community contributions","text":""},{"location":"deployment/installation/#terraform","title":"Terraform","text":""},{"location":"deployment/installation/#helm-charts","title":"Helm Charts","text":""},{"location":"deployment/installation/#deploy-behind-a-reverse-proxy","title":"Deploy behind a reverse proxy","text":"

If you want to use OpenCTI behind a reverse proxy with a context path, like https://domain.com/opencti, please change the base_path static parameter.

By default OpenCTI use websockets so don't forget to configure your proxy for this usage, an example with Nginx:

location / {\n    proxy_cache                 off;\n    proxy_buffering             off;\n    proxy_http_version          1.1;\n    proxy_set_header Upgrade    $http_upgrade;\n    proxy_set_header Connection \"upgrade\";\n    proxy_set_header Host       $host;\n    chunked_transfer_encoding   off;\n    proxy_pass                  http://YOUR_UPSTREAM_BACKEND;\n  }\n
"},{"location":"deployment/installation/#additional-memory-information","title":"Additional memory information","text":""},{"location":"deployment/installation/#platform","title":"Platform","text":"

OpenCTI platform is based on a NodeJS runtime, with a memory limit of 8GB by default. If you encounter OutOfMemory exceptions, this limit could be changed:

- NODE_OPTIONS=--max-old-space-size=8096\n
"},{"location":"deployment/installation/#workers-and-connectors","title":"Workers and connectors","text":"

OpenCTI workers and connectors are Python processes. If you want to limit the memory of the process, we recommend to directly use Docker to do that. You can find more information in the official Docker documentation.

"},{"location":"deployment/installation/#elasticsearch","title":"ElasticSearch","text":"

ElasticSearch is also a JAVA process. In order to setup the JAVA memory allocation, you can use the environment variable ES_JAVA_OPTS. You can find more information in the official ElasticSearch documentation.

"},{"location":"deployment/installation/#redis","title":"Redis","text":"

Redis has a very small footprint on keys but will consume memory for the stream. By default the size of the stream is limited to 2 millions which represents a memory footprint around 8 GB. You can find more information in the Redis docker hub.

"},{"location":"deployment/installation/#minio-s3-bucket","title":"MinIO / S3 Bucket","text":"

MinIO is a small process and does not require a high amount of memory. More information are available for Linux here on the Kernel tuning guide.

"},{"location":"deployment/installation/#rabbitmq","title":"RabbitMQ","text":"

The RabbitMQ memory configuration can be find in the RabbitMQ official documentation. RabbitMQ will consumed memory until a specific threshold, therefore it should be configure along with the Docker memory limitation.

"},{"location":"deployment/integrations/","title":"Integrations","text":""},{"location":"deployment/integrations/#introduction","title":"Introduction","text":"

OpenCTI supports multiple ways to integrate with other systems which do not have native connectors or plugins to the platform. Here are the technical features available to ease the connection and the integration of the platform with other applications.

Connectors list

If you are looking for the list of OpenCTI connectors or native integration, please check the OpenCTI Ecosystem.

"},{"location":"deployment/integrations/#native-feeds-and-streams","title":"Native feeds and streams","text":"

To ease integrations with other products, OpenCTI has built-in capabilities to deliver the data to third-parties.

"},{"location":"deployment/integrations/#csv-feeds","title":"CSV Feeds","text":"

It is possible to create as many CSV feeds as needed, based on filters and accessible in HTTP. CSV feeds are available in Data > Data sharing > CSV deeds.

When creating a CSV feed, you need to select one or multiple types of entities to make available. Then, you must assign a field (of an entity type) to each column in the CSV:

Details

For more information about CSV feeds, filters and configuration, please check the Native feeds page.

"},{"location":"deployment/integrations/#taxii-collections","title":"TAXII collections","text":"

Most of the modern cybersecurity systems such as SIEMs, EDRs, XDRs and even firewalls supports the TAXII protocol which is basically a paginated HTTP STIX feed. OpenCTI implements a TAXII 2.1 server with the ability to create as many TAXII collections as needed in Data > Data sharing > TAXII Collections.

TAXII collections are a sub-selection of the knowledge available in the platform and rely on filters. For instance, it is possible to create TAXII collections for pieces of malware with a given label, for indicators with a score greater than n, etc.

"},{"location":"deployment/integrations/#live-streams","title":"Live Streams","text":"

After implementing CSV feeds and TAXII collections, we figured out that those 2 stateless APIs are definitely not enough when it comes to tackle advanced information sharing challenges such as:

That's why we've developed the live streams. They are available in Data > Data sharing > Live streams. As TAXII collections, it is possible to create as many streams as needed using filters.

Streams implement the HTTP SSE (Server-sent events) protocol and give applications the possibility to consume a real time pure STIX 2.1 stream. Stream connectors in the OpenCTI Ecosystem are using live streams to consume data and do something such as create / update / delete information in SIEMs, XDRs, etc.

"},{"location":"deployment/integrations/#authentication","title":"Authentication","text":"

For all previously explained capabilities, as they are over the HTTP protocol, 3 authentication mechanisms are available to consume them.

  1. Using a bearer header with your OpenCTI API key

    Authorization: Bearer a17bc103-8420-4208-bd53-e1f80845d15f\n

    API Key

    Your API key can be found in your profile available clicking on the top right icon.

  2. Using basic authentication

    Username: Your platform username\nPassword: Your plafrom password\nAuthorization: Basic c2FtdWVsLmhhc3NpbmVBZmlsaWdyYW4uaW86TG91aXNlMTMwNCM=\n
  3. Using client certificate authentication

    To know how to configure the client certificate authentication, please consult the authentication configuration section.

"},{"location":"deployment/integrations/#api-and-libraries","title":"API and libraries","text":""},{"location":"deployment/integrations/#graphql-api","title":"GraphQL API","text":"

To allow analysts and developers to implement more custom or complex use cases, a full GraphQL API is available in the application on the /graphql endpoint.

The API can be queried using various GraphQL client such as Postman but you can leverage any HTTP client to forge GraphQL queries using POST methods.

"},{"location":"deployment/integrations/#authentication_1","title":"Authentication","text":"

The API authentication can be performed using the token of a user and a classic Authorization header:

Content-Type: application/json\nAuthorization: Bearer 6b6554c4-bb2c-4c80-9cd3-30288c8bf424\n
"},{"location":"deployment/integrations/#playground","title":"Playground","text":"

The playground is available on the /graphql endpoint. A link button is also available in the profile of your user.

All the schema documentation is directly available in the playground.

If you already logged to OpenCTI with the same browser you should be able to directly do some requests. If you are not authenticated or want to authenticate only through the playground you can use a header configuration using your profile token

Example of configuration (bottom left of the playground):

Additional GraphQL documentation

To find out more about GraphQL and the playground, you can find two additional documentation pages: the GraphQL API page and the GraphQL playground page.

"},{"location":"deployment/integrations/#python-library","title":"Python library","text":"

Since not everyone is familiar with GraphQL APIs, we've developed a Python library to ease the interaction with it. The library is pretty easy to use. To initiate the client:

# coding: utf-8\n\nfrom pycti import OpenCTIApiClient\n\n# Variables\napi_url = \"http://opencti:4000\"\napi_token = \"bfa014e0-e02e-4aa6-a42b-603b19dcf159\"\n\n# OpenCTI initialization\nopencti_api_client = OpenCTIApiClient(api_url, api_token)\n

Then just use the available helpers:

# Search for malware with the keyword \"windows\"\nmalwares = opencti_api_client.malware.list(search=\"windows\")\n\n# Print\nprint(malwares)\n

Details

For more detailed information about the Python library, please read the dedicated section.

"},{"location":"deployment/managers/","title":"Platform managers","text":"

Platform managers are background components that perform various tasks to support some important functionalities in the platform.

Here is a list of all the managers on the platform:

"},{"location":"deployment/managers/#rules-engine","title":"Rules engine","text":"

Allows users to execute pre-defined actions based on the data and events in the platform.

These rules are accessible in Settings > Customization > Rules engine.

The rules engine is designed to help users automate and streamline their cyber threat intelligence processes.

More information can be found here.

"},{"location":"deployment/managers/#history-manager","title":"History manager","text":"

This manager keeps tracks of user/connector interactions on entities in the platform.

It is designed to help users audit and understand the evolution of their CTI data.

"},{"location":"deployment/managers/#activity-manager","title":"Activity manager","text":"

The activity manager in OpenCTI is a component that monitors and logs the user actions in the platform such as login, settings update, and user activities if configured (read, udpate, etc.).

More information can be found here.

"},{"location":"deployment/managers/#background-task-manager","title":"Background task manager","text":"

Is a component that handles the execution of tasks, such as importing data, exporting data and mass operations.

More information can be found here.

"},{"location":"deployment/managers/#expiration-scheduler","title":"Expiration scheduler","text":"

The expiration scheduler is responsible for monitoring expired elements in the platform. It cancels the access rights of expired user accounts and revokes expired indicators from the platform.

"},{"location":"deployment/managers/#synchronization-manager","title":"Synchronization manager","text":"

The synchronization manager enables the data sharing between multiple OpenCTI platforms. It allows the user to create and configure synchronizers which are processes that connect to the live streams of remote OpenCTI platforms and import the data into the local platform.

"},{"location":"deployment/managers/#retention-manager","title":"Retention manager","text":"

The retention manager is a component that allows the user to define rules to help delete data in OpenCTI that is no longer relevant or useful. This helps to optimize the performance and storage of the OpenCTI platform and ensures the quality and accuracy of the data.

More information can be found here.

"},{"location":"deployment/managers/#notification-manager","title":"Notification manager","text":"

The notification manager is a component that allows the user to customize and receive alerts about events/changes in the platform.

More information can be found here.

"},{"location":"deployment/managers/#ingestion-manager","title":"Ingestion manager","text":"

The ingestion manager in OpenCTI is a component that manages the ingestion of data from RSS and TAXII feeds.

"},{"location":"deployment/managers/#playbook-manager","title":"Playbook manager","text":"

The playbook manager handles the automation scenarios which can be fully customized and enabled by platform administrators to enrich, filter and modify the data created or updated in the platform.

Please read the Playbook automation page to get more information.

"},{"location":"deployment/managers/#file-index-manager","title":"File index manager","text":"

The file indexing manager extracts and indexes the text content of the files, and stores it in the database. It allows users to search for text content within files uploaded to the platform.

More information can be found here.

"},{"location":"deployment/managers/#indicator-decay-manager","title":"Indicator decay manager","text":"

The indicator decay manager allows to update indicators score automatically based on configured decay rules.

More information can be found here.

"},{"location":"deployment/managers/#filigran-telemetry-manager","title":"Filigran telemetry manager","text":"

The telemetry manager collects periodically statistical data about platform usage.

More information about data telemetry can be found here.

"},{"location":"deployment/overview/","title":"Overview","text":"

Before starting the installation, let's discover how OpenCTI is working, which dependencies are needed and what are the minimal requirements to deploy it in production.

"},{"location":"deployment/overview/#architecture","title":"Architecture","text":"

The OpenCTI platform relies on several external databases and services in order to work.

"},{"location":"deployment/overview/#platform","title":"Platform","text":"

The platform is the central part of the OpenCTI technological stack. It allows users to access to the user interface but also provides the GraphQL API used by connectors and workers to insert data. In the context of a production deployment, you may need to scale horizontally and launch multiple platforms behind a load balancer connected to the same databases (ElasticSearch, Redis, S3, RabbitMQ).

"},{"location":"deployment/overview/#workers","title":"Workers","text":"

The workers are standalone Python processes consuming messages from the RabbitMQ broker in order to do asynchronous write queries. You can launch as many workers as you need to increase the write performances. At some point, the write performances will be limited by the throughput of the ElasticSearch database cluster.

Number of workers

If you need to increase performances, it is better to launch more platforms to handle worker queries. The recommended setup is to have at least one platform for 3 workers (ie. 9 workers distributed over 3 platforms).

"},{"location":"deployment/overview/#connectors","title":"Connectors","text":"

The connectors are third-party pieces of software (Python processes) that can play five different roles on the platform:

Type Description Examples EXTERNAL_IMPORT Pull data from remote sources, convert it to STIX2 and insert it on the OpenCTI platform. MITRE Datasets, MISP, CVE, AlienVault, Mandiant, etc. INTERNAL_ENRICHMENT Listen for new OpenCTI entities or users requests, pull data from remote sources to enrich. Shodan, DomainTools, IpInfo, etc. INTERNAL_IMPORT_FILE Extract data from files uploaded on OpenCTI trough the UI or the API. STIX 2.1, PDF, Text, HTML, etc. INTERNAL_EXPORT_FILE Generate export from OpenCTI data, based on a single object or a list. STIX 2.1, CSV, PDF, etc. STREAM Consume a platform data stream an do something with events. Splunk, Elastic Security, Q-Radar, etc.

List of connectors

You can find all currently available connectors in the OpenCTI Ecosystem.

"},{"location":"deployment/overview/#infrastructure-requirements","title":"Infrastructure requirements","text":""},{"location":"deployment/overview/#dependencies","title":"Dependencies","text":"Component Version CPU RAM Disk type Disk space ElasticSearch / OpenSearch >= 8.0 / >= 2.9 2 cores \u2265 8GB SSD \u2265 16GB Redis >= 7.1 1 core \u2265 1GB SSD \u2265 16GB RabbitMQ >= 3.11 1 core \u2265 512MB Standard \u2265 2GB S3 / MinIO >= RELEASE.2023-02 1 core \u2265 128MB SSD \u2265 16GB"},{"location":"deployment/overview/#platform_1","title":"Platform","text":"Component CPU RAM Disk type Disk space OpenCTI Core 2 cores \u2265 8GB None (stateless) - Worker(s) 1 core \u2265 128MB None (stateless) - Connector(s) 1 core \u2265 128MB None (stateless) -

Clustering

To have more details about deploying OpenCTI and its dependencies in cluster mode, please read the dedicated section.

"},{"location":"deployment/resources/","title":"Other resources","text":""},{"location":"deployment/resources/#introduction","title":"Introduction","text":"

OpenCTI is an open and modular platform. A lot of connectors, plugins and clients are created by Filigran and by the community. You can find here other resources available to complete your OpenCTI journey.

"},{"location":"deployment/resources/#videos-training","title":"Videos & training","text":""},{"location":"deployment/resources/#articles-news","title":"Articles & news","text":""},{"location":"deployment/resources/#analysis","title":"Analysis","text":""},{"location":"deployment/rollover/","title":"Indices and rollover policies","text":"

Default rollover policies

Since OpenCTI 5.9.0, rollover policies are automatically created when the platform is initialized for the first time. If your platform has been initialized using an older version of OpenCTI or if you would like to understand (and customize) rollover policies please read the following documentation.

"},{"location":"deployment/rollover/#introduction","title":"Introduction","text":"

ElasticSearch and OpenSearch both support rollover on indices. OpenCTI has been designed to be able to use aliases for indices and so support very well index lifecycle policies. Thus, by default OpenCTI initialized indices with a suffix -00001 and use wildcard to query indices. When rollover policies are implemented (default starting OCTI 5.9.X if you initialized your platform at this version), indices are splitted to keep a reasonable volume of data in shards.

"},{"location":"deployment/rollover/#opencti-integration-user-permissions-in-opensearchelasticsearch","title":"OpenCTI Integration User Permissions in OpenSearch/ElasticSearch","text":"

About indices:* in Cluster Permissions

It is crucial to include indices:* permissions in Cluster Permissions for the proper functioning of the OpenCTI integration. Removing these, even if already present in Index Permissions, may result in startup issues for the OpenCTI Platform.

"},{"location":"deployment/rollover/#elasticsearch-configuration","title":"ElasticSearch configuration","text":""},{"location":"deployment/rollover/#indices","title":"Indices","text":"

By default, a rollover policy is applied on all indices used by OpenCTI.

For your information, the indices which can grow rapidly are:

"},{"location":"deployment/rollover/#default-implemented-lifecycle-policy","title":"Default implemented lifecycle policy","text":"

Here is the recommended policy (initialized starting 5.9.X):

"},{"location":"deployment/rollover/#applying-rollover-policies-on-existing-indices","title":"Applying rollover policies on existing indices","text":"

Procedure information

Please read the following only if your platform has been initialized before 5.9.0, otherwise lifecycle policies has been created (but you can still cutomize them).

Unfortunately, to be able to implement rollover policies on ElasticSearch / OpenSearch indices, it will be needed to re-index all the data in new indices using ElasticSearch capabilities.

"},{"location":"deployment/rollover/#shutdown","title":"Shutdown","text":"

First step is to shutdown your OpenCTI platform.

"},{"location":"deployment/rollover/#change-configuration","title":"Change configuration","text":"

Then, in the OpenCTI configuration, change the ElasticSearch / OpenSearch default prefix to octi (default is opencti).

"},{"location":"deployment/rollover/#create-the-rollover-policy","title":"Create the rollover policy","text":"

Create a rollover policy named octi-ilm-policy (in Kibana, Management > Index Lifecycle Policies):

"},{"location":"deployment/rollover/#create-index-templates","title":"Create index templates","text":"

In Kibana, clone the opencti-index-template to have one index template by OpenCTI index with the appropriate rollover policy, index pattern and rollover alias (in Kibana, Management > Index Management > Index Templates).

Create the following index templates:

Here is the overview of all templates (you should have something with octi_ instead of opencti_).

"},{"location":"deployment/rollover/#apply-rollover-policy-on-all-index-templates","title":"Apply rollover policy on all index templates","text":"

Then, going back in the index lifecycle policies screen, you can click on the \"+\" button of the octi-ilm-policy to Add the policy to index template, then add the policy to add previously created template with the proper \"Alias for rollover index\".

"},{"location":"deployment/rollover/#bootstrap-all-new-indices","title":"Bootstrap all new indices","text":"

Before we can re-index, we need to create the new indices with aliases.

PUT octi_history-000001\n{\n  \"aliases\": {\n    \"octi_history\": {\n      \"is_write_index\": true\n    }\n  }\n}\n

Repeat this step for all indices:

"},{"location":"deployment/rollover/#re-index-all-indices","title":"Re-index all indices","text":"

Using the reindex API, re-index all indices one by one:

curl -X POST \"localhost:9200/_reindex?pretty\" -H 'Content-Type: application/json' -d'\n{\n  \"source\": {\n    \"index\": \"opencti_history-000001\"\n  },\n  \"dest\": {\n    \"index\": \"octi_history\"\n  }\n}\n'\n

You will see the rollover policy to be applied and the new indices are automatically rolled-over during re-indexation.

"},{"location":"deployment/rollover/#delete-all-old-indices","title":"Delete all old indices","text":"

Then just delete all indices with the prefix opencti_.

"},{"location":"deployment/rollover/#start-your-platform","title":"Start your platform","text":"

Start your platform, using the new indices.

Rollover documentation

To have more details about automatic rollover and lifecycle policies, please read the official ElasticSearch documentation.

"},{"location":"deployment/troubleshooting/","title":"Troubleshooting","text":"

This page aims to explain the typical errors you can have with your OpenCTI platform.

"},{"location":"deployment/troubleshooting/#finding-the-relevant-logs","title":"Finding the relevant logs","text":"

It is highly recommended to monitor the error logs of the platforms, workers and connectors. All the components have log outputs in an understandable JSON format. If necessary, it is always possible to increase the log level. In production, it is recommended to have the log level set to error.

"},{"location":"deployment/troubleshooting/#platform","title":"Platform","text":"

Here are some useful parameters for platform logging:

- APP__APP_LOGS__LOGS_LEVEL=[error|warning|info|debug]\n- APP__APP_LOGS__LOGS_CONSOLE=true # Output in the container console\n
"},{"location":"deployment/troubleshooting/#connectors","title":"Connectors","text":"

All connectors support the same set of parameters to manage the log level and outputs:

- OPENCTI_JSON_LOGGING=true # Enable / disable JSON logging\n- CONNECTOR_LOG_LEVEL=info=[error|warning|info|debug]\n
"},{"location":"deployment/troubleshooting/#workers","title":"Workers","text":"

The workers can have more or less verbose outputs:

- OPENCTI_JSON_LOGGING=true # Enable / disable JSON logging\n- WORKER_LOG_LEVEL=[error|warning|info|debug]\n
"},{"location":"deployment/troubleshooting/#elasticsearch-opensearch-data","title":"ElasticSearch / OpenSearch data","text":"

Kibana / OpenSearch dashboard

In case you need to troubleshoot the OpenCTI knowledge data, we recommend to install Kibana or OpenSearch dashboard.

"},{"location":"deployment/troubleshooting/#common-errors","title":"Common errors","text":""},{"location":"deployment/troubleshooting/#ingestion-technical-errors","title":"Ingestion technical errors","text":"

Missing reference to handle creation

After 5 retries, if an element required to create another element is missing, the platform raises an exception. It usually comes from a connector that generates inconsistent STIX 2.1 bundles.

Cant upsert entity. Too many entities resolved

OpenCTI received an entity which is matching too many other entities in the platform. In this condition we cannot take a decision. We need to dig into the data bundle to identify why it matches too much entities and fix the data in the bundle / or the platform according to what you expect.

Execution timeout, too many concurrent call on the same entities

The platform supports multi workers and multiple parallel creation but different parameters can lead to some locking timeout in the execution.

If you have this kind of error, limit the number of workers deployed. Try to find the right balance of the number of workers, connectors and elasticsearch sizing.

"},{"location":"deployment/troubleshooting/#ingestion-functional-errors","title":"Ingestion functional errors","text":"

Indicator of type yara is not correctly formatted

OpenCTI check the validity of the indicator rule.

Observable of type IPv4-Addr is not correctly formatted

OpenCTI check the validity of the observable value.

"},{"location":"deployment/troubleshooting/#dependencies-errors","title":"Dependencies errors","text":"

TOO_MANY_REQUESTS/12/disk usage exceeded flood-stage watermark...

Disk full, no space left on the device for ElasticSearch.

"},{"location":"deployment/upgrade/","title":"Upgrade","text":"

Depending on your installation mode, upgrade path may change.

Migrations

The platform is taking care of all necessary underlying migrations in the databases if any. You can upgrade OpenCTI from any version to the latest one, including skipping multiple major releases.

"},{"location":"deployment/upgrade/#using-docker","title":"Using Docker","text":"

Before applying this procedure, please update your docker-compose.yml file with the new version number of container images.

"},{"location":"deployment/upgrade/#for-single-node-docker","title":"For single node Docker","text":"
$ sudo docker-compose stop\n$ sudo docker-compose pull\n$ sudo docker-compose up -d\n
"},{"location":"deployment/upgrade/#for-docker-swarm","title":"For Docker swarm","text":"

For each of services, you have to run the following command:

$ sudo docker service update --force service_name\n
"},{"location":"deployment/upgrade/#manual-installation","title":"Manual installation","text":"

When upgrading the platform, you have to replace all files and restart the platform, the database migrations will be done automatically:

$ yarn serv\n
"},{"location":"development/api-usage/","title":"GraphQL playground","text":"

The GraphQL playground is an integrated development environment (IDE) provided by OpenCTI for exploring and testing GraphQL APIs. It offers a user-friendly interface that allows developers to interactively query the GraphQL schema, experiment with different queries, and visualize the responses.

"},{"location":"development/api-usage/#key-features","title":"Key features","text":""},{"location":"development/api-usage/#interactive-querying","title":"Interactive querying","text":"

The Playground provides a text editor where developers can write GraphQL queries, mutations, and subscriptions. As you type, the Playground offers syntax highlighting, autocompletion, and error checking to aid in query composition.

"},{"location":"development/api-usage/#documentation","title":"Documentation","text":"

Developers can access comprehensive documentation for the GraphQL schema directly within the Playground. This documentation includes descriptions of all available types, fields, and directives, making it easy to understand the data model and construct queries.

"},{"location":"development/api-usage/#query-history","title":"Query history","text":"

The playground keeps track of previously executed queries, allowing developers to revisit and reuse queries from previous sessions. This feature streamlines the development process by eliminating the need to retype complex queries.

"},{"location":"development/api-usage/#response-visualization","title":"Response visualization","text":"

Upon executing a query, the playground displays the response data in a structured and readable format. JSON responses are presented in a collapsible tree view, making it easy to navigate nested data structures and inspect individual fields.

"},{"location":"development/api-usage/#schema-exploration","title":"Schema exploration","text":"

Developers can explore the GraphQL schema using the built-in schema viewer. This feature provides a graphical representation of the schema, showing types, fields, and their relationships. Developers can explore the schema and understand its structure.

"},{"location":"development/api-usage/#getting-started","title":"Getting started","text":"

To access the GraphQL playground, navigate to the GraphQL endpoint of your OpenCTI instance: https://[your-opencti-instance]/graphql. Then, follow these steps to utilize the playground:

  1. Query editor: Write GraphQL queries, mutations, and subscriptions in the text editor. Use syntax highlighting and autocompletion to speed up query composition.
  2. Documentation explorer: Access documentation for the GraphQL schema by clicking on the \"Docs\" tab on the right. Browse types, fields, and descriptions to understand the available data and query syntax.
  3. Query history: View and execute previously executed queries from the \"History\" tab on the top. Reuse queries and experiment with variations without retyping.
  4. Response pane: Visualize query responses in the response pane. Expand and collapse sections to navigate complex data structures and inspect individual fields.
  5. Schema viewer: Explore the GraphQL schema interactively using the \"Schema\" tab on the right. Navigate types, fields, and relationships to understand the data model and plan queries.
"},{"location":"development/api-usage/#external-resources","title":"External Resources","text":"

For a more in-depth understanding of GraphQL and its usage, consider exploring the following external resources:

"},{"location":"development/connectors/","title":"Connector development","text":""},{"location":"development/connectors/#introduction","title":"Introduction","text":"

A connector in OpenCTI is a service that runs next to the platform and can be implemented in almost any programming language that has STIX2 support. Connectors are used to extend the functionality of OpenCTI and allow operators to shift some of the processing workload to external services. To use the conveniently provided OpenCTI connector SDK you need to use Python3 at the moment.

We choose to have a very decentralized approach on connectors, in order to bring a maximum freedom to developers and vendors. So a connector on OpenCTI can be defined by a standalone Python 3 process that pushes an understandable format of data to an ingestion queue of messages.

Each connector must implement a long-running process that can be launched just by executing the main Python file. The only mandatory dependency is the OpenCTIConnectorHelper class that enables the connector to send data to OpenCTI.

"},{"location":"development/connectors/#getting-started","title":"Getting started","text":"

In the beginning first think about your use-case to choose and appropriate connector type - what do want to achieve with your connector? The following table gives you an overview of the current connector types and some typical use-cases:

Connector types

Type Typical use cases Example connector EXTERNAL_IMPORT Integrate external TI provider, Integrate external TI platform AlienVault INTERNAL_ENRICHMENT Enhance existing data with additional knowledge AbuseIP INTERNAL_IMPORT_FILE (Bulk) import knowledge from files Import document INTERNAL_EXPORT_FILE (Bulk) export knowledge to files STIX 2.1, CSV. STREAM Integrate external TI provider, Integrate external TI platform Elastic Security

After you've selected your connector type make yourself familiar with STIX2 and the supported relationships in OpenCTI. Having some knowledge about the internal data models with help you a lot with the implementation of your idea.

"},{"location":"development/connectors/#preparation","title":"Preparation","text":""},{"location":"development/connectors/#environment-setup","title":"Environment Setup","text":"

To develop and test your connector, you need a running OpenCTI instance with the frontend and the messaging broker accessible. If you don't plan on developing anything for the OpenCTI platform or the frontend, the easiest setup for the connector development is using the docker setup, For more details see here.

"},{"location":"development/connectors/#coding-setup","title":"Coding Setup","text":"

To give you an easy starting point we prepared an example connector in the public repository you can use as template to bootstrap your development.

Some prerequisites we recommend to follow this tutorial:

In the terminal check out the connectors repository and copy the template connector to $myconnector (replace it with your name throughout the following text examples).

$ pip3 install black flake8 pycti\n# Fork the current repository, then clone your fork\n$ git clone https://github.com/YOUR-USERNAME/connectors.git\n$ cd connectors\n$ git remote add upstream https://github.com/OpenCTI-Platform/connectors.git\n# Create a branch for your feature/fix\n$ git checkout -b [branch-name]\n# Copy the appropriate template directory for the connector type\n$ cp -r templates/$connector_type $connector_type/$myconnector\n$ cd $connector_type/$myconnector\n$ ls -R\nDockerfile              docker-compose.yml      requirements.txt\nREADME.md               entrypoint.sh           src\n\n./src:\nlib     main.py\n\n./src/lib:\n$connector_type.py\n
"},{"location":"development/connectors/#changing-the-template","title":"Changing the template","text":"

There are a few files in the template we need to change for our connector to be unique. You can check for all places you need to change you connector name with the following command (the output will look similar):

$ grep -Ri template .\n\nREADME.md:# OpenCTI Template Connector\nREADME.md:| `connector_type`                     | `CONNECTOR_TYPE`                    | Yes          | Must be `Template_Type` (this is the connector type).                                                                                                      |\nREADME.md:| `connector_name`                     | `CONNECTOR_NAME`                    | Yes          | Option `Template`                                                                                                                                          |\nREADME.md:| `connector_scope`                    | `CONNECTOR_SCOPE`                   | Yes          | Supported scope: Template Scope (MIME Type or Stix Object)                                                                                                 |\nREADME.md:| `template_attribute`                 | `TEMPLATE_ATTRIBUTE`                | Yes          | Additional setting for the connector itself                                                                                                                |\ndocker-compose.yml:  connector-template:\ndocker-compose.yml:    image: opencti/connector-template:4.5.5\ndocker-compose.yml:      - CONNECTOR_TYPE=Template_Type\ndocker-compose.yml:      - CONNECTOR_NAME=Template\ndocker-compose.yml:      - CONNECTOR_SCOPE=Template_Scope # MIME type or Stix Object\nentrypoint.sh:cd /opt/opencti-connector-template\nDockerfile:COPY src /opt/opencti-template\nDockerfile:    cd /opt/opencti-connector-template && \\\nsrc/main.py:class Template:\nsrc/main.py:            \"TEMPLATE_ATTRIBUTE\", [\"template\", \"attribute\"], config, True\nsrc/main.py:        connectorTemplate = Template()\nsrc/main.py:        connectorTemplate.run()\nsrc/config.yml.sample:  type: 'Template_Type'\nsrc/config.yml.sample:  name: 'Template'\nsrc/config.yml.sample:  scope: 'Template_Scope' # MIME type or SCO\n

Required changes:

"},{"location":"development/connectors/#development","title":"Development","text":""},{"location":"development/connectors/#initialize-the-opencti-connector-helper","title":"Initialize the OpenCTI connector helper","text":"

After getting the configuration parameters of your connector, you have to initialize the OpenCTI connector helper by using the pycti Python library. This is shown in the following example:

class TemplateConnector:\n    def __init__(self):\n                # Instantiate the connector helper from config\n        config_file_path = os.path.dirname(os.path.abspath(__file__)) + \"/config.yml\"\n        config = (\n            yaml.load(open(config_file_path), Loader=yaml.SafeLoader)\n            if os.path.isfile(config_file_path)\n            else {}\n        )\n        self.helper = OpenCTIConnectorHelper(config)\n                self.custom_attribute = get_config_variable(\n            \"TEMPLATE_ATTRIBUTE\", [\"template\", \"attribute\"], config\n        )\n

Since there are some basic differences in the tasks of the different connector classes, the structure is also a bit class dependent. While the external-import and the stream connector run independently in a regular interval or constantly, the other 3 connector classes only run when being requested by the OpenCTI platform.

The self-triggered connectors run independently, but the OpenCTI need to define a callback function, which can be executed for the connector to start its work. This is done via self.helper.listen(self._process_message) . In the appended examples, the difference of the setup can be seen.

Self-triggered Connectors

OpenCTI triggered

from pycti import OpenCTIConnectorHelper, get_config_variable\n\nclass TemplateConnector:\n    def __init__(self) -> None:\n                # Initialization procedures\n                [...]\n        self.template_interval = get_config_variable(\n            \"TEMPLATE_INTERVAL\", [\"template\", \"interval\"], config, True\n        )\n\n    def get_interval(self) -> int:\n        return int(self.template_interval) * 60 * 60 * 24\n\n    def run(self) -> None:\n                # Main procedure\n\nif __name__ == \"__main__\":\n    try:\n        template_connector = TemplateConnector()\n        template_connector.run()\n    except Exception as e:\n        print(e)\n        time.sleep(10)\n        exit(0)\n
from pycti import OpenCTIConnectorHelper, get_config_variable\n\nclass TemplateConnector:\n    def __init__(self) -> None:\n                # Initialization procedures\n                [...]\n\n    def _process_message(self, data: dict) -> str:\n                # Main procedure                \n\n    # Start the main loop\n    def start(self) -> None:\n        self.helper.listen(self._process_message)\n\nif __name__ == \"__main__\":\n    try:\n        template_connector = TemplateConnector()\n        template_connector.start()\n    except Exception as e:\n        print(e)\n        time.sleep(10)\n        exit(0)\n
"},{"location":"development/connectors/#write-and-read-operations","title":"Write and Read Operations","text":"

When using the OpenCTIConnectorHelper class, there are two way for reading from or writing data to the OpenCTI platform.

  1. via the OpenCTI API interface via self.helper.api
  2. via the OpenCTI worker via self.send_stix2_bundle
"},{"location":"development/connectors/#sending-data-to-the-opencti-platform","title":"Sending data to the OpenCTI platform","text":"

The recommended way for creating or updating data in the OpenCTI platform is via the OpenCTI worker. This enables the connector to just send and forget about thousands of entities at once to without having to think about the ingestion order, performance or error handling.

\u26a0\ufe0f **Please DO NOT use the api interface to create new objects in connectors.**

The OpenCTI connector helper method send_stix2_bundle must be used to send data to OpenCTI. The send_stix2_bundle function takes 2 arguments.

  1. A serialized STIX2 bundle as a string (mandatory)
  2. A list of entities types that should be ingested (optional)

Here is an example using the STIX2 Python library:

from stix2 import Bundle, AttackPattern\n\n[...]\n\nattack_pattern = AttackPattern(name='Evil Pattern')\n\nbundle_objects = []\nbundle_objects.append(attack_pattern)\n\nbundle = Bundle(objects=bundle_objects).serialize()\nbundles_sent = self.opencti_connector_helper.send_stix2_bundle(bundle)\n
"},{"location":"development/connectors/#reading-from-the-opencti-platform","title":"Reading from the OpenCTI platform","text":"

Read queries to the OpenCTI platform can be achieved using the API and the STIX IDs can be attached to reports to create the relationship between those two entities.

entity = self.helper.api.vulnerability.read(\n    filters={\"key\": \"name\", \"values\": [\"T1234\"]}\n)\n

If you want to add the found entity via objects_refs to another SDO, simple add a list of stix_ids to the SDO. Here's an example using the entity from the code snippet above:

from stix2 import Report\n\n[...]\n\nreport = Report(\n    id=report[\"standard_id\"],\n  object_refs=[entity[\"standard_id\"]],\n)\n
"},{"location":"development/connectors/#logging","title":"Logging","text":"

When something crashes at a user's, you as a developer want to know as much as possible about this incident to easily improve your code and remove this issue. To do so, it is very helpful if your connector documents what it does. Use info messages for big changes like the beginning or the finishing of an operation, but to facilitate your bug removal attempts, implement debug messages for minor operation changes to document different steps in your code.

When encountering a crash, the connector's user can easily restart the troubling connector with the debug logging activated.

Using those additional log messages, the bug report is more enriched with information about the possible cause of the problem. Here's an example of how the logging should be implemented:

        def run(self) -> None:\n                self.helper.log_info('Template connector starts')\n                results = self._ask_for_news()\n                [...]\n\n        def _ask_for_news() -> None:\n                overall = []\n                for i in range(0, 10):\n                        self.log_debug(f\"Asking about news with count '{i}'\")\n                        # Do something\n                        self.log_debug(f\"Resut: '{result}'\")\n                        overall.append(result)\n                return overall\n

Please make sure that the debug messages rich of useful information, but that they are not redundant and that the user is not drowned by unnecessary information.

"},{"location":"development/connectors/#additional-implementations","title":"Additional implementations","text":"

If you are still unsure about how to implement certain things in your connector, we advise you to have a look at the code of other connectors of the same type. Maybe they are already using approach which is suitable for addressing to your problem.

"},{"location":"development/connectors/#opencti-triggered-connector-special-cases","title":"OpenCTI triggered Connector - Special cases","text":""},{"location":"development/connectors/#data-layout-of-dictionary-from-callback-function","title":"Data Layout of Dictionary from Callback function","text":"

OpenCTI sends the connector a few instructions via the data dictionary in the callback function. Depending on the connector type, the data dictionary content is a bit different. Here are a few examples for each connector type.

Internal Import Connector

Internal Enrichment Connector

{ \n  \"file_id\": \"<fileId>\",\n  \"file_mime\": \"application/pdf\", \n  \"file_fetch\": \"storage/get/<file_id>\", // Path to get the file\n  \"entity_id\": \"report--82843863-6301-59da-b783-fe98249b464e\", // Context of the upload\n}\n
{ \n  \"entity_id\": \"<stixCoreObjectId>\" // StixID of the object wanting to be enriched\n}\n

Internal Export Connector

{ \n  \"export_scope\": \"single\", // 'single' or 'list'\n  \"export_type\": \"simple\", // 'simple' or 'full'\n  \"file_name\": \"<fileName>\", // Export expected file name\n  \"max_marking\": \"<maxMarkingId>\", // Max marking id\n  \"entity_type\": \"AttackPattern\", // Exported entity type\n  // ONLY for single entity export\n  \"entity_id\": \"<entity.id>\", // Exported element\n  // ONLY for list entity export\n  \"list_params\": \"[<parameters>]\" // Parameters for finding entities\n}\n
"},{"location":"development/connectors/#self-triggered-connector-special-cases","title":"Self triggered Connector - Special cases","text":""},{"location":"development/connectors/#initiating-a-work-before-pushing-data","title":"Initiating a 'Work' before pushing data","text":"

For self-triggered connectors, OpenCTI has to be told about new jobs to process and to import. This is done by registering a so called work before sending the stix bundle and signalling the end of a work. Here an example:

By implementing the work registration, they will show up as shown in this screenshot for the MITRE ATT&CK connector:

def run() -> None:\n        # Anounce upcoming work\n        timestamp = int(time.time())\n        now = datetime.utcfromtimestamp(timestamp)\n    friendly_name = \"Template run @ \" + now.strftime(\"%Y-%m-%d %H:%M:%S\")\n    work_id = self.helper.api.work.initiate_work(\n                self.helper.connect_id, friendly_name\n        )\n\n        [...]\n        # Send Stix bundle\n        self.helper.send_stix2_bundle(\n                bundle,\n                entities_types=self.helper.connect_scope,\n                update=True,\n                work_id=work_id,\n        )\n        # Finish the work\n        self.helper.log_info(\n            f\"Connector successfully run, storing last_run as {str(timestamp)}\"\n    )              \n        message = \"Last_run stored, next run in: {str(round(self.get_interval() / 60 / 60 / 24, 2))} days\"\n        self.helper.api.work.to_processed(work_id, message)\n
"},{"location":"development/connectors/#interval-handling","title":"Interval handling","text":"

The connector is also responsible for making sure that it runs in certain intervals. In most cases, the intervals are definable in the connector config and then only need to be set and updated during the runtime.

class TemplateConnector:\n    def __init__(self) -> None:\n                # Initialization procedures\n                [...]\n        self.template_interval = get_config_variable(\n            \"TEMPLATE_INTERVAL\", [\"template\", \"interval\"], config, True\n        )\n\n    def get_interval(self) -> int:\n        return int(self.template_interval) * 60 * 60 * 24\n\n        def run(self) -> None:\n        self.helper.log_info(\"Fetching knowledge...\")\n        while True:\n            try:\n                # Get the current timestamp and check\n                timestamp = int(time.time())\n                current_state = self.helper.get_state()\n                if current_state is not None and \"last_run\" in current_state:\n                    last_run = current_state[\"last_run\"]\n                    self.helper.log_info(\n                        \"Connector last run: \"\n                        + datetime.utcfromtimestamp(last_run).strftime(\n                            \"%Y-%m-%d %H:%M:%S\"\n                        )\n                    )\n                else:\n                    last_run = None\n                    self.helper.log_info(\"Connector has never run\")\n                # If the last_run is more than interval-1 day\n                if last_run is None or (\n                    (timestamp - last_run)\n                    > ((int(self.template_interval) - 1) * 60 * 60 * 24)\n                ):\n                    timestamp = int(time.time())\n                    now = datetime.utcfromtimestamp(timestamp)\n                    friendly_name = \"Connector run @ \" + now.strftime(\"%Y-%m-%d %H:%M:%S\")\n\n                                        ###\n                                        # RUN CODE HERE     \n                                        ###\n\n                    # Store the current timestamp as a last run\n                    self.helper.log_info(\n                        \"Connector successfully run, storing last_run as \"\n                        + str(timestamp)\n                    )\n                    self.helper.set_state({\"last_run\": timestamp})\n                    message = (\n                        \"Last_run stored, next run in: \"\n                        + str(round(self.get_interval() / 60 / 60 / 24, 2))\n                        + \" days\"\n                    )\n                    self.helper.api.work.to_processed(work_id, message)\n                    self.helper.log_info(message)\n                    time.sleep(60)\n                else:\n                    new_interval = self.get_interval() - (timestamp - last_run)\n                    self.helper.log_info(\n                        \"Connector will not run, next run in: \"\n                        + str(round(new_interval / 60 / 60 / 24, 2))\n                        + \" days\"\n                    )\n                    time.sleep(60)\n
"},{"location":"development/connectors/#running-the-connector","title":"Running the connector","text":"

For development purposes, it is easier to simply run the python script locally until everything works as it sould.

$ virtualenv env\n$ source ./env/bin/activate\n$ pip3 install -r requirements\n$ cp config.yml.sample config.yml\n# Define the opencti url and token, as well as the connector's id\n$ vim config.yml\n$ python3 main.py\nINFO:root:Listing Threat-Actors with filters null.\nINFO:root:Connector registered with ID: a2de809c-fbb9-491d-90c0-96c7d1766000\nINFO:root:Starting ping alive thread\n...\n
"},{"location":"development/connectors/#final-testing","title":"Final Testing","text":"

Before submitting a Pull Request, please test your code for different use cases and scenarios. We don't have an automatic testing suite for the connectors yet, thus we highly depend on developers thinking about creative scenarios their code could encounter.

"},{"location":"development/connectors/#prepare-for-release","title":"Prepare for release","text":"

If you plan to provide your connector to be used by the community (\u2764\ufe0f) your code should pass the following (minimum) criteria.

# Linting with flake8 contains no errors or warnings\n$ flake8 --ignore=E,W\n# Verify formatting with black\n$ black .\nAll done! \u2728 \ud83c\udf70 \u2728\n1 file left unchanged.\n# Verify import sorting\n$ isort --profile black .\nFixing /path/to/connector/file.py\n# Push you feature/fix on Github\n$ git add [file(s)]\n$ git commit -m \"[connector_name] descriptive message\"\n$ git push origin [branch-name]\n# Open a pull request with the title \"[connector_name] message\"\n

If you have any trouble with this just reach out to the OpenCTI core team. We are happy to assist with this.

"},{"location":"development/environment_ubuntu/","title":"Prerequisites Ubuntu","text":"

Development stack require some base software that need to be installed.

"},{"location":"development/environment_ubuntu/#docker-or-podman","title":"Docker or podman","text":"

Platform dependencies in development are deployed through container management, so you need to install a container stack.

We currently support docker and podman.

$ sudo apt-get install docker docker-compose curl\n
sudo apt-get -y install podman\n

As OpenCTI has a dependency to ElasticSearch, you have to set the vm.max_map_count before running the containers, as mentioned in the ElasticSearch documentation.

$ sudo sysctl -w vm.max_map_count=262144\n
"},{"location":"development/environment_ubuntu/#nodejs-and-yarn","title":"NodeJS and yarn","text":"

The platform is developed on nodejs technology, so you need to install node and the yarn package manager.

$ sudo apt-get install nodejs\n$ sudo curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -\n$ sudo echo \"deb https://dl.yarnpkg.com/debian/ stable main\" | sudo tee /etc/apt/sources.list.d/yarn.list\n$ sudo apt-get update && sudo apt-get install yarn\n
"},{"location":"development/environment_ubuntu/#python-runtime","title":"Python runtime","text":"

For worker and connectors, a python runtime is needed.

$ sudo apt-get install python3 python3-pip\n
"},{"location":"development/environment_ubuntu/#git-and-dev-tool","title":"Git and dev tool","text":"
$ sudo apt-get install git-all\n
"},{"location":"development/environment_windows/","title":"Prerequisites Windows","text":"

Development stack require some base software that need to be installed.

"},{"location":"development/environment_windows/#docker-or-podman","title":"Docker or podman","text":"

Platform dependencies in development are deployed through container management, so you need to install a container stack.

We currently support docker and postman.

Docker Desktop from - https://docs.docker.com/desktop/install/windows-install/

wsl --set-default-version 2

"},{"location":"development/environment_windows/#nodejs-and-yarn","title":"NodeJS and yarn","text":"

The platform is developed on nodejs technology, so you need to install node and the yarn package manager.

"},{"location":"development/environment_windows/#python-runtime","title":"Python runtime","text":"

For worker and connectors, a python runtime is needed. Even if you already have a python runtime installed through node installation, on windows some nodejs package will be recompiled with python and C++ runtime.

For this reason Visual Studio Build Tools is required.

"},{"location":"development/environment_windows/#git-and-dev-tool","title":"Git and dev tool","text":""},{"location":"development/platform/","title":"Platform development","text":""},{"location":"development/platform/#introduction","title":"Introduction","text":"

This summary should give you a detailed setup description for initiating the OpenCTI setup environment necessary for developing on the OpenCTI platform, a client library or the connectors. This page document how to set up an \"All-in-One\" development environment for OpenCTI. The devenv will contain data of 3 different repositories:

"},{"location":"development/platform/#platform","title":"Platform","text":"

Contains the platform OpenCTI project code base:

"},{"location":"development/platform/#connectors","title":"Connectors","text":"

Contains a lot of developed connectors, as a source of inspiration for your new connector.

"},{"location":"development/platform/#client-python","title":"Client python","text":"

Contains the source code of the python library used in worker or connectors.

"},{"location":"development/platform/#prerequisites","title":"Prerequisites","text":"

Some tools are needed before starting to develop. Please check Ubuntu prerequisites or Windows prerequisites

"},{"location":"development/platform/#clone-the-projects","title":"Clone the projects","text":"

Fork and clone the git repositories

"},{"location":"development/platform/#dependencies-containers","title":"Dependencies containers","text":"

In development dependencies are deployed trough containers. A development compose file is available in ~/opencti/opencti-platform/opencti-dev

cd ~/docker\n#Start the stack in background\ndocker-compose -f ./docker-compose-dev.yml up -d\n

You have now all the dependencies of OpenCTI running and waiting for product to run.

"},{"location":"development/platform/#backend-api","title":"Backend / API","text":""},{"location":"development/platform/#python-virtual-env","title":"Python virtual env","text":"

The GraphQL API is developed in JS and with some python code. As it's an \"all-in-one\" installation, the python environment will be installed in a virtual environment.

cd ~/opencti/opencti-platform/opencti-graphql\npython3 -m venv .venv --prompt \"graphql\"\nsource .venv/bin/activate\npip install --upgrade pip wheel setuptools\nyarn install\nyarn install:python \ndeactivate\n
"},{"location":"development/platform/#development-configuration","title":"Development configuration","text":"

The API can be specifically configured with files depending on the starting profile. By default, the default.json file is used and will be correctly configured for local usage except for admin password

So you need to create a development profile file. You can duplicate the default file and adapt if for you need.

cd ~/opencti/opencti-platform/opencti-graphql/config\ncp default.json development.json\n

At minimum adapt the admin part for the password and token.

    \"admin\": {\n      \"email\": \"admin@opencti.io\",\n      \"password\": \"MyNewPassord\",\n      \"token\": \"UUID generated with https://www.uuidgenerator.net\"\n    }\n

"},{"location":"development/platform/#install-start","title":"Install / start","text":"

Before starting the backend you need to install the nodejs modules

cd ~/opencti/opencti-platform/opencti-graphql\nyarn install\n

Then you can simply start the backend API with the yarn start command

cd ~/opencti/opencti-platform/opencti-graphql\nyarn start\n

The platform will start logging some interesting information

{\"category\":\"APP\",\"level\":\"info\",\"message\":\"[OPENCTI] Starting platform\",\"timestamp\":\"2023-07-02T16:37:10.984Z\",\"version\":\"5.8.7\"}\n{\"category\":\"APP\",\"level\":\"info\",\"message\":\"[OPENCTI] Checking dependencies statuses\",\"timestamp\":\"2023-07-02T16:37:10.987Z\",\"version\":\"5.8.7\"}\n{\"category\":\"APP\",\"level\":\"info\",\"message\":\"[SEARCH] Elasticsearch (8.5.2) client selected / runtime sorting enabled\",\"timestamp\":\"2023-07-02T16:37:11.014Z\",\"version\":\"5.8.7\"}\n{\"category\":\"APP\",\"level\":\"info\",\"message\":\"[CHECK] Search engine is alive\",\"timestamp\":\"2023-07-02T16:37:11.015Z\",\"version\":\"5.8.7\"}\n...\n{\"category\":\"APP\",\"level\":\"info\",\"message\":\"[INIT] Platform initialization done\",\"timestamp\":\"2023-07-02T16:37:11.622Z\",\"version\":\"5.8.7\"}\n{\"category\":\"APP\",\"level\":\"info\",\"message\":\"[OPENCTI] API ready on port 4000\",\"timestamp\":\"2023-07-02T16:37:12.382Z\",\"version\":\"5.8.7\"}\n

If you want to start on another profile you can use the -e parameter. For example here to use the profile.json configuration file.

yarn start -e profile\n
"},{"location":"development/platform/#code-check","title":"Code check","text":"

Before pushing your code you need to validate the syntax and ensure the testing will be validated.

"},{"location":"development/platform/#for-validation","title":"For validation","text":"

yarn lint

yarn check-ts

"},{"location":"development/platform/#for-testing","title":"For testing","text":"

For starting the test you will need to create a test.json configuration file. You can use the same dependencies by only adapting all prefix for all dependencies.

Tests are using dedicated indices in the Elastic database (prefixed with test-* or the prefix that you have set up in test.json).

The following command will run the complete test suite using vitest, which might take more than 30 minutes. It starts by cleaning up the test database and seeding a minimal dataset. The file vitest.config.test.ts can be edited to run only a specific file pattern.

yarn test:dev

We also provide utility scripts to ease the development of new tests, especially integration tests that rely on the sample data loaded after executing 00-inject/loader-test.ts.

To solely initialize the test database with this sample dataset run:

yarn test:dev:init

And then, execute the following command to run the pattern specified in the file vitest.config.test.ts, or add a file name to the command line to run only this test file.

yarn test:dev:resume

This last command will NOT cleanup & initialize the test database and thus will be quicker to execute.

"},{"location":"development/platform/#frontend","title":"Frontend","text":""},{"location":"development/platform/#install-start_1","title":"Install / start","text":"

Before starting the backend you need to install the nodejs modules

cd ~/opencti/opencti-platform/opencti-front\nyarn install\n

Then you can simply start the frontend with the yarn start command

cd ~/opencti/opencti-platform/opencti-front\nyarn start\n

The frontend will start with some interesting information

[INFO] [default] compiling...\n[INFO] [default] compiled documents: 1592 reader, 1072 normalization, 1596 operation text\n[INFO] Compilation completed.\n[INFO] Done.\n[HPM] Proxy created: /stream  -> http://localhost:4000\n[HPM] Proxy created: /storage  -> http://localhost:4000\n[HPM] Proxy created: /taxii2  -> http://localhost:4000\n[HPM] Proxy created: /feeds  -> http://localhost:4000\n[HPM] Proxy created: /graphql  -> http://localhost:4000\n[HPM] Proxy created: /auth/**  -> http://localhost:4000\n[HPM] Proxy created: /static/flags/**  -> http://localhost:4000\n

The web UI should be accessible on http://127.0.0.1:3000

"},{"location":"development/platform/#code-check_1","title":"Code check","text":"

Before pushing your code you need to validate the syntax and ensure the testing will be validated.

"},{"location":"development/platform/#for-validation_1","title":"For validation","text":"

yarn lint

yarn check-ts

"},{"location":"development/platform/#for-testing_1","title":"For testing","text":"

yarn test

"},{"location":"development/platform/#worker","title":"Worker","text":"

Running a worker is required when you want to develop on the ingestion or import/export connectors.

"},{"location":"development/platform/#python-virtual-env_1","title":"Python virtual env","text":"
cd ~/opencti/opencti-worker/src\npython3 -m venv .venv --prompt \"worker\"\nsource .venv/bin/activate\npip3 install --upgrade pip wheel setuptools\npip3 install -r requirements.txt\ndeactivate\n
"},{"location":"development/platform/#install-start_2","title":"Install / start","text":"
cd ~/opencti/opencti-worker/src\nsource .venv/bin/activate\npython worker.py\n
"},{"location":"development/platform/#connectors_1","title":"Connectors","text":"

For connectors development, please take a look to Connectors development dedicated page.

"},{"location":"development/platform/#production-build","title":"Production build","text":"

Based on development source you can build the package for production. This package will be minified and optimized with esbuild.

$ cd opencti-frontend\n$ yarn build\n$ cd ../opencti-graphql\n$ yarn build\n

After the build you can start the production build with yarn serv. This build will use the production.json configuration file

$ cd ../opencti-graphql\n$ yarn serv\n
"},{"location":"development/python/","title":"Python library","text":"

The PyCTI library is the official Python client for OpenCTI. It is made to help developers interact with the openCTI plaform.

"},{"location":"development/python/#installation","title":"Installation","text":"

To install the latest Python client library, please use pip:

$ pip3 install pycti\n
"},{"location":"development/python/#using-the-helper-functions","title":"Using the helper functions","text":"

The main class OpenCTIApiClient contains all what you need to interact with the platform, you just have to initialize it.

The following example shows how you create an indicator in OpenCTI using the python library with TLP marking and OpenCTI compatible date format.

from dateutil.parser import parse\nfrom pycti import OpenCTIApiClient\nfrom stix2 import TLP_GREEN\n\n# OpenCTI API client initialization\nopencti_api_client = OpenCTIApiClient(\"https://myopencti.server\", \"mysupersecrettoken\")\n\n# Define an OpenCTI compatible date\ndate = parse(\"2019-12-01\").strftime(\"%Y-%m-%dT%H:%M:%SZ\")\n\n# Get the OpenCTI marking for stix2 TLP_GREEN\nTLP_GREEN_CTI = opencti_api_client.marking_definition.read(id=TLP_GREEN[\"id\"])\n\n# Use the client to create an indicator in OpenCTI\nindicator = opencti_api_client.indicator.create(\n    name=\"C2 server of the new campaign\",\n    description=\"This is the C2 server of the campaign\",\n    pattern_type=\"stix\",\n    pattern=\"[domain-name:value = 'www.5z8.info']\",\n    x_opencti_main_observable_type=\"IPv4-Addr\",\n    valid_from=date,\n    update=True,\n    markingDefinitions=[TLP_GREEN_CTI[\"id\"]],\n)\n
"},{"location":"development/python/#examples","title":"Examples","text":"

A suite of illustrative examples is available in the PyCTI GitHub repository to aid in better understanding.

"},{"location":"reference/api/","title":"GraphQL API","text":"

OpenCTI provides a comprehensive API based on GraphQL, allowing users to perform various actions programmatically. The API enables users to interact with OpenCTI's functionality and data, offering a powerful tool for automation, integration, and customization. All actions that can be performed through the platform's graphical interface are also achievable via the API.

"},{"location":"reference/api/#authentication","title":"Authentication","text":"

Access to the OpenCTI API requires authentication using standard authentication mechanisms. Access rights to data via the API will be determined by the access privileges of the user associated with the API key. For authentication, users need to include the following headers in their API requests:

Content-Type: application/json\nAuthorization: Bearer [API key]\n
"},{"location":"reference/api/#documentation","title":"Documentation","text":"

The OpenCTI API consists of various endpoints corresponding to different functionalities and operations within the platform. These endpoints allow users to perform actions such as querying data, creating or updating entities, and more. Users can refer to the Understand GraphQL section to understand how it works.

Documentation for the OpenCTI API, including schema definitions, the list of filters available and queryable fields, is available through the OpenCTI platform. It can be found on the GraphQL playground. However, query examples and mutation examples are not yet available. In the meantime, users can explore the available endpoints and their functionality by inspecting network traffic in the browser's developer tools or by examining the source code of the Python client.

"},{"location":"reference/api/#understand-graphql","title":"Understand GraphQL","text":"

GraphQL is a powerful query language for APIs that enables clients to request exactly the data they need. Unlike traditional REST APIs, which expose fixed endpoints and return predefined data structures, GraphQL APIs allow clients to specify the shape and structure of the data they require.

"},{"location":"reference/api/#core-concepts","title":"Core concepts","text":""},{"location":"reference/api/#schema-definition-language-sdl","title":"Schema Definition Language (SDL)","text":"

GraphQL APIs are defined by a schema, which describes the types of data that can be queried and the relationships between them. The schema is written using the Schema Definition Language (SDL), which defines types, fields, and their relationships.

"},{"location":"reference/api/#query-language","title":"Query language","text":"

GraphQL uses a query language to request data from the server. Clients can specify exactly which fields they need and how they are related, enabling precise data retrieval without over-fetching or under-fetching.

Example:

query IntrusionSets {\n    intrusionSets (\n        filters:\n        {\n            mode: and,\n            filters: [\n                {\n                    key: \"name\",\n                    values: [\"Ajax Security Team\"],\n                    operator: eq,\n                    mode: or,\n                }\n            ],\n            filterGroups: [],\n        }\n    )\n    {\n        edges{\n            node{\n                id\n                name\n                description\n                externalReferences{\n                    edges{\n                        node{\n                            url\n                            source_name\n                        }\n                    }\n                }\n            }\n        }\n    }\n}\n
"},{"location":"reference/api/#resolvers","title":"Resolvers","text":"

Resolvers are functions responsible for fetching the requested data. Each field in the GraphQL schema corresponds to a resolver function, which determines how to retrieve the data from the underlying data sources.

"},{"location":"reference/api/#how-it-works","title":"How it Works","text":"
  1. Schema definition: The API provider defines a GraphQL schema using SDL, specifying the types and fields available for querying.
  2. Query execution: Clients send GraphQL queries to the server, specifying the data they need. The server processes the query, resolves each field, and constructs a response object with the requested data.
  3. Validation and execution: The server validates the query against the schema to ensure it is syntactically and semantically correct. If validation passes, the server executes the query, invoking the appropriate resolver functions to fetch the requested data.
  4. Data retrieval: Resolvers fetch data from the relevant data sources, such as databases, APIs, or other services. They transform the raw data into the shape specified in the query and return it to the client.
  5. Response formation: Once all resolvers have completed, the server assembles the response object containing the requested data and sends it back to the client.
"},{"location":"reference/api/#external-resources","title":"External Resources","text":"

For a more in-depth understanding of GraphQL and its usage, consider exploring the following external resources:

"},{"location":"reference/data-intelligence/","title":"Data intelligence","text":"

As a cyber threat intelligence platform, OpenCTI offers functionalities that enable users to move quickly from raw data to operational intelligence by building up high-quality, structured information.

To do so, the platform provides a number of essential capabilities, such as automated data deduplication, merging of similar entities while preserving relationship integrity, the ability to modulate the confidence levels on your intelligence, and the presence of inference rules to automate the creation of logical relationships among your data.

The purpose of this page is to list the features of the platform that contribute to the intelligibility and quality of intelligence.

"},{"location":"reference/data-intelligence/#deduplication","title":"Deduplication","text":"

The first essential data intelligence mechanism in OpenCTI is the deduplication of information and relations.

This advanced functionality not only enables you to check whether a piece of data, information or a relationship is not a duplicate of an existing element, but will also, under certain conditions, enrich the element already present.

If the new duplicated entity has new content, the pre-existing entity can be enriched with the new information from the duplicate.

It works as follows (see details in the dedicated page):

The ability to update and enrich is determined by the confidence level and quality level of the entities and relationships (see diagram on page deduplication).

"},{"location":"reference/data-intelligence/#merging","title":"Merging","text":"

OpenCTI's merging function is one of the platform's crucial data intelligence elements.

From the Data > Entities tab, this feature lets you merge up to 4 entities of the same type. A parent entity is selected and assigned up to three child entities.

The benefit of this feature is to centralize a number of similar elements from different sources without losing data or degrading the quality of the information. During merging, the platform will create relationships to anchor all the data to the consolidated entity.

This enrichment function consolidates the data and avoids duplication, but above all initiates a structured intelligence process while preserving the integrity of pre-existing relationships as presented here.

"},{"location":"reference/data-intelligence/#confidence-level-and-data-segregation","title":"Confidence level and data segregation","text":"

Another key element of OpenCTI's data intelligence is its ability to apply confidence levels and to segregate the data present in the platform.

The confidence level is directly linked to users and Role Based Access Control. It is applied to a user directly or indirectly via the confidence level of the group to which the user belongs. This element is fundamental as it defines the levels of data manipulation to which the user (real or connector) is entitled.

The correct application of confidence levels is all the more important as it will determine the confidence level of the data manipulated by a user. It is therefore a decisive mechanism, since it underpins the confidence you have in the content of your instance.

While it is important to apply a level of trust to your users or groups, it is also important to define a way of categorizing and protecting your data.

Data segregation makes it possible to apply marking definitions and therefore establish a standardized framework for classifying data.

These marking definitions, like the classic Traffic Light Protocols (TLP) implemented by default in the platform, will determine whether a user can access a specific data set. The marking will be applied at the group level to which the user belongs, which will determine the data to which the user has access and therefore the data that the user can potentially handle.

"},{"location":"reference/data-intelligence/#inference-rules","title":"Inference rules","text":"

In OpenCTI, data intelligence is not just about the ability to segregate, qualify or enrich data. OpenCTI's inference rules enable you to mobilize the data on your platform effectively and operationally.

These predefined rules enable the user to speed up cyber threat management. For example, inferences can be used to automatically identify incidents based on a sighting, to create sightings on observables based on new observed data, to propagate relationships based on an observable, etc.

In all, the platform includes some twenty high-performance inference rules that considerably speed up the analysis and response to threats (see the full list here).

These rules are based on a logical interpretation of the data, resulting in a pre-analysis of the information by creating relationships that will enrich the intelligence in the platform. There are three main benefits: efficiency, completeness and accuracy. These user benefits can be found here.

Note: If these rules are present in the platform, they are not activated by default.

Once activated, they scan all the data in your platform in the background to identify all the existing relationships that meet the conditions of the rules. Then, the rules operate continuously to create relationships. If you deactivate a rule, all the objects and relationships it has created will be deleted.

These actions can only be carried out by an administrator of the instance.

"},{"location":"reference/data-model/","title":"Data model","text":"

Under construction

This page will be automatically generated to reference the platform's data model. We are doing our best to implement this automatic generation as quickly as possible.

"},{"location":"reference/filters-migration/","title":"Filters format migration for OpenCTI 5.12","text":"

The version 5.12 of OpenCTI introduces breaking changes to the filters format used in the API. This documentation describes how you can migrate your scripts or programs that call the OpenCTI API, when updating from a version of OpenCTI inferior to 5.12.

"},{"location":"reference/filters-migration/#why-this-migration","title":"Why this migration?","text":"

Before OpenCTI 5.12, it was not possible to construct complex filters combinations: we couldn't embed filters within filters, used different boolean modes (and/or), filter on all available attributes or relations for a given entity type, or even test for empty fields of any sort.

Legacy of years of development, the former format and filtering mechanics were not adapted for such task, and a profound refactoring was necessary to make it happen.

Here are the main pain points we identified beforehand:

// filter formats in OpenCTI < 5.12\n\ntype Filter = {\n    key: string, // a key in the list of the available filter keys for given the entity type\n    values: string[],\n    operator: string,\n    filterMode: 'and' | 'or',\n}\n\n// \"give me Reports labelled with labelX or labelY\"\nconst filters = [\n  { \n    \"key\": \"entity_type\",\n    \"values\": [\"Report\"],\n    \"operator\": \"eq\",\n    \"filterMode\": \"or\"\n  },\n  { \n    \"key\": \"labelledBy\",\n    \"values\": [\"<id-for-labelX>\", \"<id-for-labelY>\"],\n    \"operator\": \"eq\",\n    \"filterMode\": \"or\"\n  },\n]\n

The new format brings a lot of short-term benefits and is compatible with our long-term vision of the filtering capabilities in OpenCTI. We chose a simple recursive structure that allow complex combination of any sort with respect to basic boolean logic.

The list of operator is fixed and can be extended during future developments.

// filter formats in OpenCTI >= 5.12\n\ntype FilterGroup = {\n  mode: 'and' | 'or'\n  filters: Filter[]\n  filterGroups: FilterGroup[] // recursive definition\n}\n\ntype Filter  = {\n  key: string[]\n  values: string[]\n  operator: 'eq' | 'not_eq' | 'gt' // ... and more\n  mode: 'and' | 'or',\n}\n\n// \"give me Reports and RFIs, not marked TLP:RED with labelX or no label\"\nconst filters = {\n  mode: 'and',\n  filters: [\n    { key: 'entity_type', values: ['Report', 'Case-Rfi'], operator: 'eq', mode: 'or', },\n    { key: 'objectMarking', values: ['<id-for-TLP:RED>'], operator: 'not_eq', mode: 'or', },\n  ],\n  filterGroups: [{\n    mode: 'or',\n    filters: [\n      { key: 'objectLabel', values: [\"<id-for-labelX>\"], operator: 'eq', mode: 'or', },\n      { key: 'objectLabel', values: [], operator: 'nil', mode: 'or', },\n    ],\n    filterGroups: [],\n  }],\n};\n

Because changing filters format impacts almost everything in the platform, we decided to do a complete refactoring once and for all. We want this migration process to be clear and easy.

"},{"location":"reference/filters-migration/#what-has-been-changed","title":"What has been changed","text":"

The new filter implementation bring major changes in the way filters are processed and executed.

"},{"location":"reference/filters-migration/#how-to-migrate-your-own-filters","title":"How to migrate your own filters","text":"

We wrote a migration script to convert all stored filters created prior to version 5.12. These filters will thus be migrated automatically when starting your updated platform.

However, you might have your own connectors, queries, or python scripts that use the graphql API or the python client. If this is the case, you must change the filter format if you want to run the code against OpenCTI >= 5.12.

"},{"location":"reference/filters-migration/#filter-conversion","title":"Filter conversion","text":"

To convert filters prior to version 5.12 in the new format:

  1. update the key field if it has been changed in 5.12 (see the conversion table below),
  2. rename the field filterMode in mode
  3. if values contains null, see below for conversion.

Now you can build your new FilterGroup object with:

const oldFilter = {\n    key: 'old_key',\n    values: ['value1', 'value2'],\n    operator: 'XX',\n    filterMode: 'XX',\n}\n\nconst convertedFilter = {\n    key: 'converted_key_if_necessary',\n    values: ['value1', 'value2'],\n    operator: 'XX',\n    mode: 'XX',\n}\n\nconst newFilters = {\n    mode: 'and',\n    filters: [convertedFilter1, convertedFilter2...], // array with all converted filters\n    filterGroups: [],\n}\n

If values contains a null value, you need to convert the filter by using the new nil / not_nil operators. Here's the procedure:

  1. Extract one filter dedicated to null

    • if operator was 'eq', switch to operator: 'nil' / if operator was not_eq, switch to operator = 'not_nil'
    • values = []
  2. Extract another filter for all the other values.

// \"Must have a label that is not Label1 or Label2\"\nconst oldFilter = {\n    key: 'labelledBy',\n    values: [null, 'id-for-Label1', 'id-for-Label2'],\n    operator: 'not_eq',\n    filterMode: 'and',\n}\n\nconst newFilters = {\n    mode: 'and',\n    filters: [\n      {\n        key: 'objectLabel',\n        values: ['id-label-1', 'id-for-Label2'],\n        operator: 'not_eq',\n        mode: 'and',\n      },\n      {\n        key: 'objectLabel',\n        values: [],\n        operator: 'not_nil',\n        mode: 'and',\n      },\n    ],\n    filterGroups: [],\n}\n

Switch to nested filter to preserve logic

To preserve the logic of your old filter you might need to compose nested filter groups. This could happen for instance when using eq operator with null values for one filter, combined in and mode with other filters.

"},{"location":"reference/filters-migration/#filter-keys-conversion-table","title":"Filter keys conversion table","text":"

Make sure you address all the filter keys that require conversion, following the map below:

// array of [oldKey, newKey] for the renamed keys\nconst keyConversion = [\n    ['labelledBy', 'objectLabel'],\n    ['markedBy', 'objectMarking'],\n    ['objectContains', 'objects'],\n    ['killChainPhase', 'killChainPhases'],\n    ['assigneeTo', 'objectAssignee'],\n    ['participant', 'objectParticipant'],\n    ['creator', 'creator_id'],\n    ['hasExternalReference', 'externalReferences'],\n    ['hashes_MD5', 'hashes.MD5'],\n    ['hashes_SHA1', 'hashes.SHA-1'],\n    ['hashes_SHA256', 'hashes.SHA-256'],\n    ['hashes_SHA512', 'hashes.SHA-512']\n]\n
"},{"location":"reference/filters-migration/#examples","title":"Examples","text":""},{"location":"reference/filters-migration/#simple-example","title":"Simple example","text":"

Let's start with a simple case:

All Reports with label \"label1\" or \"label2\"

(entity_type = Report) AND (label = label1 OR label2)

const oldBackendFilter = [\n  {\n    key: 'entity_type',\n    values: ['Report'],\n    operator: 'eq',\n    filterMode: 'or',\n  },\n  {\n   key: 'labelledBy',\n    values: [label1_id, label2_id],\n    operator: 'eq',\n    filterMode: 'or',\n  },\n];\n\nconst newFilters = {\n  mode: 'and',\n  filters: [\n    {\n      key: 'entity_type',\n      values: ['Report'],\n      operator: 'eq',\n      mode: 'or',\n    },\n    {\n      key: 'objectLabel',\n      values: [label1_id, label2_id],\n      operator: 'eq',\n      mode: 'or',\n    }\n  ],\n  filterGroups: [],\n};\n
"},{"location":"reference/filters-migration/#complex-example","title":"Complex example","text":"

Now let's see a more complex case involving filter group nesting:

\"All Reports that have either the label \"label1\" or \"label2\", or no label at all\"

(entity_type = Report) AND (label = \"No label\" OR label1 OR label2)

const oldBackendFilter = [\n    {\n      key: 'labelledBy',\n      values: [label1_id, label2_id, null],\n      operator: 'eq',\n      filterMode: 'or',\n    },\n    {\n      key: 'entity_type',\n      values: ['Report'],\n      operator: 'eq',\n      filterMode: 'or',\n    },\n];\n\nconst newFilters = {\n    mode: 'and',\n    filters: [\n      {\n        key: 'entity_type',\n        values: ['Report'],\n        operator: 'eq',\n        mode: 'or',\n      },\n    ],\n    // the combination mode/operator in this case requires nested filter groups\n    filterGroups: [\n      {\n        mode: 'or',\n        filters: [\n          {\n            key: 'objectLabel',\n            values: [label1_id, label2_id],\n            operator: 'eq',\n            mode: 'or',\n          },\n          {\n            key: 'objectLabel',\n            operator: 'nil',\n            values: [], // empty, does not matter\n            mode: 'or', // and/or, does not matter \n          },\n        ],\n        filterGroups: [],\n      }\n    ],\n};\n
"},{"location":"reference/filters-migration/#residual-dynamic-filters","title":"Residual dynamic filters","text":"

Dynamic filters are not stored in the database, they enable to filter view in the UI, e.g. filters in entities list, investigations, knowledge graphs. They are saved as URL parameters, and can be saved in local storage.

These filters are not migrated automatically and are lost when moving to 5.12. This concerns the filters saved for each view, that are restored when coming back to the same view. You will need to reconstruct the filters by hand in the UI; these new filters will be properly saved and restored afterward.

Also, when going to an url with filters in the old format, OpenCTI will display a warning and remove the filter parameters. Only URLs built by OpenCTI 5.12 are compatible with it, so you will need to reconstruct the filters by hand and save / share your updated links.

"},{"location":"reference/filters/","title":"Filter knowledge","text":"

In OpenCTI, you can filter data to target or view entities that have particular attributes.

"},{"location":"reference/filters/#filters-usages","title":"Filters usages","text":"

There are two types of filters that are used in many locations in the platform:

"},{"location":"reference/filters/#dynamic-filters","title":"Dynamic filters","text":"

Dynamic filters are not stored in the database, they enable to filter view in the UI, e.g. filters in entities list, investigations, knowledge graphs.

However, they are still persistent in the platform frontend side. The filters used in a view are saved as URL parameters, so you can save and share links of these filtered views.

Also, your web browser saves in local storage the filters that you are setting in various places of the platform, allowing to retrieve them when you come back to the same view. You can then keep working from where you left of.

"},{"location":"reference/filters/#stored-filters","title":"Stored filters","text":"

Stored filters are attributes of an entity, and are therefore stored in the database. They are stored as an attribute in the object itself, e.g. filters in dashboards, feeds, TAXII collections, triggers, streams, playbooks.

"},{"location":"reference/filters/#create-a-filter","title":"Create a filter","text":"

To create a filter, add every key you need using the 'Add filter' select box. It will give you the possible attributes on which you can filter in the current view.

A grey box appears and allows to select:

  1. the operator to use, and
  2. the values to compare (if the operator is not \"empty\" or \"not_empty\").

You can add as many filters as you want, even use the same key twice with different operators and values.

The boolean modes (and/or) are either global (between every attribute filters) or local (between values inside a filter). Both can be switched with a single click, changing the logic of your filtering.

"},{"location":"reference/filters/#filters-format","title":"Filters format","text":"

Since OpenCTI 5.12, the OpenCTI platform uses a new filter format called FilterGroup. The FilterGroup model enables to do complex filters imbrication with different boolean operators, which extends greatly the filtering capabilities in every part of the platform.

"},{"location":"reference/filters/#structure","title":"Structure","text":"

The new format used internally by OpenCTI and exposed through its API, can be described as below:

// filter formats in OpenCTI >= 5.12\n\ntype FilterGroup = {\n  mode: 'and' | 'or'\n  filters: Filter[]\n  filterGroups: FilterGroup[] // recursive definition\n}\n\ntype Filter  = {\n  key: string[] // or single string (input coercion)\n  values: string[]\n  operator: 'eq' | 'not_eq' | 'gt' // ... and more\n  mode: 'and' | 'or',\n}\n
"},{"location":"reference/filters/#properties","title":"Properties","text":"

In a given filter group, the mode (and or or) represents the boolean operation between the different filters and filterGroups arrays. The filters and filterGroups arrays are composed of objects of type Filter and FilterGroup.

The Filter has 4 properties:

"},{"location":"reference/filters/#operators","title":"Operators","text":"

The available operators are:

Value Meaning Additional information eq equal not_eq different gl greater than against textual values, the alphabetical ordering is used gte greater than or equal against textual values, the alphabetical ordering is used lt lower than against textual values, the alphabetical ordering is used lte lower than or equal against textual values, the alphabetical ordering is used nil empty / no value nil do not require anything inside values not_nil non-empty / any value not_nil do not require anything inside values

In addition, there are operators:

There is a small difference between search and contains. search finds any occurrence of specified words, regardless of order, while \"contains\" specifically looks for the exact sequence of words you provide.

Always use single-key filters

Multi-key filters are not supported across the platform and are reserved to specific, internal cases.

"},{"location":"reference/filters/#examples","title":"Examples","text":"

entity_type = 'Report'

filters = {\n    mode: 'and',\n    filters: [{\n        key: 'entity_type',\n        values: ['Report'],\n        operator: 'eq',\n        mode: 'or', // useless here because values contains only one value\n    }],\n    filterGroups: [],\n};\n

(entity_type = 'Report') AND (label = 'label1' OR 'label2')

filters = {\n    mode: 'and',\n    filters: [\n        {\n            key: 'entity_type',\n            values: ['Report'],\n            operator: 'eq',\n            mode: 'or',\n        },\n        {\n            key: 'objectLabel',\n            values: ['label1', 'label2'],\n            operator: 'eq',\n            mode: 'or',\n        }\n    ],\n    filterGroups: [],\n};\n

(entity_type = 'Report') AND (confidence > 50 OR marking is empty)

filters = {\n    mode: 'and',\n    filters: [\n        {\n            key: 'entity_type',\n            values: ['Report'],\n            operator: 'eq',\n            mode: 'or',\n        }\n    ],\n    filterGroups: [\n        {\n            mode: 'or',\n            filters: [\n                {\n                    key: 'confidence',\n                    values: ['50'],\n                    operator: 'gt',\n                    mode: 'or',\n                },\n                {\n                    key: 'objectMarking',\n                    values: [],\n                    operator: 'nil',\n                    mode: 'or',\n                },\n            ],\n            filterGroups: [],\n        }\n    ],\n};\n
"},{"location":"reference/filters/#keys","title":"Keys","text":""},{"location":"reference/filters/#filter-keys-validation","title":"Filter keys validation","text":"

Only a specific set of key can be used in the filters.

Automatic key checking prevents typing error when constructing filters via the API. If a user write an unhandled key (object-label instead of objectLabel for instance), the API will return an error instead of an empty list. Doing so, we make sure the platform do not provide misleading results.

"},{"location":"reference/filters/#regular-filter-keys","title":"Regular filter keys","text":"

For an extensive list of available filter keys, refer to the attributes and relations schema definitions.

Here are some of the most useful keys as example. NB: X refers here to the filtered entities.

"},{"location":"reference/filters/#special-filter-keys","title":"Special filter keys","text":"

Some keys do not exist in the schema definition, but are allowed in addition. They describe a special behavior.

It is the case for:

For some keys, negative equality filtering is not supported yet (not_eq operator). For instance, it is the case for:

The regardingOf filter key has a special format and enables to target the entities having a relationship of a certain type with certain entities. Here is an example of filter to fetch the entities related to the entity X:

filters = {\n  mode: 'and',\n  filters: [\n    {\n      key: 'regardingOf',\n      values: [\n        { key: 'id', values: ['id-of-X'] },\n        { key: 'relationship_type', values: ['related-to'] },\n      ],\n    },\n  ],\n  filterGroups: [],\n};\n
"},{"location":"reference/filters/#limited-support-in-stream-events-filtering","title":"Limited support in stream events filtering","text":"

Filters that are run against the event stream are not using the complete schema definition in terms of filtering keys.

This concerns:

For filters used in this context, only some keys are supported for the moment:

"},{"location":"reference/fips/","title":"SSL FIPS 140-2 deployment","text":""},{"location":"reference/fips/#introduction","title":"Introduction","text":"

For organizations that need to deploy OpenCTI in a SSL FIPS 140-2 compliant environment, we provide FIPS compliant OpenCTI images for all components of the platform. Please note that you will also need to deploy dependencies (ElasticSearch / OpenSearch, Redis, etc.) with FIPS 140-2 SSL to have the full compliant OpenCTI technological stack.

OpenCTI SSL FIPS 140-2 compliant builds

The OpenCTI platform, workers and connectors SSL FIPS 140-2 compliant images are based on packaged Alpine Linux with OpenSSL 3 and FIPS mode enabled maintened by the Filigran engineering team.

"},{"location":"reference/fips/#dependencies","title":"Dependencies","text":""},{"location":"reference/fips/#aws-native-services-in-fedramp-compliant-environment","title":"AWS Native Services in FedRAMP compliant environment","text":"

It is important to remind that OpenCTI is fully compatible with AWS native services and all dependencies are available in both FedRAMP Moderate (East / West) and FedRAMP High (GovCloud) scopes.

"},{"location":"reference/fips/#elasticsearch-opensearch","title":"ElasticSearch / OpenSearch","text":"

ElasticSearch is known to be compatible with FIPS 140-2 SSL using the proper JVM. There is a comprehensive guide in the Elastic documentation.

Alternatively, please note that Elastic is also providing an ElasticSearch FedRAMP authorized cloud offering.

"},{"location":"reference/fips/#redis","title":"Redis","text":"

Redis does not provide FIPS 140-2 SSL compliant Docker images but supports very well custom tls-ciphersuites that can be configured to use the system FIPS 140-2 OpenSSL library.

Alternatively, you can use a Stunnel TLS endpoint to ensure encrypted communication between OpenCTI and Redis. There are a few examples available, here or here.

"},{"location":"reference/fips/#rabbitmq","title":"RabbitMQ","text":"

RabbitMQ does not provide FIPS 140-2 SSL compliant Docker images but, as Redis, supports custom cipher suites. Also, it is confirmed since RabbitMQ version 3.12.5, the associated Erlang build (> 26.1), supports FIPS mode on OpenSSL 3.

Alternatively, you can use a Stunnel TLS endpoint to ensure encrypted communication between OpenCTI and RabbitMQ.

"},{"location":"reference/fips/#s3-bucket-minio","title":"S3 Bucket / MinIO","text":"

If you cannot use an S3 endpoint already deployed in your FIPS 140-2 SSL compliant environment, MinIO provides FIPS 140-2 SSL compliant Docker images which then are very easy to deploy within your environment.

"},{"location":"reference/fips/#opencti-stack","title":"OpenCTI stack","text":""},{"location":"reference/fips/#platform","title":"Platform","text":"

For the platform, we provide FIPS 140-2 SSL compliant Docker images. Just use the appropriate tag to ensure you are deploying the FIPS compliant version and follow the standard Docker deployment procedure.

"},{"location":"reference/fips/#worker","title":"Worker","text":"

For the worker, we provide FIPS 140-2 SSL compliant Docker images. Just use the appropriate tag to ensure you are deploying the FIPS compliant version and follow the standard Docker deployment procedure.

"},{"location":"reference/fips/#connectors","title":"Connectors","text":"

All connectors have FIPS 140-2 SSL compliant Docker images. For each connector you need to deploy, please use the tag {version}-fips instead of {version} and follow the standard deployment procedure. An example is available on Docker Hub.

"},{"location":"reference/streaming/","title":"Data Streaming","text":""},{"location":"reference/streaming/#presentation","title":"Presentation","text":"

In order to provide a real time way to consume STIX CTI information, OpenCTI provides data events in a stream that can be consumed to react on creation, update, deletion and merge. This way of getting information out of OpenCTI is highly efficient and already use by some connectors.

"},{"location":"reference/streaming/#technology","title":"Technology","text":""},{"location":"reference/streaming/#redis-stream","title":"Redis stream","text":"

OpenCTI is currently using REDIS Stream as the technical layer. Each time something is modified in the OpenCTI database, a specific event is added in the stream.

"},{"location":"reference/streaming/#sse-protocol","title":"SSE protocol","text":"

In order to provide a really easy consuming protocol we decide to provide a SSE (https://fr.wikipedia.org/wiki/Server-sent_events) HTTP URL linked to the standard login system of OpenCTI. Any user with the correct access rights can open and access http://opencti_instance/stream, and open an SSE connection to start receiving live events. You can of course consume directly the stream in Redis, but you will have to manage access and rights directly.

"},{"location":"reference/streaming/#events-format","title":"Events format","text":"
id: {Event stream id} -> Like 1620249512318-0\nevent: {Event type} -> create / update / delete\ndata: { -> The complete event data\n    version -> The version number of the event\n    type -> The inner type of the event\n    scope -> The scope of the event [internal or external]\n    data: {STIX data} -> The STIX representation of the data.\n    message -> A simple string to easy understand the event\n    origin: {Data Origin} -> Complex object with different information about the origin of the event\n    context: {Event context} -> Complex object with meta information depending of the event type\n}\n

It can be used to consume the stream from this specific point.

"},{"location":"reference/streaming/#stix-data","title":"STIX data","text":"

The current stix data representation is based on the STIX 2.1 format using extension mechanism. Please take a look to the STIX documentation for more information.

"},{"location":"reference/streaming/#create","title":"Create","text":"

It's simply the data created in STIX format.

"},{"location":"reference/streaming/#delete","title":"Delete","text":"

It's simply the data in STIX format just before his deletion. You will also find the automated deletions in context due to automatic dependency management.

{\n  \"context\": {\n      \"deletions\": [{STIX data}]\n  }\n}\n
"},{"location":"reference/streaming/#update","title":"Update","text":"

This event type publish the complete STIX data information along with patches information. Thanks to the patches, it's possible to rebuild the previous version and easily understand what happens in the update.

Patch and reverse_patch follow the official jsonpatch specification. You can find more information on the jsonpatch page

{\n  \"context\": {\n      \"patch\": [/* patch operation object */],\n      \"reverse_patch\": [/* patch operation object */]\n  }\n}\n
"},{"location":"reference/streaming/#merge","title":"Merge","text":"

Merge is a combination of an update of the merge targets and deletions of the sources. In this event you will find the same patch and reverse_patch as an update and the list of elements merged into the target in the \"sources\" attribute.

{\n  \"context\": {\n      \"patch\": [/* patch operation object */],\n      \"reverse_patch\": [/* patch operation object */],\n      \"sources\": [{STIX data}]\n  }\n}\n
"},{"location":"reference/streaming/#stream-types","title":"Stream types","text":"

In OpenCTI we propose 2 types of streams.

"},{"location":"reference/streaming/#base-stream","title":"Base stream","text":"

The stream hosted in /stream url contains all the raw events of the platform, always filtered by the user rights (marking based). It's a technical stream a bit complex to used but very useful for internal processing or some specific connectors like backup/restore.

This stream is live by default but if, you want to catchup, you can simply add the from parameter to your query. This parameter accept a timestamp in millisecond and also an event id, e.g. http://localhost/stream?from=1620249512599

Stream size?

The raw stream is really important in the platform and needs te be sized according to the period of retention you want to ensure. More retention you will have, more security about reprocessing the past information you will get. We usually recommand 1 month of retention, that usually match 2 000 000 of events. This limit can be configured with redis:trimming option, please check deployment configuration page.

"},{"location":"reference/streaming/#live-stream","title":"Live stream","text":"

This stream aims to simplify your usage of the stream through the connectors, providing a way to create stream with specific filters through the UI. After creating this stream, is simply accessible from /stream/{STREAM_ID}.

It's very useful for various cases of data externalization, synchronization, like SPLUNK, TANIUM...

This stream provides different interesting mechanics:

If you want to dig in about the internal behavior you can check this complete diagram:

"},{"location":"reference/streaming/#general-options","title":"General options","text":""},{"location":"reference/streaming/#from-and-recover","title":"From and Recover","text":"

From and recover are 2 different options that need to be explains.

This difference will be transparent for the consumer but very important to get old information as an initial snapshot. This also let you consume information that is no longer in the stream retention period.

The next diagram will help you to understand the concept:

"},{"location":"reference/taxonomy/","title":"Taxonomy","text":"

In OpenCTI, taxonomies serve as structured classification systems that aid in organizing and categorizing intelligence data. This reference guide provides an exhaustive description of the platform's customizable fields within the taxonomies' framework. Users can modify, add, or delete values within the available vocabularies to tailor the classification system to their specific requirements.

For broader documentation on the taxonomies section, please consult the appropriate page.

"},{"location":"reference/taxonomy/#vocabularies","title":"Vocabularies","text":"

Default values are based on those defined in the STIX standard but can be tailored to better suit the organization's needs.

Name Used in Default value Account type vocabulary (account-type-ov) User account facebook, ldap, nis, openid, radius, skype, tacacs, twitter, unix, windows-domain, windows-local Attack motivation vocabulary (attack-motivation-ov) Threat actor group accidental, coercion, dominance, ideology, notoriety, organizational-gain, personal-gain, personal-satisfaction, revenge, unpredictable Attack resource level vocabulary (attack-resource-level-ov) Threat actor group club, contest, government, individual, organization, team Case priority vocabulary (case_priority_ov) Incident response P1, P2, P3, P4 Case severity vocabulary (case_severity_ov) Incident response critical, high, medium, low Channel type vocabulary (channel_type_ov) Channel Facebook, Twitter Collection layers vocabulary (collection_layers_ov) Data source cloud-control-plane, container, host, network, OSINT Event type vocabulary (event_type_ov) Event conference, financial, holiday, international-summit, local-election, national-election, sport-competition Eye color vocabulary (eye_color_ov) Threat actor individual black, blue, brown, green, hazel, other Gender vocabulary (gender_ov) Threat actor individual female, male, nonbinary, other Grouping context vocabulary (grouping_context_ov) Grouping malware-analysis, suspicious-activity, unspecified Hair color vocabulary vocabulary (hair_color_ov) Threat actor individual bald, black, blond, blue, brown, gray, green, other, red Implementation language vocabulary (implementation_language_ov) Malware applescript, bash, c, c++, c#, go, java, javascript, lua, objective-c, perl, php, powershell, python, ruby, scala, swift, typescript, visual-basic, x86-32, x86-64 Incident response type vocabulary (incident_response_type_ov) Incident response data-leak, ransomware Incident severity vocabulary (incident_severity_ov) Incident critical, high, medium, low Incident type vocabulary (incident_type_ov) Incident alert, compromise, cybercrime, data-leak, information-system-disruption, phishing, reputation-damage, typosquatting Indicator type vocabulary (indicator_type_ov) Indicator anomalous-activity, anonymization, attribution, benign, compromised, malicious-activity, unknown Infrastructure type vocabulary (infrastructure_type_ov) Infrastructure amplification, anonymization, botnet, command-and-control, control-system, exfiltration, firewall, hosting-malware, hosting-target-lists, phishing, reconnaissance, routers-switches, staging, unknown, workstation Integrity level vocabulary (integrity_level_ov) Process high, medium, low, system Malware capabilities vocabulary (malware_capabilities_ov) Malware accesses-remote-machines, anti-debugging, anti-disassembly, anti-emulation, anti-memory-forensics, anti-sandbox, anti-vm, captures-input-peripherals, captures-output-peripherals, captures-system-state-data, cleans-traces-of-infection, commits-fraud, communicates-with-c2, compromises-data-availability, compromises-data-integrity, compromises-system-availability, controls-local-machine, degrades-security-software, degrades-system-updates, determines-c2-server, emails-spam, escalates-privileges, evades-av, exfiltrates-data, fingerprints-host, hides-artifacts, hides-executing-code, infects-files, infects-remote-machines, installs-other-components, persists-after-system-reboot, prevents-artifact-access, prevents-artifact-deletion, probes-network-environment, self-modifies, steals-authentication-credentials, violates-system-operational-integrity Malware result vocabulary (malware_result_ov) Malware analysis benign, malicious, suspicious, unknown Malware type vocabulary (malware_type_ov) Malware adware, backdoor, bootkit, bot, ddos, downloader, dropper, exploit-kit, keylogger, ransomware, remote-access-trojan, resource-exploitation, rogue-security-software, rootkit, screen-capture, spyware, trojan, unknown, virus, webshell, wiper, worm Marital status vocabulary (marital_status_ov) Threat actor individual annulled, divorced, domestic_partner, legally_separated, married, never_married, polygamous, separated, single, widowed Note types vocabulary (note_types_ov) Note analysis, assessment, external, feedback, internal Opinion vocabulary (opinion_ov) Opinion agree, disagree, neutral, strongly-agree, strongly-disagree Pattern type vocabulary (pattern_type_ov) Indicator eql, pcre, shodan, sigma, snort, spl, stix, suricata, tanium-signal, yara Permissions vocabulary (permissions_ov) Attack pattern Administrator, root, User Platforms vocabulary (platforms_ov) Data source android, Azure AD, Containers, Control Server, Data Historian, Engineering Workstation, Field Controller/RTU/PLC/IED, Google Workspace, Human-Machine Interface, IaaS, Input/Output Server, iOS, linux, macos, Office 365, PRE, SaaS, Safety Instrumented System/Protection Relay, windows Processor architecture vocabulary (processor_architecture_ov) Malware alpha, arm, ia-64, mips, powerpc, sparc, x86, x86-64 Reliability vocabulary (reliability_ov) Report, Organization A - Completely reliable, B - Usually reliable, C - Fairly reliable, D - Not usually reliable, E - Unreliable, F - Reliability cannot be judged Report types vocabulary (report_types_ov) Report internal-report, threat-report Request for information types vocabulary (request_for_information_types_ov) Request for information none Request for takedown types vocabulary (request_for_takedown_types_ov) Request for takedown brand-abuse, phishing Service status vocabulary (service_status_ov) Process SERVICE_CONTINUE_PENDING, SERVICE_PAUSE_PENDING, SERVICE_PAUSED, SERVICE_RUNNING, SERVICE_START_PENDING, SERVICE_STOP_PENDING, SERVICE_STOPPED Service type vocabulary (service_type_ov) Process SERVICE_FILE_SYSTEM_DRIVER, SERVICE_KERNEL_DRIVER, SERVICE_WIN32_OWN_PROCESS, SERVICE_WIN32_SHARE_PROCESS Start type vocabulary (start_type_ov) Process SERVICE_AUTO_START, SERVICE_BOOT_START, SERVICE_DEMAND_START, SERVICE_DISABLED, SERVICE_SYSTEM_ALERT Threat actor group role vocabulary (threat_actor_group_role_ov) Threat actor group agent, director, independent, infrastructure-architect, infrastructure-operator, malware-author, sponsor Threat actor group sophistication vocabulary (threat_actor_group_sophistication_ov) Threat actor group advanced, expert, innovator, intermediate, minimal, none, strategic Threat actor group type vocabulary (threat_actor_group_type_ov) Threat actor group activist, competitor, crime-syndicate, criminal, hacker, insider-accidental, insider-disgruntled, nation-state, sensationalist, spy, terrorist, unknown Threat actor individual role vocabulary (threat_actor_individual_role_ov) Threat actor individual agent, director, independent, infrastructure-architect, infrastructure-operator, malware-author, sponsor Threat actor individual sophistication vocabulary (threat_actor_individual_sophistication_ov) Threat actor individual advanced, expert, innovator, intermediate, minimal, none, strategic Threat actor individual type vocabulary (threat_actor_individual_type_ov) Threat actor individual activist, competitor, crime-syndicate, criminal, hacker, insider-accidental, insider-disgruntled, nation-state, sensationalist, spy, terrorist, unknown Tool types vocabulary (tool_types_ov) Tool credential-exploitation, denial-of-service, exploitation, information-gathering, network-capture, remote-access, unknown, vulnerability-scanning

"},{"location":"reference/taxonomy/#customization","title":"Customization","text":"

Users can customize the taxonomies by modifying the available values or adding new ones. These modifications enable users to adapt the classification system to their specific intelligence requirements. Additionally, within each vocabulary list, users have the flexibility to customize the order of the dropdown menu associated with the taxonomy. This feature allows users to prioritize certain values or arrange them in a manner that aligns with their specific classification needs. Additionally, users can track the usage count for each vocabulary, providing insights into the frequency of usage and helping to identify the most relevant and impactful classifications. These customization options empower users to tailor the taxonomy system to their unique intelligence requirements, enhancing the efficiency and effectiveness of intelligence analysis within the OpenCTI platform.

"},{"location":"reference/usage-telemetry/","title":"Usage telemetry","text":"

The application collects statistical data related to its usage and performances.

Confidentiality

The OpenCTI platform does not collect any information related to threat intelligence knowledge which remains strictly confidential. Also, the collection is strictly anonymous and personally identifiable information is NOT collected (including IP addresses).

All data collected is anonymized and aggregated to protect the privacy of individual users, in compliance with all privacy regulations.

"},{"location":"reference/usage-telemetry/#purpose-of-the-telemetry","title":"Purpose of the telemetry","text":"

The collected data is used for the following purposes:

"},{"location":"reference/usage-telemetry/#important-thing-to-know","title":"Important thing to know","text":"

The platform send the metrics to the hostname telemetry.filigran.io using the OTLP protocol (over HTTPS). The format of the data is OpenTelemetry JSON.

The metrics push is done every 6 hours if OpenCTI was able to connect to the hostname when the telemetry manager is started. Metrics are also written in specific logs files in order to be included in support package

"},{"location":"reference/usage-telemetry/#telemetry-metrics","title":"Telemetry metrics","text":"

The application collects statistical data related to its usage. Here are an exhaustive list of the collected metrics:

"},{"location":"usage/ask-ai/","title":"Ask AI","text":"

Enterprise edition

Ask AI is available under the \"OpenCTI Enterprise Edition\" license.

Please read the dedicated page to have all information

"},{"location":"usage/ask-ai/#prerequisites-for-using-ask-ai","title":"Prerequisites for using Ask AI","text":"

There are several possibilities for Enterprise Edition customers to use OpenCTI AI endpoints:

Please read the configuration documentation

Beta Feature

Ask AI is a beta feature as we are currently fine-tuning our models. Consider checking important information.

"},{"location":"usage/ask-ai/#how-it-works","title":"How it works","text":"

Even if in the future, we would like to leverage AI to do RAG, for the moment we are mostly using AI to analyze and produce texts or images, based on data directly sent into the prompt.

This means that if you are using Filigran AI endpoint or a local one, your data is never used to re-train or adapt the model and everything relies on a pre-trained and fixed model. When using the Ask AI button in the platform, a prompt is generated with the proper instruction to generate the expected result and use it in the context of the button (in forms, rich text editor etc.).

"},{"location":"usage/ask-ai/#filigran-custom-model","title":"Filigran custom model","text":"

We are hosting a scalable AI endpoint for all SaaS or On-Prem enterprise edition customers, this endpoint is based on MistralAI with a model that will be adapted over time to be more effective when processing threat intelligence related contents.

The model, which is still in beta version, will be adapted in the upcoming months to reach maturity at the end of 2024. It can be shared with on-prem enterprise edition customers under NDA.

"},{"location":"usage/ask-ai/#functionalities-of-ask-ai","title":"Functionalities of Ask AI","text":"

Ask AI is represented by a dedicated icon wherever on of its functionalities is available to use.

"},{"location":"usage/ask-ai/#assistance-for-writing-meaningful-content","title":"Assistance for writing meaningful content","text":"

Ask AI can assist you for writing better textual content, for example better title, name, description and detailed content of Objects.

"},{"location":"usage/ask-ai/#assistance-for-importing-data-from-documents","title":"Assistance for importing data from documents","text":"

Fom the Content tab of a Container (Reports, Groupings and Cases), Ask AI can also assist you for importing data contained in uploaded documents into OpenCTI for further exploitation.

A short video on the FiligranHQ YouTube channel presents tha capabilities of AskAI: https://www.youtube.com/watch?v=lsP3VVsk5ds.

"},{"location":"usage/ask-ai/#improving-generated-elements-of-ask-ai","title":"Improving generated elements of Ask AI","text":"

Be aware that the text quality is highly dependent on the capabilities of the associated LLM.

That is why every generated text by Ask AI is provided in a dedicated panel, allowing you to verify and rectify any error the LLM could have made.

"},{"location":"usage/automation/","title":"Playbooks Automation","text":"

Enterprise edition

Playbooks automation is available under the \"OpenCTI Enterprise Edition\" license. Please read the dedicated page to have all information.

OpenCTI playbooks are flexible automation scenarios which can be fully customized and enabled by platform administrators to enrich, filter and modify the data created or updated in the platform.

Playbook automation is accessible in the user interface under Data > Processing > Automation.

Right needed

You need the \"Manage credentials\" capability to use the Playbooks automation, because you will be able to manipulate data simple users cannot access.

You will then be able to:

"},{"location":"usage/automation/#playbook-philosophy","title":"Playbook philosophy","text":"

Consider Playbook as a STIX 2.1 bundle pipeline.

Initiating with a component listening to a data stream, each subsequent component in the playbook processes a received STIX bundle. These components have the ability to modify the bundle and subsequently transmit the altered result to connected components.

In this paradigm, components can send out the STIX 2.1 bundle to multiple components, enabling the development of multiple branches within your playbook.

A well-designed playbook end with a component executing an action based on the processed information. For instance, this may involve writing the STIX 2.1 bundle in a data stream.

Validate ingestion

The STIX bundle processed by the playbook won't be written in the platform without specifying it using the appropriate component, i.e. \"Send for ingestion\".

"},{"location":"usage/automation/#create-a-playbook","title":"Create a Playbook","text":"

It is possible to create as many playbooks as needed which are running independently. You can give a name and description to each playbook.

The first step to define in the playbook is the \u201ctriggering event\u201d, which can be any knowledge event (create, update or delete) with customizable filters. To do so, click on the grey rectangle in the center of the workspace and choose the component to \"listen knowledge events\". Configure it with adequate filters. You can use same filters as in other part of the platform.

Then you have flexible choices for the next steps to:

Do not forget to start your Playbook when ready, with the Start option of the burger button placed near the name of your Playbook.

By clicking the burger button of a component, you can replace it by another one.

By clicking on the arrow icon in the bottom right corner of a component, you can develop a new branch at the same level.

By clicking the \"+\" button on a link between components, you can insert a component between the two.

"},{"location":"usage/automation/#components-of-playbooks","title":"Components of playbooks","text":""},{"location":"usage/automation/#log-data-in-standard-output","title":"Log data in standard output","text":"

Will write the received STIX 2.1 bundle in platform logs with configurable log level and then send out the STIX 2.1 bundle unmodified.

"},{"location":"usage/automation/#send-for-ingestion","title":"Send for ingestion","text":"

Will pass the STIX 2.1 bundle to be written in the data stream. This component has no output and should end a branch of your playbook.

"},{"location":"usage/automation/#filter-knowledge","title":"Filter Knowledge","text":"

Will allow you to define filter and apply it to the received STIX 2.1 bundle. The component has 2 output, one for data matching the filter and one for the remainder.

By default, filtering is applied to entities having triggered the playbook. You can toggle the corresponding option to apply it to all elements in the bundle (elements that might result from enrichment for example).

"},{"location":"usage/automation/#enrich-through-connector","title":"Enrich through connector","text":"

Will send the received STIX 2.1 bundle to a compatible enrichment connector and send out the modified bundle.

"},{"location":"usage/automation/#manipulate-knowledge","title":"Manipulate knowledge","text":"

Will add, replace or remove compatible attribute of the entities contains in the received STIX 2.1 bundle and send out the modified bundle.

By default, modification is applied to entities having triggered the playbook. You can toggle the corresponding option to apply it to all elements in the bundle (elements that might result from enrichment for example).

"},{"location":"usage/automation/#container-wrapper","title":"Container wrapper","text":"

Will modify the received STIX 2.1 bundle to include the entities into an container of the type you configured. By default, wrapping is applied to entities having triggered the playbook. You can toggle the corresponding option to apply it to all elements in the bundle (elements that might result from enrichment for example).

"},{"location":"usage/automation/#share-with-organizations","title":"Share with organizations","text":"

Will share every entity in the received STIX 2.1 bundle with Organizations you configured. Your platform need to have declared a platform main organization in Settings/Parameters.

"},{"location":"usage/automation/#apply-predefined-rule","title":"Apply predefined rule","text":"

Will apply a complex automation built-in rule. This kind of rule might impact performance. Current rules are:

"},{"location":"usage/automation/#send-to-notifier","title":"Send to notifier","text":"

Will generate a Notification each time a STIX 2.1 bundle is received.

"},{"location":"usage/automation/#promote-observable-to-indicator","title":"Promote observable to indicator","text":"

Will generate indicator based on observables contained in the received STIX 2.1 bundle.

By default, it is applied to entities having triggered the playbook. You can toggle the corresponding option to apply it to all observables in the bundle (e.g. observables that might result from predefined rule).

You can also add all indicators and relationships generated by this component in the entity having triggered the playbook, if this entity is a container.

"},{"location":"usage/automation/#extract-observables-from-indicator","title":"Extract observables from indicator","text":"

Will extract observables based on indicators contained in the received STIX 2.1 bundle.

By default, it is applied to entities having triggered the playbook. You can toggle the corresponding option to apply it to all indicators in the bundle (e.g. indicators that might result from enrichment.

You can also add all observables and relationships generated by this component in the entity having triggered the playbook, if this entity is a container.

"},{"location":"usage/automation/#reduce-knowledge","title":"Reduce Knowledge","text":"

Will elagate the received STIX 2.1 bundle based on the configured filter.

"},{"location":"usage/automation/#monitor-playbook-activity","title":"Monitor playbook activity","text":"

At the top right of the interface, you can access execution trace of your playbook and consult the raw data after every step of your playbook execution.

"},{"location":"usage/background-tasks/","title":"Background tasks","text":"

Three types of tasks are done in the background:

Rule tasks can be seen and activated in Settings > Customization > Rules engine. Knowledge and user tasks can be seen and managed in Data > Background Tasks. The scope of each task is indicated.

"},{"location":"usage/background-tasks/#rule-tasks","title":"Rule tasks","text":"

If a rule task is enabled, it leads to the scan of the whole platform data and the creation of entities or relationships in case a configuration corresponds to the tasks rules. The created data are called 'inferred data'. Each time an event occurs in the platform, the rule engine checks if inferred data should be updated/created/deleted.

"},{"location":"usage/background-tasks/#knowledge-tasks","title":"Knowledge tasks","text":"

Knowledge tasks are background tasks updating or deleting entities and correspond to mass operations on these data. To create one, select entities via the checkboxes in an entity list, and choose the action to perform via the toolbar.

"},{"location":"usage/background-tasks/#rights","title":"Rights","text":""},{"location":"usage/background-tasks/#user-tasks","title":"User tasks","text":"

User tasks are background tasks updating or deleting notifications. It can be done from the Notification section, by selecting several notifications via the checkboxes, and choosing an action via the toolbar.

"},{"location":"usage/background-tasks/#rights_1","title":"Rights","text":""},{"location":"usage/case-management/","title":"Case management","text":""},{"location":"usage/case-management/#why-case-management","title":"Why Case management?","text":"

Compiling CTI data in one place, deduplicate and correlate to transform it into Intelligence is very important. But ultimately, you need to act based on this Intelligence. Some situations will need to be taken care of, like cybersecurity incidents, requests for information or requests for takedown. Some actions will then need to be traced, to be coordinated and oversaw. Some actions will include feedback and content delivery.

OpenCTI includes Cases to allow organizations to manage situations and organize their team's work. Better, by doing Case management in OpenCTI, you handle your cases with all the context and Intelligence you need, at hand.

"},{"location":"usage/case-management/#how-to-manage-your-case-in-opencti","title":"How to manage your Case in OpenCTI?","text":"

Multiple situations can be modelize in OpenCTI as a Case, either an Incident Response, a Request for Takedown or a Request for Information.

All Cases can contain any entities and relationships you need to represent the Intelligence context related to the situation. At the beginning of your case, you may find yourself with only some Observables sighted in a system. At the end, you may have Indicators, Threat Actor, impacted systems, attack patterns. All representing your findings, ready to be presented and exported as graph, pdf report, timeline, etc.

Some Cases may need some collaborative work and specific Tasks to be performed by people that have the skillset for. OpenCTI allows you to associate Tasks in your Cases and assign them to users in the platform. As some type of situation may need the same tasks to be done, it is also possible to pre-define lists of tasks to be applied on your case. You can define these lists by accessing the Settings/Taxonomies/Case templates panel. Then you just need to add it from the overview of your desire Case.

Tip: A user can have a custom dashboard showing him all the tasks that have been assigned to him.

As with other objects in OpenCTI, you can also leverage the Notes to add some investigation and analysis related comments, helping you shaping up the content of your case with unstructured data and trace all the work that have been done.

You can also use Opinions to collect how the Case has been handled, helping you to build Lessons Learned.

To trace the evolution of your Case and define specific resolution worflows, you can use the Status (that can be define in Settings/Taxonomies/Status templates).

At the end of your Case, you will certainly want to report on what have been done. OpenCTI allows you to export the content of the Case in a simple but customizable PDF (currently in refactor). But of course, your company have its own documents' templates, right? With OpenCTI, you will be able to include some nice graphics in it. For example, a Matrix view of the attacker attack pattern or even a graph display of how things are connected.

Also, we are currently working a more meaningfull Timeline view that will be possible to export too.

"},{"location":"usage/case-management/#use-case-example-a-suspicious-observable-is-sighted-by-a-defense-system-is-it-important","title":"Use case example: A suspicious observable is sighted by a defense system. Is it important?","text":""},{"location":"usage/containers/","title":"Containers","text":""},{"location":"usage/containers/#stix-standard","title":"STIX standard","text":""},{"location":"usage/containers/#definition","title":"Definition","text":"

In the STIX 2.1 standard, some STIX Domain Objects (SDO) can be considered as \"container of knowledge\", using the object_refs attribute to refer multiple other objects as nested references. In object_refs, it is possible to refer to entities and relationships.

"},{"location":"usage/containers/#example","title":"Example","text":"
{\n   \"type\": \"report\",\n   \"spec_version\": \"2.1\",\n   \"id\": \"report--84e4d88f-44ea-4bcd-bbf3-b2c1c320bcb3\",\n   \"created_by_ref\": \"identity--a463ffb3-1bd9-4d94-b02d-74e4f1658283\",\n   \"created\": \"2015-12-21T19:59:11.000Z\",\n   \"modified\": \"2015-12-21T19:59:11.000Z\",\n   \"name\": \"The Black Vine Cyberespionage Group\",\n   \"description\": \"A simple report with an indicator and campaign\",\n   \"published\": \"2016-01-20T17:00:00.000Z\",\n   \"report_types\": [\"campaign\"],\n   \"object_refs\": [\n      \"indicator--26ffb872-1dd9-446e-b6f5-d58527e5b5d2\",\n      \"campaign--83422c77-904c-4dc1-aff5-5c38f3a2c55c\",\n      \"relationship--f82356ae-fe6c-437c-9c24-6b64314ae68a\"\n   ]\n}\n

In the previous example, we have a nested reference to 3 other objects:

\"object_refs\": [\n   \"indicator--26ffb872-1dd9-446e-b6f5-d58527e5b5d2\",\n   \"campaign--83422c77-904c-4dc1-aff5-5c38f3a2c55c\",\n   \"relationship--f82356ae-fe6c-437c-9c24-6b64314ae68a\"\n]\n
"},{"location":"usage/containers/#implementation","title":"Implementation","text":""},{"location":"usage/containers/#types-of-container","title":"Types of container","text":"

In OpenCTI, containers are displayed differently than other entities, because they contain pieces of knowledge. Here is the list of containers in the platform:

Type of entity STIX standard Description Report Native Reports are collections of threat intelligence focused on one or more topics, such as a description of a threat actor, malware, or attack technique, including context and related details. Grouping Native A Grouping object explicitly asserts that the referenced STIX Objects have a shared context, unlike a STIX Bundle (which explicitly conveys no context). Observed Data Native Observed Data conveys information about cyber security related entities such as files, systems, and networks using the STIX Cyber-observable Objects (SCOs). Note Native A Note is intended to convey informative text to provide further context and/or to provide additional analysis not contained in the STIX Objects. Opinion Native An Opinion is an assessment of the correctness of the information in a STIX Object produced by a different entity. Case Extension A case whether an Incident Response, a Request for Information or a Request for Takedown is used to convey an epic with a set of tasks. Task Extension A task, generally used in the context of a case, is intended to convey information about something that must be done in a limited timeframe."},{"location":"usage/containers/#containers-behavior","title":"Containers behavior","text":"

In the platform, it is always possible to visualize the list of entities and/or observables referenced in a container (Container > Entities or Observables) but also to add / remove entities from the container.

As containers can also contain relationships, which are generally linked to the other entities in the container, it is also possible to visualize the container as a graph (Container > Knowledge)

"},{"location":"usage/containers/#containers-of-an-entity-or-a-relationship","title":"Containers of an entity or a relationship","text":"

On the entity or the relationship side, you can always find all containers where the object is contained using the top menu Analysis:

In all containers list, you can also filter containers based on one or multiple contained object(s):

"},{"location":"usage/dashboards-share/","title":"Share custom dashboards","text":"

OpenCTI provides a simple way to share a visualisation of a custom dashboard to anyone, even for people that are outside of the platform. We call those visualisations: public dashboards.

Public dashboards are a snapshot of a custom dashboard at a specific moment of time. By this way you can share a version of a custom dashboard, then modify your custom dashboard without worrying about the impact on public dashboards you have created.

On the contrary, if you want that your public dashboard is updated with the last version of the associated custom dashboard, you can do it with few clicks by recreating a public dashboard using the same name of the one to update.

To be able to share custom dashboards you need to have the Manage data sharing & ingestion capability.

"},{"location":"usage/dashboards-share/#create-a-public-dashboard","title":"Create a public dashboard","text":"

On the top-right of your custom dashboard page you will find a button that will open a panel to manage the public dashboards associated to this custom dashboard.

In this panel you will find two parts: - At the top you have a form allowing you to create public dashboards, - And below, the list of the public dashboards you have created.

"},{"location":"usage/dashboards-share/#form-to-create-a-new-public-dashboard","title":"Form to create a new public dashboard","text":"

First you need to specify a name for your public dashboard. This name will be displayed on the dashboard page. The name is also used to generate an ID for your public dashboard that will be used in the URL to access the dashboard.

The ID is generated as follow: replace all spaces with symbol - and remove special characters. This ID also needs to be unique in the platform as it is used in the URL to access the dashboard.

Then you can choose if the public dashboard is enabled or not. A disabled dashboard means that you cannot access the public dashboard through the custom URL. But you can still manage it from this panel.

Finally you choose the max level of marking definitions for the data to be displayed in the public dashboard. For example if you choose TLP:AMBER then the data fetched by the widgets inside the public dashboard will be at maximum AMBER, you won't retrieved data with RED marking definition.

Also note that the list of marking definitions you can see is based on your current marking access on the platform and the maximum sharable marking definitions defined by the admin of the platform:

As a platform administrator, you can define, for each type of marking definition, Maximum marking definitions shareable to be shared through Public Dashboard, regardless of the definition set by users in their public dashboard. This configuration is accessible in settings > security > policies (this step is mandatory for creating public dashboards to ensure control over data sharing).

"},{"location":"usage/dashboards-share/#list-of-the-public-dashboards","title":"List of the public dashboards","text":"

When you have created a public dashboard, it will appear in the list below the form.

In this list each item represents a public dashboard you have created. For each you can see its name, path of the URL, max marking definitions, the date of creation, the status to know if the dashboard is enabled or not and some actions.

The possible actions are: copy the link of the public dashboard, disable or enable the dashboard and delete the dashboard.

To share a public dashboard just copy the link and give the URL to the person you want to share with. The dashboard will be visible even if the person is not connected to OpenCTI.

"},{"location":"usage/dashboards/","title":"Custom dashboards","text":"

OpenCTI provides an adaptable and entirely customizable dashboard functionality. The flexibility of OpenCTI's dashboard ensures a tailored and insightful visualization of data, fostering a comprehensive understanding of the platform's knowledge, relationships, and activities.

"},{"location":"usage/dashboards/#dashboard-overview","title":"Dashboard overview","text":"

You have the flexibility to tailor the arrangement of widgets on your dashboard, optimizing organization and workflow efficiency. Widgets can be intuitively placed to highlight key information. Additionally, you can resize widgets from the bottom right corner based on the importance of the information, enabling adaptation to specific analytical needs. This technical flexibility ensures a fluid, visually optimized user experience.

Moreover, the top banner of the dashboard offers a convenient feature to configure the timeframe for displayed data. This can be accomplished through the selection of a relative time period, such as \"Last 7 days\", or by specifying fixed \"Start\" and \"End\" dates, allowing users to precisely control the temporal scope of the displayed information.

"},{"location":"usage/dashboards/#access-control","title":"Access control","text":"

In OpenCTI, the power to create custom dashboards comes with a flexible access control system, allowing users to tailor visibility and rights according to their collaborative needs.

When a user crafts a personalized dashboard, by default, it remains visible only to the dashboard creator. At this stage, the creator holds administrative access rights. However, they can extend access and rights to others using the \"Manage access\" button, denoted by a locker icon, located at the top right of the dashboard page.

Levels of access:

It's crucial to emphasize that at least one user must retain admin access to ensure ongoing management capabilities for the dashboard.

Knowledge access restriction

The platform's data access restrictions also apply to dashboards. The data displayed in the widgets is subject to the user's access rights within the platform. Therefore, an admin user will not see the same results in the widgets as a user with limited access, such as viewing only TLP:CLEAR data (assuming the platform contains data beyond TLP:CLEAR).

"},{"location":"usage/dashboards/#share-dashboard-and-widget-configurations","title":"Share dashboard and widget configurations","text":"

OpenCTI provides functionality for exporting, importing and duplicating dashboard and widget configurations, facilitating the seamless transfer of customized dashboard setups between instances or users.

"},{"location":"usage/dashboards/#export","title":"Export","text":"

Dashboards can be exported from either the custom dashboards list or the dashboard view.

To export a dashboard configuration from the custom dashboards list:

  1. Click on the burger menu button at the end of the dashboard line.
  2. Select Export.

To export a widget, the same mechanism is used, but from the burger menu button in the upper right-hand corner of the widget.

To export a dashboard configuration from the dashboard view:

  1. Navigate to the desired dashboard.
  2. Click on the Export button (file with an arrow pointing to the top right corner) located in the top-right corner of the dashboard.

"},{"location":"usage/dashboards/#configuration-file","title":"Configuration file","text":"

The dashboard configuration will be saved as a JSON file, with the title formatted as [YYYYMMDD]_octi_dashboard_[dashboard title]. The expected configuration file content is as follows:

{\n  \"openCTI_version\": \"5.12.0\",\n  \"type\": \"dashboard\",\n  \"configuration\": {\n    \"name\": \"My dashboard title\",\n    \"manifest\": \"eyJ3aWRn(...)uZmlnIjp7fX0=\"\n  }\n}\n

The widget configuration will be saved as a JSON file, with the title formatted as [YYYYMMDD]_octi_widget_[widget view]. The expected configuration file content is as follows:

{\n  \"openCTI_version\": \"5.12.0\",\n  \"type\": \"widget\",\n  \"configuration\": \"eyJ0eXB(...)iOmZhbHNlfX0=\"\n}\n

Source platform-related filters

When exporting a dashboard or widget configuration, all filters will be exported as is. Filters on objects that do not exist in the receiving platform will need manual deletion after import. Filters to be deleted can be identified by their \"delete\" barred value.

"},{"location":"usage/dashboards/#import","title":"Import","text":"

Dashboards can be imported from the custom dashboards list:

  1. Hover over the Add button (+) in the right bottom corner.
  2. Click on the Import dashboard button (cloud with an upward arrow).
  3. Select your file.

To import a widget, the same mechanism is used, but from a dashboard view.

Configuration compatibility

Only JSON files with the required properties will be accepted, including \"openCTI_version: [5.12.0 and above]\", \"type: [dashboard|widget]\", and a \"configuration\". This applies to both dashboards and widgets configurations.

"},{"location":"usage/dashboards/#duplicate","title":"Duplicate","text":"

Dashboards can be duplicated from either the custom dashboards list or the dashboard view.

To duplicate a dashboard from the custom dashboards list:

  1. Click on the burger menu button at the end of the dashboard line.
  2. Select Duplicate.

To duplicate a widget, the same mechanism is used, but from the burger menu button in the upper right-hand corner of the widget.

To duplicate a dashboard from the dashboard view:

  1. Navigate to the desired dashboard.
  2. Click on the Duplicate the dashboard button (two stacked sheets) located in the top-right corner of the dashboard.

Upon successful duplication, a confirmation message is displayed for a short duration, accompanied by a link for easy access to the new dashboard view. Nevertheless, the new dashboard can still be found in the dashboards list.

Dashboard access

The user importing or duplicating a dashboard becomes the only one with access to it. Then, access can be managed as usual.

"},{"location":"usage/data-model/","title":"Data model","text":""},{"location":"usage/data-model/#introduction","title":"Introduction","text":"

The OpenCTI core design relies on the concept of a knowledge graph, where you have two different kinds of object:

  1. Nodes are used to describe entities, which have some properties or attributes.
  2. Edges are used to describe relationships, which are created between two entity nodes and have some properties or attributes.

Example

An example would be that the entity APT28 has a relationship uses to the malware entity Drovorub.

"},{"location":"usage/data-model/#standard","title":"Standard","text":""},{"location":"usage/data-model/#the-stix-model","title":"The STIX model","text":"

To enable a unified approach in the description of threat intelligence knowledge as well as importing and exporting data, the OpenCTI data model is based on the STIX 2.1 standard. Thus we highly recommend to take a look to the STIX Introductory Walkthrough and to the different kinds of STIX relationships to get a better understanding of how OpenCTI works.

Some more important STIX naming shortcuts are:

"},{"location":"usage/data-model/#extensions","title":"Extensions","text":"

In some cases, the model has been extended to be able to:

"},{"location":"usage/data-model/#implementation-in-the-platform","title":"Implementation in the platform","text":""},{"location":"usage/data-model/#diagram-of-types","title":"Diagram of types","text":"

You can find below the digram of all types of entities and relationships available in OpenCTI.

"},{"location":"usage/data-model/#attributes-and-properties","title":"Attributes and properties","text":"

To get a comprehensive list of available properties for a given type of entity or relationship, you can use the GraphQL playground schema available in your \"Profile > Playground\". Then you can click on schema. You can for instance search for the keyword IntrusionSet:

"},{"location":"usage/deduplication/","title":"Deduplication","text":"

One of the core concept of the OpenCTI knowledge graph is all underlying mechanisms implemented to accurately de-duplicate and consolidate (aka. upserting) information about entities and relationships.

"},{"location":"usage/deduplication/#creation-behavior","title":"Creation behavior","text":"

When an object is created in the platform, whether manually by a user or automatically by the connectors / workers chain, the platform checks if something already exist based on some properties of the object. If the object already exists, it will return the existing object and, in some cases, update it as well.

Technically, OpenCTI generates deterministic IDs based on the listed properties below to prevent duplicate (aka \"ID Contributing Properties\"). Also, it is important to note that there is a special link between name and aliases leading to not have entities with overlapping aliases or an alias already used in the name of another entity.

"},{"location":"usage/deduplication/#entities","title":"Entities","text":"Type Attributes Area (name OR x_opencti_alias) AND x_opencti_location_type Attack Pattern (name OR alias) AND optional x_mitre_id Campaign name OR alias Channel name OR alias City (name OR x_opencti_alias) AND x_opencti_location_type Country (name OR x_opencti_alias) AND x_opencti_location_type Course Of Action (name OR alias) AND optional x_mitre_id Data Component name OR alias Data Source name OR alias Event name OR alias Feedback Case name AND created (date) Grouping name AND context Incident name OR alias Incident Response Case name OR alias Indicator pattern OR alias Individual (name OR x_opencti_alias) and identity_class Infrastructure name OR alias Intrusion Set name OR alias Language name OR alias Malware name OR alias Malware Analysis name OR alias Narrative name OR alias Note None Observed Data name OR alias Opinion None Organization (name OR x_opencti_alias) and identity_class Position (name OR x_opencti_alias) AND x_opencti_location_type Region name OR alias Report name AND published (date) RFI Case name AND created (date) RFT Case name AND created (date) Sector (name OR alias) and identity_class Task None Threat Actor name OR alias Tool name OR alias Vulnerability name OR alias

Names and aliases management

The name and aliases of an entity define a set of unique values, so it's not possible to have the name equal to an alias and vice versa.

"},{"location":"usage/deduplication/#relationships","title":"Relationships","text":"

The deduplication process of relationships is based on the following criterias:

"},{"location":"usage/deduplication/#observables","title":"Observables","text":"

For STIX Cyber Observables, OpenCTI also generate deterministic IDs based on the STIX specification using the \"ID Contributing Properties\" defined for each type of observable.

"},{"location":"usage/deduplication/#update-behavior","title":"Update behavior","text":"

In cases where an entity already exists in the platform, incoming creations can trigger updates to the existing entity's attributes. This logic has been implemented to converge the knowledge base towards the highest confidence and quality levels for both entities and relationships.

To understand in details how the deduplication mechanism works in context of the maximum confidence level, you can navigate through this diagram (section deduplication):

"},{"location":"usage/enrichment/","title":"Enrichment connectors","text":"

Enriching the data within the OpenCTI platform is made seamlessly through the integration of enrichment connectors. These connectors facilitate the retrieval of additional data from external sources or portals.

"},{"location":"usage/enrichment/#automatic-enrichment","title":"Automatic enrichment","text":"

Enrichment can be conducted automatically in two distinct modes:

"},{"location":"usage/enrichment/#manual-enrichment","title":"Manual enrichment","text":"

Manually initiating the enrichment process is straightforward. Simply locate the button with the cloud icon at the top right of an entity.

Clicking on this icon unveils a side panel displaying a list of available connectors that can be activated for the given object. If no connectors appear in the panel, it indicates that no enrichment connectors are available for the specific type of object in focus.

Activation of an enrichment connector triggers a contact with the designated remote source, importing a set of data into OpenCTI to enrich the selected object. Each enrichment connector operates uniquely, focusing on a specific set of object types it can enrich and a distinct set of data it imports. Depending on the connectors, they may, establish relationships, add external references, or complete object information, thereby contributing to the comprehensiveness of information within the platform.

The list of available connectors can be found in our connectors catalog. In addition, further documentation on connectors is available on the dedicated documentation page.

Impact of the max confidence level

The maximum confidence level per user can have an impact on enrichment connectors, not being able to update data in the platform. To understand the concept and the potential issues you could face, please navigate to this page to understand.

"},{"location":"usage/exploring-analysis/","title":"Analyses","text":"

When you click on \"Analyses\" in the left-side bar, you see all the \"Analyses\" tabs, visible on the top bar on the left. By default, the user directly access the \"Reports\" tab, but can navigate to the other tabs as well.

From the Analyses section, users can access the following tabs:

"},{"location":"usage/exploring-analysis/#reports","title":"Reports","text":""},{"location":"usage/exploring-analysis/#general-presentation","title":"General presentation","text":"

Reports are one of the central component of the platform. It is from a Report that knowledge is extracted and integrated in the platform for further navigation, analyses and exports. Always tying the information back to a report allows for the user to be able to identify the source of any piece of information in the platform at all time.

In the MITRE STIX 2.1 documentation, a Report is defined as such :

Reports are collections of threat intelligence focused on one or more topics, such as a description of a threat actor, malware, or attack technique, including context and related details. They are used to group related threat intelligence together so that it can be published as a comprehensive cyber threat story.

As a result, a Report object in OpenCTI is a set of attributes and metadata defining and describing a document outside the platform, which can be a threat intelligence report from a security reseearch team, a blog post, a press article a video, a conference extract, a MISP event, or any type of document and source.

When clicking on the Reports tab at the top left, you see the list of all the Reports you have access to, in respect with your allowed marking definitions. You can then search and filter on some common and specific attributes of reports.

"},{"location":"usage/exploring-analysis/#visualizing-knowledge-within-a-report","title":"Visualizing Knowledge within a Report","text":"

When clicking on a Report, you land on the Overview tab. For a Report, the following tabs are accessible:

Exploring and modifying the structured Knowledge contained in a Report can be done through different lenses.

"},{"location":"usage/exploring-analysis/#graph-view","title":"Graph View","text":"

In Graph view, STIX SDO are displayed as graph nodes and relationships as graph links. Nodes are colored depending of their type. Direct relationship are displayed as plain link and inferred relationships in dotted link. At the top right, you will find a serie of icons. From there you can change the current type of view. Here you can also perform global action on the Knowledge of the Report. Let's highlight 2 of them: - Suggestions: This tool suggests you some logical relationships to add between your contained Object to give more consistency to your Knowledge. - Share with an Organization: if you have designated a main Organization in the platform settings, you can here share your Report and its content with users of an other Organization. At the bottom, you have many option to manipulate the graph: - Multiple option for shaping the graph and applying forces to the nodes and links - Multiple selection options - Multiple filters, including a time range selector allowing you to see the evolution of the Knowledge within the Report. - Multiple creation and edition tools to modify the Knowledge contained in the Report.

"},{"location":"usage/exploring-analysis/#content-mapping-view","title":"Content mapping view","text":"

Through this view, you can map exsisting or new Objects directly from a readable content, allowing you to quickly append structured Knowledge in your Report before refining it with relationships and details. This view is a great place to see the continuum between unstructured and structured Knowledge of a specific Intelligence Production.

"},{"location":"usage/exploring-analysis/#timeline-view","title":"Timeline view","text":"

This view allows you to see the structured Knowledge chronologically. This view is really useful when the report describes an attack or a campaign that lasted some time, and the analyst payed attention to the dates. The view can be filtered and displayed relationships too.

"},{"location":"usage/exploring-analysis/#correlation-view","title":"Correlation view","text":"

The correlation view is a great way to visualize and find other Reports related to your current subject of interest. This graph displays all Report related to the important nodes contained in your current Report, for example Objects like Malware or Intrusion sets.

"},{"location":"usage/exploring-analysis/#matrix-view","title":"Matrix view","text":"

If your Report describes let's say an attack, a campaign, or an understanding of an Intrusion set, it should contains multiple attack patterns Objects to structure the Knowledge about the TTPs of the Threat Actor. Those attack patterns can be displayed as highlighted matrices, by default the MITRE ATT&CK Enterprise matrix. As some matrices can be huge, it can be also filtered to only display attack patterns describes in the Report.

"},{"location":"usage/exploring-analysis/#groupings","title":"Groupings","text":"

Groupings are an alternative to Report for grouping Objects sharing a context without describing an Intelligence Production.

In the MITRE STIX 2.1 documentation, a Grouping is defined as such :

A Grouping object explicitly asserts that the referenced STIX Objects have a shared context, unlike a STIX Bundle (which explicitly conveys no context). A Grouping object should not be confused with an intelligence product, which should be conveyed via a STIX Report. A STIX Grouping object might represent a set of data that, in time, given sufficient analysis, would mature to convey an incident or threat report as a STIX Report object. For example, a Grouping could be used to characterize an ongoing investigation into a security event or incident. A Grouping object could also be used to assert that the referenced STIX Objects are related to an ongoing analysis process, such as when a threat analyst is collaborating with others in their trust community to examine a series of Campaigns and Indicators.

When clicking on the Groupings tab at the top of the interface, you see the list of all the Groupings you have access to, in respect with your allowed marking definitions. You can then search and filter on some common and specific attributes of the groupings.

Clicking on a Grouping, you land on its Overview tab. For a Groupings, the following tabs are accessible: - Overview: as described here. - Knowledge: a complex tab that regroups all the structured Knowledge contained in the groupings, as for a Report, except for the Timeline view. As described here. - Entities: A table containing all SDO (Stix Domain Objects) contained in the Grouping, with search and filters available. It also display if the SDO has been added directly or through inferences with the reasonging engine - Observables: A table containing all SCO (Stix Cyber Observable) contained in the Grouping, with search and filters available. It also display if the SDO has been added directly or through inferences with the reasonging engine - Data: as described here.

"},{"location":"usage/exploring-analysis/#malware-analyses","title":"Malware Analyses","text":"

Malware analyses are an important part of the Cyber Threat Intelligence, allowing an precise understanding of what and how a malware really do on the host but also how and from where it receives its command and communicates its results.

In OpenCTI, Malware Analyses can be created from enrichment connectors that will take an Observable as input and perform a scan on a online service platform to bring back results. As such, Malware Analyses can be done on File, Domain and URL.

In the MITRE STIX 2.1 documentation, a Malware Analyses is defined as such :

Malware Analyses captures the metadata and results of a particular static or dynamic analysis performed on a malware instance or family.

When clicking on the Malware Analyses tab at the top of the interface, you see the list of all the Malware Analyses you have access to, in respect with your allowed marking definitions. You can then search and filter on some common and specific attributes of the Malware Analyses.

Clicking on a Malware Analyses, you land on its Overview tab. The following tabs are accessible: - Overview: This view contains some additions from the common Overview here. You will find here details about how the analysis have been performed, what is the global result regarding the malicioussness of the analysed artifact and all the Observables that have been found during the analysis. - Knowledge: If you Malware analysis is linked to other Objects that are not part of the analysis result, they will be displayed here. As described here. - Data: as described here. - History: as described here.

"},{"location":"usage/exploring-analysis/#notes","title":"Notes","text":"

Not every Knowledge can be structured. For allowing any users to share their insights about a specific Knowledge, they can create a Note for every Object and relationship in OpenCTI they can access to. All the Notes are listed within the Analyses menu for allowing global review of this unstructured addition to the global Knowledge.

In the MITRE STIX 2.1 documentation, a Note is defined as such :

A Note is intended to convey informative text to provide further context and/or to provide additional analysis not contained in the STIX Objects, Marking Definition objects, or Language Content objects which the Note relates to. Notes can be created by anyone (not just the original object creator).

Clicking on a Note, you land on its Overview tab. The following tabs are accessible: - Overview: as described here. - Data: as described here. - History: as described here.

"},{"location":"usage/exploring-analysis/#external-references","title":"External references","text":"

Intelligence is never created from nothing. External references give user a way to link sources or reference documents to any Object in the platform. All external references are listed within the Analyses menu for accessing directly sources of the structured Knowledge.

In the MITRE STIX 2.1 documentation, a External references is defined as such :

External references are used to describe pointers to information represented outside of STIX. For example, a Malware object could use an external reference to indicate an ID for that malware in an external database or a report could use references to represent source material.

Clicking on an External reference, you land on its Overview tab. The following tabs are accessible: - Overview: as described here.

"},{"location":"usage/exploring-arsenal/","title":"Arsenal","text":"

When you click on \"Arsenal\" in the left-side bar, you access all the \"Arsenal\" tabs, visible on the top bar on the left. By default, the user directly access the \"Malware\" tab, but can navigate to the other tabs as well.

From the Arsenal section, users can access the following tabs:

"},{"location":"usage/exploring-arsenal/#malware","title":"Malware","text":""},{"location":"usage/exploring-arsenal/#general-presentation","title":"General presentation","text":"

Malware encompasses a broad category of malicious pieces of code built, deployed, and operated by intrusion set. Malware can take many forms, including viruses, worms, Trojans, ransomware, spyware, and more. These entities are created by individuals or groups, including state-nations, state-sponsored groups, corporations, or hacktivist collectives.

Use the Malware SDO to model and track these threats comprehensively, facilitating in-depth analysis, response, and correlation with other security data.

When clicking on the Malware tab on the top left, you see the list of all the Malware you have access to, in respect with your allowed marking definitions. These malware are displayed as Cards where you can find a summary of the important Knowledge associated with each of them: description, aliases, related intrusion sets, countries and sectors they target, and labels. You can then search and filter on some common and specific attributes of Malware.

At the top right of each Card, you can click the star icon to put it as favorite. It will pin the card on top of the list. You will also be able to display all your favorite easily in your Custom Dashboards.

"},{"location":"usage/exploring-arsenal/#visualizing-knowledge-associated-with-a-malware","title":"Visualizing Knowledge associated with a Malware","text":"

When clicking on an Malware card you land on its Overview tab. For a Malware, the following tabs are accessible:

"},{"location":"usage/exploring-arsenal/#channels","title":"Channels","text":""},{"location":"usage/exploring-arsenal/#general-presentation_1","title":"General presentation","text":"

Channels - such as forums, websites and social media platforms (e.g. Twitter, Telegram) - are mediums for disseminating news, knowledge, and messages to a broad audience. While they offer benefits like open communication and outreach, they can also be leveraged for nefarious purposes, such as spreading misinformation, coordinating cyberattacks, or promoting illegal activities.

Monitoring and managing content within Channels aids in analyzing threats, activities, and indicators associated with various threat actors, campaigns, and intrusion sets.

When clicking on the Channels tab at the top left, you see the list of all the Channels you have access to, in respect with your allowed marking definitions. These channels are displayed in a list where you can find certain fields characterizing the entity: type of channel, labels, and dates. You can then search and filter on some common and specific attributes of Channels.

"},{"location":"usage/exploring-arsenal/#visualizing-knowledge-associated-with-a-channel","title":"Visualizing Knowledge associated with a Channel","text":"

When clicking on a Channel in the list, you land on its Overview tab. For a Channel, the following tabs are accessible:

"},{"location":"usage/exploring-arsenal/#tools","title":"Tools","text":""},{"location":"usage/exploring-arsenal/#general-presentation_2","title":"General presentation","text":"

Tools refers to legitimate, pre-installed software applications, command-line utilities, or scripts that are present on a compromised system. These objects enable you to model and monitor the activities of these tools, which can be misused by attackers.

When clicking on the Tools tab at the top left, you see the list of all the Tools you have access to, in respect with your allowed marking definitions. These tools are displayed in a list where you can find certain fields characterizing the entity: labels and dates. You can then search and filter on some common and specific attributes of Tools.

"},{"location":"usage/exploring-arsenal/#visualizing-knowledge-associated-with-an-observed-data","title":"Visualizing Knowledge associated with an Observed Data","text":"

When clicking on a Tool in the list, you land on its Overview tab. For a Tool, the following tabs are accessible:

"},{"location":"usage/exploring-arsenal/#vulnerabilities","title":"Vulnerabilities","text":""},{"location":"usage/exploring-arsenal/#general-presentation_3","title":"General presentation","text":"

Vulnerabilities represent weaknesses or flaws in software, hardware, configurations, or systems that can be exploited by malicious actors. This object assists in managing and tracking the organization's security posture by identifying areas that require attention and remediation, while also providing insights into associated intrusion sets, malware and campaigns where relevant.

When clicking on the Vulnerabilities tab at the top left, you see the list of all the Vulnerabilities you have access to, in respect with your allowed marking definitions. These vulnerabilities are displayed in a list where you can find certain fields characterizing the entity: CVSS3 severity, labels, dates and creators (in the platform). You can then search and filter on some common and specific attributes of Vulnerabilities.

"},{"location":"usage/exploring-arsenal/#visualizing-knowledge-associated-with-an-observed-data_1","title":"Visualizing Knowledge associated with an Observed Data","text":"

When clicking on a Vulnerabilities in the list, you land on its Overview tab. For a Vulnerability, the following tabs are accessible:

"},{"location":"usage/exploring-cases/","title":"Cases","text":"

When you click on \"Cases\" in the left-side bar, you access all the \"Cases\" tabs, visible on the top bar on the left. By default, the user directly access the \"Incident Responses\" tab, but can navigate to the other tabs as well.

As Analyses, Cases can contain other objects. This way, by adding context and results of your investigations in the case, you will be able to get an up-to-date overview of the ongoing situation, and later produce more easily an incident report.

From the Cases section, users can access the following tabs:

"},{"location":"usage/exploring-cases/#incident-response-request-for-information-request-for-takedown","title":"Incident Response, Request for Information & Request for Takedown","text":""},{"location":"usage/exploring-cases/#general-presentation","title":"General presentation","text":"

Incident responses, Request for Information & Request for Takedown cases are an important part of the case management system in OpenCTI. Here, you can organize the work of your team to respond to cybersecurity situations. You can also give context to the team and other users on the platform about the situation and actions (to be) taken.

To manage the situation, you can issue Tasks and assign them to users in the platform, by directly creating a Task or by applying a Case template that will append a list of predefined tasks.

To bring context, you can use your Case as a container (like Reports or Groupings), allowing you to add any Knowledge from your platform in it. You can also use this possibility to trace your investigation, your Case playing the role of an Incident report. You will find more information about case management here.

Incident Response, Request for Information & Request for Takedown are not STIX 2.1 Objects.

When clicking on the Incident Response, Request for Information & Request for Takedown tabs at the top, you see the list of all the Cases you have access to, in respect with your allowed marking definitions. You can then search and filter on some common and specific attributes.

"},{"location":"usage/exploring-cases/#visualizing-knowledge-within-an-incident-response-request-for-information-request-for-takedown","title":"Visualizing Knowledge within an Incident Response, Request for Information & Request for Takedown","text":"

When clicking on an Incident Response, Request for Information or Request for Takedown, you land on the Overview tab. The following tabs are accessible:

Exploring and modifying the structured Knowledge contained in a Case can be done through different lenses.

"},{"location":"usage/exploring-cases/#graph-view","title":"Graph View","text":"

In Graph view, STIX SDO are displayed as graph nodes and relationships as graph links. Nodes are colored depending on their type. Direct relationship are displayed as plain link and inferred relationships in dotted link. At the top right, you will find a series of icons. From there you can change the current type of view. Here you can also perform global action on the Knowledge of the Case. Let's highlight 2 of them:

"},{"location":"usage/exploring-cases/#content-mapping-view","title":"Content mapping view","text":"

Through this view, you can map existing or new Objects directly from a readable content, allowing you to quickly append structured Knowledge in your Case before refining it with relationships and details. This view is a great place to see the continuum between unstructured and structured Knowledge.

"},{"location":"usage/exploring-cases/#timeline-view","title":"Timeline view","text":"

This view allows you to see the structured Knowledge chronologically. This view is particularly useful in the context of a Case, allowing you to see the chain of events, either from the attack perspectives, the defense perspectives or both. The view can be filtered and displayed relationships too.

"},{"location":"usage/exploring-cases/#matrix-view","title":"Matrix view","text":"

If your Case contains attack patterns, you will be able to visualize them in a Matrix view.

"},{"location":"usage/exploring-cases/#tasks","title":"Tasks","text":"

Tasks are actions to be performed in the context of a Case (Incident Response, Request for Information, Request for Takedown). Usually, a task is assigned to a user, but important tasks may involve more participants.

When clicking on the Tasks tab at the top of the interface, you see the list of all the Tasks you have access to, in respect with your allowed marking definitions. You can then search and filter on some common and specific attributes of the tasks.

Clicking on a Task, you land on its Overview tab. For a Tasks, the following tabs are accessible:

"},{"location":"usage/exploring-cases/#feedbacks","title":"Feedbacks","text":"

When a user fill a feedback form from its Profile/Feedback menu, it will then be accessible here.

This feature gives the opportunity to engage with other users of your platform and to respond directly to their concern about it or the Knowledge, without the need of third party software.

Clicking on a Feedback, you land on its Overview tab. For a Feedback, the following tabs are accessible:

"},{"location":"usage/exploring-entities/","title":"Entities","text":"

OpenCTI's Entities objects provides a comprehensive framework for modeling various targets and attack victims within your threat intelligence data. With five distinct Entity object types, you can represent sectors, events, organizations, systems, and individuals. This robust classification empowers you to contextualize threats effectively, enhancing the depth and precision of your analysis.

When you click on \"Entities\" in the left-side bar, you access all the \"Entities\" tabs, visible on the top bar on the left. By default, the user directly access the \"Sectors\" tab, but can navigate to the other tabs as well.

From the Entities section, users can access the following tabs:

"},{"location":"usage/exploring-entities/#sectors","title":"Sectors","text":""},{"location":"usage/exploring-entities/#general-presentation","title":"General presentation","text":"

Sectors represent specific domains of activity, defining areas such as energy, government, health, finance, and more. Utilize sectors to categorize targeted industries or sectors of interest, providing valuable context for threat intelligence analysis within distinct areas of the economy.

When clicking on the Sectors tab at the top left, you see the list of all the Sectors you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-entities/#visualizing-knowledge-associated-with-a-sector","title":"Visualizing Knowledge associated with a Sector","text":"

When clicking on a Sector in the list, you land on its Overview tab. For a Sector, the following tabs are accessible:

"},{"location":"usage/exploring-entities/#events","title":"Events","text":""},{"location":"usage/exploring-entities/#general-presentation_1","title":"General presentation","text":"

Events encompass occurrences like international sports events, summits (e.g., G20), trials, conferences, or any significant happening in the real world. By modeling events, you can analyze threats associated with specific occurrences, allowing for targeted investigations surrounding high-profile incidents.

When clicking on the Events tab at the top left, you see the list of all the Events you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-entities/#visualizing-knowledge-associated-with-an-event","title":"Visualizing Knowledge associated with an Event","text":"

When clicking on an Event in the list, you land on its Overview tab. For an Event, the following tabs are accessible:

"},{"location":"usage/exploring-entities/#organizations","title":"Organizations","text":""},{"location":"usage/exploring-entities/#general-presentation_2","title":"General presentation","text":"

Organizations include diverse entities such as companies, government bodies, associations, non-profits, and other groups with specific aims. Modeling organizations enables you to understand the threat landscape concerning various entities, facilitating investigations into cyber-espionage, data breaches, or other malicious activities targeting specific groups.

When clicking on the Organizations tab at the top left, you see the list of all the Organizations you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-entities/#visualizing-knowledge-associated-with-an-organization","title":"Visualizing Knowledge associated with an Organization","text":"

When clicking on an Organization in the list, you land on its Overview tab. For an Organization, the following tabs are accessible:

Furthermore, an Organization can be observed from an \"Author\" perspective. It is possible to change this viewpoint to the right of the entity name, using the \"Display as\" drop-down menu (see screenshot below). This different perspective is accessible in the Overview, Knowledge and Analyses tabs. When switched to \"Author\" mode, the observed data pertains to the entity's description as an author within the platform:

"},{"location":"usage/exploring-entities/#systems","title":"Systems","text":""},{"location":"usage/exploring-entities/#general-presentation_3","title":"General presentation","text":"

Systems represent software applications, platforms, frameworks, or specific tools like WordPress, VirtualBox, Firefox, Python, etc. Modeling systems allows you to focus on threats related to specific software or technology, aiding in vulnerability assessments, patch management, and securing critical applications.

When clicking on the Systems tab at the top left, you see the list of all the Systems you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-entities/#visualizing-knowledge-associated-with-a-system","title":"Visualizing Knowledge associated with a System","text":"

When clicking on a System in the list, you land on its Overview tab. For a System, the following tabs are accessible:

Furthermore, a System can be observed from an \"Author\" perspective. It is possible to change this viewpoint to the right of the entity name, using the \"Display as\" drop-down menu (see screenshot below). This different perspective is accessible in the Overview, Knowledge and Analyses tabs. When switched to \"Author\" mode, the observed data pertains to the entity's description as an author within the platform:

"},{"location":"usage/exploring-entities/#individuals","title":"Individuals","text":""},{"location":"usage/exploring-entities/#general-presentation_4","title":"General presentation","text":"

Individuals represent specific persons relevant to your threat intelligence analysis. This category includes targeted individuals, or influential figures in various fields. Modeling individuals enables you to analyze threats related to specific people, enhancing investigations into cyber-stalking, impersonation, or other targeted attacks.

When clicking on the Individuals tab at the top left, you see the list of all the Individuals you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-entities/#visualizing-knowledge-associated-with-an-individual","title":"Visualizing Knowledge associated with an Individual","text":"

When clicking on an Individual in the list, you land on its Overview tab. For an Individual, the following tabs are accessible:

Furthermore, an Individual can be observed from an \"Author\" perspective. It is possible to change this viewpoint to the right of the entity name, using the \"Display as\" drop-down menu (see screenshot below). This different perspective is accessible in the Overview, Knowledge and Analyses tabs. When switched to \"Author\" mode, the observed data pertains to the entity's description as an author within the platform:

"},{"location":"usage/exploring-events/","title":"Events","text":"

When you click on \"Events\" in the left-side bar, you access all the \"Events\" tabs, visible on the top bar on the left. By default, the user directly access the \"Incidents\" tab, but can navigate to the other tabs as well.

From the Events section, users can access the following tabs:

"},{"location":"usage/exploring-events/#incidents","title":"Incidents","text":""},{"location":"usage/exploring-events/#general-presentation","title":"General presentation","text":"

Incidents usually represents negative events impacting resources you want to protect, but local definitions can vary a lot, from a simple security events send by a SIEM to a massive scale supply chain attack impacting a whole activity sector.

In the MITRE STIX 2.1, the Incident SDO has not yet been finalized and is the object of important work as part of a forthcoming STIX Extension.

When clicking on the Incidents tab at the top left, you see the list of all the Incidents you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-events/#visualizing-knowledge-associated-with-an-incident","title":"Visualizing Knowledge associated with an Incident","text":"

When clicking on an Incident in the list, you land on its Overview tab. For an Incident, the following tabs are accessible:

"},{"location":"usage/exploring-events/#sightings","title":"Sightings","text":""},{"location":"usage/exploring-events/#general-presentation_1","title":"General presentation","text":"

The Sightings correspond to events in which an Observable (IP, domain name, url, etc.) is detected by or within an information system, an individual or an organization. Most often, this corresponds to a security event transmitted by a SIEM or EDR.

In OpenCTI, as we are in a cybersecurity context, Sightings are associated with Indicators of Compromise (IoC) and the notion of \"True positive\" and \"False positive\".

It is important to note that Sightings are a type of relationship (not a STIX SDO or STIX SCO), between an Observable and an Entities or Locations.

When clicking on the Sightings tab at the top left, you see the list of all the Sightings you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-events/#visualizing-knowledge-associated-with-a-sighting","title":"Visualizing Knowledge associated with a Sighting","text":"

When clicking on a Sighting in the list, you land on its Overview tab. As other relationships in the platform, Sighting's overview displays common related metadata, containers, external references, notes and entities linked by the relationship.

In addition, this overview displays: - Qualification : if the Sighting is a True Positive or a False Positive - Count : number of times the event has been seen

"},{"location":"usage/exploring-events/#observed-data","title":"Observed Data","text":""},{"location":"usage/exploring-events/#general-presentation_2","title":"General presentation","text":"

Observed Data correspond to an extract from a log that contains Observables.

In the MITRE STIX 2.1, the Observed Data SDO is defined as such:

Observed Data conveys information about cybersecurity related entities such as files, systems, and networks using the STIX Cyber-observable Objects (SCOs). For example, Observed Data can capture information about an IP address, a network connection, a file, or a registry key. Observed Data is not an intelligence assertion, it is simply the raw information without any context for what it means.

When clicking on the Observed Data tab at the top left, you see the list of all the Observed Data you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-events/#visualizing-knowledge-associated-with-an-observed-data","title":"Visualizing Knowledge associated with an Observed Data","text":"

When clicking on an Observed Data in the list, you land on its Overview tab. The following tabs are accessible:

"},{"location":"usage/exploring-locations/","title":"Location","text":"

OpenCTI's Locations objects provides a comprehensive framework for representing various geographic entities within your threat intelligence data. With five distinct Location object types, you can precisely define regions, countries, areas, cities, and specific positions. This robust classification empowers you to contextualize threats geographically, enhancing the depth and accuracy of your analysis.

When you click on \"Locations\" in the left-side bar, you access all the \"Locations\" tabs, visible on the top bar on the left. By default, the user directly access the \"Regions\" tab, but can navigate to the other tabs as well.

From the Locations section, users can access the following tabs:

"},{"location":"usage/exploring-locations/#regions","title":"Regions","text":""},{"location":"usage/exploring-locations/#general-presentation","title":"General presentation","text":"

Regions encapsulate broader geographical territories, often representing continents or significant parts of continents. Examples include EMEA (Europe, Middle East, and Africa), Asia, Western Europe, and North America. Utilize regions to categorize large geopolitical areas and gain macro-level insights into threat patterns.

When clicking on the Regions tab at the top left, you see the list of all the Regions you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-locations/#visualizing-knowledge-associated-with-a-region","title":"Visualizing Knowledge associated with a Region","text":"

When clicking on a Region in the list, you land on its Overview tab. For a Region, the following tabs are accessible:

"},{"location":"usage/exploring-locations/#countries","title":"Countries","text":""},{"location":"usage/exploring-locations/#general-presentation_1","title":"General presentation","text":"

Countries represent individual nations across the world. With this object type, you can specify detailed information about a particular country, enabling precise localization of threat intelligence data. Countries are fundamental entities in geopolitical analysis, offering a focused view of activities within national borders.

When clicking on the Countries tab at the top left, you see the list of all the Countries you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-locations/#visualizing-knowledge-associated-with-a-country","title":"Visualizing Knowledge associated with a Country","text":"

When clicking on a Country in the list, you land on its Overview tab. For a Country, the following tabs are accessible:

"},{"location":"usage/exploring-locations/#areas","title":"Areas","text":""},{"location":"usage/exploring-locations/#general-presentation_2","title":"General presentation","text":"

Areas define specific geographical regions of interest, such as the Persian Gulf, the Balkans, or the Caucasus. Use areas to identify unique zones with distinct geopolitical, cultural, or strategic significance. This object type facilitates nuanced analysis of threats within defined geographic contexts.

When clicking on the Areas tab at the top left, you see the list of all the Areas you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-locations/#visualizing-knowledge-associated-with-an-area","title":"Visualizing Knowledge associated with an Area","text":"

When clicking on an Area in the list, you land on its Overview tab. For an Area, the following tabs are accessible:

"},{"location":"usage/exploring-locations/#cities","title":"Cities","text":""},{"location":"usage/exploring-locations/#general-presentation_3","title":"General presentation","text":"

Cities provide granular information about urban centers worldwide. From major metropolises to smaller towns, cities are crucial in understanding localized threat activities. With this object type, you can pinpoint threats at the urban level, aiding in tactical threat assessments and response planning.

When clicking on the Cities tab at the top left, you see the list of all the Cities you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-locations/#visualizing-knowledge-associated-with-a-city","title":"Visualizing Knowledge associated with a City","text":"

When clicking on a City in the list, you land on its Overview tab. For a City, the following tabs are accessible:

"},{"location":"usage/exploring-locations/#positions","title":"Positions","text":""},{"location":"usage/exploring-locations/#general-presentation_4","title":"General presentation","text":"

Positions represent highly precise geographical points, such as monuments, buildings, or specific event locations. This object type allows you to define exact coordinates, enabling accurate mapping of events or incidents. Positions enhance the granularity of your threat intelligence data, facilitating precise geospatial analysis.

When clicking on the Positions tab at the top left, you see the list of all the Positions you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-locations/#visualizing-knowledge-associated-with-a-position","title":"Visualizing Knowledge associated with a Position","text":"

When clicking on a Position in the list, you land on its Overview tab. For a Position, the following tabs are accessible:

"},{"location":"usage/exploring-observations/","title":"Observations","text":"

When you click on \"Observations\" in the left-side bar, you access all the \"Observations\" tabs, visible on the top bar on the left. By default, the user directly access the \"Observables\" tab, but can navigate to the other tabs as well.

From the Observations section, users can access the following tabs:

"},{"location":"usage/exploring-observations/#observables","title":"Observables","text":""},{"location":"usage/exploring-observations/#general-presentation","title":"General presentation","text":"

An Observable is a distinct entity from the Indicator within OpenCTI and represents an immutable object. Observables can encompass a wide range of entities such as IPv4 addresses, domain names, email addresses, and more. Importantly, Observables don't inherently imply malicious intent, they can include items like legitimate IP addresses or domains associated with an organization. Additionally, they serve as raw data points without the additional detection context found in Indicators.

When clicking on the Observables tab at the top left, you see the list of all the Observables you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-observations/#visualizing-knowledge-associated-with-an-observable","title":"Visualizing Knowledge associated with an Observable","text":"

When clicking on an Observable in the list, you land on its Overview tab. For an Observable, the following tabs are accessible:

"},{"location":"usage/exploring-observations/#artefacts","title":"Artefacts","text":""},{"location":"usage/exploring-observations/#general-presentation_1","title":"General presentation","text":"

An Artefact is a particular Observable. It may contain a file, such as a malware sample. Files can be uploaded or downloaded in encrypted archives, providing an additional layer of security against potential manipulation of malicious payloads.

When clicking on the Artefacts tab at the top left, you see the list of all the Artefacts you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-observations/#visualizing-knowledge-associated-with-an-artefact","title":"Visualizing Knowledge associated with an Artefact","text":"

When clicking on an Artefact in the list, you land on its Overview tab. For an Artefact, the following tabs are accessible:

"},{"location":"usage/exploring-observations/#indicators","title":"Indicators","text":""},{"location":"usage/exploring-observations/#general-presentation_2","title":"General presentation","text":"

An Indicator is a detection object. It is defined by a search pattern, which could be expressed in various formats such as STIX, Sigma, YARA, among others. This pattern serves as a key to identify potential threats within the data. Furthermore, an Indicator includes additional information that enriches its detection context. This information encompasses:

When clicking on the Indicators tab at the top left, you see the list of all the Indicators you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-observations/#visualizing-knowledge-associated-with-an-indicator","title":"Visualizing Knowledge associated with an Indicator","text":"

When clicking on an Indicator in the list, you land on its Overview tab. For an Indicator, the following tabs are accessible:

"},{"location":"usage/exploring-observations/#infrastructures","title":"Infrastructures","text":""},{"location":"usage/exploring-observations/#general-presentation_3","title":"General presentation","text":"

An Infrastructure refers to a set of resources, tools, systems, or services employed by a threat to conduct their activities. It represents the underlying framework or support system that facilitates malicious operations, such as the command and control (C2) servers in an attack. Notably, like Observables, an Infrastructure doesn't inherently imply malicious intent. It can also represent legitimate resources affiliated with an organization (e.g. devices or servers that are part of defense, database servers targeted by an attack, etc.).

When clicking on the Infrastructures tab at the top left, you see the list of all the Infrastructures you have access to, in respect with your allowed marking definitions.

"},{"location":"usage/exploring-observations/#visualizing-knowledge-associated-with-an-infrastructure","title":"Visualizing Knowledge associated with an Infrastructure","text":"

When clicking on an Infrastructure in the list, you land on its Overview tab. For an Infrastructure, the following tabs are accessible:

"},{"location":"usage/exploring-techniques/","title":"Techniques","text":"

When you click on \"Techniques\" in the left-side bar, you access all the \"Techniques\" tabs, visible on the top bar on the left. By default, the user directly access the \"Attack pattern\" tab, but can navigate to the other tabs as well.

From the Techniques section, users can access the following tabs:

"},{"location":"usage/exploring-techniques/#attack-pattern","title":"Attack pattern","text":""},{"location":"usage/exploring-techniques/#general-presentation","title":"General presentation","text":"

Attacks pattern used by the threat actors to perform their attacks. By default, OpenCTI is provisionned with attack patterns from MITRE ATT&CK matrices and CAPEC (for CTI) and DISARM matrix (for FIMI).

In the MITRE STIX 2.1 documentation, an Attack pattern is defined as such :

Attack Patterns are a type of TTP that describe ways that adversaries attempt to compromise targets. Attack Patterns are used to help categorize attacks, generalize specific attacks to the patterns that they follow, and provide detailed information about how attacks are performed. An example of an attack pattern is \"spear phishing\": a common type of attack where an attacker sends a carefully crafted e-mail message to a party with the intent of getting them to click a link or open an attachment to deliver malware. Attack Patterns can also be more specific; spear phishing as practiced by a particular threat actor (e.g., they might generally say that the target won a contest) can also be an Attack Pattern.

When clicking on the Attack pattern tab at the top left, you access the list of all the attack pattern you have access too, in respect with your allowed marking definitions. You can then search and filter on some common and specific attributes of attack patterns.

"},{"location":"usage/exploring-techniques/#visualizing-knowledge-associated-with-an-attack-pattern","title":"Visualizing Knowledge associated with an Attack pattern","text":"

When clicking on an Attack pattern, you land on its Overview tab. For an Attack pattern, the following tabs are accessible:

"},{"location":"usage/exploring-techniques/#narratives","title":"Narratives","text":""},{"location":"usage/exploring-techniques/#general-presentation_1","title":"General presentation","text":"

In OpenCTI, narratives used by threat actors can be represented and linked to other Objects. Narratives are mainly used in the context of disinformation campaigns where it is important to trace which narratives have been and are still used by threat actors.

An example of Narrative can be \"The country A is weak and corrupted\" or \"The ongoing operation aims to free people\".

Narrative can be a mean in the context of a more broad attack or the goal of the operation, a vision to impose.

When clicking on the Narrative tab at the top left, you access the list of all the Narratives you have access too, in respect with your allowed marking definitions. You can then search and filter on some common and specific attributes of narratives.

"},{"location":"usage/exploring-techniques/#visualizing-knowledge-associated-with-a-narrative","title":"Visualizing Knowledge associated with a Narrative","text":"

When clicking on a Narrative, you land on its Overview tab. For a Narrative, the following tabs are accessible:

"},{"location":"usage/exploring-techniques/#courses-of-action","title":"Courses of action","text":""},{"location":"usage/exploring-techniques/#general-presentation_2","title":"General presentation","text":"

In the MITRE STIX 2.1 documentation, an Course of action is defined as such :

A Course of Action is an action taken either to prevent an attack or to respond to an attack that is in progress. It may describe technical, automatable responses (applying patches, reconfiguring firewalls) but can also describe higher level actions like employee training or policy changes. For example, a course of action to mitigate a vulnerability could describe applying the patch that fixes it.

When clicking on the Courses of action tab at the top left, you access the list of all the Courses of action you have access too, in respect with your allowed marking definitions. You can then search and filter on some common and specific attributes of course of action.

"},{"location":"usage/exploring-techniques/#visualizing-knowledge-associated-with-a-course-of-action","title":"Visualizing Knowledge associated with a Course of action","text":"

When clicking on a Course of Action, you land on its Overview tab. For a Course of action, the following tabs are accessible:

"},{"location":"usage/exploring-techniques/#data-sources-data-components","title":"Data sources & Data components","text":""},{"location":"usage/exploring-techniques/#general-presentation_3","title":"General presentation","text":"

In the MITRE ATT&CK documentation, Data sources are defined as such :

Data sources represent the various subjects/topics of information that can be collected by sensors/logs. Data sources also include data components, which identify specific properties/values of a data source relevant to detecting a given ATT&CK technique or sub-technique.

"},{"location":"usage/exploring-techniques/#visualizing-knowledge-associated-with-a-data-source-or-a-data-components","title":"Visualizing Knowledge associated with a Data source or a Data components","text":"

When clicking on a Data source or a Data component, you land on its Overview tab. For a Course of action, the following tabs are accessible:

"},{"location":"usage/exploring-threats/","title":"Threats","text":"

When you click on \"Threats\" in the left-side bar, you access all the \"Threats\" tabs, visible on the top bar on the left. By default, the user directly access the \"Threat Actor (Group)\" tab, but can navigate to the other tabs as well.

From the Threats section, users can access the following tabs:

"},{"location":"usage/exploring-threats/#threat-actors-group-and-individual","title":"Threat actors (Group and Individual)","text":""},{"location":"usage/exploring-threats/#general-presentation","title":"General presentation","text":"

Threat actors are the humans who are building, deploying and operating intrusion sets. A threat actor can be an single individual or a group of attackers (who may be composed of individuals). A group of attackers may be a state-nation, a state-sponsored group, a corporation, a group of hacktivists, etc.

Beware, groups of attackers might be modelled as \"Intrusion sets\" in feeds, as there is sometimes a misunderstanding in the industry between group of people and the technical/operational intrusion set they operate.

When clicking on the Threat actor (Group or Individual) tabs at the top left, you see the list of all the groups of Threat actors or Individual Threat actors you have access to, in respect with your allowed marking definitions. These groups or individual are displayed as Cards where you can find a summary of the important Knowledge associated with each of them: description, aliases, malware they used, countries and industries they target, labels. You can then search and filter on some common and specific attributes of Threat actors.

At the top right of each Card, you can click the star icon to put it as favorite. It will pin the card on top of the list. You will also be able to display all your favorite easily in your Custom Dashboards.

"},{"location":"usage/exploring-threats/#demographic-and-biographic-information","title":"Demographic and Biographic Information","text":"

Individual Threat actors have unique properties to represent demographic and biographic information. Currently tracked demographics include their countries of residence, citizenships, date of birth, gender, and more.

Biographic information includes their eye and hair color, as well as known heights and weights.

An Individual Threat actor can also be tracked as employed by an Organization or a Threat Actor group. This relationship can be set under the knowledge tab.

"},{"location":"usage/exploring-threats/#visualizing-knowledge-associated-with-a-threat-actor","title":"Visualizing Knowledge associated with a Threat actor","text":"

When clicking on a Threat actor Card, you land on its Overview tab. For a Threat actor, the following tabs are accessible:

"},{"location":"usage/exploring-threats/#intrusion-sets","title":"Intrusion Sets","text":"

An intrusion set is a consistent group of technical elements such as \"tactics, technics and procedures\" (TTP), tools, malware and infrastructure used by a threat actor against one or a number of victims who are usually sharing some characteristics (field of activity, country or region) to reach a similar goal whoever the victim is. The intrusion set may be deployed once or several times and may evolve with time. Several intrusion sets may be linked to one threat actor. All the entities described below may be linked to one intrusion set. There are many debates in the Threat Intelligence community on how to define an intrusion set and how to distinguish several intrusion sets with regards to:

As OpenCTI is very customizable, each organization or individual may use these categories as they wish. Instead, it is also possible to use the import feed for the choice of categories.

When clicking on the Intrusion set tab on the top left, you see the list of all the Intrusion sets you have access to, in respect with your allowed marking definitions. These intrusion sets are displayed as Cards where you can find a summary of the important Knowledge associated with each of them: description, aliases, malware they used, countries and industries they target, labels. You can then search and filter on some common and specific attributes of Intrusion set.

At the top right of each Card, you can click the star icon to put it as favorite. It will pin the card on top of the list. You will also be able to display all your favorite easily in your Custom Dashboards.

"},{"location":"usage/exploring-threats/#visualizing-knowledge-associated-with-an-intrusion-set","title":"Visualizing Knowledge associated with an Intrusion set","text":"

When clicking on an Intrusion set Card, you land on its Overview tab. The following tabs are accessible:

"},{"location":"usage/exploring-threats/#campaigns","title":"Campaigns","text":"

A campaign can be defined as \"a series of malicious activities or attacks (sometimes called a \"wave of attacks\") taking place within a limited period of time, against a defined group of victims, associated to a similar intrusion set and characterized by the use of one or several identical malware towards the various victims and common TTPs\". However, a campaign is an investigation element and may not be widely recognized. Thus, a provider might define a series of attacks as a campaign and another as an intrusion set. Campaigns can be attributed to an Intrusion set.

When clicking on the Campaign tab on the top left, you see the list of all the Campaigns you have access to, in respect with your allowed marking definitions. These campaigns are displayed as Cards where you can find a summary of the important Knowledge associated with each of them: description, aliases, malware used, countries and industries they target, labels. You can then search and filter on some common and specific attributes of Campaigns.

At the top right of each Card, you can click the star icon to put it as favorite. It will pin the card on top of the list. You will also be able to display all your favorite easily in your Custom Dashboards.

"},{"location":"usage/exploring-threats/#visualizing-knowledge-associated-with-a-campaign","title":"Visualizing Knowledge associated with a Campaign","text":"

When clicking on an Campaign Card, you land on its Overview tab. The following tabs are accessible:

"},{"location":"usage/export/","title":"Manual export","text":""},{"location":"usage/export/#introduction","title":"Introduction","text":"

With the OpenCTI platform, you can manually export your intelligence content in the following formats:

"},{"location":"usage/export/#export-in-structured-or-document-format","title":"Export in structured or document format","text":""},{"location":"usage/export/#generate-an-export","title":"Generate an export","text":"

To export one or more entities you have two possibilities. First you can click on the button \"Open export panel\". The list of pre-existing exports will open, and in the bottom right-hand corner you can configure and generate a new export.

This opens the export settings panel, where you can customize your export according to four fields:

The second way is to click directly on the \"Generate an Export\" button to export the content of an entity in the desired format. The same settings panel will open.

Both ways add your export in the Exported files list in the Data tab.

"},{"location":"usage/export/#export-possibilities","title":"Export possibilities","text":"

All entities in your instance can be exported either directly via Generate Export or indirectly via Export List in .json and .csv formats.

"},{"location":"usage/export/#export-a-list-entities","title":"Export a list entities","text":"

You have the option to export either a single element, such as a report, or a collection of elements, such as multiple reports. These exports may contain not only the entity itself but also related elements, depending on the type of export you select: \"simple\" or \"full\". See the Export types (simple and full) section.

You can also choose to export a list of entities within a container. To do so, go to the container's entities tab. For example, for a report, if you only want to retrieve entity type attack pattern and indicators to design a detection strategy, go to the entities tab and select specific elements for export.

"},{"location":"usage/export/#export-types-simple-and-full","title":"Export types (simple and full)","text":"

When you wish to export only the content of a specific entity such as a report, you can choose a \"simple\" export type.

If you also wish to export associated content, you can choose a \"full\" export. With this type of export, the entity will be exported along with all entities directly associated with the central one (first neighbors).

"},{"location":"usage/export/#exports-list-panel","title":"Exports list panel","text":"

Once an export has been created, you can find it in the export list panel. Simply click on a particular export to download it.

You can also generate a new export directly from the Exports list, as explained in the Generate an export section.

"},{"location":"usage/feeds/","title":"Native feeds","text":"

OpenCTI provides versatile mechanisms for sharing data through its built-in feeds, including Live streams, TAXII collections, and CSV feeds.

"},{"location":"usage/feeds/#feed-configuration","title":"Feed configuration","text":"

Feeds are configured in the \"Data > Data sharing\" window. Configuration for all feed types is uniform and relies on the following parameters:

By carefully configuring filters and access controls, you can tailor the behavior of Live streams, TAXII collections, and CSV feeds to align with your specific data-sharing needs.

"},{"location":"usage/feeds/#live-streams","title":"Live streams","text":""},{"location":"usage/feeds/#introduction","title":"Introduction","text":"

Live streams, an exclusive OpenCTI feature, increase the capacity for real-time data sharing by serving STIX 2.1 bundles as TAXII collections with advanced capabilities. What distinguishes them is their dynamic nature, which includes the creation, updating, and deletion of data. Unlike TAXII, Live streams comprehensively resolve relationships and dependencies, ensuring a more nuanced and interconnected exchange of information. This is particularly beneficial in scenarios where sharing involves entities with complex relationships, providing a richer context for the shared data.

In scenarios involving data sharing between two OpenCTI platforms, Live streams emerge as the preferred mechanism. These streams operate like TAXII collections but are notably enhanced, supporting:

Resolve relationships and dependencies

Dependencies and relationships of entities shared via Live streams, as determined by specified filters, are automatically shared even beyond the confines of these filters. This means that interconnected data, which may not directly meet the filter criteria, is still included in the Live stream. However, OpenCTI data segregation mechanisms are still applied. They allow to restrict access to shared data based on factors such as markings or organization. It's imperative to carefully configure and manage these access controls to ensure that no confidential data is shared.

"},{"location":"usage/feeds/#illustrative-scenario","title":"Illustrative scenario","text":"

To better understand how live streams are working, let's take a few examples, from simple to complex.

Given a live stream with filters Entity type: Indicator AND Label: detection. Let's see what happens with an indicator with:

Action Result in stream (with Avoid dependencies resolution=true) Result in stream (with Avoid dependencies resolution=false) 1. Create an indicator Nothing Nothing 2. Add the label detection Create TLP:GREEN, create CrowdStrike, create the indicator Create TLP:GREEN, create CrowdStrike, create the malware Emotet, create the indicator, create the relationship indicates 3. Remove the label detection Delete the indicator Delete the indicator and the relationship 4. Add the label detection Create the indicator Create the indicator, create the relationship indicates 5. Delete the indicator Delete the indicator Delete the indicator and the relationship

Details on how to consume these Live streams can be found on the dedicated page.

"},{"location":"usage/feeds/#taxii-collections","title":"TAXII Collections","text":"

OpenCTI has an embedded TAXII API endpoint which provides valid STIX 2.1 bundles. If you wish to know more about the TAXII standard, please read the official introduction.

In OpenCTI you can create as many TAXII 2.1 collections as needed.

After creating a new collection, every system with a proper access token can consume the collection using different kinds of authentication (basic, bearer, etc.).

As when using the GraphQL API, TAXII 2.1 collections have a classic pagination system that should be handled by the consumer. Also, it's important to understand that element dependencies (nested IDs) inside the collection are not always contained/resolved in the bundle, so consistency needs to be handled at the client level.

"},{"location":"usage/feeds/#csv-feeds","title":"CSV feeds","text":"

The CSV feed facilitates the automatic generation of a CSV file, accessible via a URL. The CSV file is regenerated and updated at user-defined intervals, providing flexibility. The entries in the file correspond to the information that matches the filters applied and that were created or modified in the platform during the time interval (between the last generation of the CSV and the new one).

CSV size limit

The CSV file generated has a limit of 5 000 entries. If more than 5 000 entities are retrieved by the platform, only the most recent 5 000 will be shared in the file.

"},{"location":"usage/getting-started/","title":"Getting started","text":"

This guide aims to give you a full overview of the OpenCTI features and workflows. The platform can be used in various contexts to handle threats management use cases from a technical to a more strategic level. OpenCTI has been designed as a knowledge graph, taking inputs (threat intelligence feeds, sightings & alerts, vulnerabilities, assets, artifacts, etc.) and generating outputs based on built-in capabilities and / or connectors.

Here are some examples of use cases:

"},{"location":"usage/getting-started/#welcome-dashboard","title":"Welcome dashboard","text":"

The welcome page gives any visitor on the OpenCTI platform an overview of what's happening on the platform. It can be replaced by a custom dashboard, created by a user (or the default dashboard set up in a role, a group or an organization).

"},{"location":"usage/getting-started/#indicators-in-the-dashboard","title":"Indicators in the dashboard","text":""},{"location":"usage/getting-started/#numbers","title":"Numbers","text":"Component Description Intrusion sets Number of intrusion sets . Malware Number of malware. Reports Number of reports. Indicators Number of indicators."},{"location":"usage/getting-started/#charts-lists","title":"Charts & lists","text":"Component Description Most active threats (3 last months) Top active threats (threat actor, intrusion set and campaign) during the last 3 months. Most targeted victims (3 last months) Intensity of the targeting tied to the number of relations targets for a given entities (organization, sector, location, etc.) during the last 3 months. Relationships created Volume of relationships created over the past 12 months. Most active malware (3 last months) Top active malware during the last 3 months. Most active vulnerabilities (3 last months) List of the vulnerabilities with the greatest number of relations over the last 3 months. Targeted countries (3 last months) Intensity of the targeting tied to the number of relations targets for a given country over the past 3 months. Latest reports Last reports ingested in the platform. Most active labels (3 last months) Top labels given to entities during the last 3 months.

Explore the platform

To start exploring the platform and understand how information is structured, we recommend starting with the overview documentation page.

"},{"location":"usage/import-automated/","title":"Automated import","text":"

Automated imports in OpenCTI streamline the process of data ingestion, allowing users to effortlessly bring in valuable intelligence from diverse sources. This page focuses on the automated methods of importing data, which serve as bridges between OpenCTI and diverse external systems, formatting it into a STIX bundle, and importing it into the OpenCTI platform.

"},{"location":"usage/import-automated/#connectors","title":"Connectors","text":"

Connectors in OpenCTI serve as dynamic gateways, facilitating the import of data from a wide array of sources and systems. Every connector is designed to handle specific data types and structures of the source, allowing OpenCTI to efficiently ingest the data.

"},{"location":"usage/import-automated/#connector-behaviors","title":"Connector behaviors","text":"

The behavior of each connector is defined by its development, determining the types of data it imports and its configuration options. This flexibility allows users to customize the import process to their specific needs, ensuring a seamless and personalized data integration experience.

The level of configuration granularity regarding the imported data type varies with each connector. Nevertheless, connectors empower users to specify the date from which they wish to fetch data. This capability is particularly useful during the initial activation of a connector, enabling the retrieval of historical data. Following this, the connector operates in real-time, continuously importing new data from the source.

"},{"location":"usage/import-automated/#connector-ecosystem","title":"Connector Ecosystem","text":"

OpenCTI's connector ecosystem covers a broad spectrum of sources, enhancing the platform's capability to integrate data from various contexts, from threat intelligence providers to specialized databases. The list of available connectors can be found in our connectors catalog. Connectors are categorized into three types: import connectors (the focus here), enrichment connectors, and stream consumers. Further documentation on connectors is available on the dedicated documentation page.

In summary, automated imports through connectors empower OpenCTI users with a scalable, efficient, and customizable mechanism for data ingestion, ensuring that the platform remains enriched with the latest and most relevant intelligence.

"},{"location":"usage/import-automated/#native-automated-import","title":"Native automated import","text":"

In OpenCTI, the \"Data > Ingestion\" section provides users with built-in functions for automated data import. These functions are designed for specific purposes and can be configured to seamlessly ingest data into the platform. Here, we'll explore the configuration process for the three built-in functions: Live Streams, TAXII Feeds, and RSS Feeds.

"},{"location":"usage/import-automated/#live-streams","title":"Live streams","text":"

Live Streams enable users to consume data from another OpenCTI platform, fostering collaborative intelligence sharing. Here's a step-by-step guide to configure Live streams synchroniser:

  1. Remote OpenCTI URL: Provide the URL of the remote OpenCTI platform (e.g., https://[domain]; don't include the path).
  2. Remote OpenCTI token: Provide the user token. An administrator from the remote platform must supply this token, and the associated user must have the \"Access data sharing\" privilege.
  3. After filling in the URL and user token, validate the configuration.
  4. Once validated, select a live stream to which you have access.

Additional configuration options:

"},{"location":"usage/import-automated/#taxii-feeds","title":"TAXII feeds","text":"

TAXII Feeds in OpenCTI provide a robust mechanism for ingesting TAXII collections from TAXII servers or other OpenCTI instances. Configuring TAXII ingester involves specifying essential details to seamlessly integrate threat intelligence data. Here's a step-by-step guide to configure TAXII ingesters:

  1. TAXII server URL: Provide the root API URL of the TAXII server. For collections from another OpenCTI instance, the URL is in the form https://[domain]/taxii2/root.
  2. TAXII collection: Enter the ID of the TAXII collection to be ingested. For collections from another OpenCTI instance, the ID follows the format 426e3acb-db50-4118-be7e-648fab67c16c.
  3. Authentication type (if necessary): Enter the authentication type. For non-public collections from another OpenCTI instance, the authentication type is \"Bearer token.\" Enter the token of a user with access to the collection (similar to the point 2 of the Live streams configuration above).

Additional configuration options:

"},{"location":"usage/import-automated/#rss-feeds","title":"RSS feeds","text":"

RSS Feeds functionality enables users to seamlessly ingest items in report form from specified RSS feeds. Configuring RSS Feeds involves providing essential details and selecting preferences to tailor the import process. Here's a step-by-step guide to configure RSS ingesters:

  1. RSS Feed URL: Provide the URL of the RSS feed from which items will be imported.

Additional configuration options:

"},{"location":"usage/import-automated/#csv-feeds","title":"CSV feeds","text":"

The CSV feeds ingester integrates new entities to the platform.

Create a CSV feeds ingester by clicking on the \"+\" button Fill the URL field up to retrieve the CSV file.

Note that a CSV mapper is required.

To finalize the creation, click on \"Verify\" to run a check on the submitted URL with the selected CSV mapper. A valid URL-CSV mapper combination results in the identification of up to 50 entities.

Once, the test is successful, the \"Create\" button can be clicked.

To start your new ingester, click on \"Start\", in the burger menu.

CSV feed ingestion is made possible thanks to the connector \"ImportCSV\". So you can track the progress in the Connectors page. On a regular basis, the ingestion is updated when new data is added to the CSV feed.

"},{"location":"usage/import-automated/#best-practices-for-feed-import","title":"Best practices for feed import","text":"

Ensuring a secure and well-organized environment is paramount in OpenCTI. Here are two recommended best practices to enhance security, traceability, and overall organizational clarity:

  1. Create a dedicated user for each source: Generate a user specifically for feed import, following the convention [F] Source name for clear identification. Assign the user to the \"Connectors\" group to streamline user management and permission related to data creation. Please see here for more information on this good practice.
  2. Establish a dedicated Organization for the source: Create an organization named after the data source for clear identification. Assign the newly created organization to the \"Default author\" field in feed import configuration if available.

By adhering to these best practices, you ensure independence in managing rights for each import source through dedicated user and organization structures. In addition, you enable clear traceability to the entity's creator, facilitating source evaluation, dashboard creation, data filtering and other administrative tasks.

"},{"location":"usage/import-automated/#digest","title":"Digest","text":"

Users can streamline the data ingestion process using various automated import capabilities. Each method proves beneficial in specific circumstances.

By leveraging these automated import functionalities, OpenCTI users can build a comprehensive, up-to-date threat intelligence database. The platform's adaptability and user-friendly configuration options ensure that intelligence workflows remain agile, scalable, and tailored to the unique needs of each organization.

"},{"location":"usage/import-files/","title":"Import from files","text":""},{"location":"usage/import-files/#import-mechanisms","title":"Import mechanisms","text":"

The platform provides a seamless process for automatically parsing data from various file formats. This capability is facilitated by two distinct mechanisms.

File import connectors: Currently, there are two connectors designed for importing files and automatically identifying entities.

CSV mappers: The CSV mapper is a tailored functionality to facilitate the import of data stored in CSV files. For more in-depth information on using CSV mappers, refer to the CSV Mappers documentation page.

"},{"location":"usage/import-files/#usage","title":"Usage","text":""},{"location":"usage/import-files/#locations","title":"Locations","text":"

Both mechanisms can be employed wherever file uploads are possible. This includes the \"Data\" tabs of all entities and the dedicated panel named \"Data import and analyst workbenches\" located in the top right-hand corner (database logo with a small gear). Importing files from these two locations is not entirely equal; refer to the \"Relationship handling from entity's Data tab\" section below for details on this matter.

"},{"location":"usage/import-files/#entity-identification-process","title":"Entity identification process","text":"

For ImportDocument connector, the identification process involves searching for existing entities in the platform and scanning the document for relevant information. In additions, the connector use regular expressions (regex) to detect IP addresses and domains within the document.

As for the ImportFileStix connector and the CSV mappers, there is no identification mechanism. The imported data will be, respectively, the data defined in the STIX bundle or according to the configuration of the CSV mapper used.

"},{"location":"usage/import-files/#workflow-overview","title":"Workflow overview","text":"
  1. Upload file: Navigate to the desired location, such as the \"Data\" tabs of an entity or the \"Data import and analyst workbenches\" panel. Then, upload the file containing the relevant data by clicking on the small cloud with the arrow inside next to \"Uploaded files\".
  2. Entity identification: For a CSV file, select the connector and CSV mapper to be used by clicking on the icon with an upward arrow in a circle. If it's not a CSV file, the connector will launch automatically. Then, the file import connectors or CSV mappers will identify entities within the uploaded document.
  3. Workbench review and validation: Entities identified by connectors are not immediately integrated into the platform's knowledge base. Instead, they are thoughtfully placed in a workbench, awaiting review and validation by an analyst. Workbenches function as draft spaces, ensuring that no data is officially entered into the platform until the workbench has undergone the necessary validation process. For more information on workbenches, refer to the Analyst workbench documentation page.

Review workbenches

Import connectors may introduce errors in identifying object types or add \"unknown\" entities. Workbenches were established with the intent of reviewing the output of connectors before validation. Therefore, it is crucial to be vigilant when examining the workbench to prevent the import of incorrect data into the platform.

"},{"location":"usage/import-files/#additional-information","title":"Additional information","text":""},{"location":"usage/import-files/#no-workbench-for-csv-mapper","title":"No workbench for CSV mapper","text":"

It's essential to note that CSV mappers operate differently from other import mechanisms. Unlike connectors, CSV mappers do not generate workbenches. Instead, the data identified by CSV mappers is imported directly into the platform without an intermediary workbench stage.

"},{"location":"usage/import-files/#relationship-handling-from-entitys-data-tab","title":"Relationship handling from entity's \"Data\" tab","text":"

When importing a document directly from an entity's \"Data\" tab, there can be an automatic addition of relationships between the objects identified by connectors and the entity in focus. The process differs depending on the type of entity in which the import occurs:

"},{"location":"usage/import-files/#file-import-in-content-tab","title":"File import in Content tab","text":"

Expanding the scope of file imports, users can seamlessly add files in the Content tab of Analyses or Cases. In this scenario, the file is directly added as an attachment without utilizing an import mechanism.

"},{"location":"usage/import-files/#user-capability-requirement","title":"User capability requirement","text":"

In order to initiate file imports, users must possess the requisite capability: \"Upload knowledge files.\" This capability ensures that only authorized users can contribute and manage knowledge files within the OpenCTI platform, maintaining a controlled and secure environment for data uploads.

Deprecation warning

Using the ImportDocument connector to parse CSV file is now disallowed as it produces inconsistent results. Please configure and use CSV mappers dedicated to your specific CSV content for a reliable parsing. CSV mappers can be created and configured in the administration interface.

"},{"location":"usage/indicators-lifecycle/","title":"Indicators Lifecycle Management","text":""},{"location":"usage/indicators-lifecycle/#introduction","title":"Introduction","text":"

OpenCTI enforces strict rules to determine the period during which an indicator is effective for usage. This period is defined by the valid_from and valid_until dates. All along its lifecycle, the indicator score will decrease according to configured decay rules. After the indicator expires, the object is marked as revoked and the detection field is automatically set to false. Here, we outline how these dates are calculated within the OpenCTI platform and how the score is updated with decay rules.

"},{"location":"usage/indicators-lifecycle/#setting-validity-dates","title":"Setting validity dates","text":""},{"location":"usage/indicators-lifecycle/#data-source-provided-the-dates","title":"Data source provided the dates","text":"

If a data source provides valid_from and valid_until dates when creating an indicator on the platform, these dates are used without modification. But, if the creation is performed from the UI and the indicator is elligible to be manages by a decay rule, the platform will change this valid_until with the one calculated by the Decay rule.

"},{"location":"usage/indicators-lifecycle/#fallback-rules-for-unspecified-dates","title":"Fallback rules for unspecified dates","text":"

If a data source does not provide validity dates, OpenCTI applies the decay rule matching the indicator to determine these dates. The valid_until date is computed based on the revoke score of the decay rule : it is set at the exact time at which the indicator will reach the revoke score. Past valid_until date, the indicator is marked as revoked.

"},{"location":"usage/indicators-lifecycle/#score-decay","title":"Score decay","text":"

Indicators have an initial score at creation, either provided by data source, or 50 by default. Over time, this score is going to decrease according to the configured decay rules. Score is updated at each reaction point defined for the decay rule matching the indicator at creation.

"},{"location":"usage/indicators-lifecycle/#example","title":"Example","text":"

This URL indicator has matched the Built-in IP and URL decay rule. Its initial score at creation is 100.

Right next to the indicator score, there is a button Lifecycle which enables to open a dialog to see the details of the indicator's lifecyle.

"},{"location":"usage/indicators-lifecycle/#conclusion","title":"Conclusion","text":"

Understanding how OpenCTI calculates validity periods and scores is essential for effective threat intelligence analysis. These rules ensure that your indicators are accurate and up-to-date, providing a reliable foundation for threat intelligence data.

"},{"location":"usage/inferences/","title":"Inferences and reasoning","text":""},{"location":"usage/inferences/#overview","title":"Overview","text":"

OpenCTI\u2019s inferences and reasoning capability is a robust engine that automates the process of relationship creation within your threat intelligence data. This capability, situated at the core of OpenCTI, allows logical rules to be applied to existing relationships, resulting in the automatic generation of new, pertinent connections.

"},{"location":"usage/inferences/#understanding-inferences-and-reasoning","title":"Understanding inferences and reasoning","text":"

Inferences and reasoning serve as OpenCTI\u2019s intelligent engine. It interprets your data logically. By activating specific predefined rules (of which there are around twenty), OpenCTI can deduce new relationships from the existing ones. For instance, if there's a connection indicating an Intrusion Set targets a specific country, and another relationship stating that this country is part of a larger region, OpenCTI can automatically infer that the Intrusion Set also targets the broader region.

"},{"location":"usage/inferences/#key-benefits","title":"Key benefits","text":""},{"location":"usage/inferences/#how-it-operates","title":"How it operates","text":"

When you activate an inference rule, OpenCTI continuously analyzes your existing relationships and applies the defined logical rules. These rules are logical statements that define conditions for new relationships. When the set of conditions is met, the OpenCTI creates the corresponding relationship automatically.

For example, if you activate a rule as follows:

IF [Entity A targets Identity B] AND [Identity B is part of Identity C] THEN [Entity A targets Identity C]

OpenCTI will apply this rule to existing data. If it finds an Intrusion Set (\"Entity A\") targeting a specific country (\"Identity B\") and that country is part of a larger region (\"Identity C\"), the platform will automatically establish a relationship between the Intrusion Set and the region.

"},{"location":"usage/inferences/#identifying-inferred-relationships","title":"Identifying inferred relationships","text":"

In the knowledge graphs: Inferred relationships are represented by dotted lines of a different color, distinguishing them from non-inferred relations.

In the lists: In a relationship list, a magic wand icon at the end of the line indicates relationship created by inference.

"},{"location":"usage/inferences/#additional-resources","title":"Additional resources","text":""},{"location":"usage/manual-creation/","title":"Manual creations","text":"

Manual data creation in OpenCTI is an intuitive process that occurs throughout the platform. This page provides guidance on two key aspects of manual creation: Entity creation and Relationship creation.

"},{"location":"usage/manual-creation/#entity-creation","title":"Entity creation","text":"

To create an entity:

  1. Navigate to the relevant section: Be on the section of the platform related to the object type you want to create.
  2. Click on the \"+\" icon: Locate the \"+\" icon located at the bottom right of the window.
  3. Fill in entity-specific fields: A form on the right side of the window will appear, allowing to fill in specific fields of the entity. Certain fields are inherently obligatory, and administrators have the option to designate additional mandatory fields (See here for more information).
  4. Click on \"Create\": Once you've filled in the desired fields, click on \"create\" to initiate the entity creation process.

"},{"location":"usage/manual-creation/#relationship-creation","title":"Relationship creation","text":"

Before delving into the creation of relationships between objects in OpenCTI, it's crucial to grasp some foundational concepts. Here are key points to understand:

Now, let\u2019s explore the process of creating relationships. To do this, we will differentiate the case of containers from the others.

"},{"location":"usage/manual-creation/#for-container","title":"For container","text":"

When it comes to creating relationships within containers in OpenCTI, the process is straightforward. Follow these steps to attach objects to a container:

  1. Navigate to the container: Go to the specific container to which you want to attach an object. This could be a Report, Grouping, or Cases.
  2. Access the \"Entities\" tab: Within the container, locate and access the \"Entities\" tab.
  3. Click on the \"+\" icon: Find the \"+\" icon located at the bottom right of the window.
  4. Search for entities: A side window will appear. Search for the entities you want to add to the container.
  5. Add entities to the container: Click on the desired entities. They will be added directly to the container.
"},{"location":"usage/manual-creation/#for-other","title":"For other","text":"

When creating relationships not involving a container, the creation method is distinct. Follow these steps to create relationships between entities:

  1. Navigate to one of the entities: Go to one of the entities you wish to link. Please be aware that the entity from which you create the relationship will be designated as the \"from\" entity for that relationship. So the decision of which entity to choose for creating the relationship should be considered, as it will impact the outcome.
  2. Access the \"Knowledge\" tab: Within the entity, go to the \"Knowledge\" tab.
  3. Select the relevant categories: In the right banner, navigate to the categories that correspond to the object to be linked. The available categories depend on the type of entity you are currently on. For example, if you are on malware and want to link to a sector, choose \"victimology.\"
  4. Click on the \"+\" icon: Find the \"+\" icon located at the bottom right of the window.
  5. Search for entities: A side window will appear. Search for the entities you want to link.
  6. Add entities and click on \"Continue\": Click on the entities you wish to link. Multiple entities can be selected. Then click on \"Continue\" at the bottom right.
  7. Fill in the relationship form: As relationships are objects, a creation form similar to creating an entity will appear.
  8. Click on \"Create\": Once you've filled in the desired fields, click on \"create\" to initiate the relationship creation process.

"},{"location":"usage/manual-creation/#additional-methods","title":"Additional methods","text":"

While the aforementioned methods are primary for creating entities and relationships, OpenCTI offers versatility, allowing users to create objects in various locations within the platform. Here's a non-exhaustive list of additional places that facilitate on-the-fly creation:

These supplementary methods offer users flexibility and convenience, allowing them to adapt their workflow to various contexts within the OpenCTI platform. As users explore the platform, they will naturally discover additional means of creating entities and relationships.

Max confidence level

When creating knowledge in the platform, the maximum confidence level of the users is used. Please navigate to this page to understand this concept and the impact it can have on the knowledge creation.

"},{"location":"usage/merging/","title":"Merge objects","text":""},{"location":"usage/merging/#introduction","title":"Introduction","text":"

OpenCTI\u2019s merge capability stands as a pivotal tool for optimizing threat intelligence data, allowing to consolidate multiple entities of the same type. This mechanism serves as a powerful cleanup tool, harmonizing the platform and unifying scattered information. In this section, we explore the significance of this feature, the process of merging entities, and the strategic considerations involved.

"},{"location":"usage/merging/#data-streamlining","title":"Data streamlining","text":"

In the ever-expanding landscape of threat intelligence and the multitude of names chosen by different data sources, data cleanliness is essential. Duplicates and fragmented information hinder efficient analysis. The merge capability is a strategic solution for amalgamating related entities into a cohesive unit. Central to the merging process is the selection of a main entity. This primary entity becomes the anchor, retaining crucial attributes such as name and description. Other entities, while losing specific fields like descriptions, are aliased under the primary entity. This strategic decision preserves vital data while eliminating redundancy.

"},{"location":"usage/merging/#preserving-entity-relationships","title":"Preserving entity relationships","text":"

One of the key feature of the merge capability is its ability to preserve relationships. While merging entities, their interconnected relationships are not lost. Instead, they seamlessly integrate into the new, merged entity. This ensures that the intricate web of relationships within the data remains intact, fostering a comprehensive understanding of the threat landscape.

"},{"location":"usage/merging/#conclusion","title":"Conclusion","text":"

OpenCTI\u2019s merge capability helps improve the quality of threat intelligence data. By consolidating entities and centralizing relationships, OpenCTI empowers analysts to focus on insights and strategies, unburdened by data silos or fragmentation. However, exercising caution and foresight in the merging process is essential, ensuring a robust and streamlined knowledge basis.

"},{"location":"usage/merging/#additional-resources","title":"Additional resources","text":""},{"location":"usage/nested/","title":"Nested references and objects","text":""},{"location":"usage/nested/#stix-standard","title":"STIX standard","text":""},{"location":"usage/nested/#definition","title":"Definition","text":"

In the STIX 2.1 standard, objects can:

  1. Refer to other objects in directly in their attributes, by referencing one or multiple IDs.
  2. Have other objects directly embedded in the entity.
"},{"location":"usage/nested/#example","title":"Example","text":"
{\n   \"type\": \"intrusion-set\",\n   \"spec_version\": \"2.1\",\n   \"id\": \"intrusion-set--4e78f46f-a023-4e5f-bc24-71b3ca22ec29\",\n   \"created_by_ref\": \"identity--f431f809-377b-45e0-aa1c-6a4751cae5ff\", // nested reference to an identity\n   \"object_marking_refs\": [\"marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da\"], // nested reference to multiple marking defintions\n   \"external_references\": [\n      {\n         \"source_name\": \"veris\",\n         \"external_id\": \"0001AA7F-C601-424A-B2B8-BE6C9F5164E7\",\n         \"url\": \"https://github.com/vz-risk/VCDB/blob/125307638178efddd3ecfe2c267ea434667a4eea/data/json/validated/0001AA7F-C601-424A-B2B8-BE6C9F5164E7.json\",    \n      }\n   ],\n   \"created\": \"2016-04-06T20:03:48.000Z\",\n   \"modified\": \"2016-04-06T20:03:48.000Z\",\n   \"name\": \"Bobcat Breakin\",\n   \"description\": \"Incidents usually feature a shared TTP of a bobcat being released within the building containing network access...\",\n   \"aliases\": [\"Zookeeper\"],\n   \"goals\": [\"acquisition-theft\", \"harassment\", \"damage\"]\n}\n

In the previous example, we have 2 nested references to other objects in:

\"created_by_ref\": \"identity--f431f809-377b-45e0-aa1c-6a4751cae5ff\", // nested reference to an identity\n\"object_marking_refs\": [\"marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da\"], // nested reference to multiple marking defintions\n

But we also have a nested object within the entity (an External Reference):

\"external_references\": [\n   {\n      \"source_name\": \"veris\",\n      \"external_id\": \"0001AA7F-C601-424A-B2B8-BE6C9F5164E7\",\n      \"url\": \"https://github.com/vz-risk/VCDB/blob/125307638178efddd3ecfe2c267ea434667a4eea/data/json/validated/0001AA7F-C601-424A-B2B8-BE6C9F5164E7.json\",    \n   }\n]\n
"},{"location":"usage/nested/#implementation","title":"Implementation","text":""},{"location":"usage/nested/#modelization","title":"Modelization","text":"

In OpenCTI, all nested references and objects are modelized as relationships, to be able to pivot more easily on labels, external references, kill chain phases, marking definitions, etc.

"},{"location":"usage/nested/#import-export","title":"Import & export","text":"

When importing and exporting data to/from OpenCTI, the translation between nested references and objects to full-fledged nodes and edges is automated and therefore transparent for the users. Here is an example with the object in the graph above:

{\n   \"id\": \"file--b6be3f04-e50f-5220-af3a-86c2ca66b719\",\n   \"spec_version\": \"2.1\",\n   \"x_opencti_description\": \"...\",\n   \"x_opencti_score\": 50,\n   \"hashes\": {\n       \"MD5\": \"b502233b34256285140676109dcadde7\"\n   },\n   \"labels\": [\n       \"cookiecutter\",\n       \"clouddata-networks-1\"\n   ],\n   \"external_references\": [\n       {\n           \"source_name\": \"Sekoia.io\",\n           \"url\": \"https://app.sekoia.io/intelligence/objects/indicator--3e6d61b4-d5f0-48e0-b934-fdbe0d87ab0c\"\n       }\n   ],\n   \"x_opencti_id\": \"8a3d108f-908c-4833-8ff4-4d6fc996ce39\",\n   \"type\": \"file\",\n   \"created_by_ref\": \"identity--b5b8f9fc-d8bf-5f85-974e-66a7d6f8d4cb\",\n   \"object_marking_refs\": [\n       \"marking-definition--613f2e26-407d-48c7-9eca-b8e91df99dc9\"\n   ]\n}\n
"},{"location":"usage/notifications/","title":"Notifications and alerting","text":"

In the evolving landscape of cybersecurity, timely awareness is crucial. OpenCTI empowers users to stay informed and act swiftly through its robust notifications and alerting system. This feature allows users to create personalized triggers that actively monitor the platform for specific events and notify them promptly when these conditions are met.

From individual users tailoring their alert preferences to administrators orchestrating collaborative triggers for Groups or Organizations, OpenCTI's notification system is a versatile tool for keeping cybersecurity stakeholders in the loop.

The main menu \"Notifications and triggers\" for creating and managing notifications is located in the top right-hand corner with the bell icon.

"},{"location":"usage/notifications/#triggers","title":"Triggers","text":"

In OpenCTI, triggers serve as personalized mechanisms for users to stay informed about specific events that align with their cybersecurity priorities. Users can create and manage triggers to tailor their notification experience. Each trigger operates by actively listening to events based on predefined filters and event types, promptly notifying users via chosen notifiers when conditions are met.

"},{"location":"usage/notifications/#trigger-management","title":"Trigger management","text":"

Individual user triggers: Each user possesses the autonomy to craft their own triggers, finely tuned to their unique preferences and responsibilities. By setting up personalized filters and selecting preferred notifiers, users ensure that they receive timely and relevant notifications aligned with their specific focus areas.

Administrative control: Platform administrators have the capability to create and manage triggers for Users, Groups and Organizations. This provides centralized control and the ability to configure triggers that address collective cybersecurity objectives. Users within the designated Group or Organization will benefit from triggers with read-only access rights. These triggers are to be created directly on the User|Group|Organization with whom to share them in \"Settings > Security > Users|Groups|Organizations\".

"},{"location":"usage/notifications/#trigger-filters","title":"Trigger filters","text":"

Leveraging the filters, users can meticulously define the criteria that activate their triggers. This level of granularity ensures that triggers are accurate, responding precisely to events that matter most. Users can tailor filters to consider various parameters such as object types, markings, sources, or other contextual details. They can also allow notifications for the assignment of a Task, a Case, etc.

Beyond filters, a trigger can be configured to respond to three event types: creation, modification, and deletion.

"},{"location":"usage/notifications/#instance-triggers","title":"Instance triggers","text":"

Instance triggers offer a targeted approach to live monitoring by allowing users to set up triggers specific to one or several entities. These triggers, when activated, keep a vigilant eye on a predefined set of events related to the selected entities, ensuring that you stay instantly informed about crucial changes.

"},{"location":"usage/notifications/#creating-instance-triggers","title":"Creating instance triggers","text":"

Method 1: Using the general trigger creation form

  1. Go on the \"Notifications and triggers\" window.
  2. Navigate to the \"Triggers and digests\" tab.
  3. Access the general trigger creation form.
  4. Toggle the switch \"Instance trigger\".
  5. Choose the entities to monitor.

Method 2: Quick subscription

  1. On an entity's overview, locate the \"Instance trigger quick subscription\" button with the bell icon at the top right.
  2. Click on the button to create the instance trigger.
  3. (Optional) Click on it again to modify the instance trigger created.

"},{"location":"usage/notifications/#events-monitored-by-instance-triggers","title":"Events monitored by instance triggers","text":"

An instance trigger set on an entity X actively monitors the following events:

Entity deletion notification

It's important to note that the notification of entity deletion can occur in two scenarios: - Real entity deletion: When the entity is genuinely deleted from the platform. - Visibility loss: When a modification to the entity results in the user losing visibility for that entity.

"},{"location":"usage/notifications/#digest","title":"Digest","text":"

Digests provide an efficient way to streamline and organize your notifications. By grouping notifications based on selected triggers and specifying the delivery period (daily, weekly, monthly), you gain the flexibility to receive consolidated updates at your preferred time, as opposed to immediate notifications triggered by individual events.

"},{"location":"usage/notifications/#creating-digests","title":"Creating digests","text":"
  1. Go on the \"Notifications and triggers\" window.
  2. Navigate to the \"Triggers and digests\" tab.
  3. Create a new digest.
  4. Configure digest: Set the parameters, including triggers to be included and the frequency of notifications (daily, weekly, monthly).
  5. Choose the notifier(s): Select the notification method(s) (e.g. within the OpenCTI interface, via email, etc.).
"},{"location":"usage/notifications/#benefits-of-digests","title":"Benefits of digests","text":"

Digests enhance your control over notification management, ensuring a more structured and convenient approach to staying informed about important events.

"},{"location":"usage/notifications/#notifiers","title":"Notifiers","text":"

In OpenCTI, notifiers serve as the channels for delivering notifications, allowing users to stay informed about critical events. The platform offers two built-in notifiers, \"Default mailer\" for email notifications and \"User interface\" for in-platform alerts.

"},{"location":"usage/notifications/#notifier-connectors","title":"Notifier connectors","text":"

OpenCTI features built-in notifier connectors that empower users to create personalized notifiers for notification and activity alerting. Three essential connectors are available:

OpenCTI provides two samples of webhook notifiers designed for Teams integration.

"},{"location":"usage/notifications/#configuration-and-access","title":"Configuration and Access","text":"

Notifiers are manageable in the \"Settings > Customization > Notifiers\" window and can be restricted through Role-Based Access Control (RBAC). Administrators can restrict access to specific Users, Groups, or Organizations, ensuring controlled usage.

For guidance on configuring custom notifiers and explore detailed setup instructions, refer to the dedicated documentation page.

"},{"location":"usage/overview/","title":"Overview","text":""},{"location":"usage/overview/#introduction","title":"Introduction","text":"

The following chapter aims at giving the reader a step-by-step description of what is available on the platform and the meaning of the different tabs and entries.

When the user connects to the platform, the home page is the Dashboard. This Dashboard contains several visuals summarizing the types and quantity of data recently imported into the platform.

Dashboard

To get more information about the components of the default dashboard, you can consult the Getting started.

The left side panel allows the user to navigate through different windows and access different views and categories of knowledge.

"},{"location":"usage/overview/#structure","title":"Structure","text":""},{"location":"usage/overview/#the-hot-knowledge","title":"The \"hot knowledge\"","text":"

The first part of the platform in the left menu is dedicated to what we call the \"hot knowledge\", which means this is the entities and relationships which are added on a daily basis in the platform and which generally require work / analysis from the users.

"},{"location":"usage/overview/#the-cold-knowledge","title":"The \"cold knowledge\"","text":"

The second part of the platform in the left menu is dedicated to the \"cold knowledge\", which means this is the entities and relationships used in the hot knowledge. You can see this as the \"encyclopedia\" of all pieces of knowledge you need to get context: threats, countries, sectors, etc.

"},{"location":"usage/overview/#hide-categories","title":"Hide categories","text":"

You can customize the experience in the platform by hiding some categories in the left menu, whether globally or for a specific role.

"},{"location":"usage/overview/#hide-categories-globally","title":"Hide categories globally","text":"

In the Settings > Parameters, it is possible for the platform administrator to hide categories in the platform for all users.

"},{"location":"usage/overview/#hide-categories-in-roles","title":"Hide categories in roles","text":"

In OpenCTI, the different roles are highly customizable. It is possible to defined default dashboards, triggers, etc. but also be able to hide categories in the roles:

"},{"location":"usage/overview/#presentation-of-a-typical-page-in-opencti","title":"Presentation of a typical page in OpenCTI","text":"

While OpenCTI features numerous entities and tabs, many of them share similarities, with only minor differences arising from specific characteristics. These differences may involve the inclusion or exclusion of certain fields, depending on the nature of the entity.

In this part will only be detailed a general outline of a \"typical\" OpenCTI page. The specifies of the different entities will be detailed in the corresponding pages below (Activities and Knowledge).

"},{"location":"usage/overview/#overview_1","title":"Overview","text":"

In the Overview tab on the entity, you will find all properties of the entity as well as the recent activities.

First, you will find the Details section, where are displayed all properties specific to the type of entity you are looking at, an example below with a piece of malware:

Thus, in the Basic information section, are displayed all common properties to all objects in OpenCTI, such as the marking definition, the author, the labels (i.e. tags), etc.

Below these two sections, you will find latest modifications in the Knowledge base related to the Entity:

Last, all Notes written by users of the platform about this Entity are displayed in order to access unstructured analysis comments.

"},{"location":"usage/overview/#knowledge","title":"Knowledge","text":"

In the Knowledge tab, which is the central part of the entity, you will find all the Knowledge related to the current entity. The Knowledge tab is different for Analyses (Report, Groupings) and Cases (Incident response, Request for Information, Request for Takedown) entities than for all the other entity types.

"},{"location":"usage/overview/#focus-on-indicators-and-observables","title":"Focus on Indicators and Observables","text":"

The Indicators and Observables section offers 3 display modes: - The entities view, which displays the indicators/observables linked to the entity. - The relationship view, which displays the various relationships between the indicators/observables linked to the entity and the entity itself. - The contextual view, which displays the indicators/observables contained in the cases and analyses that contain the entity.

"},{"location":"usage/overview/#content","title":"Content","text":"

The Content tab allows for uploading and creating outcomes documents related to the content of the current entity (in PDF, text, HTML or markdown files). This specific tab enable to previzualize, manage and write deliverable associated with the entity. For example an analytic report to share with other teams, a markdown files to feed a collaborative wiki with, etc.

The Content tab is available for a subset of entities: Report, Incident, Incident response, Request for Information, and Request for Takedown.

"},{"location":"usage/overview/#analyses","title":"Analyses","text":"

The Analyses tab contains the list of all Analyses (Report, Groupings) and Cases (Incident response, Request for Information, Request for Takedown) in which the entity has been identified.

By default, this tab display the list, but you can also display the content of all the listed Analyses on a graph, allowing you to explore all their Knowledge and have a glance of the context around the Entity.

"},{"location":"usage/overview/#data","title":"Data","text":"

The Data tab contains documents that are associated to the object and were either:

Analyst Workbench can also be created from here. They will contain the entity by default.

In addition, the Data tab of Threat actors (group), Threat actors (individual), Intrusions sets, Organizations, Individuals have an extra panel:

"},{"location":"usage/overview/#history","title":"History","text":"

The History tab displays the history of change of the Entity, update of attributes, creation of relations, ...

Because of the volumes of information the history is written in a specific index that consume the redis stream to rebuild the history for the UI.

"},{"location":"usage/overview/#less-frequent-tabs","title":"Less frequent tabs","text":""},{"location":"usage/pivoting/","title":"Pivot and investigate","text":"

In OpenCTI, all data are structured as an extensive knowledge graph, where every element is interconnected. The investigation functionality provides a powerful tool for pivoting on any entity or relationship within the platform. Pivoting enables users to explore and analyze connections between entities and relationships, facilitating a comprehensive understanding of the data.

To access investigations, navigate to the top right corner of the toolbar:

Access restriction

When an investigation is created, it is initially visible only to the creator, allowing them to work on the investigation before deciding to share it. The sharing mechanism is akin to that of dashboards. For further details, refer to the Access control section in the dashboard documentation page.

"},{"location":"usage/pivoting/#perform-investigation","title":"Perform investigation","text":""},{"location":"usage/pivoting/#manipulate-entity","title":"Manipulate entity","text":"

We can add any existing entity of the platform to your investigation.

After adding an entity, we can choose the entity and view its details in the panel that appears on the right of the screen.

On each node, we'll notice a bullet with a number inside, serving as a visual indication of how many entities are linked to it but not currently displayed in the graph. Keep in mind that this number is an approximation, which is why there's a \"+\" next to it. If there's no bullet displayed, it means there's nothing to expand from this node.

"},{"location":"usage/pivoting/#expansion","title":"Expansion","text":"

To incorporate these linked entities into the graph, we just have to expand the nodes. Utilize the button with a 4-arrows logo in the mentioned menu, or double-click on the entity directly. This action opens a new window where we can choose the types of entities and relationships we wish to expand.

For instance, in the image above, selecting the target Malware and the relationship Uses implies expanding in my investigation graph all Malware linked to this node with a relationship of type Uses.

"},{"location":"usage/pivoting/#roll-back-expansion","title":"Roll back expansion","text":"

Expanding a graph can add a lot of entities and relations, making it not only difficult to read but sometimes counterproductive since it brings entities and relations that are not useful to your investigations. To solve this problem, there is a button to undo the last expansion.

When clicking on this button, we will retrieve the state in which your graph was before your expansion. As a result, please note that all add or remove actions made since the last expansion will be lost: in other words, if you have expanded your graph, and then have added some entities in your graph, when clicking on rollback button, the entities that you have added will not be in your graph.

You can roll back your investigation graph up to the last 10 expand actions.

"},{"location":"usage/pivoting/#manipulate-relationship","title":"Manipulate relationship","text":"

We can create a relationship between entities directly within our investigation. To achieve this, select multiple entities by clicking on them while holding down the shift key. Subsequently, a button appears at the bottom right to create one (or more, depending on the number of entities selected) relationships.

Relationship creation

Creating a relationship in the investigation graph will generate the relationship in your knowledge base.

"},{"location":"usage/pivoting/#capitalize-on-an-investigation","title":"Capitalize on an investigation","text":""},{"location":"usage/pivoting/#export-investigation","title":"Export investigation","text":"

Users have the capability to export investigations, providing a way to share, document, or archive their findings.

"},{"location":"usage/pivoting/#turn-investigation-into-a-container","title":"Turn investigation into a container","text":"

Users can efficiently collect and consolidate the findings of an investigation by adding the content into dedicated containers. The contents of an investigation can be imported into various types of containers, including:

We have the flexibility to choose between creating a new container on the fly or adding investigation content to an existing container.

After clicking on the ADD button, the browser will redirect to the Knowledge tab of the container where we added the content of our investigation. If we added it to multiple containers, the redirection will be to the first of the list.

"},{"location":"usage/reliability-confidence/","title":"Reliability and Confidence","text":""},{"location":"usage/reliability-confidence/#generalities","title":"Generalities","text":"

In (Cyber) Threat Intelligence, evaluation of information sources and of information quality is one of the most important aspect of the work. It is of the utter most importance to assess situations by taking into account reliability of the sources and credibility of the information.

This concept is foundational in OpenCTI, and have real impact on:

"},{"location":"usage/reliability-confidence/#what-is-the-reliability-of-a-source","title":"What is the Reliability of a source?","text":"

Reliability of a source of information is a measurement of the trust that the analyst can have about the source, based on the technical capabilities or history of the source. Is the source a reliable partner with long sharing history? A competitor? Unknown?

Reliability of sources are often stated at organizational level, as it requires an overview of the whole history with it.

In the Intelligence field, Reliability is often notated with the NATO Admiralty code.

"},{"location":"usage/reliability-confidence/#what-is-confidence-of-an-information","title":"What is Confidence of an information?","text":"

Reliability of a source is important but even a trusted source can be wrong. Information in itself has a credibility, based on what is known about the subject and the level of corroboration by other sources.

Credibility is often stated at the analyst team level, expert of the subject, able to judge the information with its context.

In the Intelligence field, Confidence is often notated with the NATO Admiralty code.

Why Confidence instead of Credibility?

Using both Reliability and Credibility is an advanced use case for most of CTI teams. It requires a mature organization and a well staffed team. For most of internal CTI team, a simple confidence level is enough to forge assessment, in particular for teams that concentrate on technical CTI.

Thus in OpenCTI, we have made the choice to fuse the notion of Credibility with the Confidence level that is commonly used by the majority of users. They have now the liberty to push forward their practice and use both Confidence and Reliability in their daily assessments.

"},{"location":"usage/reliability-confidence/#reliability-open-vocabulary","title":"Reliability open vocabulary","text":"

Reliability value can be set for every Entity in the platform that can be Author of Knowledge:

Reliability on Reports allows you to specify the reliability associated to the original author of the report if you received it through a provider.

For all Knowledge in the platform, the reliability of the source of the Knowledge (author) is displayed in the Overview. This way, you can always forge your assessment of the provided Knowledge regarding the reliability of the author.

You can also now filter entities by the reliability of its author.

Tip

This way, you may choose to feed your work with only Knowledge provided by reliable sources.

Reliability is an open vocabulary that can be customized in Settings -> Taxonomies -> Vocabularies : reliability_ov.

Info

The setting by default is the Reliability scale from NATO Admiralty code. But you can define whatever best fit your organization.

"},{"location":"usage/reliability-confidence/#confidence-scale","title":"Confidence scale","text":"

Confidence level can be set for:

For all of these entities, the Confidence level is displayed in the Overview, along with the Reliability. This way, you can rapidly assess the Knowledge with the Confidence level representing the credibility/quality of the information.

"},{"location":"usage/reliability-confidence/#confidence-scale-customization","title":"Confidence scale customization","text":"

Confidence level is a numerical value between 0 and 100. But Multiple \"Ticks\" can be defined and labelled to provide a meaningful scale.

Confidence level can be customized for each entity type in Settings > Customization > Entity type.

As such customization can be cumbersome, three confidence level templates are provided in OpenCTI:

It is always possible to modify an existing template to define a custom scale adapted to your context.

Tip

If you use the Admiralty code setting for both reliability and Confidence, you will find yourself with the equivalent of NATO confidence notation in the Overview of your different entities (A1, B2, C3, etc.)

"},{"location":"usage/reliability-confidence/#max-confidence-level","title":"Max confidence level","text":""},{"location":"usage/reliability-confidence/#overview","title":"Overview","text":"

We know that in organizations, different users do not always have the same expertise or seniority. As a result, some specific users can be more \"trusted\" when creating or updating knowledge than others. Additionally, because connectors, TAXII feeds and streams are all linked to respectively one user, it is important to be able to differentiate which connector, stream or TAXII feed is more trustable than others.

This is why we have introduced the concept of max confidence level to tackle this use case.

Max confidence level per user allows organizations to fine tune their users to ensure knowledge updated and created stays as consistent as possible.

"},{"location":"usage/reliability-confidence/#overall-way-of-working","title":"Overall way of working","text":"

The overall idea is that users with a max confidence level lower than a confidence level of an entity cannot update or delete this entity.

Also, in a conservative approach, when 2 confidence levels are possible, we would always take the lowest one.

To have a detailed understanding of the concept, please browse through this diagram:

"},{"location":"usage/reliability-confidence/#how-to-set-a-confidence-level","title":"How to set a confidence level","text":"

To see how to set up the confidence level, please go in this page.

"},{"location":"usage/reliability-confidence/#usage-in-opencti","title":"Usage in OpenCTI","text":""},{"location":"usage/reliability-confidence/#example-with-the-admiralty-code-template","title":"Example with the admiralty code template","text":"

Your organization have received a report from a CTI provider. At your organization level, this provider is considered as reliable most of the time and its reliability level has been set to \"B - Usually Reliable\" (your organization uses the Admiralty code).

This report concerns ransomware threat landscape and have been analysed by your CTI analyst specialized in cybercrime. This analyst has granted a confidence level of \"2 - Probably True\" to the information.

As a technical analyst, through the cumulated reliability and Confidence notations, you now know that the technical elements of this report are probably worth consideration.

"},{"location":"usage/reliability-confidence/#example-with-the-objective-template","title":"Example with the Objective template","text":"

As a CTI analyst in a governmental CSIRT, you build up Knowledge that will be shared within the platform to beneficiaries. Your CSIRT is considered as a reliable source by your beneficiaries, even if you play a role of a proxy with other sources, but your beneficiaries need some insights about how the Knowledge has been built/gathered.

For that, you use the \"Objective\" confidence scale in your platform to provide beneficiaries with that. When the Knowledge is the work of the investigation of your CSIRT, either from incident response or attack infrastructure investigation, you set the confidence level to \"Witnessed\", \"Deduced\" or \"Induced\" (depending on if you observed directly the data, or inferred it during your research). When the information has not been verified by the CSIRT but has value to be shared with beneficiaries, you can use the \"Told\" level to make it clear to them that the information is probably valuable but has not been verified.

"},{"location":"usage/search/","title":"Search for knowledge","text":"

In OpenCTI, you have access to different capabilities to be able to search for knowledge in the platform. In most cases, a search by keyword can be refined with additional filters for instance on the type of object, the author etc.

"},{"location":"usage/search/#global-search","title":"Global search","text":"

The global search is always available in the top bar of the platform.

This search covers all STIX Domain Objects (SDOs) and STIX Cyber Observables (SCOs) in the platform. The search results are sorted according to the following behaviour:

If you get unexpected result, it is always possible to add some filters after the initial search:

Also, using the Advanced search button, it is possible to directly put filters in a global search:

Advanced filters

You have access to advanced filters all accross the UI, if you want to know more about how to use these filters with the API or the Python library, don't hesitate to read the dedicated page

"},{"location":"usage/search/#full-text-search-in-files-content","title":"Full text search in files content","text":"

Enterprise edition

Full text search in files content is available under the \"OpenCTI Enterprise Edition\" license.

Please read the dedicated page to have all information

It's possible to extend the global search by keywords to the content of documents uploaded to the platform via the Data import tab, or directly linked to an entity via its Data tab.

It is particularly useful to enable Full text indexing to avoid missing important information that may not have been structured within the platform. This situation can arise due to a partial automatic import of document content, limitations of a connector, and, of course, errors during manual processing.

In order to search in files, you need to configure file indexing.

"},{"location":"usage/search/#bulk-search","title":"Bulk search","text":"

The bulk search capabilities is available in the top bar of the platform and allows you to copy paste a list of keyword or objects (ie. list of domains, list of IP addresses, list of vulnerabilities, etc.) to search in the platform:

When searching in bulk, OpenCTI is only looking for an exact match in some properties:

When something is not found, it appears in the list as Unknown and will be excluded if you choose to export your search result in a JSON STIX bundle or in a CSV file.

"},{"location":"usage/search/#contextual-search","title":"Contextual search","text":"

In most of the screens of knowledge, you always have a contextual search bar allowing you to filter the list you are on:

The search keyword used here is taken into account if you decide to export the current view in a file such as a JSON STIX bundle or a CSV file.

"},{"location":"usage/search/#other-search-bars","title":"Other search bars","text":"

Some other screens can contain search bars for specific purposes. For instance, in the graph views to filter the nodes displayed on the graph:

"},{"location":"usage/tips-widget-creation/","title":"Pro-tips on widget creation","text":"

Previously, the creation of widgets has been covered. To help users being more confident in creating widgets, here are some details to master the widget creation.

"},{"location":"usage/tips-widget-creation/#how-to-choose-the-appropriate-widget-visualization-for-your-use-case","title":"How to choose the appropriate widget visualization for your use case?","text":"

We can classify the widgets in 3 different types.

"},{"location":"usage/tips-widget-creation/#single-dimension-widgets","title":"Single dimension widgets","text":"

Use these widgets when you would like to display information about one single type of object (entity or relation).

"},{"location":"usage/tips-widget-creation/#multi-dimension-widgets","title":"Multi dimension widgets","text":"

Use these widgets if you would like to compare or have some insights about similar types of object (up to 5).

Type of object in widget

These widgets need to use the same \"type\" of object to work properly. You always need to add relationships in the filter view if you have selected a \"knowledge graph\" perspective. If you have selected the knowledge graph entity, adding \"Entities\" (click on + entities) will not work, since you are not counting the same things.

"},{"location":"usage/tips-widget-creation/#break-down-widgets","title":"Break down widgets","text":"

Use this widget if you want to divide your data set into smaller parts to make it clearer and more useful for analysis.

"},{"location":"usage/tips-widget-creation/#adding-datasets-to-your-widget","title":"Adding datasets to your widget","text":"

Adding datasets can serve two purposes: comparing data or breakdown a view to have deeper understanding on what a specific dataset is composed of.

"},{"location":"usage/tips-widget-creation/#use-case-1-compare-several-datasets","title":"Use Case 1: compare several datasets","text":"

As mentioned in How to choose the appropriate widget visualization for your use case? section you can add data sets to compare different data. Make sure to add the same type of objects (entities or relations) to be able to compare the same objects, by using access buttons like +, + Relationships, or + Entities.

You can add up to 5 different data sets. The Label field allows you to name a data set, and this label can then be shown as a legend in the widget using the Display legend button in the widget parameters (see the next section).

"},{"location":"usage/tips-widget-creation/#use-case-2-break-down-your-chart","title":"Use case 2: break down your chart","text":"

As mentioned in How to choose the appropriate widget visualization for your use case? section you can add data sets to decompose your graph into smaller meaningful chunks. In the below points, you can find some use cases that will help you understand how to structure your data.

You can break down a view either by entity or by relations, depending on what you need to count.

"},{"location":"usage/tips-widget-creation/#break-down-by-entity","title":"Break down by entity","text":"

Use case example: I need to understand what are the most targeted countries by malware, and have a breakdown for each country by malware type.

Process:

  1. To achieve this use case, you first need to select the horizontal bar vizualisation.
  2. Then you need to select the knowledge graph perspective.

In the filters view:

  1. Then input your main query Source type = Malware AND Target type = Countries AND Relation type = Targets. Add a label to your dataset.
  2. Add an entity data set by using access button + Entities.
  3. Add the following filters Entity type = Malware AND In regards of = targets. Add a label to your dataset.

In the parameter view:

  1. Attribute (of your relation) = entity (so that you display the different entities values)
  2. Display the source toggle = off
  3. Attribute (of your entity malware) = Malware type (since you want to break down your relations by the malware types)

As a result, you get a list of countries broken down by malware types.

"},{"location":"usage/tips-widget-creation/#break-down-by-relation","title":"Break down by relation","text":"

Use case example: I need to understand what are the top targeting malware and have a breakdown of the top targets per malware

Process:

  1. To achieve this use case, you first need to select the horizontal bar vizualisation.
  2. Then you need to select the knowledge graph perspective.

In the filters view:

  1. Then input your main query Source type = Malware AND Relation type = Targets. Add a label to your dataset.
  2. Add a relation data set by using access button + Relationships
  3. Add the following filters Source type = Malware AND Relation type = targets. Add a label to your dataset.

In the parameter view:

  1. Attribute (of your relation): entity (so that you display the different entities values)
  2. Display the source toggle = on
  3. Attribute (of your entity malware) = Malware type (since you want to break down your relations by the malware types)
  4. Display the source toggle = off

As a result, you get a list of malware with the breakdown of their top targets.

"},{"location":"usage/tips-widget-creation/#more-use-cases","title":"More use cases","text":"

To see more use cases, feel free to have a look at this blog post that will provide you additional information.

"},{"location":"usage/widgets/","title":"Widget creation","text":"

Creating widgets on the dashboard involves a four-step configuration process. By navigating through these configuration steps, users can design widgets that meet their specific requirements.

"},{"location":"usage/widgets/#widget-configuration","title":"Widget configuration","text":""},{"location":"usage/widgets/#1-visualization","title":"1. Visualization","text":"

Users can select from 15 diverse visualization options to highlight different aspects of their data. This includes simple views like counters and lists, as well as more intricate views like heatmaps and trees. The chosen visualization impacts the available perspectives and parameters, making it crucial to align the view with the desired data observations. Here are a few insights:

"},{"location":"usage/widgets/#2-perspective","title":"2. Perspective","text":"

A perspective is the way the platform will count the data to display in your widgets:

"},{"location":"usage/widgets/#3-filters","title":"3. Filters","text":""},{"location":"usage/widgets/#generic-knowledge","title":"Generic knowledge","text":"

Filters vary based on the selected perspective, defining the dataset to be utilized in the widget. Filters are instrumental in narrowing down the scope of data for a more focused analysis.

While filters in the \"Entities\" and \"Activity & History\" perspectives align with the platform's familiar search and feed creation filters, the \"Knowledge Graph\" perspective introduces a more intricate filter configuration.Therefore, they need to be addressed in more detail.

"},{"location":"usage/widgets/#filter-in-the-context-of-knowledge-graph","title":"Filter in the context of Knowledge Graph","text":"

Two types of filters are available in the Knowledge Graph perspective:

Pre-query limitation

The pre-query is limited to 5000 results. If your pre-query results in having more than 5000 results, your widget will only display statistics based on these 5000 results matching your pre-query, resulting in a wrong view. To avoid this issue, be specific in your pre-query filters.

Example scenario:

Let's consider an example scenario: Analyzing the initial access attack patterns used by intrusion sets targeting the finance sector.

  1. Classic filters: Define the relationships associated with the use of attack patterns by intrusion sets
  2. Dynamic filters on the source (Orange): Narrow down the data by filtering on intrusion sets targeting the finance sector.
  3. Dynamic filters on the target (Green): Narrow down the data by filtering on attack patterns associated with the kill chain's initial access phase.

By leveraging these advanced filters, users can conduct detailed analyses within the Knowledge Graph perspective, unlocking insights that are crucial for understanding intricate relationships and statistics.

In certain views, you can access buttons like +, + Relationships, or + Entities. These buttons enable you to incorporate different data into the same widget for comparative analysis. For instance, in a Line view, adding a second set of filters will display two curves in the widget, each corresponding to one of the filtered data sets. Depending on the view, you can work with 1 to 5 sets of filters. The Label field allows you to name a data set, and this label can then be shown as a legend in the widget using the Display legend button in the widget parameters (see the next section).

"},{"location":"usage/widgets/#4-parameters","title":"4. Parameters","text":"

Parameters depend on the chosen visualization and allow users to define widget titles, choose displayed elements from the filtered data, select data reference date, and configure various other parameters specific to each visualization.

For the \"Knowledge Graph\" perspective, a critical parameter is the Display the source toggle. This feature empowers users to choose whether the widget displays entities from the source side or the target side of the relationships.

This level of control ensures that your dashboard aligns precisely with your analytical objectives, offering a tailored perspective based on your data and relationship.

"},{"location":"usage/widgets/#prerequisite-knowledge","title":"Prerequisite knowledge","text":"

To successfully configure widgets in OpenCTI, having a solid understanding of the platform's data modeling is essential. Knowing specific relationships, entities, and their attributes helps refine filters accurately. Let's explore two examples.

Scenarios 1:

Consider the scenario where you aim to visualize relationships between intrusion sets and attack patterns. In this case, the relevant relationship type connecting intrusion sets to attack patterns is labeled as \"Uses\" (as illustrated in the \"Filters\" section).

Scenarios 2:

Suppose your goal is to retrieve all reports associated with the finance sector. In this case, it's essential to use the correct filter for the finance sector. Instead of placing the finance sector in the \"Related entity\" filter, it should be placed in the \"Contains\" filter. Since a Report is a container object (like Cases and Groupings), it contains entities within it and is not related to entities.

"},{"location":"usage/widgets/#key-data-modeling-aspects","title":"Key data modeling aspects","text":"

Having this prerequisite knowledge allows you to navigate the widget configuration process seamlessly, ensuring accurate and insightful visualizations based on your specific data requirements.

"},{"location":"usage/workbench/","title":"Analyst workbench","text":"

Workbenches serve as dedicated workspaces for manipulating data before it is officially imported into the platform.

"},{"location":"usage/workbench/#location-of-use","title":"Location of use","text":"

The workbenches are located at various places within the platform:

"},{"location":"usage/workbench/#data-import-and-analyst-workbenches-window","title":"Data import and analyst workbenches window","text":"

This window encompasses all the necessary tools for importing a file. Files imported through this interface will subsequently be processed by the import connectors, resulting in the creation of workbenches. Additionally, analysts can manually create a workbench by clicking on the \"+\" icon at the bottom right of the window.

"},{"location":"usage/workbench/#data-tabs-of-all-entities","title":"Data tabs of all entities","text":"

Workbenches are also accessible through the \"Data\" tabs of entities, providing convenient access to import data associated with the entity.

"},{"location":"usage/workbench/#operation","title":"Operation","text":"

Workbenches are automatically generated upon the import of a file through an import connector. When an import connector is initiated, it scans files for recognizable entities and subsequently creates a workbench. All identified entities are placed within this workbench for analyst reviews. Alternatively, analysts have the option to manually create a workbench by clicking on the \"+\" icon at the bottom right of the \"Data import and analyst workbenches\" window.

The workbench being a draft space, the analysts use it to review connector proposals before finalizing them for import. Within the workbench, analysts have the flexibility to add, delete, or modify entities to meet specific requirements.

Once the content within the workbench is deemed acceptable, the analyst must initiate the ingestion process by clicking on Validate this workbench. This action signifies writing the data in the knowledge base.

Workbenches are drafting spaces

Until the workbench is validated, the contained data remains in draft form and is not recorded in the knowledge base. This ensures that only reviewed and approved data is officially integrated into the platform.

For more information on importing files, refer to the Import from files documentation page.

Confidence level of created knowledge through workbench

The confidence level of knowledge created through workbench is affected by the confidence level of the user. Please navigate to this page to understand in more details.

"},{"location":"usage/workflows/","title":"Workflows and assignation","text":"

Efficiently manage and organize your work within the OpenCTI platform by leveraging workflows and assignment. These capabilities provide a structured approach to tracking the status of objects and assigning responsibilities to users.

"},{"location":"usage/workflows/#workflows","title":"Workflows","text":"

Workflows are designed to trace the status of objects in the system. They are represented by the \"Processing status\" field embedded in each object. By default, this field is disabled for most objects but can be activated through the platform settings. For details on activating and configuring workflows, refer to the dedicated documentation page.

Enabling workflows enhances visibility into the progress and status of different objects, providing a comprehensive view for effective management.

"},{"location":"usage/workflows/#assignment-attributes","title":"Assignment attributes","text":"

Certain objects, including Reports, Cases, and Tasks, come equipped with \"Assignees\" and \"Participants\" attributes. These attributes serve the purpose of designating individuals responsible for the object and those who actively participate in it.

Attributes can be set as mandatory or with default values, streamlining the assignment process. Users can also be assigned or designated as participants manually, contributing to a collaborative and organized workflow. For details on configuring attributes, refer to the dedicated documentation page.

Users can stay informed about assignments through notification triggers. By setting up notification triggers, users receive alerts when an object is assigned to them. This ensures timely communication and proactive engagement with assigned tasks or responsibilities.

"}]} \ No newline at end of file diff --git a/6.1.X/sitemap.xml b/6.1.X/sitemap.xml index 898c123c..e1909e6f 100755 --- a/6.1.X/sitemap.xml +++ b/6.1.X/sitemap.xml @@ -2,442 +2,442 @@ https://docs.opencti.io/latest/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/administration/csv-mappers/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/administration/decay-rules/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/administration/enterprise/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/administration/entities/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/administration/file-indexing/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/administration/introduction/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/administration/merging/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/administration/notifier-samples/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/administration/notifiers/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/administration/ontologies/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/administration/organization-segregation/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/administration/parameters/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/administration/policies/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/administration/reasoning/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/administration/retentions/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/administration/segregation/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/administration/support-package/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/administration/users/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/administration/audit/configuration/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/administration/audit/events/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/administration/audit/overview/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/administration/audit/triggers/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/deployment/authentication/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/deployment/clustering/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/deployment/configuration/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/deployment/connectors/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/deployment/installation/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/deployment/integrations/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/deployment/managers/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/deployment/overview/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/deployment/resources/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/deployment/rollover/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/deployment/troubleshooting/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/deployment/upgrade/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/development/api-usage/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/development/connectors/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/development/environment_ubuntu/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/development/environment_windows/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/development/platform/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/development/python/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/reference/api/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/reference/data-intelligence/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/reference/data-model/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/reference/filters-migration/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/reference/filters/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/reference/fips/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/reference/streaming/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/reference/taxonomy/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/reference/usage-telemetry/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/ask-ai/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/automation/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/background-tasks/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/case-management/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/containers/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/dashboards-share/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/dashboards/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/data-model/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/deduplication/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/enrichment/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/exploring-analysis/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/exploring-arsenal/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/exploring-cases/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/exploring-entities/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/exploring-events/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/exploring-locations/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/exploring-observations/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/exploring-techniques/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/exploring-threats/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/export/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/feeds/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/getting-started/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/import-automated/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/import-files/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/indicators-lifecycle/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/inferences/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/manual-creation/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/merging/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/nested/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/notifications/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/overview/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/pivoting/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/reliability-confidence/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/search/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/tips-widget-creation/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/widgets/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/workbench/ - 2024-05-14 + 2024-05-15 daily https://docs.opencti.io/latest/usage/workflows/ - 2024-05-14 + 2024-05-15 daily \ No newline at end of file diff --git a/6.1.X/sitemap.xml.gz b/6.1.X/sitemap.xml.gz index eeeb12ea75994fe86fa1ff5243f6b9b1f42d1296..4db14369d6efdd6a73a0064a19429bf675786de9 100755 GIT binary patch delta 265 zcmV+k0rvis2b2c~ABzYG;NC-#2OlfVOxy7~w>&|6?$9J8VU{8o0JPV6`cRhJxXG=D z4&jR_nvy5r^6)w*|KD%FcpN{Vim6L!zwZU0lcC%{veHbp6%U)1n@kRE; z(;#7P7c$&Chv)rok(4ff{NkQJy7wR3kbB?5urT{P!N~CC7(J%zVR-1-V1|Ea{sWhf z3uY8$ugzvdkh5$5wKNl2L5>jo)p1Q=1{tyf7e)a?#HeV;!XqYdm?ONksc!`uvoggR zZWl(F7vRZ|i8CpV2<*f!#Zbifo7)U9Wu-)up^(v*e4p{_?ZOF@K>^7DUy}<0;{h*| P?*g3&nJzk1WIO->a3FoZ delta 265 zcmV+k0rvis2b2c~ABzYGV2whN2OlfROxy7~w>&|6?$9J8VU{8o0JPVA`cRhJxXG=D z4&jR_nvy%U)1n@kRE; z(;#7P7c$&Chv)sTk(4ffe00yB-20Dh$i44jSeSjDU}X4uj2_eVFg)~ZFvCAI|AEWL z1v84W*JiUJ$l103TAB&1AV&!P>bNE_gA7@L3!{J`VpOza;Sm!!%n{z&)VBhSS(#!D zw+kc83-Dyf#F-RF1a{(=Vklz#&20vlvQnbSP{?RYzR&pA?ZOF@K>^7DpOXs$;{mUe P?*g3&3`}>;WIO->=3#(F diff --git a/6.1.X/usage/assets/customize_your_export.png b/6.1.X/usage/assets/customize_your_export.png index c67c81357d121a3c244cedb3c620d6b01a325c2f..465ad961d334268715c2f445b4840b435d7194f5 100755 GIT binary patch literal 138487 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%0A%B_tkF^+v%~W6}>HF-M$#d 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

x5E}oW^PsqJ*qyVNQvGNAma)H6KyG}A| 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 z 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

l1vM$QHx?4Cx(a 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℘3 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ℑb$N2~4#~RQ_ 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

kI+lS(@quQ@#&wBGY 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

3oOlRguVpYJm%XO0TD}cfUdYvS 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 literal 29092 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ΞDIZNjQodZuTaG=Lz=HPRPF4rUPOh|N&1<75z7M9 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 diff --git a/6.1.X/usage/assets/exported-files-list.png b/6.1.X/usage/assets/exported-files-list.png new file mode 100755 index 0000000000000000000000000000000000000000..60a046f2c7590d8d52e5b0bec9da983c4926f24c GIT binary patch literal 20633 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 Jt$Fw9{{xUzG=cyC literal 263029 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

QwM}vFxxgA1LJB1Kvvu+{moerY#W2gXVO>Z?R;2 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 BR-XU> diff --git a/6.1.X/usage/assets/open_export_panel.png b/6.1.X/usage/assets/open_export_panel.png index 8ece74dab9ab6112354e3d7da33f72aa81218cfa..29ac497b8a733ec27c574f6a1c23f120b520d7aa 100755 GIT binary patch literal 154803 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

-dsA3bLDuQ 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 literal 47007 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 diff --git a/6.1.X/usage/export/index.html b/6.1.X/usage/export/index.html index f18c09e9..0f2a7cf7 100755 --- a/6.1.X/usage/export/index.html +++ b/6.1.X/usage/export/index.html @@ -4719,16 +4719,19 @@

Export in structured or documen

Generate an export

To export one or more entities you have two possibilities. First you can click on the button "Open export panel". The list of pre-existing exports will open, and in the bottom right-hand corner you can configure and generate a new export.

-

open export panel

-

This opens the export settings panel, where you can customize your export according to three fields:

+

open export panel +This opens the export settings panel, where you can customize your export according to four fields:

  • desired export format (text/csv, application/pdf, application/vnd.oasis.stix+json, text/plain)
  • export type (simple or full),
  • -
  • the max marking definition level of the elements in the entity to be exported (a TLP level, for instance).
  • +
  • the max marking definition levels of the elements to be included in the export (a TLP level, for instance). For a marking definition type to be taken into account here, a marking definition from this type must be provided. For example, if you select TLP:GREEN for this field, AMBER and RED elements will be excluded but it will not take into account any PAP markings unless one is elected too.
  • +
  • the file marking definition levels of the export (a TLP level, for instance). This marking on the file itself will then restrain the access to it in accordance with users' marking definition levels. For example, if a file has the marking TLP:RED and INTERNAL, a user will need to have these marking to see and access the file in the platform.```

customize your export

The second way is to click directly on the "Generate an Export" button to export the content of an entity in the desired format. The same settings panel will open.

Export entity content

+

Both ways add your export in the Exported files list in the Data tab. +Exported files list

Export possibilities

All entities in your instance can be exported either directly via Generate Export or indirectly via Export List in .json and .csv formats.

Export a list entities

@@ -4766,7 +4769,7 @@

Exports list panel

- 2024-02-13 + 2024-05-14 @@ -4794,6 +4797,11 @@

Exports list panel

F8f(+~TY|n%0+zdkRlbKB7)X;5U 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 DD?Q3M diff --git a/6.1.X/usage/assets/export_entity_content.png b/6.1.X/usage/assets/export_entity_content.png index 7928f8080eb4c4c4999ff4b42f2b1f60a643445d..cfe70e19c9c78d80a13715d4f916509c4ce67932 100755 GIT binary patch literal 61817 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 H`t|<+H5@wr literal 45467 zcmd42cT|(hy9NqU+=8fE1U4W=rHBY9Rl1-^FVcHZYUt8?KsKNvy_bLp3DRrmBqB=h zfgmLyQUZh`1PCM~xpD8`Irp4(*ShPj`_H|zR!D{~^W~lSX6Ak8d7k&Jk%1-)6BiQ= z4GoL7)>C5|8pdiG8d~{37^(kRx1?RBzR~&{YpT=Kj@{g%R_I;T^wnr+8d8|gUocSX zmwdIX{Ap;e2mF4~F1hf9P%l2veyU~~V!wmF6rHqA{(MjjesB``AbY2z>aKHlns;-_ z-!{!!Xr`=MCbo{ZL&mMmZ#u+u&e_m^+dLP^y4}cT)#SqIgrSg&@R8$Pm=Sr`vAjGf zSCF$5cAAnrwk@x|!)Ui2ZcZV8Ytb7IN$_ zns&RTu26`R`a|t%Tl*`#--T^teFFOUQGZy{HuP4>{W}!$?@`rL4l_eC+)n#sr`Kkm zt)A6|cAp&ce!ySo7N&V@p!xat456XnPneXBwr+a&n9Vl`86LgFd{jh3BhN!C`p?zq zo6i=ir=+84{;$mj3xp+LRWyHvNlb)apjivZ3lLUZT?UsVwlOaT|I_&QAJ;s+KPX}<)(2`LYkpAzB?UuhEw=2K;%g7l5sKNahGPJyxntm*i-NnEpzk00#DV#h= zo&gNEP~ZXyvUM%V@2<#D{+$k5>tEQ#*0K8*k0NQtf;a%aMG>t|4afw`%4|z*Ss(P? z5$%8;=cgB0*Q?z_D5fIlHnE<{fGHA`XoxS}Gwe*yI=lKGL-_x`aE2RZ?cK}B0#Gc> z?~}EjsYn_fZb0-U_=R;`Sws~rA=^t24Rqvyu6X|56LE?j3NAgcR{~}G=MI0o<}#=0 zdTG~tufb0vbQ4bY+Zf@@JD!ZN`W1RoF$$rrR0}>1BzRK7HZ;y=n=%UFBZ0E0`g^AJ zA8aGnou^861^w)M6^xY|-W4{GTYTsilAFL!XkTZb?dsw zwNe7`M&!Y$!{_bh=G|+a6Kxa%G882tJGb7GN@ znG?-6C1$vEo{q58mQU;I=e)o#Je(m>d_&jW({ACc@Rmq2sX;$^SCEZ5x}WES?$CbztZf>eTE)NnlDwflrtDGo|CM_j#x9q+~s+Nl`_n6*tc3EbYFN6*72z z54wKPiXJaOYy9koMZxf+LATG9hU3_^vxXFfNKSuZwB{NZk9icCx4%N%&rI0I`lxtB z`}HLh4=hq5Z;3|Pi=N>y8H7L&UCi*pP@tW7&Jf#h!4@y?!F#=kEf$6VF%i8!B0f zM`_!$mmjEU){xqcR)*I`sGH>XQxPl5?FxTlQzNj?a_($~BLBp{xXD>DEl{VJVo?#k zfNVT2)%N?50~wpR;Vix>z$USKPZ5zT&JBfh?FPvX?qF-b2+rz^7WJ+_J>+XA%hA!$ ztl4f|va~~Ww2y@1tmK2v|5j2xQ?@$n)sZjPdI1a`WbnhWSPb<%0qJC%bg$ugI>A0P z10pXu>)oe56)Bx<(oJ=&$N5bZl8x(uDcDX>)Yk><~>YlZX13SuvxztHr{)I-Q6H#NcYCV7`V6oXT>SD*Er zpF-=7+wZE|x*8Nqf^?_b@0wZM-%^q?r~!qy?VL-JZzV|jf*Qc?08OdZTyZV#3}(Xe8&)emoMrtPOm@)u=m$_ znJtL;#JKCbyyT1N$T2yZ$4;9+Km!)VT^_H^bYkg|E)fDSchd~!{HYOLZ-`8ebZ$w- z#Ra?L;4`-+%&k~Xo!H0owR7E+o414wi_*(^xjmfWrQBjYYe%m#_C=LZKt2XZ6g-f2Njb{@O75Z|gfuU4g7JM255;}sJAce_s~cuAG&=~9~l_k1f%?*pFo zk%_8@SRWg3iHLN_@#O2eGTnZ2W4I^K)r}zSZDhlH-oNa;`N2jH|0`N$3c3y`Y_KwH zjr_c;EKuPt=&BWP6i$c)8=4PPuODyE5AIOjdn%53A8$`*M#%vrnpEDGc)hWEhPui1ziLwpn$bgtR-c|EFU>Rt$`m|kSgFGK)a@NVoZrD*qK z2}7|d$q&(hI`~`}{YZvzN|$t0=A|p&tUs+*VISaBDcMEn4y`R?LH$`Gp~|_BTO`X5 z4rnpv46vom#bCTCAvO}ct?i5o#_b$H{mW+zR6B7KTrcK&-o}QHF25Gs zxmjB2@YZjmt}|(Cg;6R;_ob~sLVh(v@9%;%W6ue$MXN~D0?6k7SMV%52B z`YrF^QA?BKOI&PA7uTYn}{8lpo z{5WQzq6ja%TkEW&s%E>XIB z0|=k7!s%G?)bP=*jxY?zj>41ypz^Nuw~kqvw(qT%gKf}T$DOqf3x9ft?GxHoyNQCn z#qC661{+t4wpY|Zq|zl&kzvweInF!r99Oq9(3_x2dr*^RCS=(5a2|jWN^Pb$XE&K|AxTO{)bl(Pn?2 zZGSOkn|@tW3En@(PQ$Z`3lN-v0eBY?TcOG6%ab(E4+#)BmnDO)d8!xAJ`k!`vKqj} z5ZkdQI z2bPJBypD*@R&A}xqVves${O~0xC@%@#L8Dh%;`7oV^ps1n8;;25WezR?N#KNydod%qh5FYvPeL;!9Wa8tepr^-0|WnT}+>MaPTg z>b~VO>uxVXel8R8R`vkkgkTkG8q3yYOZl!quoZ%jw_8W2cy_4nu}l?k9>It=kd&!3 z;8VRV6V8&;$YKBDwWn|jZ?;k>PCE}r@^CEcFVU}B`;`qd-kpy@ohxV^SnE6Y=j;z} zIf4{SzN=L$>#82`D1wE)H!L7d!g0zh%@ye^HhI{x0OXY*5Sn=e02ZGL-9Am)Pm$?Y z_c&>ndD^Vctz3SAxg}6RIVkLMU`H%AC(jGVei*Ny8gRy-lW7nbMNe4mH(cK=8g(IN zjwzNHNHr;UB!ziny8_P?M!*T|M%V-Y+1;-(-G1JHPTD?))y3l>_b^@o`#IH014IUI z*xuH|%K05QjPlP*%$dAx9#8cx%RlzZBL`&SAPo58NCJ? z>PhNZxcA0+LWk}IYu`T3@o2jCLm&kuThtOMIcMw7^%>=FU8jL=jltt8?ehIU4h}-0>7R~mYSj{mjuy{w?tSZ;RJRvCO(XzVtt2oxbL(YzaW1+OuCm)tTtD$EvR_H;5H5Xus;|_Sa$PRED72)I5}CLJkU=Qvzm5-x8P0PYd_!XZcp4ZBmo3J05gRYL z0EuP_Ugp^EV@nrT<|Fct<`p-5%;`_nd6vTrYMLkoQh<~52E(BJInk!-@yh413LAA( ztHfep(+I}$=5p?Ay#lMyua7Xb%0T#R-S8Vy6+G34uWiC2Q9D*|rnUw5T!?ZA&O~fl zBli;SJ>P#RwPcg1l^_Cs7OP7DXMpyu640>-(%t?OvNs`%h}PPS*j|#ge`h+-QJJt( z9l9PhM;c8q?s&y50`%%nj@uuSsDs|9h9ofFmZn)bWM{eve^|$mo*-KzTa14E?PR<> z520Y&-x>2>OQ6oiorwpA9JhW`K76$gjIv8!7|SBhTu=>GA;|wFmOFhxy_MZc$rQfh zVp8Bs0`X=Q7wy~%#jWSWa%UINnDoZf<&q=Lm=#Q1M@|fvAH>ZBdUHFzzSxP#TYcXE zoPQwp$s8VOUD2|Ir$QHMs>-$A*EE^EU`7_iV?_n~@jzz1NegdrQn8yZZui zlaVwT!E<|oHC+pT4jwHXPdZ~mYb3(x_oUFv%U92;@`4T8|5+B;PUotTWnG)UYrQ52 zFFWJM46BS05nL6K#0){eQkQX!j)tq2uXl&Su5{!F=$`=$&>KgnAV1{#@z&&A8P^fC z6S<{6Y62V;3GNbC{flR*`8kh>O-EVYn2l()XI{EXUdaZZcR^P`(VlD@vfQk6SkcGl zorYcCv4x$Gpze(vbFuvVvlhhBYt!BUzILMccgZKa7Iw9$B|ij4e4$fCzCxDkw!iB# z_vms0FUY!fE3iC(L_|yOygl$!>%^|1^Z2wAUG&SM(AH2AxGwwL0XllA(Lbpw1WI#x zjZt_5luZzf)fIOa!nqiv8GyV5y=xR9u!LsWWRIotlVDh%K{c3|b7cxs3(615ZSh*( zx~$*eybzQzb_gZMLV|?4ruk~}wNLzs65O(Rh@NWO?y>V4Kza5Vw{A)D{F2$UwuIGqc9rU5Pk~q{wRFr6VwwNz;>@P8; zna5eYHY~jKQ|ey92-`;|{u$vibbtsUy(#;s3l z87TQG`j{0)KbV6(^JZYtQlLL`Gwhl*-F@#NX}c5$29(u{VNHpl@l~Ic%7w#80nEar zf2^Rj)F}6nx%EUHaX?w(*m@>9hS4%``C_Te-vM2CMJ~$;{;V<8Uxky78#R|Q%?zyY zZe}0Vba8Umxtix2HkDbMD_@bWxw@@gSg4=!3I-}BSkq}M%00OGeowXaSwT_N-Z7Rj zs+4Uski)=w){?)quijwQF32Hzfo=E5J_b`LDvai!V(KTy$9PevnU3W(I9VAI#6pxG z(T%-pVYj5ClG~}(vcI@`IjM-TGeDl}Xwu=?r_afZe=kK)95W=1%4eltdmCw}Vju97 zBX8WZoQUYJdV28k@MOd=Vry^lz?(~bU&-v?B_?+(pb$D(W!zvp5d>Sxe`t|iV=Ekf zvL}ZO^N4F7o?aPDxS~7E%&qA7#mD49hl;R4p)@jn{#gz$_kLF(U+W`8$y^=btotg* z0GaM$DpSI|B#wL*U*gTmQ>+Y3=JhwW*Dd52RHo>|4xl`n;s#XG* zzP%$boTTD_EL<|j;Jl4};o_)UtM<9Ku~8&_A^lKIM&)yfx#sm?6XN#cLp3QDzZ7G^ zUCHmeipCd=YKi2@*=eYIz`=4Eu&PSW#$`JXWGD-=^Zr$8{c>kvTrudpt&7rQ+g`Fy zQxUGFi3muYpYd7J_U;Ny9Vt{EpT08W?%iohJSlg&$y_FrZ#pL#w0J9<>Ie-vBE?im zUFO$CEi&~**@p;x6ydCUnHhq*Im2J-;DOLapn_VKsaT-A&NFA=XZP_b3gLom47v!y zr)c6_X!FE=%fakda?c^0+AE$OEPV*Su@FrR$*(}a?V7fz8ylJFovp0opJi5jom-H%>Yc7dTD z2y2!3mUPC)i_rr^GC>*iN!v4$z0#IH8Q(PnV()YPIIu>%s@f;+DOpe&Cyzu)WLLl( zY(9(8b#dLZ5gxpAdP&4yy5pp%dw7vR6lZmM=Tz`|^7w4qrc*X9N)uC~CIYtLN3;9T z0C6ome%nVt5i`ki=I8c3#xmQOkC+<=%!{F|ldxb=qc-+ai}$kglx_!ZGCGfOUq|4E z6ls8GtYM59*Q&LB2sQJF%CfKrS#a40#3{*(NA8;T&&z8t4S)ZWlF62c8Q?=ix{{Ma z&(%b1Kcz}Be31|RS$0-1-r*VotmznDXl>k6E!X=@TGOsl4Adbjf=VQ!SN!OnoE@Hx z-(lyHyG-#5=a)+jY*Fyyk;;X95>rl{xIS+bApc4+utVso zVa^w46NDApRzQhcNg-7H5cT)Oj|}z!j94zAe{3D9Tc zQ^4}l>^e}NM-FByEiIVK$iAqqCdZOxBPv`(Tlx4RN<8gc<6S}i4J$SL`aXr2g5=1z zxx;^>#<>iZbbZWggZZaheMN{Dk#9(7f|b7}^d3vVmi$MUYbIm&Q7*)6fq(u-Wls1Q zLn%>rTuqrHG1Kq}LO1Pyx4v5-@KCF9j*p6-@7cJ5Q8k0*v>73@+x}+VhXxrzlKHjU zStPJedCH!l{*&^UpC8STiMICxbFX9-YJS2v%LC|8>;-m zT^{(W!X+gE{BVV>HdR1y8{i4wCr3GFdUv)|9AU93e^>8rFm)AU+m|-UB6%&8FLuEz zo83Z-GVBB0@uHT*rEdFUh0APR?}NhXK1V`{Iv#*+(*5$qf1J@t?>m^^84EtwVfaU9 z*l>8Al8A}WZDql?}R?gZ+lQ{#Hom^mC z8{8^-e!!hl1X;H!SE#pbmSLE%Bzm*for2Id>7l*rTg#ZV8!is#*xm+oVi zJH4@jII_>Xwc#Adv7Ds7IrQ>k!*FeA>27AIvM;`7qizogTOR*SFV61lyB6W<>>%#5 zpIpdfcw`PW@B&0A>D%Z1`r9pB$LyY&Z~T0-Y#QT6+D|;s$-|19^>vx3qmK2x1c3%M z(Tcg|?#0mMQlSvGPn8)b!Pxx@lLs!QBXtu}t~>5Al~2KmYhA?UEAv^OkYDnKu9rP* zbpwu8NMeH1sQ^Xx9Yr~<_6>_XYYT5~3+|;*(|1BBoaomDB9b!l2>i^$EK43y%E^0* zUL^+WBw_g;#?(73(#&nlt*&F%HS7N37M}G4zj*0d^O%c>;pq20{(FN#_R3i zqs{^sH+Mxvo-AnbREzpzD5FVRgxT_;bX$qc>yHpxNuO=OT|M6tt=HO8=G|BaDZSYz zt&;`fqE*0K9Z>q|7WeIC+(*-0zntG^dov422C4MAs5gHP+GoCKqUSg$iA~IMh9-+w z5gly(M^#*(5ZduT63(AYo{5H{ny1bnGUE=?6CW_|3zBtBoOl*s8caFIpwE+B{?^Pr z`Xy$coI<5+7o?|X93F)kY_&r$xl#Dj7&{>?Xw2B>T~laH-o3!}wFcGE5D3G32Wd}9 zdbA8$FipCiyQGT=^hGk67}XH9Jb1Q!TThCi(eD#fv&S;1xS&YoUJ68HHwlsx&i4zx z`QwVehduDaV>(8K5i};|0;05wffAO?z{m#M(5rWFAF)CtaxZa;bmojagk49v7gQSM z4Ndue7DaUk4|EJ(9hgKHfFGtEK%0;T__vo*E%9B-%i}V$dG=2_DBFwVYWZ22?;nYp z<&&hpLR5ptXCvZz0f3UH;pjNlJuc?H?!HB5j~|<-aGoekyhSsz^EHXF1MyIP9Zm%d z8xauInl#+}(%n(TIK^S~)g+l1h);HHYLy}^d#g@`GtfxjI@g0U+`#jU z%CVZb^&smEE#%@%jUC$O+@}B(4Cg5v!+md9H2|P=Jqm6^VDQ%rnc~2uuVr0+mWs{9Xk&!*!qDeDX9JHp$>W_6TPs72SkFCjr%xJ=YdVXniAco~7e&ps z0r!->Io;+hrcQ$PI$$|cg6dX#^!F8;JHMWrQR(CCy;<9pqd8cRs(rndg6%?o*?Vg2 z)i9l+I=3s_m(FPFy@RrHA!C+>Qa2d!&EeYzJ$|R-nH#|E>DpWV%f+4@>>S^>^v7lQ z9s8xG1K62jjHv$$6c*Bg9D>+%#)M{r3Yb<<1HW$a})o;UR^?Y5?90so~46uq{zvmIs$pLfGIZEF7cd{kBo-8!R3fMu+LjMJVgpupO2 z-aG@Pl7G~JR!N4Ib$-x}%tQFT-P)gk#zi0^VA@a0VTsMVf-K)RkGv7kS{!5SqHG!U zlrk}0c_`jwo%POGRAf?4d|Jttfc`qP9*O1f3X+zMMmf%b%S)F67h<&$P5lqd#`q&0ooeK02!H4DSjc z80?D6R@@4Va8Q*T|He@$yeww5bL71EsU+6v2RO12{!7+-$z@*polI-|^R@tQz&L1} zzFHx$(+qyDASkx!>}4}l-D;n?A7y)MR{Vb;)*cT&>E5oGD7S_EW#2N6Kgg)2V{3xNfV_BwclSw|})G%Yr z2+6)QMLpGo3`JeCG_h7WIAWfvUur+Z<$uo#*7RGd)G8nT#A{cVX(3D=-brDepJThw z3@zlv|3)KzbC-m`oq(3A*_s@HoM*ZOJ4gcQGWM_^fMk@Q96mAeZwN+QbV6xzg5=Sn zbTZYqnae^vEP>qGgNO+3X5=fCJfq%wnBlI+S)zbH6~w0$vgG9#0`9NKQ+o~ z&w_$QZCl(Yf_&6r64!mKv4$oAk-;EQ`FfN${r)B&VwifUmP0qD*SrLHbk6ZI$DPe4Vl`kp?E<*`O;(Xo0nDU!O@`imoJudtZ9MfdW62IG=Q^G~gbSRp`I zchRh!xMI+5+LR!x9*xiqa54uImaL6lGpjv33}nWfW7$i%toe8TW8}Z3go&&-sR1$}rPa$v!Ae zP*}bm>NddxjcgL6gac~fhmx*t8&jWOHc#QeZkzC_Rhv2kea-+2z!{NccEAu7b&5x( zV9-8+Q`tpxNkH{F2LSv#6&=QspJTfvxI?Lr*C4Q^vUV(vTW-FLRo0wT@+3q=FvSwsoH{0E1v8YPmV zg?5;#X|+f6-`BNSG9^@^G{<}v`OT=k0Lfy|InFcr0LU4jQ{f3xm|dp&Bik^S`F5R` zc=pw$A}9NoZR>nb)|fp2j2^>xjhdh=>ma^!&BKjR$7D5Y+VS_6q+MIqzrxQeFl$>F zp+u<2WtStzs{`m(3VMq*^f(Ex*FNM0+TXkU=h=1v#4mK#hN^2@;VnISGxI92y?<6W zWro5YCFY|?RLxK~F{?B(@ZNq^6W|GY3t-Zy3FN3+<;F$N{4YV!C7<=CZpaRUg${Z_ z=+Togl?EouiYW}mY-|@NF<7wd{r+hBt>fYF+C}GOCJHFxnF7yG!v$z1YTdhBLb@C1 zlYjP}syPsI{UiG3C?WFG-0GhdzCa7sW}QzY4iiOF5A#2(FHpyp^pdAuedk)e`u%J5 zjVy4yZ0J!jK9@^?EQq;Ot`?e1#i>(SZv_6Y|*&-zsT9+bW*g{u`eS|vD52eH9@M$gpakDywtRccMxx}I_)UJ@7x0PsGWKh_ zWehA(;G(>Hq#?A`0n*7zZdHtQ&7n#uhve|~cZD3BUz+6=bJhFKJr$Y!0D;w;G=gS+ zroy~$gRdMw;%2A>n?K=;qBqYIuVJRg;#7EOdh_IisprBI10H$L`Rb|p55MOp=?}|w zTl(s2%z2#k+YzCPoCm*XDoi@#r3AWQ2+!06O(oId2(AU_wM8zOp0+sRJp1^^l;!Ma z$Jku*oinxRY$J--pr-lD5%!mSC&#71<_H`A8OR5$)Sb-C*x=xU&iCbO0WWSpG*;BRKBisg=K7J?ZjH@hVj{gfG# zi}Q6Y?H*Rmf@LsTF7S0mv(fMei%&tG%!vuMnp1tspbsIJEY;YqPUQDYvy}Dz%D~Lf2jg%?{-Uayt!tj*<+h=gE97 zVF(tYssnRu!h-$d-*g=kIwdz(s)324+#zTxJ_-z(WZUrXa%x>ISc#sIH^UBw#!^^Y zve|Bz!m7;QlRD4aomu`PBEEK=`oX@z;8HHPzzqqZ;*kjbF%P5J=D`4sRvYlcNvdq| zp71>?I#iJq5K7dAP#HifQ{yb}Nb>3J6FXcrtkPT1q|*4N21QEi5qF4fM?aaJ_J|o^ z_>cMEv(5-&ub~0J6Zj)=dP2?b==;OaBLJ(Tz0||&B~?GGlf1jEcX` zJM${hx1dfF9ht7o&t?j4A9NPDsev=c`mYU`fx>5{{|Lw*8&N-m{8|4_uOeO0X@2e1 zVMa-{F73DS;lI=4i)9Pj5t7~F#ZTDMj{+N=!K3GEO{gSURMO-SNe=rs@?UYh`W**`&xz4ys9O#UUk&UrJ_>U^Y&CzD0e24927Qhhv4@jq9n(Zjd_gzm zkKZ8-l~Ha6tN2?}H-CqQE77)U`wU@*G|`3PtYqhmegcBkZ4z`Bm?K<|l+D}R5qDT_ zBkJM#fHeO!eN0bQ3b51>y5UctDI7hr|A42b8Q7xA_N4|`nje7~?Kf{@FW`B8{|e1x zuAsenk+)gH1^H|=WAj4JE=w?w!7m+qcg|NmWO$fV5l z=YMyZYGLa7;f*R^@&Bx_-(C2sU-UC;`_Fo+gZsBUUR)EguTc44U$MtfdD8!sYaIV8 zS)z>ow@CS)veoi%`4R>>cWcX(7Q-sZD)av$!y@#ZMJ4FJ(jcgJy_S`9X7H%kSO9$Q zN5s&aAFjn&Zu);1Yx_Sf|G%lMQ~N~zA0siqz{Gx+|I(#z5Z@Jbs(zT))y*@aAuSun&U7Pahay}?jm3$#3E{Os(|*_jgKbcP$hBc#Qu z%Z-Cvage@eY^;;5m1@^{a?0>X+S05v%uJgaFeLM-ikBOF3qoI5AI`C0V!wa)(znDx zpMsWChML#Atqu#>0hQ4>5r5#Xy+Z$Y^k^TeNIkkZo7NF^oyY$^6B-)7KWpMjW0IaE zTyYI`=!FcU0w)3wrt;0Kbv5ZUtaz%8JM^gfk=WWqi!OYDxYTsi@EA7RikcPjpBtnm zx(z+5iDUKYxY8kRpU?Q~`vKMCo^L8_c7!-%NZH_7v8Mmk#gn9;W=%u7v$yJN1og#& z2?6Ie_of2>@KhC5+;83K^3IE+?pXg-e!lyEQu$?4AK;8(O_ljS&7vtaYOnO$^IBay ze~v5bq4Uvd;7S5NJV@IwOgAojhWubxG871|Nag-LoB!97U#S!_&la-*QGKZif603R z`_R@*k5KU1V9q$F`$FdqsL>hqNWR0PRO;(;UxaX>p-8#`+XE2YEJVAM@LK_900{ZU z1NA@t6-!$!nBIx{zFdSBh$+^w>-+5Xz{9I@6Ze&zi zTup`EQAs#O{@{>216WK%PIGtSH4mNo^K|gVtW&e z8=s51-u-88uB?w*Jicd#(#%gje|irP)ww2S`JI#1wy5i@>|D?eGWdp~GvmRS|Jb5> zeb6!CLGpRaeY4;lJj|tV>Vw%A2D?J|>4XDdwBVV1zXm+NYQb22RZ zmOx>6iB+9Y%4kFKDnEK~Eb}1efXf_WqlL(^R#dJ)AB6yb89$EJXpsAxcQ0jeYn_QZ zf^S(tVwD~Qz1QPi0Mz=$e;qRq_5LMbmFpR)w|#$H?{d(2#}M%iVhCwM%V zQS$@A3!|HHj!MWdw}8hi`o?m;|CD^7*tj@dtDmV5IYI*>28K_a+>gKw48rK8SfK_R$RVu*-L%x z4)Tlt8tg3h`K9TOL6E^ES1l*1_~U+-;*t>C0+oIpgut6VSzi(8Ej=C( zC$lAw%H4|w))z}xX+m#Xiltt0bn@+NL=SuWjbbAAbIzF*czkF!Tdu&HS<|;`D$K>th9+f>d$Fx_M^BA$A`Yr*9uigStBa z#=1HKymQUpwnd8XdKue+A|Yq(an%TJr!&*=KT?l7h6;4S`BKyrvrZt&vVCN+?wxMI z5?+Vf^^spfcn8?WKKb;-ktkQ8ov31E-Xu2rD02SH;nkATKOqOdnDCXoENbR~Zg6mf z&(4C0f+I zcIeZQF{nuoR$aJb{0Y8DUW|^u0DT(zv*(JjGGbs}KG7*d>c%aBtgQ43li0p#C`bHY zZrv5@{yL~FWnv&x{Rg+uVEq+mjbyJ>JTJEpGq~qZU}Rl$g%=6kXl)9fPbi86OBP4ekcLT+f&^k$dU+M31(A&PGv z?*wA`#ga$UaLw^X-SERgsYiD9OZT86V_&UHkhw0|j}}wL?Sltq^b-?r+KVyopFTsm zE0(cHr1z+qlvq=@0v=XBqpUr>=7Vlf-ZLM{VvD&fydXX7pFJSjH+?ozxT^nHKe(JW zKSUug1hGR3cn2sSlgHo2$yJ#Wu%klPnzu-kejC#wuAeN64Tqq?6v1*s-tohEH;pQp z%t|yFs8R=7{Zl^Dl-ceatl&5B9w|F~&o-=EN*XSC&b0^CbRB3#wXl1m%!&@6QCK-+ zZ+A;Ar`g+~-l-c!%tFsQRAsf{HfN4HiaZ6NOtD0vK~}YSy+avymCY-m{*%||)>|@~ zL*G{Csyupn%f%z~=cs(+x}2+Zm6TV>;?DakYt6)r%9>OmW#_~G#B)rOOIpOk2G?!5 z9-@Aln8N7Chf}1%)^(0n770?aRf`-t4S8ksCw%IuNta-As&FB&x0O`7t&4aoReg4G z2LX|~?THl>lyO)I13OPUcG%afj}i+_qxVxXJ4-8Uoq@>Gia9>T*^!*MM3(`-8rsYW z(^_7qXBTJIvL7CPGaf%^RzMr>tD@v*;7Km?)EumAJZX#-v)CaN*dan(WLjc3n&>-f z`uP{4OGnoIUA4|zTFgn3v8F4+IZFvYV?GCrtX{bP0bD5#8zDdXHGDnK`)b3};BE#* zOa{p2HX=gl8NpeN_@E*g7Vb^lwMi)(tEfHxglg^8Ivb0y*nhZ$6@E@omj4DqSm8+C zhdj6Fgn1GecU-|s9TrYWKlZ3 zs)+4UZHbe5emSJ}TNJBuKWI`5aiF#UI*gpnll|!-L-4Zr7QfWT-3g1SRLja=zML@B5-Y9g0PxTc?RVc|=srSCIyoL2H3%?_!jw=Hb@}6R#%g;U_GgJ!mV#dh)|!=u zDd6XXy?mn=xX?tVYTku8*Vos?l25A~K#A*s?^vZnAt z_K&yDD|wtkNM@3U=AGbN^H`UG`Ewcl7%LqnxX2Wws5VE&AUq>y;EqAKAP3>K5^jB~ z=ju>RtngsM*tNj%=8D6B)_lLCs<%@RNVgZdZ!CvL1FMU_m@ruHGWPe%sWF{3HT{l0 zPbu`1t(n={=D3e;YmaW>+uJkh-agQtzm*#!PHtlNuZKF%nPYu!0T(x}fce?PMha9b zn*?|)@80nVz#|tL*DTq#zWbDQsfw=)yrC|KVEr@+z^15}fp}&^YY?owJ1~7jF%-Ut z`|^Io}fYHyCN>`9)$eYp?1k9QttQDr zMhiA;r{8JfT}iRc2e_ zYLUf6-o2pt_cN=D*7wL8@?%#=>+3QK_On*H3oju}zY*-|tWI{iMetn!jqM=ro!}Zy z?b!81t1)H2=16$qY-Daky`3g|dIt}I(aTlr9_c#dBN^RczmZ2vn?66FoCQzQ3|qkH zs$*Y_y>WZ$SMv;H-~@l#?n=0vx40jXW+;3Xwa}s5X|#3$+v;oZ3D*q`=qfF|AJK@2 z)DsQP?xaFYi-3j8Q8w_1#`5L?N~x0EclrKf!u@5n_^ob%cOPczPmVPT{O!nD=;ZkU zjVgVnm2Le_#_9X|tKTngd#b2@gvE=&TPBpKOP3^`jNu?K<< zJ&iLEzvTnt^_I6$c4=ieut=kQ&-Hb^uy00GU6LJBR`rjgZ{}M#MXf9Y(%LB*Og++s zSScR_x$3!56JWDm&T!|qR3CDPu3t_{(F1NetbBNQSb{3k-sbP+)yRcY^wD0JBEFBJ)yW@J(K}fqPy5eU_+EU zXJBB7)oD^Z?RrkYvF;ty$Z4APilAHazh<7w@1t^@iq5{c=iwJ){Z@YXI3eH=o-}l0 z(6D=6l%Z?;ahzaKSns;jT8y}(Q;~S9vuo%VJr0Nc+wBxCj|F%mzUMGFL3($u- zc*AdDgo?^j)`X4+WqVl?Es=KxB{Fh+z(30({abd6Uijfzl%3a%rC#J48`Gh3_ACUf zJ40Yye#Gya$VWj~Q8DS6^;)yT72?Te+Tjyx~C#XKxeV;4dw*(7;{bQ}MSBEhOr{k+FV>3Ue`V?Ff z;+P$t-ut~;y%o*B307F?c*Tb2&!&GtwZSOm!-cn($$oleT`(oU3lCSIF)Vdpkfrgf zIGyarjwJ#t8w%055M`rfU z+F5(Awf0)qeXr}jZm-6+`wb;n`OtF4s#&u$QcFoJyf9zF5IyRI?-=t{?QE8P%*^>c zu={CwC=K{{qBbWe9`^uQH2F5b{+53X_5_w8LP_nM+n7V&mgM#bv9|A@614Vfvn>KN)Ym&FiO0+>CE#a80r zejQ)+$8eh09!GdaUTZCE^2}7S6l;@RKy2h5*OmIyu)>6ls_Rg%c%Y_nrNRS5{HNAT z{VPhnp$BP+1bJMOU0zg$Gw3iWtH(I0PpFw578mj}yJ3X@ZJK?a*1d@8YRGpsj5 zUrJZR5vKWw$Pk@(j}_1tOR-}1wMi((>BqU>rMo3e8}Xd?R(J2eC1QhfXCh<9NjKIN0M|Hdd&<_iy?T5w1yl zvGw~r<5F2Nf?4oTp|QVU+G|bg^Guf9avIEMA0cLG$!i@J7zXEO;7S*S4y-K;IQZ4| zOk(<$km-{Tv3^T0g&GJx6S?JHXjaeX_s6Z0R9iWVIYxGl2m zL=BDdjSPB7ZtWN-?p@tYaTz0K{V&y})VO$!^;4)$|^C;Z@OJm@vII>M$rCVI^!8yMazR!^qu zn9&%gw&63X*!9OHv8v60t@#XOFpVm8>iHfh>a+l^P)BpA&)H7XT+h*%2WAtiA~y&0 zY(w7+7nc=3QMjvMPW>%n@iLJ!cqd)1m-ohcnANtry}KCuQdhs@(%D0Cwc7@9RqgHm zZ_l!?vjXNXdB(4v0>_)lMq_WJAzrq9ALHV|@0AM4yOvZRaE1|J0{?K~h-{#8CWT)< z)_;8XlUiZwaPn0$kow6=JlRsUju@0pC~ujL`ckSq&|&AaD1>h78Q^7DHcVkwv$xhm ze%gE)rJzfLpYwN^4r9$AE0}16AP6Guy(m3t@gnK^m0t!7{pHKcYD&wAkIw`9!t|7) z^>5&1OLV(4ll)0tsE2=SCyBI)88X>lk&3NKvV;V-Q{y|Ay8`@V$aK6&Z1&}~5?0q- zAzPcp?UiJ5Vc%xAU}KKs6vcrv9qEbVpwph5gwzLeCfuQUV04}b|2CgyA0RQ5=RfddBZk+`?lN zxdH~-Iz~v8t=~hY!yqr7#f3GEbUetkkr*Syo=>C>W*~J;ifrF-4mHS*PxwF2FR?ws z`RpQ|K5dAt)Vw7Zx7Uc(ouRZ$VK>={hI|-LC0PH}8?Zshc-o;WR@h4)gd5m7EIRz& znRGf42zt_wanegr54XS9V;cIaOp~ZMi?lF(+S5B_B3)$t(Z-phOO|U5FstC?5>5{E z)kODFsBDa=+W3@Osw{LQJ~kEdP?dPhhUAXS70;aW(NkM}K6&fd_w2ifr=ZZoJ)EXL z-N2XLNKa&7$5^0kksUuN)F$pCwASJ6`lQQ;y-RV(j0^7XR?cR&ZDub}J1>qn02~nm zGdUq*DXD8|QyS`i_CmFB$0KQ{lq%w6-iISora!F0D^5x)YsOj2lu5gCn9u6NXCXO( z!4ld8>bkXgwUQjf+~eGD#FBsZaC8oj(pbh?RIz6ZNbq> z53&nUJ72T>oCd{nFMn?gHKYlxOLK@F1_zmXxkf&CzPOU>i*GuvlZg;*4&S;J?02Hr zdf}KKGB_%$!})COfzK!R!t-C%l1mel4K=Mz4b5PuBbf+F+PZn|v@X2!@ZbUWBzw%d zwL0)H3>j>G_fg+*3f$5#%e@i%biln=C?D1^%tj+{Yk6KKRiqAefmSRBGj_3Y)7_2b zZuPMcx7*F}eHo1w+uaZENzbDgt0t|Yjk3AxSwN#_a82`XY(k_F*0y&x&{bKV=+im@ z2ipk3nniu@r?i9?*prL;HX~N@usP8zIEYxKXOf}#U@KEE;fpo#PW~&!9|$^cmbO64 zHm{J1a{pWM8qAwQf*eHJ)c$JpJ$x&8`F611LjjznU)$*yMJw2Phfuh%SFR- zaBF0BKuU|?VP9J*y-USGa&b`GK65a^0^cOPF4Pq*-&JoDf_nSJ_sJB+A$S-x|EjS{)fXv2%9}S3wMz2(-JuBQFoWKs}j+a_@Ul5;}~B zojpaPyVcjhNPn;>KOB;pW4+jBAyAYX+u3t?#;+6PmGV1iIhN2v$p3?N6Nu|JdvUt} z<*+D#Ui)?DjO>fs?+}cK!idQey$FIc?-HRQbOf}o-(SYXktZi)4 z8bvV5f}BsLE{v2}(E#j+tn*;dw|L~4c(Y#|aP@0?T@$1AL%`{DgSBrg5BuKUQ zcjhu3d5b`OQI1`*cL~x>v9r%QCXU!vME}}jzPwT`?xpB{6v%mRoPzgej63~0mb}r0 zg3E7Mrlzhgdv3-IRT7pzxZidaPFjPYl2A4U(7fT#iSc zNQ76qe=X|OjnlE$UM~CW=p0zHSH#*#hN|p)@UYOjVt+1qEpy9B(z~F| z)Hp4Re!s(m6z>aa>w7+60%KC40IL_5SbJTUT&)h>?Lg(|fQNyamZ1un#BwF~^h^ii zpdZ|l!Ma`{QUT%iH;af3FXrEOdpopLH2i{D^~$$|E|`Rl9#$t5U|9P5aygc{>Jc;2 zAM9CgZxh_K*NLl=R%e#3R@<5u)5sl~e>s{HhaI}twxQ0X2;kh!z}Fl$#7e%g=I<9J z8b(w6UJVGGoHS}1iySvT30Qf5dUitP`xMPQ+DeQnS&lz9f_WtqQYCxi)1O$CJ|9Br z=A5Ck&{qOX4<0#`ET$NPDzq7P<;>xzV+7+}b8A$)SGJWor^z!kK3l($KYy;f?%?>W z4j;2hCeA#SgN~pKnN2csWnJdlm5K}!0-b=(MfDBeQ=sfD`m*)~+Zpa1o+I#NJ~bij z?=bBLneb0Fw^R6&qomC9ay)H#A=fs9>BVOp*%BZ>;O>k-va`g}wG^c5G}>E`%@}8} zv?*8#Eh)VqzABE^dEBI=DhByfJqt;t4}E_1g3@d-Vdiswi|FS5C3$9&x2&c81AB)d z*x1L63GY$BUV|43;C8k-#g<-P`hl_kBjQKF4{&eUoNg;=4Z%ufX`opv{%x-rhx z48M4=57>B9YS=U<1C`d`{H3hT?Cw<+f(xDb)$bXktD}^cl-B=svtTKet2u+o{2 z)rvRGTCEc0PDg~v@;7S$`7>=KRcv#L192tw85zRUSUoHe>67g;J{?r%s&TpkM z`-V!A&h8%vW}ib|Rr^Ki@@EDnd|pvtWn5Nz_MoMmj~!6 zZRh~e(UEw-_y_r{7QLjU)n>YDH?xNme*ASW^mTU@NTEMq4NX@ysh9s;%3JVg0N#{-RBbW_5`+eHbl-N9>aY_EKvvOGnAy9vqN(&+=iw50!FQ^$KKzw&4iQSHsA?<{auGa zIChK>=2tN(mhmH~LV+%aw;qZ~m>G6t^^y{4EVs7AKh4o3R&vezj|ax+ejKa(KqRDl zS~F|0KiP#3(BVzq`hg0)=}R^9??!+>st8Kt?PFFNOqutvzrLGhK5mTL9XXbeabveA z)d~>jl$^)fga8{lY;v`|D&JoX zp}(zQ53@{rcljHzWZxh~P}z=GSO7$vVNIIhT~!*ZYPUjQ?gcAr8ws@NOM45(a*-ag z(VssgyVRGj{o(s?E1C+sEu_@g_U~F7?6eS^_M1A272t(mq3jG(qJ zCCrwNa*e{fuwugQ&w6L+y%F0viFHG4RXO2wx2xyhHhTHlC+2C}-T|ExKi;<7jg`}$ z6NBXQ3cM+fm}RqXWkIJX87QYjO&mS@jIfNc?_85ExhGT_Ysfi1F1DxV!6O@+$?MmW zlHA9@_zLd+>tgWYq$BWWQmAwHl0spDmF`FPyw#XTID;R5ft}qJ3@`y6!=aH_zqhvB zbA??T633&DMtJRADoTBUMp|pIe2JrX#Unm_*N(kE24MvHwkDjl4#W}?F$Hy%9tiC3GgVl$wL7Y>Fqa2pHCVh4K)%LI<8BpwTwrbKn7^T~EsLq3a z>lrXJqaXO=6W~Wc1G9m513EYBy-3EO=nQOFNqWr}IN#d_J&H-3S1zE#|X5uaW$-8oYR4jxEh| zC)~A*lk?(y+`QlXMn1qF!?r8SsV{w8E;z-~s%yLxfd7+TbLtin#OGAc3W$l>d z!{Fp16bA!;?d~j)2)jSBG%QEvC!9`Lb=O9ZUt0~_y_?~kqYw*W1K7KLUiqlEqe-1e z|N0>1e&$3~paq#l5;tYVJ?fZbmc`A#p$)g9E#QjlP)tnT1Nj$lH4W$_1$_qPbW zBe;tlUOa7Oqy{6q7 z>8lCKhAM2*x#!dvF?T5Ii?s$vOFH|HdWYm!+k{LqS|uT4ujMLsQ1i?}Jx^22M-Tw#zRkE#5W|2+b&Y{qBv4fIuVgD#tU$J;e>u7vAZV z@7B@n-g%+I0*9#rNW;{(Jg~!m(9;I*&vV8|<9O%SH|thM0VA!Xn(r^SKfnk4W~sC0Uw&yZ@mKK<2MGj; z^AXxRL^O>)Kb!RUjj%?&)`Soprv;qS0B(=F#ZmaPL!L!^KoQ@OsY z8jwK=G|3Dj(%N$Bo#8!ef@+t>lJd)K#y?f;2gQrzrAnY3n2kX$kxs9&8ek<*obeIy z*Pbk{f5!vqoc z4H3hbx{c+CK6wA3=9m|B)p+`RTndM=f)LyK>(*AYmTHsb-ABeUAX3&jfz{PB>^Jc&e1gyaBE^#OtU$jw1IXYZBI+JRX-TxbQVRPSbLGKco z8TkOZU4Z|9{~55gl?VLfpjILt?$6gENM(r-#}C-7QY;^MtoEKmk>9(u0l*tSSi&ly^^aB@_gagHm_-;urFNBc}I>;X^fDdEFtzw%J zEYOZlgz{$(=}RE{pjqr{Kzo248y3^yRS-tpXK`r@f~r@Rpfr#LIjF_S02Kq$$$lXu zFDs15AoE}ESIDA_@6}ai-xFZl{)EELG>!&(fxR+#yw;TLw?M=}EK>(kmv>*q6rw9h zeEH8Ku~Um74185!6-|Fv^m-KmSPnG{>Ew*B%luq}X`gNQ^vc2-^U40_|zjw!)HV<&4TMj0p38D~T1hKYaQyfShK3$Jq@bpeB720KW^ zp*{QXM#~fIX%MT_mffz>EFDJ`<{4r3e5W9ts9>F1cn4lc&Pn+&QKEn=VP>cD^xhJ)+>>ZIvGa%4Hnyhl@b9|t zwI?E<(tjEz(O=*}SCG{*=2G|EE1i%ovk5KxFuT6kZR?i}&d)>1Y? zG{XH6mUS)Bvl1cQTKIT3aI&|xax+XbJm-1sX>AYdEpY^G+M%^sN~JxP|FC`STJqe^ zI$pGLUzt~UzQbNS?B*1~P#~>;OK(!IfE2TQ!UK`-5=o;^0Vv^hAC*|dRV1J9afu5A zuD?$nmnfRcB!zn%?4d%KeJ;1asVfj& zc2%xFJ6E%zu*~z5UfZ&L!}jo(n2;$#lO;Czd3?Ta+@kU<5=0q?;KF75#Mygn%4_+? zZTuB}o1=6>No+)(MTw~RE7*)TmQ>`QCkorSKvc&es}5*JI+7&06T}FUnP?0w!Ec;Iti3hPzYLE_T?yE14_C*Uifrzvi}rHNM>KGjb05BUIMkh2lHNM0`MZVd z*tQ7rhP*udJDcy9GEE(XGtN-A9wY2DxCvwALUCW zpG&-LtCK@7&j}(S#Mv?K5!JEJQLn$54bvG(H*qD)r9>~Xquer~MtV*=+jyq)gg8eU5RR=|+2!kdNiaB;vF7%2= z30I1niIACALVx3=omV7KKId{-F6VCH>g0zHLCtJ@yHys}?^3GP!Ujk`O}q4|w8U)$ zaU#LiFzk4rzlsPzkk(I3@4pmK zuuT2=;Z%OO)w6t*8&nfKX^`Ug?X@qkuip0601E={-pJRhV9Aui{MF+}5p&^X<|?K{ z?TrwHJdN*>s)7kVq@lpW)ie2>!^zhM5gh0J`o|k@bcYMIf5!0J+nMWU(DN6bF0VvA zDssAkr)$*;f8X%Jgyu?)b4!l>GXok+=%UNOK$7TkyB?M4MAyex2@%y1oil+!E!}mE zz_ryB=9Q4N0I1AWbN3&09H-AFhi2yPFcr0j-WK@`40v^Pk%cUGB(*(tdCfp#+60CZ)sDtBz;a9T@1H{Voaf8p$$D6qE8yy6a zYh%FY^e^5)b}i_2=#%(S@ObWdAyt0*TS!aFlF2J|pm!pZp)Jwi&$MT5E@=u1T zjuDm-HwX0dAHJ+5N0K21&#^!3@j~*OZ2@v{O3^hCrdG~d5 zW#i?B1nGdSZm}8~)4nRm8Xknlun?J0CTt%sEs@6qK+29=#k*m}luxZ}svw85ouh95 z4MG(S;KMdaXhXKd6Ky7obOdvHbMgX#cU@f6LRQ{AEUCaz-;iUI4i=C>+aVWTW0Gq2?S3K-9J0Y+zaHJZW z16f*0g>;l7K4g1u^VEB7c61L+TljE8%AH%E%B2k0y|B#8_F$$RjIa_c`V8<=5lTSe z)9fd+0><{BiB}OF-qxRkN|2C9@Ma*sLk(kNgIY(# z{(Q>JW9wuO!diy!0zJ5OK%w+nj~q z%@M^NEG4~^)6TP5?c%IU<||Fq>-K(jUh@vK=NmJhpP&m=SLFi#fa30R=IHhLEqKIMA6;jT#6O|z6wWT!YIjo$(t;enAH7+5Z^2pNaa~-kv!lI0{;tPs? zEAQ>u&Go4ssgN4fIfH-YxyTolQcF7&s)-nN$vU1$G4O?~t-3<-C8Jz&A!Fih#f_Cx zpNjAga9tU`r&B)lr&-=>%Z4|sKkbiyNT(b1NftDbRs$FrJ+~{+UJ0F1PBkVNOM0Jb z)^kZW;ZUwWch3*XOP5ESJrqEhboU?MBX~09rM$SIXG;V;<_2u9rIL3-QZ}(!?TvMm zHfQ-#W7gKlAp|BypXrvLhYtzEFxZRVh%{dA7?Uvl43%*lCkjuirv9bqp+9m_gHvQQLM&f6oo7P z3Z6ZXD1FS|&*C{8ScLV-l-Sz7VUn&23!hks2|Sthir1sk)nXV(U)_h4AZ?u~<>%Z} zikba!crlIM*7+dQ-Ah&WS%DnDOOaRt{%~zf1${a$Q_wcJS5n*9<%rzhqQ1q)WUMX{K(bkkFX1U#qkqXry4X-g`P zh$3$UTCcZ6I;=s~lKlnUIT&2~hBMEtYP<%wp5>dTK$e{HjRZBz>sA|jji*pN{S??6 z8FTs%_N2(JtPAKIupsJ<;^ay%j;7LWAu^2bxfgqmvpuraesIUr+rbd5o)K6qQQ4C` zYGRI_N6p+X_dMztA2Bh1)aNL;bkuZCC)=AFS$4JNUhcf6pO|)Ym8)ZehW5j zcd}ZA{JEl7)ns0ku+c!gQGQTv!=yF%+W9uO%In}4(deNQna1agqc8FFU0ay!<>x9T^}^&c}S&7WZcwc6Qd5VKO6hS z?VK$Y6H#2sKrH1obt$lG`6F3UgwC3kzCH3x(olNxwe(DKf&E|{d`7oz!-qgP#*7W#$-^0 zFqgpU}(m8kI2I~%GF@PAGB6w{WsJuHnSx;w9#oRaK5!x%kZ5e69aiSmDR8)X1GU5#X!Pmhe)ZPa%J&U7 zz(%M%02^66ix)+E&_-^=bTvThJKY@z`o&O)i= z7W$%eNiinyG{#7@9AEgZB;h-qNNK0F4Ycr^n=SI^1TJ&rdnWQQ^yBC1P%4Xdi9KpxBz8o#Jj&Ngt2!w8b;3_3$fb2KG&%M)w>C~CZ-__F&$cBfs4CIYRV z?I@>ajeAO=@PH+D(CMguzoyRoS8$pHM%k9UV+!CAX++roWc(oTWKb%l5^HZ zGOO)r%>|)(-QpY$eJ>U$k9`UPY%K@9adInXldypIjnK-@4LZe+ISQvweiMZh+3vQx zbHtC*5nj7Om7!WPI0V`{_1-G`#;%;uOc86xj$hz~i>I(o&5Dq1QEW$(-U!-XW(bf&ZeHplb8zKb@8o6h2!2_UQh< zeUMu6yy(O=8-2rl`-?t~p)QL*NSd5d^FLZ{>GpqVB2^nL+paQ?r{w7U|M;B(B?E$= zZH5gfKBE4&Ld1)2n*Y`;p!mx4Z&&UApAO7^i*e-nDC>Mmy~a9e=OG8J+9&Hx7qC27 zOtR>cj7OzNyBH>6&yI$GL9_UsPS8_jS(AHrPH!KbF<60cJ1IW$^xzZBrlN`dgDBwb zBuLtN@``Ag_5A3uw|_J>sG|rKu;afF);4;Py?XHZHtR9zoz8M5pKHQokIC}E6?;oA zEU8w@g*L=Uxvuw}O<+u$ud`W6Z^ZeVh;Y#KYTCspjR8XIhuZ`XVs5uKXivXQAjtpWp)*q2|Ua|qdG z{1)SSaL!vjgOcXwZA_q{rqTTw{dUrXM&~aRCp1^NbFO5>{8sOL%?T35Wqx)SnbNL0 zWBX9gIN~W34trc}5!76_W1Jzq2&XB^3D`S9%%%uwbfajt9pOB zbL=sl?9moDA#ry7*!k_~If&JLF~_CfMG{>9?P>3_YQ8V z#DeyZRt~cj#(4!HAo-168_O{7)b)M8;@>+s36iN^SfDjCNEm%BgU|HaZjZbB^L;Jf zQbKb-5GUVUpz%l!X7f;pNo6B+<*)O$t;TOOVR0kXZZC>(&2>YESQpW1ozUii?w zCi~FbA-e?k3CRS~>0`C4X%#%QQ1k)q#yw2Iu=ULTl1G3d0h+nJ` z207aSVs-GMLfzGOsNGCybV$2*>ZbHn>%1iA*xl2TNags|`t*$Iee7giDI;jR1uJ<# zRc?<&Sas~tMJx+S<~2;nB|(2b3%BFbq?^x3J)*#$kyXB-9ImSGD}wPLD{-?TTX86D zRjQ4j+I_h#Qpt@m{h7PfZH?-5d}9gbtk%7Jc;bY_zK`7$k3(^@(2f^+!r->p!cw|XP z^1flS@(;!4q1_6^StyN4d z7ION;B~I=Twfai9AduXBmrIv168K<|cLBzJdA}P}7vWD`A(eNy5rq{a%ejbXmR}XY>qS@rd?KKqvk0 zyN3C;Y7S!THw1NDl;gF;V*eRSv*fY#-BQ-nj&zo=pD=DW@F41GS2*S&7tBR# z_WK6UahDMdmo$;KFNIpP^~c=Ji6|Fsuntt}hflCJ0dE-PiJL*+>wzun{_A+2K@hv>QrGV+)-P;2^)RkyLxe)A)3f~)*BG_Dfe?T| zfcRLS*&dpP3wk?!`%A7)h=(&&>a%qkAHEs2N)MhjJT{DyYgcrq5pV6jxDa`{=-b{| zWB;k;q7JnIF*gJ4I9yfFU-nP?@n(!gr=EA2zKh*?Cv)p|B40Df2WO;?|17kN@zDKEG#*{(uIQ6Yada6YqZ9?k5@sGjdC3YuRHoS5dV zx3l4KR_dw-cva5-y+E(?r-iwZQqLzO^&(DWW+8XWB7Tx%b!hTkP$c>&o^^%WN2SSo``tZtzrISTO*7%8`yR0&odA zf4Fk?tK;nv>%B-^ZGzOZ5~AIqm%e_F+oasgKac12KMP4wI5npi|68kyVnqG_VYu}l z2G6)<+rOUzxe4ym2-os# zc`_G)9i*u98^!gx*X^(h*w|yF%-q|0n=F{4{JTtFb6nnoC%HaPV{w0^d79Nk^722@ zSuWR}1+6jCQvJpweaCy#+Ijy=k^jV`6d7;-J33Po|2;XX|GQ#q6||Pp&5LX0q|G?&@mhCS+=iptd2K1sY z@WLDV588Wpjy=DbO01Co7gNjmQvjA+dT5-sOwRSD8d&(sJ0dm2I1gQYo-C{#zPa~z z@g+YfT!}wwAdqUDEID86bp3NbnN7MqbJ7M+gd^a+!*; za~f6Ww0>TcHbP`&PmZqeFo-|x-I`nsj*p_*z9KjOr+Jsh(B2c@?jd7YmnbP{f^6Ld ziVQXT$gR^Jx3nq;GD~XOq!gBRJQ=+fmeEijPCSrnpN?W4i!BUfrdZ-TNy@{quEoyA zF6RY}`D?F8oZS2?gNK3}^bSN@{uuI}y5mQs`yr>NNRc6$Ik@YvCvW$1K1gGbP7 z*@Y;sYlNtH^I$Z_W@w=%bVsCT(J>j}EqkYR893Q~QtWlS!mO5^z7?#vu&ESInkLXb zN6t%~&tFlQo6ok7NJ0-t8y~mt5p%Ach2m^G2#C=zNM43T>&=52v(3O}q+iGOi4vp| z*Ez3%h8#i8FpT}m+r%N`MjHY|iNdM!wrN*cLBKqA)-rR`H^OnR!*ezW=ao>*p_S{K zD|tGfLLUaJD?Sg-+s7_WOq8tzRU?qX2M{${0>os^Rp5NSegSDj&KHQr5(mY%TOlRa zFt?WwT_?0Vp*>gnvKd#7dkL}wM9_^Lh5QJ6f4lrVFlDZ|e_M5!_~YV|g~6*Q*-Q_a zZ-pV7x=0b=+2y0$eO{>D#TTA@ljAk|%Lr&)bsz`POU_`3R*yf4YZ@=NQSkp1GhXbIR02A?#2OcDrkps?djQV_roB$U0TL;+=8j%V(XYjE~ zzp`lCwG&$+wSEN`1F`j-VRdu9!>klmRKdmX3iaD1cSr)&MWi4k;r^jD2{}VgZE>-~ za;tv-y3_3ZWcusmCkIiw6uZ~&0FWm2gNLbz93m-pQW};MjwDO%Tpgb8*en8iye3%+ zEvo?@zM20Lq)nI16GNZz`lE0gy=!CT{&T&O{cF2Bu?Trnyxen;K=??liNDe;^yzb$ zf|C!R`R(a0MMANO%NgI#i8=`+wSm(&h)c@QiPEua7wyV4{}HJ%y+Ig>dT$Uw*u zXAv$7e>Kf@6~MEWM&b@D`Z;Em&`&1_8XL?F$21gjmQg$1PV-em#`c{Moibkqf}|#h z6(=jUeE8*Jc^mRktM$>$hpWfm7>jS;OHDwtOvneY>|&qBGq?xYCb-7m&8_#oy<*SY zRPP)_3=)sT6{_A)5~u96;w4_JP|URPAa#o5=I$iy?ELjw@c5QtMa^gTy7{uzrZ4_5G|x4Qf`aE%(KgrGM!y9+Y}>OMLzhde$iL*A%OVb(wBU1d=dj3NgpGFiA#WJ@4XM|JU$ZO)iV{P@@0yk^ibbpf zcC}C4g0Nq=f``-2Z;RBnCB zS5&pY<6;Dwhyw!}OuICaJgsIGBX<=wiU#BpdDxwrkK3<4Z~lJB&UBIiFwKRA&xtA+ zOkI$4ru1$NDw*l{1S=8`X&SY%)gS0|(>iGTi^4T#ouNho0;}F_S97qa-#>k5oda6< z1i9bTwfDNvBzm6GL^Lx}gMwn+X5|bC0?-Gaz_Jx=xU?zRz9BS;A2rv*X*Og}frZGe zn-tfDGsk}jA~V~SbBGy;pR@i30`1L`LQ;6y^|_Kl+#YmfGj6Z_V(n?sssMkh?NqUQ zl6n!-MT+cpAkrp139h&&Y1)$qC0m@3Yz7fY_bXAPXlq`Oxl!;I9fVBqkUoGv1;bLVKTIUWKGbV4~Hy%nd2d}f-a%-{i4cVTJqnsk|7(Zdaoq9l2(sudR&6Mbz8 z)f4v@cc(~FTipt~%+0%UMt*iOul!cs{Vd1{{CXB=BU>v48=3p8&GGN-C>GHJ(oi4{S!_PDda{vbflZ(JcMRiS$lVOEsM_7$*L>G zqi!a>74srL&LFrP9bq#Af0IoRBUA&QY%`)y+{T|&-n@N8^>Mwd^(TgNPT=B;BmLRv zR7?WI+ED&ZdmeR;9hbyIWWZIV ziJ?BN9)Tc1!L4LyB&et7x@Us7tGe_$@pAt9!DXWM_D}n(NLR&j1GFNU(X7@f83&l$ z9ZO-`O@90r(6|^)tr6I`MKTVnP%F&Hs>H#_@9~dZD6h-Fj$-MVp)2whf$7)}*4QzM zcpiSZ)_2f-BC?8-+>!(QXDjyo<6XwRd0a84Dg(j%*jr{kkdQets&YV^${X4%7JjFtxNe_G`k5y&EB?KxYmdK6SiSJ_MT);!%3VLLk4FDd zQsu_ElP8o1T%?U;(Tn9|SMtP%u=}`VB(zmVfo#T4Uy`o4=J7|+)m7NT(m9*Fy;l_R zav^iI!TAzJA6)~M+)wCLNjfqtQ~!NR7et0#|46MqDF26-`l2uK=Jnrb{LiQPw>0;E zeEtu<+W&NC{@oM#8;dUq)Oy^T60XlJ2(cMe^Tr1>+B^@}0FZNONixdy*DeY!wQ@zk zerM?_9?B$KyY%8{N+m32_sX0bHk_dQQ%PgL+)rV@YMA9ti7 zACo1Wf1h>=&AfcQnc;tw^_5{!c3s?15Z0JFRA2jhVz|4>V?z6C>EiME#6U-zOPHx*nLdbcd1Rx zcHU8(bqu`_`8F?7N5j0f_mSp)47qF!Vr1Vo5f^5Qn z`WN9Z$9-Nyog9x+0G&l33+;n7%G5aulWG$kiwH$A3=m+drI^tBv9&TeZS=KOAG$}8 z(JuH@CbIB3qx`@twpZ0t6Nf#;TZ;O>^`Z@g{1#ffKTU8Sx^T;_1Rvp$3B{N*nU%A_ zGavT1@}qLg_xCXBDN7}y-?x&Erb}Dhqez$~YBR}{5Z71wSC?niS>MBNi8{0Xjo74J zlW*Vjs&m*iOi`x~aWOnhZpj}UT*Xr|o+Fa$tuFn2>~xjIurFP3W;jP%v6LPo71B!a z_kOz2ggsq%DxGCnq}{ewN>j%te0L^*RRTo!5$fZg4A!@+FVUQP-;m>LIm?I!Yxpwu z%g&q(5@K;fmUW~-|MCZ=)PB(Hna6v!eVRP?Rh1830CaWk^I* z5Av2RIQc$BSq98uWrSI&&gLP#Xzan!?<7Wc!sm&&Z)Z~0RMRDh4w!#ebbAXy8EFE#g+S)i3_dRU~{C7 zH}aSBs+2y@){MC0Ie76aG&YypE6R~EBo~Z5HU#sqbpWTqHy;*?yQ;6XM-OYqE(n3{ z#A~8|qCR_;pEpq_o43u|zEg8G9RTLE^72cmjhvN&+Hk6To@)Nixd4VKWZ*QI?6Z3zxt#j-2gXCz_N z(uKo*6XxrhsRv_Qd(2&)Q^^dgZDB@7Jtrit_TepB>@{~TgGe`3w5NBU*93*wyuMHG zc0Lc%U2LVOPr8B;j7+LSyh^Gpo&7GE*r65)$s>pLlO3KQb4SS2vwjOi!)%9f$Y)Ba zNOrj!D-^e#ZL!?DI=IY!-GG6i{G+weKdW8d%f#c~8H$bst=Yz#llt4$%8Bj43wxnE zLgg}Uf!E-~1a=+K<8|}St3D5Vme0L1N(yQOgjGu3w|7<5rVFfw?KCu$n=7JrP%2|o zr#ht^ArIY2-(Y^qW~no4V&fSB z7(Ru$4i1e$1MdN58$y=eO*Q%bAwTG7c-U4S=V6^SSVbNnhn50D){nSZKdKHy`vKyjP1V?-}ecSyM zD7|{oTem@XceT5vbY&&9G=EBA>k)=yX{0_CuVft(uLq;izTn#PMGxB-<}+PLU?=Cv z*(M#39x=FvA0}?J)JhWM}i$)~^zD+oeoldWDCiUFe+RO0-LzuGGdzf|13lwZa zi%077%N1NuGQ?F0;g}{m+KRF(>Hr}w-mEe1S#=epC)T)Uv5?sp7a%wKW@9h*=U!Uv zU*M)a+7}e40~X#cF>6@#ZwP-^z$YXeoB1Uy;2){bRr+YVZ}dkG8~+Ud?Zo7_4F?EN7h*!Xa)S zK&Z*j9Fg4WmQDDaZ4k~zQe)&_ZXRrukKQP6`nTd8L)KYe6m1ST z+F$?KR=G9W)Y7iBV2hh(`tD1tCaW+97D=oAIXZ>kR;=iPmK01yNmQB@inA@FMrS!U z!fDIR0kusg=FWRr4KAL#8P=GIFid*19Q{DlEKAjcj0_Zu+UqU`LC^>W9ksIBBIS13&7)Ge44H zM?AlEDlxhiM)7;YsxTFy)uzyxH%8d-P&RwFMz7w%P+g1rlD!-@8uKX3Rd(Tk!uYLn z$xDFFFy-pY*@oKS#7(E5fI)@*NoB3nc=tiEg^LMsC&U_oL-;nPz)+(=sWj6V`mixp z$K`XnAJaT6Ta4p&D=60PiMX7k3S8Ub(%&B{v>>XCva6@cL-k$Tf8E|}pjFDldylO? z(dJ}>t<_bW>yDFmRFmFQDe#sLD4k_M4@yl zOlC5(G&lJ6&(Y10ae)V;lb^EO?#U=uzunsc6DZP|n_FTQn)SCSA&d{%9{gD1(1Vu$ zfyte|;sPEY8Tje-R~QGW`LCqSbI17sZ)?+Lv1(qwK`>)TO=+f^me8h#3LH0YvFc&l z!o3nQv)PZ`q@mXs)cHwdXb!s%!3@ot`j39sqbZF!)f*HW>6{QY8)mJ4ELP7QgK9Tt zt|%S8Y3>g;@A6}Uog|A1(WNjw>glf#3Gd&QwpZOn~cwaD#H_6<3M0dm=IhQN#s)N zoaFYdbj64tuf{Oz8jL*RccaMJPn)kRldzM!$&lgi^WeSx_I5mlz+u@+z5lx?5o4i z@LOaiOU+P#tL-rwr?%2?a4kEz+VjwY{rQ*1q~N;jhE_^?~H0H8ckjb9UX>1E`e{tT$j zhR7mT#nsx{8`gr>^FnToo&(2ysGUF!=j>>{`je7Q3U<;yk?c>^V-I~59x(Z3DnPtN zG$3C!oXK_TR(uR(nlm#=L*q4jtRb=@9gz=B)2EVSNq=$8b#!aH#>%i}%=BUWzYU4z zgPFHGvsPqmr!=%%SnZGe@OnkKhuE#;CoEN8)<+xa&K{VMo^vp6uy>WL(dRl%mCsI`>N*HaWXT5;O~)$vYB6Cqt;s`n(Q)sc=tP z|2`aJ)YMyVONOnTsQD$dZZdj-VndGdohkS=*YU1kZpsg6>8MWaO1<0zX?r3CNTR4) zo0-2YJnv5DEXZH6EU6JsPyeXZwVzgj<%6@waIOMuMk}Wk1I&ulV;i0AQ=!X}*hqot zG=pR}q+{E6O8ltJj*E6@OEW?Wj#A>=ilENf!FX>z!g5fg17jtMZ11_B*u=0L`Yb$1 z(WH~T;2^R?72}EiYK(ZB9HG) z!3aR0L+xM0uae&`#{7ecx|MmI)BS5c>75!;bJ|9V#ESBpterg#m#!K$W5(q%x&EST24e;2?OnM(O%hJcbv?M?@xy!bMmt zxv7uQw`JQ>-BLu(RHlXG3)Uh`&aC^re~S?;*h{+`549_~0pT}SXNNitjDfBmBV zZxR&N;#|K1KglYS0rv|XWUv1d#ImLSf4QWqR9i$I6i<^1dx_*P6Ok0%kg4dCU|DLi zHigHmN~J54P)Mt!q&ejp<9T5J;my10fs6Iwz%~EH z5#p|X{NDh>|J@8ni$Cx~lhd}RZGO~%%yp$qvCmx{oI~ef+<0uy-E-OGB+Hm%BathE zVbcUd88oivSafz6=7$gY+M03la;SgU}QUr5(H`tgqCvg%h} z{ge7bzf7iOREQ+Lc~>pmEg3%`EPHG%KAka7{D2{qY<2D5 z_|{Nbj=9Fk{?{%`pt)5_&xi%?Lz-{!B*Q;A1HPty+P|2?Kh=I7yiX_qjrmzDubqD+ z_<#k14Q-V0J((Yu{E*$i;!Z`AnksAz5v$Kj7k4T*vYI(B&syHIp_gj}-f%yIu{COQ zgI6xC>I=d)YT%mX883TrnM`IDJQEk1Z!blOu(D?&0x*z%hY(%8h@l8vCj^|T0Yx|z zg!KW&bT3QukF#g~9BZ!cD(JO-ZE*-`hu>%hJU?=-U{v`zUV;t%T3FOHx@t8IULp@U zSM5{S_Frw*kJ^4RuW$+WKuwunj&2m7{4yccQ)`($#dh#E=uRNwK^KTdx=)!U#KuLb zjUr%EC4Y5r9+iv}^puOXrf2VDdXX1!$>@MXhUoj0=C26C>%%V4b}V?v_aBL?JGoxf zV0#ptQa&jx!8bylWX4Zhqt6#uaA59O?lc}Tvsk9(SoYArK^%J29$FBpp}_h)!Bt$b zH`k;1UY9L&Q^a(@^oHESx~jtku9kjNPjH=hMv3TTu{rW9x~&AOb!lI6m%~-b-!bJl z@30}WqiSrvAnG~IeCf|&yI4K6dxO|RwaXHw61x~YO+_$m{2Q)`482a}KwZM)mi(hl ztdzZPQKRU0^RllyTPaQ7jL1K!>=Yg#zpg7RX9D5AMm1`kTZjco91%L0ZEw`pWz<0 z|F|*;o#mxJD$G1o<0!-k@1yj#ZA~g<#eXAi0!-JjTAOBKcONe7-pBD)dzof~C9(Ap zTXXX|>Nvzp*TYd z?9!O!G^NXvtX?@psc$uVg7vz3nC8Z!HZ;iLRQXvVf#WK&60@8}S9k$LhNS5VC74HV zu|*k;%FW(gL7#OsJ}b6&l#^a+;7o^YI*&V7OVsE^M&1^>*-VkEQoTwnV6O{R*BfF7K0*tpJbVhkg{Pk@;dt43c zxn{Zo6M5E3Hw4FNSQza!5C~PeJg>ys&RNH)UtAe*v$EdjoWQgdNzjM95ti#0~9B{}K4=@@D#r zQVP>F?hI#`SHL5=z!&6$m&pqOsOR^@}ZzmzL5mBiCIuAjP zmpGn?MsN|-en+2ovH4wp6Cegfv`caDpeCb*u(5JnM3cXj?GS9xB4B9yN?TVq-x)sX3Oz2Vcy ze)1fcE*UivZq4`#=4yA^i;MF4*{9~G|MqNdd}AYdv%jB=>~E*T-n@*MM0%W+6pkO5 zUU=-g{sd_eHkD2?rmCMk6p=bF(9~|;b7c@ITFyOW6dWh=(C^-aJhlsm1pwv{)g7W? z8~1Ho#JUh7!?}276)sxc=k>W5fqT#x-~MZjp(I0{kUK!z_9v3EgawhvGY#}SW*I@o z8-bX<*eya&eM)<0ZHW>gv9UvMKX*BuCX_Lv=-oUX`q-_&(_{VROchAMzqK{+{U1#b z5xp|d+&>#&Yi`nW&|H*#n@8$CPEJ|okO;nEP`LUb8%&pt8d(0ssv2pSD&~n96I>RD_w?Rw7UIJOev;+_T(RhQM zfC@dvHQ~YP%hJt4HXZU>?*jjrkF);v*O%5MLX3nfmJ3q_7dO+R!<-j%bTdbBvKh7L zv|fctwus}luvJ%C>Fy3!c{r0a6r?!Y%4=r_4t3_wDD@W1G_>I1Z7a1MY(-<2zG`jA zzKtTAJ252Vmpflt^@uTd^x5o)WN#xalEL5=k;!|ML+Sy}n>AHJ_mNBK=*bV#&`ttZf~;0?(TzWl5S_g$uRS z^!a72@OKOk^-uV=p?EY4pGKyeHp3IIxpw%MT`OxK=qzZo#t?Z(1uhBiJJn~PLZP7h zpGXFsw^&8mR#eeHea^|3qU(=(0zsy0?q#(K2_Pv6nW~p-n)!~+881OLpMT_v60*&A zYM|hfolkfe@Dsa-RU&nb09<`2MdDW2<3C5mb^10eY(;0o0b!-`qLCJJ~cci_GPT9>6K{ zyA9yx9^h*rNpRy)YFgsZ)3*Nix>XMYFOjd87AN zbiA#l8`ar(Yy|dW_I1rHjN^7ri_faw_VD9FT%@+x z@esgqWhm!+!2+P`)LGBt)-rdc5r!$Lup(*AoZ}#W@*0vQ_(^DpXZ-;|T@+spRit_8Fzw zKUMvGjFrCl693;CP(xz{3UeEpSRs6a0`JxS_n*P@jRjvja>1XcE1KVWw$)s}j#EFR z!+(%`jpLW~uR?z$gUGCc#hTr9)t?wd))c=^FY-_JKVoLH=l4V zSS@52xExLn8%b9*<5l=hh@p0nntH(Q5B#?D4R%79Vg$E4!KUxNf?MS!C2??DU=CZ} zqfty0XtK`}=urdRJhC?Ss==Bxb}mLlp)N4o|F(^PbemK9*)HXRH9l$X(X~j!En{!9 zkj|Ed8?5?L(K90=wu9y)I1clswh1?^Y}QF01hdoxMs44j@2n63{%h?-~cBAN3msh+yF6)4{`HfR5q1j8*M)FMegXbP=t6Q zuC;Qp`8CnqId9#%P-7O2ESI;BefD%nXrrKFctTTE)naz#T9sYT*!~j?oZ43dQsrwz zHkd1$FKTZ5K)_cvgggU~R6D(v3|1F6@3h}f z{O!vB=Ot$_iOIIt-QG@89~H#C{jn*qMqwKms(X%rPtkXJ+4f>eqH5AE_k*gR7r5R% zwnms)*)Wc6sanBp!)=UKS=uobVPHY?<0b~14~K2XC46r~6#lCIbn@4?`7hs#99=f* z_7?_ehAN7In^gq-3*v-@2BGdIPdai4`1#u>wfE*KMq&?Ns~uVVS#H4uzxF6IsXB}3 zsl!z$c;Q$dbL_Uc9M+S6Oqf@@#GlGh_)#$O@#hDDp@$TqzLNkc z4vyJbNd?;nX)w@J!bH%X?Bm3WrXjng;(_)17Tx31_GRrPLQ_bmPo3|^mTBJ=G#ffu zeU9-xH}cI5-fmZ{kP_<_OzUR3=MR4-GkS~CPTH<3kC0vi?H(_#nPoDmu++K5d1nA& z^G&XmMFtgb;sG-+F>e#282a4Dab>nyV@;GCR0|+u6qCU=`SIAxdj6%H@`%91;mA{C zz&q!m*7Jot6v<5cqNjDVn8aEwcYidPN$^;;5x)>&nUD9!9}h?hNV9cQEZhrPod>E-ciJJ zdi43NWIz7o<8T`}9myy$FrSziY2}rA?ur)$XtAXR`|EA5ABwg_ z?G65j&k8JkvIjsqkQ5Q;fJtYcJhEz~5He7TC7SN@3J#_F6!zCL^XQEQcyynmN8dCPHphu+aD%Ljq% zU(BXh|G->tk&X9Bz>=j&$0*CwGs7r-l-G234fEC~R~fO*%6fY{x&b;lGv-Z?Rr%34 z>N^vLemV{aB%X`2(|hE(=PVYUwo^p7s9{04Keu?bqVQJV74{}dii>03b}3yX^P$2vt>)7+p=WwZeu>-|$vjV_!-TG8ckP13#1iwm@wX%$uTO0-n>0fu! z04kaXHJXCEe=;K~CQa0dt)V3<79>1{v_3b;V;>SGK$>v%X#y?3?IL1DNS5E2qGlD1lPr9I94(|5$&Y7VOTxZu?qaQad+`^Xk>Z&vD?pM zyK4W5#tCNtxF)Y$&WiZB@I`s`eN(%PXIR0Df|oG`6_2y9m(MlBY)H_;F7~{5Z=j=U z$>R6^OZ@{b4!qlu0;G9wj?W-@Fd0!~i=@#S6`izSGBE12e#yl}w%L4gd@{e?7WrmA zry;a&mreX$$%Xal__0ilq9WhKgjMK7SDXrF_2N|_ZfCLZw)|UOqjK^(o34e}gKfvP zZ6?2st5FX!GBG>-^v3es=Mh&)=Ea!R48dh_6VU6{p4&&UzK5Sj<9vTG=zhTU{wj5~ zc>KUgI@uhHlt@?hKIKzC7`&ZxBHU~gb9!bE(zs+U7?IcKStvet(TrCLuaMCEnYn7N z?L~4me8Ys(~#3G z=|wIYR@VGdC=+_t9wG{3Y032CTWA@$2rA?(8D~QM@SGA(U)8$K`|KQw604h|Ev~q* zby12vW1&4|7Qy>G!4f5-V-0aTHHmVU3J*u<#_X0eJV-JQ6HZV@$z;8DIk}10j~Ug@ zWuX*S`fD>g6sIfgeEYhBT42Bv&m(QVmp~&E6ra zWu4<2wijACgu4!XpL{K0?nlP{@p|+%?lb7Q-rSdO@#pJ1dJd0u6Z@!zPiHd~XT;e(R;n8anszfZcHttN4U?&kY;E``yc^WD1S_T7%4V>2h0_8Fb_F`SENDzH%dS5h-4RGif6*W#y7P z^@ch2`7bR6vMV=7L7Ely^!E+`a5#1$2ciS4S1${)T1uUiaSy@_95IXbxg*T2TM$JN zM|nQelCXKL$dx}7D+o4q-`$EOCJ((95h}|aVV%5YL-o>SwM5TT}-#1DDl5UQ2%?vs#AfDyOgQJuI%` zVHB>aa&J5}4@+RBcfQ(Zu$+*gC$0mj;~1%Lebc1*JWk z$3L2MZeD=Kf}1q%i=IwhUVGc6pma$u3I&c2%m!VD5mzX=$s- z77~pZF)i7I_{ig@o0eyb38LpkBjjNh%@-+gaTcW=9{ZiZ>|6kO*K8$YGvD~ F{|9S0Rk;8F diff --git a/6.1.X/usage/assets/export_specific_elements.png b/6.1.X/usage/assets/export_specific_elements.png index 7f98bd905137a525988a49339519eade4269b0b2..502eebda7500b8cf7b39ad988757eeb47d6ad33f 100755 GIT binary patch literal 119065 zcmdqJXIN8R8!o7?3M$PCQUn#TP?g?65fBhi5D)@EMZf?Fy~Yp$1(ha9kuF_oq$RWv z5v3PtK|)CANC}|_2!YvHzVDqgXU;YAYvwxp2V8q6d+oKKwboPa`(Al{*Fc-?D9_P- z`}VQv+`eVBZyz&k-@XH3hnavYFAu(R+PCldKAl@P?)!k}hao=qHMeL>(~}=XA8{Nz z_lSjFcl4r@x%#bBH}0Rhao6(L*F*RDH1FLz^G#;#AK{~wtp5al9JgjpaOKnNbB)>W zeHO#5UC(xE&3~(Sp;y7GKgA>3phpKeSFOr5Y~neaywDjXtCl~z%P5Aq?+2d$=eVD? zYj5`V1o)rNSughA)B93^p#PqIv^$9T@7djs!?6E0^da#$@t^;Es4gQ|dFVf9&mFW} zSpIXiuRm;r^S@{L-2cxXICc~^SMl>gis6Hc;fkzYg!}J`1+&J#hGxTh*$t8$-uGKe zMks^X4IL@vjAAegBw6K_qJG`|*&KT%N=R-+w5i4=y$~CTm#o-m6Zlx{$$G zWGc!Y?sgYKj;nGrejtV1`&g$5&+|XvuJl_cqT3cOukqNn9ETJEoymXUPy0?iw`KKW z@wdG`tiKVdgv!icY#CatIHkH$a0HU%b@n){*QJ8C-EXw9Dq*zIcYeluFw-d4mF@x$ z_1D&`k2{c4G~GUVd|Y-$RoBgo(H53O`+@8zv_!(EKF&nrMv?U^q%}jpR((}yADO4! znv#Cuv8$@udTpsMjZjB$tHK3>|D<`gbyoFcP`i6Fy5w7a%6{n^WH<<>OlIJ&RUo5) z8GhFUFq;465?t`7${^-Fd6*H=GOD0%a%K^*$FF6~$3|89RlF z3rl{N1uo$4l+PzuWCm+Riuw_)@O1TQCDw}?z$SiM?seaJt~ucPL6(~)VefkUch zbU%@#1qu7z2&oJL8O}xJzSJ;*Z;mz0Vq#Reh?fr;GMor> z(FY=)Nv9-|3VFOcV~OyfHo-{$Ra}qo^u*Y@pIDZDr;eQ=2r9t;bJ{wtN?I`!vuhiv zFlt?oPP>Sl+uuT7#!f(YI=Az>SkQ-1QuBElJ(Tjfc2*nsd`x=1U*tVWivyrtcxJ%% zJLV4XS74PL%ZkMCvpyq*Tp&}`K^6t6Q}&u<`p27Uf;VvQrw!8frA&e(uu^-TM4ji4 zKT(I8PK}t_ccNANU_M<#$x7f@JC&7hAlWK#sCds%l5fr0^VMWHrmvszWUk^ZFynPP zTje@j>nEeSq8oZ{wh79yhQa%)j21WK>RqYZA=1>7yUWdNlJwT+1!-Z2kF6ZAS;LLF zLgYrD=}=QILuOL$kjtl1vdkluXRa+>;CAUZZ9$IFUp+4!sD)=4_&r6t9PQ4|9|}u7 zznQeo74iwNrD_?!`=5`+rRk$*nr^&tygVXo$$j!wF!Yx{?)mGL9m*t`F}n6yXdW-O zrP3DKf^2%>02t$IKO=?o^og_E)r{1eBj!cdC{`*j|6EJcYZJU2OeqAJ+$$ceu+k{zJ3eZvgnBxWHtL)FxHf|`U z)&7_P4av-0w+L2S1mAi!Y_nd}^MUew(f)L({}goDUYBMr*K#~uGQ|tD_4!CN*U@(O zf7I02lvusCHhx8rV}HU(pWWn9Sh%0q#j?da+>B;q;OI~aN^jiY+oOWul1q1n{jODN z&%RSTWN)UrU6s(E*W{=++>6#-vSIur48!3#(sf>r zVKR$Z;Ldh-3NH<5{**EBW%L8s`(3Ak0gj-nh6*rK9c4k`-WfDWxNHd>{WYHk{|2@` z@FWN90K4;di_*qqW91dENwteuviuQ=q~vZZKkH8x9vsF{0ql-cOM4pRiv@LKy(w9M z(7VpnQiZU8I%rF?Ea`LZZxF4Rd+C>nM_kf}Pbe^S2X0!hDw`ff^Bs=N9yr-Ge=oaj zQ`SN5ip#>iON&M1+Opou{A?B;*U#Ja!UVG(4FwpXT$OSSmDvjhZt|2bT-C2;mkaP~ z_-y}(w&bYdp?mEK$4jzZ)launCH}o|{o#_XV~?pRvD8R)W6{QUHz;zV@wBE9=21>B zs`QVspFc>n{fc9IYQB{*d;dzMiK4NTP4kl$_~;)gZ=?RiZmja=kck zbC@nG;u22CL1nJI#>MYv8PLV~(wK@pU*$Oiaoev0JMf|@b9WcoA`LpcbpL`E^l{vu8Kiv5r> zNE(8^o@6tRzHf$e{lU1`U8g-chYZ&-Fa_WTf);$sz!eER;Xz7iYDsv{&dDWQ5(N~2A1_i>!I0ac}u z8zaq=vyO8!mjBM{N`||>%o6HOD9glh*Bb6#u(BsVF0O(3UFNP_9entKw{pQ$;j)hD zs1tVu+6V0{UESnN4i$)DGH0Z?Uros#vactMxb@tN;D{`neEuYD18(0%s?`n(sG4=3 z66;ZM!M-$P%=1xO$lF*C#ici|Toa#g$OM!PnNPld|EEULa;IWC<@4@AefP$qD}OS{=%$w5PS#!Vhdr-* zQ`Yk(SK6!GettjiepZB9*9E~0Bd7;*Q2bIhc)nZ}le6x`mgP}xfe^Lc2b04z)wkER z4c#IPU%WVonO!W$+ffO%-%~LSW|Sz-1JZestovljDK5m9fLnov3@>{_dV~hJCHNuc z2-_cLYrX`4Bc;sb5v`fi#F{TQ?B;b=v$9k^ZX#^QAedOGaTI-sMlm^LxP7jHIw;m) zR(DlUU<-5dD|^+Z5Tr+8*;BTCUP!@@VaROH%H_0qFT!#uzLlyFXP0V$yz zx1cm+v)*xhv|O#S!+Irs!g;e^nSZ6POLDB9!*(N)BWtnc`-x^!1yibhn#W5%PK(m& z;SJw!Z5NrP=XemNunXBnE(L9uQ@ytMs_bU;8(+N6RYU+m?K)#1%)$d-6!*z!4E<5Z2W}KMW4Zi? zfkd|U2aVgOKneo$@Q!R_#+Dc7gV7DMC*oDFD+O=36vJ&dqb_;H@@iaz{^nScO zxD0@Fb zP$G#6s65RG^Z)to)jkYW$gu%F#oztO)5rN?EUh`dN4d3dTrprr#h%P_-5}}wy9Ub6 z2>$RYZ~2oX>7_&IY(uMYJMo2~?_Vp8)p=(xfh) z%^35Wk58ZOavR<*I&wPm5T+Uh4ZYEnfOVx@?;B;a&>`#L6YiSR=hDQs46oJ024)6A zx~|WoQ=;R#hZRVu>ExO(4EF_J5D?j)&I;NQnMgt60j{3U=sx|vgo5m`qd5F6$2gv3WZiU8+NsQ&%2DxIyj&(gig{<>vYOyNu_MEgv_-9>gB3ma zNBEfcspnTO1SbWN8#QddiHS^Zvv4IeRb@6RF+|>(%}-~auED9mH2(zLyV#sAWx4HL z26A&w&u#9kH!l)CbJ~~&7%o95hB7W36db0QWNIJ8&To2-{H(0YvLW7jM_ZiEIKi#t zUs~Qi@4zRsb8wR}HaCIXr4v>+$3i9azk^)*mh8e_ztbc0Vru7&NL#HRP@qtz5(LvJ zL#>YH*-IS7h_AKQvjNNlNeLJ*{rjkm{!hjn3U|o^HSz*Tsp3aE&bZwKQp!;pRuCax zX$X`zxQBOr+sN7XLIhLBTZPA)$Fmn(4%oHVc93cS8Yx> z`Su*q_zqUB@@(z1nm)(Deg%B*IVl&C5}1ufl|Q>^wB1PY;Ce-u9b$Rn4uGb06DPl-07Lrk}aW)rEpNkN(U%4+E9&dNhqg6>-Ld- z2N0dtV_QVlS9;zIlld_jf8yXrRi5WNtG!)QyPNiDQe;S)cYSt_zJ@xo*(@QkqCF0V zjfg?vb{do6l&z*aDZ^d8wVw7Xa4xa5XUlozuz}1TRKNISkzsk`3}teq3wLe$yE>_0 z;79~&!Edf!zd6G$rPO_uz7*6GGS!77^&L} zdp)R8VNTAx=)B@DRorPpud4Uw@MAVoaTprQ4P^2C^ngLqJFF`<^NnN`IEcd zMbsi53HYzN=5~xT3~WYi%@m-qlWPNH>FL^{pZvLEaZPft>rKjQ?Yj!lyvGaMdhPJV z^#zsVn}iJ;L&-HBr@8haQ)o?_ecGV|q%W@D%%5PjiW=&vSts?0+Ca?tbQ%U0a}$ruQ3g18yXiXHDi!B(>(Q&#+)j`77mtx&17dbU>jolSWVvSRtH<#F%y zM;ikV!dUkCbf#b)K0i+$qN(&NQB)}thOnFQ(oE|`c?&<$0jb0nY0A9sm0|t8cOB#q zi=EZ^w1!BTX2wp4z(jVuwTyLY#hpaS28Fs(pKryHW}1L*YWv>T6%Y<;Em6PxK7nY+@B;z3<~@1s-;2I8$Y-1zI+Hc1)0Nrl3v@Vayv2uvg2$b)%qc! z@xd<@$MMA|@q-u`a-VvOEX=QG8}V^h3_snZpJ=zk|8p35YlMZWk)z+Hha_JWBY3z+ zphUqXa|OJAitT=TavfuecBq>8X?UueJJCY=RK<{RLuMpYa$3oI;hRBH2Mf2SH3(5R zL71GXQu|QIx)%mB5L+|TcH5o9%$j|3{+}&88jHjuhjS2JAEjWi3(f_a_9{br#yN=5 zmUa?@vUDD%v}}c%^H(($COzrf>I%9s+$xt1893hQYU}9}gzuUA!u%y5bs-&u@|{l- z;twaVNtYRTDyMu)QW296m2qpNoQKFr?&v2{M!Y8aK@E}GMZ0&HtZRy#iU%*5+t?}T z3B}7*LSy=^wba(hE{rHSWr>hnAv>{!2M%x-rD~Uqs(YR@mNgyYV)5VWjFGuwU>-so zr=s5@hr;X_8IM(oig^wz>|Nsq6J%0wzL|BI^0P25e)zN^yi;@33$FF430M1R863hz zoIT?ODzwo%imK4JE_;I~v%@H~HnN?BUQv@)!Aj%W>?-yZrvV&w4<$x`=XO<~cKycK zzU}{zv(beN+%1*DnsDV7?T#oXc-LRpT+B55XIF5EITtJG`>hxS`8RPpqqGbUF1OAv?+T6S41X1jy@CK#<@R(nOidZP6aq$m(hQspDAcx~jX^tgS$ zbyAgJ6QkMq_GH$%Q{}UpTVj@=1r>|Pr$4lUMd|MH=lagcW9`!+p~P{ZFiw5;+Wnbm z_|Q5>B;=o7o%k05G@L^yU-ySt_dB&GjuRa|DgU5Vv!p6tDGD}ljnK~mJnt;&S#{w! zhuY2+m8~g73QrwmaP_OP0m%Hv`OLEq{U|$ryP{TXCuP)E15FUc0Ux;}{YEp@M9b~J zZrKm|MKT`cawQT57S8fQ8;ig}-eC-$S}$ti_B5u+4E$-fVyJ1TzDOl>u+E?2jN`8{ zNTVNcq^p!!XO@zcs8wpK6-|ep6V&51@I7c7>)awmz}y%aNUE4Ou}YVO+|^J35}=i7 ziY84r)9!3?-D~yV(6{>9(il73?d_GWDNB-MOSM^n_`p1Mh5l_IL6wJqcP3u4 zB$sPy8}D|=(UVbA@^!A;URHD4Orc3h9VVx}E7M4fo{&?ysbe6YB1;5Gg^xAMtlOi~Vt&;`^_$l)H zKF)x*huWs7w;0rFids9`uLPE`` zJ5_e9Ded-qYb0<;kjGY+z68Mgz5Z8$VA&$(XO+0t?7el?R82#Yr7Na8@)Twez~g_+UNBl%#!XZ|ATk)ds9!&VpwH7y*~j>iLAM+rE(&ftOK|ZE=Qo+2Q%0_Nf_~mEB4VxT5URaB1WaM_! ztS_TYeaL3$e32CwMdcGp5EvD&WJK}Prv2*r-d}X28jxyW+%{*+{P&?5M>O1eqWjuxyiF>QvNY|S zA=1`2)u@MeXT&1s2at=mdw04pUP{nBb^AUC1?u)o15mBF$jt=L|0=1n z#QwCyJVEC5T!(1JbnXBdbR z+SC!Htb)8kY=dt*&eXW1NH3gG5*nBp>!_Y?d0v3NoyydiZlkTXolwr>_4t&^%UcDJ;ESqVu?@eXFyCh*scjJIV{LK) zaI*>SZ@`g0;R*o3H26+Dwpu@M*GQ0an748|IabnbI9GD3d-rxj;f{d-?*0*2tawsk z0BE$bMJs8&-ukv&+fOIF#y}}$X7^oi2SKSRE=28BnC!T$sWk!?65>^3X3reYPv3Z8 zvq6uSsT7;p?*4id#u)b<;Obh_R>E23MxMMrj^~#nxbC~lOY~StnW8rMv@#3$&+}Px z?~R#n8I&a=k?$U|{j2dEMjLA0E#m(=R->sVj_p-IDHiQwmBLi?q<8AFJ{D;R8tP9+ zIER`RyAh1)R}-ca2dHUcAk;m_1VrbvlV2Tz%ba)pH3U$;KOZH?z*BvZ71Yr+P%E5@ zeApH9k z-nqx%Mf;@_j5EFmAlel*B+{uJ%YX%-mBDVZM|JnmA7VyfYGkLW6S%U3jc8;ny&WG&$3ANr7mSh7>03M|tK7h#1TF-;qqE~iyi zSZkEK4~-L=AT?O#;@v6+VgI>=6lJK_2KDQM$qrOWp=8Jj+zr5^w|KqVPq`O&snRbzzWRiX3uWbJ)BfEwUT0^v zU^l@=`}7?b!ta15jc``onIKQ`#e@ATl3nr2n-lL0i^^&ygE-WpjdRn4LgR@KQ>ln) z6?^X4<@~z6MqLHPBj29hcfEcA}QrPI$T6`pq)w67<|o zIlw@?jMwkPPD9K3V7~GCs)hb~Eu!)oZVS(_J}qSV(@u1qVB&^Z%NfZ*ZZpk;7(;>R zy7)p4Ys?Y=;yDc4OKu0yvPWK13zv{l`{SM8mg7|f8=ZdS#Pd}-!M|2;DlcItNQ^jE zi=9B$tp*m!+4RUP7tj)^>?Mf(wuKgL@yu&>m`NGGujJ2aHHAk`wbCz~<#v=6YH!SE z=O2NE&fEc|xE4%GAQ3GPiEt+PjxB<6x0~f4qix5J-c4w792#^NKN^B4xoIXbvKAq7 z^-6?HFoGd;sBFE^T;kap&JLl!{)1HF=Z{1po9D2cR36HJ7h%S|y@YffTyyq4fm(z2 z1s1>GfHSV~0X2nD&1jmDnb{y+Uw2o*tIF-`JGk>0V-oAriJPlHzE@oj8_JAO=cpaJG}YR9MCq4{0p^=AwAT4_hFnJwwE)!_%?l`QEcjc?(S-GZ|c)uNY`SZGqSsI zs7Gzqk9}eYaQ_wavk_cCDyiyuTT&}oIJ|~6{t*T{7RGhmYlNrzj+H1t-g`9O zUjuo?^V<(|ntfMx>!3#`c>CQtXTe=xl>aUjx-QCJHKj4F__%vAuO_ALPEYApVpl(Z zZ{&!qk;OZ7DP%=f!F5(Nm+iDoNZr2Y6Vno2Ad}bA+h*X?+h(x>$mKjfIY^?k^RP)y zva(*?#D2QMvZ_Ol5dTcl9p#I*Sifd2v6Ju~e-=b|gqZ>4&p6iVr#55RQ zUt3G`xHf&}S%Z7DJ54RL2?xzxRmR*-^k9cEStVYgFzH|b^6zcZE~gKJv5FnKs%S|3Xb!69?Jx}G z6nmDKu?&DF>TXJ-SqY`~)S6L=n(SC4#kc82*1G)boJUTDV{4G_U!~l(z2>=GXj(fMU+_w8Z8`;FCqLYYO5KTDi*RqGDzzGXO81ia&b}W2d zjI>oQ`3p>M5g^rVVB$O6kspWa+^wr-6KzMiF*wG0Qaf%@(mwf(u=}15^HzKmH8JP* z8GxcRc0LJSNG=>GOu+!gi(F!Lsz_*91lJAvY%>h{v0%n~oQSss-v2F8l`+4v7(eFI zMi+QC5%%sW&lT!0Jr&_#yv;}iP{xedf({vm&&c!I>N&O*TBjol2icl+Yk?}Q1H7Qb zU+O0Wqn01Xp|F4~o|xVzR3&NxdHK4hfw5eCO&A?uq~epW8mX9~)Q>rte7 zaGy@}EofVkoin-eI?)#dK8VQ+-wU}hCR(N(n{C$C(W#7JCFrE)AIa5S__x!#NQcB7inYOkOt zE)V%6YWr>9ttk_7q`X1=3Ri2VDb37kF=6N5Wh*v-0*Cs3sk@^0|J7YkPMf(56}x!3 z7!KL{%Sb_aJm^swDe1QF zaIx*%=Eo_3`~gVcf~1_al^0W`=Tuv((D^rAk_f*BPV(FzaoI;Kpa_F^)|o7)ZGiVe zMW%}ZJ!{pBW-rN+G;B0r!C%!M_0D#6tLq<%+U-awQ+b;?9}Uy(4n8s?Ea?Kl zV+uNVPpUl?lPR!sr&Q|>0Bs5XHR{C!f2Qtpf=KZQ8rB=p<3F#^bFK{4o5O>qINMDU z(u;aj96_w|TGe;3!q*~(ihCsCdP85zGSG8N9e$Cqg@NXy*)at{;*4a(wos2FNq9zv z28KL7^yAMo{6D`I5G0(`$t|9>V2{6kCp>e~OPKcpki)~s^< zeu=%m>T8c0#iC6!@j19vGaUx6b9V1Zrc6^%B)Mb4P|NHU#|ju<@x=n?;~DQ z3GN-N78O(JA^KJ*e}!Pqq7_1gM7@~q&HqY1e|^*R0O6^p$!TISNwCzJK2|vwMf}(J zy%j#eL!2#b?w-we$eVbuA6n>lQSM*b)2uhbM_^K=)d|zxKj%U4+T}N=zc=PX?x`nUZ86XHMW$Xw{) ze=O)#^RfLqJ9Mw+z%%1jH?Fq|at95uEcj}nVP(X!<{2}nc%30y)vN3ddM>kcr~XFe zkKJqOPVI;@b!r($NXA6Ly=VVAzMVKhbl7lUF6C$IldkR0cvNhLI**DICXaiKvJXzP zJPNv5=A{2%63I8|17}4zh1|c_6;P^+A6f6Vm3rnWHL=yy%0m*5jvZQf$CAADrgskH zTLKcWx>h-iZ7h~x!CLF?m=7R-9;4L#(X|3gq68S@>=~(tl_z_&3JR`Vei&|wvvZCa zd@jU{F<6}7u=A|_m_2cgCA$DfgnQ0;y|YyNMiH>GJ%q768~@+ca?bqX#mWu=rS5~D zx}N~kiB5D_3MucN6&5ZYk)3t=ar7Xj+m3kQyn}(u9NrL&Zowp%O7x|;l_~RhCQN>B zw?e5dOhzC)5+)=&w#CFM*(#g|(r8z9&(#x|>rPmJiMUmtiRDQW;`C(g@!fr2!1;qX zT=}OE>A%MN7z4^Gq);rXtWWW`%loB_mz%z2%;1y@k;h^+46(+d2p1&sh=rCPS7 z{POOr*;kc$K!cdM+$j9Egcs4<5e2eyRnF|LM5uLtJvHGDIF8{ zhmi-il)Zki{(a-oL=hh<`ttW_D z+=fBLFGCYvf^NvjR(k%>yINCU)WD9^%a-zLE43_h+wH!QN9i;gKg|KlJXEp+$Fqh0 zM^^2SCd>w_=yV*YvpB&`%<#&qsxPXTFTq;6m5<=TH>(QUgyxoPXPj>xvD0%j^l{;} z!J{h6CPH~1B=Y_3YM<&6HdyBAU89z6K+yI$PoW+<5oS?_gMO84%I>ISW5S9^tcRNe z5+hsdOXiw?TS7EKb%@-ne_PonV|_CalyakBzmqh#`7mn@DYJ<%zCRz3gr^Ty)P2Ao zfpzd>Y+3gHx-w%X&HprodNCrq^`7K5x%FdsJnp}frcd_B5m-R$+d`l>Cz_+up>Heh zyM0iRd?g0s2>FaRY7vpZy9}_uwz)DO*&>XW{04r?W9R}>4(7@s)E6lO_$ItO&4Ac?*!Yw z7x(okAH>|Y_><`GUA=w!f9ngoh6g0hasSmd0`Ggye|&Ylr@%U5B7)~KK(8LSsz=?A2rXfH^-UMjyk^j0|k0@oX}3n+j)))5&5*38xBJD?AbSNVJ3 zEp@oZ-3c$-%MV?cQAwu-TXFopC+kgq^UJZ=X2Oxmpdl={p!K<#EV7L z`{th>7dbs!HXlSkDk`jW$@kEu5#YL`$=Ri2=nGA!?Ze;Mk>qC-+`hyXJV87R3y&<0 z7RjL#9{-f~uM@Sx-axCIl(*B55|zKI-IK9Ox3WvU11kTL><-x=lnT)bvr9d`9W{4x z057@D__}?$S>xPM{*dl}97qu)Jcg7DXa}q3ht9KPl*e8=UiJNx$!_!`+Je_?oAB|0 zvAyxh7ptdqH>HZg*Xu;Qe0RE#QK|>D6d3`82*8$=w}`wd68?9O0$5gc8WPp}+w|xVpq*iK};7RFFlr3t=VJUTW13+@yxx zcZwI(6&`(K-yC}mZ=Z7%j}18f$Ps-?+}E^D{?xqdNVtjH%>i}9mVDJ%mBaxV=E)$> zmF)O+{jR9N0&)x@XI#6~wL8nGVf@w=8D*==2Fu?zFhP5Uc= zeLHtuUsuY_O1H(Oi&)EzLNP0*ij?0|Nk_~*T2!V?QD&NWm3N>hcFk~s^-#Wb>x$kb z9gD8s?4RL57eeY{;_*dp_Qag&mOwUv*Zif7nw8a3~ngOEaL=;Q*eHT#f4Uxg+38_(mMnE4Ewda|(_Luan zj-Yi`oHn;ZB_=}zkTLuS_Y^NS*9zs5HApVoM_|WOz#F|jY&T>|@+5JqVW?4s<)U*N zZFK8_VoF^*_wVKWp>yb03Cz8WtpX;S!^~MV_e8ZQ~*_++*d9!o}`+0>* z)9qdjSU8j4E1!UUlGo0k08P!El!%?i9cKDC#2M}$rv{U%x()7mLi-FhR}qo7D_ato z@J*>GctkY^|40%n8=$ZSf1x6td>Q#zPsxmLeW3}mrO^`4+)AoQQa3qHOysV%WqB;~ zQ*2J*WE4yP?1&ejxwUPnXlq!oE+f4#;^jx)l!f~DD1$x88l&q42i&wG+#B~R%cxYQ z$c|gCxFh?cZ4Hv_=g?{is^(|u@=)9BPoD-@mTYV-@>c`e2Fpf1L|`u}|BmXChq=#S ze^15qv0O2Jzhr*Y_z!4Biho>aaV6S94cBVgUr(8^P5OsMkXrs(%59M37;L%wL#lN7 zaZTNiL$ny>IP}~mnpAe%UvARQ*JJ2XmA~#s#u)v{oQ+)D#FeJ~wo$L(8nzK>B0;dN z(69%zydyR>?RDS!aygXoeet&9#88C0rAu-tS~EL`fQ+P zophExBo4Ix21vz~a!yTlyi^3B=|QPtxkyGmG`H9J?Yc3i0%QCh$?^3ifX4)sM+j%{ zCwn09GI2#|e%57Am}IZ4-oHBHwbb9%-sJ;Of(A*`V|tuPs@iAWGkQ5CBqow&=-VzS z!TvlXQ?o^LfbgNGAxAS7-2;clMoh_}p`2jzf|Ggatu(kT(04sbM=vNm|Y1E7?# z2xr}UPnn!O>L20-{Iojnv%RdY!`kW}o8!2Zc`yqQ{KEOU3oYu4jzAGo4n^GPg{5?L zg<6kNRm>NXU!m?bV->WKm= zs3%iVT!MXP>~_h?@eD+T=$;Ci|AT{{OF?~RT*-K@Jd~epqMQ%Dod>YV(%*YO7#>io zDXKn3j1#DbW*rSN9zADrz=+&F@cuCDo~vH*5q}Bcyr%;6%F>UE*yD%(Bo!a;^|(J- zPm~LSx3%8b9K&Ll>$%d8d6Sb$w+i_nUVTP`>!ceBpPW%nH58)+uhFA}l_F=}^ZzKj zVaLH55i9FfcM3{6FF_%QSiksZ@BkGWdk8S?aSt*vUZc#6V?Lf^eIw#Xn1b^Yj;of- zg@Y*5ruTBCxu+UW5}8`-tO}l3kguRjG+E>XZyGC|gYvVQGny`*s|-gYi`3M;BE1jT zYnKn0zFD5S>Di;y@;w%nL=FJNArF6!pVzFplQgWxKZ%Wd3Y6&Uv+;s#NodcT7D?;f zbr!1+;I(g-bKvnC8h82EIpl>+^f_SKTn5r=A=Mrw!&8H`lUI9l5xF~n@oH_O^;i@< zwTdw@rRy|i?7C4~_szbtY0D>eOIrubDO}Jy5|#a*yB%p=ha)_#bR#ReAdv!;2Q|Y< zo_urLLTBgfahy~Hnk==u;gz(@5EaW>XU43{FV)gyZkRA(>=K?>l~%&$Kg-mXmzW#) zMx7-3>50MH1e$o7UX+4yhp)%!%AQA|tbZz|xLef27G;K=ilrVqU5t(XG6YDP@-t{! z($(7~J1iQ`97FRndin?~UL||i(=a6dHahZ;dto0%*fQYVb_UTRsYjSHtd%i+?bQ{L za~^n$L8xr%@KupZG!H_r7Fd|q)7sKG&9Xqnd(`w~>+FeUy+{^*>u2r$zP=1ZsgTF^ zf<3}v-71C{E*OCjS^(5w!wZ1NY-7$&< zs=xbXsITlW?Dc2gz?@Y_gFq&^5N(BJbbJGjxwlDM8aBNeYNlEIE$;2edg9#9L((*f z;hx>~d~^q+>aax9d*;HsRZlcNa=w6ZfW7Hs;1PoqsK;oDft57i^#R3ccr6wlxxF|Z z*^}v9+*^DjB~IT^d9pk3*JN+rm2h@##zH*OUvmlOQf z&#J^Oyz!_M!$4!ysc*zoK?+usP}eC_DFvfAmPQ@{3kE>-kBQal z-+Edg?B#rGnv9d3uJdk>$4B%QUx$X*gvZ>FTlfnO>om-tr(@sShMR@NpW(k!HgHhG zCl&~G0SZ_M5r z_hnKkh+g4eZZgGoq<^lbxh7Cg5Jw*?Sk`gjaancyDLCjeNE}mv4RpkVXAamBhSRa0 zYisQ-?qKJcQ9Ba={jeu$y>g4VeZ9EstBs{?%S(&Nt{4MAm;6yF!!>RbG4L56^_zBN zDFsbG#=jcHIbPKVYHjDnBBoNH)NWsiekwpI5E`wA`dIkHbVQ4^?(EloF)2s7^ovA# zFVh5Bd789d^~iTd?;3t}#FXukX>Z<_Sh_X3iSCOjL?S`-7(j5*?=q#C> z?6|lV^4@FFKIEk=@(OQ}bNThy;0S^pb7*(tVp&krQwGCEO9{7ohFYT1hMzO*De*$m zD||e??#@!}L)yJ?(O}2gdT9Ccx}1-tBk1yD{p?j(u?Pa$3oSO6G-h#`4xwgU{52;|rq(I8t4CeN(c7>+i(~am~WNX|2G; zYj$2~K|84R^L~2+w^kA}X`%b>?Fe3N91jc4F0~_WAwOS`vo%c@2&U8vL_b_&EM9TU z_gxiO{5j{Eg5w%N{t*1?d0Xx8HE_d=HKNUt&wtT<^43ZWLu)e+vrBl|Q zn3@21j9bIEHyUP2%_ciz2J4Gdy-|Z|Ebm9qQ{A6sqtc7=o3Y0wzWn}afVV_R zA=;OUbfI9uwmK_ETQpNz$|WG7um3Kc@vOr5P0pO?aDe2a7W~7Xvl7gz(bLpai331( zkZX+nVA}97nI@!dij6~8s`&BiIm zRaROpzc*$zKJI-ZvYaQ0;Hs9q$ZXL8qeKAy+);t8je&nGJ$_woI0;~YjJpK2w~*Un&d%~elU>LUukp@VbN+Z#w$hL?0ju6*U#Z$zZj+Fl z`8qS|hbZ*4D33%~N>>O~np8WLGP%7Rzr+hA&}7#-Bo+76(-2ZT)NnUV+6hlmKr3%Q zdRREpWyAb3zg7yS;`M_Y%36ced6c7K2bspiPBK0XqP`V`%4Ev&Q06*zDk3Ya3mCp% z-Lc)p*AqzL%Rh z)z;(L)w&|F5Hp4<*))}93sRCRCd!&V3Ir}3t}>`78O|_ zo#Ra#I^U&MWm+sRbGg#KxM$JZ^WnC=Z1d@NSfPY6A#c2qIo4Nuu{HpGn#-Uf&O{u4 z$tB!OR3bW?(Db4tV7$vhSkJ8R?V;SM(`h2o3q7X;>daEl3LPvypUf&I>mBU;tTmd& zGYM|C;cdAzE1TQQeL1ewQV-%_=Hkel(~0}%)wnh9tt(d#uOF)LN;7>3dPb%uiov1-lXa|>}DgQ&wJN8@MDt7KhOO6d5j-{ zBE5~xtvByn;*`o1F*kQhuNJG(#rS$By*|41(+{9%FJs?H8Hn0e#q|K7yMA1Dv|#*Y zaq(|Dh?)AL&GRL?Kmi+Ln~(w-6SB5>a*nU4&aP@Cj!t>|7bkHoeJWX2K>89s8-kc~N(XKHf@z-$cU@04p8s<9ozj&I*6IqMZC z9lX1Ror}Pe`OC@&p5QL8`(uE_jEhp+%JLL@eHD8qLGHXAsLsS$P33~&QnEkrS0WwS-_sl zp2YH4{Ul7wYh!x_s5;c>G=OdlnKWV3M=4R5o#7W4^QLxp!tcjF&o??s2t~Cyw7c8MeYFFBy0? z7U;CM6HcX`1||G2Zz{NyB0nq&=aWduPEvA6mNL*kVQD%DX5xMgaEg5f2Qlj3T%CX0 z5_i1wso zm7Ar>$BwFR{|E8KeviD}<}&*~0>!%0*ZK#Gc~Tt=?#Hes`z_oGMg!u>J)P;NDH>qqj{J*=T-k}9h8nI6G(D7AvyPOY9 zhV8Y7TD7R$Snt0*fFzSh?V^1j-Xvgdd;W&I_YiBP-wixZ1Oz0%pz7>^cb%Mli#oKK zgU1B0_N%0;dQU;m$Q5z`(p}htPzku7O?ysa`6~`kr`+0ma@Zf?$6jl9xqlG1`>n@#5v$_8oz?e|3Tb)M>Unb@8Zlj$|wRlIG`XfR#XI(svtx` zML~+7fP{cblahcyLK9FKKt({Q(xrnCkdi_IiHH>Gy(EEvNJ&CKN)ky(at||~na|Ak zw|@WJb?>_Wz#@yBv(Mh|-fwxH=RH$z2W8&>1M2wg_AO6e{Pc>_4PUUm{2uXt%*-DU zvzDa(X#iqAyGRuBJASV#8b0|{XY5~-vju~zw}Upn7f5xael17M3W#q%zr5q0rJaEG$dyZ_eyJP(*Z5EEqp%O0q5NJcOQ5gO#bKizFfTMzQw+VV zGcP7xPDFM2x%_-^cXYFBFX`FC?ygDSapm%YEIfM6pwlUWe|xJ>!eAwwRNTT#KY85@ z5FctkIF^lLr({hBt51(T_gnpJJzF;JW)W8#tW_!wO3<$Sb+PzGCXCShD2KSY z8hb8vPYW+nz3)X>f7vo!kDuvtCOIC{}zytsDAhjJBYzwwcl@Ts3; zOLY$;vcg6=P9RbKg?0aG-hZ$bU=W!@yI}HyJ2==mxwGg-i%Q|6y+54!pFxY(Nv!+@ z7wirF*?lyxyr&_@L78H=tuI=qTJYU z1Mc~=yuUke9WA#9@&!|Q9vvgP%}%QF>gjt9R$~k~HPTCR;+UyY$%((*5br*Z=lGHcF#$GS!Xv^Is54C^^!fDYvfNl1S&AO?19X#7SVt?vj<)uI``SP~Y4hJRNBY&v29b4Akn|K~O>>8Nv0d9=H*7*t$Ba4T5W7_g_GsDCG zLh*nT0dDfZSL~=2kOW4??A8e_Cb3E%0f&DoAXfYgXu^wpDTP1VkCu@ymXY71{IkqJ zApSw-7LGL~tPK=Cv`K{v+K3VM$QSlc4?ne6zpA?bWck9~&BWgwl3&F<+x7ZIopj>% z^3+$Q&iCTWwf4zbcSi5isy=G@Nxj;;RrWxu>?Ko8SFJ@WaaY6qaKgNQu77rY&pe^0 zY6HHMzJ^msn0KC|fGT+goUmMfVNfoE@W&Zjnryxu(`@XxcRQw>xOzK1h*ehu7u2H{ zIurL(=qd>JiGZZ6&AF!P@CC;ZJve{z{S#zS^X_2sv$5|6kO-VYy{r0P+vwU0;94a) z;gy@T-U#;cUI&|vtAo*Y*^iSxO`+KxJJnYcJDn%`8>1!gN2U9utrzRZaSHG-($ZfS z5J~APo3g35@s+<63*MJlH^u&Bz2o!Zc&#Z6N{(23bf>Q25dmPk@T?IwWcCW9-%WpQ_Uww9O}d2h!Dj+uvt>vk{KMNXv=+Gybh7 z>!1tVuZYioP3mtu0helbT?|&@sAslAg7Djjey+DKk8&#A-kF=wRrfZ89X2I{aKy78Q=ecRuvC% ztyx|w|DIQ6RT`^T(Q`TQZkpz#)-i~M%mKZXWq-r5oy+y+=AgCBQtAPBr#;)zCRQu21IG}Kcw^7y3bq8M#?VRS<_;(K02tZCZ z8VwHPZM#yMlqAv)D6_AD-z`NlmR|2o-=OIr^2!1;y@R+hekZgNpkzh?STzA#d!1d( zRSXl9TX8nzX^+1Ly_-qU_Pc1UAarj>m_Bb06})*xb=nmZA{qjAb<&4xWL~(TdM=BJklWKhbm^ zmT6*4cq(xaF^Ifi?xy;e%7BS}WTMyR2Y5Z%MR1&S_*aop%}n_90fAx~|2R zjm89CpMXobH0g@FCwyK?S#v=^bg|Hhnp>^Auf>5*Tl;t_WD@HO^phR)o~)m`BQ*3B z%syLmFo1CJ9wRr>u9Ra;)->=gCH)N^ai`xbMm4maEXkD;yJs|w91t>VeZ!Qp5r~TL zB8K&7IaA^<>+Kudvfi*`Se3Ca+ESl#&fI-LAu=rk$X~imi?0dQBgt&=!R548oK_8| zXefY#d=0)j*OMd;v)F&;k~H+eb5DiTj>TS4u+`~6B<0_-LNZlk7ETihx zIl1f+J860Tc&OaGXw8GdhPUMxMrb>61E#C{roq0I=cPO$%e-Gq&O@b zz(9Vbca27GctMV4oygk10VbA*myh% z1pLoa>ZTBM)S%1M)cV>j)7MokQ2uI>y7OFqeiPG8+>Xp{=l%*;UuGXWj)iuNOjrgc z+>j5C9-=guAn$iv z&H3+%@qiXh!Tw}-%-}SG%N<&;!W+xx>K!(gTuuxL13j7T-<#(6@b>9CeSX(kK{(eN zEbe-neIE1V8)9fy>OM;sX8>>f$JwqAqzzkx-|_^0)6WKsJ~#AY^(PN|r5RWOeH(Nh z5i~E9V2+LWUCyx8Zr7D3sOWD_F&Kj??x+Wt^ky>nlV=HlufDvu60F-a0@i_WJ-jA{ zd9$Sm-3B9iW&cP8vk7W`9q6N!WCt2`y#Hg_RgfEVdH$clZRnuoD!h;`p=E%7) zQ{`)dn`O)JUbvwJl@#W>?z9=dCvhdIvU}%!;nM2!Ch!R_9p-$X9B_Wl#wkg@9A+$R zdA|Rz$018u95`C*-mA(ukI^rpE^Js4@7dzEFHS?O0wKpYRovS5-Ffd07;-6Kk(O0{@i)bo0yMld(!UcOeDA4V8SLIU(#A#+By2k z(B7*Hd(w}aKHt{Lp>YRUrHn!LUmHiH^rtO<`%5GkPFqlR?ZPXy;tF^)4Ii(`vnG{6 zoUe9w^+LKr^O4UmpFdm(!J}FuoN_9h`dDC zu(k+ao3e|zl~XAL0pW5Uc>LWuH}TydFj>I-;HfB+`q>m)$JZXC)Pv=cz9B}w3Gm~-ue4;TVu?e{JHN>Ph5P|eBHe@+IX~ow!HIB8b&n`BETsGg!Og&oja`W$d-V) zPd)E60E@x@D zOW>ZXIzf7H4e)x#>L}~(=-+9?MJu>2ws9quT(HMxn*+IumPviV9bYo()XC8PgbTbn zLntNLjpKCyF0ZL!EWwb&Vp{70D!NM5$~+~^%P+<>j=VVWqCQO5%f%`R>XnJy?~5{DKUw$o z&~&`N7uEO(g+Mcejqls4b@fhdz668bbVGkFZ!XD=$drKc`*f6kivQ7Z`A&Uo;I+)} z@F)hFb-TG1p%}X9-(M5L8n$)iiu>10up*enS7NGXqW;r&Xv?VH+6U-j#r0=wz+^N^ z{j!ciHQ006eI7|K8?z^!HlO?kq&E1(LMKg zfoHBxdlyF(w?IRM0exhJPtlQN&j+q@Up|s&+7dd4JZcYfBhKd`0Yc(mhJ0~r)xdzW zcKSZAHov>%5E8T$T|$%>*YO*|JF^g%tEWaJo&60dH)2UaG=LV3XVr*D^RO|B!KXvW zvOUDr4&{C!sawMK=YLda-d!n)1do1U%bCgL&!@htLV^|HgEm-!uj~}RIR=y(R>=f3 z$g<*r-6)N%oAgg<%V9I7w1&QnjOI;g+pYvNLLEB6DzkNU@PE`qELCu)v8>#Op&Kc- z#uEfVTtp{AZ=*YMR?1W{mDsRZQ^5w?)Pa& z^%LoOfN~!qH}_ow7TXPWDtrPpHU$4uiQ(C=0$_BbHb9)X+G#v1e?+zOKsb;wU2R%= zUXr6i^xn9wnT4z^$e-`n@j|g3XQ?IF9RGlflTkB^L0yRi`;gA}_OVR7Lrz5hH!u?U z!^(jrT$%Z77d%}8O2RjF}qzwAb282ID)zh>@|Z|tXkS=MjBQU8yM-dlTs&0PJjt8Sh0|KN(3N&~guib+|D z3Yh-F9stO%irmJW0_g6y{0e>gm1a0`+MT>Bc|Mk%eFG`IO!k|`pju^gvBzS3j zxpNNamH6gR`n2d!hYCxsD41+>2hT09xd-N9yUE%nGfAedSDBVud5@;|d)Cscxf1&Q zLD7(oXXjZp2B_{z4w@E@5-T!5Az?6wQ%N=C4Iqj*jLP<*o)QlGJ%+AaE&{S za|;TcXmG5c3Jo6ilT zL*pKr-s8tYCF|Oow((r&i*MK5UF|E))lVG=8{oEv-0_7#5yYR83#je&R-?(|lWgYe zx#Asne7j5Y$@Y0O8GF-lK!TctDs!%wgR|6~u`sgfT8^`(&x2RN1u-3^da^G3THfqk zQ@3y%wUn~v0am>;dhuLH&dpri-u>BvM_Ffp-kCKG*E4c05{R67`5MId>9U;-KDW}= z(Y0D6g&m??j+~YgJ@ZT3+6q+lw(%T={kxR$=ONcJCNy-DN0{!ZSJxl*Sxa3HzSy%q zX8ztHwj?Y}d=R{;|_-p1u5eFq5D}ZlJkV@rzPv`NMiH975`P;HZXNksy92ZKn57`bOVI z&iPYogy_zpV_f|)7lNoi)!N_l4%88ImA;e#BZxAqgYq`ak@(&VM>|(fi{TsJ&UBCn z&SXbi==Iz~5yGT{8R=o-L%MF0Je^~ZU;%uVOX z+cgUzn8tjyt#ETMrInY5o!b^uh+;jfYdm`MJPC1>#eH>rMrg=4mUurpWIamDuk+iwFTbihZLXQtYed!%SHEqM959wHPGf>@OTg?i>R*90 zAKt@s0wh(!|OHSKXHpf)4xjhyInevdbUB$3uUEBq$iuwx64rcS$J9r@72kLlZP9o*#dB`(}te`fc&``thMe z(xjs|bq>Vud-o%m^qoCZ^5J23>4IIU&73|8#6N#c-Wl2G^>nBZO?@=KAKB}Z+6Lkw z7uJroCA2rmSgj3am+-ZWige3cW~OuMA+cW zvi$91VGiLpB(#gry>`Mw>T?8S`V8B-2LCYp_=OYiyNd`(1yGogDHlbKACBd@u9X-Z z5A-6=geaV8eV zc7r4qo9$iZUr2VM0=3{Ur{rM8eu1C)@qMx>8M!j*%^Ph`Oo%e-yv~9cYpPfozmObQ zN#q#OmVXI509J*od)x?Z6lkGGw&@ibNWE>XbZ)RF#;nR$5l(=Dm)uvqFufKkwT+o{ z*8%JuD-6>TXUz~S;LFX@0?C30!byuXOlE?+?G@0-z|7#7N)6S#N4JR82SV)QZMecCPFP?IMsO zk}UVNC)B#FL?xY-%Qb%xM!24;!Z)1DaPX9~Z#=`__HjBrxFaxrHa=K#xg*@BFL0~$ z^)qaSZ~5*fO-!|H+emh&`*mR{*i#9AG|ckR`o@q%us2-mX={cgfdfV-{PisWumM&H!uKk9UKV{7bynZ~lTVa#-eLQx--jSph7dT`> zB!#*l9iJtECp9N6g@OJ$YXY zZDl!`J*A4%wgZ{&ko*Rexkge~mfH@gf0+vzuV~v14Xrt3PjFsoSYv*iY3R(?>{M`2 z?NkWS9Fg}Z@}X{^8$Zmetsi)SPPmi4_S;0yNPEK#FMG~`K1Sf$)eJAcrM3#7oIG`~ zbNfeQ>%p>_gYT;TK2&c#i9PksEp-Uwf0VoZ%aU2h#dMO4=QF*U4-$5gk9NXdUtG#} z1(&1GU3c2A=o|^2m_uDLq5tNKRG`q%#QU&-%;LqU@69m-qRG9Q?S}(>H}b>HftcuR z;DKWpO}F@n98w0s64hvcW7+~4S)hu!Fe1p7{WSbm8vfjC*=3_ZvaZ7$#0`WLCI3e3 zx*=v~DmN}mHK{dzmv@x_ZF2!D563uu)jy6TXB2L<+|pN(bL}7NVlsZ5-#<>%rwYz{ z`dmrL=!v#y7ghZ1pOYuUU4kSFK&)_t_T-VI8n{SQBw3KeD6GG&CgPKf3TepQIOMkQ z#gACcDFiPz07X+6>tmvHIk$#m5c4}=O&0*Q|LinzV|{hN$6n;X`K0# zh+CJ`cGTSm(d%qf(7siyY7qlIzouSja~z^^i7QGl^?ORbbLC^lkE3VvU1iQW#%;&U zo4vY{9z6Dln#{&c@J2kSjpy_gjU|hg5BK4KLRO{~wguY5DF|GIRJCp2NN8E>36ufU z)g)ZLkSy@c9sC8o+(34mT9et_UBpf@)60ib*@j7{+ZBv}RH(ECi9cR~B(#N)BO?G_ zH1GV#&gSCw!p|3A#j=0Krdx-__bb1Ss)dHSsE{()OFMtT%|_vo8Thd`{9lu8NminF zS3I`q9|`TldYA>=yD52EF74|M%+kg8%<&!RugBSBbtQkMjJCDX3ogUq{Bh#~9(M87 zRVeCIo%@J7Y0WOcWd7&AG`9UVrat)g3FzBeAv1wKdyK1<+om_*>i=2RW_R(HV3?B z=HVc62nf2)af1CY3Kmp@+aS!7_nPH>?&tJxOiqpP_FtV1iuDemGKQMs)n<%F20m{VIH*Ql+$dWy{) zEb5V0qtN8lcCX;ncrGCZR&AX(uPNag7_)-JNOGP!>$5&>_AR6GLv_&P1{*e-Wo^}Y z*gbu2ItE?2XRyp|CyGogrB&*nQwy5Rq&==db7ks7fS3eh$MZG_}(Ht-UtN(c2#~S zf8j?<`qzNKxl5~hx%ZTwcXT+m-w8~hEH6gip9a{l>Qk`5!a|f}8rQJ20{rye)*^R;Sj=psf0JL;-a| z>?+1*9@(pXy*WwTidb_!1J!~QoS05p8c%8~WNqhU6HGHOg*{YVkqfAPLJ z9&(qc3B;KP3ZfC;G_n+q`}lgX?{UY&)>q5`OAF5XI_J8kv39&4`f8b2a41wXg*}A` znzL^{JDwRvK(`r4+Hg9{25`trZZ9ts=vUleS`_e+p=ylv)Yhmf=Lh_}nc=&>ndcqb zH}cZFZkCCkPYpjTM;V#O2==~3-+y<$Hl{-oX4{+gd3$^d>&>Ba)a|KPdep^#j@q)e zxl>S{Y8^8eBv4*IFff1vX*kZ^=|~T5m!r_N>h(qoj- zV8~)vzRy+}^^chS)=KOtCV%~di4X0I;@usv;As!xugMW_cil==q|nv$3fxI9CUr=+ z+|hg)Rms^+uC2u>RgO=IrYDXmDfjj`4S0khiB@ zX&485at}3)1X|c$D>Zn@C*XCjSN2}q+kF=#R((=7o1(_sOf^H0?#7hr<8sne!J(@7 zo7MxE%GmJJ`>b}Bn{Us>-f!bqw{ z5(;%=^Wc%tz2-iAJ4QGb@b(KESBFCA&VHGo?tU>1j4MUWYx#z#Bj4Ek_1OZ7$~X1- zQ#X}Qhaa_Pu0pHE6;B-0PlVl>%;1(|Hiqu9mp(sPX?QhT7Bibv{q4|^{Wl7$vwys| zVW1IJsqw2|cL_&)Ba$2xmOUx6(Zme1cKL+#atZV#X!;(U*5~H)L+p448vKU78=Tkv zt~V#F(jOL$KGi`vc*1%pzi5XjEWP@O5k>TV@A8)~xJvbz3eu9MNR&dU?x6F^p$&ai zBcX1b&4fBp%xGNV^|BSMg?N*F6zPywC@vE(@4r^F-7oNo^F#i$i!VV;CHBW%e;5N= z*@LGVB+hJB$A9X5WiW&A9Ljgh2j}6*$7FWF++Pkcd}%h+n-Ayh(%o(6vz+Vw&pjm@ zB>YiRkz0?Ah%k*EQF!uc3u!aqm+|1Y4x?dn6y) za4cW1a$~`2V;yZo>wV^R=}qI$ftNEF>xY5(%K4e#JJWLgj%S!#%IP;3F1ZasUoJgP zB=l(;a4tB1=<8yhWf@C}`^~7By7HeK89=M?#}8caP93_^`)%06x8gSQDcNhHdG&*B zc(S;eSN=UR_=`N{+ub>K#bl83Nc)^j-RvFucY(EHXB}4mFkYvkBYX#)!EkNr>Ov-( z5!-CS%`zgk;@M9h8!9d`IEe<$vbw1<6a>Oala*cH1SS4}QfI|)^siOa-b?am@AL7S zQ~kA#H9l(U+B!z7xfZDuc6@=Dq4;dKFQ`!WIG&}OrFYegiP6zPFUK+%sU6v-Bhn4= zd7z8C<*QnOKvi+C2|4_ZlaB3G+R8@_X5iqPudwk&n7cy~7e=n^ylI*vjhW;)H{&3* z`2w_eN~p}EnyKm_e%JK$hU)v%i|FWhWmlf+BXMTA)u<)O{RC+a4jz~>f!?Mj3wF!w zhQ-h(URdRp1+a7V+cMq-j!I3qAujW%8P#HgZ4J6VH$ihpXPcOJ<{OMs_3JM9^|v_J zOi+VAr;IP@zLb}I|7W`N;YvzHyeOu6z>1`y^myrRBw4CP$ta|+{t^K@$;S%GiJC3(iO~l(4T5S58FeJ+G z1ilP~UsVlye)G*a+kqMYsvVLPl|T?mi9J3vpS`j6guV}|=SF@-+_YgI+_ctxSzo|s z=kk^C9Hu7oy-$3%`U8?QO3tHm=qC9VxIwFSp3 zBnvltBez#MFRXdaw3RQV;~j5vPrQm%YHw%_z|v*-drbmD!7>>ky?My`^L&TF%_b=9 zJgLTr?t_dQv7L5asrP&6P3UbGz9bKYvPRW(m6Wh79L9&*Qklnh$j}j#7WTd(&xw}M z;|&JO1VX}e=&I>x2Do!te)W?P4T|JvQ2M-0CxFrs&Cr+3fd~7R|A181@FA#>`K@4B zFM_iT@|)sQau6ul^V!Qc^|$D$qn{hRNNQJg`;kMbqn-H-uUfsurX-mTJ_%~hTNAB` zwn*FF+2BNQ?fW8~l04z&1Ead};&PN@Q%lg@c+d$bN~Eo;d0;Zg52EC%^HKxeS~$`?T=mhoin$O&MI&gCiVq5krm=u+<9R_=X8!7>ee&dm9|T65oh1pxSckKgAo?%Uaa-+ zWiwR(L4{kQ-N79eFAMen_3Rq%kErO$T&i_znG~~3hDCCai6}XA$6T?NA5kw_tp*vF zDQ!?0Jk>N?a|5ItNOy0^?0Mhiei%*xd0xx&e|b}#))V64O*-LaTNqEgicySc>D3@5 zv<*yHu^e-`ixrb6y2%1wV05*RjQ z!eDR2-k(85R7s|s^$*}_u;?32@R>;dzzmRN9qM<#$`O;A!PGMsfRg4koQk@}F~!g| zNPO<91Lj3QfKveSMteg7xHUsBZ+GXStu=L9{iwJ)ysIoJ8eSH*QheM4+bf>5k+YK4 zDWWf7)(B#&4!y=&A5JC%wPR-1l$;Q5z4{8>V=vJaDOkoa&LA#)IE;gJSB#0F1rsfLobn$&N9+?itt@ zczC6FG)us&<0b3V}9~i$Y*x6B;SRtU>=%I+sVPpI zX?FX;?|Q?+QygscPTHvb4Qg;JRmEX}g3-z>U$mt!FEShSGLCvaMD89iWlEmU8L;%l zr{r~L%;2%Wh7$|jgS``#V<}m00bw^D^Z^F>UvTJzEdZh_ z<%FOc0C>=Gx7|7H@IClJutm(3LxtjZjQ9?AbU-Ar3#3uyZ#db-@P6wVX(v_aW;kT` zo{q_2(Y+{Xa;bDi);%V+iMG-Ety{cmaJmX}!!H_h=slsQcC+K#*i3G0YEyX?;nbkd zn@#`JGS6q-yJY%N{k^5u~8QcGgJ%M|NQ!Rx(x6oPyyMITFem zK$oniakyXKDM=T);p*>>3PH*W#dFYc&$a|JwZKW}HwHa$=Ii8PQje(sY#Nv<=98cZ zQnfDWez735HxY*d`j)@f;Scm!k=J%C{J64^wWxZYweDZbr(T#st`^KA=6A2XPMDM_ zFPZ6Ryj=r&x$~?)3`8-gXbgLZ-nSdZe>~h(P=EWOIi!*RNI@6ElBFoPQOD}M0Hq6? z?ant-+T!_IpL^PmkX?mkGP=mGdw&OkUE!|D&~BgIiIXSLe>unM)q) zFUjgp!4U*L?dydZZ6{wju+7Q_ZI|pA;%FV99gRTir51zp5LISlZ-E6gQk0!Iox}uZDgemPaVdN0Z-!JL} zE^Dd6b@Yuji2R>s0ASF$QXQ%gcG=h&Qn#9Jy!;N|e_@dTwA{$eU=&EBdhi06xA&V^ zHTg`9E`XBY+$IwA+G<&hw(i^ zHt2`zf4mm*&xL;M36Pcn(Dnb((*+E@eKOy%uB?_6HCUOL01+yz-^WS7A#`07;|~rM zx5l&zYoZO~RyJ&|-Yjd)Uj|c&s-k${wc;mImW&Ck^}u(C2$KAjv?5h&cK-xmUC)QX zk>pEKb0*N4Ue|%tQQbnsu)%?IZZ;K@Ilirr5BW8Zbt|+Zd|-+PY$UO*k0y ziF@q%jz_X=i1s6FR!+ufc!{{7S~0_Nw5Zbh;~yg6VMDdw=~wy_)Pk?6Haw`y0@z;f z3jQ39>h5hKx*wSqCnv1Oi~}XNXj?wwu(og(ruq!p!M4(1e>p~}>tNuOp^k^_!n1x> z#3$oRTp~cW)@Xw$$f;eggBR}z(-yhBT+FyNiiA+N7N<|f!_-<_1^VVrT)_E-)%Tr0 zi#)zxce^xIt;$i^J$o(QE+XKiswt${KHvaZumI2u{7-qiZ#;J|%- z;omY=#>vAt;rtDpmHBz7rFX;8{?zokI%a4nqAyuF%5DDCcMfD#= z-tHeIrS_p2G<7%<1_cEGJMEWp(o?c2BjVK>X@o4bj%ZiKiU$h|l?(1I23^lz^DqLf zi{oHSF3=FFXndsM$bI~g@yQ5A_G$@8ct@7laD1f7-Yi2M626v6y(076btUz3)hMVI$23Q`_ov$md#jxjg9P&oG|q zQ}UU{pO<9mx6+YozE%SULR6@l^WZ`7qa)8PbzD)Tkm=h+$4Ijbr zm*GOaTW#at)-nEU#qj=nOb$v}aDg0_BaK(9Ui&J;<7Z#S9SjJ55BhA8)~_ZZP)ARS zA$=e@FuhvV57&!YqSN%Jk0>@;*n=gnL_k4Qsa*ckx=s41`q~`%K7ZG^aBbV_Fr4}l zu68vRa`j?Siof?zis5`!%b2r<(5_h_W_)e#{^$<}F={=dilsmOIh`uhz02>q&3OPZ zC!V#;{9{Icp*XIuR2kMx3t#WRYV8v@slRfnK>F;&^W&5H+v(U}4el3i08 zt|Pv>s0OsNdn|JO@}*l5^|)yxJ}g_^yywD9R+h)Yd)@eK5C9Up!xT^w$WHj^LwJa; zlc0eV5}<3;s}It4>KS{z{F07Z%O6B_Vh-A4Ak<-Vi|9?M%Yo`eN^4=0#gIN_yk+Lq{DuWcru8Sf!x>gec)K`r*L_2XEFD}_0Wo4*&ouF7P<)VK-; zo4hQkWlJ5A(!xhnQ?9-Yw^BJqIFr@KnOTky#$?gx>xR@B-O9!f2S{q;oWv@^9(=+I z=QU#N=pn3%Do}C)Q-8uN#MO;`tJx!NspUI-cWBuWW@+LpmRw13E~tF9youU_&#jv$ z3A{oTpuG$xT*TOkA-I#G7jZGruLZGe&JC^xQG9dv3WIKe0xQR+V~3{=%EPOhIl!`U za?WtjlAnRL>A7;$my%A+u!6c;r&y{*t`FQ4i-#ctaP`Au!EDMm3x$pE8Xk{L0u zU-xI${InNiWZvOf4@bdpM*0iAKX{FrgcuzaXfiKIXGDv`SP>Cp@u!VM7GN6$FpIa; zhL1>W#6F0$mY+lwzDJ(%o&b$)G-s`#U`**s?}Mzg z6!VCFebWL?@pAvKdWyR7%7RdT-eIIgta+O`nVLWvIc=W+sT6Eih%l&wagH2U*%)#5 zaZkHm#sH_K5W6>68#0Xn=P>b`Ohd*f?Exr4-sa1X2i`?W%Q;Gac}li*3_iB&HiY9B z2`G)<2FxCmnl^Dg0P3;$o<}9XO}4sP20?D znEo2jIg(ea_=1IDAutIIK34l)HqyQZFsPOnL+=xx^b5sGAiv6iP6C_nlw1$D3JM~3 zM;FF3DjhD8(x+?~-@ui0CnRt2$^7;hR1*?(BXB#WLq$$6F8(mKdp7sMc=$&2iUnb@ z)+P-v{9zevK6w(Tlm6rmXTP6IP7N18B%N6jbF=qJ9LEMjo~L`GUAC9l!lE# zc3N)Z6uq}3Gd1D|Yu;=o8k{4j3I`{%vn~!xnn19O4o>bym7TsecK9J=#ps?4XPxIS4q~|=>1LS>b`Kzq3)gXwHv$}5yV|bpD3e4 z0|$Cz^kAH-oArHKRQE37X@DmBpA~`+W(9|-HXPd`sIjNmo0*EwU{5ZrN->=C7V!$3 z2<2AZ|>>86Y*FAA2j zC|at0OWdqC*Ze$?T$VI5kV$&}u`WuV$&h1T_1f3QrQY>LT?coZZ>o`bXC(8*XkwE_ zrqRCHn?M`yOWN}}av9O8+k`*eE}4;dVbsi9bEU>el(c{zvm+%%N`HSO!*f{p>WCNn zAupWG)4YY@32y7c7Ct_Sm~N8cnya`HzY+rZ_Zc@^*st?wyfs;S1$JY-Zk<*o#D;yp zg59g52H;|>7*2`2Jw^ajtjZYk?AM5l#&n2c%Lry59Ou1Q^RtR|kqVq2!uKG}R$#Bi zExiSNQxtZ}rrBED7;=IkS`;2g?p=ulBdsIvj#|XPG51Gk59}DN9Pkvkd3?oi@O0Fl zE5sRVpI;WPZPyTdBQ*}KjT#2z@D+cHVi)AW;>~+O@ilF#i&C#OE60{5KFh0dbB_sY z<#iPw&eSip(0!>tgqMAi4|J%W2+fGbR1vtInrdN(8kp!Q_Li{VKWuZAd?4Y}JNU}N zM-t{W7k(-P`2(}1Q`;5qwAxPWl;euO;LeIcL)EdUyd0)airyoO!Qh%FPUknL26iN7 zi^C?qsebB~*+bs=EJMfL^EPz^If!>B5fE#XY=A{h8=L1LZvBG6m<(*gT1m81THHhL z4aiT8$F7F+D}Oh<6MaADM^}8CAQrXz+0aIfD;-%{ND|NRKbf|K_ooG)s(O0AaJwW~1$wC|p?|TqN6vXwdWgKMNIJ%!&xT-~lp)T^Mb& zlV|G{Tb-(YWVAVj7&q#4=7(m&cEUt=zk5yPS8Cx095$Ff;3DCNyz1#EuO<~Jr^MY* znLAK2qhUI`pwys_@tYXKJe4MB8(bTETlFRC67p`OCvBguyRj+9SKWa8q^{DR)xY9)t|-%2pBRkca3%n|5B%R9)n&yLsk*#0;t)kk=jSi2Y{!V8nW z&ln*trMu^ei6RuIepkIU#!n1`lp1vQl+66Gr{Lt-y&*o8@qUryKHe%vK5rU$FYh>O zuf1vq==cC}YXi0GRL-EcM`XV5Jg}f@?;UjKnYbIUZ=PC#y5KYW#9+{8USP@`@VnDd zu}Ovd3tsVaAb@KMoP4S(CME=(GNh`sT8n`d*5-Il70FrBwo2b-7euu0;ijSquV`rF zM_lIC$+im0T*6P$%)m9d_k{Z=6?;KSCv9T%k5?v}oObFY-d=T1h)^9N>d;fC5Up|k zwaSazFcIgzbgawGeTo(}n51rulN7j zgp7`pbvp(6P}fu>W+oO@n73q~fHs624)4Gd@#MC+?Bbiw!OvLw4^D6D3ct4$D|Q zQ1mEqrKUk_5JER6nG6g3X(r+9I!SR-)fT@Sc*T&xW_X@hL)a6@@ppY(MAZZi!y2Cv zk4UF$);Z1=yJOP&Hbo$pV#U?Os)3FE>XxaoPf7*cV~l|zup+_4+>sgkVXhD#PC0cT z?Dd4w_f5Xhg9slmfi5u4b>huTfSwP}(v<@Q?|7Au0^j!CGYlM9En%{w*yq|BRayJH zs0lw_pV|r$4BKY82i6m8nP*ES3Ucpp&a2oMTg6{eu6`8e@58gq6@%Ue0tH*Ma3@4m zT#zmFQ_7a4LtOIr^%Ov7oQip8XG%8Nj!_Jz7M|G8%M9OE08sPUh2id3gj5!x{Qis* z@M1@dYFFKp(t!_yPO9iDmDJve!{?lW=s;U6L_3UP`RX0Z#KYnY^GR(H9CttMtjH}xg4i=Ie=eeJ7QbhT z&|8Ok*7z;03g)VI5WDQC!akfYt~>Fatw(V@v72eUD~uyeGA1oYMBos2>N&*@)iP>) zk8yrJ0liH9HCwdtA|v%RF=AwT(eJjPhBber&b%DxLj^c1)y%${_idL2>H+*kwkIZc zOWeR~5Xs)kq@sR*3g#WOm%qC0wyh!Z{=^y8AeK*P!#pwKR75zfsMG+-ONj7}rH|%E z0KxFg#-U0Cra9H{ue|Ek1K~19G8@Ak>)M9lesd>(iQ>D?%zT^Ro$ z8D{hgMh7SpaK^=|N-N?k5)6SBJGZt@m+rbT*Pqsp z;kmTXaU?hV!Uz$=0Q_dHGGV`pCgd^fkf)BGLtx(?3^X)UtgX)ECybX%6(HQP;}E?5 zloeTlAso~c+5tVebU$)zV_9CUgm6C0)Sc?#bKvM&)d5AhNeNqzpD#&=TU3v{RojWG+}0Ni%-Di#iUUE>Y1J~<%YzYM>Z=E+ z_P&l)6FZ(b9ZZ(8(AV4Y=S=sQWzU~5Db<@A7FW#%#rWzsc(gOQ_5zFQ@GZr_($acy zQg8BjQtRdEF{X8E$Fn@2gpZ^_3&qni!@H9t-3-a&wsEh429Bs1rIwE#wncNn*G{h+ z{iEJ80Vq8$9^0xi)ql(HuNJA5rTO*E-b>rtXNx8C(^eyoip=)&V^V8-f{iN_b&b=? zq}lzDD)3Wq*ho}rc~!ju*-SXPrT(a%#@jbdA$SrVv2&MW72jnDpnw)?R3DsAR>h3s z0a&4Gey@jP77a6&8}HKAsrN{63YNepc~yO`7{|16fyXT=N+!E;My3#p*2L#g?`LtV z$|}_%p&v6XKwtx37Ty`@nav^2n*^_czaSqbxo}g`KD#!PbM;~gmqyDf!T3M=B)nB4 zVQKiAroYJDw>k26S?7(9K0o_J!uM4=>URv}+E(FA1@{sf5n!Gsim`17^$T%@Zkkt6 zTf4#e;kqxGqba+#W0+68=jyTJziCfW;cJYJvQUATxiKL8^l{7zB8ZZ4nR;^vc$$vuK-6X`L|`fB1VFR$iOU;( zD5-p*aOop4MT#f>Qao2Pat8n$b`8BvNX0bfRvJOlaOUs{66+5cU08pSt;4UVyZwDN z_TWi6Z-i6Tc_}Rha#ciR-weAXdFkY00p1vRCVcq%%tC6rQ4A!JsV(fm7Z7C}z6bW# zx`tyJ^a*FxQ&LKP$VK-Iz3)ZKUR}-ys)Wb#wkoKPJqu(EQAHjoN8b?+ayeJ*qsZf)KK?WG zF60Q`BXA!i6?bFYI4}W#gjgFz_LSNP17BW@b8lVP*TDqi=B^xG)7W=N5rB=9Zikj) z&x}y6o<9>0K|qLQ1Q7x0LVzf!)P&v%Q4vsS<0#-z zMS2N{Kmwseq(nq&NCGJYiPR7;CPD1FW^MLowoe zTNFZ4WmCBK?Lk0e^D+q{(3;E>_(^Na-Tm8O{an35r@LdmN7rV=tR=^#qCZbKXJoQS zqLQo+58QqGOril`chUX<;CSuvBcs&fIEL|nBlpCIz$(^`=zpcUfK|dl_#+zh#l5Wl zgrQu}F(RZMaLtaqk_gv2pchT>o;sbLyyce#mXs^yaEzni)jQ9PXhvzu0p`QFOh0G| z7_f3`xpjZ^eXvsSfn}@>SBj7bIb$D5y8#GQHF zqMc&|1bsXQdV+&5M_V4>+nqJD0gZ70!mRv*MM%IXt_dWaC_d1hKsK`8Zt=}UvB%E3 zw!6!k)w*SFJ9tjn%G2bc)5o1P_ohaCW)+=Vcy-_zr)?%iDVWAD94>Y^|B63 z-vrv@+A1GR|9cG`W7Pf0_!49EBy^B8sC~Ykn-MNP)F4Gw4Rr~gSHIAld4bQpgJ6xW z4VNWy(IM_$+T3DnTx9tO#)s2*r(WmYXtnY?tN03qxRWYgab%YE@V;$5xY>7TCr9=AO%mJ5~2wjnN+B_A~w{L`V=Q zwqr{~RX96Oia?NCCJ)_#pf_RRYSoqrI>H*4-(B1%Cp5mct&UPswl!X=7Yy{8p8{SZ z(F$qY(TWGtp@Xs;D&^}QhH(R`rbU{sN?)5B%j{j@s~((Cf%4`4ekboO+zr8o$q}j& zwXpy_*II>QWn3!4Oq?Zr(#0_SZM?L-KA#R|w5=Nf;F>Q{f!K?S?c-LTCx_I)?_deK z+yNJ9SuPMAlR&^Lsy~gRscP;_N_l_5Didy83W~eb=rwp+-Ffjy6W0+YkOzg^k(DGK0q#V6NjlGMOQlA!Ja1Fl*6?{>fZ&gN@JtS8ONV@=5GfK;Nw4euGbI2bMenu z@%Qoi9V>xPNv&$3f#F3yz`~PEUmgwYS$d$@K9Ys$`V0~AZk~^icjvDIsF;m!2)BT} zz)ENFf)!tC+BQ-g_&w z$s7%R!TINOb|&aoBJr9%FP1_D%b}CGR%OATdT+JcSo_#cZ8Ut|2;DoIVz!|X8M62i z_YNI8)el*TKX@)A!2+tU76A!rha+~Il)Iq2lZV8I{_xMzAk^rBe`?7v~BH2;u z0gh4&Ojj8(n={~AkU4DxihkR_!A3NUl++e!HK@Qct^$*&Qs7#>u-7(2 z?AN_N39sT+!pjBg4kVT!%4%o4H6&y*gaMtxCN-@Rfo@<+rgLo<-pmE!7_EjfF<86O zh4$0G=eOTL9D|WUvpC3hJk%Mbd#G@QJy8hzp1p9L#GEfsKJjQ;L7q#Ic1o3t^fD-mx zP^t>kuPav9W|^FVUtHPp{5E6-?jpjA92^h=&bXm)R=F%5L#lInJtY_ruB;c8nQ~&2 z02>wW&SV0@SC<;3oj|fGOA;LnLE)q&;;t3N2Gd8&l z@{FiEysaTQj1$=pkHscbHl5hg2=&eyLiO`bRA2YZS=o=fJSrkl&P#J@lVx7-rmoFZ zUg$4S?)N2{^$T)zJh>1l?J_jLUBZ!kXUpm3HMF*UlzQ!nu@<3M6I^eZVJe{30H2gq zG{1z`vV*>71r+{7rReS*iM5ra^V{x-21^W|fX7nYo%K}QIW~DAkMe28OhiVS4^Oj4 zw8CbYf@Jlgs~CYdr_|fx5w+ig?xetSS4A`F&Or-lWFVypNMEqr3m}vp+Pi@ovl*tZ zN;~9vQBlB%{CCrBm@-Qqw*Dh4VGriA!&e}ZLCGWx_P|&}lyk;!=VVtCiHPi~*(n<$ zQJQL;PhG0O`-n_^sM6(DmMFj%4YIra-b5tOXv|XOywcpIgj%VcdgyI**U!+UO;`WK^ zYv3`&{OkEn`K%dzsJkQ*r)n))n*frxMf1PCN(y6^qbu5T`hfZTg+98>TaIziN(1W) z1F|?wzsgMP4rTAh+X$=Zns*~|kaO#rC8?hJ_VtkDNqbG4-V#^DBgsiET`4N-b2^+! zWX6N+G-^%ex*`%0C00{fk5Z$wA65t+-Sk~0OKrM`5e}>i=lGf=p)ldd3&OpG=gPUe z+eswrCJL~*A^@R0$y0;%3bwb6=*w1n$!WE}lDW+gT$o@8Tsa&j%9PVniT>$FM| zYYv8I+>hB<7L%OUM0(Q5+FuSnK4XtO?88Tuv(wAptILp8mo$Q# z+9r~a*PKCnnVw7*>?aZzif@}BVzVA`n*l^lBxPKyq#kbOccR)-J&gmQgrico8_1IE zYaUgeYeW*iq3sA*+l7I3UE(|3Bfy9^(_3MQVD*3lve&&*+d(}a1hd;2nPCGl-(>GG zH`_mx@b{fsRt)^jnW=i+Tm4ig>#u)gdIbb3-@CS%EdQvLkU|}NV{+UBcz@5$Ny>44#yI075rLaAuPY+0y;1` z`ZRuE8J>rQZ20Zt&&l5;i>~c@5ngIHo-%W86p{4L_l|Mxtkabm3;@*9##$_orKuNc zdg7CjnZjG)LJ;;Du!NGkb^rkC|DUWLA78QQE%*Lud09Qff|i&DX9REhEs3~GOOqIk zAC^DFZ`>$$%ygW8tERiHK0s>iRlzKL6W_mf#v_*zrFyV`s67)!(|G*>;zMr_FXt3E z@;`Ua3xc<+Nbm>kWXT6es>-2ftoUQ8QV-O=^P2eh9Z0aKp2zIt`0_2aI|jd&CO9&| zt{{8$0Gp>tg}q6b@Oprq_puV5k?giy6)yk+`Jke21>z3`Z~JCod`*Bh@^{-g#hZ8! zpu$?R+udo4;o^3Pi`ot@DY@N_$-8d5j>yR@EejA0cU$EhYMGj4lub2G`92FEtuCR& zuUGj!w>9+h$K>?~oTRwVZyW%`4AbA^r378Si3WD0CsecT799PnXT-1;!|~bx7^q{^ z1g@u)B{l3E3^4R!QoZoV*M(t=9~SqRJB8>xmRj^{!RT!b>YHO22(brt_S!iMrq;7S>pnJnV2ERidmc$~dt)`LkC z91@JMnPlGnwkT$Aw8BgP9P4&_5wL@Nc+GD6O@R=0Q0Bc7WtixxS==H46C~A#3jz+R zlmamGDvPA(=K&zso(b(!XWq!P%3+^k_Pv`MiAH?^C7tXuiY#3>9>(W*cgE&;uas5p zIo8_#`1RcVd|??rZsN21oFWk~}7MRA(Au_|k4C3T3nAv-(D{*I3qb7Ah9b?)J!jWq%F)rZv2 zn}iorr+2`_Im!T9jK29n;aR*cqBX;7;&Iv_rVSg!gv3_*OJ#40$y)cddxK->OIrF# z@}8P*gA(O{{;OB#hQwtLj)5h)pXxs-NSD42km5iE)Ey1TH( zSdres_0Qs+($0*h=tt$vkf6!>0Eepe1vvg|rk##{8U_y6SK#)H_wJx=JM!4#<8Cr^1iX%S{XU zi2C{u0fBrqhzr)CQ`Z1T@`Z)!x+mz^)pPGC`pI6#^~~{aEBZG)nqC!(EO+GrJ~RMp znsV+3MJ?dwx(xnV&sJQ2D>`b$&M>@eMxw{IMnEakW;TLkiluHGwTjln=u4(>FrdUN<` z_k3i?hZbm7_{h!K0BgmN%VU`rYhIlYt#6b4tQfkBoN-Z-(b^Wcc9d5;QN84i{~Y*E z+U(16K;oM zcr6J=qwtoUHZ71<%+sTY#nkyJ?(P)%x5_`?MYZLD-`pm~0ZWML_D}&49S(e4_z=5d zTM>ek06w0r_JO}X6N}i)nz=Ss#9JoI&j<}lRIM`+%Z?CcgEC$Aq~DwF^vY$|T6mUD zr+1m5&c?Zg?902W9cu&gyS;0|HwqY*q1%d@#-01­KubsL9`jiedmwjU^kyJ6w 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