Skip to content

About

Warning lists to inform users of MISP about potential false-positives or other information in indicators

Topics

Resources

Stars

655 stars

Watchers

27 watching

Forks

Repository files navigation

misp-warninglist

logo for the MISP warning list

misp-warninglists are lists of well-known indicators that can be associated to potential false positives, errors or mistakes.

Python application

Warning lists are integrated into MISP to display an informational or warning box at both the event and attribute levels whenever matching indicators are found in one of the lists.

These lists are also used at the API level to help filter potential false positives. In MISP, warning lists can be enabled or disabled globally, depending on an organization's practices. They are also reused by many other open-source projects.

There is also a standalone software project called misp-feedback, which is designed to use warning lists, expose an API for other services, and provide a command-line interface.

lists

Format of a warning list

{
  "name": "List of known public DNS resolvers",
  "version": 1,
  "description": "Event contains one or more public DNS resolvers as attribute with an IDS flag set",
  "matching_attributes": [
    "ip-src",
    "ip-dst"
  ],
  "list": [
    "8.8.8.8",
    "8.8.4.4",
    "208.67.222.222",
    "208.67.220.220",
    "195.46.39.39",
    "195.46.39.40"
  ]
}

If matching_attributes are not set, the list is matched against any type of attributes.

type of warning list

  • string (default) - perfect match of a string in the warning list against matching attributes
  • substring - substring matching of a string in the warning list against matching attributes
  • hostname - hostname matching (e.g. domain matching from URL) of a string in the warning list against matching attributes
  • cidr - IP or CDIR block matching in the warning list against matching attributes
  • regex - regex matching of a string matching attributes

category of warning list

The optional category field states what a hit on the list means:

  • false_positive (default) - the value is very unlikely to be the indicator itself (e.g. RFC1918 addresses, public DNS resolvers, popular domains); reports of it are usually extraction or logging artifacts.
  • known - the value belongs to shared or multi-tenant infrastructure (e.g. cloud and CDN ranges, URL shorteners, dynamic DNS, VPN providers, research scanners). A report naming it as malicious can still be true, but acting on it (blocking, takedown) will also hit unrelated users of the same infrastructure.

Processing warning lists in python

The X4BNet-based vpn-ipv4 and vpn-ipv6 lists use the known VPN networks feed. The broader datacenter-ipv4 and datacenter-ipv6 lists include both datacenters and VPN providers. Enable the datacenter lists as well when the previous combined VPN and datacenter coverage is needed. Running python3 tools/generate-vpn.py updates all four lists from X4BNet's output/vpn/ and output/datacenter/ feeds.

See PyMISPWarningLists for a python interface to warning lists.

License

MISP warning-lists are licensed under CC0 1.0 Universal (CC0 1.0) - Public Domain Dedication. If a specific author of a warning-list (or associated source) wants to license it under a different license, a pull request can be requested.

The X4BNet-derived VPN and datacenter data retain their upstream MIT license notice.

About

Warning lists to inform users of MISP about potential false-positives or other information in indicators

Topics

Resources

Stars

655 stars

Watchers

27 watching

Forks

Releases

Packages

Used by

Contributors

Languages