misp-website/_pages/datamodels.md

31 KiB
Executable File

layout title permalink toc
page MISP data models - MISP core format - MISP taxonomies /datamodels/ true

MISP is not only a software but also a series of data models created by the MISP community. MISP includes a simple and practical information sharing format expressed in JSON that can be used with MISP software or by any other software.

MISP Core Format

The MISP core format is a simple JSON format used by MISP and other tools to exchange events and attributes. The JSON schema 2.4 is described on the MISP core software and many sample files are available in the OSINT feed.

The MISP format is described as Internet-Draft in misp-rfc. The MISP format are described to support the developer or organisation willing to build your own tool supporting the MISP format (as import or export). The standard is built from practical use-cases and the implementation references within the MISP project. The standard is quickly evolving following the MISP implementation.

MISP default attributes and categories

Attribute Categories vs. Types

Category Antivirus detection Artifacts dropped Attribution External analysis Financial fraud Internal reference
AS X
aba-rtn X
attachment X X X
authentihash X
bank-account-nr X
bic X
bin X
boolean
bro X
btc X
campaign-id X
campaign-name X
cc-number X
comment X X X X X X
cookie X
cortex X
counter
country-of-residence
cpe
date-of-birth
datetime
dns-soa-email X
domain X
domain|ip X
email-attachment
email-body
email-dst
email-dst-display-name
email-header
email-message-id
email-mime-boundary
email-reply-to
email-src
email-src-display-name
email-subject
email-thread-index
email-x-mailer
filename X X
filename|authentihash X
filename|impfuzzy X
filename|imphash X
filename|md5 X X
filename|pehash X
filename|sha1 X X
filename|sha224 X
filename|sha256 X X
filename|sha384 X
filename|sha512 X
filename|sha512/224 X
filename|sha512/256 X
filename|ssdeep X
filename|tlsh X
first-name
float
frequent-flyer-number
gender
gene X
github-organisation
github-repository X
github-username
hex X X X X
hostname X
hostname|port
http-method
iban X
identity-card-number
impfuzzy X
imphash X
ip-dst X
ip-dst|port X
ip-src X
ip-src|port X
issue-date-of-the-visa
jabber-id
last-name
link X X X
mac-address X
mac-eui-64 X
malware-sample X X
malware-type
md5 X X
middle-name
mime-type X
mobile-application-id
mutex X
named pipe X
nationality
other X X X X X X
passenger-name-record-locator-number
passport-country
passport-expiration
passport-number
pattern-in-file X X
pattern-in-memory X X
pattern-in-traffic X
payment-details
pdb X
pehash
phone-number X
place-of-birth
place-port-of-clearance
place-port-of-onward-foreign-destination
place-port-of-original-embarkation
port
primary-residence
prtn X
redress-number
regkey X X
regkey|value X X
sha1 X X
sha224 X
sha256 X X
sha384 X
sha512 X
sha512/224 X
sha512/256 X
sigma X
size-in-bytes
snort X
special-service-request
ssdeep X
stix2-pattern X
target-email
target-external
target-location
target-machine
target-org
target-user
text X X X X X X
threat-actor X
tlsh
travel-details
twitter-id
uri
url X
user-agent X
visa-number
vulnerability X
whois-creation-date X
whois-registrant-email X
whois-registrant-name X
whois-registrant-org X
whois-registrant-phone X
whois-registrar X
windows-scheduled-task X
windows-service-displayname X
windows-service-name X
x509-fingerprint-md5 X X X
x509-fingerprint-sha1 X X X
x509-fingerprint-sha256 X X X
xmr X
yara X
Category Network activity Other Payload delivery Payload installation Payload type Persistence mechanism
AS X X
aba-rtn
attachment X X X
authentihash X X
bank-account-nr
bic
bin
boolean X
bro X
btc
campaign-id
campaign-name
cc-number
comment X X X X X X
cookie X
cortex
counter X
country-of-residence
cpe X
date-of-birth
datetime X
dns-soa-email
domain X X
domain|ip X
email-attachment X
email-body X
email-dst X X
email-dst-display-name X
email-header X
email-message-id X
email-mime-boundary X
email-reply-to X
email-src X
email-src-display-name X
email-subject X
email-thread-index X
email-x-mailer X
filename X X X
filename|authentihash X X
filename|impfuzzy X X
filename|imphash X X
filename|md5 X X
filename|pehash X X
filename|sha1 X X
filename|sha224 X X
filename|sha256 X X
filename|sha384 X X
filename|sha512 X X
filename|sha512/224 X X
filename|sha512/256 X X
filename|ssdeep X X
filename|tlsh X X
first-name
float X
frequent-flyer-number
gender
gene
github-organisation
github-repository
github-username
hex X X X X X
hostname X X
hostname|port X X
http-method X
iban
identity-card-number
impfuzzy X X
imphash X X
ip-dst X X
ip-dst|port X X
ip-src X X
ip-src|port X X
issue-date-of-the-visa
jabber-id
last-name
link X
mac-address X X
mac-eui-64 X X
malware-sample X X
malware-type X X
md5 X X
middle-name
mime-type X X
mobile-application-id X X
mutex
named pipe
nationality
other X X X X X X
passenger-name-record-locator-number
passport-country
passport-expiration
passport-number
pattern-in-file X X X
pattern-in-memory X
pattern-in-traffic X X X
payment-details
pdb
pehash X X
phone-number X
place-of-birth
place-port-of-clearance
place-port-of-onward-foreign-destination
place-port-of-original-embarkation
port X X
primary-residence
prtn
redress-number
regkey X
regkey|value X
sha1 X X
sha224 X X
sha256 X X
sha384 X X
sha512 X X
sha512/224 X X
sha512/256 X X
sigma X X
size-in-bytes X
snort X
special-service-request
ssdeep X X
stix2-pattern X X X
target-email
target-external
target-location
target-machine
target-org
target-user
text X X X X X X
threat-actor
tlsh X X
travel-details
twitter-id
uri X
url X X
user-agent X X
visa-number
vulnerability X X
whois-creation-date
whois-registrant-email X
whois-registrant-name
whois-registrant-org
whois-registrant-phone
whois-registrar
windows-scheduled-task
windows-service-displayname
windows-service-name
x509-fingerprint-md5 X X
x509-fingerprint-sha1 X X X
x509-fingerprint-sha256 X X
xmr
yara X X
Category Person Social network Support Tool Targeting data
AS
aba-rtn
attachment X
authentihash
bank-account-nr
bic
bin
boolean
bro
btc
campaign-id
campaign-name
cc-number
comment X X X X
cookie
cortex
counter
country-of-residence X
cpe
date-of-birth X
datetime
dns-soa-email
domain
domain|ip
email-attachment
email-body
email-dst X
email-dst-display-name
email-header
email-message-id
email-mime-boundary
email-reply-to
email-src X
email-src-display-name
email-subject
email-thread-index
email-x-mailer
filename
filename|authentihash
filename|impfuzzy
filename|imphash
filename|md5
filename|pehash
filename|sha1
filename|sha224
filename|sha256
filename|sha384
filename|sha512
filename|sha512/224
filename|sha512/256
filename|ssdeep
filename|tlsh
first-name X
float
frequent-flyer-number X
gender X
gene
github-organisation X
github-repository X
github-username X
hex X
hostname
hostname|port
http-method
iban
identity-card-number X
impfuzzy
imphash
ip-dst
ip-dst|port
ip-src
ip-src|port
issue-date-of-the-visa X
jabber-id X
last-name X
link X
mac-address
mac-eui-64
malware-sample
malware-type
md5
middle-name X
mime-type
mobile-application-id
mutex
named pipe
nationality X
other X X X
passenger-name-record-locator-number X
passport-country X
passport-expiration X
passport-number X
pattern-in-file
pattern-in-memory
pattern-in-traffic
payment-details X
pdb
pehash
phone-number X
place-of-birth X
place-port-of-clearance X
place-port-of-onward-foreign-destination X
place-port-of-original-embarkation X
port
primary-residence X
prtn
redress-number X
regkey
regkey|value
sha1
sha224
sha256
sha384
sha512
sha512/224
sha512/256
sigma
size-in-bytes
snort
special-service-request X
ssdeep
stix2-pattern
target-email X
target-external X
target-location X
target-machine X
target-org X
target-user X
text X X X
threat-actor
tlsh
travel-details X
twitter-id X
uri
url
user-agent
visa-number X
vulnerability
whois-creation-date
whois-registrant-email X
whois-registrant-name
whois-registrant-org
whois-registrant-phone
whois-registrar
windows-scheduled-task
windows-service-displayname
windows-service-name
x509-fingerprint-md5
x509-fingerprint-sha1
x509-fingerprint-sha256
xmr
yara

