framework and page updates

Framework updates:
- TA08 added text "Used for preparation before broader release, and as message honing."
- TA10 change name from "Go Physical" to "Drive Offline Activity"
- T0004 change name from "Competing Narratives" to "Devise Competing Narratives"
- T0005 convert into a tactic stage, TA13.  Change name from "Center of Gravity Analysis" to "Conduct Center of Gravity Analysis"
- T0006 rename from "Create Master Narratives" to "Develop Narrative Concepts".  nb narratology: can't create master narratives - can only latch onto them
- T0011 change name from "Hijack legitimate account" to "Compromise legitimate account"
- T0065. Create new technique "use physical broadcast capabilities" under TA04
- T0014. Rename from "Create funding campaigns" to "Prepare fundraising campaigns".  Exited text to reflect that this new name allows the possibility of either creating a new one, or revitalizing an existing one.
- T0015 rename from "Create hashtag" to "Create hashtags".  Change text to mention hashtag groups.
- T0017 rename from "Promote online funding" to "Conduct Fundraising Campaigns"
- T0018 rename from "Paid targeted ads" to "Purchase advertisements"
- T0026 rename from "Create fake research" to "create pseudoscientific or disingenuous research"

Page and file updates:
- Added MITRE, FIU, and SPICE to DISARM's history
- reran github page generator
- reran sqlite generator
This commit is contained in:
Sara-Jayne Terp 2022-02-02 10:57:17 -05:00
parent 28b97c74a7
commit aca100b364
100 changed files with 478 additions and 278 deletions

View file

@ -13,7 +13,7 @@
},
{
"cell_type": "code",
"execution_count": 32,
"execution_count": 2,
"metadata": {},
"outputs": [
{
@ -2290,7 +2290,7 @@
"185 T0008 186 "
]
},
"execution_count": 32,
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
@ -2309,7 +2309,7 @@
"# Generate DISARM datasets\n",
"disarm = Disarm()\n",
"\n",
"dbasetype = 'postgresql_local' #'sqlite' #'heroku'\n",
"dbasetype = 'sqlite' #'postgresql_local' # 'heroku'\n",
"\n",
"\n",
"# Create connection to database\n",
@ -2390,7 +2390,7 @@
"# dataset\n",
"# reference - create this from other tables. \n",
"# Also need incidentcounter etc - create from data\n",
"newtable = add_table(disarm.df_groups, 'organization', ['disarm_id', 'name', 'url', 'summary', \n",
"newtable = add_table(disarm.df_externalgroups, 'externalgroup', ['disarm_id', 'name', 'url', 'summary', \n",
" 'sector', 'primary_role', 'secondary_role', \n",
" 'primary_subject', 'secondary_subject', \n",
" 'volunteers', 'region', 'country', \n",
@ -2399,7 +2399,7 @@
" 'year_started', 'attributions_seen', \n",
" 'found_in_country', 'objecttype'])\n",
"newtable = add_table(disarm.df_tools, 'tool', ['disarm_id', 'name', 'summary',\n",
" 'organization', 'url', 'category', \n",
" 'externalgroup', 'url', 'category', \n",
" 'disinformation_use', 'cogseccollab_use', \n",
" 'function', 'code_url', 'artifacts', \n",
" 'automation', 'platform', 'accessibility'])\n",
@ -2430,7 +2430,7 @@
},
{
"cell_type": "code",
"execution_count": 15,
"execution_count": 2,
"metadata": {
"scrolled": true
},
@ -2439,7 +2439,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"dict_keys(['df_phases', 'df_frameworks', 'df_techniques', 'df_tasks', 'df_incidents', 'df_groups', 'df_tools', 'df_examples', 'df_counters', 'df_detections', 'df_actortypes', 'df_resources', 'df_responsetypes', 'df_metatechniques', 'it', 'df_tactics', 'df_playbooks', 'df_techniques_per_tactic', 'df_counters_per_tactic', 'phases', 'tactics', 'techniques', 'counters', 'metatechniques', 'actortypes', 'resources', 'num_tactics', 'cross_counterid_techniqueid', 'cross_counterid_resourceid', 'cross_counterid_actortypeid', 'cross_detectionid_techniqueid', 'cross_detectionid_resourceid', 'cross_detectionid_actortypeid'])\n",
"dict_keys(['df_phases', 'df_frameworks', 'df_techniques', 'df_tasks', 'df_incidents', 'df_externalgroups', 'df_tools', 'df_examples', 'df_counters', 'df_detections', 'df_actortypes', 'df_resources', 'df_responsetypes', 'df_metatechniques', 'it', 'df_tactics', 'df_playbooks', 'df_techniques_per_tactic', 'df_counters_per_tactic', 'phases', 'tactics', 'techniques', 'counters', 'metatechniques', 'actortypes', 'resources', 'num_tactics', 'cross_counterid_techniqueid', 'cross_counterid_resourceid', 'cross_counterid_actortypeid', 'cross_detectionid_techniqueid', 'cross_detectionid_resourceid', 'cross_detectionid_actortypeid'])\n",
"\n",
"it columns: Index(['disarm_id', 'name', 'summary', 'disarm_id_incident', 'name_incident',\n",
" 'disarm_id_technique', 'name_technique'],\n",
@ -5095,7 +5095,7 @@
"185 Create fake or imposter news sites "
]
},
"execution_count": 15,
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
@ -5111,7 +5111,7 @@
},
{
"cell_type": "code",
"execution_count": 16,
"execution_count": 3,
"metadata": {},
"outputs": [
{
@ -7201,7 +7201,7 @@
"185 T0008 "
]
},
"execution_count": 16,
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
@ -7215,7 +7215,7 @@
},
{
"cell_type": "code",
"execution_count": 21,
"execution_count": 4,
"metadata": {},
"outputs": [
{
@ -7228,7 +7228,7 @@
"Name: objecttype, dtype: int64"
]
},
"execution_count": 21,
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
@ -7240,7 +7240,7 @@
},
{
"cell_type": "code",
"execution_count": 22,
"execution_count": 5,
"metadata": {},
"outputs": [
{
@ -7339,7 +7339,7 @@
"32 I00033 - China 50cent Army "
]
},
"execution_count": 22,
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
@ -7350,7 +7350,7 @@
},
{
"cell_type": "code",
"execution_count": 23,
"execution_count": 6,
"metadata": {},
"outputs": [
{
@ -8228,7 +8228,7 @@
"63 T0064 - Social media engagement "
]
},
"execution_count": 23,
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
@ -8240,7 +8240,7 @@
},
{
"cell_type": "code",
"execution_count": 24,
"execution_count": 7,
"metadata": {
"scrolled": true
},
@ -8316,7 +8316,7 @@
" ['', '', '', '', '', 'T0028', 'T0038', '', 'T0056', '', '', '']]"
]
},
"execution_count": 24,
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
@ -8332,7 +8332,7 @@
},
{
"cell_type": "code",
"execution_count": 25,
"execution_count": 8,
"metadata": {},
"outputs": [
{
@ -8526,7 +8526,7 @@
" 'IT00000175': 'Fake news/synthetic web-sites'}"
]
},
"execution_count": 25,
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}

