IoCs offer a variety of opportunities to cyber defenders as part of a modern defence-in-depth strategy. No matter the size of an organisation, IoCs can provide an effective, scalable, and efficient defence mechanism against classes of attack from the latest threats or specific intrusion sets that may have struck in the past.
Firewalls, Intrusion Detection Systems (IDSs), and Intrusion Prevention Systems (IPSs) all employ IoCs to identify and mitigate threats across networks. Antivirus (AV) and Endpoint Detection and Response (EDR) products deploy IoCs via catalogues or libraries to supported client endpoints. Security Incident Event Management (SIEM) platforms compare IoCs against aggregated logs from various sources -- network, endpoint, and application. Of course, IoCs do not address all attack defence challenges, but they form a vital tier of any organisation's layered defence. Some types of IoC may be present across all those controls while others may be deployed only in certain layers of a defence-in-depth solution. Further, IoCs relevant to a specific kill chain may only reflect activity performed during a certain phase and so need to be combined with other IoCs or mechanisms for complete coverage of the kill chain as part of an intrusion set.
As an example, open-source malware can be deployed by many different actors, each using their own TTPs and infrastructure. However, if the actors use the same executable, the hash of the executable file remains the same, and this hash can be deployed as an IoC in endpoint protection to block execution regardless of individual actor, infrastructure, or other TTPs. Should this defence fail in a specific case, for example, if an actor recompiles the executable binary producing a unique hash, other defences can prevent them progressing further through their attack, for instance, by blocking known malicious domain name lookups and thereby preventing the malware calling out to its C2 infrastructure.
Alternatively, another malicious actor may regularly change their tools and infrastructure (and thus the indicators associated with the intrusion set) deployed across different campaigns, but their access vectors may remain consistent and well-known. In this case, this access TTP can be recognised and proactively defended against, even while there is uncertainty of the intended subsequent activity. For example, if their access vector consistently exploits a vulnerability in software, regular and estate-wide patching can prevent the attack from taking place. However, should these preemptive measures fail, other IoCs observed across multiple campaigns may be able to prevent the attack at later stages in the kill chain.
IoCs are inexpensive, scalable, and easy to deploy, making their use particularly beneficial for smaller entities, especially where they are exposed to a significant threat. For example, a small manufacturing subcontractor in a supply chain producing a critical, highly specialised component may represent an attractive target because there would be disproportionate impact on both the supply chain and the prime contractor if it were compromised. It may be reasonable to assume that this small manufacturer will have only basic security (whether internal or outsourced), and while it is likely to have comparatively fewer resources to manage the risks that it faces compared to larger partners, it can still leverage IoCs to great effect. Small entities like this can deploy IoCs to give a baseline protection against known threats without having access to a well-resourced, mature defensive team and the threat intelligence relationships necessary to perform resource-intensive investigations. While some level of expertise on the part of such a small company would be needed to successfully deploy IoCs, use of IoCs does not require the same intensive training as needed for more subjective controls, such as those using machine learning, which require further manual analysis of identified events to verify if they are indeed 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.
Individual IoCs can provide widespread protection that scales effectively for defenders across an organisation or ecosystem. Within a single organisation, simply blocking one IoC may protect thousands of users, and that blocking may be performed (depending on the IoC type) across multiple security controls monitoring numerous different types of activity within networks, endpoints, and applications. The prime contractor from our earlier example can supply IoCs to the small subcontractor and thus further uplift that smaller entity's defensive capability while protecting itself and its interests at the same time.
Multiple organisations may benefit from directly receiving shared IoCs (see
Section 4.1.4), but they may also benefit from the IoCs' application in services they utilise. In the case of an ongoing email-phishing campaign, IoCs can be monitored, discovered, and deployed quickly and easily by individual organisations. However, if they are deployed quickly via a mechanism such as a protective DNS filtering service, they can be more 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 organisations or additional effort.
IoCs can also be very easily shared between individuals and organisations. First, IoCs are easy to distribute as they can be represented concisely as text (possibly in hexadecimal) and so are frequently exchanged in small numbers in emails, blog posts, or technical reports. Second, standards, such as those mentioned in
Section 3.2.3, exist to provide well-defined formats for sharing large collections or regular sets of IoCs along with all the associated context. While discovering one IoC can be intensive, once shared via well-established routes, that individual IoC may protect thousands of organisations and thus all of the users in those organisations. Quick and easy sharing of IoCs gives blanket coverage for organisations and allows widespread mitigation in a timely fashion -- they can be shared with systems administrators, from small to large organisations and from large teams to single individuals, allowing them all to implement defences on their networks.
Not only are there time savings from sharing IoCs, saving duplication of investigation effort, but deploying them automatically at scale is seamless for many enterprises. Where automatic deployment of IoCs is working well, organisations and users get blanket protection with minimal human intervention and minimal effort, a key goal of attack defence. The ability to do this at scale and at pace is often vital when responding to agile threat actors that may change their intrusion set frequently and hence change the relevant IoCs. Conversely, protecting a complex network without automatic deployment of IoCs could mean manually updating every single endpoint or network device consistently and reliably to the same security state. The work this entails (including locating assets and devices, polling for logs and system information, and manually checking patch levels) introduces complexity and a need for skilled analysts and engineers. 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, legacy systems may be particularly complicated, or even impossible, to update.
A network defender can use recently acquired IoCs in conjunction with historic data, such as logged DNS queries or email attachment hashes, to hunt for signs of past compromise. Not only can this technique help to build a clear picture of past attacks, but it also allows for retrospective mitigation of the effects of any previous intrusion. This opportunity is reliant on historic data not having been compromised itself, by a technique such as Timestomp [
Timestomp], and not being incomplete due to data retention policies, but it is nonetheless valuable for detecting and remediating past attacks.
Deployment of various modern security controls, such as firewall filtering or EDR, come with an inherent trade-off between breadth of protection and various costs, including the risk of false positives (see
Section 5.2), staff time, and pure financial costs. Organisations can use threat modelling and information assurance to assess and prioritise risk from identified threats and to determine how they will mitigate or accept each of them. Contextual information tying IoCs to specific threats or actors and shared alongside the IoCs enables organisations to focus their defences against particular risks. This contextual information is generally expected by those receiving IoCs as it allows them the technical freedom and capability to choose their risk appetite, security posture, and defence methods. The ease of sharing this contextual information alongside IoCs, in part due to the formats outlined in
Section 3.2.3, makes it easier to track malicious actors across campaigns and targets. Producing this contextual information before sharing IoCs can take intensive analytical effort as well as specialist tools and training. At its simplest, it can involve documenting sets of IoCs from multiple instances of the same attack campaign, for example, from multiple unique payloads (and therefore with distinct file hashes) from the same source and connecting to the same C2 server. A more complicated approach is to cluster similar combinations of TTPs seen across multiple campaigns over a period 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.
The following two case studies illustrate how IoCs may be identified in relation to threat actor tooling (in the first) and a threat actor campaign (in the second). The case studies further highlight how these IoCs may be used by cyber defenders.
Cobalt Strike [
COBALT] is a commercial attack framework used for penetration testing that consists of an implant framework (beacon), a network protocol, and a C2 server. The beacon and network protocol are highly malleable, meaning the protocol representation "on the wire" can be easily changed by an attacker to blend in with legitimate traffic by ensuring the traffic conforms to the protocol specification, e.g., HTTP. The proprietary beacon supports TLS encryption overlaid with a custom encryption scheme based on a public-private keypair. The product also supports other techniques, such as domain fronting [
DFRONT], in an attempt to avoid obvious passive detection by static network signatures of domain names or IP addresses. Domain fronting is used to blend traffic to a malicious domain with traffic originating from a network that is already communicating with a non-malicious domain regularly over HTTPS.
A beacon configuration describes how the implant should operate and communicate with its C2 server. This configuration also provides ancillary information such as the Cobalt Strike user licence watermark.
Tradecraft has been developed that allows the fingerprinting of C2 servers based on their responses to specific requests. This allows the servers to be identified, their beacon configurations to be downloaded, and the associated infrastructure addresses to be extracted as IoCs.
The resulting mass IoCs for Cobalt Strike are:
-
IP addresses of the C2 servers
-
domain names used
Whilst these IoCs need to be refreshed regularly (due to the ease of which they can be changed), the authors' experience of protecting public sector organisations shows that these IoCs are effective for disrupting threat actor operations that use Cobalt Strike.
These IoCs can be used to check historical data for evidence of past compromise and deployed to detect or block future infection in a timely manner, thereby contributing to preventing the loss of user and system data.
In contrast to the first case study, this describes a current campaign by the threat actor APT33, also known as Elfin and Refined Kitten (see [
Symantec]). APT33 has been assessed by the industry to be a state-sponsored group [
FireEye2]; yet, in this case study, IoCs still gave defenders an effective tool against such a powerful adversary. The group has been active since at least 2015 and is known to target a range of sectors including petrochemical, government, engineering, and manufacturing. Activity has been seen in countries across the globe but predominantly in the USA and Saudi Arabia.
The techniques employed by this actor exhibit a relatively low level of sophistication, considering it is a state-sponsored group. Typically, APT33 performs spear phishing (sending targeted malicious emails to a limited number of pre-selected recipients) with document lures that imitate legitimate publications. User interaction with these lures executes the initial payload and enables APT33 to gain initial access. Once inside a target network, APT33 attempts to pivot to other machines to gather documents and gain access to administrative credentials. In some cases, users are tricked into providing credentials that are then used with Ruler [
RULER], a freely available tool that allows exploitation of an email client. The attacker, in possession of a target's password, uses Ruler to access the target's mail account and embeds a malicious script that will be triggered when the mail client is next opened, resulting in the execution of malicious code (often additional malware retrieved from the Internet) (see [
FireEye]).
APT33 sometimes deploys a destructive tool that overwrites the master boot 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 unusable until the operating system is reinstalled. In some cases, the actor uses administrator credentials to invoke execution across a large swathe of a company's IT estate at once; where this isn't possible, the actor may first attempt to spread the wiper manually or use worm-like capabilities against unpatched vulnerabilities on the networked computers.
As a result of investigations by a partnership of the industry and the UK's National Cyber Security Centre (NCSC), a set of IoCs were compiled and shared with both public and private sector organisations so network defenders could search for them in their networks. Detection of these IoCs is likely indicative of APT33 targeting and could indicate potential compromise and subsequent use of destructive malware. Network defenders could also initiate processes to block these IoCs to foil future attacks. This set of IoCs comprised:
-
9 hashes and email subject lines
-
5 IP addresses
-
7 domain names
In November 2021, a joint advisory concerning APT33 [
CISA] was issued by the Federal Bureau of Investigation (FBI), the Cybersecurity and Infrastructure Security Agency (CISA), the Australian Cyber Security Centre (ACSC), and NCSC. This outlined recent exploitation of vulnerabilities by APT33, providing a thorough overview of observed TTPs and sharing further IoCs:
-
8 hashes of malicious executables
-
3 IP addresses