| rfc9424.original.xml | rfc9424.xml | |||
|---|---|---|---|---|
| <?xml version='1.0' encoding='utf-8'?> | <?xml version="1.0" encoding="UTF-8"?> | |||
| <!DOCTYPE rfc [ | <!DOCTYPE rfc [ | |||
| <!ENTITY nbsp " "> | <!ENTITY nbsp " "> | |||
| <!ENTITY zwsp "​"> | <!ENTITY zwsp "​"> | |||
| <!ENTITY nbhy "‑"> | <!ENTITY nbhy "‑"> | |||
| <!ENTITY wj "⁠"> | <!ENTITY wj "⁠"> | |||
| ]> | ]> | |||
| <!-- This template is for creating an Internet Draft using xml2rfc, | ||||
| which is available here: http://xml2rfc.tools.ietf.org. --> | ||||
| <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?> | ||||
| <!-- used by XSLT processors --> | ||||
| <!-- For a complete list and description of processing instructions (PIs), | ||||
| please see http://xml2rfc.tools.ietf.org/authoring/README.html. --> | ||||
| <!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds | ||||
| might want to use. | ||||
| (Here they are set differently than their defaults in xml2rfc v1.32) --> | ||||
| <?rfc strict="yes" ?> | ||||
| <!-- give errors regarding ID-nits and DTD validation --> | ||||
| <!-- control the table of contents (ToC) --> | ||||
| <?rfc toc="yes"?> | ||||
| <!-- generate a ToC --> | ||||
| <?rfc tocdepth="4"?> | ||||
| <!-- the number of levels of subsections in ToC. default: 3 --> | ||||
| <!-- control references --> | ||||
| <?rfc symrefs="yes"?> | ||||
| <!-- use symbolic references tags, i.e, [RFC2119] instead of [1] --> | ||||
| <?rfc sortrefs="yes" ?> | ||||
| <!-- sort the reference entries alphabetically --> | ||||
| <!-- control vertical white space | ||||
| (using these PIs as follows is recommended by the RFC Editor) --> | ||||
| <?rfc compact="yes" ?> | ||||
| <!-- do not start each main section on a new page --> | ||||
| <?rfc subcompact="no" ?> | ||||
| <!-- keep one blank line between list items --> | ||||
| <!-- end of list of popular I-D processing instructions --> | ||||
| <rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="info" docName="draft-i | ||||
| etf-opsec-indicators-of-compromise-04" ipr="trust200902" obsoletes="" updates="" | ||||
| submissionType="IETF" xml:lang="en" tocInclude="true" tocDepth="4" symRefs="tru | ||||
| e" sortRefs="true" version="3"> | ||||
| <!-- xml2rfc v2v3 conversion 3.12.0 --> | ||||
| <!-- category values: std, bcp, info, exp, and historic | ||||
| ipr values: full3667, noModification3667, noDerivatives3667 | ||||
| you can add the attributes updates="NNNN" and obsoletes="NNNN" | ||||
| they will automatically be output with "(if approved)" --> | ||||
| <!-- ***** FRONT MATTER ***** --> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="info" ipr="trust200902 " number="9424" docName="draft-ietf-opsec-indicators-of-compromise-04" obsoletes ="" updates="" submissionType="IETF" consensus="true" xml:lang="en" tocInclude=" true" tocDepth="4" symRefs="true" sortRefs="true" version="3"> | |||
| <front> | <front> | |||
| <!-- The abbreviated title is used in the page header - it is only necessary | <title abbrev="Indicators of Compromise">Indicators of Compromise (IoCs) | |||
| if the | and Their Role in Attack Defence</title> | |||
| full title is longer than 39 characters --> | <seriesInfo name="RFC" value="9424"/> | |||
| <title abbrev="Indicators of Compromise">Indicators of Compromise (IoCs) and | ||||
| Their Role in Attack Defence</title> | ||||
| <seriesInfo name="Internet-Draft" value="draft-ietf-opsec-indicators-of-comp | ||||
| romise-04"/> | ||||
| <!-- add 'role="editor"' below for the editors if appropriate --> | ||||
| <author fullname="Kirsty Paine" initials="K." surname="Paine"> | <author fullname="Kirsty Paine" initials="K." surname="Paine"> | |||
| <organization>Splunk Inc.</organization> | <organization>Splunk Inc.</organization> | |||
| <address> | <address> | |||
| <email>kirsty.ietf@gmail.com</email> | <email>kirsty.ietf@gmail.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Ollie Whitehouse" initials="O." surname="Whitehouse"> | <author fullname="Ollie Whitehouse" initials="O." surname="Whitehouse"> | |||
| <organization>Binary Firefly</organization> | <organization>Binary Firefly</organization> | |||
| <address> | <address> | |||
| skipping to change at line 76 ¶ | skipping to change at line 40 ¶ | |||
| <address> | <address> | |||
| <email>james.sellwood.ietf@gmail.com</email> | <email>james.sellwood.ietf@gmail.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author fullname="Andrew Shaw" initials="A." surname="Shaw"> | <author fullname="Andrew Shaw" initials="A." surname="Shaw"> | |||
| <organization>UK National Cyber Security Centre</organization> | <organization>UK National Cyber Security Centre</organization> | |||
| <address> | <address> | |||
| <email>andrew.s2@ncsc.gov.uk</email> | <email>andrew.s2@ncsc.gov.uk</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <date year="2023"/> | <date year="2023" month="August"/> | |||
| <!-- If the month and year are both specified and are the current ones, xml2 | ||||
| rfc will fill | ||||
| in the current day for you. If only the current year is specified, xml2 | ||||
| rfc will fill | ||||
| in the current day and month for you. If the year is not the current one | ||||
| , it is | ||||
| necessary to specify at least a month (xml2rfc assumes day="1" if not sp | ||||
| ecified for the | ||||
| purpose of calculating the expiry date). With drafts it is normally suf | ||||
| ficient to | ||||
| specify just the year. --> | ||||
| <!-- Meta-data Declarations --> | ||||
| <area>General</area> | <area>General</area> | |||
| <workgroup>OPSEC</workgroup> | <workgroup>OPSEC</workgroup> | |||
| <!-- WG name at the upperleft corner of the doc, | ||||
| IETF is fine for individual submissions. | ||||
| If this element is not present, the default is "Network Working Group", | ||||
| which is used by the RFC Editor as a nod to the history of the IETF. -- | ||||
| > | ||||
| <keyword>IoC</keyword> | <keyword>IoC</keyword> | |||
| <keyword>Attack Defence</keyword> | <keyword>Attack Defence</keyword> | |||
| <!-- Keywords will be incorporated into HTML output | ||||
| files in a meta tag but they have no effect on text or nroff | ||||
| output. If you submit your draft to the RFC Editor, the | ||||
| keywords will be used for the search engine. --> | ||||
| <abstract> | <abstract> | |||
| <t>Cyber defenders frequently rely on Indicators of Compromise (IoCs) to | <t>Cyber defenders frequently rely on Indicators of Compromise (IoCs) to | |||
| identify, trace, and block malicious activity in networks or on | identify, trace, and block malicious activity in networks or on | |||
| endpoints. This draft reviews the fundamentals, opportunities, | endpoints. This document reviews the fundamentals, opportunities, | |||
| operational limitations, and recommendations for IoC use. It highlights th | operational limitations, and recommendations for IoC use. It highlights | |||
| e | the need for IoCs to be detectable in implementations of Internet | |||
| need for IoCs to be detectable in implementations of Internet protocols, | protocols, tools, and technologies -- both for the IoCs' initial | |||
| tools, and technologies - both for the IoCs' initial discovery and their | discovery and their use in detection -- and provides a foundation for | |||
| use in detection - and provides a foundation for approaches to | approaches to operational challenges in network security.</t> | |||
| operational challenges in network security.</t> | ||||
| </abstract> | </abstract> | |||
| </front> | </front> | |||
| <middle> | <middle> | |||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>Introduction</name> | <name>Introduction</name> | |||
| <t>This draft describes the various types of Indicator of Compromise (IoC) | <t>This document describes the various types of IoCs and how they are | |||
| and how they are used effectively in attack defence (often called cyber | used effectively in attack defence (often called "cyber defence"). It | |||
| defence). It introduces concepts such as the Pyramid of Pain <xref target= | introduces concepts such as the Pyramid of Pain <xref target="PoP" | |||
| "PoP" format="default"/> | format="default"/> and the IoC lifecycle to highlight how IoCs may be | |||
| and the IoC lifecycle to highlight how IoCs may be used to provide a broad | used to provide a broad range of defences. This document provides | |||
| range | suggestions for implementers of controls based on IoCs as well as | |||
| of defences. This draft provides suggestions for implementers of controls | potential operational limitations. Two case studies that demonstrate | |||
| based on IoCs, | the usefulness of IoCs for detecting and defending against real-world | |||
| as well as potential operational limitations. | attacks are included. One case study involves an intrusion set (a set of | |||
| Two case studies which demonstrate the usefulness of IoCs for detecting | malicious activity and behaviours attributed to one threat actor) known | |||
| and defending against real world attacks are included. One case study invo | as "APT33", and the other involves an attack tool called "Cobalt Strike". | |||
| lves an intrusion set | This | |||
| (a set of malicious activity and behaviours attributed to one threat actor | document is not a comprehensive report of APT33 or Cobalt Strike and is | |||
| ) known as APT33 and the other an | intended to be read alongside publicly published reports (referred to as | |||
| attack tool called Cobalt Strike. This document is not a comprehensive rep | "open-source material" among cyber intelligence practitioners) on these | |||
| ort of | threats (for example, <xref target="Symantec" format="default"/> and | |||
| APT33 or Cobalt Strike and is intended to be read alongside publicly publi | <xref target="NCCGroup" format="default"/>, respectively). </t> | |||
| shed | ||||
| reports (referred to as open source material among cyber intelligence prac | ||||
| titioners) on | ||||
| these threats (for example, <xref target="Symantec" format="default"/> and | ||||
| <xref target="NCCGroup" format="default"/>, respectively). </t> | ||||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>Terminology</name> | <name>Terminology</name> | |||
| <t>Attack defence: the activity of providing cyber security to an | <dl newline="true" spacing="normal"> | |||
| environment through the prevention, detection and response to | <dt>Attack defence:</dt><dd>The activity of providing cyber security to | |||
| an environment through the prevention of, detection of, and response to | ||||
| attempted and successful cyber intrusions. A successful defence can be | attempted and successful cyber intrusions. A successful defence can be | |||
| achieved through the blocking, monitoring and response to adversarial | achieved through blocking, monitoring, and responding to | |||
| activity at a network, endpoint or application levels. </t> | adversarial activity at the network, endpoint, or application levels. </dd | |||
| <t>Command and control (C2) server: an attacker-controlled server used | > | |||
| to communicate with, send commands to and receive data from compromised | <dt>Command and control (C2) server:</dt><dd> An attacker-controlled | |||
| machines. Communication between a C2 server and compromised hosts is | server used to communicate with, send commands to, and receive data from | |||
| called command and control traffic.</t> | compromised machines. Communication between a C2 server and compromised | |||
| <t>Domain Generation Algorithm (DGA): used in malware strains to periodica | hosts is called "command and control traffic".</dd> | |||
| lly generate domain names (via algorithm). | <dt>Domain Generation Algorithm (DGA):</dt><dd>The algorithm used in | |||
| Malware may use DGAs to compute a destination for C2 traffic, rather than | malware strains to periodically generate domain names (via algorithm). | |||
| relying on a pre-assigned list of static IP addresses or domains that can | Malware may use DGAs to compute a destination for C2 traffic rather | |||
| be | than relying on a pre-assigned list of static IP addresses or domains | |||
| blocked more easily when extracted from, or otherwise linked to, the malwa | that can be blocked more easily when extracted from, or otherwise linked | |||
| re.</t> | to, the malware.</dd> | |||
| <t>Kill chain: a model for conceptually breaking down a cyber intrusion in | <dt>Kill chain:</dt><dd>A model for conceptually breaking down a cyber | |||
| to | intrusion into stages of the attack from reconnaissance through to | |||
| stages of the attack from reconnaissance through to actioning the attacker | actioning the attacker's objectives. This model allows defenders to | |||
| 's | think about, discuss, plan for, and implement controls to defend against | |||
| objectives. This model allows defenders to think about, discuss, plan for, | discrete phases of an attacker's activity <xref target="KillChain" | |||
| and | format="default"/>.</dd> | |||
| implement controls to defend discrete phases of an attacker's activity | <dt>Tactics, Techniques, and Procedures (TTPs):</dt><dd>The way an | |||
| <xref target="KillChain" format="default"/>.</t> | adversary undertakes activities in the kill chain -- the choices made, | |||
| <t>Tactics, Techniques, and Procedures (TTPs): the way an adversary undert | methods followed, tools and infrastructure used, protocols employed, and | |||
| akes | commands executed. If they are distinct enough, aspects of an attacker's | |||
| activities in the kill chain - the choices made, methods followed, tools a | TTPs can form specific IoCs as if they were a fingerprint.</dd> | |||
| nd | <dt>Control (as defined by US NIST):</dt><dd>A safeguard or | |||
| infrastructure used, protocols employed, and commands executed. If they ar | countermeasure prescribed for an information system or an organisation | |||
| e | designed to protect the confidentiality, integrity, and availability of | |||
| distinct enough, aspects of an attacker's TTPs can form specific Indicator | its information and to meet a set of defined security | |||
| s of | requirements <xref target="NIST" format="default"/>. </dd> | |||
| Compromise (IoCs), as if they were a fingerprint.</t> | </dl> | |||
| <t>Control (as defined by US NIST): a safeguard or countermeasure prescrib | ||||
| ed for an | ||||
| information system or an organisation designed to protect the | ||||
| confidentiality, integrity, and availability of its information and to mee | ||||
| t a | ||||
| set of defined security requirements. <xref target="NIST" format="default" | ||||
| />. </t> | ||||
| </section> | </section> | |||
| <section anchor="what" numbered="true" toc="default"> | <section anchor="what" numbered="true" toc="default"> | |||
| <name>IoC Fundamentals</name> | <name>IoC Fundamentals</name> | |||
| <section anchor="sec-pop" numbered="true" toc="default"> | <section anchor="sec-pop" numbered="true" toc="default"> | |||
| <name>IoC Types and the Pyramid of Pain</name> | <name>IoC Types and the Pyramid of Pain</name> | |||
| <t>Indicators of Compromise (IoCs) are observable artefacts | <t>IoCs are observable artefacts relating to an attacker or their | |||
| relating to an attacker or their activities, such as their tactics, | activities, such as their tactics, techniques, procedures, and | |||
| techniques, procedures, and associated tooling and infrastructure. | associated tooling and infrastructure. These indicators can be | |||
| These indicators can be observed at network or endpoint (host) | observed at the network or endpoint (host) levels and can, with varying | |||
| levels and can, with varying degrees of confidence, help network | degrees of confidence, help network defenders to proactively block | |||
| defenders to proactively block malicious traffic or | malicious traffic or code execution, determine a cyber intrusion | |||
| code execution, determine a cyber intrusion occurred, or associate | occurred, or associate discovered activity to a known intrusion set | |||
| discovered activity to a known intrusion set and thereby potentially | and thereby potentially identify additional avenues for | |||
| identify additional avenues for investigation. IoCs are deployed to fire | investigation. IoCs are deployed to firewalls and other security | |||
| walls | control points by adding them to the list of indicators that the | |||
| and other security control points by adding them to the list of indicato | control point is searching for in the traffic that it is monitoring. | |||
| rs that | ||||
| the control point is searching for in the traffic that it is monitoring. | ||||
| When associated with malicious activity, the following are some examples of protocol-related IoCs: | When associated with malicious activity, the following are some examples of protocol-related IoCs: | |||
| </t> | </t> | |||
| <ul spacing="normal"> | <ul spacing="normal"> | |||
| <li>IPv4 and IPv6 addresses in network traffic.</li> | <li>IPv4 and IPv6 addresses in network traffic</li> | |||
| <li>Fully qualified domain names (FQDNs) in network traffic, DNS resol | <li>Fully Qualified Domain Names (FQDNs) in network traffic, DNS | |||
| ver caches or logs.</li> | resolver caches, or logs</li> | |||
| <li>TLS Server Name Indication values in network traffic.</li> | <li>TLS Server Name Indication values in network traffic</li> | |||
| <li>Code signing certificates in binaries.</li> | <li>Code-signing certificates in binaries</li> | |||
| <li>TLS certificate information (such as SHA256 hashes) in network tra | <li>TLS certificate information (such as SHA256 hashes) in network | |||
| ffic.</li> | traffic</li> | |||
| <li>Cryptographic hashes (e.g. MD5, SHA1 or SHA256) of malicious binar | <li>Cryptographic hashes (e.g., MD5, SHA1, or SHA256) of malicious | |||
| ies or scripts when calculated from network traffic or file system artefacts.</l | binaries or scripts when calculated from network traffic or file | |||
| i> | system artefacts</li> | |||
| <li>Attack tools (such as Mimikatz <xref target="Mimikatz" format="def | <li>Attack tools (such as Mimikatz <xref target="Mimikatz" | |||
| ault"/>) and their code structure | format="default"/>) and their code structure and execution | |||
| and execution characteristics.</li> | characteristics</li> | |||
| <li>Attack techniques, such as Kerberos golden tickets <xref target="G | <li>Attack techniques, such as Kerberos Golden Tickets <xref | |||
| oldenTicket" format="default"/> which can be observed in network traffic or syst | target="GoldenTicket" format="default"/>, that can be observed in | |||
| em artefacts.</li> | network traffic or system artefacts</li> | |||
| </ul> | </ul> | |||
| <t>The common types of IoC form a 'Pyramid of Pain' <xref target="PoP" f | <t>The common types of IoC form a Pyramid of Pain <xref target="PoP" | |||
| ormat="default"/> that informs | format="default"/> that informs prevention, detection, and mitigation | |||
| prevention, detection, and mitigation strategies. Each IoC type's | strategies. The position of each IoC type in the pyramid represents how | |||
| place in the pyramid represents how much 'pain' a typical adversary | much | |||
| experiences as part of changing the activity that produces that | "pain" a typical adversary experiences as part of changing the | |||
| artefact. The greater pain an adversary experiences (towards the top) | activity that produces that artefact. The greater pain an adversary | |||
| the less likely they are to change those aspects of their activity | experiences (towards the top), the less likely they are to change | |||
| and the longer the IoC is likely to reflect the attacker's intrusion | those aspects of their activity and the longer the IoC is likely to | |||
| set - i.e., the less fragile those IoCs will be from a defender's | reflect the attacker's intrusion set (i.e., the less fragile those | |||
| perspective. The layers of the PoP commonly range from hashes up to | IoCs will be from a defender's perspective). The layers of the PoP | |||
| TTPs, with the pain ranging from simply recompiling code to creating | commonly range from hashes up to TTPs, with the pain ranging from | |||
| a whole new attack strategy. Other types of IoC do exist and could be | simply recompiling code to creating a whole new attack strategy. Other | |||
| included in an extended version of the PoP should that assist the | types of IoC do exist and could be included in an extended version of | |||
| defender to understand and discuss intrusion sets most relevant to them. | the PoP should that assist the defender in understanding and | |||
| </t> | discussing intrusion sets most relevant to them.</t> | |||
| <figure anchor="pop_diagram"> | <figure anchor="pop_diagram"> | |||
| <artwork align="left" name="" type="" alt=""><![CDATA[ | <artwork align="left" name="" type="" alt=""><![CDATA[ | |||
| /\ | /\ | |||
| / \ MORE PAIN | / \ MORE PAIN | |||
| / \ LESS FRAGILE | / \ LESS FRAGILE | |||
| / \ LESS PRECISE | / \ LESS PRECISE | |||
| / TTPs \ | / TTPs \ | |||
| / \ / \ | / \ / \ | |||
| ============== | | ============== | | |||
| / \ | | / \ | | |||
| / Tools \ | | / Tools \ | | |||
| / \ | | / \ | | |||
| skipping to change at line 230 ¶ | skipping to change at line 194 ¶ | |||
| / \ | | / \ | | |||
| ====================================== | | ====================================== | | |||
| / \ | | / \ | | |||
| / IP Addresses \ | | / IP Addresses \ | | |||
| / \ \ / | / \ \ / | |||
| ============================================== | ============================================== | |||
| / \ LESS PAIN | / \ LESS PAIN | |||
| / Hash Values \ MORE FRAGILE | / Hash Values \ MORE FRAGILE | |||
| / \ MORE PRECISE | / \ MORE PRECISE | |||
| ====================================================== | ====================================================== | |||
| ]]></artwork> | ||||
| ]]></artwork> | ||||
| </figure> | </figure> | |||
| <t>On the lowest (and least painful) level are hashes of malicious files | ||||
| . | <t>On the lowest (and least painful) level are hashes of malicious | |||
| These are easy for a defender to gather and can be deployed to firewalls | files. These are easy for a defender to gather and can be deployed to | |||
| or endpoint protection to block malicious downloads or prevent code | firewalls or endpoint protection to block malicious downloads or | |||
| execution. While IoCs aren't the only way for defenders to do this | prevent code execution. While IoCs aren't the only way for defenders | |||
| kind of blocking, they are a quick, convenient, and unintrusive method. | to do this kind of blocking, they are a quick, convenient, and | |||
| Hashes are precise detections for individual files based on their binary | nonintrusive method. Hashes are precise detections for individual | |||
| content. To subvert this defence, however, an adversary need only | files based on their binary content. To subvert this defence, however, | |||
| recompile code, or otherwise modify the file content with some trivial | an adversary need only recompile code, or otherwise modify the file | |||
| changes, to modify the hash value.</t> | content with some trivial changes, to modify the hash value.</t> | |||
| <t>The next two levels are IP addresses and domain names. Interactions | <t>The next two levels are IP addresses and domain names. Interactions | |||
| with these may be blocked, with varying false positive rates | with these may be blocked, with varying false positive rates | |||
| (misidentifying non-malicious traffic as malicious, see | (misidentifying non-malicious traffic as malicious; see <xref | |||
| <xref target="sec-operational-limitations" format="default"/>), | target="sec-operational-limitations" format="default"/>), and often | |||
| and often cause more pain to an adversary to subvert than file hashes. | cause more pain to an adversary to subvert than file hashes. The | |||
| The adversary may have to change IP ranges, find a new provider, and | adversary may have to change IP ranges, find a new provider, and | |||
| change their code (e.g., if the IP address is hard-coded, rather than | change their code (e.g., if the IP address is hard-coded rather than | |||
| resolved). A similar situation applies to domain names, but in some case | resolved). A similar situation applies to domain names, but in some | |||
| s threat actors have specifically registered these to masquerade as a particular | cases, threat actors have specifically registered these to masquerade | |||
| organisation or to otherwise falsely imply or claim an association that will be | as a particular organisation or to otherwise falsely imply or claim an | |||
| convincing or misleading to those they are attacking. While the process and cos | association that will be convincing or misleading to those they are | |||
| t of registering new domain names are now unlikely to be prohibitive or distract | attacking. While the process and cost of registering new domain names | |||
| ing to many attackers, there is slightly greater pain in selecting unregistered, | are now unlikely to be prohibitive or distracting to many attackers, | |||
| but appropriate, domain names for such purposes.</t> | there is slightly greater pain in selecting unregistered, but | |||
| <t>Network and endpoint artefacts, such as a malware's beaconing pattern | appropriate, domain names for such purposes.</t> | |||
| on the network or the modified timestamps of files touched on an endpoin | <t>Network and endpoint artefacts, such as a malware's beaconing | |||
| t, | pattern on the network or the modified timestamps of files touched on | |||
| are harder still to change as they relate specifically to the attack | an endpoint, are harder still to change as they relate specifically to | |||
| taking place and, in some cases, may not be under the direct control | the attack taking place and, in some cases, may not be under the | |||
| of the attacker. However, more sophisticated attackers use TTPs or | direct control of the attacker. However, more sophisticated attackers | |||
| tooling that provide flexibility at this level (such as Cobalt Strike's | use TTPs or tooling that provides flexibility at this level (such as | |||
| malleable command and control <xref target="COBALT" format="default"/>) | Cobalt Strike's malleable command and control <xref target="COBALT" | |||
| or a means by which some artefacts | format="default"/>) or a means by which some artefacts can be masked | |||
| can be masked (see <xref target="Timestomp" format="default"/>).</t> | (see <xref target="Timestomp" format="default"/>).</t> | |||
| <t>Tools and TTPs form the top two levels of the pyramid; these levels | ||||
| describe a threat actor's methodology - the way they perform the attack. | <t>Tools and TTPs form the top two levels of the pyramid; these levels | |||
| The tools level refers specifically to the software (and less frequently | describe a threat actor's methodology -- the way they perform the | |||
| hardware) used to conduct the attack, whereas the TTPs level picks up on | attack. The tools level refers specifically to the software (and less | |||
| all the other aspects of the attack strategy. IoCs at these levels are | frequently, hardware) used to conduct the attack, whereas the TTPs | |||
| more complicated and complex - for example they can include the details | level picks up on all the other aspects of the attack strategy. IoCs | |||
| of how an attacker deploys malicious code to perform reconnaissance of | at these levels are more complicated and complex -- for example, they | |||
| a victim's network, that pivots laterally to a valuable endpoint, and | can include the details of how an attacker deploys malicious code to | |||
| then downloads a ransomware payload. TTPs and tools take | perform reconnaissance of a victim's network, pivots laterally to | |||
| intensive effort to diagnose on the part of the defender, but they are | a valuable endpoint, and then downloads a ransomware payload. TTPs and | |||
| fundamental to the attacker and campaign and hence incredibly painful | tools take intensive effort to diagnose on the part of the defender, | |||
| for the adversary to change.</t> | but they are fundamental to the attacker and campaign and hence | |||
| <t>The variation in discoverability of IoCs is indicated by the numbers | incredibly painful for the adversary to change.</t> | |||
| of IoCs in the open threat intelligence community Alienvault <xref targe | ||||
| t="ALIENVAULT" format="default"/>. | <t>The variation in discoverability of IoCs is indicated by the | |||
| As of January 2023, Alienvault contained: | numbers of IoCs in AlienVault, an open threat intelligence community | |||
| <xref target="ALIENVAULT" format="default"/>. As of January 2023, | ||||
| AlienVault contained: | ||||
| </t> | </t> | |||
| <ul spacing="normal"> | <ul spacing="normal"> | |||
| <li>Groups (i.e., combinations of TTPs): 631</li> | <li>Groups (i.e., combinations of TTPs): 631</li> | |||
| <li>Malware families (i.e., tools): ~27,000</li> | <li>Malware families (i.e., tools): ~27,000</li> | |||
| <li>URL: 2,854,918</li> | <li>URL: 2,854,918</li> | |||
| <li>Domain names: 64,769,363</li> | <li>Domain names: 64,769,363</li> | |||
| <li>IPv4 addresses: 5,427,762</li> | <li>IPv4 addresses: 5,427,762</li> | |||
| <li>IPv6 addresses: 12,009</li> | <li>IPv6 addresses: 12,009</li> | |||
| <li>SHA256 hash values: 5,452,442</li> | <li>SHA256 hash values: 5,452,442</li> | |||
| </ul> | </ul> | |||
| <t>The number of domain names appears out of sync with the other counts, | <t>The number of domain names appears out of sync with the other | |||
| which | counts, which reduce on the way up the PoP. This discrepancy warrants | |||
| reduce on the way up the PoP. This discrepancy warrants further research | further research; however, contributing factors may be the use of DGAs | |||
| ; | and the fact that threat actors use domain names to masquerade as | |||
| however, contributing factors may be the use of DGAs and the fact that t | legitimate organisations and so have added incentive for | |||
| hreat | creating new domain names as they are identified and confiscated.</t> | |||
| actors use domain names to masquerade as legitimate organisations and so | ||||
| have | ||||
| added incentive for creating new domain names as they are identified and | ||||
| confiscated.</t> | ||||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>IoC Lifecycle</name> | <name>IoC Lifecycle</name> | |||
| <t>To be of use to defenders, IoCs must first be discovered, assessed, s | <t>To be of use to defenders, IoCs must first be discovered, assessed, | |||
| hared, | shared, and deployed. When a logged activity is identified and | |||
| and deployed. When a logged activity is identified and correlated to an | correlated to an IoC, this detection triggers a reaction by the | |||
| IoC | defender, which may include an investigation, potentially leading to | |||
| this detection triggers a reaction by the defender which may include an | more IoCs being discovered, assessed, shared, and deployed. This cycle | |||
| investigation, potentially leading to more IoCs being discovered, assess | continues until the IoC is determined to no longer be | |||
| ed, | relevant, at which point it is removed from the control space.</t> | |||
| shared, and deployed. This cycle continues until such time that the IoC | ||||
| is | ||||
| determined to no longer be relevant, at which point it is removed from t | ||||
| he | ||||
| control space.</t> | ||||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>Discovery</name> | <name>Discovery</name> | |||
| <t>IoCs are discovered initially through manual investigation or | <t>IoCs are discovered initially through manual investigation or | |||
| automated analysis. They can be discovered in a range of sources, | automated analysis. They can be discovered in a range of sources, | |||
| including at endpoints and in the network (on the wire). They must eit | including at endpoints and in the network (on the wire). They must | |||
| her be | either be extracted from logs monitoring protocol packet captures, | |||
| extracted from logs monitoring protocol packet captures, code executio | code execution, or system activity (in the case of hashes, IP | |||
| n or | addresses, domain names, and network or endpoint artefacts) or be | |||
| system activity (in the case of hashes, IP addresses, domain names, | determined through analysis of attack activity or tooling. In some | |||
| and network or endpoint artefacts), or be determined through analysis | cases, discovery may be a reactive process, where IoCs from past or | |||
| of attack activity or tooling. In some cases, discovery may be a | current attacks are identified from the traces left behind. However, | |||
| reactive process, where IoCs from past or current attacks are | discovery may also result from proactive hunting for potential | |||
| identified from the traces left behind. However, discovery may also | future IoCs extrapolated from knowledge of past events (such as from | |||
| result from proactive hunting for potential future IoCs extrapolated | identifying attacker infrastructure by monitoring domain name | |||
| from knowledge of past events (such as from identifying attacker | registration patterns).</t> | |||
| infrastructure by monitoring domain name registration patterns).</t> | ||||
| <t>Crucially, for an IoC to be discovered, the indicator must be extra | <t>Crucially, for an IoC to be discovered, the indicator must be | |||
| ctable from | extractable from the Internet protocol, tool, or technology it is | |||
| the internet protocol, tool, or technology it is associated with. Iden | associated with. Identifying a particular exchange (or sequence of | |||
| tifying a | exchanged messages) related to an attack is of limited benefit if | |||
| particular exchange (or sequence of exchanged messages) related to an | indicators cannot be extracted or, once they are extracted, cannot | |||
| attack is of | be subsequently associated with a later related exchange of messages | |||
| limited benefit if indicators cannot be extracted, or, once they are e | or artefacts in the same, or in a different, protocol. If it is not | |||
| xtracted, cannot | possible to determine the source or destination of malicious attack | |||
| be subsequently associated with a later related exchange of messages o | traffic, it will not be possible to identify and block subsequent | |||
| r artefacts in the | attack traffic either.</t> | |||
| same, or in a different, protocol. If it is not possible to tell the s | ||||
| ource or | ||||
| destination of malicious attack traffic, it will not be possible to id | ||||
| entify and | ||||
| block subsequent attack traffic either.</t> | ||||
| </section> | </section> | |||
| <section anchor="sec-assessment" numbered="true" toc="default"> | <section anchor="sec-assessment" numbered="true" toc="default"> | |||
| <name>Assessment</name> | <name>Assessment</name> | |||
| <t>Defenders may treat different IoCs differently, depending on the Io | <t>Defenders may treat different IoCs differently, depending on the | |||
| Cs' quality | IoCs' quality and the defender's needs and capabilities. Defenders | |||
| and the defender's needs and capabilities. Defenders may, for example, | may, for example, place differing trust in IoCs depending on their | |||
| place differing trust in IoCs depending on their source, freshness, co | source, freshness, confidence level, or the associated threat. These | |||
| nfidence | decisions rely on associated contextual information recovered at the | |||
| level, or the associated threat. These decisions rely on associated co | point of discovery or provided when the IoC was shared.</t> | |||
| ntextual information recovered at the point of | <t>An IoC without context is not much use for network defence. On | |||
| discovery or provided when the IoC was shared.</t> | the other hand, an IoC delivered with context (for example, the | |||
| <t>An IoC without context is not much use for network defence. On the | threat actor it relates to, its role in an attack, the last time it | |||
| other | was seen in use, its expected lifetime, or other related IoCs) | |||
| hand, an IoC delivered with context (for example the threat actor it r | allows a network defender to make an informed choice on how to use | |||
| elates | it to protect their network (for example, simply log it, | |||
| to, its role in an attack, the last time it was seen in use, its expec | actively monitor it, or outright block it).</t> | |||
| ted | ||||
| lifetime, or other related IoCs) allows a network defender to make an | ||||
| informed choice on how to use it to protect their | ||||
| network - for example, whether to simply log it, actively monitor it, | ||||
| or | ||||
| out-right block it.</t> | ||||
| </section> | </section> | |||
| <section anchor="sec-sharing" numbered="true" toc="default"> | <section anchor="sec-sharing" numbered="true" toc="default"> | |||
| <name>Sharing</name> | <name>Sharing</name> | |||
| <t>Once discovered and assessed, IoCs are most helpful when deployed | <t>Once discovered and assessed, IoCs are most helpful when deployed | |||
| in such a way to have a broad impact on the detection or disruption | in such a way to have a broad impact on the detection or disruption | |||
| of threats, or shared at scale so many individuals and organisations | of threats or shared at scale so many individuals and | |||
| can defend themselves. An IoC may be shared | organisations can defend themselves. An IoC may be shared | |||
| individually (with appropriate context) in an unstructured manner or m | individually (with appropriate context) in an unstructured manner or | |||
| ay be | may be packaged alongside many other IoCs in a standardised format, | |||
| packaged alongside many other IoCs in a standardised format, such as S | such as Structured Threat Information Expression <xref target="STIX" | |||
| tructured | format="default"/>, Malware Information Sharing Platform (MISP) core | |||
| Threat Information Expression <xref target="STIX" format="default"/>, | <xref target="I-D.dulaunoy-misp-core-format" format="default"/>, | |||
| MISP | OpenIOC <xref target="OPENIOC" format="default"/>, and Incident | |||
| Core <xref target="MISPCORE" format="default"/>, OpenIOC <xref target= | Object Description Exchange Format (IODEF) <xref target="RFC7970" | |||
| "OPENIOC" format="default"/> | format="default"/>. This enables distribution via a structured feed, | |||
| and IODEF <xref target="RFC7970" format="default"/>. This enables dist | such as one implementing Trusted Automated Exchange of Intelligence | |||
| ribution via a | Information <xref target="TAXII" format="default"/>, or through a | |||
| structured feed, such as one implementing Trusted Automated Exchange o | Malware Information Sharing Platform <xref target="MISP" | |||
| f Intelligence | format="default"/>.</t> | |||
| Information <xref target="TAXII" format="default"/>, or through a Mal | ||||
| ware Information Sharing | <t>While some security companies and some membership-based groups | |||
| Platform <xref target="MISP" format="default"/>.</t> | (often dubbed "Information Sharing and Analysis Centres (ISACs)" or | |||
| <t>While some security companies and some membership-based groups ( | "Information Sharing and Analysis Organizations (ISAOs)") provide paid | |||
| often | intelligence feeds containing IoCs, there are various free IoC | |||
| dubbed Information Sharing and Analysis Centres (ISACs) or Information | sources available from individual security researchers up through | |||
| Sharing and Analysis Organizations (ISAOs)) provide paid intelligence | small trust groups to national governmental cyber security | |||
| feeds | organisations and international Computer Emergency Response Teams | |||
| containing IoCs, there are various free IoC sources available from ind | (CERTs). Whoever they are, sharers commonly indicate the extent to | |||
| ividual | which receivers may further distribute IoCs using frameworks like | |||
| security researchers up through small trust groups to national governm | the Traffic Light Protocol <xref target="TLP" format="default"/>. At | |||
| ental | its simplest, this indicates that the receiver may share with anyone | |||
| cyber security organisations and international Computer Emergency Resp | (TLP:CLEAR), share within the defined sharing community (TLP:GREEN), | |||
| onse | share within their organisation and their clients | |||
| Teams (CERTs). Whomever they are, sharers commonly indicate the extent | (TLP:AMBER+STRICT), share just within their organisation | |||
| to which | (TLP:AMBER), or not share with anyone outside the original specific | |||
| receivers may further distribute IoCs using frameworks like the Traffi | IoC exchange (TLP:RED).</t> | |||
| c Light Protocol | ||||
| <xref target="TLP" format="default"/>. At its simplest, this indicates | ||||
| that the receiver may | ||||
| share with anyone (TLP:CLEAR), share within the defined sharing commun | ||||
| ity (TLP: | ||||
| GREEN), share within their organisation and their clients (TLP:AMBER+S | ||||
| TRICT), share | ||||
| just within their organisation (TLP:AMBER), or not share with anyone | ||||
| outside the original specific IoC exchange (TLP:RED).</t> | ||||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>Deployment</name> | <name>Deployment</name> | |||
| <t>For IoCs to provide defence-in-depth (see <xref target="depth" form | <t>For IoCs to provide defence-in-depth (see <xref target="depth" | |||
| at="default"/>) | format="default"/>) and so cope with different points of failure, | |||
| and so cope with different points of failure, correct deployment is im | correct deployment is important. Different IoCs will detect | |||
| portant. | malicious activity at different layers of the network stack and at | |||
| Different IoCs will detect malicious activity at different layers of t | different stages of an attack, so deploying a range of IoCs enables | |||
| he network | layers of defence at each security control, reinforcing the benefits | |||
| stack and at different stages of an attack, so deploying a range of Io | of using multiple security controls as part of a defence-in-depth | |||
| Cs enables | solution. The network security controls and endpoint solutions where | |||
| layers of defence at each security control, reinforcing the benefits o | they are deployed need to have sufficient privilege, and sufficient | |||
| f using | visibility, to detect IoCs and to act on them. Wherever IoCs exist, | |||
| multiple security controls as part of a defence-in-depth solution. The | they need to be made available to security controls and associated | |||
| network security controls and endpoint solutions where they are deploy | apparatus to ensure they can be deployed quickly and widely. While | |||
| ed need to | IoCs may be manually assessed after discovery or receipt, | |||
| have sufficient privilege, and sufficient visibility, to detect IoCs a | significant advantage may be gained by automatically ingesting, | |||
| nd to act | processing, assessing, and deploying IoCs from logs or intelligence | |||
| on them. Wherever IoCs exist they need to be | feeds to the appropriate security controls. As not all IoCs are of | |||
| made available to security controls and associated apparatus to ensure | the same quality, confidence in IoCs drawn from each threat | |||
| they can | intelligence feed should be considered when deciding whether to | |||
| be deployed quickly and widely. While IoCs may be manually assessed af | deploy IoCs automatically in this way.</t> | |||
| ter discovery | <t>IoCs can be particularly effective at mitigating malicious | |||
| or receipt, significant advantage may be gained by automatically inges | activity when deployed in security controls with the broadest | |||
| ting, | impact. This could be achieved by developers of security products or | |||
| processing, assessing, and deploying IoCs from logs or intelligence fe | firewalls adding support for the distribution and consumption of | |||
| eds to the | IoCs directly to their products, without each user having to do it, | |||
| appropriate security controls. As not all IoCs are of the same quality | thus addressing the threat for the whole user base at once in a | |||
| , confidence | machine-scalable and automated manner. This could also be achieved | |||
| in IoCs drawn from each threat intelligence feed should | within an enterprise by ensuring those control points with the | |||
| be considered when deciding whether to deploy IoCs automatically in th | widest aperture (for example, enterprise-wide DNS resolvers) are able | |||
| is way.</t> | to act automatically based on IoC feeds.</t> | |||
| <t>IoCs can be particularly effective at mitigating malicious activity | ||||
| when deployed in security controls with | ||||
| the broadest impact. This could be achieved by developers of security | ||||
| products | ||||
| or firewalls adding support for the distribution and consumption of Io | ||||
| Cs directly to | ||||
| their products, without each user having to do it - thus addressing th | ||||
| e threat | ||||
| for the whole user base at once in a machine scalable and automated ma | ||||
| nner. This could also be acheived | ||||
| within an enterprise by ensuring those control points with the widest | ||||
| aperture, for example | ||||
| enterprise-wide DNS resolvers, are able to act automatically based on | ||||
| IoC feeds.</t> | ||||
| </section> | </section> | |||
| <section anchor="sec-ioc-detection" numbered="true" toc="default"> | <section anchor="sec-ioc-detection" numbered="true" toc="default"> | |||
| <name>Detection</name> | <name>Detection</name> | |||
| <t>Security controls with deployed IoCs monitor their relevant control | <t>Security controls with deployed IoCs monitor their relevant | |||
| space and | control space and trigger a generic or specific reaction upon | |||
| trigger a generic or specific reaction upon detection of the IoC in mo | detection of the IoC in monitored logs or on network interfaces.</t> | |||
| nitored logs or on network interfaces.</t> | ||||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>Reaction</name> | <name>Reaction</name> | |||
| <t>The reaction to an IoC's detection may differ depending on factors | <t>The reaction to an IoC's detection may differ depending on | |||
| such | factors such as the capabilities and configuration of the control it | |||
| as the capabilities and configuration of the control it is deployed in | is deployed in, the assessment of the IoC, and the properties of the | |||
| , the | log source in which it was detected. For example, a connection to a | |||
| assessment of the IoC, and the properties of the log source in which i | known botnet C2 server may indicate a problem but does not guarantee | |||
| t was | it, particularly if the server is a compromised host still | |||
| detected. For example, a connection to a known botnet C2 | performing some other legitimate functions. Common reactions | |||
| server may indicate a problem but does not guarantee it, particularly | include event logging, triggering alerts, and blocking or | |||
| if the | ||||
| server is a compromised host still performing some other legitimate fu | ||||
| nctions. | ||||
| Common reactions include event logging, triggering alerts, and blockin | ||||
| g or | ||||
| terminating the source of the activity.</t> | terminating the source of the activity.</t> | |||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>End of Life</name> | <name>End of Life</name> | |||
| <t>How long an IoC remains useful varies and is dependent on factors | <t>How long an IoC remains useful varies and is dependent on factors | |||
| including initial confidence level, fragility, and precision of the Io | including initial confidence level, fragility, and precision of the | |||
| C | IoC (discussed further in <xref target="sec-operational-limitations" | |||
| (discussed further in <xref target="sec-operational-limitations" forma | format="default"/>). In some cases, IoCs may be automatically | |||
| t="default"/>). | "aged" based on their initial characteristics and so will reach end | |||
| In some cases, IoCs may be | of life at a predetermined time. In other cases, IoCs may become | |||
| automatically 'aged' based on their initial characteristics and so wil | invalidated due to a shift in the threat actor's TTPs (e.g., | |||
| l | resulting from a new development or their discovery) or due to | |||
| reach end of life at a predetermined time. In other cases, IoCs may | remediation action taken by a defender. End of life may also come | |||
| become invalidated due to a shift in the threat actor's TTPs (e.g., | about due to an activity unrelated to attack or defence, such as | |||
| resulting from a new development or their discovery) or due to remedia | when a third-party service used by the attacker changes or goes | |||
| tion | offline. Whatever the cause, IoCs should be removed from detection | |||
| action taken by a defender. End of life may also come about due to an | at the end of their life to reduce the likelihood of false | |||
| activity unrelated to attack or defence, such as when a third-party | positives.</t> | |||
| service used by the attacker changes or goes offline. Whatever the cau | ||||
| se, | ||||
| IoCs should be removed from detection at the end of their life to redu | ||||
| ce | ||||
| the likelihood of false positives.</t> | ||||
| </section> | </section> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>Using IoCs Effectively</name> | <name>Using IoCs Effectively</name> | |||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>Opportunities</name> | <name>Opportunities</name> | |||
| <t>IoCs offer a variety of opportunities to cyber defenders as part of a | <t>IoCs offer a variety of opportunities to cyber defenders as part of | |||
| modern defence-in-depth strategy. No matter the size of an organisation, | a modern defence-in-depth strategy. No matter the size of an | |||
| IoCs can provide an effective, scalable, and efficient defence mechanism | organisation, IoCs can provide an effective, scalable, and efficient | |||
| against classes of attack from the latest threats or specific intrusion | defence mechanism against classes of attack from the latest threats or | |||
| sets which may have struck in the past.</t> | specific intrusion sets that may have struck in the past.</t> | |||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>IoCs underpin and enable multiple layers of the modern defence-i | <name>IoCs underpin and enable multiple layers of the modern defence-i | |||
| n-depth strategy</name> | n-depth strategy.</name> | |||
| <t>Firewalls, Intrusion Detection Systems (IDS), and Intrusion Prevent | <t>Firewalls, Intrusion Detection Systems (IDSs), and Intrusion | |||
| ion Systems | Prevention Systems (IPSs) all employ IoCs to identify and mitigate | |||
| (IPS) all employ IoCs to identify and mitigate threats across networks | threats across networks. Antivirus (AV) and Endpoint Detection and | |||
| . Anti-Virus | Response (EDR) products deploy IoCs via catalogues or libraries to | |||
| (AV) and Endpoint Detection and Response (EDR) products deploy IoCs vi | supported client endpoints. Security Incident Event Management | |||
| a catalogues | (SIEM) platforms compare IoCs against aggregated logs from various | |||
| or libraries to supported client endpoints. Security Incident Event Ma | sources -- network, endpoint, and application. Of course, IoCs do not | |||
| nagement | address all attack defence challenges, but they form a vital tier | |||
| (SIEM) platforms compare IoCs against aggregated logs from various sou | of any organisation's layered defence. Some types of IoC may be | |||
| rces - | present across all those controls while others may be deployed only | |||
| network, endpoint, and application. Of course, IoCs do not address all | in certain layers of a defence-in-depth solution. Further, IoCs | |||
| attack | relevant to a specific kill chain may only reflect activity | |||
| defence challenges - but they form a vital tier of any organisation's | performed during a certain phase and so need to be combined with | |||
| layered | other IoCs or mechanisms for complete coverage of the kill chain as | |||
| defence. Some types of IoC may be present across all those controls wh | part of an intrusion set.</t> | |||
| ile others | ||||
| may be deployed only in certain layers of a defence-in-depth solution. | <t>As an example, open-source malware can be deployed by many | |||
| Further, | different actors, each using their own TTPs and | |||
| IoCs relevant to a specific kill | infrastructure. However, if the actors use the same executable, the | |||
| chain may only reflect activity performed during a certain phase and s | hash of the executable file remains the same, and this hash can be | |||
| o need to be | deployed as an IoC in endpoint protection to block execution | |||
| combined with other IoCs or mechanisms for complete coverage of the ki | regardless of individual actor, infrastructure, or other TTPs. | |||
| ll chain as part of an intrusion set.</t> | Should this defence fail in a specific case, for example, if an actor | |||
| <t>As an example, open source malware can be deployed by many differen | recompiles the executable binary producing a unique hash, other | |||
| t actors, | defences can prevent them progressing further through their attack, | |||
| each using their own TTPs and infrastructure. However, if the actors u | for instance, by blocking known malicious domain name lookups and | |||
| se the same | thereby preventing the malware calling out to its C2 infrastructure.</ | |||
| executable, the hash remains the same and this IoC can be deployed in | t> | |||
| endpoint | <t>Alternatively, another malicious actor may regularly change their | |||
| protection to block execution regardless of individual actor, infrastr | tools and infrastructure (and thus the indicators associated with | |||
| ucture, or | the intrusion set) deployed across different campaigns, but their | |||
| other TTPs. Should this defence fail in a specific case, for example i | access vectors may remain consistent and well-known. In this case, | |||
| f an actor | this access TTP can be recognised and proactively defended against, | |||
| recompiles the executable binary producing a unique hash, other defenc | even while there is uncertainty of the intended subsequent | |||
| es can | activity. For example, if their access vector consistently exploits | |||
| prevent them progressing further through their attack - for instance, | a vulnerability in software, regular and estate-wide patching can | |||
| by blocking | prevent the attack from taking place. However, should these | |||
| known malicious domain name look-ups and thereby preventing the malwar | preemptive measures fail, other IoCs observed across multiple | |||
| e calling out | campaigns may be able to prevent the attack at later stages in the | |||
| to its C2 infrastructure.</t> | kill chain.</t> | |||
| <t>Alternatively, another malicious actor may regularly change their t | ||||
| ools and | ||||
| infrastructure (and thus the indicators associated with the intrusion | ||||
| set) deployed across different | ||||
| campaigns, but their access vectors may remain consistent and well-kno | ||||
| wn. In this | ||||
| case, this access TTP can be recognised and proactively defended again | ||||
| st even while | ||||
| there is uncertainty of the intended subsequent activity. For example, | ||||
| if their | ||||
| access vector consistently exploits a vulnerability in software, regul | ||||
| ar and | ||||
| estate-wide patching can prevent the attack from taking place. Should | ||||
| these | ||||
| pre-emptive measures fail however, other IoCs observed across multiple | ||||
| campaigns | ||||
| may be able to prevent the attack at later stages in the kill chain.</ | ||||
| t> | ||||
| </section> | </section> | |||
| <section anchor="sec-limited-resources" numbered="true" toc="default"> | <section anchor="sec-limited-resources" numbered="true" toc="default"> | |||
| <name>IoCs can be used even with limited resources</name> | <name>IoCs can be used even with limited resources.</name> | |||
| <t>IoCs are inexpensive, scalable, and easy to deploy, making their us | <t>IoCs are inexpensive, scalable, and easy to deploy, making their | |||
| e | use particularly beneficial for smaller entities, especially where | |||
| particularly beneficial for smaller entities, especially where they ar | they are exposed to a significant threat. For example, a small | |||
| e | manufacturing subcontractor in a supply chain producing a critical, | |||
| exposed to a significant threat. For example, a small manufacturing | highly specialised component may represent an attractive target | |||
| subcontractor in a supply chain producing a critical, highly specialis | because there would be disproportionate impact on both the supply | |||
| ed | chain and the prime contractor if it were compromised. It may be | |||
| component may represent an attractive target because there would be | reasonable to assume that this small manufacturer will have only | |||
| disproportionate impact on both the supply chain and the prime contrac | basic security (whether internal or outsourced), and while it is likel | |||
| tor | y | |||
| if it were compromised. It may be reasonable to assume that this small | to have comparatively fewer resources to manage the risks that it | |||
| manufacturer will have only basic security (whether internal or outsou | faces compared to larger partners, it can still leverage IoCs to | |||
| rced) | great effect. Small entities like this can deploy IoCs to give a | |||
| and while it is likely to have comparatively fewer resources to manage | baseline protection against known threats without having access to a | |||
| the | well-resourced, mature defensive team and the threat intelligence | |||
| risks it faces compared to larger partners, it can still leverage IoCs | relationships necessary to perform resource-intensive | |||
| to | investigations. While some level of expertise on the part of such a | |||
| great effect. Small entities like this can deploy IoCs to give a basel | small company would be needed to successfully deploy IoCs, use of | |||
| ine | IoCs does not require the same intensive training as needed for more | |||
| protection against known threats without having access to a well-resou | subjective controls, such as those using machine learning, which | |||
| rced, | require further manual analysis of identified events to verify if | |||
| mature defensive team and the threat intelligence relationships necess | they are indeed malicious. In this way, a major part of the appeal | |||
| ary | of IoCs is that they can afford some level of protection to | |||
| to perform resource-intensive investigations. While some level of expe | organisations across spectrums of resource capability, maturity, and | |||
| rtise | sophistication.</t> | |||
| on the part of such a small company would be needed to successfully de | ||||
| ploy | ||||
| IoCs, use of IoCs does not require the same intensive training as need | ||||
| ed for | ||||
| more subjective controls, such as those using machine learning which r | ||||
| equire | ||||
| further manual analysis of identified events to verify if they are ind | ||||
| eed malicious. | ||||
| In this way, a major part of the appeal of IoCs is | ||||
| that they can afford some level of protection to organisations across | ||||
| spectrums of resource capability, maturity, and sophistication.</t> | ||||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>IoCs have a multiplier effect on attack defence effort within an | <name>IoCs have a multiplier effect on attack defence efforts within | |||
| organisation</name> | an organisation.</name> | |||
| <t>Individual IoCs can provide widespread protection that scales effec | <t>Individual IoCs can provide widespread protection that scales | |||
| tively | effectively for defenders across an organisation or | |||
| for defenders across an organisation or ecosystem. Within a single org | ecosystem. Within a single organisation, simply blocking one IoC may | |||
| anisation, simply blocking one IoC may | protect thousands of users, and that blocking may be performed | |||
| protect thousands of users and that blocking may be performed (dependi | (depending on the IoC type) across multiple security controls | |||
| ng on | monitoring numerous different types of activity within networks, | |||
| the IoC type) across multiple security controls monitoring numerous di | endpoints, and applications. The prime contractor from our earlier | |||
| fferent | example can supply IoCs to the small subcontractor and thus further | |||
| types of activity within networks, endpoints, and applications. The pr | uplift that smaller entity's defensive capability while protecting its | |||
| ime contractor | elf and its interests at the same | |||
| from our earlier example can supply IoCs to the small subcontractor an | time.</t> | |||
| d so | <t>Multiple organisations may benefit from directly receiving | |||
| further uplift that smaller entity's defensive capability and at the s | shared IoCs (see <xref target="sec-easy-sharing" | |||
| ame | format="default"/>), but they may also benefit from the IoCs' | |||
| time protect itself and its interests.</t> | application in services they utilise. In the case of an ongoing | |||
| <t>Multiple organisations may benefit through directly receiving | email-phishing campaign, IoCs can be monitored, discovered, and | |||
| shared IoCs (see <xref target="sec-easy-sharing" format="default"/>), | deployed quickly and easily by individual organisations. However, if | |||
| but they | they are deployed quickly via a mechanism such as a protective | |||
| may also benefit through the IoCs' application in | DNS filtering service, they can be more effective still -- an email | |||
| services they utilise. In the case of an ongoing email phishing campai | campaign may be mitigated before some organisations' recipients ever | |||
| gn, | click the link or before some malicious payloads can call out for | |||
| IoCs can be monitored, discovered, and deployed quickly and easily by | instructions. Through such approaches, other parties can be | |||
| individual organisations. However, if they are deployed quickly via a | protected without direct sharing of IoCs with those organisations or | |||
| mechanism such as a protective DNS filtering service, they can be more | additional effort.</t> | |||
| effective still - an email campaign may be mitigated before some | ||||
| organisations' recipients ever click the link or before some malicious | ||||
| payloads can call out for instructions. Through such approaches other | ||||
| parties | ||||
| can be protected without direct sharing of IoCs with those organisatio | ||||
| n, or additional effort.</t> | ||||
| </section> | </section> | |||
| <section anchor="sec-easy-sharing" numbered="true" toc="default"> | <section anchor="sec-easy-sharing" numbered="true" toc="default"> | |||
| <name>IoCs are easily shared between organisations</name> | <name>IoCs are easily shared between organisations.</name> | |||
| <t>IoCs can also be very easily shared between individuals and organis | <t>IoCs can also be very easily shared between individuals and | |||
| ations. Firstly, IoCs are easy to | organisations. First, IoCs are easy to distribute as they can be | |||
| distribute as they can be represented concisely as text (possibly in h | represented concisely as text (possibly in hexadecimal) and so are | |||
| exadecimal) | frequently exchanged in small numbers in emails, blog posts, or | |||
| and so are frequently exchanged in small numbers | technical reports. Second, standards, such as those mentioned in | |||
| in emails, blog posts, or technical reports. Secondly, standards, such | <xref target="sec-sharing" format="default"/>, exist to provide | |||
| as those | well-defined formats for sharing large collections or regular sets | |||
| mentioned in <xref target="sec-sharing" format="default"/>, exist to p | of IoCs along with all the associated context. While discovering one | |||
| rovide | IoC can be intensive, once shared via well-established routes, that | |||
| well-defined formats for sharing large collections or regular sets of | individual IoC may protect thousands of organisations and thus all | |||
| IoC along | of the users in those organisations. Quick and easy sharing of IoCs gi | |||
| with all the associated context. While | ves blanket | |||
| discovering one IoC can be intensive, once shared via well-established | coverage for organisations and allows widespread mitigation in a | |||
| routes | timely fashion -- they can be shared with systems administrators, | |||
| (as discussed in <xref target="sec-assessment" format="default"/>) tha | from small to large organisations and from large teams to single | |||
| t individual IoC may, further, protect | individuals, allowing them all to implement defences on their | |||
| thousands of organisations and so all of their users. Quick and easy s | networks.</t> | |||
| haring of IoCs gives blanket | ||||
| coverage for organisations and allows widespread mitigation in a timel | ||||
| y fashion | ||||
| - they can be shared with systems administrators, from small to large | ||||
| organisations and from large teams to single individuals, allowing the | ||||
| m all to | ||||
| implement defences on their networks.</t> | ||||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>IoCs can provide significant time savings</name> | <name>IoCs can provide significant time savings.</name> | |||
| <t>Not only are there time savings from sharing IoCs, saving duplicati | ||||
| on | <t>Not only are there time savings from sharing IoCs, saving | |||
| of investigation effort, but deploying them automatically at scale is | duplication of investigation effort, but deploying them | |||
| seamless for many enterprises. Where automatic deployment of IoCs is | automatically at scale is seamless for many enterprises. Where | |||
| working well, organisations and users get blanket protection with mini | automatic deployment of IoCs is working well, organisations and | |||
| mal | users get blanket protection with minimal human intervention and | |||
| human intervention and minimal effort, a key goal of attack defence. | minimal effort, a key goal of attack defence. The ability to do | |||
| The ability to do this at scale and at pace is often vital when respon | this at scale and at pace is often vital when responding to agile | |||
| ding to | threat actors that may change their intrusion set frequently and | |||
| agile threat actors that may change their intrusion set frequently and | hence change the relevant IoCs. Conversely, protecting a complex | |||
| so the | network without automatic deployment of IoCs could mean manually | |||
| relevant IoCs also change. Conversely, protecting a complex network wi | updating every single endpoint or network device consistently and | |||
| thout | reliably to the same security state. The work this entails | |||
| automatic deployment of IoCs could mean manually updating every single | (including locating assets and devices, polling for logs and system | |||
| endpoint or | information, and manually checking patch levels) introduces | |||
| network device consistently and reliably to the same security state. T | complexity and a need for skilled analysts and engineers. While it | |||
| he | is still necessary to invest effort both to enable efficient IoC | |||
| work this entails (including locating assets and | deployment and to eliminate false positives when widely deploying | |||
| devices, polling for logs and system information, and manually checkin | IoCs, the cost and effort involved can be far smaller than the work | |||
| g | entailed in reliably manually updating all endpoint and network | |||
| patch levels) introduces complexity and a need for skilled analysts an | devices. For example, legacy systems may be | |||
| d engineers. | particularly complicated, or even impossible, to update.</t> | |||
| While it is still necessary to invest effort both to enable efficient | ||||
| IoC deployment, and to eliminate false | ||||
| positives when widely deploying IoCs, the cost and effort involved | ||||
| can be far smaller than the work entailed in reliably manually | ||||
| updating all endpoint and network devices. For example, particularly | ||||
| on legacy systems that may be particularly complicated, or even | ||||
| impossible, to update.</t> | ||||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>IoCs allow for discovery of historic attacks</name> | <name>IoCs allow for discovery of historic attacks.</name> | |||
| <t>A network defender can use recently acquired IoCs in conjunction wi | <t>A network defender can use recently acquired IoCs in conjunction | |||
| th | with historic data, such as logged DNS queries or email attachment | |||
| historic data, such as logged DNS queries or email attachment hashes, | hashes, to hunt for signs of past compromise. Not only can this | |||
| to | technique help to build a clear picture of past attacks, but it | |||
| hunt for signs of past compromise. Not only can this technique help to | also allows for retrospective mitigation of the effects of any | |||
| build up a clear picture of past attacks, but it also allows for | previous intrusion. This opportunity is reliant on historic data not | |||
| retrospective mitigation of the effects of any previous intrusion. Thi | having been compromised itself, by a technique such as Timestomp | |||
| s | <xref target="Timestomp" format="default"/>, and not being | |||
| opportunity is reliant on historic data not having been compromised it | incomplete due to data retention policies, but it is nonetheless | |||
| self, | valuable for detecting and remediating past attacks.</t> | |||
| by a technique such as Timestomp <xref target="Timestomp" format="defa | ||||
| ult"/>, and not being | ||||
| incomplete due to data retention policies, but is nonetheless valuable | ||||
| for | ||||
| detecting and remediating past attacks.</t> | ||||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>IoCs can be attributed to specific threats</name> | <name>IoCs can be attributed to specific threats.</name> | |||
| <t>Deployment of various modern security controls, such as firewall fi | <t>Deployment of various modern security controls, such as firewall | |||
| ltering | filtering or EDR, come with an inherent trade-off between breadth of | |||
| or EDR, come with an inherent trade-off between breadth of protection | protection and various costs, including the risk of false positives | |||
| and | (see <xref target="sec-precision" format="default"/>), staff time, | |||
| various costs, including the risk of false positives (see <xref target | and pure financial costs. Organisations can use threat modelling and | |||
| ="sec-precision" format="default"/> ), | information assurance to assess and prioritise risk from identified | |||
| staff time, and pure financial costs. Organisations can use threat mod | threats and to determine how they will mitigate or accept each of | |||
| elling | them. Contextual information tying IoCs to specific threats or | |||
| and information assurance to assess and prioritise risk from identifie | actors and shared alongside the IoCs enables organisations to focus | |||
| d threats | their defences against particular risks. This contextual information | |||
| and to determine how they will mitigate or accept each of them. Contex | is generally expected by those receiving IoCs as it allows them the | |||
| tual | technical freedom and capability to choose their risk appetite, | |||
| information tying IoCs to specific threats or actors and shared alongs | security posture, and defence methods. The ease of sharing this | |||
| ide | contextual information alongside IoCs, in part due to the formats | |||
| the IoCs enables organisations to focus their defences against particu | outlined in <xref target="sec-sharing" format="default"/>, makes it | |||
| lar | easier to track malicious actors across campaigns and | |||
| risks. This contextual information is generally expected by those rece | targets. Producing this contextual information before sharing IoCs | |||
| iving IoCs as it | can take intensive analytical effort as well as specialist tools and | |||
| allows them the technical freedom and capability to choose their | training. At its simplest, it can involve documenting sets of IoCs | |||
| risk appetite, security posture and defence methods. The ease of shari | from multiple instances of the same attack campaign, for example, | |||
| ng this | from multiple unique payloads (and therefore with distinct file | |||
| contextual information alongside IoCs, in part due to the formats outl | hashes) from the same source and connecting to the same C2 server. A | |||
| ined in | more complicated approach is to cluster similar combinations of TTPs | |||
| <xref target="sec-sharing" format="default"/>, makes it easier to trac | seen across multiple campaigns over a period of time. This can be | |||
| k malicious | used alongside detailed malware reverse engineering and target | |||
| actors across campaigns and targets. Producing this contextual informa | profiling, overlaid on a geopolitical and criminal backdrop, to | |||
| tion | infer attribution to a single threat actor.</t> | |||
| before sharing IoCs can take intensive analytical effort as well as sp | ||||
| ecialist | ||||
| tools and training. At its simplest it can involve documenting sets of | ||||
| IoCs | ||||
| from multiple instances of the same attack campaign, say from multiple | ||||
| unique | ||||
| payloads (and therefore with distinct file hashes) from the same sourc | ||||
| e and | ||||
| connecting to the same C2 server. A more complicated approach is to cl | ||||
| uster | ||||
| similar combinations of TTPs seen across multiple campaigns over a per | ||||
| iod of | ||||
| time. This can be used alongside detailed malware reverse engineering | ||||
| and target | ||||
| profiling, overlaid on a geopolitical and criminal backdrop, to infer | ||||
| attribution | ||||
| to a single threat actor.</t> | ||||
| </section> | </section> | |||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>Case Studies</name> | <name>Case Studies</name> | |||
| <t>The following two case studies illustrate how IoCs may be identifie | <t>The following two case studies illustrate how IoCs may be | |||
| d | identified in relation to threat actor tooling (in the first) and a | |||
| in relation to threat actor tooling (in the first) and a threat acto | threat actor campaign (in the second). The case studies further | |||
| r | highlight how these IoCs may be used by cyber defenders.</t> | |||
| campaign (in the second). The case studies further highlight how the | ||||
| se | ||||
| IoCs may be used by cyber defenders.</t> | ||||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>Cobalt Strike</name> | <name>Cobalt Strike</name> | |||
| <t>Cobalt Strike <xref target="COBALT" format="default"/> is a commerc | <t>Cobalt Strike <xref target="COBALT" format="default"/> is a | |||
| ial attack | commercial attack framework used for penetration testing that | |||
| framework used for penetration testing that | consists of an implant framework (beacon), a network protocol, and a | |||
| consists of an implant framework (beacon), network protocol, and a C | C2 server. The beacon and network protocol are highly malleable, | |||
| 2 server. | meaning the protocol representation "on the wire" can be easily | |||
| The beacon and network protocol are highly malleable, meaning the pr | changed by an attacker to blend in with legitimate traffic by | |||
| otocol | ensuring the traffic conforms to the protocol specification, e.g., | |||
| representation 'on the wire' can be easily changed by an attacker to | HTTP. The proprietary beacon supports TLS encryption overlaid with a | |||
| blend in | custom encryption scheme based on a public-private keypair. The | |||
| with legitimate traffic by ensuring the traffic conforms to the prot | product also supports other techniques, such as domain fronting | |||
| ocol specification | <xref target="DFRONT" format="default"/>, in an attempt to avoid | |||
| e.g. HTTP. The proprietary beacon supports TLS encryption | obvious passive detection by static network signatures of domain | |||
| overlaid with a custom encryption scheme based on a public-private k | names or IP addresses. Domain fronting is used to blend traffic to a | |||
| eypair. | malicious domain with traffic originating from a network that is | |||
| The product also supports other techniques, such as domain fronting | already communicating with a non-malicious domain regularly over | |||
| <xref target="DFRONT" format="default"/>, | HTTPS.</t> | |||
| in attempt to avoid obvious passive detection by static network sign | ||||
| atures of domain names or | ||||
| IP addresses. Domain fronting is used to blend traffic to a maliciou | ||||
| s domain in with traffic | ||||
| originating from a network to an already regularly communicated with | ||||
| domain over HTTPS.</t> | ||||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>Overall TTP</name> | <name>Overall TTP</name> | |||
| <t>A beacon configuration describes how the implant should operate a | <t>A beacon configuration describes how the implant should operate | |||
| nd communicate | and communicate with its C2 server. This configuration also | |||
| with its C2 server. This configuration also provides ancillary infor | provides ancillary information such as the Cobalt Strike user | |||
| mation such as | licence watermark.</t> | |||
| the Cobalt Strike user's licence watermark.</t> | ||||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>IoCs</name> | <name>IoCs</name> | |||
| <t>Tradecraft has been developed that allows the fingerprinting of C | <t>Tradecraft has been developed that allows the fingerprinting of C | |||
| 2 servers based | 2 servers | |||
| on their responses to specific requests. This allows the servers to | based on their responses to specific requests. This | |||
| be identified | allows the servers to be identified, their beacon configurations | |||
| and then their beacon configurations to be downloaded and the associ | to be downloaded, and the associated infrastructure addresses to | |||
| ated | be extracted as IoCs.</t> | |||
| infrastructure addresses extracted as IoCs.</t> | ||||
| <t>The resulting mass IoCs for Cobalt Strike are: | <t>The resulting mass IoCs for Cobalt Strike are: | |||
| </t> | </t> | |||
| <ul spacing="normal"> | <ul spacing="normal"> | |||
| <li>IP addresses of the C2 servers</li> | <li>IP addresses of the C2 servers</li> | |||
| <li>domain names used</li> | <li>domain names used</li> | |||
| </ul> | </ul> | |||
| <t>Whilst these IoCs need to be refreshed regularly (due to the ease | <t>Whilst these IoCs need to be refreshed regularly (due to the | |||
| of which they | ease of which they can be changed), the authors' experience of | |||
| can be changed), the authors' experience of protecting public sector | protecting public sector organisations shows that these IoCs are | |||
| organisations | effective for disrupting threat actor operations that use Cobalt | |||
| show these IoCs are effective for disrupting threat actor operations | ||||
| that use Cobalt | ||||
| Strike.</t> | Strike.</t> | |||
| <t>These IoCs can be used to check historical data for evidence of p | <t>These IoCs can be used to check historical data for evidence of | |||
| ast compromise, | past compromise and deployed to detect or block future | |||
| as well as deployed to detect or block future infection in a timely | infection in a timely manner, thereby contributing to preventing | |||
| manner, thereby | the loss of user and system data.</t> | |||
| contributing to preventing the loss of user and system data.</t> | ||||
| </section> | </section> | |||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>APT33</name> | <name>APT33</name> | |||
| <t>In contrast to the first case study, this describes a current campa | ||||
| ign by | <t>In contrast to the first case study, this describes a current | |||
| the threat actor APT33, also known as Elfin and Refined Kitten (see <x | campaign by the threat actor APT33, also known as Elfin and Refined | |||
| ref target="Symantec" format="default"/>). | Kitten (see <xref target="Symantec" format="default"/>). APT33 has | |||
| APT33 has been assessed by industry to be a state-sponsored group <xre | been assessed by the industry to be a state-sponsored group <xref targ | |||
| f target="FireEye2" format="default"/>, | et="FireEye2" format="default"/>; yet, in | |||
| yet in this case study, IoCs still gave defenders an effective tool ag | this case study, IoCs | |||
| ainst such | still gave defenders an effective tool against such a powerful | |||
| a powerful adversary. The group has been active since at least 2015 an | adversary. The group has been active since at least 2015 and is | |||
| d is known | known to target a range of sectors including petrochemical, | |||
| to target a range of sectors including petrochemical, government, engi | government, engineering, and manufacturing. Activity has been seen | |||
| neering, | in countries across the globe but predominantly in the USA and | |||
| and manufacturing. Activity has been seen in countries across the glob | Saudi Arabia.</t> | |||
| e, but | ||||
| predominantly in the USA and Saudi Arabia.</t> | ||||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>Overall TTP</name> | <name>Overall TTP</name> | |||
| <t>The techniques employed by this actor exhibit a relatively low le | <t>The techniques employed by this actor exhibit a relatively low | |||
| vel of | level of sophistication, considering it is a state-sponsored group. | |||
| sophistication considering it is a state-sponsored group; typica | Typically, APT33 performs spear phishing (sending targeted | |||
| lly, APT33 | malicious emails to a limited number of pre-selected recipients) | |||
| performs spear phishing (sending targeted malicious emails to a | with document lures that imitate legitimate publications. User | |||
| limited number | interaction with these lures executes the initial payload and | |||
| of pre-selected recipients) with document lures that imitate leg | enables APT33 to gain initial access. Once inside a target | |||
| itimate | network, APT33 attempts to pivot to other machines to gather | |||
| publications. User interaction with these lures executes the ini | documents and gain access to administrative credentials. In some | |||
| tial payload and | cases, users are tricked into providing credentials that are then | |||
| enables APT33 to gain initial access. Once inside a target netwo | used with Ruler <xref target="RULER" format="default"/>, a freely | |||
| rk, APT33 attempts | available tool that allows exploitation of an email client. The | |||
| to pivot to other machines to gather documents and gain access t | attacker, in possession of a target's password, uses Ruler to | |||
| o administrative | access the target's mail account and embeds a malicious script | |||
| credentials. In some cases, users are tricked into providing cre | that will be triggered when the mail client is next opened, | |||
| dentials that are | resulting in the execution of malicious code (often additional | |||
| then used with RULER <xref target="RULER" format="default"/>, a | malware retrieved from the Internet) (see <xref target="FireEye" | |||
| freely available tool that allows exploitation of an email | format="default"/>).</t> | |||
| client. The attacker, in possession of a target's password, uses | <t>APT33 sometimes deploys a destructive tool that overwrites the | |||
| RULER to access the | master boot record (MBR) of the hard drives in as many PCs as | |||
| target's mail account and embeds a malicious script which will b | possible. This type of tool, known as a wiper, results in data | |||
| e triggered when the | loss and renders devices unusable until the operating system is | |||
| mail client is next opened, resulting in the execution of malici | reinstalled. In some cases, the actor uses administrator | |||
| ous code | credentials to invoke execution across a large swathe of a | |||
| (often additional malware retrieved from the Internet) | company's IT estate at once; where this isn't possible, the actor | |||
| (see <xref target="FireEye" format="default"/>).</t> | may first attempt to spread the wiper manually or use | |||
| <t>APT33 sometimes deploys a destructive tool which overwrites the m | worm-like capabilities against unpatched vulnerabilities | |||
| aster boot | on the networked computers.</t> | |||
| record (MBR) of the hard drives in as many PCs as possible. This | ||||
| type of tool, | ||||
| known as a wiper, results in data loss and renders devices unusa | ||||
| ble until the | ||||
| operating system is reinstalled. In some cases, the actor uses a | ||||
| dministrator | ||||
| credentials to invoke execution across a large swathe of a compa | ||||
| ny's IT estate at | ||||
| once; where this isn't possible the actor may attempt to spread | ||||
| the wiper first | ||||
| manually or by using worm-like capabilities against unpatched vu | ||||
| lnerabilities on | ||||
| the networked computers.</t> | ||||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>IoCs</name> | <name>IoCs</name> | |||
| <t>As a result of investigations by a partnership of industry and th | <t>As a result of investigations by a partnership of the industry | |||
| e UK's National | and the UK's National Cyber Security Centre (NCSC), a set of IoCs | |||
| Cyber Security Centre (NCSC), a set of IoCs were compiled and shar | were compiled and shared with both public and private sector | |||
| ed with both public | organisations so network defenders could search for them in their | |||
| and private sector organisations so network defenders could search | networks. Detection of these IoCs is likely indicative of | |||
| for them in their | APT33 targeting and could indicate potential compromise and | |||
| networks. Detection of these IoCs is likely indicative of APT33 ta | subsequent use of destructive malware. Network defenders could | |||
| rgeting and could | also initiate processes to block these IoCs to foil future | |||
| indicate potential compromise and subsequent use of destructive ma | attacks. This set of IoCs comprised: | |||
| lware. Network | ||||
| defenders could also initiate processes to block these IoCs to foi | ||||
| l future attacks. | ||||
| This set of IoCs comprised: | ||||
| </t> | </t> | |||
| <ul spacing="normal"> | <ul spacing="normal"> | |||
| <li>9 hashes and email subject lines</li> | <li>9 hashes and email subject lines</li> | |||
| <li>5 IP addresses</li> | <li>5 IP addresses</li> | |||
| <li>7 domain names</li> | <li>7 domain names</li> | |||
| </ul> | </ul> | |||
| <t>In November 2021, a joint advisory concerning APT33 <xref target= | <t>In November 2021, a joint advisory concerning APT33 <xref | |||
| "CISA" format="default"/> | target="CISA" format="default"/> was issued by the Federal Bureau of | |||
| was issued by Federal Bureau of Investigation (FBI), the Cybersec | Investigation (FBI), the Cybersecurity and Infrastructure Security | |||
| urity and Infrastructure | Agency (CISA), the Australian Cyber Security Centre (ACSC), and | |||
| Security Agency (CISA), the Australian Cyber Security Centre (ACS | NCSC. This outlined recent exploitation of vulnerabilities by | |||
| C), and NCSC. This outlined | APT33, providing a thorough overview of observed TTPs and | |||
| recent exploitation of vulnerabilities | sharing further IoCs: | |||
| by APT33, providing a thorough overview of observed TTPs, as well | ||||
| as sharing further IoCs: | ||||
| </t> | </t> | |||
| <ul spacing="normal"> | <ul spacing="normal"> | |||
| <li>8 hashes of malicious executables</li> | <li>8 hashes of malicious executables</li> | |||
| <li>3 IP addresses</li> | <li>3 IP addresses</li> | |||
| </ul> | </ul> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="sec-operational-limitations" numbered="true" toc="default"> | <section anchor="sec-operational-limitations" numbered="true" toc="default"> | |||
| <name>Operational Limitations</name> | <name>Operational Limitations</name> | |||
| <t>The different IoC types inherently embody a set of trade-offs for defen | <t>The different IoC types inherently embody a set of trade-offs for | |||
| ders | defenders between the risk of false positives (misidentifying | |||
| between the risk of false positives (misidentifying non-malicious traffi | non-malicious traffic as malicious) and the risk of failing to identify | |||
| c as | attacks. The attacker's relative pain of modifying attacks to subvert | |||
| malicious) and the risk of failing to identify attacks. The attacker's r | known IoCs, as discussed using the PoP in <xref | |||
| elative | target="sec-pop" format="default"/>, inversely correlates with the | |||
| pain of modifying attacks to subvert known IoCs, as discussed using the | fragility of the IoC and with the precision with which the IoC | |||
| Pyramid of | identifies an attack. Research is needed to elucidate the exact nature | |||
| Pain (PoP) in <xref target="sec-pop" format="default"/>, inversely corre | of these trade-offs between pain, fragility, and precision.</t> | |||
| lates with the fragility of the IoC and | ||||
| with the precision with which the IoC identifies an attack. Research is | ||||
| needed to | ||||
| elucidate the exact nature of these trade-offs between pain, fragility, | ||||
| and precision.</t> | ||||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>Time and Effort</name> | <name>Time and Effort</name> | |||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>Fragility</name> | <name>Fragility</name> | |||
| <t>As alluded to in <xref target="sec-pop" format="default"/>, the Pyr | <t>As alluded to in <xref target="sec-pop" format="default"/>, the | |||
| amid of Pain can be thought of in terms of | PoP can be thought of in terms of fragility for the defender as well | |||
| fragility for the defender as well as pain for the attacker. The | as pain for the attacker. The less painful it is for the attacker to | |||
| less painful it is | change an IoC, the more fragile that IoC is as a defence tool. It | |||
| for the attacker to change an IoC, the more fragile that IoC is | is relatively simple to determine the hash value for various | |||
| as a defence tool. | malicious file attachments observed as lures in a phishing campaign | |||
| It is relatively simple to determine the hash value for various | and to deploy these through AV or an email gateway security | |||
| malicious file | control. However, those hashes are fragile and can (and often will) | |||
| attachments observed as lures in a phishing campaign and to depl | be changed between campaigns. Malicious IP addresses and domain | |||
| oy these through | names can also be changed between campaigns, but this may happen | |||
| AV or an email gateway security control. However, | less frequently due to the greater pain of managing infrastructure | |||
| those hashes are fragile and can (and often will) be changed bet | compared to altering files, and so IP addresses and domain names may | |||
| ween campaigns. | provide a less fragile detection capability.</t> | |||
| Malicious IP addresses and domain names can also be changed betw | <t>This does not mean the more fragile IoC types are | |||
| een campaigns, but | worthless. First, there is no guarantee a fragile IoC will change, | |||
| this may happen less frequently due to the greater pain of manag | and if a known IoC isn't changed by the attacker but wasn't blocked, | |||
| ing infrastructure compared to | then the defender missed an opportunity to halt an attack in its | |||
| altering files, and so IP addresses and domain names may provide | tracks. Second, even within one IoC type, there is variation in | |||
| a less fragile detection capability.</t> | the fragility depending on the context of the IoC. The file hash of | |||
| <t>This does not mean the more fragile IoC types are worthless. Firstl | a phishing lure document (with a particular theme and containing a | |||
| y, there is no | specific staging server link) may be more fragile than the file hash | |||
| guarantee a fragile IoC will change, and if a known IoC isn't ch | of a remote access trojan payload the attacker uses after initial | |||
| anged by the attacker | access. That in turn may be more fragile than the file hash of an | |||
| but wasn't blocked then the defender missed an opportunity to ha | attacker-controlled post-exploitation reconnaissance tool that | |||
| lt an attack in its | doesn't connect directly to the attacker's infrastructure. Third, | |||
| tracks. Secondly, even within one IoC type, there is variation i | some threats and actors are more capable or inclined to change than | |||
| n the fragility | others, and so the fragility of an IoC for one may be very different | |||
| depending on the context of the IoC. The file hash of a phishing | to an IoC of the same type for another actor.</t> | |||
| lure document (with | <t>Ultimately, fragility is a defender's concern that impacts the | |||
| a particular theme and containing a specific staging server link | ongoing efficacy of each IoC and will factor into decisions about | |||
| ) may be more fragile | end of life. However, it should not prevent adoption of individual | |||
| than the file hash of a remote access trojan payload the attacke | IoCs unless there are significantly strict resource constraints that | |||
| r uses after initial | demand down-selection of IoCs for deployment. More usually, | |||
| access. That in turn may be more fragile than the file hash of a | defenders researching threats will attempt to identify IoCs of | |||
| n attacker-controlled post-exploitation | varying fragilities for a particular kill chain to provide the | |||
| reconnaissance tool that doesn't connect directly to the attacke | greatest chances of ongoing detection given available investigative | |||
| r's infrastructure. Thirdly, some threats and | effort (see <xref target="sec-discoverability" format="default"/>) | |||
| actors are more capable or inclined to change than others, and s | and while still maintaining precision (see <xref | |||
| o the fragility of an | target="sec-precision" format="default"/>).</t> | |||
| IoC for one may be very different to an IoC of the same type for | ||||
| another actor.</t> | ||||
| <t>Ultimately, fragility is a defender's concern that impacts the ongo | ||||
| ing efficacy of | ||||
| each IoC and will factor into decisions about end of life. Howev | ||||
| er, it should not | ||||
| prevent adoption of individual IoCs unless there are significant | ||||
| ly strict resource | ||||
| constraints that demand down-selection of IoCs for deployment. M | ||||
| ore usually, defenders | ||||
| researching threats will attempt to identify IoCs of varying fra | ||||
| gilities for a | ||||
| particular kill chain to provide the greatest chances of ongoing | ||||
| detection given | ||||
| available investigative effort (see <xref target="sec-discoverab | ||||
| ility" format="default"/>) and while still maintaining | ||||
| precision (see <xref target="sec-precision" format="default"/>). | ||||
| </t> | ||||
| </section> | </section> | |||
| <section anchor="sec-discoverability" numbered="true" toc="default"> | <section anchor="sec-discoverability" numbered="true" toc="default"> | |||
| <name>Discoverability</name> | <name>Discoverability</name> | |||
| <t>To be used in attack defence, IoCs must first be discovered through | <t>To be used in attack defence, IoCs must first be discovered | |||
| proactive | through proactive hunting or reactive investigation. As noted in | |||
| hunting or reactive investigation. As noted in <xref target="sec | <xref target="sec-pop" format="default"/>, IoCs in the tools and | |||
| -pop" format="default"/>, IoCs in the tools and | TTPs levels of the PoP require intensive effort and research to | |||
| TTPs levels of the PoP require intensive effort and research to | discover. However, it is not just an IoC's type that impacts its | |||
| discover. However, | discoverability. The sophistication of the actor, their TTPs, and | |||
| it is not just an IoC's type that impacts its discoverability. T | their tooling play a significant role, as does whether the IoC is | |||
| he sophistication of | retrieved from logs after the attack or extracted from samples or | |||
| the actor, their TTPs, and their tooling play a significant role | infected systems earlier.</t> | |||
| , as does whether the | <t>For example, on an infected endpoint, it may be possible to | |||
| IoC is retrieved from logs after the attack or extracted from sa | identify a malicious payload and then extract relevant IoCs, such as | |||
| mples or infected | the file hash and its C2 server address. If the attacker used the | |||
| systems earlier.</t> | same static payload throughout the attack, this single file hash | |||
| <t>For example, on an infected endpoint it may be possible to identify | value will cover all instances. However, if the attacker | |||
| a malicious | diversified their payloads, that hash can be more fragile, and other | |||
| payload and then extract relevant IoCs, such as the file hash an | hashes may need to be discovered from other samples used on other | |||
| d its C2 server | infected endpoints. Concurrently, the attacker may have simply | |||
| address. If the attacker used the same static payload throughout | hard-coded configuration data into the payload, in which case the C2 | |||
| the attack this | server address can be easy to recover. Alternatively, the address | |||
| single file hash value will cover all instances. If, however, th | can be stored in an obfuscated persistent configuration | |||
| e attacker | within either the payload (e.g., within its source code or associated | |||
| diversified their payloads, that hash can be more fragile and ot | resource) or the infected endpoint's file system (e.g., using | |||
| her hashes may need | alternative data streams <xref target="ADS" format="default"/>), | |||
| to be discovered from other samples used on other infected endpo | thus requiring more effort to discover. Further, the attacker may be | |||
| ints. Concurrently, | storing the configuration in memory only or relying on a | |||
| the attacker may have simply hard-coded configuration data into | DGA to generate C2 server addresses on | |||
| the payload, in | demand. In this case, extracting the C2 server address can require a | |||
| which case the C2 server address can be easy to recover. Alterna | memory dump or the execution or reverse engineering of the DGA, all | |||
| tively, the address | of which increase the effort still further.</t> | |||
| can be stored in an obfuscated persistent configuration either w | <t>If the malicious payload has already communicated with its C2 | |||
| ithin the payload | server, then it may be possible to discover that C2 server address | |||
| (e.g., within its source code or associated resource) or the inf | IoC from network traffic logs more easily. However, once again, | |||
| ected endpoint's | multiple factors can make discoverability more challenging, such as | |||
| filesystem (e.g., using alternative data streams <xref target="A | the increasing adoption of HTTPS for malicious traffic, meaning C2 | |||
| DS" format="default"/>) and thus requiring more | communications blend in with legitimate traffic and can be | |||
| effort to discover. Further, the attacker may be storing the con | complicated to identify. Further, some malwares obfuscate their | |||
| figuration in | intended destinations by using alternative DNS resolution services | |||
| memory only or relying on a domain generation algorithm (DGA) to | (e.g., OpenNIC <xref target="OPENNIC" format="default"/>), by using | |||
| generate C2 server | encrypted DNS protocols such as DNS-over-HTTPS <xref | |||
| addresses on demand. In this case, extracting the C2 server addr | target="OILRIG" format="default"/>, or by performing transformation | |||
| ess can require a | operations on resolved IP addresses to determine the real C2 server | |||
| memory dump or the execution or reverse engineering of the DGA, | address encoded in the DNS response <xref target="LAZARUS" | |||
| all of which | format="default"/>.</t> | |||
| increase the effort still further.</t> | ||||
| <t>If the malicious payload has already communicated with its C2 serve | ||||
| r, then it | ||||
| may be possible to discover that C2 server address IoC from netw | ||||
| ork traffic logs | ||||
| more easily. However, once again multiple factors can make disco | ||||
| verability more | ||||
| challenging, such as the increasing adoption of HTTPS for | ||||
| malicious traffic - meaning C2 communications blend in with legi | ||||
| timate | ||||
| traffic, and can be complicated to identify. Further, | ||||
| some malwares obfuscate their intended destinations by using alt | ||||
| ernative DNS | ||||
| resolution services (e.g., OpenNIC <xref target="OPENNIC" format | ||||
| ="default"/>), | ||||
| encrypted DNS protocols such as DNS-over-HTTPS <xref target="OIL | ||||
| RIG" format="default"/>, or by performing transformation | ||||
| operations on resolved IP addresses to determine the real C2 ser | ||||
| ver address encoded | ||||
| in the DNS response <xref target="LAZARUS" format="default"/>.</ | ||||
| t> | ||||
| </section> | </section> | |||
| <section anchor="sec-completeness" numbered="true" toc="default"> | <section anchor="sec-completeness" numbered="true" toc="default"> | |||
| <name>Completeness</name> | <name>Completeness</name> | |||
| <t>In many cases the list of indicators resulting from an activity or | <t>In many cases, the list of indicators resulting from an activity | |||
| discovered | or discovered in a malware sample is relatively short and so only | |||
| in a malware sample is relatively short and so only adds to the total | adds to the total set of all indicators in a limited and finite | |||
| set of all | manner. A clear example of this is when static indicators for C2 | |||
| indicators in a limited and finite manner. A clear example of this is | servers are discovered in a malware strain. Sharing, deployment, and | |||
| when static | detection will often not be greatly impacted by the addition of such | |||
| indicators for C2 servers are discovered in a malware strain. Sharing, | indicators for one more incident or one more sample. However, in the | |||
| deployment, | case of discovery of a DGA, this | |||
| and detection will often not be greatly impacted by the addition of su | requires a reimplementation of the algorithm and then execution to | |||
| ch indicators | generate a possible list of domains. Depending on the algorithm, | |||
| for one more incident or one more sample. However, in the case of disc | this can result in very large lists of indicators, which may cause | |||
| overy of a | performance degradation, particularly during detection. In some | |||
| domain generation algorithm (DGA) this requires a reimplementation of | cases, such sources of indicators can lead to a pragmatic decision | |||
| the algorithm | being made between obtaining reasonable coverage of the possible | |||
| and then execution to generate a possible list of domains. Depending o | indicator values and theoretical completeness of a list of all | |||
| n the algorithm, | possible indicator values.</t> | |||
| this can result in very large lists of indicators which may cause perf | ||||
| ormance degradation, | ||||
| particularly during detection. In some cases, such sources of indicato | ||||
| rs can lead to a | ||||
| pragmatic decision being taken between obtaining reasonable coverage o | ||||
| f the possible indicator | ||||
| values and theoretical completeness of a list of all possible indicato | ||||
| r values.</t> | ||||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="sec-precision" numbered="true" toc="default"> | <section anchor="sec-precision" numbered="true" toc="default"> | |||
| <name>Precision</name> | <name>Precision</name> | |||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>Specificity</name> | <name>Specificity</name> | |||
| <t>Alongside pain and fragility, the PoP's levels can also be consider | <t>Alongside pain and fragility, the PoP's levels can also be | |||
| ed in | considered in terms of how precise the defence can be, with the | |||
| terms of how precise the defence can be, with the false positive | false positive rate usually increasing as we move up the pyramid to | |||
| rate usually | less specific IoCs. A hash value identifies a particular file, such | |||
| increasing as we move up the pyramid to less specific IoCs. A ha | as an executable binary, and given a suitable cryptographic hash | |||
| sh value | function, the false positives are effectively nil (by "suitable", we | |||
| identifies a particular file, such as an executable binary, and | mean one with preimage resistance and strong collision resistance). | |||
| given a | In comparison, IoCs in the upper levels (such as some network | |||
| suitable cryptographic hash function the false positives are eff | artefacts or tool fingerprints) may apply to various malicious | |||
| ectively nil; | binaries, and even benign software may share the same identifying | |||
| by suitable we mean one with preimage resistance and strong coll | characteristics. For example, threat actor tools making web requests | |||
| ision resistance. | may be identified by the user-agent string specified in the request | |||
| In comparison, IoCs in the upper levels (such as some network ar | header. However, this value may be the same as that used by | |||
| tefacts or tool | legitimate software, either by the attacker's choice or through use | |||
| fingerprints) may apply to various malicious binaries, and even | of a common library.</t> | |||
| benign software | <t>It should come as no surprise that the more specific an IoC, the | |||
| may share the same identifying characteristics. For example, thr | more fragile it is; as things change, they move outside of that | |||
| eat actor tools | specific focus. While less fragile IoCs may be desirable for their | |||
| making web requests may be identified by the user-agent string s | robustness and longevity, this must be balanced with the increased | |||
| pecified in the | chance of false positives from their broadness. One way in which | |||
| request header. However, this value may be the same as used by l | this balance is achieved is by grouping indicators and using them in | |||
| egitimate software, | combination. While two low-specificity IoCs for a particular attack | |||
| either by the attacker's choice or through use of a common libra | may each have chances of false positives, when observed together, | |||
| ry.</t> | they may provide greater confidence of an accurate detection of the | |||
| <t>It should come as no surprise that the more specific an IoC the mor | relevant kill chain.</t> | |||
| e fragile | ||||
| it is - as things change, they move outside of that specific foc | ||||
| us. While less | ||||
| fragile IoCs may be desirable for their robustness and longevity | ||||
| , this must be | ||||
| balanced with the increased chance of false positives from their | ||||
| broadness. One | ||||
| way in which this balance is achieved is by grouping indicators | ||||
| and using them in | ||||
| combination. While two low-specificity IoCs for a particular att | ||||
| ack may each have | ||||
| chances of false positives, when observed together they may prov | ||||
| ide greater | ||||
| confidence of an accurate detection of the relevant kill chain.< | ||||
| /t> | ||||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>Dual and Compromised Use</name> | <name>Dual and Compromised Use</name> | |||
| <t>As noted in <xref target="sec-assessment" format="default"/>, the c | <t>As noted in <xref target="sec-assessment" format="default"/>, the | |||
| ontext of an IoC, such as the way in which | context of an IoC, such as the way in which the attacker uses it, | |||
| the attacker uses it, may equally impact the precision with whic | may equally impact the precision with which that IoC detects an | |||
| h that IoC | attack. An IP address representing an attacker's staging server, | |||
| detects an attack. An IP address representing an attacker's stag | from which their attack chain downloads subsequent payloads, offers | |||
| ing server, from | a precise IP address for attacker-owned infrastructure. However, it | |||
| which their attack chain downloads subsequent payloads, offers a | will be less precise if that IP address is associated with a | |||
| precise IP address | cloud-hosting provider and is regularly reassigned from one user to | |||
| for attacker-owned infrastructure. However, it will be less prec | another; it will be less precise still if the attacker | |||
| ise if that IP | compromised a legitimate web server and is abusing the IP address | |||
| address is associated with a cloud hosting provider and it is re | alongside the ongoing legitimate use.</t> | |||
| gularly reassigned | ||||
| from one user to another; and it will be less precise still if t | <t>Similarly, a file hash representing an attacker's custom remote | |||
| he attacker | access trojan will be very precise; however, a file hash | |||
| compromised a legitimate web server and is abusing the IP addres | representing a common enterprise remote administration tool will be | |||
| s alongside the | less precise, depending on whether or not the defender organisation | |||
| ongoing legitimate use.</t> | usually uses that tool for legitimate system | |||
| <t>Similarly, a file hash representing an attacker's custom remote acc | administration. Notably, such dual-use indicators are context | |||
| ess | specific, considering both whether they are usually used | |||
| trojan will be very precise; however, a file hash representing a | legitimately and how they are used in a particular circumstance. | |||
| common enterprise | Use of the remote administration tool may be legitimate for support | |||
| remote administration tool will be less precise depending on whe | staff during working hours but not generally by non-support staff, | |||
| ther the defender | particularly if observed outside of that employee's usual working | |||
| organisation usually uses that tool for legitimate systems admin | hours.</t> | |||
| istration or not. | ||||
| Notably, such dual use indicators are context specific both in w | <t>For reasons like these, context is very important when | |||
| hether they are | sharing and using IoCs.</t> | |||
| usually used legitimately and in the way they are used in a part | ||||
| icular circumstance. | ||||
| Use of the remote administration tool may be legitimate for supp | ||||
| ort staff during | ||||
| working hours, but not generally by non-support staff, particula | ||||
| rly if observed | ||||
| outside of that employee's usual working hours.</t> | ||||
| <t>It is reasons such as these that context is so important when shari | ||||
| ng | ||||
| and using IoCs.</t> | ||||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>Changing Use</name> | <name>Changing Use</name> | |||
| <t>In the case of IP addresses, the growing adoption of cloud services | <t>In the case of IP addresses, the growing adoption of cloud | |||
| , proxies, virtual | services, proxies, virtual private networks (VPNs), and carrier-grade | |||
| private networks (VPNs), and carrier grade network address trans | Network Address Translation (NAT) are increasing the | |||
| lation (NAT) are | number of systems associated with any one IP address at the same | |||
| ever-increasing the number of systems associated with any one IP | moment in time. This ongoing change to the use of IP addresses is | |||
| address at the same | somewhat reducing the specificity of IP addresses (at least for | |||
| moment in time. This ongoing change to the use of IP addresses i | specific subnets or individual addresses) while also "side-stepping" t | |||
| s somewhat reducing the specificity of IP addresses (at least for specific subne | he pain that threat actors would otherwise incur if they | |||
| ts or individual addresses) while also 'side- | needed to change IP address.</t> | |||
| stepping' the pain that threat actors would otherwise incur if t | ||||
| hey needed to change | ||||
| IP address.</t> | ||||
| </section> | </section> | |||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>Privacy</name> | <name>Privacy</name> | |||
| <t>As noted in <xref target="sec-assessment" format="default"/>, context | <t>As noted in <xref target="sec-assessment" format="default"/>, | |||
| is critical | context is critical to effective detection using IoCs. However, at | |||
| to effective detection using IoCs. However, at times, defenders may | times, defenders may feel there are privacy concerns with how much and w | |||
| feel there are privacy concerns with how much to share | ith whom to | |||
| about a cyber intrusion, and with whom. For example, defenders may g | share about a cyber intrusion. For example, defenders | |||
| eneralise the IoCs' description of the attack, | may generalise the IoCs' description of the attack by removing context | |||
| by removing context to facilitate sharing. This generalisation can r | to facilitate sharing. This generalisation can result in an incomplete | |||
| esult in an incomplete set of IoCs | set of IoCs being shared or IoCs being shared without clear | |||
| being shared or IoCs being shared without clear indication of what t | indication of what they represent and how they are involved in an | |||
| hey represent | attack. The sharer will consider the privacy trade-off when | |||
| and how they are involved in an attack. The sharer will consider the | generalising the IoC and should bear in mind that the loss of context | |||
| privacy trade-off when generalising the IoC, | can greatly reduce the utility of the IoC for those they share | |||
| and should bear in mind that the loss of context can greatly reduce | with.</t> | |||
| the utility of the IoC for those they share with.</t> | <t>In the authors' experiences, self-censoring by sharers appears more | |||
| <t>In the authors' experiences, self-censoring by sharers appears more p | prevalent and more extensive when sharing IoCs into groups with more | |||
| revalent and more extensive when sharing IoCs into groups with more | members, into groups with a broader range of perceived member | |||
| members, into groups with a broader range of perceived member expert | expertise (particularly, the further the lower bound extends below the | |||
| ise (particularly, | sharer's perceived own expertise), and into groups that do not | |||
| the further the lower bound extends below the sharer's perceived own | maintain strong intermember trust. Trust within such groups often | |||
| expertise), | appears strongest where members interact regularly; have common | |||
| and into groups that do not maintain strong intermember trust. Trust | backgrounds, expertise, or challenges; conform to behavioural | |||
| within such groups | expectations (such as by following defined handling requirements and | |||
| often appears strongest where members: interact regularly; have comm | not misrepresenting material they share); and reciprocate the sharing | |||
| on backgrounds, | and support they receive. <xref target="LITREVIEW" format="default"/> | |||
| expertise, or challenges; conform to behavioural expectations (such | highlights that many of these factors are associated with the human role | |||
| as by following | in | |||
| defined handling requirements and not misrepresenting material they | Cyber Threat Intelligence (CTI) sharing.</t> | |||
| share); and | ||||
| reciprocate the sharing and support they receive. <xref target="LITR | ||||
| EVIEW" format="default"/> highlights | ||||
| many of these factors are associated with the human role in Cyber Th | ||||
| reat Intelligence (CTI) sharing.</t> | ||||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>Automation</name> | <name>Automation</name> | |||
| <t>While IoCs can be effectively utilised by organisations of various si | <t>While IoCs can be effectively utilised by organisations of various | |||
| zes and | sizes and resource constraints, as discussed in <xref | |||
| resource constraints, as discussed in <xref target="sec-limited-reso | target="sec-limited-resources" format="default"/>, automation of IoC | |||
| urces" format="default"/>, automation of IoC ingestion, | ingestion, processing, assessment, and deployment is critical for | |||
| processing, assessment, and deployment is critical for managing them | managing them at scale. Manual oversight and investigation may be | |||
| at scale. | necessary intermittently, but a reliance on manual processing and | |||
| Manual oversight and investigation may be necessary intermittently, | searching only works at small scale or for occasional cases.</t> | |||
| but a reliance | <t>The adoption of automation can also enable faster and easier | |||
| on manual processing and searching only works at small scale or for | correlation of IoC detections across different log sources and | |||
| occasional cases.</t> | network monitoring interfaces across different times and physical | |||
| <t>The adoption of automation can also enable faster and easier correlat | locations. Thus, the response can be tailored to reflect the number | |||
| ion of IoC | and overlap of detections from a particular intrusion set, and the | |||
| detections across different log sources and network monitoring inter | necessary context can be presented alongside the detection when | |||
| faces, across | generating any alerts for defender review. While manual processing and | |||
| different times and physical locations. Thereby, the response can be | searching may be no less accurate (although IoC transcription errors | |||
| tailored to reflect the number and overlap of detections from a part | are a common problem during busy incidents in the experience of the | |||
| icular | authors), the correlation and cross-referencing necessary to provide | |||
| intrusion set, and the necessary context can be presented alongside | the same degree of situational awareness is much more | |||
| the detection | time-consuming.</t> | |||
| when generating any alerts for defender review. While manual process | <t>A third important consideration when performing manual processing | |||
| ing and searching | is the longer phase monitoring and adjustment necessary to effectively | |||
| may be no less accurate (although IoC transcription errors are a com | age out IoCs as they become irrelevant or, more crucially, | |||
| mon problem during | inaccurate. Manual implementations must often simply include or | |||
| busy incidents in the experience of the authors), the correlation an | exclude an IoC, as anything more granular is time-consuming and | |||
| d | complicated to manage. In contrast, automations can support a gradual | |||
| cross-referencing necessary to provide the same degree of situationa | reduction in confidence scoring, enabling IoCs to contribute but not | |||
| l awareness is | individually disrupt a detection as their specificity reduces.</t> | |||
| much more time-consuming.</t> | ||||
| <t>A third important consideration when performing manual processing is | ||||
| the longer | ||||
| phase monitoring and adjustment necessary to effectively age out IoC | ||||
| s as they become | ||||
| irrelevant or, more crucially, inaccurate. Manual implementations mu | ||||
| st often simply | ||||
| include or exclude an IoC, as anything more granular is time-consumi | ||||
| ng and complicated | ||||
| to manage. In contrast, automations can support a gradual reduction | ||||
| in confidence | ||||
| scoring enabling IoCs to contribute but not individually disrupt a d | ||||
| etection as their | ||||
| specificity reduces.</t> | ||||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="depth" numbered="true" toc="default"> | <section anchor="depth" numbered="true" toc="default"> | |||
| <name>Comprehensive Coverage and Defence-in-Depth</name> | <name>Comprehensive Coverage and Defence-in-Depth</name> | |||
| <t>IoCs provide the defender with a range of | <t>IoCs provide the defender with a range of options across the PoP's | |||
| options across the Pyramid of Pain's (PoP) layers, enabling them to | layers, enabling them to balance precision and fragility to give high | |||
| balance precision and fragility to give high confidence detections that | confidence detections that are practical and useful. Broad | |||
| are practical and useful. Broad coverage of the PoP is important as it | coverage of the PoP is important as it allows the defender to choose | |||
| allows the defender to choose between high precision but high fragility | between high precision but high fragility options and more robust but | |||
| options and more robust but less precise indicators depending on availabil | less precise indicators depending on availability. As fragile | |||
| ity. | indicators are changed, the more robust IoCs allow for continued | |||
| As fragile indicators | detection and faster rediscovery. For this reason, it's important to | |||
| are changed, the more robust IoCs allow for continued detection and faster | collect as many IoCs as possible across the whole PoP to provide options | |||
| rediscovery. For this reason, it's important to collect as many IoCs as po | for defenders.</t> | |||
| ssible | ||||
| across the whole PoP to provide options for defenders.</t> | ||||
| <t>At the top of the PoP, TTPs identified through anomaly detection and | <t>At the top of the PoP, TTPs identified through anomaly detection and | |||
| machine learning are more likely to have false positives, which gives | machine learning are more likely to have false positives, which gives | |||
| lower confidence and, vitally, requires better trained analysts to | lower confidence and, vitally, requires better trained analysts to | |||
| understand and implement the defences. However, these are very painful for | understand and implement the defences. However, these are very painful | |||
| attackers to change and so when tuned appropriately provide a robust | for attackers to change, so when tuned appropriately, they provide a | |||
| detection. Hashes, at the bottom, are precise and easy to deploy but are | robust detection. Hashes, at the bottom, are precise and easy to deploy | |||
| fragile and easily changed within and across campaigns by malicious actors | but are fragile and easily changed within and across campaigns by | |||
| .</t> | malicious actors.</t> | |||
| <t>Endpoint Detection and Response (EDR) or Anti-Virus (AV) are often the | ||||
| first port of call for protection from intrusion, but endpoint solutions | <t>Endpoint Detection and Response (EDR) or Antivirus (AV) are often | |||
| aren't a panacea. One issue is that there are many environments where it i | the first port of call for protection from intrusion, but endpoint | |||
| s | solutions aren't a panacea. One issue is that there are many | |||
| not possible to keep them updated, or in some cases, deploy them at all. F | environments where it is not possible to keep them updated or, in some | |||
| or | cases, deploy them at all. For example, the Owari botnet, a Mirai | |||
| example, the Owari botnet, a Mirai variant <xref target="Owari" format="de | variant <xref target="Owari" format="default"/>, exploited Internet of | |||
| fault"/>, exploited | Things (IoT) devices where such solutions could not be deployed. It is | |||
| Internet of Things (IoT) devices where such solutions could not be deploye | because of such gaps, where endpoint solutions can't be relied on, that | |||
| d. | a defence-in-depth approach is commonly advised, using a blended | |||
| It is because of such gaps, where endpoint solutions can't be relied on, t | approach that includes both network and endpoint defences.</t> | |||
| hat | <t>If an attack happens, then the best situation is that an endpoint | |||
| a defence-in-depth approach is commonly advocated, using a blended approac | solution will detect and prevent it. If it doesn't, it could be for | |||
| h that | many good reasons: the endpoint solution could be quite | |||
| includes both network and endpoint defences.</t> | conservative and aim for a low false-positive rate, it might not have | |||
| <t>If an attack happens, then the best situation is that an endpoint solut | ubiquitous coverage, or it might only be able to defend the initial step | |||
| ion | of the kill chain <xref target="KillChain" format="default"/>. In the | |||
| will detect and prevent it. | worst cases, the attack specifically disables the endpoint solution, or | |||
| If it doesn't, it could be for many good reasons: the endpoint solution | the malware is brand new and so won't be recognised.</t> | |||
| could be quite conservative and aim for a low false-positive rate; it migh | ||||
| t | ||||
| not have ubiquitous coverage; or it might only be able to defend the initi | ||||
| al | ||||
| step of the kill chain <xref target="KillChain" format="default"/>. In the | ||||
| worst cases, | ||||
| the attack specifically disables the endpoint solution or the malware is b | ||||
| rand new and | ||||
| so won't be recognised.</t> | ||||
| <t>In the middle of the pyramid, IoCs related to network information | <t>In the middle of the pyramid, IoCs related to network information | |||
| (such as domains and IP addresses) can be particularly useful. They allow | (such as domains and IP addresses) can be particularly useful. They | |||
| for broad coverage, without requiring each and every endpoint security | allow for broad coverage, without requiring each and every endpoint | |||
| solution to be updated, as they may be detected and enforced in a more | security solution to be updated, as they may be detected and enforced in | |||
| centralised manner at network choke points (such as proxies and gateways). | a more centralised manner at network choke points (such as proxies and | |||
| This makes them particular useful in contexts where | gateways). This makes them particularly useful in contexts where | |||
| ensuring endpoint security isn't possible such as "Bring Your Own Device" | ensuring endpoint security isn't possible, such as Bring Your Own | |||
| (BYOD), Internet of Things (IoT) and legacy environments. It's important t | Device (BYOD), Internet of Things (IoT), and legacy environments. It's | |||
| o | important to note that these network-level IoCs can also protect users | |||
| note that these network-level IoCs can also protect users of a network aga | of a network against compromised endpoints when these IoCs are used to | |||
| inst compromised | detect the attack in network traffic, even if the compromise itself | |||
| endpoints when these IoCs are used to detect the attack in network traffic | passes unnoticed. For example, in a BYOD environment, enforcing security | |||
| , | policies on the device can be difficult, so non-endpoint IoCs and | |||
| even if the compromise itself passes unnoticed. For example, in a BYOD env | solutions are needed to allow detection of compromise even with no | |||
| ironment, | endpoint coverage.</t> | |||
| enforcing security policies on the device can be difficult, so | <t>One example of how network-level IoCs provide a layer of a | |||
| non-endpoint IoCs and solutions are needed to allow detection of | defence-in-depth solution is Protective DNS (PDNS) <xref | |||
| compromise even with no endpoint coverage.</t> | target="Annual2021" format="default"/>, a free and voluntary | |||
| <t>One example of how network-level IoCs provide a layer of a defence-in-d | DNS filtering service provided by the UK NCSC for UK public sector | |||
| epth solution | organisations <xref target="PDNS" format="default"/>. In 2021, this | |||
| is Protective DNS (PDNS) <xref target="Annual2021" format="default"/>, a f | service blocked access to more than 160 million DNS queries (out of 602 | |||
| ree and voluntary DNS filtering service provided by | billion total queries) for the organisations signed up to the service | |||
| the UK NCSC for UK public sector organisations <xref target="PDNS" format= | <xref target="ACD2021" format="default"/>. This included hundreds of | |||
| "default"/>. In 2021, | thousands of queries for domains associated with Flubot, Android malware | |||
| this service blocked access to more than 160 million DNS queries (out of 6 | that uses DGAs to generate 25,000 | |||
| 02 billion total queries) for the organisations signed up to | candidate command and control domains each month (these DGAs <xref | |||
| the service <xref target="ACD2021" format="default"/>. This included hundr | target="DGAs" format="default"/> are a type of TTP).</t> | |||
| eds of thousands of queries for domains | <t>IoCs such as malicious domains can be put on PDNS straight away and | |||
| associated with Flubot, Android malware that uses domain generation algori | can then be used to prevent access to those known malicious domains | |||
| thms (DGAs) to generate 25,000 candidate | across the entire estate of over 925 separate public sector entities | |||
| command and control domains each month - these DGAs <xref target="DGAs" fo | that use NCSC's PDNS. Coverage can be patchy with endpoints, as the | |||
| rmat="default"/> are a type of TTP.</t> | roll-out of protections isn't uniform or necessarily fast. However, if | |||
| <t>IoCs such as malicious | the IoC is on PDNS, a consistent defence is maintained for devices using | |||
| domains can be put on PDNS straight away and can then be used to prevent a | PDNS, even if the device itself is not immediately updated. This offers | |||
| ccess | protection, regardless of whether the context is a BYOD environment or a | |||
| to those known malicious domains across the entire estate of over 925 sepa | managed enterprise system. PDNS provides the most front-facing layer of | |||
| rate | defence-in-depth solutions for its users, but other IoCs, like | |||
| public sector entities that use NCSC's PDNS. | Server Name Indication values in TLS or the server certificate | |||
| Coverage can be patchy with endpoints, as the roll-out of protections isn' | information, also provide IoC protections at other layers.</t> | |||
| t | <t>Similar to the AV scenario, large-scale services face risk decisions | |||
| uniform or necessarily fast - but if the IoC is on PDNS, a consistent defe | ||||
| nce is | ||||
| maintained for devices using PDNS, even if the device itself is not immedi | ||||
| ately updated. | ||||
| This offers protection, regardless of whether the context is a BYOD | ||||
| environment or a managed enterprise system. PDNS provides the most front-f | ||||
| acing | ||||
| layer of defence-in-depth solutions for its users, but other IoCs, like Se | ||||
| rver Name | ||||
| Indication values in TLS or the server certificate information, also provi | ||||
| de IoC | ||||
| protections at other layers.</t> | ||||
| <t>Similar to the AV scenario, large scale services face risk decisions | ||||
| around balancing threat against business impact from false positives. | around balancing threat against business impact from false positives. | |||
| Organisations need to be able to retain the ability to be more conservativ | Organisations need to be able to retain the ability to be more | |||
| e | conservative with their own defences, while still benefiting from | |||
| with their own defences, while still benefiting from them. For instance, a | them. For instance, a commercial DNS filtering service is intended for | |||
| commercial DNS filtering service is intended for broad deployment, so will | broad deployment, so it will have a risk tolerance similar to AV | |||
| have a risk tolerance similar to AV products; whereas DNS filtering | products, whereas DNS filtering intended for government users | |||
| intended for government users (e.g. PDNS) can be more conservative, but wi | (e.g., PDNS) can be more conservative but will still have a relatively | |||
| ll | broad deployment if intended for the whole of government. A government | |||
| still have a relatively broad deployment if intended for the whole of | department or specific company, on the other hand, might accept the risk | |||
| government. A government department or specific company, on the other hand | of disruption and arrange firewalls or other network protection devices | |||
| , | to completely block anything related to particular threats, regardless | |||
| might accept the risk of disruption and arrange firewalls or other network | of the confidence, but rely on a DNS filtering service for everything | |||
| protection devices to completely block anything related to particular thre | else.</t> | |||
| ats, | ||||
| regardless of the confidence, but rely on a DNS filtering service for | <t>Other network defences can make use of this blanket coverage from | |||
| everything else.</t> | IoCs, like middlebox mitigation, proxy defences, and application-layer | |||
| <t>Other network defences can make use of this blanket coverage from IoCs, | firewalls, but are out of scope for this document. Large enterprise | |||
| like middlebox mitigation, proxy defences, and application layer firewalls | networks are likely to deploy their own DNS resolution architecture and | |||
| , but | possibly TLS inspection proxies and can deploy IoCs in these | |||
| are out of scope for this draft. Large enterprise networks | locations. However, in networks that choose not to, or don't have the | |||
| are likely to deploy their own DNS resolution architecture and possibly | resources to, deploy these sorts of mitigations, DNS goes through | |||
| TLS inspection proxies, and can deploy IoCs in these locations. However, i | firewalls, proxies, and possibly a DNS filtering service; it doesn't | |||
| n | have to be unencrypted, but these appliances must be able to decrypt it | |||
| networks that choose not to, or don't have the resources to, deploy these | to do anything useful with it, like blocking queries for known bad | |||
| sorts | URIs.</t> | |||
| of mitigations, DNS goes through | ||||
| firewalls, proxies and possibly to a DNS filtering service; it doesn't hav | <t>Covering a broad range of IoCs gives defenders a wide range of | |||
| e | benefits: they are easy to deploy; | |||
| to be unencrypted, but these appliances must be able to decrypt it to do | they provide a high enough confidence to be effective; | |||
| anything useful with it, like blocking queries for known bad URIs.</t> | at least some will be painful for attackers to change; and | |||
| <t>Covering a broad range of IoCs gives defenders a wide range of benefits | their distribution around the infrastructure allows for different | |||
| : | points of failure, and so overall they enable the defenders to disrupt | |||
| they are easy to deploy; they provide a high enough confidence to be effec | bad actors. | |||
| tive; | The combination of these factors cements IoCs as a particularly | |||
| at least some will be painful for attackers to change; their distribution | valuable tool for defenders with limited resources.</t> | |||
| around | ||||
| the infrastructure allows for different points of failure, and so overall | ||||
| they | ||||
| enable the defenders to disrupt bad actors. The combination of these facto | ||||
| rs | ||||
| cements IoCs as a particularly valuable tool for defenders with limited re | ||||
| sources.</t> | ||||
| </section> | </section> | |||
| <section anchor="IANA" numbered="true" toc="default"> | ||||
| <name>IANA Considerations</name> | ||||
| <t>This document has no IANA actions.</t> | ||||
| </section> | ||||
| <section anchor="Security" numbered="true" toc="default"> | <section anchor="Security" numbered="true" toc="default"> | |||
| <name>Security Considerations</name> | <name>Security Considerations</name> | |||
| <t>This draft is all about system security. However, when poorly deployed, | ||||
| IoCs can lead to over-blocking which may present an availability concern | <t>This document is all about system security. However, when poorly | |||
| for some systems. While IoCs preserve privacy on a macro scale (by | deployed, IoCs can lead to over-blocking, which may present an | |||
| preventing data breaches), research could be done to investigate the | availability concern for some systems. While IoCs preserve privacy on a | |||
| impact on privacy from sharing IoCs, and improvements could be made to | macro scale (by preventing data breaches), research could be done to | |||
| minimise any impact found. The creation of a privacy-preserving IoC sharin | investigate the impact on privacy from sharing IoCs, and improvements | |||
| g | could be made to minimise any impact found. The creation of a | |||
| method, that still allows both network and endpoint defences to provide | privacy-preserving method of sharing IoCs that still allows both network | |||
| security and layered defences, would be an interesting proposal.</t> | and endpoint defences to provide security and layered defences would be | |||
| an interesting proposal.</t> | ||||
| </section> | </section> | |||
| <section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
| <name>Conclusions</name> | <name>Conclusions</name> | |||
| <t>IoCs are versatile and powerful. IoCs underpin and enable multiple | <t>IoCs are versatile and powerful. IoCs underpin and enable multiple | |||
| layers of the modern defence-in-depth strategy. IoCs are easy to share, | layers of the modern defence-in-depth strategy. IoCs are easy to share, | |||
| providing a multiplier effect on attack defence effort and they save vital | providing a multiplier effect on attack defence efforts, and they save | |||
| time. Network-level IoCs offer protection, especially valuable when an | vital time. Network-level IoCs offer protection, which is especially | |||
| endpoint-only solution isn't sufficient. These properties, along with | valuable when an endpoint-only solution isn't sufficient. These | |||
| their ease of use, make IoCs a key component of any attack defence strateg | properties, along with their ease of use, make IoCs a key component of | |||
| y | any attack defence strategy and particularly valuable for defenders with | |||
| and particularly valuable for defenders with limited resources.</t> | limited resources.</t> | |||
| <t>For IoCs to be useful, they don't have to be unencrypted or visible in | <t>For IoCs to be useful, they don't have to be unencrypted or visible | |||
| networks - but crucially they do need to be made available, along with the | in networks, but it is crucial that they be made available, along | |||
| ir | with their context, to entities that need them. It is also important | |||
| context, to entities that need them. It is also important that this | that this availability and eventual usage cope with multiple points of | |||
| availability and eventual usage copes with multiple points of failure, as | failure, as per the defence-in-depth strategy, of which IoCs are a key | |||
| per the defence-in-depth strategy, of which IoCs are a key part.</t> | part.</t> | |||
| </section> | ||||
| <section anchor="IANA" numbered="true" toc="default"> | ||||
| <name>IANA Considerations</name> | ||||
| <t> This draft does not require any IANA action.</t> | ||||
| </section> | ||||
| <section anchor="Acknowledgements" numbered="true" toc="default"> | ||||
| <name>Acknowledgements</name> | ||||
| <t>Thanks to all those who have been involved with improving cyber defence | ||||
| in the IETF and IRTF communities.</t> | ||||
| </section> | </section> | |||
| </middle> | </middle> | |||
| <!-- *****BACK MATTER ***** --> | ||||
| <back> | <back> | |||
| <displayreference target="I-D.dulaunoy-misp-core-format" to="MISPCORE"/> | ||||
| <references> | <references> | |||
| <name>Informative References</name> | <name>Informative References</name> | |||
| <reference anchor="ACD2021" target="https://www.ncsc.gov.uk/files/ACD-The- Fifth-Year-full-report.pdf"> | <reference anchor="ACD2021" target="https://www.ncsc.gov.uk/files/ACD-The- Fifth-Year-full-report.pdf"> | |||
| <front> | <front> | |||
| <title>Active Cyber Defence - The Fifth Full Year</title> | <title>Active Cyber Defence - The Fifth Year</title> | |||
| <author> | <author> | |||
| <organization>UK NCSC</organization> | <organization>UK NCSC</organization> | |||
| </author> | </author> | |||
| <date year="2022"/> | <date month="May" year="2022"/> | |||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <reference anchor="ADS" target="https://docs.microsoft.com/en-us/windows/w in32/fileio/file-streams"> | <reference anchor="ADS" target="https://docs.microsoft.com/en-us/windows/w in32/fileio/file-streams"> | |||
| <front> | <front> | |||
| <title>File Streams (Local File Systems)</title> | <title>File Streams (Local File Systems)</title> | |||
| <author> | <author> | |||
| <organization>Microsoft</organization> | <organization>Microsoft</organization> | |||
| </author> | </author> | |||
| <date year="2018"/> | <date month="January" year="2021"/> | |||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <reference anchor="ALIENVAULT" target="https://otx.alienvault.com/"> | <reference anchor="ALIENVAULT" target="https://otx.alienvault.com/"> | |||
| <front> | <front> | |||
| <title>AlienVault</title> | <title>AlienVault: The World's First Truly Open Threat Intelligence | |||
| Community</title> | ||||
| <author> | <author> | |||
| <organization>AlienVault</organization> | <organization>AlienVault</organization> | |||
| </author> | </author> | |||
| <date year="2023"/> | ||||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <reference anchor="Annual2021" target="https://www.ncsc.gov.uk/files/NCSC% 20Annual%20Review%202021.pdf"> | <reference anchor="Annual2021" target="https://www.ncsc.gov.uk/files/NCSC% 20Annual%20Review%202021.pdf"> | |||
| <front> | <front> | |||
| <title>Annual Review 2021</title> | <title>NCSC Annual Review 2021: Making the UK the safest place to | |||
| live and work online</title> | ||||
| <author> | <author> | |||
| <organization>UK NCSC</organization> | <organization>UK NCSC</organization> | |||
| </author> | </author> | |||
| <date year="2021"/> | <date year="2021"/> | |||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <reference anchor="CISA" target="https://www.cisa.gov/uscert/ncas/alerts/a a21-321a"> | <reference anchor="CISA" target="https://www.cisa.gov/uscert/ncas/alerts/a a21-321a"> | |||
| <front> | <front> | |||
| <title>Iranian Government-Sponsored APT Cyber Actors Exploiting Micros oft Exchange and Fortinet Vulnerabilities in Furtherance of Malicious Activities </title> | <title>Iranian Government-Sponsored APT Cyber Actors Exploiting Micros oft Exchange and Fortinet Vulnerabilities in Furtherance of Malicious Activities </title> | |||
| <author> | <author> | |||
| <organization>CISA</organization> | <organization>CISA</organization> | |||
| </author> | </author> | |||
| <date year="2021"/> | <date month="November" year="2021"/> | |||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <reference anchor="COBALT" target="https://www.cobaltstrike.com/"> | <reference anchor="COBALT" target="https://www.cobaltstrike.com/"> | |||
| <front> | <front> | |||
| <title>Cobalt Strike</title> | <title>Cobalt Strike | |||
| </title> | ||||
| <author> | <author> | |||
| <organization>Cobalt Strike</organization> | <organization></organization> | |||
| </author> | </author> | |||
| <date year="2021"/> | ||||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <reference anchor="DFRONT" target="https://resources.infosecinstitute.com/ topic/domain-fronting/"> | <reference anchor="DFRONT" target="https://resources.infosecinstitute.com/ topic/domain-fronting/"> | |||
| <front> | <front> | |||
| <title>Domain Fronting</title> | <title>Domain Fronting</title> | |||
| <author> | <author> | |||
| <organization>InfoSec Resources</organization> | <organization>Infosec</organization> | |||
| </author> | </author> | |||
| <date year="2017"/> | <date month="April" year="2017"/> | |||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <reference anchor="DGAs" target="https://attack.mitre.org/techniques/T1483 /"> | <reference anchor="DGAs" target="https://attack.mitre.org/techniques/T1483 /"> | |||
| <front> | <front> | |||
| <title>Dynamic Resolution: Domain Generation Algorithms</title> | <title>Dynamic Resolution: Domain Generation Algorithms</title> | |||
| <author> | <author> | |||
| <organization>MITRE</organization> | <organization>MITRE</organization> | |||
| </author> | </author> | |||
| <date year="2020"/> | <date year="2020"/> | |||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <reference anchor="FireEye" target="https://www.mandiant.com/resources/blo g/apt33-insights-into-iranian-cyber-espionage"> | <reference anchor="FireEye" target="https://www.mandiant.com/resources/blo g/apt33-insights-into-iranian-cyber-espionage"> | |||
| <front> | <front> | |||
| <title>Insights into Iranian Cyber Espionage: APT33 Targets Aerospace and Energy Sectors and has Ties to Destructive Malware</title> | <title>Insights into Iranian Cyber Espionage: APT33 Targets Aerospace and Energy Sectors and has Ties to Destructive Malware</title> | |||
| <author fullname="Jacqueline O'Leary" initials="J." surname="O'Leary"> | <author fullname="Jacqueline O'Leary" initials="J." surname="O'Leary"> | |||
| <organization>FireEye</organization> | <organization>FireEye</organization> | |||
| </author> | </author> | |||
| <author fullname="Josiah Kimble" initials="J." surname="Kimble"> | <author fullname="Josiah Kimble" initials="J." surname="Kimble"> | |||
| <organization>FireEye</organization> | <organization>FireEye</organization> | |||
| </author> | </author> | |||
| <author fullname="Kelli Vanderlee" initials="K." surname="Vanderlee"> | <author fullname="Kelli Vanderlee" initials="K." surname="Vanderlee"> | |||
| <organization>FireEye</organization> | <organization>FireEye</organization> | |||
| </author> | </author> | |||
| <author fullname="Nalani Fraser" initials="N." surname="Fraser"> | <author fullname="Nalani Fraser" initials="N." surname="Fraser"> | |||
| <organization>FireEye</organization> | <organization>FireEye</organization> | |||
| </author> | </author> | |||
| <date year="2017"/> | <date month="September" year="2017"/> | |||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <reference anchor="FireEye2" target="https://www.mandiant.com/resources/bl og/overruled-containing-a-potentially-destructive-adversary"> | <reference anchor="FireEye2" target="https://www.mandiant.com/resources/bl og/overruled-containing-a-potentially-destructive-adversary"> | |||
| <front> | <front> | |||
| <title>OVERRULED: Containing a Potentially Destructive Adversary</titl e> | <title>OVERRULED: Containing a Potentially Destructive Adversary</titl e> | |||
| <author> | <author fullname="Geoff Ackerman" initials="G." surname="Ackerman"> | |||
| <organization>FireEye</organization> | <organization>FireEye</organization> | |||
| </author> | </author> | |||
| <date year="2018"/> | <author fullname="Rick Cole" initials="R." surname="Cole"> | |||
| <organization>FireEye</organization> | ||||
| </author> | ||||
| <author fullname="Andrew Thompson" initials="A." surname="Thompson"> | ||||
| <organization>FireEye</organization> | ||||
| </author> | ||||
| <author fullname="Alex Orleans" initials="A." surname="Orleans"> | ||||
| <organization>FireEye</organization> | ||||
| </author> | ||||
| <author fullname="Nick Carr" initials="N." surname="Carr"> | ||||
| <organization>FireEye</organization> | ||||
| </author> | ||||
| <date month="December" year="2018"/> | ||||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <reference anchor="GoldenTicket" target="https://cert.europa.eu/static/Whi | ||||
| tePapers/UPDATED%20-%20CERT-EU_Security_Whitepaper_2014-007_Kerberos_Golden_Tick | <reference anchor="GoldenTicket" target="https://attack.mitre.org/techniqu | |||
| et_Protection_v1_4.pdf"> | es/T1558/001/"> | |||
| <front> | <front> | |||
| <title>Kerberos Golden Ticket Protection</title> | <title>Steal or Forge Kerberos Tickets: Golden Ticket</title> | |||
| <author fullname="Miguel Soria-Machado" initials="M." surname="Soria-M | <author fullname="Itamar Mizrahi" initials="I." surname="Mizrahi"> | |||
| achado"> | <organization>MITRE</organization> | |||
| <organization>CERT-EU</organization> | ||||
| </author> | ||||
| <author fullname="Didzis Abolins" initials="D." surname="Abolins"> | ||||
| <organization>CERT-EU</organization> | ||||
| </author> | ||||
| <author fullname="Ciprian Boldea" initials="C." surname="Boldea"> | ||||
| <organization>CERT-EU</organization> | ||||
| </author> | </author> | |||
| <author fullname="Krzysztof Socha" initials="K." surname="Socha"> | <author fullname="Cymptom" surname="Cymptom"> | |||
| <organization>CERT-EU</organization> | <organization>MITRE</organization> | |||
| </author> | </author> | |||
| <date year="2014"/> | <date year="2020"/> | |||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <reference anchor="KillChain" target="https://www.lockheedmartin.com/en-us /capabilities/cyber/cyber-kill-chain.html"> | <reference anchor="KillChain" target="https://www.lockheedmartin.com/en-us /capabilities/cyber/cyber-kill-chain.html"> | |||
| <front> | <front> | |||
| <title>The Cyber Kill Chain</title> | <title>The Cyber Kill Chain</title> | |||
| <author> | <author> | |||
| <organization>Lockheed Martin</organization> | <organization>Lockheed Martin</organization> | |||
| </author> | </author> | |||
| <date year="2020"/> | ||||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <reference anchor="LAZARUS" target="https://media.kasperskycontenthub.com/ wp-content/uploads/sites/43/2018/03/07180244/Lazarus_Under_The_Hood_PDF_final.pd f"> | <reference anchor="LAZARUS" target="https://media.kasperskycontenthub.com/ wp-content/uploads/sites/43/2018/03/07180244/Lazarus_Under_The_Hood_PDF_final.pd f"> | |||
| <front> | <front> | |||
| <title>Lazarus Under The Hood</title> | <title>Lazarus Under The Hood</title> | |||
| <author> | <author> | |||
| <organization>Kaspersky Lab</organization> | <organization>Kaspersky Lab</organization> | |||
| </author> | </author> | |||
| <date year="2018"/> | ||||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <reference anchor="LITREVIEW" target="https://www.open-access.bcu.ac.uk/78 52/1/Cyber%20Threat%20Intelligence%20Sharing%20Survey%20and%20Research%20Directi ons.pdf"> | <reference anchor="LITREVIEW" target="https://www.open-access.bcu.ac.uk/78 52/1/Cyber%20Threat%20Intelligence%20Sharing%20Survey%20and%20Research%20Directi ons.pdf"> | |||
| <front> | <front> | |||
| <title>Cyber Threat Intelligence Sharing: Survey and Research Directio ns</title> | <title>Cyber Threat Intelligence Sharing: Survey and Research Directio ns</title> | |||
| <author fullname="Thomas D. Wagner" initials="T. D." surname="Mulder"> | <author fullname="Thomas Wagner" initials="T." surname="Wagner"> | |||
| <organization>Birmingham City University</organization> | <organization>Birmingham City University</organization> | |||
| </author> | </author> | |||
| <date year="2018"/> | <author fullname="Khaled Mahbub" initials="K." surname="Mahbub"> | |||
| <organization></organization> | ||||
| </author> | ||||
| <author fullname="Esther Palomar" initials="E." surname="Palomar"> | ||||
| <organization></organization> | ||||
| </author> | ||||
| <author fullname="Ali Abdallah" initials="A." surname="Abdallah"> | ||||
| <organization></organization> | ||||
| </author> | ||||
| <date month="January" year="2019"/> | ||||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <reference anchor="Mimikatz" target="https://www.sans.org/reading-room/whi tepapers/detection/mimikatz-overview-defenses-detection-36780"> | <reference anchor="Mimikatz" target="https://www.sans.org/white-papers/367 80/"> | |||
| <front> | <front> | |||
| <title>Mimikatz Overview, Defenses and Detection</title> | <title>Mimikatz Overview, Defenses and Detection</title> | |||
| <author fullname="Jim Mulder" initials="J." surname="Mulder"> | <author fullname="Jim Mulder" initials="J." surname="Mulder"> | |||
| <organization>SANS Institute Information Security Reading Room</orga nization> | <organization>SANS</organization> | |||
| </author> | </author> | |||
| <date year="2016"/> | <date month="February" year="2016"/> | |||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <reference anchor="MISP" target="https://www.misp-project.org/"> | <reference anchor="MISP" target="https://www.misp-project.org/"> | |||
| <front> | <front> | |||
| <title>MISP</title> | <title>MISP</title> | |||
| <author> | <author> | |||
| <organization>MISP</organization> | <organization></organization> | |||
| </author> | ||||
| <date year="2019"/> | ||||
| </front> | ||||
| </reference> | ||||
| <reference anchor="MISPCORE" target="https://github.com/MISP/misp-rfc/blob | ||||
| /master/misp-core-format/raw.md.txt"> | ||||
| <front> | ||||
| <title>MISP Core</title> | ||||
| <author> | ||||
| <organization>MISP</organization> | ||||
| </author> | </author> | |||
| <date year="2020"/> | ||||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.dulauno | ||||
| y-misp-core-format.xml"/> | ||||
| <reference anchor="NCCGroup" target="https://research.nccgroup.com/2021/01 /12/abusing-cloud-services-to-fly-under-the-radar/"> | <reference anchor="NCCGroup" target="https://research.nccgroup.com/2021/01 /12/abusing-cloud-services-to-fly-under-the-radar/"> | |||
| <front> | <front> | |||
| <title>Abusing cloud services to fly under the radar</title> | <title>Abusing cloud services to fly under the radar</title> | |||
| <author fullname="Wouter Jansen" initials="W." surname="Jansen"> | <author fullname="Wouter Jansen" initials="W." surname="Jansen"> | |||
| <organization>NCC Group</organization> | <organization>NCC Group</organization> | |||
| </author> | </author> | |||
| <date year="2021"/> | <date month="January" year="2021"/> | |||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <reference anchor="NIST" target="https://csrc.nist.gov/glossary/term/secur ity_control"> | <reference anchor="NIST" target="https://csrc.nist.gov/glossary/term/secur ity_control"> | |||
| <front> | <front> | |||
| <title>Security control - Glossary</title> | <title>Glossary - security control</title> | |||
| <author> | <author> | |||
| <organization>US NIST</organization> | <organization>NIST</organization> | |||
| </author> | </author> | |||
| <date year="2022"/> | ||||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <reference anchor="OILRIG" target="https://www.zdnet.com/article/iranian-h acker-group-becomes-first-known-apt-to-weaponize-dns-over-https-doh/"> | <reference anchor="OILRIG" target="https://www.zdnet.com/article/iranian-h acker-group-becomes-first-known-apt-to-weaponize-dns-over-https-doh/"> | |||
| <front> | <front> | |||
| <title>Iranian hacker group becomes first known APT to weaponize DNS-o ver-HTTPS (DoH)</title> | <title>Iranian hacker group becomes first known APT to weaponize DNS-o ver-HTTPS (DoH)</title> | |||
| <author fullname="Catalin Cimpanu" initials="C." surname="Cimpanu"> | <author fullname="Catalin Cimpanu" initials="C." surname="Cimpanu"> | |||
| <organization>ZDNet</organization> | <organization>ZDNet</organization> | |||
| </author> | </author> | |||
| <date year="2020"/> | <date month="August" year="2020"/> | |||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <reference anchor="OPENIOC" target="https://www.fireeye.com/blog/threat-re search/2013/10/openioc-basics.html"> | <reference anchor="OPENIOC" target="https://www.fireeye.com/blog/threat-re search/2013/10/openioc-basics.html"> | |||
| <front> | <front> | |||
| <title>OpenIOC: Back to the Basics</title> | <title>OpenIOC: Back to the Basics</title> | |||
| <author fullname="Will Gibb" initials="W." surname="Gibb"> | <author fullname="Will Gibb" initials="W." surname="Gibb"> | |||
| <organization>FireEye</organization> | <organization>FireEye</organization> | |||
| </author> | </author> | |||
| <date year="2013"/> | <author fullname="Devon Kerr" initials="D." surname="Kerr"> | |||
| <organization></organization> | ||||
| </author> | ||||
| <date month="October" year="2013"/> | ||||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <reference anchor="OPENNIC" target="https://www.opennic.org/"> | <reference anchor="OPENNIC" target="https://www.opennic.org/"> | |||
| <front> | <front> | |||
| <title>OpenNIC Project</title> | <title>OpenNIC</title> | |||
| <author> | <author> | |||
| <organization>OpenNIC Project</organization> | <organization></organization> | |||
| </author> | </author> | |||
| <date year="2021"/> | ||||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <reference anchor="Owari" target="https://www.ncsc.gov.uk/report/weekly-th | ||||
| reat-report-8th-june-2018"> | <reference anchor="Owari" target="https://webarchive.nationalarchives.gov. | |||
| uk/ukgwa/20220301141030/https://www.ncsc.gov.uk/report/weekly-threat-report-8th- | ||||
| june-2018"> | ||||
| <front> | <front> | |||
| <title>Owari botnet own-goal takeover</title> | <title>Owari botnet own-goal takeover</title> | |||
| <author> | <author> | |||
| <organization>UK NCSC</organization> | <organization>UK NCSC</organization> | |||
| </author> | </author> | |||
| <date year="2018"/> | <date year="2018"/> | |||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <reference anchor="PDNS" target="https://www.ncsc.gov.uk/information/pdns" > | <reference anchor="PDNS" target="https://www.ncsc.gov.uk/information/pdns" > | |||
| <front> | <front> | |||
| <title>Protective DNS</title> | <title>Protective Domain Name Service (PDNS)</title> | |||
| <author> | <author> | |||
| <organization>UK NCSC</organization> | <organization>UK NCSC</organization> | |||
| </author> | </author> | |||
| <date year="2019"/> | <date month="August" year="2017"/> | |||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <reference anchor="PoP" target="https://detect-respond.blogspot.com/2013/0 3/the-pyramid-of-pain.html"> | <reference anchor="PoP" target="https://detect-respond.blogspot.com/2013/0 3/the-pyramid-of-pain.html"> | |||
| <front> | <front> | |||
| <title>The Pyramid of Pain</title> | <title>The Pyramid of Pain</title> | |||
| <author fullname="David J. Bianco" initials="D.J." surname="Bianco"> | <author fullname="David Bianco" initials="D." surname="Bianco"> | |||
| </author> | <organization>Enterprise Detection & Response</organization> | |||
| <date year="2014"/> | ||||
| </front> | ||||
| </reference> | ||||
| <reference anchor="RFC7970" target="https://datatracker.ietf.org/doc/html/ | ||||
| rfc7970"> | ||||
| <front> | ||||
| <title>The Incident Object Description Exchange Format Version 2</titl | ||||
| e> | ||||
| <author fullname="Roman Danilyw" initials="R." surname="Danilyw"> | ||||
| </author> | </author> | |||
| <date year="2016"/> | <date month="March" year="2013"/> | |||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7970. | ||||
| xml"/> | ||||
| <reference anchor="RULER" target="https://attack.mitre.org/software/S0358/ "> | <reference anchor="RULER" target="https://attack.mitre.org/software/S0358/ "> | |||
| <front> | <front> | |||
| <title>Ruler</title> | <title>Ruler</title> | |||
| <author> | <author> | |||
| <organization>MITRE</organization> | <organization>MITRE</organization> | |||
| </author> | </author> | |||
| <date year="2020"/> | ||||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <reference anchor="STIX" target="https://oasis-open.github.io/cti-document ation/stix/intro"> | <reference anchor="STIX" target="https://oasis-open.github.io/cti-document ation/stix/intro"> | |||
| <front> | <front> | |||
| <title>STIX</title> | <title>Introduction to STIX</title> | |||
| <author> | <author> | |||
| <organization>OASIS Cyber Threat Intelligence</organization> | <organization>OASIS Cyber Threat Intelligence (CTI)</organization> | |||
| </author> | </author> | |||
| <date year="2019"/> | ||||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <reference anchor="Symantec" target="https://www.symantec.com/blogs/threat -intelligence/elfin-apt33-espionage"> | <reference anchor="Symantec" target="https://www.symantec.com/blogs/threat -intelligence/elfin-apt33-espionage"> | |||
| <front> | <front> | |||
| <title>Elfin: Relentless</title> | <title>Elfin: Relentless Espionage Group Targets Multiple | |||
| Organizations in Saudi Arabia and U.S.</title> | ||||
| <author> | <author> | |||
| <organization>Symantec</organization> | <organization>Symantec</organization> | |||
| </author> | </author> | |||
| <date year="2019"/> | <date month="March" year="2019"/> | |||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <reference anchor="TAXII" target="https://oasis-open.github.io/cti-documen tation/taxii/intro.html"> | <reference anchor="TAXII" target="https://oasis-open.github.io/cti-documen tation/taxii/intro.html"> | |||
| <front> | <front> | |||
| <title>TAXII</title> | <title>Introduction to TAXII</title> | |||
| <author> | <author> | |||
| <organization>OASIS Cyber Threat Intelligence</organization> | <organization>OASIS Cyber Threat Intelligence (CTI)</organization> | |||
| </author> | </author> | |||
| <date year="2021"/> | ||||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <reference anchor="Timestomp" target="https://attack.mitre.org/techniques/ T1099/"> | <reference anchor="Timestomp" target="https://attack.mitre.org/techniques/ T1099/"> | |||
| <front> | <front> | |||
| <title>Timestomp</title> | <title>Indicator Removal: Timestomp</title> | |||
| <author> | <author> | |||
| <organization>OASIS Cyber Threat Intelligence</organization> | <organization>MITRE</organization> | |||
| </author> | </author> | |||
| <date year="2019"/> | <date month="January" year="2020"/> | |||
| </front> | </front> | |||
| </reference> | </reference> | |||
| <reference anchor="TLP" target="https://www.first.org/tlp/"> | <reference anchor="TLP" target="https://www.first.org/tlp/"> | |||
| <front> | <front> | |||
| <title>Traffic Light Protocol</title> | <title>Traffic Light Protocol (TLP)</title> | |||
| <author> | <author> | |||
| <organization>FIRST</organization> | <organization>FIRST</organization> | |||
| </author> | </author> | |||
| <date year="2021"/> | ||||
| </front> | </front> | |||
| </reference> | </reference> | |||
| </references> | </references> | |||
| <section anchor="Acknowledgements" numbered="false" toc="default"> | ||||
| <name>Acknowledgements</name> | ||||
| <t>Thanks to all those who have been involved with improving cyber | ||||
| defence in the IETF and IRTF communities.</t> | ||||
| </section> | ||||
| </back> | </back> | |||
| </rfc> | </rfc> | |||
| End of changes. 151 change blocks. | ||||
| 1379 lines changed or deleted | 1048 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. | ||||