Categories

  • Antivirus detection: All the info about how the malware is detected by the antivirus products
  • Artifacts dropped: Any artifact (files, registry keys etc.) dropped by the malware or other modifications to the system
  • Attribution: Identification of the group, organisation, or country behind the attack
  • External analysis: Any other result from additional analysis of the malware like tools output
  • Financial fraud: Financial Fraud indicators
  • Internal reference: Reference used by the publishing party (e.g. ticket number)
  • Network activity: Information about network traffic generated by the malware
  • Other: Attributes that are not part of any other category or are meant to be used as a component in MISP objects in the future
  • Payload delivery: Information about how the malware is delivered
  • Payload installation: Info on where the malware gets installed in the system
  • Payload type: Information about the final payload(s)
  • Persistence mechanism: Mechanisms used by the malware to start at boot
  • Person: A human being - natural person
  • Social network: Social networks and platforms
  • Support Tool: Tools supporting analysis or detection of the event
  • Targeting data: Internal Attack Targeting and Compromise Information

Types

  • AS: Autonomous system
  • aba-rtn: ABA routing transit number
  • attachment: Attachment with external information
  • authentihash: Authenticode executable signature hash
  • bank-account-nr: Bank account number without any routing number
  • bic: Bank Identifier Code Number also known as SWIFT-BIC, SWIFT code or ISO 9362 code
  • bin: Bank Identification Number
  • boolean: Boolean value - to be used in objects
  • bro: An NIDS rule in the Bro rule-format
  • btc: Bitcoin Address
  • campaign-id: Associated campaign ID
  • campaign-name: Associated campaign name
  • cc-number: Credit-Card Number
  • comment: Comment or description in a human language
  • cookie: HTTP cookie as often stored on the user web client. This can include authentication cookie or session cookie.
  • cortex: Cortex analysis result
  • counter: An integer counter, generally to be used in objects
  • country-of-residence: The country of residence of a natural person
  • cpe: Common platform enumeration
  • date-of-birth: Date of birth of a natural person (in YYYY-MM-DD format)
  • datetime: Datetime in the ISO 8601 format
  • dns-soa-email: RFC1035 mandates that DNS zones should have a SOA (Statement Of Authority) record that contains an email address where a PoC for the domain could be contacted. This can sometimes be used for attribution/linkage between different domains even if protected by whois privacy
  • domain: A domain name used in the malware
  • domain|ip: A domain name and its IP address (as found in DNS lookup) separated by a |
  • email-attachment: File name of the email attachment.
  • email-body: Email body
  • email-dst: A recipient email address
  • email-dst-display-name: Email destination display name
  • email-header: Email header
  • email-message-id: The email message ID
  • email-mime-boundary: The email mime boundary separating parts in a multipart email
  • email-reply-to: Email reply to header
  • email-src: The email address used to send the malware.
  • email-src-display-name: Email source display name
  • email-subject: The subject of the email
  • email-thread-index: The email thread index header
  • email-x-mailer: Email x-mailer header
  • filename: Filename
  • filename|authentihash: A checksum in md5 format
  • filename|impfuzzy: Import fuzzy hash - a fuzzy hash created based on the imports in the sample.
  • filename|imphash: Import hash - a hash created based on the imports in the sample.
  • filename|md5: A filename and an md5 hash separated by a |
  • filename|pehash: A filename and a PEhash separated by a |
  • filename|sha1: A filename and an sha1 hash separated by a |
  • filename|sha224: A filename and a sha-224 hash separated by a |
  • filename|sha256: A filename and an sha256 hash separated by a |
  • filename|sha384: A filename and a sha-384 hash separated by a |
  • filename|sha512: A filename and a sha-512 hash separated by a |
  • filename|sha512/224: A filename and a sha-512/224 hash separated by a |
  • filename|sha512/256: A filename and a sha-512/256 hash separated by a |
  • filename|ssdeep: A checksum in ssdeep format
  • filename|tlsh: A filename and a Trend Micro Locality Sensitive Hash separated by a |
  • first-name: First name of a natural person
  • float: A floating point value.
  • frequent-flyer-number: The frequent flyer number of a passenger
  • gender: The gender of a natural person (Male, Female, Other, Prefer not to say)
  • gene: GENE - Go Evtx sigNature Engine
  • github-organisation: A github organisation
  • github-repository: A github repository
  • github-username: A github user name
  • hex: A value in hexadecimal format
  • hostname: A full host/dnsname of an attacker
  • hostname|port: Hostname and port number seperated by a |
  • http-method: HTTP method used by the malware (e.g. POST, GET, ...).
  • iban: International Bank Account Number
  • identity-card-number: Identity card number
  • impfuzzy: A fuzzy hash of import table of Portable Executable format
  • imphash: Import hash - a hash created based on the imports in the sample.
  • ip-dst: A destination IP address of the attacker or C&C server
  • ip-dst|port: IP destination and port number seperated by a |
  • ip-src: A source IP address of the attacker
  • ip-src|port: IP source and port number seperated by a |
  • issue-date-of-the-visa: The date on which the visa was issued
  • jabber-id: Jabber ID
  • last-name: Last name of a natural person
  • link: Link to an external information
  • mac-address: Mac address
  • mac-eui-64: Mac EUI-64 address
  • malware-sample: Attachment containing encrypted malware sample
  • malware-type:
  • md5: A checksum in md5 format
  • middle-name: Middle name of a natural person
  • mime-type: A media type (also MIME type and content type) is a two-part identifier for file formats and format contents transmitted on the Internet
  • mobile-application-id: The application id of a mobile application
  • mutex: Mutex, use the format \BaseNamedObjects<Mutex>
  • named pipe: Named pipe, use the format .\pipe<PipeName>
  • nationality: The nationality of a natural person
  • other: Other attribute
  • passenger-name-record-locator-number: The Passenger Name Record Locator is a key under which the reservation for a trip is stored in the system. The PNR contains, among other data, the name, flight segments and address of the passenger. It is defined by a combination of five or six letters and numbers.
  • passport-country: The country in which the passport was issued
  • passport-expiration: The expiration date of a passport
  • passport-number: The passport number of a natural person
  • pattern-in-file: Pattern in file that identifies the malware
  • pattern-in-memory: Pattern in memory dump that identifies the malware
  • pattern-in-traffic: Pattern in network traffic that identifies the malware
  • payment-details: Payment details
  • pdb: Microsoft Program database (PDB) path information
  • pehash: PEhash - a hash calculated based of certain pieces of a PE executable file
  • phone-number: Telephone Number
  • place-of-birth: Place of birth of a natural person
  • place-port-of-clearance: The port of clearance
  • place-port-of-onward-foreign-destination: A Port where the passenger is transiting to
  • place-port-of-original-embarkation: The orignal port of embarkation
  • port: Port number
  • primary-residence: The primary residence of a natural person
  • prtn: Premium-Rate Telephone Number
  • redress-number: The Redress Control Number is the record identifier for people who apply for redress through the DHS Travel Redress Inquiry Program (DHS TRIP). DHS TRIP is for travelers who have been repeatedly identified for additional screening and who want to file an inquiry to have erroneous information corrected in DHS systems
  • regkey: Registry key or value
  • regkey|value: Registry value + data separated by |
  • sha1: A checksum in sha1 format
  • sha224: A checksum in sha-224 format
  • sha256: A checksum in sha256 format
  • sha384: A checksum in sha-384 format
  • sha512: A checksum in sha-512 format
  • sha512/224: A checksum in the sha-512/224 format
  • sha512/256: A checksum in the sha-512/256 format
  • sigma: Sigma - Generic Signature Format for SIEM Systems
  • size-in-bytes: Size expressed in bytes
  • snort: An IDS rule in Snort rule-format
  • special-service-request: A Special Service Request is a function to an airline to provide a particular facility for A Passenger or passengers.
  • ssdeep: A checksum in ssdeep format
  • stix2-pattern: STIX 2 pattern
  • target-email: Attack Targets Email(s)
  • target-external: External Target Organizations Affected by this Attack
  • target-location: Attack Targets Physical Location(s)
  • target-machine: Attack Targets Machine Name(s)
  • target-org: Attack Targets Department or Organization(s)
  • target-user: Attack Targets Username(s)
  • text: Name, ID or a reference
  • threat-actor: A string identifying the threat actor
  • tlsh: A checksum in the Trend Micro Locality Sensitive Hash format
  • travel-details: Travel details
  • twitter-id: Twitter ID
  • uri: Uniform Resource Identifier
  • url: url
  • user-agent: The user-agent used by the malware in the HTTP request.
  • visa-number: Visa number
  • vulnerability: A reference to the vulnerability used in the exploit
  • whois-creation-date: The date of domain's creation, obtained from the WHOIS information.
  • whois-registrant-email: The e-mail of a domain's registrant, obtained from the WHOIS information.
  • whois-registrant-name: The name of a domain's registrant, obtained from the WHOIS information.
  • whois-registrant-org: The org of a domain's registrant, obtained from the WHOIS information.
  • whois-registrant-phone: The phone number of a domain's registrant, obtained from the WHOIS information.
  • whois-registrar: The registrar of the domain, obtained from the WHOIS information.
  • windows-scheduled-task: A scheduled task in windows
  • windows-service-displayname: A windows service's displayname, not to be confused with the windows-service-name. This is the name that applications will generally display as the service's name in applications.
  • windows-service-name: A windows service name. This is the name used internally by windows. Not to be confused with the windows-service-displayname.
  • x509-fingerprint-md5: X509 fingerprint in MD5 format
  • x509-fingerprint-sha1: X509 fingerprint in SHA-1 format
  • x509-fingerprint-sha256: X509 fingerprint in SHA-256 format
  • xmr: Monero Address
  • yara: Yara signature