View file

@ -28,14 +28,96 @@
"updated ../generated_pages/phases_index.md\n",
"Temp: objecttype tactic\n",
"updated ../generated_pages/tactics_index.md\n",
"Updating ../generated_pages/tactics/TA01.md\n",
"Updating ../generated_pages/tactics/TA02.md\n",
"Updating ../generated_pages/tactics/TA13.md\n",
"Updating ../generated_pages/tactics/TA04.md\n",
"Updating ../generated_pages/tactics/TA05.md\n",
"Updating ../generated_pages/tactics/TA06.md\n",
"Updating ../generated_pages/tactics/TA08.md\n",
"Updating ../generated_pages/tactics/TA10.md\n",
"Temp: objecttype technique\n",
"updated ../generated_pages/techniques_index.md\n",
"Updating ../generated_pages/techniques/T0004.md\n",
"Updating ../generated_pages/techniques/T0006.md\n",
"Updating ../generated_pages/techniques/T0011.md\n",
"Updating ../generated_pages/techniques/T0014.md\n",
"Updating ../generated_pages/techniques/T0015.md\n",
"Updating ../generated_pages/techniques/T0017.md\n",
"Updating ../generated_pages/techniques/T0018.md\n",
"Updating ../generated_pages/techniques/T0026.md\n",
"Updating ../generated_pages/techniques/T0065.md\n",
"Temp: objecttype task\n",
"updated ../generated_pages/tasks_index.md\n",
"Temp: objecttype incident\n",
"updated ../generated_pages/incidents_index.md\n",
"Updating ../generated_pages/incidents/I00002.md\n",
"Updating ../generated_pages/incidents/I00005.md\n",
"Updating ../generated_pages/incidents/I00006.md\n",
"Updating ../generated_pages/incidents/I00017.md\n",
"Updating ../generated_pages/incidents/I00042.md\n",
"Temp: objecttype counter\n",
"updated ../generated_pages/counters_index.md\n",
"Updating ../generated_pages/counters/C00006.md\n",
"Updating ../generated_pages/counters/C00008.md\n",
"Updating ../generated_pages/counters/C00010.md\n",
"Updating ../generated_pages/counters/C00011.md\n",
"Updating ../generated_pages/counters/C00012.md\n",
"Updating ../generated_pages/counters/C00014.md\n",
"Updating ../generated_pages/counters/C00016.md\n",
"Updating ../generated_pages/counters/C00021.md\n",
"Updating ../generated_pages/counters/C00022.md\n",
"Updating ../generated_pages/counters/C00024.md\n",
"Updating ../generated_pages/counters/C00027.md\n",
"Updating ../generated_pages/counters/C00029.md\n",
"Updating ../generated_pages/counters/C00030.md\n",
"Updating ../generated_pages/counters/C00031.md\n",
"Updating ../generated_pages/counters/C00036.md\n",
"Updating ../generated_pages/counters/C00042.md\n",
"Updating ../generated_pages/counters/C00053.md\n",
"Updating ../generated_pages/counters/C00058.md\n",
"Updating ../generated_pages/counters/C00059.md\n",
"Updating ../generated_pages/counters/C00065.md\n",
"Updating ../generated_pages/counters/C00066.md\n",
"Updating ../generated_pages/counters/C00067.md\n",
"Updating ../generated_pages/counters/C00070.md\n",
"Updating ../generated_pages/counters/C00073.md\n",
"Updating ../generated_pages/counters/C00074.md\n",
"Updating ../generated_pages/counters/C00076.md\n",
"Updating ../generated_pages/counters/C00080.md\n",
"Updating ../generated_pages/counters/C00081.md\n",
"Updating ../generated_pages/counters/C00082.md\n",
"Updating ../generated_pages/counters/C00084.md\n",
"Updating ../generated_pages/counters/C00085.md\n",
"Updating ../generated_pages/counters/C00093.md\n",
"Updating ../generated_pages/counters/C00094.md\n",
"Updating ../generated_pages/counters/C00096.md\n",
"Updating ../generated_pages/counters/C00098.md\n",
"Updating ../generated_pages/counters/C00105.md\n",
"Updating ../generated_pages/counters/C00107.md\n",
"Updating ../generated_pages/counters/C00117.md\n",
"Updating ../generated_pages/counters/C00119.md\n",
"Updating ../generated_pages/counters/C00122.md\n",
"Updating ../generated_pages/counters/C00125.md\n",
"Updating ../generated_pages/counters/C00126.md\n",
"Updating ../generated_pages/counters/C00129.md\n",
"Updating ../generated_pages/counters/C00133.md\n",
"Updating ../generated_pages/counters/C00153.md\n",
"Updating ../generated_pages/counters/C00155.md\n",
"Updating ../generated_pages/counters/C00156.md\n",
"Updating ../generated_pages/counters/C00161.md\n",
"Updating ../generated_pages/counters/C00162.md\n",
"Updating ../generated_pages/counters/C00164.md\n",
"Updating ../generated_pages/counters/C00169.md\n",
"Updating ../generated_pages/counters/C00176.md\n",
"Updating ../generated_pages/counters/C00178.md\n",
"Updating ../generated_pages/counters/C00182.md\n",
"Updating ../generated_pages/counters/C00189.md\n",
"Updating ../generated_pages/counters/C00195.md\n",
"Updating ../generated_pages/counters/C00197.md\n",
"Updating ../generated_pages/counters/C00211.md\n",
"Updating ../generated_pages/counters/C00216.md\n",
"Updating ../generated_pages/counters/C00219.md\n",
"Temp: objecttype metatechnique\n",
"updated ../generated_pages/metatechniques_index.md\n",
"Temp: objecttype actortype\n",

