User Stories
| User story | Example workflow |
|---|---|
| As a lead threat intelligence analyst, I want to lead a team focused on hunting down threats so that I can prevent attacks against ICT infrastructures and organizations | • Monitor what teams are up to in real-time using the Live Dashboard |
| As a threat analyst, I want to research, analyze and reverse engineer malware so that I can know how to counter it | • Attach and download files and malware samples from events • Search for hashes/IPs/domains/URLs from malware events, or add malware samples hashes to an event • Analyse observables and malware collected during an incident (e.g. domain name, IP addresses etc.) by checking whether observables are IoCs or false positives using ‘correlation graph’ and ‘expansion modules’. • Enrich malware events by querying data sources external to MISP using modules • Perform dynamic malware analysis correlations • Submit events with malware samples to analysis tools (e.g VirusTotal, VMRay) for further analysis, and then extend MISP with malware analysis results |
| As a lead threat intelligence analyst, I want to convert threat data into actionable threat intelligence so that I can improve security posture. | • Import data from external sources • Add feeds • Contextualise events and attributes using tags, taxonomies and galaxies |
| As a threat analyst, I want to exchange threat information with third parties so that we can gain shared situational awareness | • Setup different models of distribution on MISP instance • Sync events and attributes between instances • Use filtering functionalities to meet an organisation’s sharing policy • Share information, pentest information, malware samples, vulnerabilities internally and externally |
| As a threat analyst, I want to monitor threats and access live data so that I can manage threats before they cause major damage | • Import lists of indicators and check if the IOCs are present in feeds. • Monitor statistics and sightings using widgets • Show live data and stats from one or more MISP instances via the Dashboard • Process information in real-time when it’s updated, created, or published by instances by integrating with ZMQ • Use sightings to notify an instance about activities related to an indicator |
| As a threat analyst, I want to aggregate and compare indicators from various sources so that I can connect the dots between various threats | • Join communities and subscribe to the feeds • Add events and assign events to specific feeds • Correlate indicators using MISP’s automated correlation engine • Use the overlap feed analysis available in MISP • Link events and attributes using the correlation graph • Analyse and gain more information on attributes using modules • Link events with malware, threat actors etc using galaxies (e.g ATT&CK) |
| As a threat analyst, I want to have a structured database of threat data that I can use to perform lookups/queries when investigating new threats | • Store information in a structured format using STIX • Import unstructured reports using the free-text import tool • Use MISP as a centralized hub for security and fraud threat intel. Centralize threat intel by aggregating indicators from OSINT and commercial feeds • Remove false positives and duplicates • Score indicators based on Sightings and other metrics • Import/integrate feeds or threat intelligence from third parties • Generate, select, exchange, and collect intelligence using feeds • Select and import events • Look for correlations between events using the correlation graph • Build filtered subsets of the data repository for feed creation. • Preview and correlate feed data directly for evaluation |
| As a threat analyst, I want to contextualize and enrich raw threat data so that I can produce actionable intelligence | • Understand attacker TTPs by using taxonomies to link events • Categorize risks and incidents using galaxies and taxonomies • Quickly classify information using tags collections • Contextualise sightings with information on the source • Enrich IDSes export with tags to fit your NIDS deployment • Decay attributes and score indicators using sightings (reported by IDSes) • Describe and visualise complex scenarios using MISP’s richer data structure • Allow advanced combination of attributes using MISP objects |
| As a threat analyst, I want to investigate threats so that I can protect computer systems from attacks | • Find relevant data for investigations from MISP communities. Preview new MISP events and alerts from multiple sources such as email reports, CTI providers, and SIEMs • Query a MISP instance for events that include a given IOC. Browse through other MISP events, attributes, objects, tags, and galaxies • Create events, add IoCs (attributes), and contextualise (using tags) • Pivot an event into its attributes, objects, tags, galaxies, and/or related Events • Explore further details from Galaxies and related Events • Categorize available related information within the ATT&CK framework. • Query tools (e.g Cytomic Orion API) to check if certain MISP indicators have been observed, and the import sighting details to add them to MISP events • Prioritize threats using Sightings collected from users, scripts and IDSes. • Decay/expire indicators using sightings reported by users, scripts and IDSes • Launch lookups from MISP against SIEMs as part of an investigation • Correlate network forensic flows from several tools |
| As a SOC team, we want to ingest, analyse, store and make connections between threat data so as to discover potential threats | • See connections between events using the correlations graph • Import CVEs and vulnerabilities (e.g from MetaSploit) and contextualise them • Contextualise CVEs using events gotten from articles/reports • Convert CVE information into a feed • Pull shared CVE feeds • Combine collected data with your MISP data set for correlation • Share correlated info to the team using the export function or API search • View current threats and activity, historical, geolocalized information using MISP Dashboard |
| As a junior SOC analyst, I want to enrich alerts so that I can “punch above my weight” and make connections that would have otherwise required more experience | • Create events, add/import observables • Use Cortex and its analyzers to gain insight • Leverage tags, sightings, and previously-seen observables to feed your threat intelligence • Export IOCs to MISP instances after investigations are complete • Integrate MISP with Maltego to generate visualisations of data • Integrate MISP with Elastic to access threat data without the complexities of the MISP interface. • Push attributes from MISP to Elastic and have a representation with graphs, an alternative to using MISP Dashboard. • Create taxonomies using the taxonomy editor. • Contextualise data using taxonomies, clusters and galaxies |
| As a SOC analyst, I want to customize risk feeds to ignore or downgrade alerts that do not match organization/ industry-specific criteria, so that I can focus on relevant alerts | • Filter incidents based on taxonomies (e.g the veris country taxonomy to indicate countries affected by an incident) • Normalise external input and feeds in MISP (e.g. feed importer). • Compare feeds before import to find similarities and false positives. • Evaluate the quality of the information before importing it (warning-list lookups at feed evaluation) |
| As a SOC analyst, I want to share real-time information pertaining to new or existing cases/observables to team members so that we can collaborate on investigations simultaneously | • Control threat sharing using ‘distribution settings’: sharing group, community-only, connected communities, all communities. • Share sensitive and confidential events using the ‘sharing group’ functionality • Measure the impact of an incident using taxonomies based on NISD/OESs impact criteria • Export and share sightings in ATT&CK sightings format to give insights on TTPs and frequency of usage |
| As a SOC analyst, I want to rule out false positives so that I can focus on significant threats | • Weed out false positives using warning lists • Crowd source data validation from community • Filter indicators based on specific criteria • Receive information on false positives using collaborative tools (proposals, sightings) |
| As a threat analyst, I want to remove false positives, filter and prioritize alerts so that I can focus on what really matters to my organization | • Evaluate the quality and freshness of indicators using decaying models • Enforce warninglists to exclude events with certain attributes • Enable warninglists to alert for certain issues • Classify information (add/remove tags) based on their score or visibility via sightings • Use tags to set events or attributes for further processing by external tools (e.g. VirusTotal auto-expansion using enrichment modules) • Notify an instance about activities related to an indicator via Sighting • Limit NIDS exports and improve rules using Sightings • Filter indicators based on specific criteria • Filter out relevant data when feeding protective tools |
| As a security analyst, I want to unravel the inner workings of a malicious file, phishing email or domain so that I can prevent attacks | • Integrate MISP with a Security Incident Response Platform (e.g TheHive) • Import indicators from MISP into the SIRP for further analysis |
| As a security analyst, I want to create blacklists/whitelists (e.g of domains) so that I can protect customers from malicious activity | • Import threat data into MISP from synced servers and label using taxonomies • Enable warning lists, and exclude attributes that exist on the warning lists • Create lists with preferred attributes and export the list in an easy accessible format as CSV |
| As a security analyst, I need a real-time overview of threat information so that I can quickly glance at important metrics | • Integrate ZMQ to access a dashboard showing live data and stats • Monitor ongoing trends based on interests using the EventStream widget • Monitor activity in real-time on MISP dashboard by subscribing to ZMQ feeds • View immediate contributions made by organisations from MISP’s live dashboard • Find threats within your constituency using MISP Geolocalisation Dashboard • Get geospatial threat information from specific regions using the Geolocalisation Dashboard |
| As a security analyst, I want to automate repetitive tasks related to data normalization, importation, aggregation and enrichment so that I can have more time to put into threat analysis efforts | • Automate tasks using PyMISP • Use PyMISP for Scripted processing of events and attributes |
| As a security analyst, I want to collaborate with other analysts within and out of my organization’s sector so that we can support one another | • Build or join communities to exchange specific data structures • Share real-time analysis of an incident • Propose modifications to someone else’s analysis using Proposals |
| As a security analyst, I want to triage and prioritize alerts so as to avoid alert fatigue | • Evaluate the quality and freshness of indicators using decaying models • Weed out false positives using warning lists • Enable warning lists to alert for critical issues • Filter indicators based on specific criteria • Score indicators based on user sightings, including negative sightings and expiration sightings. • Classify information (add/remove tags) based on their score or visibility via sightings |
| As an incident responder, I want to get an up-to-date picture of the threat landscape so that I can prepare for threats in advance | • Describe the impact of threat using taxonomies (e.g using the veris timeline taxonomy to indicate the duration of the incident) • Classify data to gain insight into the threat landscape. • Classify data so IDSes can alert on a rule • Integrate ZMQ to have a dashboard showing live data and statistics. • Integrate ZMQ to process information in real-time when it’s updated, created, or gathered in MISP. |
| As an incident responder, I want to identify and respond to incidents so that I can reduce the impact and severity of an attack | • Report false or true positives using the sighting mechanism, based on an incident investigation • Decay indicators to guarantee the quality of the indicators |
| As an incident responder, I want to receive early warnings and alerts about threats/incidents so that I can retaliate before they cause any harm | • Receive correlated threat intel from sharing groups and communities • Monitor MISP feeds for alerts • Preview new events and alerts from multiple sources • Automate import/export of IoCs to/from protective or detection tools like IDSes and IPSes • Dispatch notifications when certain events are created or modified using the alert feature • Create filter rules based on personalised uses. Restrict alert messaged by tags, publishing organisation or other metrics |
| As an incident responder, I want to store information identified during an incident investigation so that I can perform lookups/queries against the historical database during future incidents | • Use a MISP instance as a database of events representing incidents. Store incident response data internally in a structured manner on MISP • Represent indicators using attributes. Attributes such as network indicators (e.g. IP address) or system indicators (e.g. a string in memory) • Combine OSINT and your own intelligence • Create events made up of indicators (attributes) and then leverage these as a threat data feed • Modify events representing incidents to enable monitoring over time • Add object types to describe incidents • Monitor indicators for relevancy using Sightings • Ensure information quality and freshness by expiring indicators depending on their personalised objectives • Pull events from indicator lists to perform lookups against SIEMs • Use indicators to check logs and verify if you’re affected by a threat • Correlate indicators with actual incidents to get more information • Integrate MISP with IR tools (e.g TheHive) to (1) analyse observables during an incident, (2) import and (3) export events from MISP to TheHive and vice-versa • Perform large-scale bulk data/traffic analysis and correlation against your MISP database using SightingsDB |
| As an incident responder, I want to export and feed data between security tools so that I can enhance their functionalities | • Export data from MISP to feed protective/detective tools and early warning systems. Export formats support IDSes / IPSes (e.g. Suricata, Bro, Snort), SIEMs (eg CEF), Host scanners (e.g. OpenIOC, STIX, CSV, yara), analysis tools (e.g. Maltego), DNS policies (e.g. RPZ) • Feed MISP using automatic tools (e.g. Sandbox Analysis, low-value information needing correlation, Analyst workbench) • Pull events from feeds or indicator lists to perform lookups against SIEMs • Subscribe to ZMQ pub-sub to get published events for use in lookup processes • Match attributes against SIEMs using the lookup expansion module • Import activities from a SIEM (e.g. Splunk lookup validation or false-positive feedback), NIDS or honeypot devices • Post Sightings from IDSes, IPSes, SIEMs back to MISP • Use sightings to improve NIDS’ rule-sets • Generate IDS and NIDS rules automatically or manually using IoCs • Feed data to honeypots to generate blocklists and DNS RPZ zones • Consume correlated results in SIEMs using the API • Search indicators in real-time into a SIEM using MISP ZMQ • Submit large sets of IoCs from MISP into SIEMs using PyMISP • Import indicators into MISP from other tools (SIEMs, IDSes) and be notified when those indicators appear again |
| As a CSIRT, we want to exchange and discuss information related to incidents and associated risks so that we can collaboratively respond to incidents | • Build communities to exchange specific data structures • Discuss non-event related topics in Forums • Add comments to events (which may represent an incident) • Contact a reporter (e.g. another CSIRT) via email (encrypted, anonymously or not) to discuss commercially-sensitive information related to an incident |
| As a CSIRT, we want to interact with threat data in various ways during the threat investigation and incident response process | • View events, indicators and feeds • Search and filter the data set • Classify, contextualize and correlate data • Download the viewed data in various formats • Interact with MISP data using other tools in the MISP ecosystem (e.g. PyMISP, the built-in REST client, and MISP modules) |
| As a CSIRT, we want to coordinate with team members and other organisations so that we can avoid duplication of work | • Create and manage sharing groups between sectors • Join existing communities or sharing groups • Create and exchange events and indicators • Propose changes to existing analysis or reports • Enhance an analysis with additional information using Extended Events • Report sightings as false-positive or true-positive (e.g. a partner/analyst has seen a similar indicator) • Contribute to threat intel feeds and analyse overlapping data |
| As a CSIRT, we want to share incident information and discuss risks with other team members so that we can collaboratively perform incident analysis | • Create, modify, delete and exchange events and indicators • Modify distribution settings to exchange individual incidents and ensure confidentiality • Use taxonomies and galaxies to classify data before exchange (e.g Indicate the confidentiality of incidents using the NATO classification, indicate the risk of an incident using the threat-level taxonomy) • Edit, visualize, and share reports using Event Report • Incorporate reports from information sources using the Event Report module • Share indicators derived during incident response • Correlate and enrich data derived during incidents • Coordinate with affected parties during incident response using MISP’s collaborative tools (proposals, sightings, emails) |
| As a fraud analyst, I want to investigate financial threats so that I can help financial institutions and consumers prevent financial fraud | • Join communities and receive shared IOCs • Subscribe to feeds and get IOCs in an easily accessible format • Access lists and public feeds of malicious domains (e.g phishing sites) and threats • Use indicators to check logs and verify if you’re affected by a threat • Gather information related to a phishing site and create events • Integrate MISP with Maltego to visualise the full ATT&CK framework |
| As a fraud analyst, I want to blend updated threat intel with anti-fraud tools so that I can prevent fraud in real-time | • Feed data from MISP to fraud prevention tools • Report sightings to MISP from fraud prevention tools |
| As a fraud analyst, I want to collaborate with analysts from other institutions so that we can gain shared situational awareness | • Implement a MISP instance, and join relevant communities • Publish fraud perpetrators for others to see • Exchange events containing fraud information (e.g a bank account number) • Use shared fraud data to feed firewalls and blocklists • Warn of false positives by alerting for invalid financial indicators • Give more credibility to indicators by reacting to event attributes (Sightings) • Get feedback from the community on the quality of indicators (Sightings) |
| As a customs and border control agent, I want to facilitate the flow of legal immigration and goods while preventing the illegal trafficking of people and contraband so that I can ensure homeland security | • Create or join sharing groups and communities • Share information (e.g travel documents / biometric information) between border control agencies using MISP • Categorize data using predefined types such PNR (passenger name records) • Share information / involve experts for the identification of smuggled goods • Perform anonymised lookups against exported data sets information (e.g. offline border control check) |
| As a law enforcement officer, I want to investigate digital crimes and threats so that I can apprehend criminals | • Access information sharing communities • Get indicators and actionable information from CSIRTs/CERTs networks or researchers • Exchange information with other officers via sharing communities • Exchange and store incident information on MISP, enabling the system to act as a forensic tool over time |
| As a law enforcement officer, I want to collect and verify evidence of digital crimes so that I can bootstrap my DFIR cases | • Collect indicators from shared events • Propose changes to existing analysis or reports • Enhance existing events with additional pieces of evidence using Extended Events • Exchange analysis and reports of digital forensic evidence • Correlate indicators corresponding to forensic pieces of evidence • Import Mactime timelines to describe forensic activities on an analysed file system • Describe forensic analysis cases using objects templates • Create, modify and visualise the timeline of events • Share analysis and reports of digital forensic evidence • Report sightings such as false-positive or true-positive (e.g. a partner/analyst has seen a similar indicator) |
| As a cybersecurity consultant, I want to provide structured threat intelligence to cross-sector partners with diverse requirements so that I can secure their infrastructure | • Implement an instance and join relevant communities • Integrate MISP with an organisation’s existing solutions using the API • Exchange events containing indicators • Setup distribution levels to ensure confidentiality during threat sharing • Sync between untrusted and trusted networks using Feed support • Notify the community about activities related to an indicator using Sightings • Score indicators based on user sightings, including negative sightings and expiration sightings • Propose updates to an event owner or indicate a sighting • Share attacker techniques via integration with ATT&CK • Set an attribute for detection tools using the IDS flag |
| As a cybersecurity specialist, I want to anonymously publish threat intel so that I can protect the identity of people who don’t want to be associated with the information | • Pseudo-anonymously publish data using Event Delegation |
| As a cybersecurity specialist, I want to investigate threats so that I can remediate and prevent cyber attacks | • Query an instance for events that include a given IOC • Explore more details from Galaxies and related events • Categorize related information within the MITRE ATT&CK framework |
| As a security analyst, I want to access threat data so that I can use it to support my research | • Contextualise indicators (attributes) using categories, taxonomies and galaxies • Reinforce an analysis using correlation features (e.g. do other analysts have the same hypothesis?) • Confirm a specific aspect using correlation features (e.g. are the sinkhole IP addresses used for one campaign?) • Verify if a threat is new or unknown in your community using correlation features |
| As a security analyst, I want to access updated threat data so that I can build protection in real time | • Monitor feeds for recent indicators • Monitor activity in real-time on MISP dashboard by subscribing to ZMQ feeds • Process information in real-time when it’s updated, created or gathered using ZMQ |
| As a risk analyst, I want to identify and predict risks to my organization so that I can improve the organization’s security posture and situational awareness | • Use a MISP instance as a database of events representing threats • Classify risks using taxonomies and galaxies • Generate statistics from your MISP instance to deduce from incidents the current operational status, risk posture, and threats to the cyber environment • Monitor trends and adversary TTPs using MISP-dashboard and built-in statistics |
| As a risk analyst, I want to present risk data to stakeholders in various formats (depending on their technical ability), so that I can justify the need for risk-mitigating strategies | • Show trends within the sector/geographical region using MISP dashboard and built-in statistics • Turn MISP data into explorable graphs or timelines representing their activity or events • Export data from MISP in various formats • Share reports along with actionable data using Events Report |
| As a disinformation researcher, I want to identify indicators associated with a specific operation or campaign so that I can help track and mitigate threats | • Monitor MISP feeds for indicators • Find relationships between indicators using correlation |
| As a disinformation researcher and journalist, I want to investigate information campaigns so that I can report whether there is or isn’t disinformation or misinformation | • Compare external feeds information with already-available information • Analyze the connections between incident objects • Map data with DISARM (embedded in MISP) to understand threat actor capabilities • Generate events that can be shared directly, via email or MISP • Add object types (e.g for common social media platforms), relationship types (to make the graphs that users can traverse in MISP richer) and taxonomies (e.g DFRLab’s Dichotomies of Disinformation, and a NATO-led tactical variant) to describe indicators and events • Generate and share information operations data in MISP JSON or STIX format for easy sharing • Classify events with DISARM techniques using the DISARM matrix • Describe attack patterns using DISARM • Track disinformation techniques using the DISARM galaxy • Integrate MISP with TheHive for case tracking • Describe additional disinformation cases using object templates |
| As a disinformation researcher, I want to connect with other researchers and responders so that we can collaboratively verify if an article/video/image contains disinformation and verify that a source (publisher, domain, etc) doesn’t distribute disinformation | • Join a disinformation community • Notify the community about activities related to an indicator • Score indicators based on users sighting • Corroborate a finding using correlation features (e.g. is this the same campaign?) |
| As a disinformation researcher, I want to collaborate with other researchers and responders so that we can collectively stop disinformation campaigns | • Browse and Join disinformation communities (e.g CogSec Collab MISP) • Contextualise data using tags, taxonomies and galaxies • Describe information campaigns indicators and events using taxonomies (e.g DFRLab Dichotomies of Disinformation) • Find relationships between indicators using correlation • Describe misinformation tactics/techniques using the DISARM framework (galaxy, formerly AMITT) • Include relevant techniques found in a report or sighting in misinformation event data using the DISARM matrix |
| As a data scientist, I want to automate tasks related to data collection, curation, analysis, and visualization so that I can reduce security analysts’ workloads | • Collect, add, update, search events/attributes/tags using PyMISP • Study malware samples using PyMISP • Write scripts to import (from other tools such as VirusTotal) additional attributes or IOC data (such as hashes) to build up knowledge on an event • Automatically handle indicators in third-party tools using PyMISP • Integrate MISP with existing infrastructure using PyMISP • Automate the dissemination of threat intelligence and threat data using the API • Generate exports to be ingested into other platforms • Create a range of filtered subsets of the dataset for various protective measures • Write scripts to disable the IDS flag based on the number of false-positive reported sightings, in order to prevent using false-positive indicators for detection or correlation actions • Generate data statistics and send reports via email, attached as CSV files using the API • Feed processed data into IDSes and 3rd party visualization using PyMISP • Build custom widgets to visualise/track data via the Dashboard • Extend MISP with Python scripts using MISP modules • Auto-discover new modules with their features using the API |
| As a data scientist, I want to collect and analyze data from various sources so that I can prioritize and predict risk | • Aggregate indicators and sightings of all attributes/objects, useful for detecting particular security events or threats • Use PyMISP for Scripted processing of events and attributes • Collect data from open data portals using the API • Publish open data and create data sets • Investigate file hashes, malicious website URLs, IP Addresses and domain names using shared indicators • Aggregate data sets for security research and threat analysis • Analyse and select threat feeds for incorporation into other tools to hunt known indicators • Indicate if an attribute should be used for detection or correlation actions using the IDS flag • Download data in various formats for ingestion in other tools, and for training ML models |
| As a MISP site administrator, I want to automate repetitive instance housekeeping and enforce policy so that data quality stays high without manual effort | • Build Workflows that react to instance events (publish, attribute add, before save) by running a chain of logic and action blocks • Use blocking Workflows to stop a publish that is missing a required TLP/PAP tag, and non-blocking Workflows to notify, enrich or tag automatically • Share and reuse automation across instances using Workflow Blueprints • Tune indicator lifetime centrally with Decaying Models and keep noise down with warninglists and noticelists |
| As a MISP site administrator, I want to run a trustworthy, well-connected instance so that partners can rely on the data we publish | • Sign published events with cryptographic keys so downstream instances can verify their integrity and origin (Protected Events) • Manage synchronisation with other MISP servers and expose or consume feeds and TAXII 2.x servers • Broker organisation, sharing-group and sync trust at scale with Cerebrate • Keep the platform healthy by watching background workers and jobs, scheduled tasks, diagnostics and the audit log |
| As an organisation administrator, I want to run our day-to-day sharing operations so that our community always has current, well-scoped intelligence | • Manage the organisation’s users, roles and API keys, and curate the feeds we ingest • Define reusable distribution scopes with Sharing Group Blueprints instead of rebuilding sharing groups by hand • Control what leaves the organisation with distribution levels, publish/alert filters and delegation • Monitor sighting and correlation pipelines and keep dashboards current for the team |
| As a threat analyst, I want to record my assessment of shared data without altering it so that my judgement travels with the intelligence | • Attach Analyst Notes (free-text, markdown) to any event, attribute, object or galaxy cluster • Express confidence with Opinions (0–100) and connect related elements — even across events and organisations — using typed Relationships • Keep this analyst layer distinct from the underlying data (it has its own ownership and distribution, and syncs across the federation) |
| As a threat analyst, I want to package related intelligence together so that a whole investigation or campaign can be shared and synced as one unit | • Group related Events and Galaxy Clusters into a Collection • Share and synchronise the collection as a single object so recipients get the full picture, not scattered fragments • Curate and version the collection as the investigation evolves |