MISP objects

MISP objects are in addition to MISP attributes to allow advanced combinations of attributes. The creation of these objects and their associated attributes are based on real cyber security use-cases and existing practices in information sharing. MISP objects are standardised under a simple templating format and are automatically available in MISP. A series of relationships are also defined along with the objects which can be used to create relationships between objects.

The objects available can be browsed via the web site or downloaded as PDF or directly via the MISP software.

MISP Taxonomies

Along with the core format, MISP taxonomies provide a set of already defined classifications modeling estimative language, CSIRTs/CERTs classifications, national classifications or threat model classification. The fixed taxonomies provide a practical method to tag efficiently events and attributes within a set of MISP instances where taxonomies can be easily cherry-picked or extended to meet the local requirements of an organization or a specific sharing community. When using MISP, the MISP taxonomies are available and can be freely used based on the community practises.

The taxonomies can be browsed via the web site or downloaded as PDF or via the MISP software.

MISP Galaxy

MISP galaxy is a simple method to express a large object called cluster that can be attached to MISP events or attributes. A cluster can be composed of one or more elements. Elements are expressed as key-values. There are default vocabularies available in MISP galaxy but those can be overwritten, replaced or updated as you wish. Existing clusters and vocabularies can be used as-is or as a template. MISP distribution can be applied to each cluster to permit a limited or broader distribution scheme. Many MISP galaxy clusters are already available like Exploit-Kit, Microsoft Activity Group actor, Preventive Measure, Ransomware, TDS, Threat actor or Tool used by adversaries.

The galaxy can be browsed via the web site or downloaded as PDF or directly via the MISP software.