added blue AMITT framework diagram

Этот коммит содержится в:
Sara-Jayne Terp 2021-02-19 09:21:24 +00:00
родитель 3f9a8e9a1d
Коммит 517374f681
8 изменённых файлов: 1249 добавлений и 1196 удалений

Просмотреть файл

@ -11,368 +11,75 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Updating ../phases/P01.md\n",
"Updating ../phases/P02.md\n",
"Updating ../phases/P03.md\n",
"Updating ../phases/P04.md\n",
"Updating ../tactics/TA01.md\n",
"Updating ../tactics/TA02.md\n",
"Updating ../tactics/TA03.md\n",
"Updating ../tactics/TA04.md\n",
"Updating ../tactics/TA05.md\n",
"Updating ../tactics/TA06.md\n",
"Updating ../tactics/TA07.md\n",
"Updating ../tactics/TA08.md\n",
"Updating ../tactics/TA09.md\n",
"Updating ../tactics/TA10.md\n",
"Updating ../tactics/TA11.md\n",
"Updating ../tactics/TA12.md\n",
"Updating ../techniques/T0001.md\n",
"Updating ../techniques/T0002.md\n",
"Updating ../techniques/T0003.md\n",
"Updating ../techniques/T0004.md\n",
"Updating ../techniques/T0005.md\n",
"Updating ../techniques/T0006.md\n",
"Updating ../techniques/T0007.md\n",
"Updating ../techniques/T0008.md\n",
"Updating ../techniques/T0009.md\n",
"Updating ../techniques/T0010.md\n",
"Updating ../techniques/T0011.md\n",
"Updating ../techniques/T0012.md\n",
"Updating ../techniques/T0013.md\n",
"Updating ../techniques/T0014.md\n",
"Updating ../techniques/T0015.md\n",
"Updating ../techniques/T0016.md\n",
"Updating ../techniques/T0017.md\n",
"Updating ../techniques/T0018.md\n",
"Updating ../techniques/T0019.md\n",
"Updating ../techniques/T0020.md\n",
"Updating ../techniques/T0021.md\n",
"Updating ../techniques/T0022.md\n",
"Updating ../techniques/T0023.md\n",
"Updating ../techniques/T0024.md\n",
"Updating ../techniques/T0025.md\n",
"Updating ../techniques/T0026.md\n",
"Updating ../techniques/T0027.md\n",
"Updating ../techniques/T0028.md\n",
"Updating ../techniques/T0029.md\n",
"Updating ../techniques/T0030.md\n",
"Updating ../techniques/T0031.md\n",
"Updating ../techniques/T0032.md\n",
"Updating ../techniques/T0033.md\n",
"Updating ../techniques/T0034.md\n",
"Updating ../techniques/T0035.md\n",
"Updating ../techniques/T0036.md\n",
"Updating ../techniques/T0037.md\n",
"Updating ../techniques/T0038.md\n",
"Updating ../techniques/T0039.md\n",
"Updating ../techniques/T0040.md\n",
"Updating ../techniques/T0041.md\n",
"Updating ../techniques/T0042.md\n",
"Updating ../techniques/T0043.md\n",
"Updating ../techniques/T0044.md\n",
"Updating ../techniques/T0045.md\n",
"Updating ../techniques/T0046.md\n",
"Updating ../techniques/T0047.md\n",
"Updating ../techniques/T0048.md\n",
"Updating ../techniques/T0049.md\n",
"Updating ../techniques/T0050.md\n",
"Updating ../techniques/T0051.md\n",
"Updating ../techniques/T0052.md\n",
"Updating ../techniques/T0053.md\n",
"Updating ../techniques/T0054.md\n",
"Updating ../techniques/T0055.md\n",
"Updating ../techniques/T0056.md\n",
"Updating ../techniques/T0057.md\n",
"Updating ../techniques/T0058.md\n",
"Updating ../techniques/T0059.md\n",
"Updating ../techniques/T0060.md\n",
"Updating ../techniques/T0061.md\n",
"Updating ../tasks/TK0001.md\n",
"Updating ../tasks/TK0002.md\n",
"Updating ../tasks/TK0003.md\n",
"Updating ../tasks/TK0004.md\n",
"Updating ../tasks/TK0005.md\n",
"Updating ../tasks/TK0006.md\n",
"Updating ../tasks/TK0007.md\n",
"Updating ../tasks/TK0008.md\n",
"Updating ../tasks/TK0009.md\n",
"Updating ../tasks/TK0010.md\n",
"Updating ../tasks/TK0011.md\n",
"Updating ../tasks/TK0012.md\n",
"Updating ../tasks/TK0013.md\n",
"Updating ../tasks/TK0014.md\n",
"Updating ../tasks/TK0015.md\n",
"Updating ../tasks/TK0016.md\n",
"Updating ../tasks/TK0017.md\n",
"Updating ../tasks/TK0018.md\n",
"Updating ../tasks/TK0019.md\n",
"Updating ../tasks/TK0020.md\n",
"Updating ../tasks/TK0021.md\n",
"Updating ../tasks/TK0022.md\n",
"Updating ../tasks/TK0023.md\n",
"Updating ../tasks/TK0024.md\n",
"Updating ../tasks/TK0025.md\n",
"Updating ../tasks/TK0026.md\n",
"Updating ../tasks/TK0027.md\n",
"Updating ../tasks/TK0028.md\n",
"Updating ../tasks/TK0029.md\n",
"Updating ../tasks/TK0030.md\n",
"Updating ../incidents/I00001.md\n",
"Updating ../incidents/I00002.md\n",
"Updating ../incidents/I00003.md\n",
"Updating ../incidents/I00004.md\n",
"Updating ../incidents/I00005.md\n",
"Updating ../incidents/I00006.md\n",
"Updating ../incidents/I00007.md\n",
"Updating ../incidents/I00008.md\n",
"Updating ../incidents/I00009.md\n",
"Updating ../incidents/I00010.md\n",
"Updating ../incidents/I00011.md\n",
"Updating ../incidents/I00012.md\n",
"Updating ../incidents/I00013.md\n",
"Updating ../incidents/I00014.md\n",
"Updating ../incidents/I00015.md\n",
"Updating ../incidents/I00016.md\n",
"Updating ../incidents/I00017.md\n",
"Updating ../incidents/I00018.md\n",
"Updating ../incidents/I00019.md\n",
"Updating ../incidents/I00020.md\n",
"Updating ../incidents/I00021.md\n",
"Updating ../incidents/I00022.md\n",
"Updating ../incidents/I00023.md\n",
"Updating ../incidents/I00024.md\n",
"Updating ../incidents/I00025.md\n",
"Updating ../incidents/I00026.md\n",
"Updating ../incidents/I00027.md\n",
"Updating ../incidents/I00028.md\n",
"Updating ../incidents/I00029.md\n",
"Updating ../incidents/I00030.md\n",
"Updating ../incidents/I00031.md\n",
"Updating ../incidents/I00032.md\n",
"Updating ../incidents/I00033.md\n",
"Updating ../incidents/I00034.md\n",
"Updating ../incidents/I00035.md\n",
"Updating ../incidents/I00036.md\n",
"Updating ../incidents/I00037.md\n",
"Updating ../incidents/I00038.md\n",
"Updating ../incidents/I00039.md\n",
"Updating ../incidents/I00040.md\n",
"Updating ../incidents/I00041.md\n",
"Updating ../incidents/I00042.md\n",
"Updating ../incidents/I00043.md\n",
"Updating ../incidents/I00044.md\n",
"Updating ../incidents/I00045.md\n",
"Updating ../incidents/I00046.md\n",
"Updating ../incidents/I00047.md\n",
"Updating ../incidents/I00048.md\n",
"Updating ../incidents/I00049.md\n",
"Updating ../incidents/I00050.md\n",
"Updating ../incidents/I00051.md\n",
"Updating ../incidents/I00052.md\n",
"Updating ../incidents/I00053.md\n",
"Updating ../incidents/I00054.md\n",
"Updating ../incidents/I00055.md\n",
"Updating ../incidents/I00056.md\n",
"Updating ../incidents/I00057.md\n",
"Updating ../incidents/I00058.md\n",
"Updating ../incidents/I00059.md\n",
"Updating ../incidents/I00060.md\n",
"Updating ../incidents/I00061.md\n",
"Updating ../incidents/I00062.md\n",
"Updating ../incidents/I00063.md\n",
"Updating ../counters/C00001.md\n",
"Updating ../counters/C00003.md\n",
"Updating ../counters/C00004.md\n",
"Updating ../counters/C00005.md\n",
"Updating ../counters/C00006.md\n",
"Updating ../counters/C00007.md\n",
"Updating ../counters/C00008.md\n",
"Updating ../counters/C00009.md\n",
"Updating ../counters/C00010.md\n",
"Updating ../counters/C00011.md\n",
"Updating ../counters/C00012.md\n",
"Updating ../counters/C00013.md\n",
"Updating ../counters/C00014.md\n",
"Updating ../counters/C00015.md\n",
"Updating ../counters/C00016.md\n",
"Updating ../counters/C00017.md\n",
"Updating ../counters/C00018.md\n",
"Updating ../counters/C00019.md\n",
"Updating ../counters/C00020.md\n",
"Updating ../counters/C00021.md\n",
"Updating ../counters/C00022.md\n",
"Updating ../counters/C00023.md\n",
"Updating ../counters/C00024.md\n",
"Updating ../counters/C00025.md\n",
"Updating ../counters/C00026.md\n",
"Updating ../counters/C00027.md\n",
"Updating ../counters/C00028.md\n",
"Updating ../counters/C00029.md\n",
"Updating ../counters/C00030.md\n",
"Updating ../counters/C00031.md\n",
"Updating ../counters/C00032.md\n",
"Updating ../counters/C00033.md\n",
"Updating ../counters/C00034.md\n",
"Updating ../counters/C00035.md\n",
"Updating ../counters/C00036.md\n",
"Updating ../counters/C00039.md\n",
"Updating ../counters/C00040.md\n",
"Updating ../counters/C00042.md\n",
"Updating ../counters/C00043.md\n",
"Updating ../counters/C00044.md\n",
"Updating ../counters/C00045.md\n",
"Updating ../counters/C00046.md\n",
"Updating ../counters/C00047.md\n",
"Updating ../counters/C00048.md\n",
"Updating ../counters/C00049.md\n",
"Updating ../counters/C00050.md\n",
"Updating ../counters/C00051.md\n",
"Updating ../counters/C00052.md\n",
"Updating ../counters/C00053.md\n",
"Updating ../counters/C00054.md\n",
"Updating ../counters/C00055.md\n",
"Updating ../counters/C00056.md\n",
"Updating ../counters/C00057.md\n",
"Updating ../counters/C00058.md\n",
"Updating ../counters/C00059.md\n",
"Updating ../counters/C00060.md\n",
"Updating ../counters/C00061.md\n",
"Updating ../counters/C00062.md\n",
"Updating ../counters/C00063.md\n",
"Updating ../counters/C00065.md\n",
"Updating ../counters/C00066.md\n",
"Updating ../counters/C00067.md\n",
"Updating ../counters/C00068.md\n",
"Updating ../counters/C00069.md\n",
"Updating ../counters/C00070.md\n",
"Updating ../counters/C00071.md\n",
"Updating ../counters/C00072.md\n",
"Updating ../counters/C00073.md\n",
"Updating ../counters/C00074.md\n",
"Updating ../counters/C00075.md\n",
"Updating ../counters/C00076.md\n",
"Updating ../counters/C00077.md\n",
"Updating ../counters/C00078.md\n",
"Updating ../counters/C00079.md\n",
"Updating ../counters/C00080.md\n",
"Updating ../counters/C00081.md\n",
"Updating ../counters/C00082.md\n",
"Updating ../counters/C00084.md\n",
"Updating ../counters/C00085.md\n",
"Updating ../counters/C00086.md\n",
"Updating ../counters/C00087.md\n",
"Updating ../counters/C00088.md\n",
"Updating ../counters/C00089.md\n",
"Updating ../counters/C00090.md\n",
"Updating ../counters/C00091.md\n",
"Updating ../counters/C00092.md\n",
"Updating ../counters/C00093.md\n",
"Updating ../counters/C00094.md\n",
"Updating ../counters/C00095.md\n",
"Updating ../counters/C00096.md\n",
"Updating ../counters/C00097.md\n",
"Updating ../counters/C00098.md\n",
"Updating ../counters/C00099.md\n",
"Updating ../counters/C00100.md\n",
"Updating ../counters/C00101.md\n",
"Updating ../counters/C00102.md\n",
"Updating ../counters/C00103.md\n",
"Updating ../counters/C00105.md\n",
"Updating ../counters/C00106.md\n",
"Updating ../counters/C00107.md\n",
"Updating ../counters/C00109.md\n",
"Updating ../counters/C00110.md\n",
"Updating ../counters/C00111.md\n",
"Updating ../counters/C00112.md\n",
"Updating ../counters/C00113.md\n",
"Updating ../counters/C00114.md\n",
"Updating ../counters/C00115.md\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Updating ../counters/C00116.md\n",
"Updating ../counters/C00117.md\n",
"Updating ../counters/C00118.md\n",
"Updating ../counters/C00119.md\n",
"Updating ../counters/C00120.md\n",
"Updating ../counters/C00121.md\n",
"Updating ../counters/C00122.md\n",
"Updating ../counters/C00123.md\n",
"Updating ../counters/C00124.md\n",
"Updating ../counters/C00125.md\n",
"Updating ../counters/C00126.md\n",
"Updating ../counters/C00128.md\n",
"Updating ../counters/C00129.md\n",
"Updating ../counters/C00130.md\n",
"Updating ../counters/C00131.md\n",
"Updating ../counters/C00133.md\n",
"Updating ../counters/C00135.md\n",
"Updating ../counters/C00136.md\n",
"Updating ../counters/C00137.md\n",
"Updating ../counters/C00138.md\n",
"Updating ../counters/C00139.md\n",
"Updating ../counters/C00140.md\n",
"Updating ../counters/C00141.md\n",
"Updating ../counters/C00142.md\n",
"Updating ../counters/C00143.md\n",
"Updating ../counters/C00144.md\n",
"Updating ../counters/C00145.md\n",
"Updating ../counters/C00147.md\n",
"Updating ../counters/C00148.md\n",
"Updating ../counters/C00149.md\n",
"Updating ../counters/C00150.md\n",
"Updating ../counters/C00151.md\n",
"Updating ../counters/C00152.md\n",
"Updating ../counters/C00153.md\n",
"Updating ../counters/C00154.md\n",
"Updating ../counters/C00155.md\n",
"Updating ../counters/C00156.md\n",
"Updating ../counters/C00157.md\n",
"Updating ../counters/C00158.md\n",
"Updating ../counters/C00159.md\n",
"Updating ../counters/C00160.md\n",
"Updating ../counters/C00161.md\n",
"Updating ../counters/C00162.md\n",
"Updating ../counters/C00164.md\n",
"Updating ../counters/C00165.md\n",
"Updating ../counters/C00167.md\n",
"Updating ../counters/C00169.md\n",
"Updating ../counters/C00170.md\n",
"Updating ../counters/C00171.md\n",
"Updating ../counters/C00172.md\n",
"Updating ../counters/C00174.md\n",
"Updating ../counters/C00176.md\n",
"Updating ../counters/C00178.md\n",
"Updating ../counters/C00179.md\n",
"Updating ../counters/C00182.md\n",
"Updating ../counters/C00184.md\n",
"Updating ../counters/C00188.md\n",
"Updating ../counters/C00189.md\n",
"Updating ../counters/C00190.md\n",
"Updating ../counters/C00193.md\n",
"Updating ../counters/C00194.md\n",
"Updating ../counters/C00195.md\n",
"Updating ../counters/C00196.md\n",
"Updating ../counters/C00197.md\n",
"Updating ../counters/C00200.md\n",
"Updating ../counters/C00202.md\n",
"Updating ../counters/C00203.md\n",
"Updating ../counters/C00204.md\n",
"Updating ../counters/C00205.md\n",
"Updating ../counters/C00207.md\n",
"Updating ../counters/C00210.md\n",
"Updating ../counters/C00211.md\n",
"Updating ../counters/C00212.md\n",
"Updating ../counters/C00214.md\n",
"Updating ../counters/C00215.md\n",
"Updating ../counters/C00216.md\n",
"Updating ../counters/C00217.md\n",
"Updating ../counters/C00218.md\n",
"Updating ../counters/C00219.md\n"
"updated ../incidents_list.md\n",
"updated ../amitt_red_framework.md\n",
"updated ../amitt_red_framework_clickable.html\n",
"Writing ../counter_tactics/TA01counters.md\n",
"Writing ../counter_tactics/TA02counters.md\n",
"Writing ../counter_tactics/TA03counters.md\n",
"Writing ../counter_tactics/TA04counters.md\n",
"Writing ../counter_tactics/TA05counters.md\n",
"Writing ../counter_tactics/TA06counters.md\n",
"Writing ../counter_tactics/TA07counters.md\n",
"Writing ../counter_tactics/TA08counters.md\n",
"Writing ../counter_tactics/TA09counters.md\n",
"Writing ../counter_tactics/TA10counters.md\n",
"Writing ../counter_tactics/TA11counters.md\n",
"Writing ../counter_tactics/TA12counters.md\n",
"updated ../tactics_by_responsetype_table.md\n",
"Writing ../metatechniques/cleaningcounters.md\n",
"Writing ../metatechniques/countermessagingcounters.md\n",
"Writing ../metatechniques/data pollutioncounters.md\n",
"Writing ../metatechniques/daylightcounters.md\n",
"Writing ../metatechniques/dilutioncounters.md\n",
"Writing ../metatechniques/diversioncounters.md\n",
"Writing ../metatechniques/frictioncounters.md\n",
"Writing ../metatechniques/metatechniquecounters.md\n",
"Writing ../metatechniques/reduce resourcescounters.md\n",
"Writing ../metatechniques/removalcounters.md\n",
"Writing ../metatechniques/resiliencecounters.md\n",
"Writing ../metatechniques/scoringcounters.md\n",
"Writing ../metatechniques/targetingcounters.md\n",
"Writing ../metatechniques/verificationcounters.md\n",
"updated ../metatechniques_by_responsetype_table.md\n",
"Writing ../resources_needed/DHScounters.md\n",
"Writing ../resources_needed/NGOcounters.md\n",
"Writing ../resources_needed/activistscounters.md\n",
"Writing ../resources_needed/adtechcounters.md\n",
"Writing ../resources_needed/civil_societycounters.md\n",
"Writing ../resources_needed/community_groupscounters.md\n",
"Writing ../resources_needed/companiescounters.md\n",
"Writing ../resources_needed/content_creatorscounters.md\n",
"Writing ../resources_needed/data_scientistcounters.md\n",
"Writing ../resources_needed/datastreamscounters.md\n",
"Writing ../resources_needed/developerscounters.md\n",
"Writing ../resources_needed/educatorscounters.md\n",
"Writing ../resources_needed/elvescounters.md\n",
"Writing ../resources_needed/factcheckerscounters.md\n",
"Writing ../resources_needed/fundingcounters.md\n",
"Writing ../resources_needed/gamesdesignerscounters.md\n",
"Writing ../resources_needed/governmentcounters.md\n",
"Writing ../resources_needed/government:policymakerscounters.md\n",
"Writing ../resources_needed/influencerscounters.md\n",
"Writing ../resources_needed/influencers:trusted_authoritycounters.md\n",
"Writing ../resources_needed/infoseccounters.md\n",
"Writing ../resources_needed/librariescounters.md\n",
"Writing ../resources_needed/mediacounters.md\n",
"Writing ../resources_needed/militarycounters.md\n",
"Writing ../resources_needed/moneycounters.md\n",
"Writing ../resources_needed/platform_admincounters.md\n",
"Writing ../resources_needed/platform_admin:adtechcounters.md\n",
"Writing ../resources_needed/platform_admin:fundingsitescounters.md\n",
"Writing ../resources_needed/platform_admin:socialmediacounters.md\n",
"Writing ../resources_needed/platform_algorithmscounters.md\n",
"Writing ../resources_needed/platform_outreachcounters.md\n",
"Writing ../resources_needed/platformscounters.md\n",
"Writing ../resources_needed/publiccounters.md\n",
"Writing ../resources_needed/public:account_ownerscounters.md\n",
"Writing ../resources_needed/religious_organisationscounters.md\n",
"Writing ../resources_needed/schoolscounters.md\n",
"Writing ../resources_needed/server_admincounters.md\n",
"updated ../resources_by_responsetype_table.md\n"
]
}
],
@ -411,96 +118,295 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"def create_tactic_counters_string(tactic_id):\n",
" table_string = '''\n",
"| Response types | Counters |\n",
"| -------------- | -------- |\n",
"'''\n",
" tactic_counters = amitt.df_counters[amitt.df_counters['tactic_id']==tactic_id]\n",
" row_string = '| {0} | [{1} {2}](../counters/{1}.md) |\\n'\n",
" for index, row in tactic_counters.sort_values(['responsetype', 'id']).iterrows():\n",
" table_string += row_string.format(row['responsetype'], row['id'], row['name'])\n",
" return table_string\n",
"\n",
"\n",
"def create_technique_counters_string(technique_id):\n",
" table_string = '''\n",
"| Counters |\n",
"| -------- |\n",
"'''\n",
" technique_counters = amitt.cross_counterid_techniqueid[amitt.cross_counterid_techniqueid['technique_id']==technique_id]\n",
" technique_counters = pd.merge(technique_counters, amitt.df_counters[['id', 'name']])\n",
" row_string = '| [{0} {1}](../counters/{0}.md) |\\n'\n",
" for index, row in technique_counters.sort_values('id').iterrows():\n",
" table_string += row_string.format(row['id'], row['name'])\n",
" return table_string\n",
"\n",
"create_technique_counters_string('TA01')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"amitt.df_counters"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"amitt.cross_counterid_techniqueid[amitt.cross_counterid_techniqueid['technique_id'] == 'T0006']"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"amitt.cross_counterid_techniqueid"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"outputs": [
{
"data": {
"text/plain": [
"[['P01',\n",
" 'P01',\n",
" 'P02',\n",
" 'P02',\n",
" 'P02',\n",
" 'P02',\n",
" 'P02',\n",
" 'P03',\n",
" 'P03',\n",
" 'P03',\n",
" 'P03',\n",
" 'P04'],\n",
" ['TA01',\n",
" 'TA02',\n",
" 'TA03',\n",
" 'TA04',\n",
" 'TA05',\n",
" 'TA06',\n",
" 'TA07',\n",
" 'TA08',\n",
" 'TA09',\n",
" 'TA10',\n",
" 'TA11',\n",
" 'TA12'],\n",
" ['C00001',\n",
" 'C00028',\n",
" 'C00033',\n",
" 'C00049',\n",
" 'C00063',\n",
" 'C00070',\n",
" 'C00097',\n",
" 'C00112',\n",
" 'C00122',\n",
" 'C00129',\n",
" 'C00131',\n",
" 'C00147'],\n",
" ['C00003',\n",
" 'C00029',\n",
" 'C00034',\n",
" 'C00050',\n",
" 'C00065',\n",
" 'C00071',\n",
" 'C00098',\n",
" 'C00113',\n",
" 'C00123',\n",
" 'C00130',\n",
" 'C00133',\n",
" 'C00148'],\n",
" ['C00004',\n",
" 'C00030',\n",
" 'C00035',\n",
" 'C00051',\n",
" 'C00066',\n",
" 'C00072',\n",
" 'C00099',\n",
" 'C00114',\n",
" 'C00124',\n",
" '',\n",
" 'C00135',\n",
" 'C00149'],\n",
" ['C00005',\n",
" 'C00031',\n",
" 'C00036',\n",
" 'C00052',\n",
" 'C00067',\n",
" 'C00073',\n",
" 'C00100',\n",
" 'C00115',\n",
" 'C00125',\n",
" '',\n",
" 'C00136',\n",
" ''],\n",
" ['C00006',\n",
" 'C00032',\n",
" 'C00039',\n",
" 'C00053',\n",
" 'C00068',\n",
" 'C00074',\n",
" 'C00101',\n",
" 'C00116',\n",
" 'C00126',\n",
" '',\n",
" 'C00137',\n",
" ''],\n",
" ['C00007',\n",
" '',\n",
" 'C00040',\n",
" 'C00054',\n",
" 'C00069',\n",
" 'C00075',\n",
" 'C00102',\n",
" 'C00117',\n",
" 'C00128',\n",
" '',\n",
" 'C00138',\n",
" ''],\n",
" ['C00008',\n",
" '',\n",
" 'C00042',\n",
" 'C00055',\n",
" 'C00216',\n",
" 'C00076',\n",
" 'C00103',\n",
" 'C00118',\n",
" 'C00151',\n",
" '',\n",
" 'C00139',\n",
" ''],\n",
" ['C00009',\n",
" '',\n",
" 'C00043',\n",
" 'C00056',\n",
" '',\n",
" 'C00077',\n",
" 'C00105',\n",
" 'C00119',\n",
" 'C00156',\n",
" '',\n",
" 'C00140',\n",
" ''],\n",
" ['C00010',\n",
" '',\n",
" 'C00044',\n",
" 'C00057',\n",
" '',\n",
" 'C00078',\n",
" 'C00106',\n",
" 'C00120',\n",
" 'C00158',\n",
" '',\n",
" 'C00141',\n",
" ''],\n",
" ['C00011',\n",
" '',\n",
" 'C00045',\n",
" 'C00058',\n",
" '',\n",
" 'C00079',\n",
" 'C00107',\n",
" 'C00121',\n",
" 'C00169',\n",
" '',\n",
" 'C00142',\n",
" ''],\n",
" ['C00012',\n",
" '',\n",
" 'C00046',\n",
" 'C00059',\n",
" '',\n",
" 'C00080',\n",
" 'C00109',\n",
" 'C00154',\n",
" 'C00178',\n",
" '',\n",
" 'C00143',\n",
" ''],\n",
" ['C00013',\n",
" '',\n",
" 'C00047',\n",
" 'C00060',\n",
" '',\n",
" 'C00081',\n",
" 'C00110',\n",
" 'C00188',\n",
" 'C00182',\n",
" '',\n",
" 'C00144',\n",
" ''],\n",
" ['C00014',\n",
" '',\n",
" 'C00048',\n",
" 'C00061',\n",
" '',\n",
" 'C00082',\n",
" 'C00111',\n",
" 'C00193',\n",
" 'C00184',\n",
" '',\n",
" 'C00145',\n",
" ''],\n",
" ['C00015',\n",
" '',\n",
" 'C00150',\n",
" 'C00062',\n",
" '',\n",
" 'C00084',\n",
" 'C00195',\n",
" 'C00203',\n",
" 'C00190',\n",
" '',\n",
" '',\n",
" ''],\n",
" ['C00016',\n",
" '',\n",
" 'C00155',\n",
" 'C00152',\n",
" '',\n",
" 'C00085',\n",
" 'C00196',\n",
" 'C00204',\n",
" 'C00194',\n",
" '',\n",
" '',\n",
" ''],\n",
" ['C00017',\n",
" '',\n",
" 'C00160',\n",
" 'C00157',\n",
" '',\n",
" 'C00086',\n",
" 'C00214',\n",
" '',\n",
" 'C00200',\n",
" '',\n",
" '',\n",
" ''],\n",
" ['C00018',\n",
" '',\n",
" 'C00164',\n",
" 'C00162',\n",
" '',\n",
" 'C00087',\n",
" 'C00215',\n",
" '',\n",
" 'C00211',\n",
" '',\n",
" '',\n",
" ''],\n",
" ['C00019',\n",
" '',\n",
" 'C00170',\n",
" 'C00174',\n",
" '',\n",
" 'C00088',\n",
" 'C00217',\n",
" '',\n",
" 'C00212',\n",
" '',\n",
" '',\n",
" ''],\n",
" ['C00020', '', 'C00179', '', '', 'C00089', '', '', 'C00218', '', '', ''],\n",
" ['C00021', '', 'C00189', '', '', 'C00090', '', '', '', '', '', ''],\n",
" ['C00022', '', 'C00197', '', '', 'C00091', '', '', '', '', '', ''],\n",
" ['C00023', '', '', '', '', 'C00092', '', '', '', '', '', ''],\n",
" ['C00024', '', '', '', '', 'C00093', '', '', '', '', '', ''],\n",
" ['C00025', '', '', '', '', 'C00094', '', '', '', '', '', ''],\n",
" ['C00026', '', '', '', '', 'C00095', '', '', '', '', '', ''],\n",
" ['C00027', '', '', '', '', 'C00096', '', '', '', '', '', ''],\n",
" ['C00153', '', '', '', '', 'C00165', '', '', '', '', '', ''],\n",
" ['C00159', '', '', '', '', 'C00167', '', '', '', '', '', ''],\n",
" ['C00161', '', '', '', '', 'C00171', '', '', '', '', '', ''],\n",
" ['C00176', '', '', '', '', 'C00172', '', '', '', '', '', ''],\n",
" ['C00205', '', '', '', '', 'C00202', '', '', '', '', '', ''],\n",
" ['C00207', '', '', '', '', 'C00210', '', '', '', '', '', ''],\n",
" ['', '', '', '', '', 'C00219', '', '', '', '', '', '']]"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"technique_id='T0006'\n",
"xx = amitt.cross_counterid_techniqueid[amitt.cross_counterid_techniqueid['technique_id']==technique_id]\n",
"pd.merge(xx, amitt.df_counters[['id', 'name']])"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"tactics=self.create_counter_tactics_string(row['id'])\n",
"techniques=self.create_counter_techniques_string(row['id'])\n",
"incidents=self.create_counter_incidents_string(row['id'])"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"pd.pivot_table(amitt.df_counters[['tactic_id', 'responsetype','id']], index='responsetype', columns='tactic_id', aggfunc=len, fill_value=0)"
"import os\n",
"tocsv=True\n",
"\n",
"arr = [['' for i in range(amitt.num_tactics)] for j in range(amitt.max_num_counters_per_tactic)] \n",
"for index, tactic in amitt.df_tactics.iterrows():\n",
" arr[0][index] = tactic['phase_id']\n",
" arr[1][index] = tactic['id']\n",
" if tactic['counter_ids'] == '':\n",
" continue\n",
" for index2, technique in enumerate(tactic['counter_ids']):\n",
" arr[index2+2][index] = technique\n",
"\n",
"#Save grid to file\n",
"if tocsv:\n",
" csvdir = '../generated_csvs'\n",
" if not os.path.exists(csvdir):\n",
" os.makedirs(csvdir)\n",
" pd.DataFrame(arr).to_csv(csvdir + '/counters_tactics_table.csv', index=False, header=False)\n",
"arr"
]
},
{

Двоичный файл не отображается.

Просмотреть файл

@ -98,11 +98,13 @@ class Amitt:
self.phases = self.make_object_dictionary(self.df_phases)
self.tactics = self.make_object_dictionary(self.df_tactics)
self.techniques = self.make_object_dictionary(self.df_techniques)
self.counters = self.make_object_dictionary(self.df_counters)
self.num_tactics = len(self.df_tactics)
self.max_num_techniques_per_tactic = max(df_techniques_per_tactic['technique_ids'].apply(len)) +2
self.max_num_counters_per_tactic = max(df_counters_per_tactic['counter_ids'].apply(len)) +2
self.grid = self.create_padded_techniques_tactics_table()
self.padded_techniques_tactics_table = self.create_padded_techniques_tactics_table()
self.padded_counters_tactics_table = self.create_padded_counters_tactics_table()
# Create counters cross-tables
self.cross_counterid_techniqueid = self.splitcol(self.df_counters[['id', 'techniques']],
@ -158,6 +160,29 @@ class Amitt:
return(arr)
def create_padded_counters_tactics_table(self, tocsv=True):
# Create the master grid that we make all the framework visuals from
# cols = number of tactics
# rows = max number of techniques per tactic + 2
arr = [['' for i in range(self.num_tactics)] for j in range(self.max_num_counters_per_tactic)]
for index, tactic in self.df_tactics.iterrows():
arr[0][index] = tactic['phase_id']
arr[1][index] = tactic['id']
if tactic['counter_ids'] == '':
continue
for index2, counter in enumerate(tactic['counter_ids']):
arr[index2+2][index] = counter
#Save grid to file
if tocsv:
csvdir = '../generated_csvs'
if not os.path.exists(csvdir):
os.makedirs(csvdir)
pd.DataFrame(arr).to_csv(csvdir + '/counters_tactics_table.csv', index=False, header=False)
return(arr)
def splitcol(self, df, col, newcol, divider=','):
# Thanks https://stackoverflow.com/questions/17116814/pandas-how-do-i-split-text-in-a-column-into-multiple-rows?noredirect=1
@ -422,9 +447,9 @@ class Amitt:
def write_amitt_red_framework_file(self, outfile = '../amitt_red_framework.md'):
# Write HTML version of framework diagram to markdown file
# Needs phases, tactics, techniques, grid
# Needs phases, tactics, techniques, padded_techniques_tactics_table
html = '''# AMITT Latest Framework:
html = '''# AMITT Red: Latest Framework
<table border="1">
<tr>
@ -432,22 +457,58 @@ class Amitt:
for col in range(self.num_tactics):
html += '<td><a href="phases/{0}.md">{0} {1}</a></td>\n'.format(
self.grid[0][col], self.phases[self.grid[0][col]])
self.padded_techniques_tactics_table[0][col], self.phases[self.padded_techniques_tactics_table[0][col]])
html += '</tr>\n'
html += '<tr style="background-color:blue;color:white;">\n'
for col in range(self.num_tactics):
html += '<td><a href="tactics/{0}.md">{0} {1}</a></td>\n'.format(
self.grid[1][col], self.tactics[self.grid[1][col]])
self.padded_techniques_tactics_table[1][col], self.tactics[self.padded_techniques_tactics_table[1][col]])
html += '</tr>\n<tr>\n'
for row in range(2,self.max_num_techniques_per_tactic):
for col in range(self.num_tactics):
if self.grid[row][col] == '':
if self.padded_techniques_tactics_table[row][col] == '':
html += '<td> </td>\n'
else:
html += '<td><a href="techniques/{0}.md">{0} {1}</a></td>\n'.format(
self.grid[row][col], self.techniques[self.grid[row][col]])
self.padded_techniques_tactics_table[row][col], self.techniques[self.padded_techniques_tactics_table[row][col]])
html += '</tr>\n<tr>\n'
html += '</tr>\n</table>\n'
with open(outfile, 'w') as f:
f.write(html)
print('updated {}'.format(outfile))
return
def write_amitt_blue_framework_file(self, outfile = '../amitt_blue_framework.md'):
# Write HTML version of counters framework diagram to markdown file
# Needs phases, tactics, counters, padded_counters_tactics_table
html = '''# AMITT Blue: Latest Framework
<table border="1">
<tr>
'''
for col in range(self.num_tactics):
html += '<td><a href="phases/{0}.md">{0} {1}</a></td>\n'.format(
self.padded_counters_tactics_table[0][col], self.phases[self.padded_counters_tactics_table[0][col]])
html += '</tr>\n'
html += '<tr style="background-color:blue;color:white;">\n'
for col in range(self.num_tactics):
html += '<td><a href="tactics/{0}.md">{0} {1}</a></td>\n'.format(
self.padded_counters_tactics_table[1][col], self.tactics[self.padded_counters_tactics_table[1][col]])
html += '</tr>\n<tr>\n'
for row in range(2,self.max_num_counters_per_tactic):
for col in range(self.num_tactics):
if self.padded_counters_tactics_table[row][col] == '':
html += '<td> </td>\n'
else:
html += '<td><a href="counters/{0}.md">{0} {1}</a></td>\n'.format(
self.padded_counters_tactics_table[row][col], self.counters[self.padded_counters_tactics_table[row][col]])
html += '</tr>\n<tr>\n'
html += '</tr>\n</table>\n'
@ -519,19 +580,19 @@ function handleTechniqueClick(box) {
html += '<tr bgcolor=fuchsia>\n'
for col in range(self.num_tactics):
html += '<td>{0} {1}</td>\n'.format(self.grid[0][col], self.phases[self.grid[0][col]])
html += '<td>{0} {1}</td>\n'.format(self.padded_techniques_tactics_table[0][col], self.phases[self.padded_techniques_tactics_table[0][col]])
html += '</tr>\n'
html += '<tr bgcolor=aqua>\n'
for col in range(self.num_tactics):
html += '<td>{0} {1}</td>\n'.format(self.grid[1][col], self.tactics[self.grid[1][col]])
html += '<td>{0} {1}</td>\n'.format(self.padded_techniques_tactics_table[1][col], self.tactics[self.padded_techniques_tactics_table[1][col]])
html += '</tr>\n'
liststr = ''
html += '<tr>\n'
for row in range(2,self.max_num_techniques_per_tactic):
for col in range(self.num_tactics):
techid = self.grid[row][col]
techid = self.padded_techniques_tactics_table[row][col]
if techid == '':
html += '<td bgcolor=white> </td>\n'
else:
@ -574,6 +635,7 @@ function handleTechniqueClick(box) {
self.update_markdown_files()
self.write_incidentlist_file()
self.write_amitt_red_framework_file()
self.write_amitt_blue_framework_file()
self.write_clickable_amitt_red_framework_file()
self.write_responsetype_tactics_table_file()
self.write_metatechniques_responsetype_table_file()

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -10,6 +10,7 @@ AMITT design documents are available in the AMITT_HISTORY folder, and in [The AM
The AMITT framework diagrams are:
* [AMITT Red Team Framework](amitt_red_framework.md) - Disinformation creator TTPs, listed by tactic stage. This is the classic "AMITT Framework" that's bundled with MISP. The [clickable](amitt_red_framework_clickable.html) version is for rapidly creating lists of TTPs.
* [AMITT Blue Team Framework](amitt_blue_framework.md) - Disinformation responder TTPs, listed by tactic stage. These are countermeasures, listed by the earliest tactic stages they're likely to be used in.
All the entities used to create the Red Team and Blue Team frameworks:
* [Phases](phases): higher-level groupings of tactics, created so we could check we didn't miss anything

496
amitt_blue_framework.md Обычный файл
Просмотреть файл

@ -0,0 +1,496 @@
# AMITT Blue: Latest Framework
<table border="1">
<tr>
<td><a href="phases/P01.md">P01 Planning</a></td>
<td><a href="phases/P01.md">P01 Planning</a></td>
<td><a href="phases/P02.md">P02 Preparation</a></td>
<td><a href="phases/P02.md">P02 Preparation</a></td>
<td><a href="phases/P02.md">P02 Preparation</a></td>
<td><a href="phases/P02.md">P02 Preparation</a></td>
<td><a href="phases/P02.md">P02 Preparation</a></td>
<td><a href="phases/P03.md">P03 Execution</a></td>
<td><a href="phases/P03.md">P03 Execution</a></td>
<td><a href="phases/P03.md">P03 Execution</a></td>
<td><a href="phases/P03.md">P03 Execution</a></td>
<td><a href="phases/P04.md">P04 Evaluation</a></td>
</tr>
<tr style="background-color:blue;color:white;">
<td><a href="tactics/TA01.md">TA01 Strategic Planning</a></td>
<td><a href="tactics/TA02.md">TA02 Objective Planning</a></td>
<td><a href="tactics/TA03.md">TA03 Develop People</a></td>
<td><a href="tactics/TA04.md">TA04 Develop Networks</a></td>
<td><a href="tactics/TA05.md">TA05 Microtargeting</a></td>
<td><a href="tactics/TA06.md">TA06 Develop Content</a></td>
<td><a href="tactics/TA07.md">TA07 Channel Selection</a></td>
<td><a href="tactics/TA08.md">TA08 Pump Priming</a></td>
<td><a href="tactics/TA09.md">TA09 Exposure</a></td>
<td><a href="tactics/TA10.md">TA10 Go Physical</a></td>
<td><a href="tactics/TA11.md">TA11 Persistence</a></td>
<td><a href="tactics/TA12.md">TA12 Measure Effectiveness</a></td>
</tr>
<tr>
<td><a href="counters/C00001.md">C00001 Better models of info spread up the layers</a></td>
<td><a href="counters/C00028.md">C00028 Blockchain audit log and validation with collaborative decryption to post comments</a></td>
<td><a href="counters/C00033.md">C00033 Build cultural resistance to false content</a></td>
<td><a href="counters/C00049.md">C00049 Influence literacy training</a></td>
<td><a href="counters/C00063.md">C00063 Ban political microtargeting</a></td>
<td><a href="counters/C00070.md">C00070 Block access to platform. DDOS an attacker.</a></td>
<td><a href="counters/C00097.md">C00097 Require use of verified identities to contribute to poll or comment</a></td>
<td><a href="counters/C00112.md">C00112 "Prove they are not an op!"</a></td>
<td><a href="counters/C00122.md">C00122 Content moderation. Censorship?</a></td>
<td><a href="counters/C00129.md">C00129 Use banking to cut off access </a></td>
<td><a href="counters/C00131.md">C00131 Seize and analyse botnet servers</a></td>
<td><a href="counters/C00147.md">C00147 Make amplification of social media ports expire (e.g. can't like/ retweet after n days)</a></td>
</tr>
<tr>
<td><a href="counters/C00003.md">C00003 How can we safeguard against extremists using the tools that we will produce?</a></td>
<td><a href="counters/C00029.md">C00029 Create fake website to issue counter narrative and counter narrative through physical merchandise</a></td>
<td><a href="counters/C00034.md">C00034 Create more friction at account creation</a></td>
<td><a href="counters/C00050.md">C00050 Anti-elicitation training</a></td>
<td><a href="counters/C00065.md">C00065 Ban political ads</a></td>
<td><a href="counters/C00071.md">C00071 Block source of pollution</a></td>
<td><a href="counters/C00098.md">C00098 Revocation of "verified"</a></td>
<td><a href="counters/C00113.md">C00113 Debunk and defuse a fake expert / credentials. Attack audience quality of fake expert</a></td>
<td><a href="counters/C00123.md">C00123 Bot control</a></td>
<td><a href="counters/C00130.md">C00130 Mentorship: elders, youth, credit. Learn vicariously.</a></td>
<td><a href="counters/C00133.md">C00133 Deplatform Account*</a></td>
<td><a href="counters/C00148.md">C00148 Add random links to network graphs</a></td>
</tr>
<tr>
<td><a href="counters/C00004.md">C00004 Managing like a chronic disease</a></td>
<td><a href="counters/C00030.md">C00030 Develop a compelling counter narrative (truth based)</a></td>
<td><a href="counters/C00035.md">C00035 Friction</a></td>
<td><a href="counters/C00051.md">C00051 Phishing prevention education etc</a></td>
<td><a href="counters/C00066.md">C00066 Co-opt a hashtag and drown it out (hijack it back)</a></td>
<td><a href="counters/C00072.md">C00072 Content censorship in non-relevant domains e.g. Pinterest antivax</a></td>
<td><a href="counters/C00099.md">C00099 Strengthen verification methods</a></td>
<td><a href="counters/C00114.md">C00114 Don't engage with payloads</a></td>
<td><a href="counters/C00124.md">C00124 Don't feed the trolls</a></td>
<td> </td>
<td><a href="counters/C00135.md">C00135 Deplatform message groups and/or message boards</a></td>
<td><a href="counters/C00149.md">C00149 Poison the monitoring & evaluation data</a></td>
</tr>
<tr>
<td><a href="counters/C00005.md">C00005 Policy: makers, terminology, elements: a) broad, b) specific</a></td>
<td><a href="counters/C00031.md">C00031 Dilute the core narrative - create multiple permutations, target / amplify</a></td>
<td><a href="counters/C00036.md">C00036 Infiltrate the in-group to discredit leaders (divide)</a></td>
<td><a href="counters/C00052.md">C00052 Infiltrate platforms</a></td>
<td><a href="counters/C00067.md">C00067 Denigrate the recipient/ project (of online funding)</a></td>
<td><a href="counters/C00073.md">C00073 Educate on how to handle info pollution. Push out targeted education on why it's pollution</a></td>
<td><a href="counters/C00100.md">C00100 Hashtag jacking</a></td>
<td><a href="counters/C00115.md">C00115 Expose actor and intentions</a></td>
<td><a href="counters/C00125.md">C00125 Prepare the population with pre-announcements</a></td>
<td> </td>
<td><a href="counters/C00136.md">C00136 Microtarget most likely targets then send them countermessages</a></td>
<td> </td>
</tr>
<tr>
<td><a href="counters/C00006.md">C00006 Charge for social media</a></td>
<td><a href="counters/C00032.md">C00032 Hijack content and link to truth- based info (platform) </a></td>
<td><a href="counters/C00039.md">C00039 Standard reporting for false profiles</a></td>
<td><a href="counters/C00053.md">C00053 Delete old accounts / Remove unused social media accounts</a></td>
<td><a href="counters/C00068.md">C00068 Expose online funding as fake</a></td>
<td><a href="counters/C00074.md">C00074 Identify identical content and mass deplatform</a></td>
<td><a href="counters/C00101.md">C00101 Create participant friction</a></td>
<td><a href="counters/C00116.md">C00116 Provide proof of involvement</a></td>
<td><a href="counters/C00126.md">C00126 Social media amber alert</a></td>
<td> </td>
<td><a href="counters/C00137.md">C00137 Pollute the AB-testing data feeds</a></td>
<td> </td>
</tr>
<tr>
<td><a href="counters/C00007.md">C00007 Create framework for BetterBusinessBureau (BBB) for news media</a></td>
<td> </td>
<td><a href="counters/C00040.md">C00040 third party verification for people</a></td>
<td><a href="counters/C00054.md">C00054 Media literacy training. </a></td>
<td><a href="counters/C00069.md">C00069 Mark clickbait visually</a></td>
<td><a href="counters/C00075.md">C00075 normalise language</a></td>
<td><a href="counters/C00102.md">C00102 Make repeat voting harder</a></td>
<td><a href="counters/C00117.md">C00117 Downgrade de-amplify label promote counter to disinformation</a></td>
<td><a href="counters/C00128.md">C00128 Create friction by marking content with ridicule or other "decelerants"</a></td>
<td> </td>
<td><a href="counters/C00138.md">C00138 Spam domestic actors with lawsuits</a></td>
<td> </td>
</tr>
<tr>
<td><a href="counters/C00008.md">C00008 Create shared fact-checking database</a></td>
<td> </td>
<td><a href="counters/C00042.md">C00042 Address truth contained in narratives</a></td>
<td><a href="counters/C00055.md">C00055 Empower existing regulators to govern social media</a></td>
<td><a href="counters/C00216.md">C00216 Use advertiser controls to stem flow of funds to bad actors</a></td>
<td><a href="counters/C00076.md">C00076 Prohibit images in political discourse channels</a></td>
<td><a href="counters/C00103.md">C00103 Create a bot that engages / distract trolls</a></td>
<td><a href="counters/C00118.md">C00118 Repurpose images with new text</a></td>
<td><a href="counters/C00151.md">C00151 “fight in the light”</a></td>
<td> </td>
<td><a href="counters/C00139.md">C00139 Weaponise youtube content matrices</a></td>
<td> </td>
</tr>
<tr>
<td><a href="counters/C00009.md">C00009 Educate high profile influencers on best practices</a></td>
<td> </td>
<td><a href="counters/C00043.md">C00043 Detect hijacked accounts and reallocate them </a></td>
<td><a href="counters/C00056.md">C00056 Get off social media</a></td>
<td> </td>
<td><a href="counters/C00077.md">C00077 Active defence: replay "develop people"</a></td>
<td><a href="counters/C00105.md">C00105 Buy more advertising than the adversary to shift influence and algorithms</a></td>
<td><a href="counters/C00119.md">C00119 Engage payload and debunk. Provide link to facts. </a></td>
<td><a href="counters/C00156.md">C00156 Better tell the U.S., NATO, and EU story.</a></td>
<td> </td>
<td><a href="counters/C00140.md">C00140 "Bomb" link shorteners with lots of calls</a></td>
<td> </td>
</tr>
<tr>
<td><a href="counters/C00010.md">C00010 Enhanced privacy regulation for social media</a></td>
<td> </td>
<td><a href="counters/C00044.md">C00044 Keep people from posting to social media immediately</a></td>
<td><a href="counters/C00057.md">C00057 Privacy standards</a></td>
<td> </td>
<td><a href="counters/C00078.md">C00078 Change Search Algorithms for Disinformation Content. More specifically, change image search algorithms for hate groups and extremists</a></td>
<td><a href="counters/C00106.md">C00106 Click-bait centrist content</a></td>
<td><a href="counters/C00120.md">C00120 Open dialogue about design of platforms to produce different outcomes</a></td>
<td><a href="counters/C00158.md">C00158 Use training to build the resilience of at-risk populations.</a></td>
<td> </td>
<td><a href="counters/C00141.md">C00141 "Hey this story is old" popup when messaging with old URL</a></td>
<td> </td>
</tr>
<tr>
<td><a href="counters/C00011.md">C00011 Media literacy. Games to identify fake news</a></td>
<td> </td>
<td><a href="counters/C00045.md">C00045 S4d detection and re-allocation approaches</a></td>
<td><a href="counters/C00058.md">C00058 Report crowdfunder as violator</a></td>
<td> </td>
<td><a href="counters/C00079.md">C00079 Change search algorithms for hate and extremist queries to show content sympathetic to opposite side</a></td>
<td><a href="counters/C00107.md">C00107 Content moderation</a></td>
<td><a href="counters/C00121.md">C00121 Tool transparency and literacy for channels people follow. </a></td>
<td><a href="counters/C00169.md">C00169 develop a creative content hub</a></td>
<td> </td>
<td><a href="counters/C00142.md">C00142 "This has been disproved - do you want to forward it"</a></td>
<td> </td>
</tr>
<tr>
<td><a href="counters/C00012.md">C00012 Platform regulation</a></td>
<td> </td>
<td><a href="counters/C00046.md">C00046 Marginalise and discredit extremist</a></td>
<td><a href="counters/C00059.md">C00059 Verification of project before posting (counters funding campaigns)</a></td>
<td> </td>
<td><a href="counters/C00080.md">C00080 Create competing narrative</a></td>
<td><a href="counters/C00109.md">C00109 De-escalation</a></td>
<td><a href="counters/C00154.md">C00154 Ask media not to report false information</a></td>
<td><a href="counters/C00178.md">C00178 Fill information voids with non-disinformation content</a></td>
<td> </td>
<td><a href="counters/C00143.md">C00143 (botnet) DMCA takedown requests to waste group time</a></td>
<td> </td>
</tr>
<tr>
<td><a href="counters/C00013.md">C00013 Rating framework for news - full transcripts, link source, add items, BBB for news</a></td>
<td> </td>
<td><a href="counters/C00047.md">C00047 Coordinated inauthentics</a></td>
<td><a href="counters/C00060.md">C00060 Enhanced legal enforcement against for-profit follower/engagement factories</a></td>
<td> </td>
<td><a href="counters/C00081.md">C00081 Discredit by pointing out the "noise" and informing public that "flooding" is a technique of disinformation campaigns; point out intended objective of "noise"</a></td>
<td><a href="counters/C00110.md">C00110 Monetize centrist SEO by subsidizing the difference in greater clicks towards extremist content</a></td>
<td><a href="counters/C00188.md">C00188 Newsroom/Journalist training to counter SEO influence</a></td>
<td><a href="counters/C00182.md">C00182 malware detection/quarantine/deletion</a></td>
<td> </td>
<td><a href="counters/C00144.md">C00144 Buy out troll farm employees / offer them jobs</a></td>
<td> </td>
</tr>
<tr>
<td><a href="counters/C00014.md">C00014 Real-time updates to fact-checking database</a></td>
<td> </td>
<td><a href="counters/C00048.md">C00048 Name and Shame</a></td>
<td><a href="counters/C00061.md">C00061 Innoculating at language</a></td>
<td> </td>
<td><a href="counters/C00082.md">C00082 Ground truthing as automated response to pollution</a></td>
<td><a href="counters/C00111.md">C00111 Present sympathetic views of opposite side</a></td>
<td><a href="counters/C00193.md">C00193 promotion of a “higher standard of journalism”</a></td>
<td><a href="counters/C00184.md">C00184 Media exposure</a></td>
<td> </td>
<td><a href="counters/C00145.md">C00145 Pollute the data voids with wholesome content (Kittens! Babyshark!)</a></td>
<td> </td>
</tr>
<tr>
<td><a href="counters/C00015.md">C00015 Reputation scores for social media users</a></td>
<td> </td>
<td><a href="counters/C00150.md">C00150 “calling them out”</a></td>
<td><a href="counters/C00062.md">C00062 Free open library sources worldwide</a></td>
<td> </td>
<td><a href="counters/C00084.md">C00084 Steal their truths</a></td>
<td><a href="counters/C00195.md">C00195 Redirect Method</a></td>
<td><a href="counters/C00203.md">C00203 Stop offering press credentials to propaganda outlets</a></td>
<td><a href="counters/C00190.md">C00190 open engagement with civil society</a></td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td><a href="counters/C00016.md">C00016 Social media as a privilege not right</a></td>
<td> </td>
<td><a href="counters/C00155.md">C00155 Ban incident actors from funding sites</a></td>
<td><a href="counters/C00152.md">C00152 “name and shame”</a></td>
<td> </td>
<td><a href="counters/C00085.md">C00085 Demuting content</a></td>
<td><a href="counters/C00196.md">C00196 Include the role of social media in the regulatory framework for media</a></td>
<td><a href="counters/C00204.md">C00204 Strengthen local media</a></td>
<td><a href="counters/C00194.md">C00194 Provide an alternative to Russian information by expanding and improving local content.</a></td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td><a href="counters/C00017.md">C00017 Media campaign promoting in-group to out-group in person communication / activities</a></td>
<td> </td>
<td><a href="counters/C00160.md">C00160 find and train influencers</a></td>
<td><a href="counters/C00157.md">C00157 Build alternative news sources</a></td>
<td> </td>
<td><a href="counters/C00086.md">C00086 Distract from noise with addictive content</a></td>
<td><a href="counters/C00214.md">C00214 Create policy that makes social media police disinformation</a></td>
<td> </td>
<td><a href="counters/C00200.md">C00200 Respected figure (influencer) disavows misinfo</a></td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td><a href="counters/C00018.md">C00018 Promote constructive communication by shaming division-enablers</a></td>
<td> </td>
<td><a href="counters/C00164.md">C00164 compatriot policy</a></td>
<td><a href="counters/C00162.md">C00162 collect data/map constellations of Russian“civil society”. Unravel/target the Potemkin villages</a></td>
<td> </td>
<td><a href="counters/C00087.md">C00087 Make more noise</a></td>
<td><a href="counters/C00215.md">C00215 Use fraud legislation to clean up social media</a></td>
<td> </td>
<td><a href="counters/C00211.md">C00211 Use humorous counter-narratives</a></td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td><a href="counters/C00019.md">C00019 Promote playbooks to call out division-enablers</a></td>
<td> </td>
<td><a href="counters/C00170.md">C00170 elevate information as a critical domain of statecraft</a></td>
<td><a href="counters/C00174.md">C00174 Free and Fair Press</a></td>
<td> </td>
<td><a href="counters/C00088.md">C00088 Poison pill recasting of message</a></td>
<td><a href="counters/C00217.md">C00217 Registries alert when large batches of newsy URLs get registered together</a></td>
<td> </td>
<td><a href="counters/C00212.md">C00212 build public resilence by making civil society more vibrant</a></td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td><a href="counters/C00020.md">C00020 Deligitimise the 24 hour news cycle</a></td>
<td> </td>
<td><a href="counters/C00179.md">C00179 Identify, monitor, and, if necessary, target Russia-based nonattributed social media accounts </a></td>
<td> </td>
<td> </td>
<td><a href="counters/C00089.md">C00089 Throttle number of forwards</a></td>
<td> </td>
<td> </td>
<td><a href="counters/C00218.md">C00218 Censorship</a></td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td><a href="counters/C00021.md">C00021 Encourage in-person communication</a></td>
<td> </td>
<td><a href="counters/C00189.md">C00189 Ongoing analysis/monitoring of "flagged" profiles</a></td>
<td> </td>
<td> </td>
<td><a href="counters/C00090.md">C00090 Fake engagement system</a></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td><a href="counters/C00022.md">C00022 Innoculate. Positive campaign to promote feeling of safety - to counter ability and fear based attacks</a></td>
<td> </td>
<td><a href="counters/C00197.md">C00197 remove suspicious facebook accounts</a></td>
<td> </td>
<td> </td>
<td><a href="counters/C00091.md">C00091 Honeypot social community</a></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td><a href="counters/C00023.md">C00023 Promote civility as an identity that people will defend</a></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td><a href="counters/C00092.md">C00092 Establish a truth teller reputation score for individuals with many followers</a></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td><a href="counters/C00024.md">C00024 Promote constructive narratives i.e. not polarising. Pro-life, pro-choice, or pro-USA?</a></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td><a href="counters/C00093.md">C00093 Establish tailored code of conduct for individuals with many followers</a></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td><a href="counters/C00025.md">C00025 Promote identity neutral narratives</a></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td><a href="counters/C00094.md">C00094 Force full disclosure on corporate sponsor of research</a></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td><a href="counters/C00026.md">C00026 Shore up democracy based messages (peace, freedom) - make it sexy</a></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td><a href="counters/C00095.md">C00095 Keep score</a></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td><a href="counters/C00027.md">C00027 Create culture of civility</a></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td><a href="counters/C00096.md">C00096 Strengthen institutions that are always truth tellers</a></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td><a href="counters/C00153.md">C00153 Use offensive cyber action</a></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td><a href="counters/C00165.md">C00165 Limit access to alterable documents</a></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td><a href="counters/C00159.md">C00159 Campaign mindset and associated toolbox</a></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td><a href="counters/C00167.md">C00167 Deploy Information and Narrative-Building in Service of Statecraft</a></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td><a href="counters/C00161.md">C00161 Coalition Building and Third-Party Inducements:</a></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td><a href="counters/C00171.md">C00171 social media content take-downs</a></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td><a href="counters/C00176.md">C00176 Improve Coordination with and feedback from the U.S. private sector</a></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td><a href="counters/C00172.md">C00172 social media page removal</a></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td><a href="counters/C00205.md">C00205 strong dialogue between the federal government and private sector to encourage better reporting</a></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td><a href="counters/C00202.md">C00202 Set data 'honeytraps'</a></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td><a href="counters/C00207.md">C00207 tit-for-tat campaign</a></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td><a href="counters/C00210.md">C00210 Use encrypted apps for confidential communication</a></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td><a href="counters/C00219.md">C00219 Add metadata to content - out of the control of the adversary</a></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
</tr>
</table>

Просмотреть файл

@ -1,4 +1,4 @@
# AMITT Latest Framework:
# AMITT Red: Latest Framework
<table border="1">
<tr>

35
generated_csvs/counters_tactics_table.csv Обычный файл
Просмотреть файл

@ -0,0 +1,35 @@
P01,P01,P02,P02,P02,P02,P02,P03,P03,P03,P03,P04
TA01,TA02,TA03,TA04,TA05,TA06,TA07,TA08,TA09,TA10,TA11,TA12
C00001,C00028,C00033,C00049,C00063,C00070,C00097,C00112,C00122,C00129,C00131,C00147
C00003,C00029,C00034,C00050,C00065,C00071,C00098,C00113,C00123,C00130,C00133,C00148
C00004,C00030,C00035,C00051,C00066,C00072,C00099,C00114,C00124,,C00135,C00149
C00005,C00031,C00036,C00052,C00067,C00073,C00100,C00115,C00125,,C00136,
C00006,C00032,C00039,C00053,C00068,C00074,C00101,C00116,C00126,,C00137,
C00007,,C00040,C00054,C00069,C00075,C00102,C00117,C00128,,C00138,
C00008,,C00042,C00055,C00216,C00076,C00103,C00118,C00151,,C00139,
C00009,,C00043,C00056,,C00077,C00105,C00119,C00156,,C00140,
C00010,,C00044,C00057,,C00078,C00106,C00120,C00158,,C00141,
C00011,,C00045,C00058,,C00079,C00107,C00121,C00169,,C00142,
C00012,,C00046,C00059,,C00080,C00109,C00154,C00178,,C00143,
C00013,,C00047,C00060,,C00081,C00110,C00188,C00182,,C00144,
C00014,,C00048,C00061,,C00082,C00111,C00193,C00184,,C00145,
C00015,,C00150,C00062,,C00084,C00195,C00203,C00190,,,
C00016,,C00155,C00152,,C00085,C00196,C00204,C00194,,,
C00017,,C00160,C00157,,C00086,C00214,,C00200,,,
C00018,,C00164,C00162,,C00087,C00215,,C00211,,,
C00019,,C00170,C00174,,C00088,C00217,,C00212,,,
C00020,,C00179,,,C00089,,,C00218,,,
C00021,,C00189,,,C00090,,,,,,
C00022,,C00197,,,C00091,,,,,,
C00023,,,,,C00092,,,,,,
C00024,,,,,C00093,,,,,,
C00025,,,,,C00094,,,,,,
C00026,,,,,C00095,,,,,,
C00027,,,,,C00096,,,,,,
C00153,,,,,C00165,,,,,,
C00159,,,,,C00167,,,,,,
C00161,,,,,C00171,,,,,,
C00176,,,,,C00172,,,,,,
C00205,,,,,C00202,,,,,,
C00207,,,,,C00210,,,,,,
,,,,,C00219,,,,,,
1 P01 P01 P02 P02 P02 P02 P02 P03 P03 P03 P03 P04
2 TA01 TA02 TA03 TA04 TA05 TA06 TA07 TA08 TA09 TA10 TA11 TA12
3 C00001 C00028 C00033 C00049 C00063 C00070 C00097 C00112 C00122 C00129 C00131 C00147
4 C00003 C00029 C00034 C00050 C00065 C00071 C00098 C00113 C00123 C00130 C00133 C00148
5 C00004 C00030 C00035 C00051 C00066 C00072 C00099 C00114 C00124 C00135 C00149
6 C00005 C00031 C00036 C00052 C00067 C00073 C00100 C00115 C00125 C00136
7 C00006 C00032 C00039 C00053 C00068 C00074 C00101 C00116 C00126 C00137
8 C00007 C00040 C00054 C00069 C00075 C00102 C00117 C00128 C00138
9 C00008 C00042 C00055 C00216 C00076 C00103 C00118 C00151 C00139
10 C00009 C00043 C00056 C00077 C00105 C00119 C00156 C00140
11 C00010 C00044 C00057 C00078 C00106 C00120 C00158 C00141
12 C00011 C00045 C00058 C00079 C00107 C00121 C00169 C00142
13 C00012 C00046 C00059 C00080 C00109 C00154 C00178 C00143
14 C00013 C00047 C00060 C00081 C00110 C00188 C00182 C00144
15 C00014 C00048 C00061 C00082 C00111 C00193 C00184 C00145
16 C00015 C00150 C00062 C00084 C00195 C00203 C00190
17 C00016 C00155 C00152 C00085 C00196 C00204 C00194
18 C00017 C00160 C00157 C00086 C00214 C00200
19 C00018 C00164 C00162 C00087 C00215 C00211
20 C00019 C00170 C00174 C00088 C00217 C00212
21 C00020 C00179 C00089 C00218
22 C00021 C00189 C00090
23 C00022 C00197 C00091
24 C00023 C00092
25 C00024 C00093
26 C00025 C00094
27 C00026 C00095
28 C00027 C00096
29 C00153 C00165
30 C00159 C00167
31 C00161 C00171
32 C00176 C00172
33 C00205 C00202
34 C00207 C00210
35 C00219