All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.kodekutters.stix.OpenVocab.scala Maven / Gradle / Ivy

package com.kodekutters.stix

/**
  * STIX-2.0 vocabularies part of STIX-2.0 protocol
  *
  * https://oasis-open.github.io/cti-documentation/
  *
  * Author: R. Wathelet  2017
  */

sealed trait OpenVocab

object attack_motivation_ov extends OpenVocab {
  val accidental = "accidental"
  val coercion = "coercion"
  val dominance = "dominance"
  val ideology = "ideology"
  val notoriety = "notoriety"
  val revenge = "revenge"
  val unpredictable = "unpredictable"
  val organizational_gain = "organizational-gain"
  val personal_gain = "personal-gain"
  val personal_satisfaction = "personal-satisfaction"
}

object attack_resource_level_ov extends OpenVocab {
  val individual = "individual"
  val club = "club"
  val contest = "contest"
  val team = "team"
  val organization = "organization"
  val government = "government"
}

object identity_class_ov extends OpenVocab {
  val individual = "individual"
  val group = "group"
  val organization = "organization"
  val `class` = "class"
  val unknown = "unknown"
}

object indicator_label_ov extends OpenVocab {
  val anomalous_activity = "anomalous-activity"
  val anonymization = "anonymization"
  val benign = "benign"
  val compromised = "compromised"
  val malicious_activity = "malicious-activity"
  val attribution = "attribution"
}

object industry_sector_ov extends OpenVocab {
  val agriculture = "agriculture"
  val aerospace = "aerospace"
  val automotive = "automotive"
  val communications = "communications"
  val construction = "construction"
  val defence = "defence"
  val education = "education"
  val entertainment = "entertainment"
  val government_national = "government-national"
  val government_regional = "government-regional"
  val financial_services = "financial-services"
  val government_local = "government-local"
  val government_public_services = "government-public-services"
  val healthcare = "healthcare"
  val hospitality_leisure = "hospitality-leisure"
  val infrastructure = "infrastructure"
  val insurance = "insurance"
  val manufacturing = "manufacturing"
  val mining = "mining"
  val non_profit = "non-profit"
  val pharmaceuticals = "pharmaceuticals"
  val retail = "retail"
  val technology = "technology"
  val telecommunications = "telecommunications"
  val transportation = "transportation"
  val utilities = "utilities"
}

object malware_label_ov extends OpenVocab {
  val adware = "adware"
  val backdoor = "backdoor"
  val bot = "bot"
  val ddos = "ddos"
  val dropper = "dropper"
  val exploit_kit = "exploit-kit"
  val keylogger = "keylogger"
  val ransomware = "ransomware"
  val remote_access_trojan = "remote-access-trojan"
  val resource_exploitation = "resource-exploitation"
  val rogue_security_software = "rogue-security-software"
  val rootkit = "rootkit"
  val screen_capture = "screen-capture"
  val spyware = "spyware"
  val trojan = "trojan"
  val virus = "virus"
  val worm = "worm"
}

object report_label_ov extends OpenVocab {
  val threat_report = "threat-report"
  val attack_pattern = "attack-pattern"
  val campaign = "campaign"
  val identity = "identity"
  val indicator = "indicator"
  val malware = "malware"
  val observed_data = "observed-data"
  val threat_actor = "threat-actor"
  val tool = "tool"
  val vulnerability = "vulnerability"
}

object threat_actor_label_ov extends OpenVocab {
  val activist = "activist"
  val competitor = "competitor"
  val crime_syndicate = "crime-syndicate"
  val criminal = "criminal"
  val hacker = "hacker"
  val insider_accidental = "insider-accidental"
  val insider_disgruntled = "insider-disgruntled"
  val nation_state = "nation-state"
  val sensationalist = "sensationalist"
  val spy = "spy"
  val terrorist = "terrorist"
}

object threat_actor_role_ov extends OpenVocab {
  val agent = "agent"
  val director = "director"
  val independent = "independent"
  val infrastructure_architect = "infrastructure-architect"
  val infrastructure_operator = "infrastructure-operator"
  val malware_author = "malware-author"
  val sponsor = "sponsor"
}

object threat_actor_sophistication_ov extends OpenVocab {
  val none = "none"
  val minimal = "minimal"
  val intermediate = "intermediate"
  val advanced = "advanced"
  val expert = "expert"
  val innovator = "innovator"
  val strategic = "strategic"
}

object tool_label_ov extends OpenVocab {
  val denial_of_service = "denial-of-service"
  val exploitation = "exploitation"
  val information_gathering = "information-gathering"
  val network_capture = "network-capture"
  val credential_exploitation = "credential-exploitation"
  val remote_access = "remote-access"
  val vulnerability_scanning = "vulnerability-scanning"
}

//---------------------------------------------------------------------------
//-------------------for Observables-----------------------------------------
//---------------------------------------------------------------------------

object hash_algo_ov extends OpenVocab {
  val MD5 = "MD5"
  val MD6 = "MD6"
  val RIPEMD_160 = "RIPEMD-160"
  val SHA_1 = "SHA-1"
  val SHA_224 = "SHA-224"
  val SHA_256 = "SHA-256"
  val SHA_384 = "SHA-384"
  val SHA_512 = "SHA-512"
  val SHA3_224 = "SHA3-224"
  val SHA3_256 = "SHA3-256"
  val SHA3_384 = "SHA3-384"
  val SHA3_512 = "SHA3-512"
  val ssdeep = "ssdeep"
  val WHIRLPOOL = "WHIRLPOOL"
}

object encryption_algo_ov extends OpenVocab {
  val AES128_ECB = "AES128-ECB"
  val AES128_CBC = "AES128-CBC"
  val AES128_CFB = "AES128-CFB"
  val AES128_OFB = "AES128-OFB"
  val AES128_CTR = "AES128-CTR"
  val AES128_XTS = "AES128-XTS"
  val AES128_GCM = "AES128-GCM"
  val Salsa20 = "Salsa20"
  val Salsa12 = "Salsa12"
  val Salsa8 = "Salsa8"
  val ChaCha20_Poly1305 = "ChaCha20-Poly1305"
  val ChaCha20 = "ChaCha20"
  val DES_CBC = "DES-CBC"
  val DES3_CBC = "3DES-CBC" // <---- 3DES_CBC
  val DES_ECB = "DES-ECB"
  val DES3_ECB = "3DES-ECB" // <---- 3DES_ECB
  val CAST128_CBC = "CAST128-CBC"
  val RSA = "RSA"
  val DSA = "DSA"
}
//---------------------------------------------------------------------------
//-------------------for Relationships---------------------------------------
//---------------------------------------------------------------------------

// todo not an OpenVocab
object relationship_type extends OpenVocab {
  val uses = "uses"
  val targets = "targets"
  val indicates = "indicates"
  val mitigates = "mitigates"
  val attributed_to = "attributed-to"
  val variant_of = "variant-of"
  val duplicate_of = "duplicate-of"
  val derived_from = "derived-from"
  val related_to = "related-to"
  val impersonates = "impersonates"
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy