Objective. Students integrate an open-source threat intelligence feed into the SIEM and configure an alert rule that fires when internal hosts communicate with indicators of compromise (IOCs) from that feed.
This lesson, its worked examples and its practice questions has not yet been verified by an industry-certified professional or by a certification or approval body. It is a study draft and may contain errors. Do not use it as instructions for work on a job site or on live equipment. Always follow your instructor, your supervising professional, and current official references and regulations.
VoTechWorks program approval and accreditation are still in progress. Credentials are issued only by the certifying bodies named in each program, after their own exams.
A SIEM (Security Information and Event Management) system collects log data from across your environment—firewalls, endpoints, servers, and more—and correlates that data to surface suspicious activity. On its own, a SIEM can detect anomalies, but it becomes far more powerful when it knows who the bad actors are. That knowledge comes from threat intelligence feeds.
A threat intelligence feed is a stream of indicators of compromise (IOCs)—IP addresses, domain names, file hashes, and URLs—that security researchers have associated with malicious activity. By importing a feed into your SIEM as a lookup table, you give the system a reference list to check every log event against. When a match occurs, you can fire an alert automatically.
IOCs are artifacts observed in a network or on a host that suggest a security incident may have occurred or is in progress. Common IOC types include:
For this lesson, you will work with IP-based IOCs from the abuse.ch Feodo Tracker, a free, publicly available feed that tracks botnet C2 infrastructure, including Emotet, Dridex, and similar threats. The feed is published in CSV format and updated regularly.
Most enterprise-grade and open-source SIEM platforms (Splunk, Elastic SIEM, IBM QRadar, and others) support lookup tables—structured reference files that a search query can join against in real time.
The general workflow for feed ingestion is:
1. Download the current Feodo Tracker CSV from the abuse.ch website. Note the file date; you will need it to verify freshness.
2. Inspect the file. Confirm which column holds the destination IP address and note any metadata columns (first-seen date, malware family, confidence level).
3. Import the CSV into the SIEM as a named lookup table (e.g., `feodo_ioc_list`).
4. Write a cross-reference search query that joins your firewall destination IP field against the lookup table. In most SIEM query languages, this resembles a lookup or enrichment command:
5. Verify the query returns results only when destination IPs actually appear in the feed.
Be careful with field naming. A mismatch between the log field name and the lookup table column name is the most common reason a query returns zero results when you expect matches.
A correlation rule (also called a detection rule or alert rule) automates the search query so that the SIEM continuously evaluates incoming logs without human intervention. When the rule condition is satisfied, the SIEM generates an alert at a configured severity level.
For this lab, your rule should:
After saving the rule, inject a simulated firewall log entry that contains a destination IP you know is present in the current feed. Confirm the alert fires. Then inject a clean log entry with a destination IP that is not in the feed. Confirm the alert does not fire. Both tests are required to validate the rule.
Threat intelligence is perishable. An IP address used as a C2 server today may be taken down, reassigned to a legitimate hosting customer, or repurposed by a different threat actor within days or weeks. Failing to retire stale IOCs leads to alert fatigue—analysts receive large volumes of false-positive alerts, begin to ignore them, and may miss real incidents buried in the noise.
A sound IOC lifecycle process includes:
1. Regular feed refresh: Schedule an automated pull of the latest feed on a cadence that matches the feed publisher's update frequency. For Feodo Tracker, check the site for their published update interval and automate accordingly.
2. Age-based expiry: Set a maximum age for IOCs. Any indicator older than your defined threshold (for example, 30 or 90 days, depending on your organization's risk tolerance) should be removed from the active lookup table unless re-confirmed by another source.
3. Confidence scoring: Where feed metadata includes a confidence or severity score, use it to prioritize alerts. Low-confidence, old IOCs may be demoted to informational rather than high-severity.
4. Documentation: Log every feed update, including the date, number of entries added, and number expired. This record supports audits and incident investigations.
When downloading external threat intelligence data, do so only on authorized lab systems or isolated environments. Never import unvetted external data into a production SIEM without reviewing it first—a malformed or malicious CSV could affect SIEM performance or, in rare cases, exploit parsing vulnerabilities. Always verify the source URL against the official abuse.ch site before downloading. In a workplace setting, follow your organization's change-management and data-handling policies before modifying any production lookup table or detection rule.
Answer each question, then check it. Nothing is recorded; this is your own practice.
A free tech program — complimentary, as our commitment to get America working. Help us build VoTechWorks. Tell us what works, what doesn’t, and what you want to learn.