Skip to content

Commit 2bc1918

Browse files
committed
fix links and structure
1 parent 3d01fa3 commit 2bc1918

3 files changed

Lines changed: 36 additions & 37 deletions

File tree

docs/build/tutorial-how-to-link-ids-to-osint/define-the-interfaces/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ The first dashboard to do for our use cases is the list of IoCs with classic SPL
3131
Here, the figure 3 is nice but before this first schema during the project, there are a lot of shemas and all were minimalist and ugly often only on a whiteboard. This type schema before the technical feasibility is only to validate the objective with the analysts before starting the development. During the technical feasibility, we can decrease/increase step-by-step your objectives to show finally a first result in figure 4 in a real dashboard.
3232

3333
<figure markdown="span">
34-
![Figure 4. First interface with only SPARQL queries in SPLUNK static tables.](./../../link-IDS-event-to-KG/demo_ld_without_html.png)
34+
![Figure 4. First interface with only SPARQL queries in SPLUNK static tables.](./../link-IDS-event-to-KG/demo_ld_without_html.png)
3535
<figcaption>Figure 4. First interface with only SPARQL queries in SPLUNK static tables.</figcaption>
3636
</figure>
3737

@@ -182,6 +182,6 @@ With the interfaces, the available data and their links in head, the analyst can
182182

183183
Tutorial: [how to link Intrusion Detection Systems (IDS) to Open-Source INTelligence (OSINT)](../index.md)
184184

185-
Next chapter: [Build a Knowledge Graph from MITRE ATT&CK® datasets](./../../lift-data-from-STIX-2.1-data-of-mitre-attack/index.md)
185+
Next chapter: [Build a Knowledge Graph from MITRE ATT&CK® datasets](./../lift-data-from-STIX-2.1-data-of-mitre-attack/index.md)
186186

187187
Previous chapter: [Define the need, the expected result and the use cases](../define-the-need/index.md)