View file

@ -106,7 +106,7 @@ class Disarm:
self.df_techniques = metadata['techniques']
self.df_tasks = metadata['tasks']
self.df_incidents = metadata['incidents']
self.df_groups = metadata['groups']
self.df_externalgroups = metadata['externalgroups']
self.df_tools = metadata['tools']
self.df_examples = metadata['examples']
self.df_counters = metadata['countermeasures'].sort_values('disarm_id')

View file

@ -13,7 +13,7 @@
},
{
"cell_type": "code",
"execution_count": 34,
"execution_count": 2,
"metadata": {},
"outputs": [
{
@ -2290,7 +2290,7 @@
"185 T0008 186 "
]
},
"execution_count": 34,
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
@ -2309,7 +2309,7 @@
"# Generate DISARM datasets\n",
"disarm = Disarm()\n",
"\n",
"dbasetype = 'sqlite' #'postgresql_local' #'heroku'\n",
"dbasetype = 'sqlite' #'postgresql_local' # 'heroku'\n",
"\n",
"\n",
"# Create connection to database\n",
@ -2390,7 +2390,7 @@
"# dataset\n",
"# reference - create this from other tables. \n",
"# Also need incidentcounter etc - create from data\n",
"newtable = add_table(disarm.df_groups, 'organization', ['disarm_id', 'name', 'url', 'summary', \n",
"newtable = add_table(disarm.df_externalgroups, 'externalgroup', ['disarm_id', 'name', 'url', 'summary', \n",
" 'sector', 'primary_role', 'secondary_role', \n",
" 'primary_subject', 'secondary_subject', \n",
" 'volunteers', 'region', 'country', \n",
@ -2399,7 +2399,7 @@
" 'year_started', 'attributions_seen', \n",
" 'found_in_country', 'objecttype'])\n",
"newtable = add_table(disarm.df_tools, 'tool', ['disarm_id', 'name', 'summary',\n",
" 'organization', 'url', 'category', \n",
" 'externalgroup', 'url', 'category', \n",
" 'disinformation_use', 'cogseccollab_use', \n",
" 'function', 'code_url', 'artifacts', \n",
" 'automation', 'platform', 'accessibility'])\n",
@ -2430,7 +2430,7 @@
},
{
"cell_type": "code",
"execution_count": 15,
"execution_count": 2,
"metadata": {
"scrolled": true
},
@ -2439,7 +2439,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"dict_keys(['df_phases', 'df_frameworks', 'df_techniques', 'df_tasks', 'df_incidents', 'df_groups', 'df_tools', 'df_examples', 'df_counters', 'df_detections', 'df_actortypes', 'df_resources', 'df_responsetypes', 'df_metatechniques', 'it', 'df_tactics', 'df_playbooks', 'df_techniques_per_tactic', 'df_counters_per_tactic', 'phases', 'tactics', 'techniques', 'counters', 'metatechniques', 'actortypes', 'resources', 'num_tactics', 'cross_counterid_techniqueid', 'cross_counterid_resourceid', 'cross_counterid_actortypeid', 'cross_detectionid_techniqueid', 'cross_detectionid_resourceid', 'cross_detectionid_actortypeid'])\n",
"dict_keys(['df_phases', 'df_frameworks', 'df_techniques', 'df_tasks', 'df_incidents', 'df_externalgroups', 'df_tools', 'df_examples', 'df_counters', 'df_detections', 'df_actortypes', 'df_resources', 'df_responsetypes', 'df_metatechniques', 'it', 'df_tactics', 'df_playbooks', 'df_techniques_per_tactic', 'df_counters_per_tactic', 'phases', 'tactics', 'techniques', 'counters', 'metatechniques', 'actortypes', 'resources', 'num_tactics', 'cross_counterid_techniqueid', 'cross_counterid_resourceid', 'cross_counterid_actortypeid', 'cross_detectionid_techniqueid', 'cross_detectionid_resourceid', 'cross_detectionid_actortypeid'])\n",
"\n",
"it columns: Index(['disarm_id', 'name', 'summary', 'disarm_id_incident', 'name_incident',\n",
" 'disarm_id_technique', 'name_technique'],\n",
@ -5095,7 +5095,7 @@
"185 Create fake or imposter news sites "
]
},
"execution_count": 15,
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
@ -5111,7 +5111,7 @@
},
{
"cell_type": "code",
"execution_count": 16,
"execution_count": 3,
"metadata": {},
"outputs": [
{
@ -7201,7 +7201,7 @@
"185 T0008 "
]
},
"execution_count": 16,
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
@ -7215,7 +7215,7 @@
},
{
"cell_type": "code",
"execution_count": 21,
"execution_count": 4,
"metadata": {},
"outputs": [
{
@ -7228,7 +7228,7 @@
"Name: objecttype, dtype: int64"
]
},
"execution_count": 21,
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
@ -7240,7 +7240,7 @@
},
{
"cell_type": "code",
"execution_count": 22,
"execution_count": 5,
"metadata": {},
"outputs": [
{
@ -7339,7 +7339,7 @@
"32 I00033 - China 50cent Army "
]
},
"execution_count": 22,
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
@ -7350,7 +7350,7 @@
},
{
"cell_type": "code",
"execution_count": 23,
"execution_count": 6,
"metadata": {},
"outputs": [
{
@ -8228,7 +8228,7 @@
"63 T0064 - Social media engagement "
]
},
"execution_count": 23,
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
@ -8240,7 +8240,7 @@
},
{
"cell_type": "code",
"execution_count": 24,
"execution_count": 7,
"metadata": {
"scrolled": true
},
@ -8316,7 +8316,7 @@
" ['', '', '', '', '', 'T0028', 'T0038', '', 'T0056', '', '', '']]"
]
},
"execution_count": 24,
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
@ -8332,7 +8332,7 @@
},
{
"cell_type": "code",
"execution_count": 25,
"execution_count": 8,
"metadata": {},
"outputs": [
{
@ -8526,7 +8526,7 @@
" 'IT00000175': 'Fake news/synthetic web-sites'}"
]
},
"execution_count": 25,
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}