1 Semantic data model MRS-001
The data model of SATRAP-DL SHALL build upon knowledge representation formalisms that natively capture the semantics of information.
Rationale
Flexible storage and management of contextualized CTI and support for automated reasoning
Child links: SRS-001 Data modelling language
Attribute | Value |
---|---|
type | A |
importance | 5 |
urgency | 5 |
vm | R |
release | Alpha |
2 CTI knowledge base MRS-002
SATRAP-DL SHALL host a native semantic CTI repository (a.k.a. CTI semantic knowledge base or CTI SKB) to enable by design the storage, management, and retrieval of information by means of semantic technologies.
Rationale
The main goal of the project is to enrich the automation capabilities of current approaches by working with semantically enriched data and automated reasoning on such data.
Child links: SRS-002 Database paradigm, SRS-003 Semantic search
Attribute | Value |
---|---|
type | A |
importance | 5 |
urgency | 5 |
vm | R |
release | Alpha |
3 CTI SKB extensibility MRS-003
The CTI SKB SHALL support the integration of new concepts (e.g., facts, entities, or relationships) while maintaining the existing core data model.
Rationale
Extensibility of the data model allows for gradual enrichment of the CTI SKB by combining multiple threat frameworks, as CTI might not be expressible in a single one.
Child links: SRS-004 Extensibility of the data model
Attribute | Value |
---|---|
type | A |
importance | 5 |
urgency | 5 |
vm | R |
release | Alpha |
4 SKB data model flexibility MRS-004
The CTI SKB SHALL rely on a database solution supporting structural modifications to the data model without requiring a data schema migration, e.g., in a relational DBMS needing a schema migration tool.
Rationale
CTI relationships are complex and often uncertain, thus, subject to frequent changes. A flexible data model accommodates for those evolving requirements.
Child links: SRS-005 NoSQL data model
Attribute | Value |
---|---|
type | A |
importance | 5 |
urgency | 5 |
vm | R,T |
release | Alpha |
5 Default CTI content MRS-005
The CTI SKB SHALL contain some cyber threat intelligence (CTI) content such as cyber attack campaigns and intrusion sets (including TTPs) by default, e.g., the ATT&CK data sets published by MITRE.
Rationale
Ground knowledge (terminological axioms in DL) of the knowledge base
Child links: SRS-006 Integration of common CTI
Attribute | Value |
---|---|
type | Q |
importance | 5 |
urgency | 5 |
vm | R |
release | Alpha |
6 Domain-specific CTI MRS-006
The CTI SKB SHOULD contain publicly available domain-specific CTI content about less commonly documented threats, such as those dealing with PQC schemes.
Rationale
To enrich the CTI SKB ground knowledge and enlarge the scope of coverage.
Attribute | Value |
---|---|
type | Q |
importance | 3 |
urgency | 3 |
vm | R,I |
release | FID (First Industrial Deployment) |
7 Semantic CTI and MITRE D3FEND MRS-007
The CTI SKB SHOULD contain data from existing open-source semantic CTI repositories, including at least MITRE D3FEND.
Rationale
To incorporate other efforts dealing with semantic CTI.
Attribute | Value |
---|---|
type | Q |
importance | 3 |
urgency | 3 |
vm | R,I |
release | Beta |
8 CTI SKB data integrity MRS-008
The CTI SKB technology choice SHALL enforce data integrity by design.
Rationale
To ensure consistency, stability, accuracy and reliability of data, preventing among others contradictory and repeated data to be stored.
Child links: SRS-007 Semantic data integrity
Attribute | Value |
---|---|
type | Q |
importance | 5 |
urgency | 5 |
vm | R |
release | Alpha |
9 Policy-driven automated SKB update MRS-009
SATRAP-DL SHALL provide an automated process to maintain the CTI SKB up to date according to some update policy.
Rationale
To automatically address one of the major challenges related to keeping up with the fast evolving nature of CTI.
Attribute | Value |
---|---|
type | F |
importance | 4 |
urgency | 4 |
vm | R |
release | Beta |
10 Removal of expired intelligence MRS-010
SATRAP-DL MAY enforce an automated process to deal with the identification and removal of expired intelligence in the CTI SKB.
Rationale
To maintain an up to date CTI SKB.
Attribute | Value |
---|---|
type | F |
importance | 3 |
urgency | 1 |
vm | T |
release | FID (First Industrial Deployment) |
11 Ingestion of standardized CTI MRS-011
The data integration module SHALL allow for the import of threat data expressed in a standard CTI representation format, such as STIX.
Rationale
To enable the ingestion of data observed in a specific system, thereby allowing to effectively tailor the CTI knowledge obtained from the world to protect the referred system.
Child links: SRS-008 ETL orchestrator, SRS-009 ETL Transformer, SRS-010 Database manager
Attribute | Value |
---|---|
type | F |
importance | 5 |
urgency | 5 |
vm | T |
release | Alpha |
12 CyFORT CTI repository MRS-012
The SATRAP-DL system SHALL implement a mechanism for raw (i.e., prior to SATRAP inference) CTI storage in a CTI repository maintained using at least one open-source TIP with sharing capabilities (e.g., MISP or OpenCTI). This upstream SATRAP CTI repository maintained by one or more open-source TIPs will be referred to as the CyFORT CTI repository.
Rationale
To leverage the mature and robust data collection, storage and sharing capabilities of existing TIPs and because many CSIRT/CERT and SOC teams already maintain their repositories in such platforms.
Child links: SRS-011 Ingestion of internal and external CTI, SRS-044 Open-source TIP integration
Attribute | Value |
---|---|
type | F |
importance | 5 |
urgency | 4 |
vm | R |
release | Alpha |
13 OSINT ingestion MRS-013
The CyFORT CTI repository SHOULD ingest open-source threat intelligence (OSINT), e.g. government feeds, according to predefined parameters, such as sources and frequency.
Rationale
To integrate relevant and up to date publicly available data about threats around the world.
Attribute | Value |
---|---|
type | F |
importance | 5 |
urgency | 4 |
vm | I |
release | Beta |
14 Automated CTI enrichment MRS-014
The data integration module SHOULD automatically enrich the information imported from external systems with CTI available in the CyFORT CTI repository.
Rationale
To address one of the major challenges for incident responders, namely, manual data correlation and contextualization of collected IoCs.
Child links: SRS-012 Inference rules
Attribute | Value |
---|---|
type | F |
importance | 5 |
urgency | 4 |
vm | T |
release | Alpha |
15 Semantic relations preservation MRS-015
The data integration module SHALL store imported threat data in the CTI SKB by maintaining the semantic relations defined in the input data.
Rationale
To ensure integrity of imported threat data.
Child links: SRS-013 STIX 2.1 data model
Attribute | Value |
---|---|
type | A |
importance | 5 |
urgency | 5 |
vm | R |
release | Alpha |
16 Configuration management MRS-016
The data integration module SHALL provide a configuration management mechanism with a set of predefined values for the user to adjust settings related to the data ingestion process.
Rationale
To allow tunning the system performance.
Child links: SRS-041 Configuration management mechanism
Attribute | Value |
---|---|
type | F |
importance | 5 |
urgency | 3 |
vm | T |
release | Alpha |
17 Conformance with user settings MRS-017
The data integration SHALL execute its data import function according to settings defined by the user.
Rationale
To ensure enforcement of user defined settings
Child links: SRS-041 Configuration management mechanism
Attribute | Value |
---|---|
type | F |
importance | 5 |
urgency | 5 |
vm | T |
release | Alpha |
18 Automated reasoning MRS-018
SATRAP-DL SHALL provide native automated reasoning capabilities over the information in the CTI SKB to infer new relations and provide insights to the CTI analyst.
Rationale
Automated reasoning capabilities are expected not only to simplify analysis tasks over large amounts of data, but also to efficiently infer relations that would otherwise require dedicated time and effort from a CTI analyst.
Child links: SRS-014 Native reasoning engine
Attribute | Value |
---|---|
type | A |
importance | 5 |
urgency | 5 |
vm | R |
release | Alpha |
19 CTI sharing MRS-019
SATRAP-DL SHOULD facilitate sharing of CTI stored in the CTI SKB by exporting to a machine-readable format expressing standardized CTI.
Rationale
Providing tools that simplify CTI sharing potentially encourages this activity, which is one of factors that contributes to faster detection and response times.
Attribute | Value |
---|---|
type | F |
importance | 5 |
urgency | 3 |
vm | T |
release | Beta |
20 Interactive frontend MRS-020
SATRAP-DL SHALL provide and/or incorporate at least one frontend to enable interactive analysis of CTI, e.g., a command line interface (CLI), a web interface, a Jupyter Notebook or a desktop GUI application.
Rationale
To enhance and extend the toolset for CTI analysts.
Child links: SRS-015 Jupyter Notebook frontend, SRS-042 Command line interface (CLI), SRS-043 TypeDB Studio
Attribute | Value |
---|---|
type | F |
importance | 5 |
urgency | 5 |
vm | T |
release | Alpha |
21 Self-defined CTI queries MRS-021
The SATRAP-DL frontend SHALL allow the user to run self-defined CTI queries using a high-level language/representation, e.g., Python code encapsulating TypeQL.
Rationale
To provide enhanced capabilities accessible to end users for performing CTI analysis according to their investigative needs and objectives.
Child links: SRS-015 Jupyter Notebook frontend
Attribute | Value |
---|---|
type | F |
importance | 5 |
urgency | 5 |
vm | T |
release | Alpha |
22 Saved queries MRS-022
The frontend SHALL allow the user to save self-defined CTI queries using a high-level language/representation.
Rationale
To provide enhanced capabilities accessible to end users for performing CTI analysis according to their investigative needs and objectives.
Child links: SRS-015 Jupyter Notebook frontend
Attribute | Value |
---|---|
type | F |
importance | 5 |
urgency | 5 |
vm | T |
release | Alpha |
23 Query parameterization MRS-023
The frontend SHALL allow the user to customize parametrized pre-defined CTI queries in a high-level language/representation.
Rationale
For usability and adoption by removing the need for end users to know the native CTI SKB query language.
Child links: SRS-015 Jupyter Notebook frontend
Attribute | Value |
---|---|
type | F |
importance | 5 |
urgency | 5 |
vm | T |
release | Alpha |
24 Frontend and CTI SKB mediator MRS-024
SATRAP-DL SHALL have a control module (a.k.a. the controller) in charge of the CTI analysis operational logic, i.e., charged with orchestrating the interaction between the frontend and the CTI SKB.
Rationale
For separation of duties in SATRAP-DL.
Child links: SRS-008 ETL orchestrator
Attribute | Value |
---|---|
type | A |
importance | 5 |
urgency | 5 |
vm | R |
release | Beta |
25 Reasoning engine controller MRS-025
The controller SHALL process CTI queries provided via the frontend, relay them to the reasoning engine and return a response based on the engine output.
Rationale
Instead of navigating the data space, CTI analysts can directly ask what they want to learn about the CTI data and obtain answers automatically.
Child links: SRS-008 ETL orchestrator, SRS-015 Jupyter Notebook frontend
Attribute | Value |
---|---|
type | F |
importance | 5 |
urgency | 5 |
vm | T |
release | Alpha |
26 Query result viewer MRS-026
The SATRAP-DL frontend SHALL display the data set resulting from a user query to the user.
Rationale
For providing a natural user experience (UX), users expect to get an answer in the interface where they asked a question.
Child links: SRS-015 Jupyter Notebook frontend
Attribute | Value |
---|---|
type | F |
importance | 5 |
urgency | 5 |
vm | T |
release | Alpha |
27 Frontend query status MRS-027
The frontend SHALL inform the user about the status of their queries, e.g., when the result is ready, a set wait time is exceeded, or errors have occurred, etc.
Rationale
For supporting a good user experience (UX).
Child links: SRS-015 Jupyter Notebook frontend
Attribute | Value |
---|---|
type | F |
importance | 5 |
urgency | 5 |
vm | T |
release | Alpha |
28 Native query execution MRS-028
The SATRAP-DL frontend SHALL provide the means to execute queries in the native query language of the CTI SKB.
Rationale
For convenience of advanced users.
Child links: SRS-043 TypeDB Studio
Attribute | Value |
---|---|
type | F |
importance | 5 |
urgency | 5 |
vm | T |
release | Alpha |
29 Frontend design MRS-029
The frontend design SHALL adhere to well-established guidelines for UI design.
Rationale
To facilitate ease of use, intuitiveness, and efficiency in completing tasks.
Child links: SRS-015 Jupyter Notebook frontend, SRS-043 TypeDB Studio
Attribute | Value |
---|---|
type | C |
importance | 5 |
urgency | 5 |
vm | I |
release | Alpha |
30 Frontend terminology MRS-030
Wherever applicable, the frontend SHALL use terms specified in relevant standards to refer to CTI concepts.
Rationale
Among other features, usage of a common vocabulary is essential for the adoption of tools in a given application domain.
Child links: SRS-015 Jupyter Notebook frontend
Attribute | Value |
---|---|
type | I |
importance | 5 |
urgency | 5 |
vm | I |
release | Alpha |
31 Frontend STIX compliance MRS-031
When terms coming from different CTI sources are used to refer to the same CTI concept, the frontend SHOULD provide a mapping to the equivalent concept in STIX.
Rationale
Among other features, usage of a common vocabulary is essential for the adoption of tools in a given application domain.
Child links: SRS-015 Jupyter Notebook frontend
Attribute | Value |
---|---|
type | C |
importance | 5 |
urgency | 5 |
vm | I |
release | Alpha |
32 User-controlled CTI curation MRS-032
The frontend SHOULD allow the user to update the information stored in its CTI SKB.
Rationale
To enable CTI curation by the users themselves.
Child links: SRS-043 TypeDB Studio
Attribute | Value |
---|---|
type | F |
importance | 3 |
urgency | 2 |
vm | T |
release | Alpha |
33 File-based SKB update MRS-033
The frontend MAY allow the user to update the SKB by loading CTI content from files encoded using a predefined format (e.g., JSON) and according to a well-defined specification (e.g., STIX).
Rationale
To keep the CTI updated by the users themselves.
Child links: SRS-042 Command line interface (CLI)
Attribute | Value |
---|---|
type | F |
importance | 3 |
urgency | 2 |
vm | T |
release | Alpha |
34 Frontend cross-platform support MRS-034
The frontend SHALL be cross-platform compatible, either by providing dedicated platform-dependent deployment artifacts (e.g., build binaries for GNU/Linux and MacOS) or rely on technology enabling cross-platform support by design, e.g., web-based stacks or containerization solutions.
Rationale
For portability and compatibility with prevailing operating systems
Child links: SRS-015 Jupyter Notebook frontend, SRS-042 Command line interface (CLI)
Attribute | Value |
---|---|
type | A |
importance | 5 |
urgency | 5 |
vm | T |
release | Alpha |
35 SATRAP as software library MRS-037
SATRAP-DL SHALL include a native library grouping together a set of low-level algorithms to provide high-level CTI analysis services (functionality) and to facilitate the use of SATRAP as a software library for developing other applications.
Rationale
For interoperability with the ecosystem, to enable the automation of the CTI lifecycle through the integration of multiple complementary solutions.
Child links: SRS-015 Jupyter Notebook frontend
Attribute | Value |
---|---|
type | A |
importance | 4 |
urgency | 3 |
vm | I |
release | Alpha |
36 Platform-independent API MRS-038
SATRAP-DL SHALL provide a platform-independent API (e.g., a web-based one such as a REST API) enabling programmatic access to the data and services provided by the SATRAP-DL system.
Rationale
To enable automatic generation of documentation and automated API testing and validation, providing a language-agnostic and human and machine readable specification.
Child links: SRS-016 API based on OAS
Attribute | Value |
---|---|
type | F |
importance | 5 |
urgency | 2 |
vm | T |
release | Beta |
37 CTI ingestion from IDPS-ESCAPE MRS-039
SATRAP-DL, through its CyFORT CTI repository handled by an open-source TIP (e.g., MISP), SHALL ingest CTI from the monitoring subsystem of IDPS-ESCAPE using a standard CTI representation format following a pre-defined integration policy.
Rationale
To provide integration between the different components in the CyFORT stack.
Child links: SRS-017 Integration of behavioral data, SRS-018 IDPS-ESCAPE ingestion policy, SRS-044 Open-source TIP integration
Attribute | Value |
---|---|
type | F |
importance | 4 |
urgency | 4 |
vm | T |
release | Alpha |
38 Automated CTI ingestion MRS-040
The SATRAP-DL system SHOULD automatically ingest monitoring events (e.g., alerts, notifications) from the IDPS-ESCAPE central server using a standard CTI representation format and according to a pre-defined integration policy.
Rationale
To provide integration between the different components in the CyFORT stack.
Attribute | Value |
---|---|
type | F |
importance | 4 |
urgency | 4 |
vm | T |
release | Beta |
39 Inferred CTI export MRS-041
The SATRAP-DL system SHALL provide the means to export inferred CTI to at least one CTI representation standard, e.g., STIX.
Rationale
For interoperability with tools in the ecosystem.
Child links: SRS-019 CTI export to STIX
Attribute | Value |
---|---|
type | F |
importance | 5 |
urgency | 4 |
vm | T |
release | Beta |
40 TIP inference connector MRS-042
The SATRAP-DL system SHALL provide an enrichment mechanism to automatically run inference rules on newly ingested CTI entering the SATRAP TIP (maintaining the CyFORT CTI repository) according to an integration policy.
Rationale
For persistence of the analysis results in a standard human readable format, useful for sharing the findings.
Child links: SRS-011 Ingestion of internal and external CTI
Attribute | Value |
---|---|
type | F |
importance | 5 |
urgency | 2 |
vm | T |
release | Beta |
41 TIP enrichment connector MRS-043
The SATRAP-DL system SHALL provide an enrichment mechanism to automatically repopulate the SATRAP TIP (maintaining the CyFORT CTI repository) with new inferred CTI derived using the SATRAP TIP inference connector according to an integration policy.
Rationale
For sharing CTI findings into central repositories of an organization, which could be further shared with external communities.
Child links: SRS-011 Ingestion of internal and external CTI
Attribute | Value |
---|---|
type | F |
importance | 4 |
urgency | 4 |
vm | T |
release | Beta |
42 Modular architecture MRS-044
The design of SATRAP-DL SHALL follow a modular architecture according to software design criteria specified, e.g., in the SWEBOK.
Rationale
As an open-source project, extensions by the community are expected, e.g., for supporting standards and tool interoperability. This requirement aims to facilitate smooth code integration.
Child links: SRS-020 System configuration file, SRS-021 Centralized logging, SRS-022 Centralized exception handling, SRS-024 Design and implementation principles
Attribute | Value |
---|---|
type | A |
importance | 5 |
urgency | 5 |
vm | R |
release | Alpha |
43 STIX compliance MRS-045
The SATRAP-DL system SHALL use the STIX (Structured Threat Information eXpression) language and serialization format for structured CTI representation.
Rationale
For interoperability
Child links: SRS-023 CTI representation in STIX 2.1
Attribute | Value |
---|---|
type | C |
importance | 5 |
urgency | 5 |
vm | T |
release | Alpha |
44 C5-DEC compliance MRS-046
The development of SATRAP-DL SHALL conform to the C5-DEC SSDLC method.
Rationale
To enforce security by design and a rigorous development process.
Child links: SRS-024 Design and implementation principles, SRS-025 Code readability
Attribute | Value |
---|---|
type | C |
importance | 5 |
urgency | 5 |
vm | I |
release | Alpha |
45 Open-source releases MRS-051
The source code, API specifications and technical documentation of SATRAP-DL SHALL be made available under open and permissive licenses to entities with legitimate interest in the cybersecurity dataspace.
Rationale
An open-source release allows contributions and usage by the community, which in turn foster adoption and exchange of feedback.
Child links: SRS-026 Public release, SRS-027 Open-source licensing
Attribute | Value |
---|---|
type | Q |
importance | 5 |
urgency | 5 |
vm | I |
release | Alpha |
46 Secure programming compliance MRS-053
Software components of SATRAP-DL SHALL be implemented in agreement with secure coding best practices, such as those specified in the C5-DEC SSDLC.
Rationale
To enforce security by design as per the CyFORT SSDLC.
Child links: SRS-028 Input validation, SRS-029 Input sanitization, SRS-030 Resource management, SRS-031 Code static analysis, SRS-032 Dependencies management, SRS-033 Functional ETL events logging, SRS-034 Detailed event logging, SRS-035 Consistent logging format, SRS-036 Log validation, SRS-037 Sensitive information, SRS-038 Software identification
Attribute | Value |
---|---|
type | C |
importance | 5 |
urgency | 5 |
vm | I, R |
release | Alpha |
47 Access control MRS-056
The SATRAP-DL connectors (for ingestion and enrichment) SHALL rely on the integrated open-source TIP (i.e., SATRAP TIP maintaining CyFORT CTI repository) built-in functionality to enforce access control and role-based access management.
Rationale
Separation of roles should be implemented to address security concerns, and to provide information and relevant functionalities according to the type of user.
Child links: SRS-040 Authentication and authorization
Attribute | Value |
---|---|
type | S |
importance | 4 |
urgency | 4 |
vm | T |
release | Beta |
48 Secure channel to TIP MRS-057
The communication between separate components of SATRAP-DL crossing through different trust boundaries SHALL occur over confidential and authenticated channels.
Rationale
The data to be queried over is likely to include not only OSINT but also information collected from internal tools that might be available only to authorized users.
Attribute | Value |
---|---|
type | S |
importance | 5 |
urgency | 5 |
vm | T |
release | Beta |
49 Secure channel to IDPS-ESCAPE MRS-058
The communication between IDPS-ESCAPE and SATRAP-DL SHALL occur over confidential and authenticated channels if such channels are not located within the same trust boundaries.
Rationale
As this integration is likely to exchange internal information, the communication channel should be by default protected from external parties.
Attribute | Value |
---|---|
type | S |
importance | 4 |
urgency | 4 |
vm | T |
release | Beta |