{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Test area for AMITT code" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "dict_keys(['df_phases', 'df_techniques', 'df_tasks', 'df_incidents', 'df_counters', 'df_detections', 'df_actortypes', 'df_resources', 'df_responsetypes', 'df_metatechniques', 'it', 'df_tactics', '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'])\n" ] }, { "data": { "text/plain": [ "{'TA01': 'Strategic Planning',\n", " 'TA02': 'Objective Planning',\n", " 'TA03': 'Develop People',\n", " 'TA04': 'Develop Networks',\n", " 'TA05': 'Microtargeting',\n", " 'TA06': 'Develop Content',\n", " 'TA07': 'Channel Selection',\n", " 'TA08': 'Pump Priming',\n", " 'TA09': 'Exposure',\n", " 'TA10': 'Go Physical',\n", " 'TA11': 'Persistence',\n", " 'TA12': 'Measure Effectiveness'}" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "import sqlite3 as sql\n", "from generate_amitt_ttps import Amitt\n", "\n", "\n", "# Generate AMITT datasets\n", "amitt = Amitt()\n", "\n", "# Check which amitt variables we can see from here\n", "print('{}'.format(vars(amitt).keys()))\n", "vars(amitt)['tactics']" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
| \n", " | amitt_id | \n", "name | \n", "metatechnique | \n", "summary | \n", "playbooks | \n", "actortypes | \n", "resources_needed | \n", "how_found | \n", "references | \n", "incident_ids | \n", "tactic | \n", "responsetype | \n", "notes | \n", "techniques | \n", "longname | \n", "tactic_id | \n", "tactic_name | \n", "metatechnique_id | \n", "metatechnique_name | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "C00006 | \n", "Charge for social media | \n", "M004 - friction | \n", "Include a paid-for privacy option, e.g. pay Fa... | \n", "\n", " | A033 - social media platform owner | \n", "\n", " | 2019-11-workshop | \n", "\n", " | \n", " | TA01 Strategic Planning | \n", "D2 Deny | \n", "\n", " | \n", " | C00006 - Charge for social media | \n", "TA01 | \n", "Strategic Planning | \n", "M004 | \n", "- friction | \n", "
| 8 | \n", "C00006 | \n", "Censorship | \n", "M005 - removal | \n", "Alter and/or block the publication/disseminati... | \n", "\n", " | A031 - social media platform administrator | \n", "\n", " | grugq | \n", "Taylor81 | \n", "\n", " | TA01 Strategic Planning | \n", "D2 Deny | \n", "\n", " | T0009 - Create fake experts\\nT0008 - Create fa... | \n", "C00006 - Censorship | \n", "TA01 | \n", "Strategic Planning | \n", "M005 | \n", "- removal | \n", "
| 1 | \n", "C00008 | \n", "Create shared fact-checking database | \n", "M006 - scoring | \n", "Snopes is best-known example | \n", "\n", " | A007 - factchecker | \n", "\n", " | 2019-11-workshop\\n2019-11-search | \n", "\n", " | I00049,I00050 | \n", "TA01 Strategic Planning | \n", "D4 Degrade | \n", "\n", " | TA01 - Strategic Planning\\nTA06 - Develop Cont... | \n", "C00008 - Create shared fact-checking database | \n", "TA01 | \n", "Strategic Planning | \n", "M006 | \n", "- scoring | \n", "
| 2 | \n", "C00009 | \n", "Educate high profile influencers on best pract... | \n", "M001 - resilience | \n", "\n", " | \n", " | A016 - influencer,A006 - educator | \n", "\n", " | 2019-11-workshop | \n", "\n", " | \n", " | TA02 Objective Planning | \n", "D2 Deny | \n", "\n", " | TA08 - Pump Priming\\nT0010 - Cultivate ignoran... | \n", "C00009 - Educate high profile influencers on b... | \n", "TA02 | \n", "Objective Planning | \n", "M001 | \n", "- resilience | \n", "
| 3 | \n", "C00010 | \n", "Enhanced privacy regulation for social media | \n", "M004 - friction | \n", "Privacy standards | \n", "\n", " | A020 - policy maker | \n", "\n", " | 2019-11-workshop | \n", "\n", " | \n", " | TA01 Strategic Planning | \n", "D2 Deny | \n", "\n", " | TA05 - Microtargeting\\nT00018 - Paid targeted ads | \n", "C00010 - Enhanced privacy regulation for socia... | \n", "TA01 | \n", "Strategic Planning | \n", "M004 | \n", "- friction | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 135 | \n", "C00219 | \n", "Add metadata to content that’s out of the cont... | \n", "M003 - daylight | \n", "Steganography. Adding date, signatures etc to ... | \n", "Add date and source to images | \n", "\n", " | \n", " | grugq | \n", "\n", " | \n", " | TA06 Develop Content | \n", "D4 Degrade | \n", "\n", " | T0024 - Create fake videos and images\\nT0026 -... | \n", "C00219 - Add metadata to content that’s out of... | \n", "TA06 | \n", "Develop Content | \n", "M003 | \n", "- daylight | \n", "
| 136 | \n", "C00220 | \n", "Develop a monitoring and intelligence plan | \n", "M007 - metatechnique | \n", "\n", " | \n", " | \n", " | \n", " | Counters cleanup | \n", "\n", " | \n", " | TA01 Strategic Planning | \n", "D3 Disrupt | \n", "\n", " | \n", " | C00220 - Develop a monitoring and intelligence... | \n", "TA01 | \n", "Strategic Planning | \n", "M007 | \n", "- metatechnique | \n", "
| 137 | \n", "C00221 | \n", "Run a disinformation red team, and design miti... | \n", "M007 - metatechnique | \n", "Include PACE plans - Primary, Alternate, Conti... | \n", "\n", " | \n", " | \n", " | Counters cleanup | \n", "\n", " | \n", " | TA01 Strategic Planning | \n", "D3 Disrupt | \n", "\n", " | \n", " | C00221 - Run a disinformation red team, and de... | \n", "TA01 | \n", "Strategic Planning | \n", "M007 | \n", "- metatechnique | \n", "
| 138 | \n", "C00222 | \n", "Tabletop simulations | \n", "M007 - metatechnique | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | TA02 Objective Planning | \n", "D3 Disrupt | \n", "\n", " | \n", " | C00222 - Tabletop simulations | \n", "TA02 | \n", "Objective Planning | \n", "M007 | \n", "- metatechnique | \n", "
| 139 | \n", "C00223 | \n", "Strengthen Trust in social media platforms | \n", "M001 - resilience | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | TA01 Strategic Planning | \n", "D3 Disrupt | \n", "\n", " | \n", " | C00223 - Strengthen Trust in social media plat... | \n", "TA01 | \n", "Strategic Planning | \n", "M001 | \n", "- resilience | \n", "
140 rows × 19 columns
\n", "| \n", " | amitt_id | \n", "tactic_id | \n", "name | \n", "summary | \n", "id | \n", "
|---|---|---|---|---|---|
| 0 | \n", "T0001 | \n", "TA01 | \n", "5Ds (dismiss, distort, distract, dismay, divide) | \n", "Nimmo's \"4Ds of propaganda\": dismiss, distort,... | \n", "1 | \n", "
| 1 | \n", "T0002 | \n", "TA01 | \n", "Facilitate State Propaganda | \n", "Organize citizens around pro-state messaging. ... | \n", "2 | \n", "
| 2 | \n", "T0003 | \n", "TA01 | \n", "Leverage Existing Narratives | \n", "Use or adapt existing narrative themes, where ... | \n", "3 | \n", "
| 3 | \n", "T0004 | \n", "TA01 | \n", "Competing Narratives | \n", "Advance competing narratives connected to same... | \n", "4 | \n", "
| 4 | \n", "T0005 | \n", "TA02 | \n", "Center of Gravity Analysis | \n", "Recon/research to identify \"the source of powe... | \n", "5 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 59 | \n", "T0060 | \n", "TA11 | \n", "Continue to amplify | \n", "continue narrative or message amplification af... | \n", "60 | \n", "
| 60 | \n", "T0061 | \n", "TA10 | \n", "Sell merchandising | \n", "Sell hats, t-shirts, flags and other branded c... | \n", "61 | \n", "
| 61 | \n", "T0062 | \n", "TA12 | \n", "Behaviour changes | \n", "\n", " | 62 | \n", "
| 62 | \n", "T0063 | \n", "TA12 | \n", "Message reach | \n", "\n", " | 63 | \n", "
| 63 | \n", "T0064 | \n", "TA12 | \n", "Social media engagement | \n", "\n", " | 64 | \n", "
64 rows × 5 columns
\n", "| \n", " | id | \n", "actor_id | \n", "
|---|---|---|
| 0 | \n", "C00006 | \n", "A033 | \n", "
| 1 | \n", "C00008 | \n", "A007 | \n", "
| 2 | \n", "C00009 | \n", "A016 | \n", "
| 2 | \n", "C00009 | \n", "A006 | \n", "
| 3 | \n", "C00010 | \n", "A020 | \n", "
| ... | \n", "... | \n", "... | \n", "
| 135 | \n", "C00219 | \n", "\n", " |
| 136 | \n", "C00220 | \n", "\n", " |
| 137 | \n", "C00221 | \n", "\n", " |
| 138 | \n", "C00222 | \n", "\n", " |
| 139 | \n", "C00223 | \n", "\n", " |
166 rows × 2 columns
\n", "| \n", " | id | \n", "technique_id | \n", "Weight | \n", "
|---|---|---|---|
| 1 | \n", "C00008 | \n", "TA01 | \n", "1 | \n", "
| 1 | \n", "C00008 | \n", "TA06 | \n", "1 | \n", "
| 1 | \n", "C00008 | \n", "TA08 | \n", "1 | \n", "
| 1 | \n", "C00008 | \n", "T0006 | \n", "1 | \n", "
| 1 | \n", "C00008 | \n", "T0009 | \n", "1 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "
| 134 | \n", "C00216 | \n", "T0018 | \n", "1 | \n", "
| 134 | \n", "C00216 | \n", "T0057 | \n", "1 | \n", "
| 135 | \n", "C00219 | \n", "T0024 | \n", "1 | \n", "
| 135 | \n", "C00219 | \n", "T0026 | \n", "1 | \n", "
| 135 | \n", "C00219 | \n", "T0025 | \n", "1 | \n", "
717 rows × 3 columns
\n", "