Objective. Students will identify indicators of compromise from a provided log set and encode them in STIX format using a basic template, demonstrating understanding of structured threat intelligence sharing.
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.
Threat intelligence is processed, actionable information about adversaries, their tools, and their methods. Raw data — a list of IP addresses or a pile of log lines — is not intelligence until it has been analyzed and put in context. Cybersecurity analysts use threat intelligence to detect attacks faster, prioritize which vulnerabilities to patch first, and share knowledge with other defenders so the whole community benefits.
An indicator of compromise is an observable artifact that suggests a system or network has been attacked or compromised. IOCs come in several types:
When you analyze a Windows Event Log, look for Event IDs associated with process creation (4688), logon events (4624, 4625), and network connections. Correlate timestamps, usernames, source IPs, and process names to spot anomalies.
A threat intelligence feed is a continuous stream of IOC data that analysts subscribe to. Feeds vary in coverage, freshness, format, and cost. Three widely used open-source feeds are:
When comparing feeds, evaluate: coverage (what IOC types and threat categories are included), update frequency (hourly vs. daily vs. on-demand), format (STIX/TAXII, CSV, JSON, plain text), and reliability (false-positive rate, source credibility).
STIX (Structured Threat Information eXpression) is an open standard — maintained by OASIS — for representing threat intelligence in a consistent, machine-readable JSON format. The current version is STIX 2.1. STIX organizes data into objects. The most common object types for IOCs are:
Every STIX object has mandatory fields: `type`, `spec_version` (set to `"2.1"`), `id`, `created`, and `modified`. An `indicator` object also requires a `pattern` field written in STIX Pattern Language and a `valid_from` timestamp.
TAXII (Trusted Automated eXchange of Indicator Information) is the companion transport protocol. Where STIX defines what intelligence looks like, TAXII defines how it is shared — over HTTPS using a REST API with collections and channels.
In today's activity you will fill in a pre-built JSON template. Here is the structure you will work with for an IP-address indicator:
```json
{
"type": "indicator",
"spec_version": "2.1",
"id": "indicator--<UUID>",
"created": "2024-01-15T08:00:00.000Z",
"modified": "2024-01-15T08:00:00.000Z",
"name": "Suspicious outbound IP",
"pattern": "[ipv4-addr:value = '203.0.113.45']",
"pattern_type": "stix",
"valid_from": "2024-01-15T08:00:00.000Z",
"indicator_types": ["malicious-activity"]
}
```
For a file hash, the pattern uses: `[file:hashes.'SHA-256' = '<hash>']`
For a domain, the pattern uses: `[domain-name:value = 'evil-domain.com']`
After editing, validate your JSON using the built-in formatter in VS Code (right-click → Format Document) to catch syntax errors before submission.
Do not query or visit any IOC (IP address, URL, or domain) found in logs or feeds using a standard browser on a production or personal machine. Malicious URLs can deliver drive-by exploits. If you need to verify an IOC, use a sandboxed environment, a service like VirusTotal, or a dedicated analyst workstation isolated from the network. Treat all IOC data as potentially sensitive — some feeds carry TLP (Traffic Light Protocol) markings that govern how widely you may share the data.
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.
Does the school offer financial aid?
No. We don’t offer financial aid because we’re free. No, really: completely free.
Do you offer industry certification?
No. We are not certified yet, so we can’t offer that to students. What we do offer is knowledge and understanding of a trade.
Enroll first in the trade you’re interested in. You get your key, your program opens, and you begin studying.
Enroll free →