{ "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", "| \n", " | amitt_id\n", " | new\n", " | old\n", " | 
|---|