docs/build/tutorial-how-to-link-ids-to-osint/lift-data-from-STIX-2.1-data-of-mitre-attack/index.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@ The MITRE ATT&CK datasets in STIX 2.1 JSON collections are here:
1010
* [mobile-attack.json](https://github.com/mitre-attack/attack-stix-data/blob/master/mobile-attack/mobile-attack.json){target=_blank}
1111
* [ics-attack.json](https://github.com/mitre-attack/attack-stix-data/blob/master/ics-attack/ics-attack.json){target=_blank}
1212

13-
[Structured Threat Information Expression (STIX™)](
14-
https://oasis-open.github.io/cti-documentation/stix/intro.html) is a language and serialization format used to exchange cyber threat intelligence (CTI).
13+
[Structured Threat Information Expression (STIX™)](https://oasis-open.github.io/cti-documentation/stix/intro.html) is a language and serialization format used to exchange cyber threat intelligence (CTI).
1514

1615
The "ontology" of MITRE ATT&CK with STIX is here: [https://github.com/mitre/cti/blob/master/USAGE.md](https://github.com/mitre/cti/blob/master/USAGE.md)
1716

@@ -747,10 +746,10 @@ After this tutorial, you want probably to navigate in your new knowledge graph b
747746
748747
4. Split the workflow in two workflows:
749748
750-
* "Transform all STIX data to RDF" to calculate the inferences after RDF triples
749+
* "Transform all STIX data to RDF" to calculate the inferences after RDF triples
751750
![](23-1-ex-workflow-STIX.png)
752751
753-
* "Assemble the global knowledge graph", it will import all the graphs of projects
752+
* "Assemble the global knowledge graph", it will import all the graphs of projects
754753
![](23-1-ex-workflow-gen.png)
755754
756755
5. Create a new workflow "MITRE ATT&CK® workflow" where you will insert the other workflows, like that:

docs/build/tutorial-how-to-link-ids-to-osint/lift-data-from-YAML-data-of-hayabusa-sigma/index.md

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -111,61 +111,61 @@ This new transformer are building the following RDF model for your use case:
111111
112112
5. Create the transformer for "SIGMA Hayabusa rule" to build this RDF model.
113113
114-
Rule object:
114+
Rule object:
115115
116-
- type: `ctis:Rule`
116+
- type: `ctis:Rule`
117117
118-
- IRI: concatenation of "<http://example.com/rule/>" with the result of this regular expression `^.*?([^\/]*)$` on the rule path
118+
- IRI: concatenation of "<http://example.com/rule/>" with the result of this regular expression `^.*?([^\/]*)$` on the rule path
119119
120-
![](23-1-iri-rule.png)
120+
![](23-1-iri-rule.png)
121121
122-
- property `ctis:filename` with the result of this regular expression `^.*?([^\/]*)$` on the value path `rulePath`
123-
- property `rdfs:label` with the value path `title`
124-
- property `rdfs:comment` with the value path `description`
125-
- property `rdfs:seeAlso` with the value path `references`
126-
- property `ctis:mitreAttackTechniqueId` is building with this formula with the value path `tags`
127-
- Filter by regex: `^attack\.t\d+$`
128-
- Regex replace `attack\.t` by `T`
122+
- property `ctis:filename` with the result of this regular expression `^.*?([^\/]*)$` on the value path `rulePath`
123+
- property `rdfs:label` with the value path `title`
124+
- property `rdfs:comment` with the value path `description`
125+
- property `rdfs:seeAlso` with the value path `references`
126+
- property `ctis:mitreAttackTechniqueId` is building with this formula with the value path `tags`
127+
- Filter by regex: `^attack\.t\d+$`
128+
- Regex replace `attack\.t` by `T`
129129
130-
![](23-1-formula-mitreid.png)
130+
![](23-1-formula-mitreid.png)
131131
132-
- property `rdfs:isDefinedBy` on the value path `rulePath` is building with this formula to link the rules to their Web addresses.
133-
- Add two "Regex replace"
134-
- replace `\./hayabusa-rules/` by `https://github.com/Yamato-Security/hayabusa-rules/blob/main/`
135-
- replace `\./sigma/` by `https://github.com/SigmaHQ/sigma/blob/master/`
132+
- property `rdfs:isDefinedBy` on the value path `rulePath` is building with this formula to link the rules to their Web addresses.
133+
- Add two "Regex replace"
134+
- replace `\./hayabusa-rules/` by `https://github.com/Yamato-Security/hayabusa-rules/blob/main/`
135+
- replace `\./sigma/` by `https://github.com/SigmaHQ/sigma/blob/master/`
136136
137-
![](23-1-rules-isdefinedby.png)
137+
![](23-1-rules-isdefinedby.png)
138138
139-
So the rulepath `./sigma/rules/windows/process_creation/proc_creation_win_bcdedit_boot_conf_tamper.yml` becomes the link `https://github.com/SigmaHQ/sigma/blob/master/rules/windows/process_creation/proc_creation_win_bcdedit_boot_conf_tamper.yml` and `./hayabusa-rules/hayabusa/sysmon/Sysmon_15_Info_ADS-Created.yml`becomes `https://github.com/Yamato-Security/hayabusa-rules/blob/main/hayabusa/sysmon/Sysmon_11_Med_FileCreated_RuleAlert.yml`
139+
So the rulepath `./sigma/rules/windows/process_creation/proc_creation_win_bcdedit_boot_conf_tamper.yml` becomes the link `https://github.com/SigmaHQ/sigma/blob/master/rules/windows/process_creation/proc_creation_win_bcdedit_boot_conf_tamper.yml` and `./hayabusa-rules/hayabusa/sysmon/Sysmon_15_Info_ADS-Created.yml`becomes `https://github.com/Yamato-Security/hayabusa-rules/blob/main/hayabusa/sysmon/Sysmon_11_Med_FileCreated_RuleAlert.yml`
140140
141-
!!! Tips
141+
!!! Tips
142142
143-
To test your transformer, you can use the tab "Transform execution". Here, the knowledge graph will not be cleared after each workflow or execution to test your transformer because the option "clear graph before workflow" is disabled. However during the steps to build this transformer, you can enable tempory this option to see and test the final transformer.
144-
You need only to disable this option when your transformer is finished.
143+
To test your transformer, you can use the tab "Transform execution". Here, the knowledge graph will not be cleared after each workflow or execution to test your transformer because the option "clear graph before workflow" is disabled. However during the steps to build this transformer, you can enable tempory this option to see and test the final transformer.
144+
You need only to disable this option when your transformer is finished.
145145
146-
!!! Success
146+
!!! Success
147147
148-
Your example of rule exists now in your knowledge graph:
149-
![](23-1-success-extract-rule2.png)
150-
![](23-1-success-extract-rule.png)
148+
Your example of rule exists now in your knowledge graph:
149+
![](23-1-success-extract-rule2.png)
150+
![](23-1-success-extract-rule.png)
151151
152152
6. Make the workflow "Import rules" with one input
153153
154154
![](23-1-success-workflow.png)
155155
156-
And don't forget to allow the replacement of JSON dataset because it allows to replace this specific JSON by all other rules during the execution of this worflow.
156+
And don't forget to allow the replacement of JSON dataset because it allows to replace this specific JSON by all other rules during the execution of this worflow.
157157
158-
![](23-1-workflow-allow-replacement.png)
158+
![](23-1-workflow-allow-replacement.png)
159159
160-
![](23-1-add-worflow.gif)
160+
![](23-1-add-worflow.gif)
161161
162-
1. Copy the workflow ID
162+
7. Copy the workflow ID
163163
164164
![](23-1-id-worflow.gif)
165165
166-
!!! Success
166+
!!! Success
167167
168-
In this example the ID of workflow is `RulesHayabusaSigma_671e1f43d94bbc36:Importrules_6ccbc14b656c75c9`
168+
In this example the ID of workflow is `RulesHayabusaSigma_671e1f43d94bbc36:Importrules_6ccbc14b656c75c9`
169169
170170
## Apply the worflow to all files
171171

0 commit comments

Comments
 (0)