. . "2022-09-19T00:00:00+00:00"^^ . "D3FEND is a framework which encodes a countermeasure knowledge base as a knowledge graph. The graph contains the types and relations that define key concepts in the cybersecurity countermeasure domain and the relations necessary to link those concepts to each other. Each of these concepts and relations are linked to references in the cybersecurity literature."^^ . "MIT"^^ . "D3FEND\u2122 - A knowledge graph of cybersecurity countermeasures"^^ . "Use of the D3FEND Knowledge Graph, and the associated references from this ontology are subject to the Terms of Use. D3FEND is funded by the National Security Agency (NSA) Cybersecurity Directorate and managed by the National Security Engineering Center (NSEC) which is operated by The MITRE Corporation. D3FEND\u2122 and the D3FEND logo are trademarks of The MITRE Corporation. This software was produced for the U.S. Government under Basic Contract No. W56KGU-18-D0004, and is subject to the Rights in Noncommercial Computer Software and Noncommercial Computer Software Documentation Clause 252.227-7014 (FEB 2012) Copyright 2022 The MITRE Corporation."^^ . "0.11.0-BETA-1"^^ . . "x attack-id y: The offensive technique x has the att&ck unique id of y." . "attack-id" . . . . . "x attack-kb-annotation y: The offensive technique x has the kb annotation of y." . "attack-kb-annotation" . . . . "x d3fend-annotation y: The d3fend object x has the annotation y." . "d3fend-annotation" . . . "d3fend-catalog-annotation-property" . "d3fend-vendor-registry-annotation-property" . . . . . "x d3fend-kb-annotation-property y: The entity x had the d3fend kb annotation y." . "d3fend-kb-annotation-property" . . . "x d3fend-kb-data-property y: The reference x has the data property y." . "d3fend-kb-reference-annotation" . . . . . "x definition y: The d3fend object x has the definition y. Intended d3fend equivalent to http://purl.obolibrary.org/obo/IAO_0000115; will take over from use of rdfs:comment to hold definition." . . "definition" . . . "A statement that represents something in words." . "http://wordnet-rdf.princeton.edu/id/06737512-n"^^ . "description"@en . . . . . "x kb-abstract y: The reference x has the abstract y." . "kb-abstract" . . . . . "The technique x has the kb-article y, where y is written in Markdown." . "kb-article" . . . . . "x kb-author y: The reference x has some author y." . "kb-author" . . . . . "x kb-mitre-analysis y: The reference x has the mitre d3fend analysis y." . "kb-mitre-analysis" . . . . . "x kb-organization y: The reference x was created or owned by the organization y." . "kb-organization" . . . "label"@en . . . "x pref-label y: The preferred display value for x is y in d3fend tools." . "pref-label" . . . "x release-date y: The object x has the release-date y." . "release-date" . . . . "an equivalent term." . "synonym" . . . "description" . . "license" . . "title" . . "comment" . . "isDefinedBy" . . . . . "altLabel"@en . . . "x abuses y: The entity x applies an artifact y to a wrong thing or person; x applies y badly or incorrectly." . . "abuses" . "misapplies" . "misuses" . . . . . "accessed-by" . . . . . . "x accesses y: An subject x takes the action of reading from, writing into, or executing the stored information in the object y. Reads, writes, and executes are specific cases of accesses." . . "accesses" . . . . . . "x addressed-by y: Relates a resource x (e.g., network host, peripheral device, disk sector, a memory cell or other logical or physical entity) to a discrete address y in an address space that points to it." . "addressed-by" . . . . . "x addresses y: Relates a pointer x to a digital artifact y located in the address space to which x points. The address space is part of some digital store, whether it be in memory, an image, or a persistent storage device." . "addresses" . . . "points-to" . . . . "x adds y: The subject x adds a data object y, such as a file, to some other digital artifact, such as a directory. Examples include an agent or technique adding a record to a database. or a domain entry to a DNS server." . "adds" . . . . "x analyzes y: The subject x break down object y into components or essential features, assessing y by quantitative methods, qualitative methods, or both. Usually the analysis is done in terms of some model or framework." . . "analyzes" . . . . "assessed-by" . . . . . "assesses" . . . "x associated-with y: The subject x and object y are associated in some way. This is the most general definite relationship in d3fend (i.e., most general relationship that is not prefixed by 'may-'.)" . "associated-with" . . . . "x attached-to y: A subject x is joined in close association to an object y." . . "attached-to" . "d3f:connects" . . . "attack-may-be-countered-by" . . . . "x authenticates y: The subject x establishes the authenticity of some y. This relation indicates an authentication event has occurred." . . "authenticates" . . . "author" . . . . "x authorizes y: A subject x grants authorization or clearance for an agent y to use an object. This relation indicates an authorization event has occurred." . . "authorizes" . . . . . "x blocks y: The entity x blocks off the use of digital artifact y by reference to a block or allow list (or both.)" . . "blocks" . . . "broader" . . . "broader-transitive" . . . . "cited-by" . . . . . "cites" . . . . "claimed-by" . . . "claims" . . . . "configures" . . . "x connects y: The subject x joins system y by means of communication equipment (to some other system, typically the adversary-targeted host)." . . "connects" . . . . . . "contained-by" . . . . . "x contains y: A core relation that holds between a whole x and its part y. Equivalent to relational concept 'has part' and thus transitive." . . "contains" . . . . . . "x copies y: An technique or agent x reproduces or makes and exact copy of some digital artifact y." . . "copies" . . . . "counters" . . . . . "created-by" . . . . "x creates y: The subject x bring into existence an object y. Some technique or agent x creates a persistent digital artifact y (as opposed to production of a consumable or transient object.); i.e., bring forth or generate" . . "creates" . "produces" . . . "creator" . . . "d3fend-catalog-object-property" . "d3fend-vendor-registry-object-property" . . . . . "x d3fend-kb-object-property y: The object y is a d3fend knowledge base object property. These properties allow the linkage of knowledge and information supporting and illustrating the d3fend model." . "d3fend-kb-object-property" . . . . . . . . . "d3fend-tactical-verb-property" . . . . . "deceives" . . . "deceives-with" . . . . "x deletes y: A technique or agent x wipes out the digitally or magnetically recorded information of digital object y." . . "deletes" . . . "x dependent y: A dependent y is an entity that requires the fulfillment of the requirements specified in dependency x." . "http://wordnet-rdf.princeton.edu/id/00729216-a" . "dependent" . . . . "http://wordnet-rdf.princeton.edu/id/00729216-a" . "x depends-on y: The entity x is contingent on y being available; x relies on y." . "depends-on" . "https://www.cisa.gov/what-are-dependencies" . . . . "detects" . . . . . "x disables y: The technique or agent x makes an entity y unable to perform its actions or capabilities." . . "disables" . . . "x drives y: The device driver x causes a system component y to function by controlling it." . . "drives" . . . . . "x employed-by y: An entity x is put into service by a technique or agent y. Inverse of y employs x." . . "employed-by" . . . . . . "x enabled-by y: A top level technique y enables a tactic x, that is, the property indicates that a technique y is used to put a particular tactic x into action. In other words, y renders x capable or able for some task. Inverse of enables." . . "enabled-by" . . . "x enables y: A top level technique x enables a tactic y, that is, the property indicates that a technique x is used to put a particular tactic y into action. In other words, x renders y capable or able for some task." . . "enables" . . . . "x encrypts y: The entity x converts the ordinary representation of a digital artifact y into a secret code." . . "encrypts" . . . . . . "evaluated-by" . . . . "evaluates" . . . "evaluator" . . . . . "evicts" . . . "exactly" . . . . "x executes y: The subject x takes the action of carrying out (executing) y, which is a single software module, function, or instruction." . . "executes" . . . _:genid1 . _:genid1 . _:genid1 . _:genid1 . "expected-latency" . . . "x extends y: The entity x extend the scope or range or area of entity y, especially in the sense of widen the range of applications." . . "extends" . . . . . "features" . . . . "x filters y: An technique or agent x removes some specified set of of entities from the content of a digital artifact y, by passing an artifact's content through a filter. A filter is a device that removes something from whatever passes through it." . . "filters" . . . . . "x forges y: An technique or agent x counterfeits a digital artifact y, such as a fake credential, with the intent to deceive." . "forges" . . . . . . . "hardens" . . . "x has-account y: The subject x has ownership or possession of some account y." . "has-account" . . . . . . . . . . "has-dependent" . . . "has-evidence" . . . "has-feature" . . . . . "has-implementation" . . . "x has-location y: The entity x is situated in a particular spot or position y." . . "has-location" . . "located_in" . . . . "has-member" . . . . . . . "x has_recipient y: An agent y is the intended recipient and decoder of the information contained in communication x." . . "has-recipient" . . . . . "x has_sender y: An agent y is the sender and encoder of the information contained in communication x." . . "has-sender" . . . . . "x hides y: A technique or operation x conceals the digital artifact y." . "hides" . . . . . . . . "impairs" . . . . . "implemented-by" . . . . "implements" . . . "x injects y: The subject x takes the action of exploiting a security flaw by introducing (injecting) y, which is code or data that will change the course of execution or state of a computing process to an alternate course or state. Typically code injection is associated with adversaries intending the alternate course to facilitate a malevolent purpose; however, code injection can be unintentional or the intentions behind it may be good or benign." . "injects" . . . . . "x installs y: An entity x sets up a digital artifact y for subsequent use. For example, an installation program can install application software." . . "installs" . . . . "x interprets y: The subject x interprets the executable script y. The sense of interprets is here 'Parse the source code and perform its behavior directly.'" . "interprets" . . . . . "inventoried-by" . . . "inventories" . . . . . "invoked-by" . . . . "x invokes y: The subject x invokes a system service y by use of an instruction object y that interrupts the program being executed and passes control to the operating system to perform that operation." . . "invokes" . . "calls" . . . . "x isolates y: The technique or agent x sets digital artifact y apart from other digital artifacts, sequestering y." . . "isolates" . . . . "kb-reference" . "has-technique-reference" . . . . . "x kb-is-example-of y: The reference x is an example of technique y." . "kb-reference-of" . "kb-is-example-of" . . . _:genid2 . _:genid2 . _:genid2 . _:genid2 . "latency" . . . _:genid3 . _:genid3 . _:genid3 . _:genid3 . "license" . . . "x limits y: An entity x specifies a designated limit beyond which some entity y cannot function or must be terminated." . . "limits" . . "cutoff" . . . . "loaded-by" . . . "x loads y: The technique or process x transfers a software from a storage y to a computer's memory for subsequent execution." . . "loads" . . . "x manages y: The technique or agent x watches and directs the use of a digital artifact y." . . "manages" . "oversees" . "supervises" . . . . "mapped-by" . . . "maps" . . . . "x may-access y: They entity x may access the thing y; that is, 'x accesses y' may be true." . "may-access" . . . "x may-add y: They entity x may add the thing y; that is, 'x adds y' may be true." . "may-add" . . . "may-be-accessed-by" . . . "x may-be-associated-with y: The subject x and object y may be associated in some way." . "may-be-associated-with" . . . . . . "may-be-contained-by" . . . . "may-be-created-by" . . . . "may be deceived by" . "may-be-deceived-by" . . . . "may be detected by" . "may-be-detected-by" . . . . "may be evicted by" . "may-be-evicted-by" . . . . "may be hardened against by" . "may-be-hardened-against-by" . . . . "may-be-invoked-by" . . . . "may be isolated by" . "may-be-isolated-by" . . . . "may-be-modified-by" . . . . . "x may-be-tactically-associated-with y: the defensive technique x may be a tactic that counters offensive technique y." . "may-be-tactically-associated-with" . . . . "to potentially have as contents or constituent parts; comprise; include." . "may-contain" . . . "may-counter" . . . "may-counter-attack" . . . "x may-create y: They entity x may create the entity y; that is, 'x creates y' may be true." . "may-create" . . . "may deceive" . "may-deceive" . . . "may detect" . "may-detect" . . . "may-disable" . . . . . . "may evict" . "may-evict" . . . "may-execute" . . . "may harden" . "may-harden" . . . "x may-interpret y: They entity x may interpret the thing y; that is, 'x interprets y' may be true." . "may-interpret" . . . "x may-invoke y: They entity x may invoke the thing y; that is, 'x invokes y' may be true." . "may-invoke" . . . "may isolate" . "may-isolate" . . . "may-map" . . . "x may-modify y: They entity x may modify the thing y; that is, 'x modifies y' may be true." . "may-modify" . . . "x may-produce y: They entity x may produce the thing y; that is, 'x produces y' may be true." . "may-produce" . . . "may-query" . . . "x may-run y: They entity x may run the thing y; that is, 'x runs y' may be true." . "may-run" . . . "x may-transfer y: They entity x might send the thing y; that is, 'x transfers y' may be true." . "may-transfer" . . . "member-of" . . . . . "modified-by" . . . . . "x modifies y: A technique or agent x causes a digital object y to change; become different; or undertake a transformation. Afterwards, the data or state held by a digital object is changed." . . "modifies" . "alters" . . . _:genid4 . _:genid5 . _:genid4 _:genid5 . _:genid5 . _:genid4 . "x modifies-part y: The entity x modifies a part of y. [Note: This is a rolification property for the rule 'if one modifies a part of a whole, they modify the whole.' Reasoning for this and similar semantics to come are under evaluation and not part of current d3fend inferences.]" . "modifies-part" . . . . "x monitors y: The technique or agent x keep tabs on; keeps an eye on; or keep the digital artifact y under surveillance." . . "monitors" . . . "narrower" . . . "narrower-transitive" . . . . "x neutralizes y: The technique x makes the execution of actions of y ineffective by preventing or counterbalancing the effect of y." . . "neutralizes" . . . . . . "x obfuscates y: The technique x makes the digital artifact y unclear or obscure. Typically obfuscation is a way to hide a digital artifact from discovery, use, or both." . . "obfuscates" . . . . "x originates-from y: The digital event or artifact x began its network transit from a physical location y." . . "originates-from" . . . "x owns y: The subject x has ownership or possession of some object y." . . "owns" . . "possesses" . . . . "x process-ancestor y: The process y is a process ancestor of process x, indicating one or more process creation events were conducted were started at process y and subsequently created process x." . "process-ancestor" . . . "x process-image-path y: The filepath y is the process image path for the process x, indicating the path to the resource from which the process's image was loaded." . "process-image-path" . "processImagePath" . . . "x process-parent y: The process y created the process x (directly) with a create process event." . "process-parent" . "processParent" . . . "x process-property y: Process x has the a process-property y. This is generalization for specific process object properties." . "process-property" . . . "x process-user y: The process x has been executed by the user y." . "process-user" . "processUser" . . . . "produced-by" . . . . "producer" . . . . . "x produces y: The subject entity x or process produces a data object y, which may be discrete digital object or a stream (e.g., a stream such as network traffic.)" . . "produces" . "creates" . "outputs" . . . "x provider y: A provider y is an entity that supplies a service, system, or data resources to a dependent entity x." . "http://wordnet-rdf.princeton.edu/id/05901034-n" . "provider" . "http://wordnet-rdf.princeton.edu/id/10696710-n" . . . "provides" . . . . "publisher" . . . "publishes" . . . . "queries" . . . "x reads y: The subject x takes the action of reading from a digital source y to acquire data and placing it into volatile memory for processing." . "reads" . . . . . "recorded-in" . . . "x records y: The digital artifact x makes a record of events y; set down in permanent form." . . "records" . . . . "x related y: x has a symmetric associative relation to y." . . "related" . . . "x restricts y: An entity x bounds the use of entity y." . . "restricts" . . . . "x runs y: To carry out a process or program y, as on a computer or a machine x; where y may be a large software assembly or a specific module or instruction. Examples: \"run a new program on the Mac\"; \"the computer executed the instruction\"" . "runs" . . . . . "seller" . . . "sells" . . . "semantic-relation" . . . . "x spoofs y: The technique x creates a fake instance of a digital artifact y; that is, y is a decoy, fake, or counterfeit." . "spoofs" . . . . . . . . "x strengthens y: The technique x make digital artifact y resistant (to harm or misuse.)" . . "strengthens" . . . "submitter" . . . "x summarizes y: The sensor x summarizes a set y of events concerning digital artifacts over time" . . "summarizes" . . . . "aborts" . "x terminates y: The technique x brings to an end or halt to some activity y." . . "terminates" . . . . "x unmounts y: An operation x removes the access via computer system's file system the availability of files and directories on a storage artifact y. Unmounts reverse or undo prior mount operations." . "unmounts" . . . . . "x updates y: The technique x updates the software for component y." . "updates" . . . "x use-limits y: An entity x specifies a designated number of uses beyond which some entity y cannot function or must be terminated." . "use-limits" . . . . . "x used-by y: is inverse of y uses x." . "used-by" . . . "x uses y: An entity x puts into service a resource or implement y; makes y work or employ for a particular purpose or for its inherent or natural purpose." . . "uses" . . . . "x validates y: The technique x proves the digital artifact y is valid; that is, x shows or confirms the validity of y." . . "validates" . . . "validator" . . . . "x verifies y: A technique x confirms the truth of a digital artifact y." . . "verifies" . . . . . . "x writes y: The subject x takes the action of writing to a digital artifact y to store data and placing it into persistent memory for later reference." . "writes" . . . . . . "archived-at"@en . . . "attack-kb-data-property" . "attack-kb-property" . . . . "Date that the resource became or will become available." . "date available"@en . . . . . . "x comments y: x claim has provider comments y." . "comments" . . . "confidence" . . . "The control (or control enhancement) name." . "control-name" . . . . "Date of creation of the resource." . "date created"@en . . . . "x d3fend-artifact-data-property y: The artifact x has the data property y." . "d3fend-artifact-data-property" . . . . "d3fend-catalog-data-property" . "d3fend-vendor-registry-data-property"@en . . . "x d3fend-comment y: The entity x has an D3FEND team written a public note about entity y." . "d3fend-comment" . . . "d3fend-data-property" . . . "x d3fend-display-property y: An object x should be displayed using the display property y, when it applies." . "d3fend-display-property" . . . "d3fend-external-control-data-property" . . . "Unique identifier for a D3FEND technique. D3-[Acronym]." . "d3fend-id" . . . "x d3fend-kb-data-property y: The d3fend knowledge base object x has a data property y; e.g., a string capturing a particular aspect or section of a knowledge base article." . "d3fend-kb-data-property" . . . . "A point or period of time associated with an event in the lifecycle of the resource." . "date"@en . "https://www.w3.org/wiki/Good_Ontologies#The_Dublin_Core_.28DC.29_ontology"^^ . . . "x display-order y: An object x should be displayed in ordinal position y when placed or listed in a d3fend display with other objects of its kind." . "display-order" . . . . . . "x has-link y: The d3fend analysis x has the link y." . "has-link" . . . . "identifier"@en . . . . "Date of formal issuance of the resource." . "date issued"@en . . . . . "x kb-reference-title y: The d3fend knowledge base reference x has the reference title string y." . "kb-reference-title" . . . . "Date on which the resource was changed." . "date modified"@en . . . "name"@en . . . . . "x operating-system y: The product x is supported on operating system y." . "operating-system"@en . . . "x process-command-line-arguments y: The process x has the process command line arguments data y." . "process-command-line-arguments" . . . "x process-data-property y: The process x has the data property y." . "process-data-property" . . . "x process-environment-variables y: The process x has the process environmental variables data y." . "process-environmental-variables" . "process-environmental-variable" . . . "x process-identifier y: The process x has the process identifier y." . "process-identifier" . . . . "x process-security-context y: The process x has the process security context data y." . "process-security-context" . . . . "Date of publication of the resource." . "date published"@en . . . . "rating" . . . . "stage" . . . "The text of the document (i.e., terms of license.)" . "text"@en . . . . "A name given to the resource." . "title"@en . . . . "Date (often a range) of validity of a resource." . "date valid"@en . . . . . . _:genid6 . _:genid7 . _:genid8 . _:genid7 _:genid8 . _:genid9 . _:genid8 _:genid9 . _:genid9 . _:genid6 _:genid7 . _:genid6 . . "x version y: The product or service x has the version y." . "version"@en . . . "x windows-registry-data-property y: The windows registry entry x has the property y." . "windows-registry-data-property" . . . "x value y: The key-value pair x has the key y." . "windows-registry-key" . "key" . . . "x value y: The key-value pair x has the data value y." . "windows-registry-value" . "value" . . . _:genid10 . _:genid10 . _:genid10 . _:genid10 . _:genid11 . _:genid11 . _:genid11 . _:genid11 . "ATTACK Mitigation" . . "ATTACK things are concepts defined in the ATT&CK Framework." . "ATTACK Thing" . . . "Academic Article" . . . "Academic Paper" . "Academic Paper Reference" . . . . . "A list of permissions attached to an object." . . "Access Control List" . . . _:genid12 . _:genid12 . _:genid12 . _:genid12 . _:genid13 . _:genid13 . _:genid13 . _:genid13 . . . . . _:genid14 . _:genid14 . _:genid14 . _:genid14 . . . . . _:genid15 . _:genid15 . _:genid15 . _:genid15 . . . _:genid16 . _:genid16 . _:genid16 . _:genid16 . . . . "An activity is a specific behavior representing a set of actions that may be accomplished by an agent." . "Activity" . "http://wordnet-rdf.princeton.edu/id/00408356-n" . "https://en.wikipedia.org/wiki/Business_Process_Model_and_Notation" . "https://en.wikipedia.org/wiki/IDEF0" . "https://enterpriseintegrationlab.github.io/icity/Activity/doc/index-en.html" . . . "An activity dependency is a dependency that indicates an activity has an activity or agent which relies on it in order to be functional." . "Activity Dependency" . . . _:genid17 . _:genid17 . _:genid17 . _:genid17 . "Admin Feature Assessment" . . . _:genid18 . _:genid18 . _:genid18 . _:genid18 . _:genid19 . _:genid19 . _:genid19 . _:genid19 . _:genid20 . _:genid20 . _:genid20 . _:genid20 . "Admin Feature Claim" . . . "Administrative Feature" . "Administrative Capability" . . . _:genid21 . _:genid21 . _:genid21 . _:genid21 . . . . . "Agent" . . . "In macOS, an alias is a small file that represents another object in a local, remote, or removable[1] file system and provides a dynamic link to it; the target object may be moved or renamed, and the alias will still link to it (unless the original file is recreated; such an alias is ambiguous and how it is resolved depends on the version of macOS)." . . "Alias" . . . _:genid22 . _:genid22 . _:genid22 . _:genid22 . _:genid23 . _:genid23 . _:genid23 . _:genid23 . "Analysis of Alternatives" . . . "Analytic Latency" . . . "Appliance" . . . _:genid24 . _:genid24 . _:genid24 . _:genid24 . _:genid25 . _:genid25 . _:genid25 . _:genid25 . . . . . _:genid26 . _:genid26 . _:genid26 . _:genid26 . . . . . . _:genid27 . _:genid27 . _:genid27 . _:genid27 . . . _:genid28 . _:genid28 . _:genid28 . _:genid28 . . . _:genid29 . _:genid29 . _:genid29 . _:genid29 . . . _:genid30 . _:genid30 . _:genid30 . _:genid30 . "Application Inventory Sensor" . . . "An application firewall is a form of firewall that controls input, output, and/or access from, to, or by an application or service. It operates by monitoring and potentially blocking the input, output, or system service calls that do not meet the configured policy of the firewall. The application firewall is typically built to control all network traffic on any OSI layer up to the application layer. It is able to control applications or services specifically, unlike a stateful network firewall, which is - without additional software - unable to control network traffic regarding a specific application. There are two primary categories of application firewalls, network-based application firewalls and host-based application firewalls." . . "Application Layer Firewall" . "Application Firewall" . . . "Application Layer Link" . . . _:genid31 . _:genid31 . _:genid31 . _:genid31 . . . "The current configuration of an application process, stored in memory. It may have been sourced from other types of application configurations, e.g. Application Configuration Files or Application Configuration Database Records." . "Application Process Configuration" . . . "A configuration of an application which is used to apply logical or data processing functions to data processed by the application." . "Application Rule" . . . "An application shim adapts an application program to run on a version of a platform for which they were not originally created. Most commonly \"Application Shimming\" refers to use of The Windows Application Compatibility Toolkit (ACT) provides backward compatibility by simulating the behavior of older version of Windows." . "Application Shim" . . "d3f:Shim" . . . . . "Article" . . . . "A man-made object taken as a whole." . "Artifact" . . . "Asset" . . . "A digital artifact server provides access services to digital artifacts in a repository. It provides an associated set of data management, search and access methods allowing application-independent access to the content." . "Artifact Server" . . . . . _:genid32 . _:genid32 . _:genid32 . _:genid32 . _:genid33 . _:genid33 . _:genid34 . _:genid35 . _:genid35 "below" . _:genid36 . _:genid36 "exceeded" . _:genid37 . _:genid37 "met" . _:genid37 . _:genid36 _:genid37 . _:genid35 _:genid36 . _:genid34 _:genid35 . _:genid33 _:genid34 . _:genid33 . "The classification of someone or something with respect to its worth." . . "Assessment" . . . _:genid38 . _:genid38 . _:genid38 . _:genid38 . . . _:genid39 . _:genid39 . _:genid39 . _:genid39 . _:genid40 . _:genid40 . _:genid40 . _:genid40 . . . "Asymmetric keys are public and private keys, paired such that asymmetric (public-key) cryptography algorithms can be implemented using them. Public-key cryptography, or asymmetric cryptography, is any cryptographic system that uses pairs of keys: public keys that may be disseminated widely paired with private keys which are known only to the owner. There are two functions that can be achieved: using a public key to authenticate that a message originated with a holder of the paired private key; or encrypting a message with a public key to ensure that only the holder of the paired private key can decrypt it." . "Asymmetric Key" . . . . . . "Authenticate User" . . . _:genid41 . _:genid41 . _:genid41 . _:genid41 . _:genid42 . _:genid42 . _:genid42 . _:genid42 . _:genid43 . _:genid43 . _:genid43 . _:genid43 . . . _:genid44 . _:genid44 . _:genid44 . _:genid44 . . . _:genid45 . _:genid45 . _:genid45 . _:genid45 . . . _:genid46 . _:genid46 . _:genid46 . _:genid46 . . . "An authentication server provides a network service that applications use to authenticate the credentials, usually account names and passwords, of their users. When a client submits a valid set of credentials, it receives a cryptographic ticket that it can subsequently use to access various services. Major authentication algorithms include passwords, Kerberos, and public key encryption." . . "Authentication Server" . . . . . _:genid47 . _:genid47 . _:genid47 . _:genid47 . . . _:genid48 . _:genid48 . _:genid48 . _:genid48 . . . _:genid49 . _:genid49 . _:genid49 . _:genid49 . . . "An authorization service ensures that the user is authorized to have access to a particular resource. Authorization can be done through role-based access control (RBAC) or list-based access control (LBAC)." . . "Authorization Service" . . . . "A barcode reader (or barcode scanner) is an optical scanner that can read printed barcodes, decode the data contained in the barcode and send the data to a computer. Like a flatbed scanner, it consists of a light source, a lens and a light sensor translating for optical impulses into electrical signals. Additionally, nearly all barcode readers contain decoder circuitry that can analyze the barcode's image data provided by the sensor and sending the barcode's content to the scanner's output port." . . "Barcode Scanner Input Device" . "Barcode Reader" . . . "A binary large object (BLOB) is a collection of binary data stored as a single entity. Blobs are typically images, audio or other multimedia objects, though sometimes binary executable code is stored as a blob." . . "Binary Large Object" . "BLOB" . "Blob" . . . "A binary segment is a partition of binary information within a larger binary object, which arranges a set of binary objects for its purpose. For example, code, data, heap, and stack segments are segments of the binary information used by a process. Code and data segments are also found in object files." . "Binary Segment" . . . _:genid50 . _:genid50 . _:genid50 . _:genid50 . . . "A binary large object (BLOB) is a collection of binary data stored as a single entity. Blobs are typically images, audio or other multimedia objects, though sometimes binary executable code is stored as a blob. They can exist as persistent values inside some databases, or exist at runtime as program variables in some languages. The term is used in NoSQL databases, especially in key-value store databases such as Redis. The term is also used by languages that allow runtime manipulation of Blobs, like JavaScript. (en)" . . "Blob" . . . _:genid51 . _:genid51 . _:genid51 . _:genid51 . _:genid52 . _:genid52 . _:genid52 . _:genid52 . _:genid53 . _:genid53 . _:genid53 . _:genid53 . _:genid54 . _:genid54 . _:genid54 . _:genid54 . . . "Book" . "Book Reference" . . . . . "A d3f:Record which is an essential component of the early boot (system initialization) process." . "Boot Record" . . . . . _:genid55 . _:genid55 . _:genid55 . _:genid55 . . . _:genid56 . _:genid56 . _:genid56 . _:genid56 . . . _:genid57 . _:genid57 . _:genid57 . _:genid57 . . . _:genid58 . _:genid58 . _:genid58 . _:genid58 . . . "A tool that automates the process of creating a software build and the associated processes including: compiling computer source code into binary code, packaging binary code, and running automated tests." . "Build Tool" . . "Build Automation Tool" . . . "Client software to enable the process of sharing information between employees within and outside a company. Business communication encompasses topics such as marketing, brand management, customer relations, consumer behavior, advertising, public relations, corporate communication, community engagement, reputation management, interpersonal communication, employee engagement, and event management. It is closely related to the fields of professional communication and technical communication." . . "Business Communication Platform Client" . . . . . "A file containing a digital certificate issued by a certificate authority (CA). Certificate authorities store, issue, and sign digital certificates used as part of the public key infrastructure." . "CA Certificate File" . . . . . _:genid59 . _:genid59 . _:genid59 . _:genid59 . _:genid60 . _:genid60 . _:genid60 . _:genid60 . _:genid61 . _:genid61 . _:genid61 . _:genid61 . "CCI Control" . . . _:genid62 . _:genid62 . _:genid62 . _:genid62 . . . _:genid63 . _:genid63 . _:genid63 . _:genid63 . _:genid64 . _:genid64 . _:genid64 . _:genid64 . . "Capability" . . . . _:genid65 . _:genid65 . _:genid65 . _:genid65 . _:genid66 . _:genid66 . _:genid66 . _:genid66 . _:genid67 . _:genid67 . _:genid67 . _:genid67 . _:genid68 . _:genid68 . _:genid68 . _:genid68 . "Capability Assessment" . . . "A distinguishing characteristic of a capability (e.g., performance, portability, or functionality)." . "Capability Feature" . . . _:genid69 . _:genid69 . _:genid69 . _:genid69 . _:genid70 . _:genid70 . _:genid70 . _:genid70 . _:genid71 . _:genid71 . _:genid71 . _:genid71 . _:genid72 . _:genid72 . _:genid72 . _:genid72 . _:genid73 . _:genid73 . _:genid73 . _:genid73 . _:genid74 . _:genid74 . _:genid74 . _:genid74 . "Capability Feature Claim" . "Provider Claim" . . . _:genid75 . _:genid75 . _:genid75 . _:genid75 . _:genid76 . _:genid76 . _:genid76 . _:genid76 . _:genid77 . _:genid77 . _:genid77 . _:genid77 . _:genid78 . _:genid78 . _:genid78 . _:genid78 . "Capability Implementation" . . . "A catalog is a complete list of things; usually arranged systematically." . "http://wordnet-rdf.princeton.edu/id/06499734-n" . "Catalog" . . . _:genid79 . _:genid79 . _:genid79 . _:genid79 . _:genid80 . _:genid80 . _:genid80 . _:genid80 . . . . . _:genid81 . _:genid81 . _:genid81 . _:genid81 . . . _:genid82 . _:genid82 . _:genid82 . _:genid82 . . . _:genid83 . _:genid83 . _:genid83 . _:genid83 . . . _:genid84 . _:genid84 . _:genid84 . _:genid84 . . . "Client software used to describe conduct any form of synchronous conferencing, occasionally even asynchronous conferencing. The term can thus mean any technology ranging from real-time online chat and online interaction with strangers (e.g., online forums) to fully immersive graphical social environments." . . "Chatroom Client" . "Chat Room Client" . . . "A child process in computing is a process created by another process (the parent process). This technique pertains to multitasking operating systems, and is sometimes called a subprocess or traditionally a subtask. There are two major procedures for creating a child process: the fork system call (preferred in Unix-like systems and the POSIX standard) and the spawn (preferred in the modern (NT) kernel of Microsoft Windows, as well as in some historical operating systems)." . . "Child Process" . . . . _:genid85 . _:genid85 . _:genid85 . _:genid85 . . . . . "A client computer is a host that accesses a service made available by a server. The server is often (but not always) on another computer system, in which case the client accesses the service by way of a network." . . "Client Computer" . . . . . . . . . . "A request-response comprising a user credential presentation to a system and a verification response where the verifying party is a cloud service." . "Cloud Service Authentication" . . . "Cloud authorization is the function of specifying access rights to cloud resources." . "Cloud Service Authorization" . . . _:genid86 . _:genid86 . _:genid86 . _:genid86 . _:genid87 . _:genid87 . _:genid87 . _:genid87 . "Cloud Service Sensor" . . . . . . . "Code analyzers automatically analyze the composition or behavior of computer programs regarding a property such as correctness, robustness, security, and safety. Program analysis can be performed without executing the program (static program analysis), during runtime (dynamic program analysis) or in a combination of both." . "Code Analyzer" . . "Program Analysis Tool" . . . _:genid88 . _:genid88 . _:genid88 . _:genid88 . . . "Collaborative software or groupware is application software designed to help people working on a common task to attain their goals. One of the earliest definitions of groupware is \"intentional group processes plus software to support them\". Collaborative software is a broad concept that overlaps considerably with computer-supported cooperative work (CSCW). According to Carstensen and Schmidt (1999) groupware is part of CSCW. The authors claim that CSCW, and thereby groupware, addresses \"how collaborative activities and their coordination can be supported by means of computer systems.\"" . . "Collaborative Software" . . . _:genid89 . _:genid89 . _:genid89 "2"^^ . _:genid89 . . . _:genid90 . _:genid90 . _:genid90 . _:genid90 . . . . . . . . . . _:genid91 . _:genid91 . _:genid91 . _:genid91 . . . . . _:genid92 . _:genid92 . _:genid92 . _:genid92 . . . "A command-line interface or command language interpreter (CLI), also known as command-line user interface, console user interface, and character user interface (CUI), is a means of interacting with a computer program where the user (or client) issues commands to the program in the form of successive lines of text (command lines). Command-line interfaces to computer operating systems are less widely used by casual computer users, who favor graphical user interfaces. Programs with command-line interfaces are generally easier to automate via scripting." . . "Command Line Interface" . "CLI" . "CUI" . "Command-line Interface" . . . _:genid93 . _:genid93 . _:genid93 . _:genid93 . . . . . "A commonly applied series of techniques which induce a greater effect than each individual technique. The techniques are applied in a strict sequence." . "Composite Technique" . . . "A compute server is a system specifically designed to undertake large amounts of computation, usually but not necessarily in a client/server environment." . . "Computing Server" . . . "Conference Paper" . . . _:genid94 . _:genid94 . _:genid94 . _:genid94 . . . . . . "A file containing Information used to configure the parameters and initial settings for some computer programs. They are used for user applications, server processes and operating system settings." . . "Configuration File" . "Settings File" . . . _:genid95 . _:genid95 . _:genid95 . _:genid95 . . . "A database used to store configuration records throughout their lifecycle. The Configuration Management System (CMS) maintains one or more CMDBs, and each CMDB stores attributes of configuration items (CIs), and relationships with other CIs." . "https://web.archive.org/web/20111201040529/http://www.best-management-practice.com/gempdf/itil_glossary_v3_1_24.pdf" . "Configuration Management Database" . "https://dbpedia.org/resource/Configuration_management_database" . "https://wiki.en.it-processmaps.com/index.php/ITIL_Glossary/_ITIL_Terms_C#Config_Management_Database_.28CMDB.29" . "https://www.dmtf.org/standards/cmdbf" . . . . . "The connect socket system call connects the socket to a target address." . "Connect Socket" . . . . _:genid96 . _:genid96 . _:genid96 . _:genid96 . . . _:genid97 . _:genid97 . _:genid97 . _:genid97 . . . "A software build tool that creates a container (e.g., Docker container) for deployment." . "Container Build Tool" . . . . . . . "A running instance of a d3f:ContainerImage" . "Container Process" . . . _:genid98 . _:genid98 . _:genid98 . _:genid98 . . . _:genid99 . _:genid99 . _:genid99 . _:genid99 . _:genid100 . _:genid100 . _:genid100 . _:genid100 . . . _:genid101 . _:genid101 . _:genid101 . _:genid101 . _:genid102 . _:genid102 . _:genid102 . _:genid102 . "A control catalog is a complete list of protective measures for systems, organizations, or individuals for subject domains (e.g., security and privacy.)" . "Control Catalog" . . . _:genid103 . _:genid103 . _:genid103 . _:genid103 . "A control correlation identifier (CCI) catalog provides a catalog of CCIs for a given release date." . "Control Correlation Identifier Catalog" . "https://public.cyber.mil/stigs/cci/" . . . . . _:genid104 . _:genid104 . _:genid104 . _:genid104 . . . . . . . . . _:genid105 . _:genid105 . _:genid105 . _:genid105 . . . . . _:genid106 . _:genid106 . _:genid106 . _:genid106 . _:genid107 . _:genid107 . _:genid107 . _:genid107 . _:genid108 . _:genid108 . _:genid108 . _:genid108 . _:genid109 . _:genid109 . _:genid109 . _:genid109 . . . _:genid110 . _:genid110 . _:genid110 . _:genid110 . . . _:genid111 . _:genid111 . _:genid111 . _:genid111 . . . _:genid112 . _:genid112 . _:genid112 . _:genid112 . . . . . _:genid113 . _:genid113 . _:genid113 . _:genid113 . . . "In cryptography, a key is a piece of information (a parameter) that determines the functional output of a cryptographic algorithm. For encryption algorithms, a key specifies the transformation of plaintext into ciphertext, and vice versa for decryption algorithms. Keys also specify transformations in other cryptographic algorithms, such as digital signature schemes and message authentication codes." . . "Cryptographic Key" . . . . . "D3FEND Catalog Thing" . "D3FEND Vendor Registry Thing" . . . . _:genid114 . _:genid114 . _:genid114 . _:genid114 . _:genid115 . _:genid115 . _:genid115 . _:genid115 . _:genid116 . _:genid116 . _:genid116 . _:genid116 . _:genid117 . _:genid117 . _:genid117 . _:genid117 . "D3FEND Use Case" . . . "D3FEND Use Case Thing" . . . _:genid118 . _:genid118 . _:genid118 . _:genid118 . . . _:genid119 . _:genid119 . _:genid119 . _:genid119 . . . . . . . . "A Domain Name System (DNS) record is a record of information returned to clients seeking to find computers, services, and other resources connected to the Internet or a private network. Record information is stored on a domain name server so it can respond to DNS queries from clients.There are a variety of record types, depending on the client's information needs. Common types include Start of Authority, IP addresses, SMTP mail exchangers, name servers, reverse DNS lookup pointers, etc." . "DNS Record" . . . . . "A Domain Name System (DNS) name server is a kind of name server. Domain names are one of the two principal namespaces of the Internet. The most important function of DNS servers is the translation (resolution) of human-memorable domain names and hostnames into the corresponding numeric Internet Protocol (IP) addresses, the second principal name space of the Internet which is used to identify and locate computer systems and resources on the Internet. (en).\n\nMore generally, a name server is a computer application that implements a network service for providing responses to queries against a directory service. It translates an often humanly meaningful, text-based identifier to a system-internal, often numeric identification or addressing component. This service is performed by the server in response to a service protocol request." . . "DNS Server" . . . _:genid120 . _:genid120 . _:genid120 . _:genid120 . _:genid121 . _:genid121 . _:genid121 . _:genid121 . . . "A data artifact server provides access services to content in a content repository. The content repository or content store is a database of digital content with an associated set of data management, search and access methods allowing application-independent access to the content, rather like a digital library, but with the ability to store and modify content in addition to searching and retrieving. The content repository acts as the storage engine for a larger application such as a content management system or a document management system, which adds a user interface on top of the repository's application programming interface." . "Data Artifact Server" . . . . . . _:genid122 . _:genid122 . _:genid122 . _:genid122 . . . _:genid123 . _:genid123 . _:genid123 . _:genid123 . _:genid124 . _:genid124 . _:genid124 . _:genid124 . _:genid125 . _:genid125 . _:genid125 . _:genid125 . _:genid126 . _:genid126 . _:genid126 . _:genid126 . . . "A communication link between two network devices connected directly at the physical layer and on the same network segment; i.e., an OSI Layer 2 link." . "Data Link Layer Link" . "Layer-2 Link" . "Link Layer Link" . "Data Link Link" . "https://dbpedia.org/resource/Link_layer" . . . . . . . . . _:genid127 . _:genid127 . _:genid127 . _:genid127 . . . _:genid128 . _:genid128 . _:genid128 . _:genid128 . . . . . . . _:genid129 . _:genid129 . _:genid129 . _:genid129 . . . _:genid130 . _:genid130 . _:genid130 . _:genid130 . _:genid131 . _:genid131 . _:genid131 . _:genid131 . . . _:genid132 . _:genid132 . _:genid132 . _:genid132 . . . _:genid133 . _:genid133 . _:genid133 . _:genid133 . . . _:genid134 . _:genid134 . _:genid134 . _:genid134 . . . _:genid135 . _:genid135 . _:genid135 . _:genid135 . . . . . _:genid136 . _:genid136 . _:genid136 . _:genid136 . . . _:genid137 . _:genid137 . _:genid137 . _:genid137 . . . . . . . _:genid138 . _:genid138 . _:genid138 . _:genid138 . . . _:genid139 . _:genid139 . _:genid139 . _:genid139 . _:genid140 . _:genid140 . _:genid140 . _:genid140 . "a plan for attaining a particular goal" . . "Defensive Tactic" . . . . . _:genid141 . _:genid141 . _:genid141 . _:genid141 . _:genid142 . _:genid142 . _:genid142 . _:genid142 . _:genid143 . _:genid143 . _:genid143 . _:genid143 . _:genid144 . _:genid144 . _:genid144 . _:genid144 . _:genid145 . _:genid145 . _:genid145 . _:genid145 . . . _:genid146 . _:genid146 . _:genid146 . _:genid146 . _:genid147 . _:genid147 . _:genid147 . _:genid147 . _:genid148 . _:genid148 . _:genid148 . _:genid148 . _:genid149 . _:genid149 . _:genid150 . _:genid151 . _:genid151 "0" . _:genid152 . _:genid152 "1" . _:genid153 . _:genid153 "2" . _:genid154 . _:genid154 "3" . _:genid154 . _:genid153 _:genid154 . _:genid152 _:genid153 . _:genid151 _:genid152 . _:genid150 _:genid151 . _:genid149 _:genid150 . _:genid149 . _:genid155 . _:genid155 . _:genid156 . _:genid157 . _:genid157 "Deceive" . _:genid158 . _:genid158 "Detect" . _:genid159 . _:genid159 "Evict" . _:genid160 . _:genid160 "Harden" . _:genid161 . _:genid161 "Isolate" . _:genid161 . _:genid160 _:genid161 . _:genid159 _:genid160 . _:genid158 _:genid159 . _:genid157 _:genid158 . _:genid156 _:genid157 . _:genid155 _:genid156 . _:genid155 . _:genid162 . _:genid162 . _:genid162 "1"^^ . _:genid162 . _:genid163 . _:genid163 . _:genid163 "1"^^ . _:genid163 . _:genid163 . "Assessing how well a capability implementation's capability feature functions as a countermeasure." . "Defensive Technique Assessment" . . . _:genid164 . _:genid164 . _:genid164 . _:genid164 . _:genid165 . _:genid165 . _:genid165 . _:genid165 . "Defensive Technique Claim" . "Countermeasure Claim" . . . _:genid166 . _:genid166 . _:genid166 . _:genid166 . _:genid167 . _:genid167 . _:genid167 . _:genid167 . . . "A desktop computer is a personal computer designed for regular use at a single location on or near a desk or table due to its size and power requirements. The most common configuration has a case that houses the power supply, motherboard (a printed circuit board with a microprocessor as the central processing unit (CPU), memory, bus, and other electronic components, disk storage (usually one or more hard disk drives, solid state drives, optical disc drives, and in early models a floppy disk drive); a keyboard and mouse for input; and a computer monitor, speakers, and, often, a printer for output. The case may be oriented horizontally or vertically and placed either underneath, beside, or on top of a desk." . . "Desktop Computer" . . . . . "An application used to develop computer software including applications used for software construction, analysis, testing, packaging, or management." . "Developer Application" . . . . . "A dial-up modem transmits computer data over an ordinary switched telephone line that has not been designed for data use. This contrasts with leased line modems, which also operate over lines provided by a telephone company, but ones which are intended for data use and do not impose the same signaling constraints. The modulated data must fit the frequency constraints of a normal voice audio signal, and the modem must be able to perform the actions needed to connect a call through a telephone exchange, namely: picking up the line, dialing, understanding signals sent back by phone company equipment (dial tone, ringing, busy signal,) and on the far end of the call, the second modem in the connection must be able to recognize the incoming ring signal and answer the line." . . "Dial Up Modem" . . . . . . "Digital Event" . . . "A digital object is the top-level class for an object that exists in a digital environment. The digital object may be virtual or physical." . "Digital Object" . . . . . . . . _:genid168 . _:genid168 . _:genid168 . _:genid168 . . . . . . . _:genid169 . _:genid169 . _:genid169 . _:genid169 . . . _:genid170 . _:genid170 . _:genid170 . _:genid170 . . . . . _:genid171 . _:genid171 . _:genid171 . _:genid171 . . . . . "A document is a written, drawn, presented or recorded representation of thoughts." . "Document" . . . _:genid172 . _:genid172 . _:genid172 . _:genid172 . . . _:genid173 . _:genid173 . _:genid173 . _:genid173 . . . _:genid174 . _:genid174 . _:genid174 . _:genid174 . . . _:genid175 . _:genid175 . _:genid175 . _:genid175 . . . _:genid176 . _:genid176 . _:genid176 . _:genid176 . . . _:genid177 . _:genid177 . _:genid177 . _:genid177 . _:genid178 . _:genid178 . _:genid178 . _:genid178 . . . . . _:genid179 . _:genid179 . _:genid179 . _:genid179 . . . _:genid180 . _:genid180 . _:genid180 . _:genid180 . _:genid181 . _:genid181 . _:genid181 . _:genid181 . . . "Dynamic program analysis is the analysis of computer software that is performed by executing programs on a real or virtual processor." . . "Dynamic Analysis Tool" . . . _:genid182 . _:genid182 . _:genid182 . _:genid182 . _:genid183 . _:genid183 . _:genid183 . _:genid183 . . . _:genid184 . _:genid184 . _:genid184 . _:genid184 . . . . . "An embedded computer is a computer system -- a combination of a computer processor, computer memory, and input/output peripheral devices-that has a dedicated function within a larger mechanical or electrical system. It is embedded as part of a complete device often including electrical or electronic hardware and mechanical parts. Because an embedded system typically controls physical operations of the machine that it is embedded within, it often has real-time computing constraints. Embedded systems control many devices in common use today. Ninety-eight percent of all microprocessors manufactured are used in embedded systems." . . "Embedded Computer" . "Embedded System" . . . _:genid185 . _:genid185 . _:genid185 . _:genid185 . _:genid186 . _:genid186 . _:genid186 . _:genid186 . . . _:genid187 . _:genid187 . _:genid187 . _:genid187 . . . . . . "Encrypted Password" . . . _:genid188 . _:genid188 . _:genid188 . _:genid188 . . . . . . . . . . . "Eviction Latency" . . . "An exception handler is a code segment that processes an exception." . "Exception Handler" . . . . _:genid189 . _:genid189 . _:genid189 . _:genid189 . . . _:genid190 . _:genid190 . _:genid190 . _:genid190 . _:genid191 . _:genid191 . _:genid191 . _:genid191 . . . _:genid192 . _:genid192 . _:genid192 . _:genid192 . _:genid193 . _:genid193 . _:genid193 . _:genid193 . _:genid194 . _:genid194 . _:genid194 . _:genid194 . . . _:genid195 . _:genid195 . _:genid195 . _:genid195 . _:genid196 . _:genid196 . _:genid196 . _:genid196 . . . . . . . . . _:genid197 . _:genid197 . _:genid197 . _:genid197 . . . _:genid198 . _:genid198 . _:genid198 . _:genid198 . . . . . _:genid199 . _:genid199 . _:genid199 . _:genid199 . . . _:genid200 . _:genid200 . _:genid200 . _:genid200 . _:genid201 . _:genid201 . _:genid201 . _:genid201 . "External Control" . . . . "External Knowledge Base" . "External Knowledge Base" . . . . . "Fast symbolic links, allow storage of the target path within the data structures used for storing file information on disk (e.g., within the inodes). This space normally stores a list of disk block addresses allocated to a file. Thus, symlinks with short target paths are accessed quickly. Systems with fast symlinks often fall back to using the original method if the target path exceeds the available inode space." . . "Fast Symbolic Link" . . "Fast Symlink" . . . "Feature Assessment" . . . _:genid202 . _:genid202 . _:genid202 . _:genid202 . _:genid203 . _:genid203 . _:genid203 . _:genid203 . _:genid204 . _:genid204 . _:genid204 . _:genid204 . . . _:genid205 . _:genid205 . _:genid205 . _:genid205 . . . _:genid206 . _:genid206 . _:genid206 . _:genid206 . _:genid207 . _:genid207 . _:genid207 . _:genid207 . . . _:genid208 . _:genid208 . _:genid208 . _:genid208 . . . . . _:genid209 . _:genid209 . _:genid209 . _:genid209 . . . _:genid210 . _:genid210 . _:genid210 . _:genid210 . . . _:genid211 . _:genid211 . _:genid211 . _:genid211 . . . _:genid212 . _:genid212 . _:genid212 . _:genid212 . . . . . . . "The term server highlights the role of the machine in the traditional client-server scheme, where the clients are the workstations using the storage. A file server does not normally perform computational tasks or run programs on behalf of its client workstations. File servers are commonly found in schools and offices, where users use a local area network to connect their client computers." . . "File Server" . . . "A file sharing service (or file share service) provides the ability to share data across a network." . "File Share Service" . . . . _:genid213 . _:genid213 . _:genid213 . _:genid213 . _:genid214 . _:genid214 . _:genid214 . _:genid214 . _:genid215 . _:genid215 . _:genid215 . _:genid215 . _:genid216 . _:genid216 . _:genid216 . _:genid216 . . . . . . . _:genid217 . _:genid217 . _:genid217 . _:genid217 . "File System Sensor" . . . . . "A fingerprint sensor is an electronic device used to capture a digital image of the fingerprint pattern. The captured image is called a live scan. This live scan is digitally processed to create a biometric template (a collection of extracted features) which is stored and used for matching. Many technologies have been used including optical, capacitive, RF, thermal, piezoresistive, ultrasonic, piezoelectric, and MEMS." . . "Finger Print Scanner Input Device" . "Fingerprint Sensor" . . . "In computing, a firewall is a network security system that monitors and controls incoming and outgoing network traffic based on predetermined security rules. A firewall typically establishes a barrier between a trusted internal network and untrusted external network, such as the Internet. Firewalls are often categorized as either network firewalls or host-based firewalls. Network firewalls filter traffic between two or more networks and run on network hardware. Host-based firewalls run on host computers and control network traffic in and out of those machines. This definition refers to network firewalls." . "Firewall" . . "Network Firewall" . . . . . _:genid218 . _:genid218 . _:genid218 . _:genid218 . . . _:genid219 . _:genid219 . _:genid219 . _:genid219 . . . _:genid220 . _:genid220 . _:genid220 . _:genid220 . "Firmware Sensor" . . . _:genid221 . _:genid221 . _:genid221 . _:genid221 . . . "The very first routine run in order to load the operating system." . "First-stage Boot Loader" . . . "An forward (or open) proxy is a proxy server that is accessible by any Internet user. Generally, a proxy server only allows users within a network group (i.e. a closed proxy) to store and forward Internet services such as DNS or web pages to reduce and control the bandwidth used by the group. With an open proxy, however, any user on the Internet is able to use this forwarding service." . . "Forward Proxy Server" . . . _:genid222 . _:genid222 . _:genid222 . _:genid222 . . . _:genid223 . _:genid223 . _:genid223 . _:genid223 . . . . . . . . . . . . . . . . . . . . . "Firmware that is installed on computer graphics card." . "Graphics Card Firmware" . "d3f:Firmware" . "Video Card Firmware" . . . . . "Guidance" . . . "Guideline" . "Guideline Reference" . . . "A document file encoded in HTML.The HyperText Markup Language, or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScript. Web browsers receive HTML documents from a web server or from local storage and render the documents into multimedia web pages. HTML describes the structure of a web page semantically and originally included cues for the appearance of the document." . "HTML File" . . "HTML File" . . . "Firmware that is installed on a hard disk device." . "Hard Disk Firmware" . . "Hard Drive Firmware" . . . "In computing, a hard link is a directory entry that associates a name with a file on a file system. All directory-based file systems must have at least one hard link giving the original name for each file. The term \"hard link\" is usually only used in file systems that allow more than one hard link for the same file. Multiple hard links -- that is, multiple directory entries to the same file -- are supported by POSIX-compliant and partially POSIX-compliant operating systems, such as Linux, Android, macOS, and also Windows NT4 and later Windows NT operating systems." . . "Hard Link" . . . . . _:genid224 . _:genid224 . _:genid224 . _:genid224 . _:genid225 . _:genid225 . _:genid225 . _:genid225 . . . _:genid226 . _:genid226 . _:genid226 . _:genid226 . . . . . . _:genid227 . _:genid227 . _:genid227 . _:genid227 . . . "The heap segment (or free store) is a large pool of memory from which dynamic memory requests of a process are allocated and satisfied." . "Heap Segment" . . . . . . . . _:genid228 . _:genid228 . _:genid228 . _:genid228 . _:genid229 . _:genid229 . _:genid229 . _:genid229 . . . _:genid230 . _:genid230 . _:genid230 . _:genid230 . _:genid231 . _:genid231 . _:genid231 . _:genid231 . _:genid232 . _:genid232 . _:genid232 . _:genid232 . . . . . _:genid233 . _:genid233 . _:genid233 . _:genid233 . _:genid234 . _:genid234 . _:genid234 . _:genid234 . "Host Configuration Sensor" . . . _:genid235 . _:genid235 . _:genid235 . _:genid235 . . . "Firmware that is installed on an HCI device such as a mouse or keyboard." . "Human Input Device Firmware" . . . . . _:genid236 . _:genid236 . _:genid236 . _:genid236 . _:genid237 . _:genid237 . _:genid237 . _:genid237 . . . _:genid238 . _:genid238 . _:genid238 . _:genid238 . . . "IPC network traffic is network traffic related to inter-process communication (IPC) between network nodes..This includes only network traffic conforming to a standard IPC protocol; not custom protocols." . "IPC Network Traffic" . . . _:genid239 . _:genid239 . _:genid239 . _:genid239 . . . "A VoIP phone or IP phone uses voice over IP technologies for placing and transmitting telephone calls over an IP network, such as the Internet, instead of the traditional public switched telephone network (PSTN). Digital IP-based telephone service uses control protocols such as the Session Initiation Protocol (SIP), Skinny Client Control Protocol (SCCP) or various other proprietary protocols." . . "IP Phone" . "VoIP Phone" . . . _:genid240 . _:genid240 . _:genid240 . _:genid240 . . . . . _:genid241 . _:genid241 . _:genid241 . _:genid241 . . . . . _:genid242 . _:genid242 . _:genid242 . _:genid242 . . . . . "An image scanner -- often abbreviated to just scanner, is a device that optically scans images, printed text, handwriting or an object and converts it to a digital image. Commonly used in offices are variations of the desktop flatbed scanner where the document is placed on a glass window for scanning. Hand-held scanners, where the device is moved by hand, have evolved from text scanning \"wands\" to 3D scanners used for industrial design, reverse engineering, test and measurement, orthotics, gaming and other applications. Mechanically driven scanners that move the document are typically used for large-format documents, where a flatbed design would be impractical." . . "Image Scanner Input Device" . "Scanner" . . . . "Image segments are distinct partitions of an object file. Both data and code segments are examples of image segments." . "Image Segment" . . "Object File" . . . . . _:genid243 . _:genid243 . _:genid243 . _:genid243 . . . . . . . . . . . . . . _:genid244 . _:genid244 . _:genid244 . _:genid244 . . . . . _:genid245 . _:genid245 . _:genid245 . _:genid245 . . . _:genid246 . _:genid246 . _:genid246 . _:genid246 . . . . . _:genid247 . _:genid247 . _:genid247 . _:genid247 . "BFO, Cyc equiv, SUMO equiv, [Ontology Works] equiv" . "Information Content Entity" . . . "An init script (or initialization script) is an executable script that initializes the an application, a process, or a service's state. Examples include scripts run at boot by Unix or Windows, or those run to initialize a shell." . "Init Script" . . . "Initialization Script" . . . . . _:genid248 . _:genid248 . _:genid248 . _:genid248 . . . . . . _:genid249 . _:genid249 . _:genid249 . _:genid249 . . . "Client software used to engage in Instant Messaging, a type of online chat that offers real-time text transmission over the Internet. A LAN messenger operates in a similar way over a local area network. Short messages are typically transmitted between two parties, when each user chooses to complete a thought and select \"send\". Some IM applications can use push technology to provide real-time text, which transmits messages character by character, as they are composed. More advanced instant messaging can add file transfer, clickable hyperlinks, Voice over IP, or video chat." . . "Instant Messaging Client" . . . _:genid250 . _:genid250 . _:genid250 . _:genid250 . . . "An integration test execution tool automatically performs integration testing. Integration testing (sometimes called integration and testing, abbreviated I&T) is the phase in software testing in which individual software modules are combined and tested as a group." . "Integration Test Execution Tool" . . . . . . "Internet Article" . "Internet Article Reference" . "Internet Blog Reference" . . . "An internet Domain Name System (DNS) lookup is a DNS lookup made from a host on a network that is resolved after querying a DNS name server hosted on a different network." . "Internet DNS Lookup" . . . . . "Internet file transfer network traffic is network traffic related to file transfers between network nodes that crosses a boundary between networks. This includes only network traffic conforming to standard file transfer protocols, not custom transfer protocols." . "Internet File Transfer Traffic" . . . "A network of multiple, connected networks. Internetworking is the practice of connecting a computer network with other networks through the use of gateways that provide a common method of routing information packets between the networks. The resulting system of interconnected networks are called an internetwork, or simply an internet. Internetworking is a combination of the words inter (\"between\") and networking; not internet-working or international-network." . . "Internet Network" . "Interconnected Network" . "Internet" . "Internetwork" . . . . . . . . . . "An Intranet Domain Name System (DNS) lookup is a DNS lookup made from a host on a network that is resolved after querying a DNS name server hosted on a that same network." . "Intranet DNS Lookup" . . . . . . . . _:genid251 . _:genid251 . _:genid251 . _:genid251 . . . . . . . . . . "Intranet RPC network traffic is network traffic that does not cross a given network's boundaries and uses a standard remote procedure call (e.g., RFC 1050) protocol." . "Intranet RPC Network Traffic" . . . . . . _:genid252 . _:genid252 . _:genid252 . _:genid252 . . . "An intrusion detection system (IDS) is a device or software application that monitors a network or systems for malicious activity or policy violations. Any intrusion activity or violation is typically reported either to an administrator or collected centrally using a security information and event management (SIEM) system. A SIEM system combines outputs from multiple sources and uses alarm filtering techniques to distinguish malicious activity from false alarms." . . "Intrusion Detection System" . "IDS" . . . "Intrusion prevention systems (IPS), also known as intrusion detection and prevention systems (IDPS), are network security appliances that monitor network or system activities for malicious activity. The main functions of intrusion prevention systems are to identify malicious activity, log information about this activity, report it and attempt to block or stop it.\n\nIntrusion prevention systems are considered extensions of intrusion detection systems because they both monitor network traffic and/or system activities for malicious activity. The main differences are, unlike intrusion detection systems, intrusion prevention systems are placed in-line and are able to actively prevent or block intrusions that are detected. IPS can take such actions as sending an alarm, dropping detected malicious packets, resetting a connection or blocking traffic from the offending IP address. An IPS also can correct cyclic redundancy check (CRC) errors, defragment packet streams, mitigate TCP sequencing issues, and clean up unwanted transport and network layer options." . . "Intrusion Prevention System" . . "IDPS" . "IPS" . "Intrusion Detection and Prevention System" . . . . . . . _:genid253 . _:genid253 . _:genid253 . _:genid253 . . . "Journal Article" . . . . . "A Kerberos ticket-granting service (TGS) ticket is given in response to requesting a Kerberos TGS request." . "Kerberos Ticket Granting Service Ticket" . "TGS Ticket" . . . . . . _:genid254 . _:genid254 . _:genid254 . _:genid254 . _:genid255 . _:genid255 . _:genid255 . _:genid255 . _:genid256 . _:genid256 . _:genid256 . _:genid256 . _:genid257 . _:genid257 . _:genid257 . _:genid257 . _:genid258 . _:genid258 . _:genid258 . _:genid258 . _:genid259 . _:genid259 . _:genid259 . _:genid259 . . . . . _:genid260 . _:genid260 . _:genid260 . _:genid260 . "Kernel API Sensor" . . . . . . . . . "An interactive kiosk is a computer terminal featuring specialized hardware and software that provides access to information and applications for communication, commerce, entertainment, or education. Early interactive kiosks sometimes resembled telephone booths, but have been embraced by retail, food service and hospitality to improve customer service and streamline operations. Interactive kiosks are typically placed in high foot traffic settings such as shops, hotel lobbies or airports." . . "Kiosk Computer" . "Interactive Kiosk" . . . "A laptop computer (also laptop), is a small, portable personal computer (PC) with a \"clamshell\" form factor, typically having a thin LCD or LED computer screen mounted on the inside of the upper lid of the clamshell and an alphanumeric keyboard on the inside of the lower lid. The clamshell is opened up to use the computer. Laptops are folded shut for transportation, and thus are suitable for mobile use. Its name comes from lap, as it was deemed to be placed on a person's lap when being used. Although originally there was a distinction between laptops and notebooks (the former being bigger and heavier than the latter), as of 2014, there is often no longer any difference. Today, laptops are commonly used in a variety of settings, such as at work, in education, for playing games, web browsing" . . "Laptop Computer" . "Laptop" . "Notebook" . . . "Latency" . . . . . _:genid261 . _:genid261 . _:genid261 . _:genid261 . . . . . "License" . "http://dbpedia.org/resource/Software_license" . . . "Link" . "https://dbpedia.org/resource/Link" . . . _:genid262 . _:genid262 . _:genid262 . _:genid262 . . . _:genid263 . _:genid263 . _:genid263 . _:genid263 . . . . . . "A local authentication service running on a host can authenticate a user logged into just that local host computer." . "Local Authentication Service" . . . . "A local authorization service running on a host can authorize a user logged into just that local host computer." . "Local Authorization Service" . . . _:genid264 . _:genid264 . _:genid264 . _:genid264 . _:genid265 . _:genid265 . _:genid265 . _:genid265 . . . . . _:genid266 . _:genid266 . _:genid266 . _:genid266 . . . . . . . _:genid267 . _:genid267 . _:genid267 . _:genid267 . . . . . _:genid268 . _:genid268 . _:genid268 . _:genid268 . _:genid269 . _:genid269 . _:genid269 . _:genid269 . _:genid270 . _:genid270 . _:genid270 . _:genid270 . . . . . "Logon User" . . . . . _:genid271 . _:genid271 . _:genid271 . _:genid271 . . . . . "A mail service provides the ability to send and receive mail across a computer network. The mail service runs on message transfer agents (i.e., mail servers) and is accessed by users through an email client." . "Mail Service" . . . "Email Service" . . . _:genid272 . _:genid272 . _:genid272 . _:genid272 . _:genid273 . _:genid273 . _:genid273 . _:genid273 . . . "A media server is a computer appliance or an application software that stores digital media (video, audio or images) and makes it available over a network. Media servers range from servers that provide video on demand to smaller personal computers or NAS (Network Attached Storage) for the home." . . "Media Server" . . . _:genid274 . _:genid274 . _:genid274 . _:genid274 . . . _:genid275 . _:genid275 . _:genid275 . _:genid275 . . . _:genid276 . _:genid276 . _:genid276 . _:genid276 . . . _:genid277 . _:genid277 . _:genid277 . _:genid277 . . . _:genid278 . _:genid278 . _:genid278 . _:genid278 . . . . . "Metadata is \"data [information] that provides information about other data\". Three distinct types of metadata exist: structural metadata, descriptive metadata, and administrative metadata. Structural metadata is data about the containers of data. For instance a \"book\" contains data, and data about the book is metadata about that container of data. Descriptive metadata uses individual instances of application data or the data content." . . "Metadata" . . . "Microcode is a computer hardware technique that interposes a layer of organization between the CPU hardware and the programmer-visible instruction set architecture of the computer. As such, the microcode is a layer of hardware-level instructions that implement higher-level machine code instructions or internal state machine sequencing in many digital processing elements." . . "Microcode" . . . "A mobile phone, cellular phone, cell phone, cellphone or hand phone, sometimes shortened to simply mobile, cell or just phone, is a portable telephone that can make and receive calls over a radio frequency link while the user is moving within a telephone service area. The radio frequency link establishes a connection to the switching systems of a mobile phone operator, which provides access to the public switched telephone network (PSTN). Modern mobile telephone services use a cellular network architecture and, therefore, mobile telephones are called cellular telephones or cell phones in North America. In addition to telephony, digital mobile phones (2G) support a variety of other services, such as text messaging, MMS, email, Internet access, short-range wireless communications (infrared," . . "Mobile Phone" . "Cellphone" . "Cellular Phone" . . . . . "A modem -- a portmanteau of \"modulator-demodulator\" -- is a hardware device that converts data into a format suitable for a transmission medium so that it can be transmitted from one computer to another (historically along telephone wires). A modem modulates one or more carrier wave signals to encode digital information for transmission and demodulates signals to decode the transmitted information. The goal is to produce a signal that can be transmitted easily and decoded reliably to reproduce the original digital data. Modems can be used with almost any means of transmitting analog signals from light-emitting diodes to radio. A common type of modem is one that turns the digital data of a computer into modulated electrical signal for transmission over telephone lines and demodulated by another modem at the receiver side to recover the digital data." . . "Modem" . . . "the act of observing something (and sometimes keeping a record of it)" . . "Monitoring" . . . "A computer mouse (plural mice or mouses) is a hand-held pointing device that detects two-dimensional motion relative to a surface. This motion is typically translated into the motion of a pointer on a display, which allows a smooth control of the graphical user interface of a computer. In addition to moving a cursor, computer mice have one or more buttons to allow operations such as selection of a menu item on a display. Mice often also feature other elements, such as touch surfaces and scroll wheels, which enable additional control and dimensional input." . . "Mouse Input Device" . . "Computer Mouse" . . . _:genid279 . _:genid279 . _:genid279 . _:genid279 . . . _:genid280 . _:genid280 . _:genid280 . _:genid280 . . . . . _:genid281 . _:genid281 . _:genid281 . _:genid281 . "NIST Control" . . . _:genid282 . _:genid282 . _:genid282 . _:genid282 . "A NIST SP 800-53 control catalog provides the entire set of security and privacy controls for a version of NIST SP 800-53." . "NIST SP 800-53 Control Catalog" . "https://doi.org/10.6028/NIST.SP.800-53r5" . . . . "An NTFS hard link points to another file, and files share the same MFT entry (inode), in the same filesystem." . . "NTFS Hard Link" . . . . . "NTFS junction points are are similar to NTFS symlinks but are defined only for directories. Only accepts local absolute paths." . . "NTFS Junction Point" . "Junction Point" . . . . "The NTFS filesystem defines various ways to link files, i.e. to make a file point to another file or its contents. The object being pointed to is called the target. There are three classes of NTFS links: (a) Hard links, which have files share the same MFT entry (inode), in the same filesystem; (b) Symbolic links, which record the path of another file that the links contents should show and can accept relative paths; and (c) Junction points, which are similar to symlinks but defined only for directories and only accepts local absolute paths" . "NTFS Link" . . . . "An NTFS symbolic link records the path of another file that the links contents should show. Can accept relative paths. SMB networking (UNC path) and directory support added in NTFS 3.1." . . "NTFS Symbolic Link" . "NTFS Symlink" . . . . . "Firmware that is installed on a network card (network interface controller)." . "Network Card Firmware" . . "Network Controller Firmware" . . . _:genid283 . _:genid283 . _:genid283 . _:genid283 . . . _:genid284 . _:genid284 . _:genid284 . _:genid284 . . . . . _:genid285 . _:genid285 . _:genid285 . _:genid285 . . . _:genid286 . _:genid286 . _:genid286 . _:genid286 . "Network Flow Sensor" . . . . . . _:genid287 . _:genid287 . _:genid287 . _:genid287 . . . "A network link is a link within the network layer, which is responsible for packet forwarding including routing through intermediate routers." . "Layer-3 Link" . "Network Layer Link" . "Network Link" . "https://dbpedia.org/resource/Network_layer" . "https://www.techtarget.com/searchnetworking/definition/Network-layer" . . . _:genid288 . _:genid288 . _:genid288 . _:genid288 . . . _:genid289 . _:genid289 . _:genid289 . _:genid289 . . . _:genid290 . _:genid290 . _:genid290 . _:genid290 . . . . . "In computing, a network printer is a device that can be accessed over a network which makes a persistent representation of graphics or text, usually on paper. While most output is human-readable, bar code printers are an example of an expanded use for printers. The different types of printers include 3D printer, inkjet printer, laser printer, thermal printer, etc. Note that not all printers are networked and the digital information to be printed must be passed either by removable media or as directly connecting the printer to a computer (e.g., by USB.)" . . "Network Printer" . . . _:genid291 . _:genid291 . _:genid291 . _:genid291 . "Network Protocol Analyzer" . . . . . _:genid292 . _:genid292 . _:genid292 . _:genid292 . _:genid293 . _:genid293 . _:genid293 . _:genid293 . . . "Network Sensor" . . . "In computer networking, a network service is an application running at the network application layer and above, that provides data storage, manipulation, presentation, communication or other capability which is often implemented using a client-server or peer-to-peer architecture based on application layer network protocols. Clients and servers will often have a user interface, and sometimes other hardware associated with it." . . "Network Service" . . . _:genid294 . _:genid294 . _:genid294 . _:genid294 . . . _:genid295 . _:genid295 . _:genid295 . _:genid295 . _:genid296 . _:genid296 . _:genid296 . _:genid296 . . . _:genid297 . _:genid297 . _:genid297 . _:genid297 . . . _:genid298 . _:genid298 . _:genid298 . _:genid298 . . . _:genid299 . _:genid299 . _:genid299 . _:genid299 . . . _:genid300 . _:genid300 . _:genid300 . _:genid300 . _:genid301 . _:genid301 . _:genid301 . _:genid301 . . . _:genid302 . _:genid302 . _:genid302 . _:genid302 . _:genid303 . _:genid303 . _:genid303 . _:genid303 . . . "News Article" . . . . . _:genid304 . _:genid304 . _:genid304 . _:genid304 . _:genid305 . _:genid305 . _:genid305 . _:genid305 . "Per ATT&CK, these are defined as Tactical Goals, not Tactics per se. Many children also fit definition of tactics. Some are neither tactics or tactical goals really (e.g., Execution, which is a useful grouping, but an action, not really a tactic or technique." . . "Offensive Tactic" . . . . _:genid306 . _:genid306 . _:genid306 . _:genid306 . _:genid307 . _:genid307 . _:genid307 . _:genid307 . . "Offensive Technique" . . . . . . . _:genid308 . _:genid308 . _:genid308 . _:genid308 . _:genid309 . _:genid309 . _:genid309 . _:genid309 . . . "Open-source Developer" . . . "For most file systems, a program initializes access to a file in a file system using the open system call. This allocates resources associated to the file (the file descriptor), and returns a handle that the process will use to refer to that file. In some cases the open is performed by the first access. During the open, the filesystem may allocate memory for buffers, or it may wait until the first operation. Various other errors which may occur during the open include directory update failures, un-permitted multiple connections, media failures, communication link failures and device failures." . . "Open File" . . . "Open Source License" . . . _:genid310 . _:genid310 . _:genid310 . _:genid310 . _:genid311 . _:genid311 . _:genid311 . _:genid311 . _:genid312 . _:genid312 . _:genid312 . _:genid312 . . . "Information used to configure the services, parameters, and initial settings for an operating system." . "Operating System Configuration" . . . . . . . . . . . . . . . . . "A software packaging tool oriented on building a software package for a particular operating system (e.g. rpmbuild.)" . "Operating System Packaging Tool" . . . . . . . . _:genid313 . _:genid313 . _:genid313 . _:genid313 . . . _:genid314 . _:genid314 . _:genid314 . _:genid314 . _:genid315 . _:genid315 . _:genid315 . _:genid315 . . . _:genid316 . _:genid316 . _:genid316 . _:genid316 . _:genid317 . _:genid317 . _:genid317 . _:genid317 . . . "Mainframe computers or mainframes (colloquially referred to as \"big iron\") are computers used primarily by large organizations for critical applications; bulk data processing, such as census, industry and consumer statistics, and enterprise resource planning; and transaction processing. They are larger and have more processing power than some other classes of computers: minicomputers, servers, workstations, and personal computers." . . "Operations Center Computer" . . "Mainframe" . . . "A modem that connects to a fiber optic network is known as an optical network terminal (ONT) or optical network unit (ONU). These are commonly used in fiber to the home installations, installed inside or outside a house to convert the optical medium to a copper Ethernet interface, after which a router or gateway is often installed to perform authentication, routing, NAT, and other typical consumer internet functions, in addition to \"triple play\" features such as telephony and television service." . . "Optical Modem" . . . _:genid318 . _:genid318 . _:genid318 . _:genid318 . . . "A d3f:Server which is involved with the orchestration of workloads or the execution of orchestrated workloads." . "Orchestration Server" . . . . "A d3f:Server which receives commands from a d3f:OrchestrationController to execute workloads." . "Orchestration Worker" . "d3f:OrchestrationController" . . . _:genid319 . _:genid319 . _:genid319 . _:genid319 . . . _:genid320 . _:genid320 . _:genid320 . _:genid320 . _:genid321 . _:genid321 . _:genid321 . _:genid321 . _:genid322 . _:genid322 . _:genid322 . _:genid322 . _:genid323 . _:genid323 . _:genid323 . _:genid323 . . . . . . . _:genid324 . _:genid324 . _:genid324 . _:genid324 . . . . . . . . . . . . _:genid325 . _:genid325 . _:genid325 . _:genid325 . . . . . . . . . . "Outbound internet RPC traffic is RPC traffic that is: (a) on an outgoing connection initiated from a host within a network to a host outside the network, and (b) using a standard RPC protocol." . "Outbound Internet RPC Traffic" . . . . . . _:genid326 . _:genid326 . _:genid326 . _:genid326 . . . . . _:genid327 . _:genid327 . _:genid327 . _:genid327 . . . "An output device is any piece of computer hardware equipment which converts information into human-readable form. It can be text, graphics, tactile, audio, and video. Some of the output devices are Visual Display Units (VDU) i.e. a Monitor, Printer, Graphic Output devices, Plotters, Speakers etc. A new type of Output device is been developed these days, known as Speech synthesizer, a mechanism attached to the computer which produces verbal output sounding almost like human speeches." . . "Output Device" . . . . "A POSIX-compliant symbolic link. These are often fast symbolic links, but need not be." . . "POSIX Symbolic Link" . . . _:genid328 . _:genid328 . _:genid328 . _:genid328 . . . "In computing, a parent process is a process that has created one or more child processes." . . "Parent Process" . . . . . . _:genid329 . _:genid329 . _:genid329 . _:genid329 . . . . . . . . . . . "A password database is a database that holds passwords for user accounts and is usually encrypted (i.e.., the passwords are hashed). Password databases are found supporting system services (such as SAM) or part of user applications such as password managers." . "Password Database" . . . . . . "A password manager is a software application or hardware that helps a user store and organize passwords. Password managers usually store passwords encrypted, requiring the user to create a master password: a single, ideally very strong password which grants the user access to their entire password database. Some password managers store passwords on the user's computer (called offline password managers), whereas others store data in the provider's cloud (often called online password managers). However offline password managers also offer data storage in the user's own cloud accounts rather than the provider's cloud. While the core functionality of a password manager is to securely store large collections of passwords, many provide additional features such as form filling and password generation." . . "Password Manager" . . . . . . . "Patent" . "Patent Reference" . . . _:genid330 . _:genid330 . _:genid330 . _:genid330 . . . . . _:genid331 . _:genid331 . _:genid331 . _:genid331 . . . "Firmware that is installed on peripheral hub device such as a USB or Firewire hub." . "Peripheral Hub Firmware" . . "USB Hub Firmware" . . . . . _:genid332 . _:genid332 . _:genid332 . _:genid332 . . . _:genid333 . _:genid333 . _:genid333 . _:genid333 . . . "A personal computer (PC) is a multi-purpose computer whose size, capabilities, and price make it feasible for individual use. Personal computers are intended to be operated directly by an end user, rather than by a computer expert or technician. Unlike large, costly minicomputers and mainframes, time-sharing by many people at the same time is not used with personal computers. PCs have in practice become powerful enough that they may be shared by multiple users at any given time, though this is not common practice nor the primary purpose of a PC." . . "Personal Computer" . . . . "Physical Artifact" . . . . . _:genid334 . _:genid334 . _:genid334 . _:genid334 . _:genid335 . _:genid335 . _:genid335 . _:genid335 . . . . . _:genid336 . _:genid336 . _:genid336 . _:genid336 . "Physical Object" . . . "In Unix-like computer operating systems, a pipeline is a mechanism for inter-process communication using message passing. In the strictest sense, a pipe is a single segment of a pipeline, allowing one process to pass information forward to another. Network pipes allow processes on different hosts to interact." . . "Pipe" . . "Pipeline" . . . _:genid337 . _:genid337 . _:genid337 . _:genid337 . _:genid338 . _:genid338 . _:genid338 . _:genid338 . _:genid339 . _:genid339 . _:genid339 . _:genid339 . . . _:genid340 . _:genid340 . _:genid340 . _:genid340 . . . _:genid341 . _:genid341 . _:genid341 . _:genid341 . . . . . _:genid342 . _:genid342 . _:genid342 . _:genid342 . . . "Policy" . . . "Policy" . "Policy Reference" . . . _:genid343 . _:genid343 . _:genid343 . _:genid343 . "Portfolio Assessment" . . . . . "A print server, or printer server, is a device that connects printers to client computers over a network. It accepts print jobs from the computers and sends the jobs to the appropriate printers, queuing the jobs locally to accommodate the fact that work may arrive more quickly than the printer can actually handle." . . "Print Server" . . . . . . . _:genid344 . _:genid344 . _:genid344 . _:genid344 . . . "A privileged account is a user account that has more privileges than ordinary users. Privileged accounts might, for example, be able to install or remove software, upgrade the operating system, or modify system or application configurations. They might also have access to files that are not normally accessible to standard users. Typical examples are root and administrator accounts. But there also service accounts, system accounts, etc. Privileged accounts are especially powerful, and should be monitored especially closely." . . "Privileged User Account" . . . . _:genid345 . _:genid345 . _:genid345 . _:genid345 . _:genid346 . _:genid346 . _:genid346 . _:genid346 . . . _:genid347 . _:genid347 . _:genid347 . _:genid347 . _:genid348 . _:genid348 . _:genid348 . _:genid348 . _:genid349 . _:genid349 . _:genid349 . _:genid349 . _:genid350 . _:genid350 . _:genid350 . _:genid350 . _:genid351 . _:genid351 . _:genid351 . _:genid351 . _:genid352 . _:genid352 . _:genid352 . _:genid352 . _:genid353 . _:genid353 . _:genid353 . _:genid353 . . . _:genid354 . _:genid354 . _:genid354 . _:genid354 . . . _:genid355 . _:genid355 . _:genid355 . _:genid355 . . . _:genid356 . _:genid356 . _:genid356 . _:genid356 . . . "A process data segment, is a portion of the program's virtual address space that contains executable instructions and corresponds to the loaded image data segment." . "Process Data Segment" . . "Image Data Segment" . . . . . _:genid357 . _:genid357 . _:genid357 . _:genid357 . . . _:genid358 . _:genid358 . _:genid358 . _:genid358 . . . _:genid359 . _:genid359 . _:genid359 . _:genid359 . _:genid360 . _:genid360 . _:genid360 . _:genid360 . . . . . _:genid361 . _:genid361 . _:genid361 . _:genid361 . . . _:genid362 . _:genid362 . _:genid362 . _:genid362 . . . _:genid363 . _:genid363 . _:genid363 . _:genid363 . _:genid364 . _:genid364 . _:genid364 . _:genid364 . . . _:genid365 . _:genid365 . _:genid365 . _:genid365 . . . _:genid366 . _:genid366 . _:genid366 . _:genid366 . . . "Product" . . . _:genid367 . _:genid367 . _:genid367 . _:genid367 . "Product Developer" . . . . . . "Proposition" . . . "Proprietary License" . . . _:genid368 . _:genid368 . _:genid368 . _:genid368 . . . _:genid369 . _:genid369 . _:genid369 . _:genid369 . "Provider" . . . . "In computer networking, a proxy server is a server application or appliance that acts as an intermediary for requests from clients seeking resources from servers that provide those resources. A proxy server thus functions on behalf of the client when requesting service, potentially masking the true origin of the request to the resource server." . . "Proxy Server" . . . . . . . . . . . _:genid370 . _:genid370 . _:genid370 . _:genid370 . . . "A radio modem provides the means to send digital data wirelessly. Radio modems are used to communicate by direct broadcast satellite, WiFi, WiMax, mobile phones, GPS, Bluetooth and NFC. Modern telecommunications and data networks also make extensive use of radio modems where long distance data links are required. Such systems are an important part of the PSTN, and are also in common use for high-speed computer network links to outlying areas where fiber optic is not economical." . . "Radio Modem" . . . . . "Reconnaissance Technique" . . . "In computer science, a record (also called struct or compound data) is a basic data structure. A record is a collection of fields, possibly of different data types, typically in fixed number and sequence . The fields of a record may also be called members, particularly in object-oriented programming. Fields may also be called elements, though these risk confusion with the elements of a collection. A tuple may or may not be considered a record, and vice versa, depending on conventions and the specific programming language." . . "Record" . . . "Reference" . . . "Reference Type" . . . _:genid371 . _:genid371 . _:genid371 . _:genid371 . . . "A remote authentication service provides for the authentication of a user across a network (i.e., remotely)." . "Remote Authentication Service" . . . "A remote authorization service provides for the authorization of a user across a network (i.e., remotely)." . "Remote Authorization Service" . . . . "A remote command is a command sent from one computer to another to be executed on the remote computer. One example of this, is through a command-line interface (CLI) like using Invoke-Command from PowerShell or a command sent through an ssh session. This class generalizes to all means of sending a command through an established protocol to control capabilities on a remote computer." . "Remote Command" . . . . "A remote query session enabling a user to make an SQL, SPARQL, or similar query over the network from one host to another." . "Remote Database Query" . . . "In distributed computing a remote procedure call (RPC) is when a computer program causes a procedure (subroutine) to execute in another address space (commonly on another computer on a shared network), which is coded as if it were a normal (local) procedure call, without the programmer explicitly coding the details for the remote interaction. That is, the programmer writes essentially the same code whether the subroutine is local to the executing program, or remote. This is a form of client-server interaction (caller is client, executor is server), typically implemented via a request-response message-passing system. The object-oriented programming analog is remote method invocation (RMI). The RPC model implies a level of location transparency." . . "Remote Procedure Call" . . . "In computing, a remote resource is a computer resource made available from one host to other hosts on a computer network. It is a device or piece of information on a computer that can be remotely accessed from another computer, typically via a local area network or an enterprise intranet." . "Remote Resource" . . . . . . "A remote terminal session is a session that provides a user access from one host to another host via a terminal." . "Remote Terminal Session" . . . _:genid372 . _:genid372 . _:genid372 . _:genid372 . . . . . . . . . . _:genid373 . _:genid373 . _:genid373 . _:genid373 . _:genid374 . _:genid374 . _:genid374 . _:genid374 . . . "Resource Development Technique" . . . . . "In computer networks, a reverse proxy is a type of proxy server that retrieves resources on behalf of a client from one or more servers. These resources are then returned to the client, appearing as if they originated from the proxy server itself. Unlike a forward proxy, which is an intermediary for its associated clients to contact any server, a reverse proxy is an intermediary for its associated servers to be contacted by any client. In other words, a proxy acts on behalf of the client(s), while a reverse proxy acts on behalf of the server(s); a reverse proxy is usually an internal-facing proxy used as a 'front-end' to control and protect access to a server on a private network." . . "Reverse Proxy Server" . . . _:genid375 . _:genid375 . _:genid375 . _:genid375 . . . _:genid376 . _:genid376 . _:genid376 . _:genid376 . . . "A router is a networking device that forwards data packets between computer networks. Routers perform the traffic directing functions on the Internet. Data sent through the internet, such as a web page or email, is in the form of data packets. A packet is typically forwarded from one router to another router through the networks that constitute an internetwork (e.g. the Internet) until it reaches its destination node." . . "Router" . . . . . . "A saved instruction pointer points to the instruction that generated an exception (trap or fault)." . "Saved Instruction Pointer" . . . . _:genid377 . _:genid377 . _:genid377 . _:genid377 . . . _:genid378 . _:genid378 . _:genid378 . _:genid378 . . . _:genid379 . _:genid379 . _:genid379 . _:genid379 . . . "An optional, often feature rich, second stage set of routines run in order to load the operating system." . "Second-stage Boot Loader" . . . _:genid380 . _:genid380 . _:genid380 . _:genid380 . . . _:genid381 . _:genid381 . _:genid381 . _:genid381 . . . _:genid382 . _:genid382 . _:genid382 . _:genid382 . . . _:genid383 . _:genid383 . _:genid383 . _:genid383 . . . "Sensor" . . . . "In computing, a server is a piece of computer hardware or software (computer program) that provides functionality for other programs or devices, called \"clients\". This architecture is called the client-server model. Servers can provide various functionalities, often called \"services\", such as sharing data or resources among multiple clients, or performing computation for a client. A single server can serve multiple clients, and a single client can use multiple servers. A client process may run on the same device or may connect over a network to a server on a different device. Typical servers are database servers, file servers, mail servers, print servers, web servers, game servers, and application servers." . . "Server" . . . "Service" . . . . . _:genid384 . _:genid384 . _:genid384 . _:genid384 . . . . . _:genid385 . _:genid385 . _:genid385 . _:genid385 . . . _:genid386 . _:genid386 . _:genid386 . _:genid386 . "Service Provider" . . . "In computer science, in particular networking, a session is a semi-permanent interactive information interchange, also known as a dialogue, a conversation or a meeting, between two or more communicating devices, or between a computer and user (see Login session). A session is set up or established at a certain point in time, and then torn down at some later point. An established communication session may involve more than one message in each direction. A session is typically, but not always, stateful, meaning that at least one of the communicating parts needs to save information about the session history in order to be able to communicate, as opposed to stateless communication, where the communication consists of independent requests with responses." . . "Session" . . . . . _:genid387 . _:genid387 . _:genid387 . _:genid387 . _:genid388 . _:genid388 . _:genid388 . _:genid388 . . . "Set System Config Value" . "https://docs.microsoft.com/en-us/windows/win32/api/winreg/nf-winreg-regsetvalueexa" . . . _:genid389 . _:genid389 . _:genid389 . _:genid389 . . . "A computer whose resources are intended to be shared widely." . "Shared Computer" . . . . . . . . . . "A shortcut file, or shortcut, is a handle that allows the user to find a file or resource located in a different directory or folder from the place where the shortcut is located.\n\nShortcuts, which are supported by the graphical file browsers of some operating systems, may resemble symbolic links but differ in a number of important ways. One difference is what type of software is able to follow them:\n\n - Symbolic links are automatically resolved by the file system. Any software program, upon accessing a symbolic link, will see the target instead, whether the program is aware of symbolic links or not.\n\n - Shortcuts are treated like ordinary files by the file system and by software programs that are not aware of them. Only software programs that understand shortcuts (such as the Windows shell and file browsers) treat them as references to other files.\n\nAnother difference are the capabilities of the mechanism:\n\n - Microsoft Windows shortcuts normally refer to a destination by an absolute path (starting from the root directory), whereas POSIX symbolic links can refer to destinations via either an absolute or a relative path. The latter is useful if both the location and destination of the symbolic link share a common path prefix[clarification needed], but that prefix is not yet known when the symbolic link is created (e.g., in an archive file that can be unpacked anywhere).\n\n- Microsoft Windows application shortcuts contain additional metadata that can be associated with the destination, whereas POSIX symbolic links are just strings that will be interpreted as absolute or relative pathnames.\n\n- Unlike symbolic links, Windows shortcuts maintain their references to their targets even when the target is moved or renamed. Windows domain clients may subscribe to a Windows service called Distributed Link Tracking to track the changes in files and folders to which they are interested. The service maintains the integrity of shortcuts, even when files and folders are moved across the network.[14] Additionally, in Windows 9x and later, Windows shell tries to find the target of a broken shortcut before proposing to delete it." . "Shortcut File" . . . . . . "A slow symbolic link is any symbolic link on a Unix filesystem that is not a fast symbolic link; slow symlink is thus retroactively termed from fast symlink. Slow symbolic links stored the symbolic link information as data in regular files." . "Slow Symbolic Link" . . "Slow Symlink" . . . _:genid390 . _:genid390 . _:genid390 . _:genid390 . . . "A software artifact server provides access to the software artifacts in a software repository. A software repository, or \"repo\" for short, is a storage location for software packages. Often a table of contents is stored, as well as metadata. Repositories group packages. Sometimes the grouping is for a programming language, such as CPAN for the Perl programming language, sometimes for an entire operating system, sometimes the license of the contents is the criteria. At client side, a package manager helps installing from and updating the repositories." . "Software Artifact Server" . . . . . . . _:genid391 . _:genid391 . _:genid391 . _:genid391 . . . "A tool that automates the process of packaging either or both binary code and source code for use on one or more target platforms." . "Software Packaging Tool" . . . . . "A patch is a piece of software designed to update a computer program or its supporting data, to fix or improve it. This includes fixing security vulnerabilities and other bugs, with such patches usually called bugfixes or bug fixes, and improving the usability or performance. Although meant to fix problems, poorly designed patches can sometimes introduce new problems (see software regressions). In some special cases updates may knowingly break the functionality, for instance, by removing components for which the update provider is no longer licensed or disabling a device." . . "Software Patch" . "Patch" . . . "Software Product" . "SaaP" . . . "Software Service" . "SaaS" . . . _:genid392 . _:genid392 . _:genid392 . _:genid392 . . . . . "A source code analyzer tool is a static analysis tool that operates specifically on source code, but not object code." . "Source Code Analyzer Tool" . . . . "Source Code" . "Source Code Reference" . . . "Specification" . . . "Specification" . "Specification Reference" . . . "A stack component is any component of a call stack used for stack-based memory allocation in a running process. Examples include saved instruction pointers, stack frames, and stack frame canaries." . "Stack Component" . . . . _:genid393 . _:genid393 . _:genid393 . _:genid393 . _:genid394 . _:genid394 . _:genid394 . _:genid394 . . . . . _:genid395 . _:genid395 . _:genid395 . _:genid395 . . . _:genid396 . _:genid396 . _:genid396 . _:genid396 . . . _:genid397 . _:genid397 . _:genid397 . _:genid397 . . . . "A startup directory is a directory containing executable files or links to executable files which are run when a user logs in or when a system component or service is started." . "Startup Directory" . . . "A statement is a proposition that is either (a) a meaningful declarative sentence that is either true or false, or (b) that which a true or false declarative sentence asserts." . . "Statement" . . . "A static [program] analysis tool performs an automated analysis of computer software without actually executing programs, in contrast with dynamic analysis, which is analysis performed on programs while they are executing. In most cases the analysis is performed on some version of the source code, and in the other cases, some form of the object code." . . "Static Analysis Tool" . . . "Static Program Analysis Tool" . . . _:genid398 . _:genid398 . _:genid398 . _:genid398 . _:genid399 . _:genid399 . _:genid399 . _:genid399 . _:genid400 . _:genid400 . _:genid400 . _:genid400 . _:genid401 . _:genid401 . _:genid401 . _:genid401 . . . _:genid402 . _:genid402 . _:genid402 . _:genid402 . . . . . _:genid403 . _:genid403 . _:genid403 . _:genid403 . _:genid404 . _:genid404 . _:genid404 . _:genid404 . . . . . "A network switch (also called switching hub, bridging hub, and by the IEEE MAC bridge) is networking hardware that connects devices on a computer network by using packet switching to receive and forward data to the destination device. A network switch is a multiport network bridge that uses MAC addresses to forward data at the data link layer (layer 2) of the OSI model. Some switches can also forward data at the network layer (layer 3) by additionally incorporating routing functionality. Such switches are commonly known as layer-3 switches or multilayer switches." . . "Switch" . "Bridging Hub" . "MAC Bridge" . "Network Switch" . "Switching Hub" . . . . _:genid405 . _:genid405 . _:genid405 . _:genid405 . . . "A symmetric key is a single key used for both encryption and decryption and used with a symmetric-key algorithm. Symmetric-key algorithms are algorithms for cryptography that use the same cryptographic keys for both encryption of plaintext and decryption of ciphertext. The keys may be identical or there may be a simple transformation to go between the two keys. The keys, in practice, represent a shared secret between two or more parties that can be used to maintain a private information link. This requirement that both parties have access to the secret key is one of the main drawbacks of symmetric key encryption, in comparison to public-key encrytption (also known as asymmetric key encryption)." . "Symmetric Key" . . . . "An artifact (instrumentality) that combines interrelated interacting artifacts designed to work as a coherent entity. [Note that not all digital artifacts are systems nor are all systems digital artifacts.]" . "http://wordnet-rdf.princeton.edu/id/04384144-n" . "System" . . . . _:genid406 . _:genid406 . _:genid406 . _:genid406 . . . _:genid407 . _:genid407 . _:genid407 . _:genid407 . . . _:genid408 . _:genid408 . _:genid408 . _:genid408 . . . "System Config System Call" . . . _:genid409 . _:genid409 . _:genid409 . _:genid409 . . . . . . . . . . "A system configuration initialization resource has information for initializing (booting) a system." . "System Configuration Init Resource" . "System Init Resource" . . . _:genid410 . _:genid410 . _:genid410 . _:genid410 . _:genid411 . _:genid411 . _:genid411 . _:genid411 . . . _:genid412 . _:genid412 . _:genid412 . _:genid412 . . . . . _:genid413 . _:genid413 . _:genid413 . _:genid413 . . . _:genid414 . _:genid414 . _:genid414 . _:genid414 . . . _:genid415 . _:genid415 . _:genid415 . _:genid415 . . . . . _:genid416 . _:genid416 . _:genid416 . _:genid416 . . . _:genid417 . _:genid417 . _:genid417 . _:genid417 . . . . . "A system initialization process is a process that executes to initialize (boot) an operating system." . "System Init Process" . . . . "System Initialization Process" . "System Startup Process" . . . . . . . _:genid418 . _:genid418 . _:genid418 . _:genid418 . . . . . _:genid419 . _:genid419 . _:genid419 . _:genid419 . . . "Computer software which enables operating system or platform functionality." . "System Software" . . . . . . . . . "A system utilization record is a record for the tracking of resource utilization e.g. CPU, Disk, Network, Memory Bandwidth, GPU, or other resources for a given time period." . "System Utilization Record" . . . _:genid420 . _:genid420 . _:genid420 . _:genid420 . _:genid421 . _:genid421 . _:genid421 . _:genid421 . . . _:genid422 . _:genid422 . _:genid422 . _:genid422 . . . "T1001.001" . "Junk Data" . . . "T1001.002" . "Steganography" . . . "T1001.003" . "Protocol Impersonation" . . . "T1002" . "Data Compressed" . . . _:genid423 . _:genid423 . _:genid423 . _:genid423 . . . _:genid424 . _:genid424 . _:genid424 . _:genid424 . _:genid425 . _:genid425 . _:genid425 . _:genid425 . . . _:genid426 . _:genid426 . _:genid426 . _:genid426 . _:genid427 . _:genid427 . _:genid427 . _:genid427 . _:genid428 . _:genid428 . _:genid428 . _:genid428 . . . _:genid429 . _:genid429 . _:genid429 . _:genid429 . . . _:genid430 . _:genid430 . _:genid430 . _:genid430 . _:genid431 . _:genid431 . _:genid431 . _:genid431 . . . _:genid432 . _:genid432 . _:genid432 . _:genid432 . _:genid433 . _:genid433 . _:genid433 . _:genid433 . . . _:genid434 . _:genid434 . _:genid434 . _:genid434 . _:genid435 . _:genid435 . _:genid435 . _:genid435 . . . _:genid436 . _:genid436 . _:genid436 . _:genid436 . _:genid437 . _:genid437 . _:genid437 . _:genid437 . . . _:genid438 . _:genid438 . _:genid438 . _:genid438 . _:genid439 . _:genid439 . _:genid439 . _:genid439 . . . "T1004" . "Winlogon Helper DLL" . . . _:genid440 . _:genid440 . _:genid440 . _:genid440 . _:genid441 . _:genid441 . _:genid441 . _:genid441 . . . _:genid442 . _:genid442 . _:genid442 . _:genid442 . . . _:genid443 . _:genid443 . _:genid443 . _:genid443 . _:genid444 . _:genid444 . _:genid444 . _:genid444 . . . _:genid445 . _:genid445 . _:genid445 . _:genid445 . . . "T1009" . "Binary Padding" . . . _:genid446 . _:genid446 . _:genid446 . _:genid446 . _:genid447 . _:genid447 . _:genid447 . _:genid447 . . . _:genid448 . _:genid448 . _:genid448 . _:genid448 . . . "T1011.001" . "Exfiltration Over Bluetooth" . . . _:genid449 . _:genid449 . _:genid449 . _:genid449 . _:genid450 . _:genid450 . _:genid450 . _:genid450 . . . . "T1013" . "Port Monitors" . . . _:genid451 . _:genid451 . _:genid451 . _:genid451 . _:genid452 . _:genid452 . _:genid452 . _:genid452 . _:genid453 . _:genid453 . _:genid453 . _:genid453 . _:genid454 . _:genid454 . _:genid454 . _:genid454 . _:genid455 . _:genid455 . _:genid455 . _:genid455 . . . . "T1015" . "Accessibility Features" . . . _:genid456 . _:genid456 . _:genid456 . _:genid456 . _:genid457 . _:genid457 . _:genid457 . _:genid457 . _:genid458 . _:genid458 . _:genid458 . _:genid458 . . . "T1016.001" . "Internet Connection Discovery" . . . "T1017" . "Application Deployment Software" . . . _:genid459 . _:genid459 . _:genid459 . _:genid459 . _:genid460 . _:genid460 . _:genid460 . _:genid460 . _:genid461 . _:genid461 . _:genid461 . _:genid461 . _:genid462 . _:genid462 . _:genid462 . _:genid462 . . . "T1019" . "System Firmware" . . . _:genid463 . _:genid463 . _:genid463 . _:genid463 . . . "T1020.001" . "Traffic Duplication" . . . _:genid464 . _:genid464 . _:genid464 . _:genid464 . . . _:genid465 . _:genid465 . _:genid465 . _:genid465 . _:genid466 . _:genid466 . _:genid466 . _:genid466 . . . "T1021.002" . "SMB/Windows Admin Shares" . . . "T1021.003" . "Distributed Component Object Model" . . . _:genid467 . _:genid467 . _:genid467 . _:genid467 . _:genid468 . _:genid468 . _:genid468 . _:genid468 . . . "T1021.005" . "VNC" . . . "T1021.006" . "Windows Remote Management" . . . "T1022" . "Data Encrypted" . . . "T1023" . "Shortcut Modification" . . . "T1024" . "Custom Cryptographic Protocol" . . . _:genid469 . _:genid469 . _:genid469 . _:genid469 . . . "T1027" . "Obfuscated Files or Information" . . . _:genid470 . _:genid470 . _:genid470 . _:genid470 . . . _:genid471 . _:genid471 . _:genid471 . _:genid471 . . . "T1027.003" . "Steganography" . . . _:genid472 . _:genid472 . _:genid472 . _:genid472 . . . "T1027.005" . "Indicator Removal from Tools" . . . _:genid473 . _:genid473 . _:genid473 . _:genid473 . _:genid474 . _:genid474 . _:genid474 . _:genid474 . . . . "T1028" . "Windows Remote Management" . . . _:genid475 . _:genid475 . _:genid475 . _:genid475 . . . _:genid476 . _:genid476 . _:genid476 . _:genid476 . . . "T1031" . "Modify Existing Service" . . . "T1032" . "Standard Cryptographic Protocol" . . . _:genid477 . _:genid477 . _:genid477 . _:genid477 . _:genid478 . _:genid478 . _:genid478 . _:genid478 . _:genid479 . _:genid479 . _:genid479 . _:genid479 . _:genid480 . _:genid480 . _:genid480 . _:genid480 . _:genid481 . _:genid481 . _:genid481 . _:genid481 . _:genid482 . _:genid482 . _:genid482 . _:genid482 . . . "T1035" . "Service Execution" . . . "T1036" . "Masquerading" . . . _:genid483 . _:genid483 . _:genid483 . _:genid483 . . . _:genid484 . _:genid484 . _:genid484 . _:genid484 . . . _:genid485 . _:genid485 . _:genid485 . _:genid485 . _:genid486 . _:genid486 . _:genid486 . _:genid486 . . . _:genid487 . _:genid487 . _:genid487 . _:genid487 . . . _:genid488 . _:genid488 . _:genid488 . _:genid488 . _:genid489 . _:genid489 . _:genid489 . _:genid489 . . . _:genid490 . _:genid490 . _:genid490 . _:genid490 . . . _:genid491 . _:genid491 . _:genid491 . _:genid491 . . . . "T1037" . "Boot or Logon Initialization Scripts" . . . _:genid492 . _:genid492 . _:genid492 . _:genid492 . . . _:genid493 . _:genid493 . _:genid493 . _:genid493 . . . _:genid494 . _:genid494 . _:genid494 . _:genid494 . . . _:genid495 . _:genid495 . _:genid495 . _:genid495 . . . _:genid496 . _:genid496 . _:genid496 . _:genid496 . . . . . "T1038" . "DLL Search Order Hijacking" . . . _:genid497 . _:genid497 . _:genid497 . _:genid497 . . . . _:genid498 . _:genid498 . _:genid498 . _:genid498 . . . _:genid499 . _:genid499 . _:genid499 . _:genid499 . _:genid500 . _:genid500 . _:genid500 . _:genid500 . . . "T1042" . "Change Default File Association" . . . . "T1044" . "File System Permissions Weakness" . . . "T1045" . "Software Packing" . . . "T1046" . "Network Service Scanning" . . . _:genid501 . _:genid501 . _:genid501 . _:genid501 . _:genid502 . _:genid502 . _:genid502 . _:genid502 . . . _:genid503 . _:genid503 . _:genid503 . _:genid503 . . . _:genid504 . _:genid504 . _:genid504 . _:genid504 . . . _:genid505 . _:genid505 . _:genid505 . _:genid505 . _:genid506 . _:genid506 . _:genid506 . _:genid506 . . . _:genid507 . _:genid507 . _:genid507 . _:genid507 . . . _:genid508 . _:genid508 . _:genid508 . _:genid508 . . . . "T1050" . "New Service" . . . "T1052" . "Exfiltration Over Physical Medium" . . . _:genid509 . _:genid509 . _:genid509 . _:genid509 . . . . . _:genid510 . _:genid510 . _:genid510 . _:genid510 . _:genid511 . _:genid511 . _:genid511 . _:genid511 . . . "T1053.001" . "At (Linux) Execution" . . . "T1053.002" . "At (Windows) Execution" . . . "T1053.003" . "Cron Execution" . . . _:genid512 . _:genid512 . _:genid512 . _:genid512 . . . "T1053.005" . "Renamed from ATT&CK to be consistent with at, launchd, cron siblings; name as is looks like parent. Not sure why parent is not just Scheduled Task [Execution[." . "Schtasks Execution" . . . "T1053.006" . "Systemd Timers" . . . "T1053.007" . "Container Orchestration Job" . . . "T1054" . "Indicator Blocking" . . . . "T1055" . "Process Injection" . . . _:genid513 . _:genid513 . _:genid513 . _:genid513 . _:genid514 . _:genid514 . _:genid514 . _:genid514 . _:genid515 . _:genid515 . _:genid515 . _:genid515 . . . _:genid516 . _:genid516 . _:genid516 . _:genid516 . . . _:genid517 . _:genid517 . _:genid517 . _:genid517 . _:genid518 . _:genid518 . _:genid518 . _:genid518 . . . _:genid519 . _:genid519 . _:genid519 . _:genid519 . . . _:genid520 . _:genid520 . _:genid520 . _:genid520 . . . _:genid521 . _:genid521 . _:genid521 . _:genid521 . . . _:genid522 . _:genid522 . _:genid522 . _:genid522 . _:genid523 . _:genid523 . _:genid523 . _:genid523 . . . "T1055.011" . "Extra Window Memory Injection" . . . _:genid524 . _:genid524 . _:genid524 . _:genid524 . . . _:genid525 . _:genid525 . _:genid525 . _:genid525 . . . _:genid526 . _:genid526 . _:genid526 . _:genid526 . _:genid527 . _:genid527 . _:genid527 . _:genid527 . . . "T1055.015" . "ListPlanting" . . . . "T1056" . "Input Capture" . . . _:genid528 . _:genid528 . _:genid528 . _:genid528 . . . _:genid529 . _:genid529 . _:genid529 . _:genid529 . . . _:genid530 . _:genid530 . _:genid530 . _:genid530 . . . _:genid531 . _:genid531 . _:genid531 . _:genid531 . . . _:genid532 . _:genid532 . _:genid532 . _:genid532 . _:genid533 . _:genid533 . _:genid533 . _:genid533 . . . . "T1058" . "Service Registry Permissions Weakness" . . . _:genid534 . _:genid534 . _:genid534 . _:genid534 . . . "T1059.001" . "PowerShell Execution" . . . "T1059.002" . "AppleScript Execution" . . . "T1059.003" . "Windows Command Shell Execution" . . . "T1059.004" . "Unix Shell Execution" . "Bash Execution" . . . "T1059.005" . "VBScript Execution" . . . "T1059.006" . "Python Execution" . . . "T1059.007" . "JavaScript/JScript" . . . "T1059.008" . "Network Device CLI" . . . "T1060" . "Registry Run Keys / Startup Folder" . . . "T1063" . "Security Software Discovery" . . . "T1065" . "Uncommonly Used Port" . . . "T1066" . "Indicator Removal from Tools" . . . "T1067" . "Bootkit" . . . _:genid535 . _:genid535 . _:genid535 . _:genid535 . _:genid536 . _:genid536 . _:genid536 . _:genid536 . _:genid537 . _:genid537 . _:genid537 . _:genid537 . . . "T1069" . "Permission Groups Discovery" . . . "T1069.001" . "Local Groups" . . . "T1069.002" . "Domain Groups" . . . "T1069.003" . "Cloud Groups" . . . "T1070" . "Indicator Removal on Host" . . . _:genid538 . _:genid538 . _:genid538 . _:genid538 . . . _:genid539 . _:genid539 . _:genid539 . _:genid539 . . . _:genid540 . _:genid540 . _:genid540 . _:genid540 . . . _:genid541 . _:genid541 . _:genid541 . _:genid541 . _:genid542 . _:genid542 . _:genid542 . _:genid542 . . . _:genid543 . _:genid543 . _:genid543 . _:genid543 . . . _:genid544 . _:genid544 . _:genid544 . _:genid544 . . . _:genid545 . _:genid545 . _:genid545 . _:genid545 . _:genid546 . _:genid546 . _:genid546 . _:genid546 . . . _:genid547 . _:genid547 . _:genid547 . _:genid547 . _:genid548 . _:genid548 . _:genid548 . _:genid548 . . . _:genid549 . _:genid549 . _:genid549 . _:genid549 . . . _:genid550 . _:genid550 . _:genid550 . _:genid550 . . . _:genid551 . _:genid551 . _:genid551 . _:genid551 . . . . _:genid552 . _:genid552 . _:genid552 . _:genid552 . _:genid553 . _:genid553 . _:genid553 . _:genid553 . _:genid554 . _:genid554 . _:genid554 . _:genid554 . . . "T1073" . "DLL Side-Loading" . . . _:genid555 . _:genid555 . _:genid555 . _:genid555 . . . _:genid556 . _:genid556 . _:genid556 . _:genid556 . _:genid557 . _:genid557 . _:genid557 . _:genid557 . . . _:genid558 . _:genid558 . _:genid558 . _:genid558 . . . "T1075" . "Pass the Hash" . . . "T1076" . "Remote Desktop Protocol" . . . "T1077" . "Windows Admin Shares" . . . . . . _:genid559 . _:genid559 . _:genid559 . _:genid559 . _:genid560 . _:genid560 . _:genid560 . _:genid560 . _:genid561 . _:genid561 . _:genid561 . _:genid561 . . . _:genid562 . _:genid562 . _:genid562 . _:genid562 . . . _:genid563 . _:genid563 . _:genid563 . _:genid563 . . . _:genid564 . _:genid564 . _:genid564 . _:genid564 . . . _:genid565 . _:genid565 . _:genid565 . _:genid565 . . . "T1079" . "Multilayer Encryption" . . . _:genid566 . _:genid566 . _:genid566 . _:genid566 . . . "T1081" . "Credentials in Files" . . . _:genid567 . _:genid567 . _:genid567 . _:genid567 . _:genid568 . _:genid568 . _:genid568 . _:genid568 . . . _:genid569 . _:genid569 . _:genid569 . _:genid569 . _:genid570 . _:genid570 . _:genid570 . _:genid570 . . . "T1084" . "Windows Management Instrumentation Event Subscription" . . . . "T1085" . "Rundll32" . . . "T1086" . "PowerShell" . . . "T1087" . "Account Discovery" . . . _:genid571 . _:genid571 . _:genid571 . _:genid571 . . . _:genid572 . _:genid572 . _:genid572 . _:genid572 . . . "T1087.003" . "Email Account" . . . _:genid573 . _:genid573 . _:genid573 . _:genid573 . . . . "T1088" . "Bypass User Account Control" . . . "T1089" . "Disabling Security Tools" . . . "T1090" . "Proxy" . . . _:genid574 . _:genid574 . _:genid574 . _:genid574 . . . _:genid575 . _:genid575 . _:genid575 . _:genid575 . . . _:genid576 . _:genid576 . _:genid576 . _:genid576 . . . _:genid577 . _:genid577 . _:genid577 . _:genid577 . . . . _:genid578 . _:genid578 . _:genid578 . _:genid578 . . . _:genid579 . _:genid579 . _:genid579 . _:genid579 . . . "T1093" . "Process Hollowing" . . . "T1094" . "Custom Command and Control Protocol" . . . _:genid580 . _:genid580 . _:genid580 . _:genid580 . . . "T1096" . "NTFS File Attributes" . . . "T1097" . "Pass the Ticket" . . . _:genid581 . _:genid581 . _:genid581 . _:genid581 . . . _:genid582 . _:genid582 . _:genid582 . _:genid582 . _:genid583 . _:genid583 . _:genid583 . _:genid583 . . . _:genid584 . _:genid584 . _:genid584 . _:genid584 . . . _:genid585 . _:genid585 . _:genid585 . _:genid585 . . . "T1098.004" . "SSH Authorized Keys" . . . "T1098.005" . "Device Registration" . . . "T1099" . "Timestomp" . . . . "T1100" . "Web Shell" . . . "T1101" . "Security Support Provider" . . . _:genid586 . _:genid586 . _:genid586 . _:genid586 . . . "T1102.001" . "Dead Drop Resolver" . . . "T1102.002" . "Bidirectional Communication" . . . "T1102.003" . "One-Way Communication" . . . . "T1103" . "AppInit DLLs" . . . _:genid587 . _:genid587 . _:genid587 . _:genid587 . . . _:genid588 . _:genid588 . _:genid588 . _:genid588 . . . _:genid589 . _:genid589 . _:genid589 . _:genid589 . . . "T1107" . "File Deletion" . . . . "T1109" . "Component Firmware" . . . "T1110" . "Brute Force" . . . _:genid590 . _:genid590 . _:genid590 . _:genid590 . _:genid591 . _:genid591 . _:genid591 . _:genid591 . _:genid592 . _:genid592 . _:genid592 . _:genid592 . . . _:genid593 . _:genid593 . _:genid593 . _:genid593 . . . _:genid594 . _:genid594 . _:genid594 . _:genid594 . _:genid595 . _:genid595 . _:genid595 . _:genid595 . _:genid596 . _:genid596 . _:genid596 . _:genid596 . _:genid597 . _:genid597 . _:genid597 . _:genid597 . . . _:genid598 . _:genid598 . _:genid598 . _:genid598 . _:genid599 . _:genid599 . _:genid599 . _:genid599 . _:genid600 . _:genid600 . _:genid600 . _:genid600 . . . _:genid601 . _:genid601 . _:genid601 . _:genid601 . . . _:genid602 . _:genid602 . _:genid602 . _:genid602 . . . _:genid603 . _:genid603 . _:genid603 . _:genid603 . _:genid604 . _:genid604 . _:genid604 . _:genid604 . . . _:genid605 . _:genid605 . _:genid605 . _:genid605 . . . _:genid606 . _:genid606 . _:genid606 . _:genid606 . . . _:genid607 . _:genid607 . _:genid607 . _:genid607 . . . _:genid608 . _:genid608 . _:genid608 . _:genid608 . . . _:genid609 . _:genid609 . _:genid609 . _:genid609 . . . "T1116" . "Code Signing" . . . . "T1117" . "Regsvr32" . . . . "T1118" . "InstallUtil" . . . _:genid610 . _:genid610 . _:genid610 . _:genid610 . . . "T1120" . "Peripheral Device Discovery" . . . . "T1121" . "Regsvcs/Regasm" . . . . "T1122" . "Component Object Model Hijacking" . . . _:genid611 . _:genid611 . _:genid611 . _:genid611 . . . _:genid612 . _:genid612 . _:genid612 . _:genid612 . _:genid613 . _:genid613 . _:genid613 . _:genid613 . . . _:genid614 . _:genid614 . _:genid614 . _:genid614 . . . "T1126" . "Network Share Connection Removal" . . . "T1127" . "Trusted Developer Utilities Proxy Execution" . . . _:genid615 . _:genid615 . _:genid615 . _:genid615 . _:genid616 . _:genid616 . _:genid616 . _:genid616 . . . "T1128" . "Netsh Helper DLL" . . . "T1129" . "Shared Modules Execution" . . . "T1130" . "Install Root Certificate" . . . "T1131" . "Authentication Package" . . . _:genid617 . _:genid617 . _:genid617 . _:genid617 . . . "T1132.001" . "Standard Encoding" . . . "T1132.002" . "Non-Standard Encoding" . . . . _:genid618 . _:genid618 . _:genid618 . _:genid618 . _:genid619 . _:genid619 . _:genid619 . _:genid619 . _:genid620 . _:genid620 . _:genid620 . _:genid620 . . . . "T1134" . "Access Token Manipulation" . . . _:genid621 . _:genid621 . _:genid621 . _:genid621 . . . _:genid622 . _:genid622 . _:genid622 . _:genid622 . _:genid623 . _:genid623 . _:genid623 . _:genid623 . . . _:genid624 . _:genid624 . _:genid624 . _:genid624 . _:genid625 . _:genid625 . _:genid625 . _:genid625 . _:genid626 . _:genid626 . _:genid626 . _:genid626 . . . _:genid627 . _:genid627 . _:genid627 . _:genid627 . . . _:genid628 . _:genid628 . _:genid628 . _:genid628 . . . "T1135" . "Network Share Discovery" . . . . _:genid629 . _:genid629 . _:genid629 . _:genid629 . . . "T1136.001" . "Local Account" . . . "T1136.002" . "Domain Account" . . . "T1136.003" . "Cloud Account" . . . "T1137" . "Office Application Startup" . . . _:genid630 . _:genid630 . _:genid630 . _:genid630 . _:genid631 . _:genid631 . _:genid631 . _:genid631 . _:genid632 . _:genid632 . _:genid632 . _:genid632 . . . _:genid633 . _:genid633 . _:genid633 . _:genid633 . . . _:genid634 . _:genid634 . _:genid634 . _:genid634 . . . _:genid635 . _:genid635 . _:genid635 . _:genid635 . . . _:genid636 . _:genid636 . _:genid636 . _:genid636 . . . _:genid637 . _:genid637 . _:genid637 . _:genid637 . _:genid638 . _:genid638 . _:genid638 . _:genid638 . _:genid639 . _:genid639 . _:genid639 . _:genid639 . . . . "T1138" . "Application Shimming" . . . "T1139" . "Bash History" . . . _:genid640 . _:genid640 . _:genid640 . _:genid640 . _:genid641 . _:genid641 . _:genid641 . _:genid641 . _:genid642 . _:genid642 . _:genid642 . _:genid642 . . . "T1141" . "Input Prompt" . . . _:genid643 . _:genid643 . _:genid643 . _:genid643 . . . "T1143" . "Hidden Window" . . . "T1144" . "Gatekeeper Bypass" . . . "T1145" . "Private Keys" . . . "T1146" . "Clear Command History" . . . "T1147" . "Hidden Users" . . . "T1148" . "HISTCONTROL" . . . . . "T1150" . "Plist Modification" . . . . "T1151" . "Space after Filename" . . . . . "T1152" . "Launchctl" . . . . "T1154" . "Trap" . . . "T1155" . "AppleScript" . . . "T1156" . "Malicious Shell Modification" . . . . "T1157" . "Dylib Hijacking" . . . . "T1158" . "Hidden Files and Directories" . . . "T1159" . "Launch Agent" . . . . "T1160" . "Launch Daemon" . . . "T1161" . "LC_LOAD_DYLIB Addition" . . . "T1162" . "Login Item" . . . "T1163" . "Rc.common" . . . "T1164" . "Re-opened Applications" . . . . "T1165" . "Startup Items" . . . . "T1166" . "Setuid and Setgid" . . . "T1167" . "Securityd Memory" . . . . "T1168" . "Local Job Scheduling" . . . "T1169" . "Sudo" . . . . "T1170" . "Mshta" . . . "T1171" . "LLMNR/NBT-NS Poisoning and Relay" . . . "T1172" . "Domain Fronting" . . . "T1173" . "Dynamic Data Exchange" . . . "T1174" . "Password Filter DLL" . . . _:genid644 . _:genid644 . _:genid644 . _:genid644 . . . . "T1177" . "LSASS Driver" . . . "T1178" . "SID-History Injection" . . . . . "T1179" . "Hooking" . . . "T1180" . "Screensaver" . . . . "T1181" . "Extra Window Memory Injection" . . . . "T1182" . "AppCert DLLs" . . . . . "T1183" . "Image File Execution Options Injection" . . . "T1184" . "SSH Hijacking" . . . _:genid645 . _:genid645 . _:genid645 . _:genid645 . . . "T1186" . "Process Doppelg\u00E4nging" . . . _:genid646 . _:genid646 . _:genid646 . _:genid646 . _:genid647 . _:genid647 . _:genid647 . _:genid647 . _:genid648 . _:genid648 . _:genid648 . _:genid648 . . . "T1188" . "Multi-hop Proxy" . . . _:genid649 . _:genid649 . _:genid649 . _:genid649 . _:genid650 . _:genid650 . _:genid650 . _:genid650 . _:genid651 . _:genid651 . _:genid651 . _:genid651 . . . _:genid652 . _:genid652 . _:genid652 . _:genid652 . _:genid653 . _:genid653 . _:genid653 . _:genid653 . _:genid654 . _:genid654 . _:genid654 . _:genid654 . . . . "T1191" . "CMSTP" . . . "T1192" . "Spearphishing Link" . . . "T1193" . "Spearphishing Attachment" . . . "T1194" . "Spearphishing via Service" . . . _:genid655 . _:genid655 . _:genid655 . _:genid655 . . . _:genid656 . _:genid656 . _:genid656 . _:genid656 . . . _:genid657 . _:genid657 . _:genid657 . _:genid657 . . . _:genid658 . _:genid658 . _:genid658 . _:genid658 . . . . "T1196" . "Control Panel Items" . . . . _:genid659 . _:genid659 . _:genid659 . _:genid659 . _:genid660 . _:genid660 . _:genid660 . _:genid660 . _:genid661 . _:genid661 . _:genid661 . _:genid661 . . . . "T1198" . "SIP and Trust Provider Hijacking" . . . _:genid662 . _:genid662 . _:genid662 . _:genid662 . _:genid663 . _:genid663 . _:genid663 . _:genid663 . . . _:genid664 . _:genid664 . _:genid664 . _:genid664 . . . "T1201" . "Password Policy Discovery" . . . "T1202" . "Indirect Command Execution" . . . _:genid665 . _:genid665 . _:genid665 . _:genid665 . _:genid666 . _:genid666 . _:genid666 . _:genid666 . . . "T1204" . "User Execution" . . . _:genid667 . _:genid667 . _:genid667 . _:genid667 . _:genid668 . _:genid668 . _:genid668 . _:genid668 . . . _:genid669 . _:genid669 . _:genid669 . _:genid669 . . . "T1204.003" . "Malicious Image" . . . . . _:genid670 . _:genid670 . _:genid670 . _:genid670 . . . _:genid671 . _:genid671 . _:genid671 . _:genid671 . . . "T1206" . "Sudo Caching" . . . _:genid672 . _:genid672 . _:genid672 . _:genid672 . _:genid673 . _:genid673 . _:genid673 . _:genid673 . . . "T1208" . "Kerberoasting" . . . "T1209" . "Time Providers" . . . _:genid674 . _:genid674 . _:genid674 . _:genid674 . _:genid675 . _:genid675 . _:genid675 . _:genid675 . _:genid676 . _:genid676 . _:genid676 . _:genid676 . _:genid677 . _:genid677 . _:genid677 . _:genid677 . . . _:genid678 . _:genid678 . _:genid678 . _:genid678 . _:genid679 . _:genid679 . _:genid679 . _:genid679 . . . _:genid680 . _:genid680 . _:genid680 . _:genid680 . _:genid681 . _:genid681 . _:genid681 . _:genid681 . _:genid682 . _:genid682 . _:genid682 . _:genid682 . _:genid683 . _:genid683 . _:genid683 . _:genid683 . . . . _:genid684 . _:genid684 . _:genid684 . _:genid684 . . . _:genid685 . _:genid685 . _:genid685 . _:genid685 . . . _:genid686 . _:genid686 . _:genid686 . _:genid686 . . . _:genid687 . _:genid687 . _:genid687 . _:genid687 . . . "T1214" . "Credentials in Registry" . . . "T1215" . "Kernel Modules and Extensions" . . . . "T1216" . "Signed Script Proxy Execution" . . . "T1216.001" . "PubPrn Execution" . . . "T1217" . "Browser Bookmark Discovery" . . . . "T1218" . "Signed Binary Proxy Execution" . . . _:genid688 . _:genid688 . _:genid688 . _:genid688 . _:genid689 . _:genid689 . _:genid689 . _:genid689 . . . _:genid690 . _:genid690 . _:genid690 . _:genid690 . _:genid691 . _:genid691 . _:genid691 . _:genid691 . . . _:genid692 . _:genid692 . _:genid692 . _:genid692 . _:genid693 . _:genid693 . _:genid693 . _:genid693 . . . "T1218.004" . "InstallUtil Execution" . . . "T1218.005" . "Mshta Execution" . . . "T1218.007" . "Msiexec Execution" . . . "T1218.008" . "Odbcconf Execution" . . . "T1218.009" . "Regsvcs/Regasm Execution" . . . "T1218.010" . "Regsvr32 Execution" . . . _:genid694 . _:genid694 . _:genid694 . _:genid694 . _:genid695 . _:genid695 . _:genid695 . _:genid695 . . . "T1218.012" . "Verclsid" . . . _:genid696 . _:genid696 . _:genid696 . _:genid696 . _:genid697 . _:genid697 . _:genid697 . _:genid697 . . . _:genid698 . _:genid698 . _:genid698 . _:genid698 . _:genid699 . _:genid699 . _:genid699 . _:genid699 . _:genid700 . _:genid700 . _:genid700 . _:genid700 . . . _:genid701 . _:genid701 . _:genid701 . _:genid701 . . . _:genid702 . _:genid702 . _:genid702 . _:genid702 . _:genid703 . _:genid703 . _:genid703 . _:genid703 . _:genid704 . _:genid704 . _:genid704 . _:genid704 . . . "T1221" . "Template Injection" . . . _:genid705 . _:genid705 . _:genid705 . _:genid705 . . . "T1222.001" . "Windows File and Directory Permissions Modification" . . . "T1222.002" . "Linux and Mac File and Directory Permissions Modification" . . . . "T1223" . "Compiled HTML File" . . . "T1480" . "Execution Guardrails" . . . "T1480.001" . "Environmental Keying" . . . "T1482" . "Domain Trust Discovery" . . . "T1483" . "Domain Generation Algorithms" . . . . _:genid706 . _:genid706 . _:genid706 . _:genid706 . . . "T1484.001" . "Group Policy Modification" . . . "T1484.002" . "Domain Trust Modification" . . . "T1485" . "Data Destruction" . . . "T1486" . "Data Encrypted for Impact" . . . "T1487" . "Disk Structure Wipe" . . . "T1488" . "Disk Content Wipe" . . . "T1489" . "Service Stop" . . . "T1490" . "Inhibit System Recovery" . . . "T1491" . "Defacement" . . . _:genid707 . _:genid707 . _:genid707 . _:genid707 . . . _:genid708 . _:genid708 . _:genid708 . _:genid708 . . . "T1492" . "Stored Data Manipulation" . . . "T1493" . "Transmitted Data Manipulation" . . . "T1494" . "Runtime Data Manipulation" . . . "T1495" . "Firmware Corruption" . . . "T1496" . "Resource Hijacking" . . . "T1497" . "Virtualization/Sandbox Evasion" . . . "T1497.001" . "System Checks" . . . "T1497.002" . "User Activity Based Checks" . . . _:genid709 . _:genid709 . _:genid709 . _:genid709 . _:genid710 . _:genid710 . _:genid710 . _:genid710 . . . "T1498" . "Network Denial of Service" . . . _:genid711 . _:genid711 . _:genid711 . _:genid711 . . . _:genid712 . _:genid712 . _:genid712 . _:genid712 . . . "T1499" . "Endpoint Denial of Service" . . . "T1499.001" . "OS Exhaustion Flood" . . . _:genid713 . _:genid713 . _:genid713 . _:genid713 . . . "T1499.003" . "Application Exhaustion Flood" . . . "T1499.004" . "Application or System Exploitation" . . . "T1500" . "Compile After Delivery" . . . "T1501" . "Systemd Service" . . . . "T1502" . "Parent PID Spoofing" . . . "T1503" . "Credentials from Web Browsers" . . . . "T1504" . "PowerShell Profile" . . . "T1505" . "Server Software Component" . . . _:genid714 . _:genid714 . _:genid714 . _:genid714 . _:genid715 . _:genid715 . _:genid715 . _:genid715 . . . _:genid716 . _:genid716 . _:genid716 . _:genid716 . _:genid717 . _:genid717 . _:genid717 . _:genid717 . . . _:genid718 . _:genid718 . _:genid718 . _:genid718 . _:genid719 . _:genid719 . _:genid719 . _:genid719 . _:genid720 . _:genid720 . _:genid720 . _:genid720 . . . _:genid721 . _:genid721 . _:genid721 . _:genid721 . . . "T1505.005" . "Terminal Services DLL" . . . . "T1506" . "Web Session Cookie" . . . "T1514" . "Elevated Execution with Prompt" . . . "T1518" . "Software Discovery" . . . _:genid722 . _:genid722 . _:genid722 . _:genid722 . _:genid723 . _:genid723 . _:genid723 . _:genid723 . _:genid724 . _:genid724 . _:genid724 . _:genid724 . _:genid725 . _:genid725 . _:genid725 . _:genid725 . _:genid726 . _:genid726 . _:genid726 . _:genid726 . . . . "T1519" . "Emond" . . . "T1522" . "Cloud Instance Metadata API" . . . _:genid727 . _:genid727 . _:genid727 . _:genid727 . . . _:genid728 . _:genid728 . _:genid728 . _:genid728 . . . . "T1527" . "Application Access Token" . . . _:genid729 . _:genid729 . _:genid729 . _:genid729 . . . "T1529" . "System Shutdown/Reboot" . . . "T1530" . "Data from Cloud Storage Object" . . . _:genid730 . _:genid730 . _:genid730 . _:genid730 . . . _:genid731 . _:genid731 . _:genid731 . _:genid731 . . . "T1535" . "Unused/Unsupported Cloud Regions" . . . "T1536" . "Revert Cloud Instance" . . . "T1537" . "Transfer Data to Cloud Account" . . . _:genid732 . _:genid732 . _:genid732 . _:genid732 . . . _:genid733 . _:genid733 . _:genid733 . _:genid733 . . . . "T1542" . "Pre-OS Boot" . . . _:genid734 . _:genid734 . _:genid734 . _:genid734 . . . _:genid735 . _:genid735 . _:genid735 . _:genid735 . . . _:genid736 . _:genid736 . _:genid736 . _:genid736 . _:genid737 . _:genid737 . _:genid737 . _:genid737 . _:genid738 . _:genid738 . _:genid738 . _:genid738 . . . "T1542.004" . "ROMMONkit" . . . "T1542.005" . "TFTP Boot" . . . . "T1543" . "Create or Modify System Process" . . . _:genid739 . _:genid739 . _:genid739 . _:genid739 . . . _:genid740 . _:genid740 . _:genid740 . _:genid740 . _:genid741 . _:genid741 . _:genid741 . _:genid741 . . . _:genid742 . _:genid742 . _:genid742 . _:genid742 . . . _:genid743 . _:genid743 . _:genid743 . _:genid743 . . . . "T1546" . "Event Triggered Execution" . . . _:genid744 . _:genid744 . _:genid744 . _:genid744 . . . _:genid745 . _:genid745 . _:genid745 . _:genid745 . _:genid746 . _:genid746 . _:genid746 . _:genid746 . . . _:genid747 . _:genid747 . _:genid747 . _:genid747 . _:genid748 . _:genid748 . _:genid748 . _:genid748 . . . _:genid749 . _:genid749 . _:genid749 . _:genid749 . . . _:genid750 . _:genid750 . _:genid750 . _:genid750 . _:genid751 . _:genid751 . _:genid751 . _:genid751 . _:genid752 . _:genid752 . _:genid752 . _:genid752 . _:genid753 . _:genid753 . _:genid753 . _:genid753 . . . _:genid754 . _:genid754 . _:genid754 . _:genid754 . . . _:genid755 . _:genid755 . _:genid755 . _:genid755 . _:genid756 . _:genid756 . _:genid756 . _:genid756 . . . _:genid757 . _:genid757 . _:genid757 . _:genid757 . _:genid758 . _:genid758 . _:genid758 . _:genid758 . _:genid759 . _:genid759 . _:genid759 . _:genid759 . . . _:genid760 . _:genid760 . _:genid760 . _:genid760 . _:genid761 . _:genid761 . _:genid761 . _:genid761 . _:genid762 . _:genid762 . _:genid762 . _:genid762 . . . _:genid763 . _:genid763 . _:genid763 . _:genid763 . _:genid764 . _:genid764 . _:genid764 . _:genid764 . _:genid765 . _:genid765 . _:genid765 . _:genid765 . . . _:genid766 . _:genid766 . _:genid766 . _:genid766 . _:genid767 . _:genid767 . _:genid767 . _:genid767 . . . _:genid768 . _:genid768 . _:genid768 . _:genid768 . . . _:genid769 . _:genid769 . _:genid769 . _:genid769 . . . _:genid770 . _:genid770 . _:genid770 . _:genid770 . _:genid771 . _:genid771 . _:genid771 . _:genid771 . _:genid772 . _:genid772 . _:genid772 . _:genid772 . . . _:genid773 . _:genid773 . _:genid773 . _:genid773 . _:genid774 . _:genid774 . _:genid774 . _:genid774 . . . . "T1547" . "Boot or Logon Autostart Execution" . . . _:genid775 . _:genid775 . _:genid775 . _:genid775 . _:genid776 . _:genid776 . _:genid776 . _:genid776 . . . _:genid777 . _:genid777 . _:genid777 . _:genid777 . . . _:genid778 . _:genid778 . _:genid778 . _:genid778 . . . _:genid779 . _:genid779 . _:genid779 . _:genid779 . . . _:genid780 . _:genid780 . _:genid780 . _:genid780 . . . _:genid781 . _:genid781 . _:genid781 . _:genid781 . . . _:genid782 . _:genid782 . _:genid782 . _:genid782 . . . _:genid783 . _:genid783 . _:genid783 . _:genid783 . _:genid784 . _:genid784 . _:genid784 . _:genid784 . . . _:genid785 . _:genid785 . _:genid785 . _:genid785 . _:genid786 . _:genid786 . _:genid786 . _:genid786 . . . _:genid787 . _:genid787 . _:genid787 . _:genid787 . . . _:genid788 . _:genid788 . _:genid788 . _:genid788 . . . "T1547.012" . "Print Processors" . . . "T1547.013" . "XDG Autostart Entries" . . . "T1547.014" . "Active Setup" . . . _:genid789 . _:genid789 . _:genid789 . _:genid789 . . . . "T1548" . "Abuse Elevation Control Mechanism" . . . _:genid790 . _:genid790 . _:genid790 . _:genid790 . . . _:genid791 . _:genid791 . _:genid791 . _:genid791 . _:genid792 . _:genid792 . _:genid792 . _:genid792 . _:genid793 . _:genid793 . _:genid793 . _:genid793 . . . _:genid794 . _:genid794 . _:genid794 . _:genid794 . _:genid795 . _:genid795 . _:genid795 . _:genid795 . . . _:genid796 . _:genid796 . _:genid796 . _:genid796 . _:genid797 . _:genid797 . _:genid797 . _:genid797 . . . . _:genid798 . _:genid798 . _:genid798 . _:genid798 . . . _:genid799 . _:genid799 . _:genid799 . _:genid799 . _:genid800 . _:genid800 . _:genid800 . _:genid800 . . . _:genid801 . _:genid801 . _:genid801 . _:genid801 . . . _:genid802 . _:genid802 . _:genid802 . _:genid802 . . . _:genid803 . _:genid803 . _:genid803 . _:genid803 . _:genid804 . _:genid804 . _:genid804 . _:genid804 . . . _:genid805 . _:genid805 . _:genid805 . _:genid805 . . . _:genid806 . _:genid806 . _:genid806 . _:genid806 . . . _:genid807 . _:genid807 . _:genid807 . _:genid807 . . . _:genid808 . _:genid808 . _:genid808 . _:genid808 . . . _:genid809 . _:genid809 . _:genid809 . _:genid809 . . . _:genid810 . _:genid810 . _:genid810 . _:genid810 . . . _:genid811 . _:genid811 . _:genid811 . _:genid811 . . . "T1552.007" . "Container API" . . . "T1553" . "Subvert Trust Controls" . . . _:genid812 . _:genid812 . _:genid812 . _:genid812 . . . _:genid813 . _:genid813 . _:genid813 . _:genid813 . . . _:genid814 . _:genid814 . _:genid814 . _:genid814 . . . _:genid815 . _:genid815 . _:genid815 . _:genid815 . . . "T1553.005" . "Mark-of-the-Web Bypass" . . . "T1553.006" . "Code Signing Policy Modification" . . . _:genid816 . _:genid816 . _:genid816 . _:genid816 . . . _:genid817 . _:genid817 . _:genid817 . _:genid817 . _:genid818 . _:genid818 . _:genid818 . _:genid818 . . . _:genid819 . _:genid819 . _:genid819 . _:genid819 . . . _:genid820 . _:genid820 . _:genid820 . _:genid820 . . . _:genid821 . _:genid821 . _:genid821 . _:genid821 . _:genid822 . _:genid822 . _:genid822 . _:genid822 . _:genid823 . _:genid823 . _:genid823 . _:genid823 . . . "T1555.004" . "Windows Credential Manager" . . . "T1555.005" . "Password Managers" . . . . _:genid824 . _:genid824 . _:genid824 . _:genid824 . . . "T1556.001" . "Domain Controller Authentication" . . . _:genid825 . _:genid825 . _:genid825 . _:genid825 . _:genid826 . _:genid826 . _:genid826 . _:genid826 . . . _:genid827 . _:genid827 . _:genid827 . _:genid827 . _:genid828 . _:genid828 . _:genid828 . _:genid828 . . . "T1556.004" . "Network Device Authentication" . . . "T1556.005" . "Reversible Encryption" . . . . _:genid829 . _:genid829 . _:genid829 . _:genid829 . . . _:genid830 . _:genid830 . _:genid830 . _:genid830 . . . "T1557.002" . "ARP Cache Poisoning" . . . "T1557.003" . "DHCP Spoofing" . . . _:genid831 . _:genid831 . _:genid831 . _:genid831 . _:genid832 . _:genid832 . _:genid832 . _:genid832 . . . _:genid833 . _:genid833 . _:genid833 . _:genid833 . . . "T1558.002" . "Silver Ticket" . . . _:genid834 . _:genid834 . _:genid834 . _:genid834 . . . "T1558.004" . "AS-REP Roasting" . . . _:genid835 . _:genid835 . _:genid835 . _:genid835 . . . "T1559.001" . "Component Object Model Execution" . . . "T1559.002" . "Dynamic Data Exchange Execution" . . . "T1559.003" . "XPC Services" . . . _:genid836 . _:genid836 . _:genid836 . _:genid836 . . . _:genid837 . _:genid837 . _:genid837 . _:genid837 . . . _:genid838 . _:genid838 . _:genid838 . _:genid838 . . . _:genid839 . _:genid839 . _:genid839 . _:genid839 . . . "T1561" . "Disk Wipe" . . . _:genid840 . _:genid840 . _:genid840 . _:genid840 . _:genid841 . _:genid841 . _:genid841 . _:genid841 . _:genid842 . _:genid842 . _:genid842 . _:genid842 . _:genid843 . _:genid843 . _:genid843 . _:genid843 . _:genid844 . _:genid844 . _:genid844 . _:genid844 . . . _:genid845 . _:genid845 . _:genid845 . _:genid845 . _:genid846 . _:genid846 . _:genid846 . _:genid846 . . . "T1562" . "Impair Defenses" . . . _:genid847 . _:genid847 . _:genid847 . _:genid847 . . . _:genid848 . _:genid848 . _:genid848 . _:genid848 . _:genid849 . _:genid849 . _:genid849 . _:genid849 . . . _:genid850 . _:genid850 . _:genid850 . _:genid850 . _:genid851 . _:genid851 . _:genid851 . _:genid851 . _:genid852 . _:genid852 . _:genid852 . _:genid852 . . . _:genid853 . _:genid853 . _:genid853 . _:genid853 . . . "T1562.006" . "Indicator Blocking" . . . "T1562.007" . "Disable or Modify Cloud Firewall" . . . "T1562.008" . "Disable Cloud Logs" . . . _:genid854 . _:genid854 . _:genid854 . _:genid854 . _:genid855 . _:genid855 . _:genid855 . _:genid855 . _:genid856 . _:genid856 . _:genid856 . _:genid856 . . . _:genid857 . _:genid857 . _:genid857 . _:genid857 . . . _:genid858 . _:genid858 . _:genid858 . _:genid858 . _:genid859 . _:genid859 . _:genid859 . _:genid859 . . . _:genid860 . _:genid860 . _:genid860 . _:genid860 . . . _:genid861 . _:genid861 . _:genid861 . _:genid861 . . . "T1564" . "Hide Artifacts" . . . _:genid862 . _:genid862 . _:genid862 . _:genid862 . . . _:genid863 . _:genid863 . _:genid863 . _:genid863 . . . _:genid864 . _:genid864 . _:genid864 . _:genid864 . _:genid865 . _:genid865 . _:genid865 . _:genid865 . . . _:genid866 . _:genid866 . _:genid866 . _:genid866 . . . _:genid867 . _:genid867 . _:genid867 . _:genid867 . _:genid868 . _:genid868 . _:genid868 . _:genid868 . . . _:genid869 . _:genid869 . _:genid869 . _:genid869 . _:genid870 . _:genid870 . _:genid870 . _:genid870 . _:genid871 . _:genid871 . _:genid871 . _:genid871 . _:genid872 . _:genid872 . _:genid872 . _:genid872 . . . _:genid873 . _:genid873 . _:genid873 . _:genid873 . . . _:genid874 . _:genid874 . _:genid874 . _:genid874 . _:genid875 . _:genid875 . _:genid875 . _:genid875 . _:genid876 . _:genid876 . _:genid876 . _:genid876 . . . _:genid877 . _:genid877 . _:genid877 . _:genid877 . _:genid878 . _:genid878 . _:genid878 . _:genid878 . . . "T1564.010" . "Process Argument Spoofing" . . . "T1565" . "Data Manipulation" . . . _:genid879 . _:genid879 . _:genid879 . _:genid879 . . . _:genid880 . _:genid880 . _:genid880 . _:genid880 . . . _:genid881 . _:genid881 . _:genid881 . _:genid881 . . . "T1566" . "Phishing" . . . _:genid882 . _:genid882 . _:genid882 . _:genid882 . _:genid883 . _:genid883 . _:genid883 . _:genid883 . . . _:genid884 . _:genid884 . _:genid884 . _:genid884 . _:genid885 . _:genid885 . _:genid885 . _:genid885 . _:genid886 . _:genid886 . _:genid886 . _:genid886 . . . _:genid887 . _:genid887 . _:genid887 . _:genid887 . _:genid888 . _:genid888 . _:genid888 . _:genid888 . . . _:genid889 . _:genid889 . _:genid889 . _:genid889 . . . _:genid890 . _:genid890 . _:genid890 . _:genid890 . _:genid891 . _:genid891 . _:genid891 . _:genid891 . . . _:genid892 . _:genid892 . _:genid892 . _:genid892 . . . _:genid893 . _:genid893 . _:genid893 . _:genid893 . . . "T1568.001" . "Fast Flux DNS" . . . "T1568.002" . "Domain Generation Algorithms" . . . "T1568.003" . "DNS Calculation" . . . "T1569" . "This technique has been deprecated." . "System Services" . . . "T1569.001" . "Launchctl" . . . "T1569.002" . "Service Execution" . . . _:genid894 . _:genid894 . _:genid894 . _:genid894 . . . _:genid895 . _:genid895 . _:genid895 . _:genid895 . . . _:genid896 . _:genid896 . _:genid896 . _:genid896 . . . _:genid897 . _:genid897 . _:genid897 . _:genid897 . . . _:genid898 . _:genid898 . _:genid898 . _:genid898 . . . _:genid899 . _:genid899 . _:genid899 . _:genid899 . _:genid900 . _:genid900 . _:genid900 . _:genid900 . . . . . "T1574" . "Hijack Execution Flow" . . . _:genid901 . _:genid901 . _:genid901 . _:genid901 . . . _:genid902 . _:genid902 . _:genid902 . _:genid902 . _:genid903 . _:genid903 . _:genid903 . _:genid903 . . . _:genid904 . _:genid904 . _:genid904 . _:genid904 . _:genid905 . _:genid905 . _:genid905 . _:genid905 . . . _:genid906 . _:genid906 . _:genid906 . _:genid906 . . . _:genid907 . _:genid907 . _:genid907 . _:genid907 . . . _:genid908 . _:genid908 . _:genid908 . _:genid908 . . . _:genid909 . _:genid909 . _:genid909 . _:genid909 . . . _:genid910 . _:genid910 . _:genid910 . _:genid910 . . . _:genid911 . _:genid911 . _:genid911 . _:genid911 . . . _:genid912 . _:genid912 . _:genid912 . _:genid912 . . . _:genid913 . _:genid913 . _:genid913 . _:genid913 . _:genid914 . _:genid914 . _:genid914 . _:genid914 . . . "T1574.013" . "KernelCallbackTable" . . . "T1578" . "Modify Cloud Compute Infrastructure" . . . "T1578.001" . "Create Snapshot" . . . "T1578.002" . "Create Cloud Instance" . . . "T1578.003" . "Delete Cloud Instance" . . . "T1578.004" . "Revert Cloud Instance" . . . "T1580" . "Cloud Infrastructure Discovery" . . . "T1583" . "Acquire Infrastructure" . . . "T1583.001" . "Domains" . . . "T1583.002" . "DNS Server" . . . "T1583.003" . "Virtual Private Server" . . . "T1583.004" . "Server" . . . "T1583.005" . "Botnet" . . . "T1583.006" . "Web Services" . . . "T1584" . "Compromise Infrastructure" . . . "T1584.001" . "Domains" . . . "T1584.002" . "DNS Server" . . . "T1584.003" . "Virtual Private Server" . . . "T1584.004" . "Server" . . . "T1584.005" . "Botnet" . . . "T1584.006" . "Web Services" . . . "T1585" . "Establish Accounts" . . . "T1585.001" . "Social Media Accounts" . . . "T1585.002" . "Email Accounts" . . . "T1586" . "Compromise Accounts" . . . "T1586.001" . "Social Media Accounts" . . . "T1586.002" . "Email Accounts" . . . "T1587" . "Develop Capabilities" . . . "T1587.001" . "Malware" . . . "T1587.002" . "Code Signing Certificates" . . . "T1587.003" . "Digital Certificates" . . . "T1587.004" . "Exploits" . . . "T1588" . "Obtain Capabilities" . . . "T1588.001" . "Malware" . . . "T1588.002" . "Tool" . . . "T1588.003" . "Code Signing Certificates" . . . "T1588.004" . "Digital Certificates" . . . "T1588.005" . "Exploits" . . . "T1588.006" . "Vulnerabilities" . . . "T1589" . "Gather Victim Identity Information" . . . "T1589.001" . "Credentials" . . . "T1589.002" . "Email Addresses" . . . "T1589.003" . "Employee Names" . . . "T1590" . "Gather Victim Network Information" . . . "T1590.001" . "Domain Properties" . . . "T1590.002" . "DNS" . . . "T1590.003" . "Network Trust Dependencies" . . . "T1590.004" . "Network Topology" . . . "T1590.005" . "IP Addresses" . . . "T1590.006" . "Network Security Appliances" . . . "T1591" . "Gather Victim Org Information" . . . "T1591.001" . "Determine Physical Locations" . . . "T1591.002" . "Business Relationships" . . . "T1591.003" . "Identify Business Tempo" . . . "T1591.004" . "Identify Roles" . . . "T1592" . "Gather Victim Host Information" . . . "T1592.001" . "Hardware" . . . "T1592.002" . "Software" . . . "T1592.003" . "Firmware" . . . "T1592.004" . "Client Configurations" . . . "T1593" . "Search Open Websites/Domains" . . . "T1593.001" . "Social Media" . . . "T1593.002" . "Search Engines" . . . "T1594" . "Search Victim-Owned Websites" . . . "T1595" . "Active Scanning" . . . "T1595.001" . "Scanning IP Blocks" . . . "T1595.002" . "Vulnerability Scanning" . . . "T1595.003" . "Wordlist Scanning" . . . "T1596" . "Search Open Technical Databases" . . . "T1596.001" . "DNS/Passive DNS" . . . "T1596.002" . "WHOIS" . . . "T1596.003" . "Digital Certificates" . . . "T1596.004" . "CDNs" . . . "T1596.005" . "Scan Databases" . . . "T1597" . "Search Closed Sources" . . . "T1597.001" . "Threat Intel Vendors" . . . "T1597.002" . "Purchase Technical Data" . . . "T1598" . "Phishing for Information" . . . "T1598.001" . "Spearphishing Service" . . . "T1598.002" . "Spearphishing Attachment" . . . "T1598.003" . "Spearphishing Link" . . . "T1599" . "Network Boundary Bridging" . . . "T1599.001" . "Network Address Translation Traversal" . . . "T1600" . "Weaken Encryption" . . . "T1600.001" . "Reduce Key Space" . . . "T1600.002" . "Disable Crypto Hardware" . . . "T1601" . "Modify System Image" . . . "T1601.001" . "Patch System Image" . . . "T1601.002" . "Downgrade System Image" . . . "T1602" . "Data from Configuration Repository" . . . "T1602.001" . "SNMP (MIB Dump)" . . . "T1602.002" . "Network Device Configuration Dump" . . . "T1606" . "Forge Web Credentials" . . . "T1606.001" . "Web Cookies" . . . "T1606.002" . "SAML Tokens" . . . "T1608" . "Stage Capabilities" . . . "T1608.001" . "Upload Malware" . . . "T1608.002" . "Upload Tool" . . . "T1608.003" . "Install Digital Certificate" . . . "T1608.004" . "Drive-by Target" . . . "T1608.005" . "Link Target" . . . "T1609" . "Container Administration Command" . . . . "T1610" . "Deploy Container" . . . "T1611" . "Escape to Host" . . . "T1612" . "Build Image on Host" . . . "T1613" . "Container and Resource Discovery" . . . _:genid915 . _:genid915 . _:genid915 . _:genid915 . . . _:genid916 . _:genid916 . _:genid916 . _:genid916 . . . _:genid917 . _:genid917 . _:genid917 . _:genid917 . . . _:genid918 . _:genid918 . _:genid918 . _:genid918 . . . _:genid919 . _:genid919 . _:genid919 . _:genid919 . . . "T1621" . "Multi-Factor Authentication Request Generation" . . . . "T1622" . "Debugger Evasion" . . . "T1647" . "Plist File Modification" . . . . . "A tablet computer, commonly shortened to tablet, is a mobile device, typically with a mobile operating system and touchscreen display processing circuitry, and a rechargeable battery in a single, thin and flat package. Tablets, being computers, do what other personal computers do, but lack some input/output (I/O) abilities that others have. Modern tablets largely resemble modern smartphones, the only differences being that tablets are relatively larger than smartphones, with screens 7 inches (18 cm) or larger, measured diagonally, and may not support access to a cellular network." . . "Tablet Computer" . "Tablet" . . . "Target Audience" . . . . . "A task scheduler process is an operating system process that executes scheduled tasks (time-scheduling in the sense of wall clock time; not operating system scheduling of processes for multitasking)." . "Task Scheduler Process" . . . . . "A task scheduler software is operating system software that when run executes scheduled tasks (time-scheduling in the sense of wall clock time; not operating system scheduling of processes for multitasking). Processes running such software are task scheduler processes." . "Task Scheduler Software" . "Task Scheduler Process" . . . _:genid920 . _:genid920 . _:genid920 . _:genid920 . _:genid921 . _:genid921 . _:genid921 . _:genid921 . "Technique" . . . _:genid922 . _:genid922 . _:genid922 . _:genid922 . _:genid923 . _:genid923 . _:genid923 . _:genid923 . _:genid924 . _:genid924 . _:genid924 . _:genid924 . "Technique Reference" . "A reference used to develop KB articles." . "Technique Reference" . . . "On many computer operating systems, a computer process terminates its execution by making an exit system call. More generally, an exit in a multithreading environment means that a thread of execution has stopped running. For resource management, the operating system reclaims resources (memory, files, etc.) that were used by the process. The process is said to be a dead process after it terminates." . . "Terminate Process" . . . "A test execution tool is a type of software used to test software, hardware or complete systems. Synonyms of test execution tool include test execution engine, test executive, test manager, test sequencer. Two common forms in which a test execution engine may appear are as a: (a) module of a test software suite (test bench) or an integrated development environment, or (b) stand-alone application software." . . "Test Execution Tool" . "Test Execution Engine" . "Test Executive" . "Test Manager" . . . "A thin client is a lightweight computer that has been optimized for establishing a remote connection with a server-based computing environment. The server does most of the work, which can include launching software programs, performing calculations, and storing data. This contrasts with a fat client or a conventional personal computer; the former is also intended for working in a client-server model but has significant local processing power, while the latter aims to perform its function mostly locally. Thin clients are shared computers as the thin client's computing resources are provided by a remote server." . . "Thin Client Computer" . . . "In some computer security systems, a Ticket Granting Ticket or Ticket to Get Tickets (TGT) is a small, encrypted identification file with a limited validity period. After authentication, this file is granted to a user for data traffic protection by the key distribution center (KDC) subsystem of authentication services such as Kerberos. The TGT file contains the session key, its expiration date, and the user's IP address, which protects the user from man-in-the-middle attacks. The TGT is used to obtain a service ticket from Ticket Granting Service (TGS). User is granted access to network services only after this service ticket is provided." . . "Ticket Granting Ticket" . . "Golden Ticket" . . . "A trace system call provides a means by which one process (the \"tracer\") may observe and control the execution of another process (the \"tracee\"), and examine and change the tracee's memory and registers. It is primarily used to implement breakpoint debugging and system call tracing." . "Trace Process" . . . . . . . "Transport Link" . . . "Stores public information necessary to determine if another party can be trusted." . "Trust Store" . . . . . _:genid925 . _:genid925 . _:genid925 . _:genid925 . . . _:genid926 . _:genid926 . _:genid926 . _:genid926 . . . _:genid927 . _:genid927 . _:genid927 . _:genid927 . . . "An unit test execution tool automatically performs unit testing. Unit testing is a software testing method by which individual units of source code are tested to determine whether they are fit for use. Unit test execution tools work with sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures. This contrasts with integration testing, which tests inter-unit dependencies and the modules as a group." . "Unit Test Execution Tool" . . . . . "A Unix hard link is a hard link on a Unix file system." . . "Unix Hard Link" . . . "A Unix link is a file link in a Unix file system." . "Unix Link" . . . "Use Case Goal" . . . "Use Case Prerequisite" . . . . "Use Case Procedure" . . . . "Use Case Step" . . . _:genid928 . _:genid928 . _:genid928 . _:genid928 . . . . . _:genid929 . _:genid929 . _:genid929 . _:genid929 . . . . . . "A user application is executed for that an individual user on a user's personal computer or remotely by means of virtualization. This is in contrast to service applications or enterprise software." . "User Application" . . . . _:genid930 . _:genid930 . _:genid930 . _:genid930 . . . _:genid931 . _:genid931 . _:genid931 . _:genid931 . . . _:genid932 . _:genid932 . _:genid932 . _:genid932 . . . _:genid933 . _:genid933 . _:genid933 . _:genid933 . . . . . . . . . . "The user interface (UI), in the industrial design field of human-machine interaction, is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine from the human end, whilst the machine simultaneously feeds back information that aids the operators' decision-making process. Examples of this broad concept of user interfaces include the interactive aspects of computer operating systems, hand tools, heavy machinery operator controls, and process controls. The design considerations applicable when creating user interfaces are related to or involve such disciplines as ergonomics and psychology." . . "User Interface" . "UI" . . . . . . . "User Manual" . "User Manual Reference" . . . . . _:genid934 . _:genid934 . _:genid934 . _:genid934 . . . _:genid935 . _:genid935 . _:genid935 . _:genid935 . . . . . . _:genid936 . _:genid936 . _:genid936 . _:genid936 . _:genid937 . _:genid937 . _:genid937 . _:genid937 . . . "Utility applications are software applications designed to help to analyze, configure, optimize or maintain a computer. It is used to support the computer infrastructure - in contrast to application software, which is aimed at directly performing tasks that benefit ordinary users. However, utilities often form part of the application systems. For example, a batch job may run user-written code to update a database and may then include a step that runs a utility to back up the database, or a job may run a utility to compress a disk before copying files." . . "Utility Software" . "Utility Application" . . . "A VPN server is a type of server that enables hosting and delivery of VPN services.\n\nIt is a combination of VPN hardware and software technologies that provides VPN clients with connectivity to a secure and/or private network, or rather, the VPN." . . "VPN Server" . . . . _:genid938 . _:genid938 . _:genid938 . _:genid938 . "Vendor" . . . "Version control tools are tools that used to conduct version control. A component of software configuration management, version control, also known as revision control, source control, or source code management systems are systems responsible for the management of changes to documents, computer programs, large web sites, and other collections of information. Changes are usually identified by a number or letter code, termed the \"revision number\", \"revision level\", or simply \"revision\". For example, an initial set of files is \"revision 1\". When the first change is made, the resulting set is \"revision 2\", and so on. Each revision is associated with a timestamp and the person making the change. Revisions can be compared, restored, and with some types of files, merged." . . "Version Control Tool" . . "Revision Control" . "Source Control" . . . . . . . . . . . . . "A web application firewall (or WAF) filters, monitors, and blocks HTTP traffic to and from a web application. A WAF is differentiated from a regular firewall in that a WAF is able to filter the content of specific web applications while regular firewalls serve as a safety gate between servers. By inspecting HTTP traffic, it can prevent attacks stemming from web application security flaws, such as SQL injection, cross-site scripting (XSS), file inclusion, and security misconfigurations." . . "Web Application Firewall" . "WAF" . . . "A web application server is a web server that hosts applications. Application server frameworks are software frameworks for building application servers. An application server framework provides both facilities to create web applications and a server environment to run them. In the case of Java application servers, the server behaves like an extended virtual machine for running applications, transparently handling connections to the database on one side, and, often, connections to the Web client on the other." . . "Web Application Server" . . . _:genid939 . _:genid939 . _:genid939 . _:genid939 . . . _:genid940 . _:genid940 . _:genid940 . _:genid940 . . . . . . . . . . . . . _:genid941 . _:genid941 . _:genid941 . _:genid941 . . . "By contrast to a local area network (LAN), a wide area network (WAN), not only covers a larger geographic distance, but also generally involves leased telecommunication circuits or Internet links." . . "Wide Area Network" . "WAN" . . . . . _:genid942 . _:genid942 . _:genid942 . _:genid942 . _:genid943 . _:genid943 . _:genid943 . _:genid943 . . . . . "In computer networking, a wireless access point (WAP), or more generally just access point (AP), is a networking hardware device that allows other Wi-Fi devices to connect to a wired network. The AP usually connects to a router (via a wired network) as a standalone device, but it can also be an integral component of the router itself. An AP is differentiated from a hotspot which is a physical location where Wi-Fi access is available." . . "Wireless Access Point" . "WAP" . . . . "A wireless router is a device that performs the functions of a router and also includes the functions of a wireless access point. It is used to provide access to the Internet or a private computer network. Depending on the manufacturer and model, it can function in a wired local area network, in a wireless-only LAN, or in a mixed wired and wireless network." . . "Wireless Router" . "Wireless Access Point" . . . "The write is one of the most basic routines provided by a Unix-like operating system kernel. It writes data from a buffer declared by the user to a given device, such as a file. This is the primary way to output data from a program by directly using a system call. The destination is identified by a numeric code. The data to be written, for instance a piece of text, is defined by a pointer and a size, given in number of bytes. write thus takes three arguments." . . "Write File" . . . "Zero client is also referred as ultra thin client, contains no moving parts but centralizes all processing and storage to just what is running on the server. As a result, it requires no local driver to install, no patch management, and no local operating system licensing fees or updates. The device consumes very little power and is tamper-resistant and completely incapable of storing any data locally, providing a more secure endpoint." . . "Zero Client Computer" . . . . "AMD64 Code Segment" . . . . "ARM32 Code Segment" . . . "ASCII Domain Name" . . . . . . . "D3-AM" . . . . . . . "2020-08-05T00:00:00"^^ . "D3-AL" . . . . . "2020-08-05T00:00:00"^^ . "D3-ACA" . . . . . . "D3-ALLM" . . . . . . "D3-APLM" . . . . . . . "2020-08-05T00:00:00"^^ . "D3-ANAA" . . . . . "Adobe PDF File 1.3" . . . . . . . . . . . . . . . "D3-ACH" . . . . "D3-AH" . . . . . . . "D3-AI" . "1"^^ . . . . . . . . "D3-AVE" . . . . . . . . . . . . "D3-ANCI" . . . . . . . . . "2020-08-05T00:00:00"^^ . "D3-ANET" . . . . . . . . . . . . . "2020-08-05T00:00:00"^^ . "D3-AZET" . . . . . "BSD Process" . . . "Bash Script File" . . . . . . . "D3-BAN" . . . . . . . . "Book" . . . . . . . "D3-BA" . . . . . . "D3-BDI" . . . . . . . . . "D3-BSE" . . . . . . . . "2009-05-13T00:00:00"^^ . "The organization employs automated mechanisms to support the information system account management functions." . "CCI-000015" . . . . . . "2009-05-13T00:00:00"^^ . "The information system automatically removes or disables temporary accounts after an organization-defined time period for each type of account." . "CCI-000016" . . . . . . "2009-05-13T00:00:00"^^ . "The information system automatically disables inactive accounts after an organization-defined time period." . "CCI-000017" . . . . . . "2009-05-13T00:00:00"^^ . "The information system automatically audits account creation actions." . "CCI-000018" . . . . . . "2009-09-14T00:00:00"^^ . "The information system dynamically manages user privileges and associated access authorizations." . "CCI-000020" . . . . . . "2009-05-13T00:00:00"^^ . "The information system enforces one or more organization-defined nondiscretionary access control policies over an organization-defined set of users and resources." . "CCI-000022" . . . . . . . "2009-09-14T00:00:00"^^ . "The information system enforces information flow control using explicit security attributes on information, source, and destination objects as a basis for flow control decisions." . "CCI-000025" . . . . . . . "2009-05-13T00:00:00"^^ . "The information system enforces dynamic information flow control based on organization-defined policies." . "CCI-000027" . . . . . . . "2009-05-13T00:00:00"^^ . "The information system enforces organization-defined limitations on the embedding of data types within other data types." . "CCI-000029" . . . . . . . "2009-05-13T00:00:00"^^ . "The information system enforces information flow control based on organization-defined metadata." . "CCI-000030" . . . . . . . "2009-09-14T00:00:00"^^ . "The information system enforces information flow control using organization-defined security policy filters as a basis for flow control decisions for organization-defined information flows." . "CCI-000032" . . . . . . . "2009-05-13T00:00:00"^^ . "The information system provides the capability for a privileged administrator to enable/disable organization-defined security policy filters under organization-defined conditions." . "CCI-000034" . . . . . . . "2009-09-14T00:00:00"^^ . "The information system provides the capability for privileged administrators to configure the organization-defined security policy filters to support different security policies." . "CCI-000035" . . . . . . . . "2009-09-14T00:00:00"^^ . "The organization implements separation of duties through assigned information system access authorizations." . "CCI-000037" . . . . . . . "2009-09-14T00:00:00"^^ . "The organization audits any use of privileged accounts, or roles, with access to organization-defined security functions or security-relevant information, when accessing other system functions." . "CCI-000040" . . . . . . "2009-09-14T00:00:00"^^ . "The information system enforces the organization-defined limit of consecutive invalid logon attempts by a user during the organization-defined time period." . "CCI-000044" . . . . . . "2009-09-14T00:00:00"^^ . "The information system delays next login prompt according to the organization-defined delay algorithm, when the maximum number of unsuccessful attempts is exceeded, automatically locks the account/node for an organization-defined time period or locks the account/node until released by an Administrator IAW organizational policy." . "CCI-000047" . . . . . . "2009-09-14T00:00:00"^^ . "The information system retains the session lock until the user reestablishes access using established identification and authentication procedures." . "CCI-000056" . . . . . . "2009-05-19T00:00:00"^^ . "The information system initiates a session lock after the organization-defined time period of inactivity." . "CCI-000057" . . . . . . "2009-05-19T00:00:00"^^ . "The information system provides the capability for users to directly initiate session lock mechanisms." . "CCI-000058" . . . . . . "2009-05-19T00:00:00"^^ . "The information system conceals, via the session lock, information previously visible on the display with a publicly viewable image." . "CCI-000060" . . . . . . "2009-09-14T00:00:00"^^ . "The organization enforces requirements for remote connections to the information system." . "CCI-000066" . . . . . . "2009-09-14T00:00:00"^^ . "The information system monitors remote access methods." . "CCI-000067" . . . . . . "2009-09-14T00:00:00"^^ . "The information system implements cryptographic mechanisms to protect the confidentiality of remote access sessions." . "CCI-000068" . . . . . . "2009-05-19T00:00:00"^^ . "The organization monitors for unauthorized remote connections to the information system on an organization-defined frequency." . "CCI-000071" . . . . . . "2009-09-15T00:00:00"^^ . "The information system alerts designated organization-defined personnel or roles in the event of an audit processing failure." . "CCI-000139" . . . . . . "2009-05-20T00:00:00"^^ . "The information system provides a warning when allocated audit record storage volume reaches an organization-defined percentage of maximum audit record storage capacity." . "CCI-000143" . . . . . . "2009-05-20T00:00:00"^^ . "The information system provides a real-time alert when organization-defined audit failure events occur." . "CCI-000144" . . . . . . "2009-05-22T00:00:00"^^ . "The information system protects audit information from unauthorized access." . "CCI-000162" . . . . . . . "2009-05-22T00:00:00"^^ . "The information system protects audit information from unauthorized modification." . "CCI-000163" . . . . . . "2009-05-22T00:00:00"^^ . "The information system protects audit information from unauthorized deletion." . "CCI-000164" . . . . . . "2009-09-15T00:00:00"^^ . "The information system, for PKI-based authentication, validates certifications by constructing and verifying a certification path to an accepted trust anchor including checking certificate status information." . "CCI-000185" . . . . . . "2009-09-15T00:00:00"^^ . "The information system, for PKI-based authentication, enforces authorized access to the corresponding private key." . "CCI-000186" . . . . . . "2009-09-15T00:00:00"^^ . "The information system, for PKI-based authentication, maps the authenticated identity to the account of the individual or group." . "CCI-000187" . . . . . . "2009-09-15T00:00:00"^^ . "The information system enforces password complexity by the minimum number of upper case characters used." . "CCI-000192" . . . . . . "2009-09-15T00:00:00"^^ . "The information system enforces password complexity by the minimum number of lower case characters used." . "CCI-000193" . . . . . . "2009-09-15T00:00:00"^^ . "The information system enforces password complexity by the minimum number of numeric characters used." . "CCI-000194" . . . . . . "2009-09-15T00:00:00"^^ . "The information system, for password-based authentication, when new passwords are created, enforces that at least an organization-defined number of characters are changed." . "CCI-000195" . . . . . . "2009-09-15T00:00:00"^^ . "The information system, for password-based authentication, stores only cryptographically-protected passwords." . "CCI-000196" . . . . . . "2009-09-15T00:00:00"^^ . "The information system, for password-based authentication, transmits only cryptographically-protected passwords." . "CCI-000197" . . . . . . "2009-09-15T00:00:00"^^ . "The information system enforces minimum password lifetime restrictions." . "CCI-000198" . . . . . . "2009-09-15T00:00:00"^^ . "The information system enforces maximum password lifetime restrictions." . "CCI-000199" . . . . . . "2009-05-22T00:00:00"^^ . "The information system prohibits password reuse for the organization-defined number of generations." . "CCI-000200" . . . . . . "2009-05-22T00:00:00"^^ . "The information system enforces minimum password length." . "CCI-000205" . . . . . . . . . "2009-09-14T00:00:00"^^ . "The information system enforces approved authorizations for logical access to information and system resources in accordance with applicable access control policies." . "CCI-000213" . . . . . . . "2009-09-14T00:00:00"^^ . "The information system, when transferring information between different security domains, identifies information flows by data type specification and usage." . "CCI-000218" . . . . . . . "2009-09-14T00:00:00"^^ . "The information system, when transferring information between different security domains, decomposes information into organization-defined policy-relevant subcomponents for submission to policy enforcement mechanisms." . "CCI-000219" . . . . . . "2009-09-14T00:00:00"^^ . "The information system provides the capability for a privileged administrator to configure organization-defined security policy filters to support different security policies." . "CCI-000226" . . . . . . . . "2009-09-18T00:00:00"^^ . "The organization employs automated mechanisms to enforce access restrictions." . "CCI-000346" . . . . . . . "2009-09-18T00:00:00"^^ . "The information system prevents the installation of organization-defined critical software programs that are not signed with a certificate that is recognized and approved by the organization." . "CCI-000352" . . . . . . "2009-09-18T00:00:00"^^ . "The organization employs automated mechanisms to respond to unauthorized changes to organization-defined configuration settings." . "CCI-000374" . . . . . . "2009-09-18T00:00:00"^^ . "The organization configures the information system to provide only essential capabilities." . "CCI-000381" . . . . . . "2009-09-18T00:00:00"^^ . "The organization configures the information system to prohibit or restrict the use of organization-defined functions, ports, protocols, and/or services." . "CCI-000382" . . . . . . "2009-09-18T00:00:00"^^ . "The organization employs automated mechanisms to prevent program execution on the information system in accordance with the organization-defined specifications." . "CCI-000386" . . . . . . . "2009-09-18T00:00:00"^^ . "The organization disables network access by unauthorized components/devices or notifies designated organizational officials." . "CCI-000417" . . . . . . "2009-09-21T00:00:00"^^ . "The organization (or information system) enforces explicit rules governing the installation of software by users." . "CCI-000663" . . . . . . . . . "2009-09-17T00:00:00"^^ . "The information system uniquely identifies and authenticates organizational users (or processes acting on behalf of organizational users)." . "CCI-000764" . . . . . . "2009-09-17T00:00:00"^^ . "The information system implements multifactor authentication for network access to privileged accounts." . "CCI-000765" . . . . . . "2009-09-17T00:00:00"^^ . "The information system implements multifactor authentication for network access to non-privileged accounts." . "CCI-000766" . . . . . . "2009-09-17T00:00:00"^^ . "The information system implements multifactor authentication for local access to privileged accounts." . "CCI-000767" . . . . . . "2009-09-17T00:00:00"^^ . "The information system implements multifactor authentication for local access to non-privileged accounts." . "CCI-000768" . . . . . . "2009-09-17T00:00:00"^^ . "The information system uses multifactor authentication for network access to privileged accounts where one of the factors is provided by a device separate from the information system being accessed." . "CCI-000771" . . . . . . "2009-09-17T00:00:00"^^ . "The information system uses multifactor authentication for network access to non-privileged accounts where one of the factors is provided by a device separate from the information system being accessed." . "CCI-000772" . . . . . . "2009-09-17T00:00:00"^^ . "The information system uses organization-defined replay-resistant authentication mechanisms for network access to privileged accounts." . "CCI-000774" . . . . . . "2009-09-17T00:00:00"^^ . "The information system uses organization-defined replay-resistant authentication mechanisms for network access to non-privileged accounts." . "CCI-000776" . . . . . . . . . "2009-09-17T00:00:00"^^ . "The information system uniquely identifies and authenticates non-organizational users (or processes acting on behalf of non-organizational users)." . "CCI-000804" . . . . . . . "2009-09-18T00:00:00"^^ . "The organization implements a configurable capability to automatically disable the information system if organization-defined security violations are detected." . "CCI-000831" . . . . . . . . "2009-09-18T00:00:00"^^ . "The organization employs strong authenticators in the establishment of nonlocal maintenance and diagnostic sessions." . "CCI-000877" . . . . . . "2009-09-18T00:00:00"^^ . "The organization audits non-local maintenance and diagnostic sessions." . "CCI-000880" . . . . . . "2009-09-18T00:00:00"^^ . "The organization protects nonlocal maintenance sessions by employing organization-defined authenticators that are replay resistant." . "CCI-000884" . . . . . . "2009-09-18T00:00:00"^^ . "The organization employs cryptographic mechanisms to protect the integrity and confidentiality of non-local maintenance and diagnostic communications." . "CCI-000888" . . . . . . "2009-09-21T00:00:00"^^ . "The information system uses cryptographic mechanisms to protect and restrict access to information on portable digital media." . "CCI-001009" . . . . . . . "2009-09-21T00:00:00"^^ . "The organization employs cryptographic mechanisms to protect information in storage." . "CCI-001019" . . . . . . "2009-09-21T00:00:00"^^ . "The information system implements privileged access authorization to organization-identified information system components for selected organization-defined vulnerability scanning activities." . "CCI-001067" . . . . . . . "2009-09-21T00:00:00"^^ . "The organization employs automated mechanisms to detect the presence of unauthorized software on organizational information systems and notify designated organizational officials in accordance with the organization-defined frequency." . "CCI-001069" . . . . . . . . "2009-09-21T00:00:00"^^ . "The information system separates user functionality (including user interface services) from information system management functionality." . "CCI-001082" . . . . . . . . "2009-09-21T00:00:00"^^ . "The information system prevents the presentation of information system management-related functionality at an interface for non-privileged users." . "CCI-001083" . . . . . . "2009-09-21T00:00:00"^^ . "The information system isolates security functions from nonsecurity functions." . "CCI-001084" . . . . . . "2009-09-21T00:00:00"^^ . "The information system utilizes underlying hardware separation mechanisms to implement security function isolation." . "CCI-001085" . . . . . . "2009-09-21T00:00:00"^^ . "The information system isolates security functions enforcing access and information flow control from both nonsecurity functions and from other security functions." . "CCI-001086" . . . . . . "2009-09-21T00:00:00"^^ . "The organization implements an information system isolation boundary to minimize the number of nonsecurity functions included within the boundary containing security functions." . "CCI-001087" . . . . . . "2009-09-21T00:00:00"^^ . "The organization implements security functions as a layered structure minimizing interactions between layers of the design and avoiding any dependence by lower layers on the functionality or correctness of higher layers." . "CCI-001089" . . . . . . "2009-09-21T00:00:00"^^ . "The information system prevents unauthorized and unintended information transfer via shared system resources." . "CCI-001090" . . . . . . . "2009-09-21T00:00:00"^^ . "The information system protects against or limits the effects of the organization-defined or referenced types of denial of service attacks." . "CCI-001092" . . . . . . . "2009-09-21T00:00:00"^^ . "The information system restricts the ability of individuals to launch organization-defined denial of service attacks against other information systems." . "CCI-001094" . . . . . . . "2009-09-21T00:00:00"^^ . "The information system limits the use of resources by priority." . "CCI-001096" . . . . . . "2009-09-21T00:00:00"^^ . "The information system prevents public access into the organization's internal networks except as appropriately mediated by managed interfaces employing boundary protection devices." . "CCI-001100" . . . . . . . "2009-09-21T00:00:00"^^ . "The information system at managed interfaces denies network communications traffic by default and allows network communications traffic by exception (i.e., deny all, permit by exception)." . "CCI-001109" . . . . . . . "2009-09-21T00:00:00"^^ . "The information system prevents remote devices that have established a non-remote connection with the system from communicating outside of that communications path with resources in external networks." . "CCI-001111" . . . . . . . "2009-09-21T00:00:00"^^ . "The information system, at managed interfaces, denies network traffic and audits internal users (or malicious code) posing a threat to external information systems." . "CCI-001115" . . . . . . . "2009-09-21T00:00:00"^^ . "The information system checks incoming communications to ensure the communications are coming from an authorized source and routed to an authorized destination." . "CCI-001117" . . . . . . "2009-09-21T00:00:00"^^ . "The information system implements host-based boundary protection mechanisms for servers, workstations, and mobile devices." . "CCI-001118" . . . . . . "2009-09-21T00:00:00"^^ . "The information system prevents discovery of specific system components composing a managed interface." . "CCI-001124" . . . . . . . "2009-09-21T00:00:00"^^ . "The information system enforces adherence to protocol format." . "CCI-001125" . . . . . . "2009-09-21T00:00:00"^^ . "The information system protects the integrity of transmitted information." . "CCI-001127" . . . . . . "2009-09-21T00:00:00"^^ . "The organization employs cryptographic mechanisms to recognize changes to information during transmission unless otherwise protected by alternative physical measures." . "CCI-001128" . . . . . . "2009-09-21T00:00:00"^^ . "The information system terminates the network connection associated with a communications session at the end of the session or after an organization-defined time period of inactivity." . "CCI-001133" . . . . . . . "2009-09-21T00:00:00"^^ . "The information system implements required cryptographic protections using cryptographic modules that comply with applicable federal laws, Executive Orders, directives, policies, regulations, standards, and guidance." . "CCI-001144" . . . . . . . "2009-09-21T00:00:00"^^ . "The organization employs, at a minimum, FIPS-validated cryptography to protect unclassified information." . "CCI-001145" . . . . . . . "2009-09-21T00:00:00"^^ . "The organization employs NSA-approved cryptography to protect classified information." . "CCI-001146" . . . . . . . "2009-09-21T00:00:00"^^ . "The organization employs, at a minimum, FIPS-validated cryptography to protect information when such information must be separated from individuals who have the necessary clearances yet lack the necessary access approvals." . "CCI-001147" . . . . . . "2009-09-21T00:00:00"^^ . "The information system prohibits remote activation of collaborative computing devices, excluding the organization-defined exceptions where remote activation is to be allowed." . "CCI-001150" . . . . . . . . "2009-09-21T00:00:00"^^ . "The information system identifies organization-defined unacceptable mobile code." . "CCI-001166" . . . . . . "2009-09-21T00:00:00"^^ . "The information system prevents the download of organization-defined unacceptable mobile code." . "CCI-001169" . . . . . . "2009-09-21T00:00:00"^^ . "The information system prevents the automatic execution of mobile code in organization-defined software applications." . "CCI-001170" . . . . . . "2009-09-21T00:00:00"^^ . "The information system provides additional data origin authentication artifacts along with the authoritative name resolution data the system returns in response to external name/address resolution queries." . "CCI-001178" . . . . . . "2009-09-21T00:00:00"^^ . "The information system invalidates session identifiers upon user logout or other session termination." . "CCI-001185" . . . . . . . . . . "2009-09-21T00:00:00"^^ . "The information system protects the confidentiality and/or integrity of organization-defined information at rest." . "CCI-001199" . . . . . . . "2009-09-21T00:00:00"^^ . "The organization employs cryptographic mechanisms to prevent unauthorized disclosure of information at rest unless otherwise protected by alternative physical measures." . "CCI-001200" . . . . . . "2009-09-21T00:00:00"^^ . "The information system, at organization-defined information system components, loads and executes the operating environment from hardware-enforced, read-only media." . "CCI-001210" . . . . . . "2009-09-21T00:00:00"^^ . "The information system, at organization-defined information system components, loads and executes organization-defined applications from hardware-enforced, read-only media." . "CCI-001211" . . . . . . "2009-09-22T00:00:00"^^ . "The organization employs automated mechanisms on an organization-defined frequency to determine the state of information system components with regard to flaw remediation." . "CCI-001233" . . . . . . "2009-09-22T00:00:00"^^ . "The organization employs automated patch management tools to facilitate flaw remediation to organization-defined information system components." . "CCI-001237" . . . . . . . . . "2009-09-22T00:00:00"^^ . "The organization employs malicious code protection mechanisms at information system entry and exit points to detect and eradicate malicious code transported by electronic mail, electronic mail attachments, web accesses, removable media, or other common means or inserted through the exploitation of information system vulnerabilities." . "CCI-001239" . . . . . . . . "2009-09-22T00:00:00"^^ . "The organization configures malicious code protection mechanisms to perform real-time scans of files from external sources at endpoints as the files are downloaded, opened, or executed in accordance with organizational security policy." . "CCI-001242" . . . . . . . "2009-09-22T00:00:00"^^ . "The information system monitors inbound and outbound communications for unusual or unauthorized activities or conditions." . "CCI-001262" . . . . . . . . . "2009-09-22T00:00:00"^^ . "The information system detects unauthorized changes to software and information." . "CCI-001297" . . . . . . . . . "2009-09-22T00:00:00"^^ . "The organization employs spam protection mechanisms at information system entry and exit points to detect and take action on unsolicited messages transported by electronic mail, electronic mail attachments, web accesses, removable media, or other common means." . "CCI-001305" . . . . . . "2009-09-22T00:00:00"^^ . "The information system checks the validity of organization-defined inputs." . "CCI-001310" . . . . . . "2009-09-22T00:00:00"^^ . "The information system implements cryptographic mechanisms to protect the integrity of audit information." . "CCI-001350" . . . . . . "2009-09-22T00:00:00"^^ . "The organization protects the audit records of non-local accesses to privileged accounts and the execution of privileged functions." . "CCI-001352" . . . . . . . "2009-09-22T00:00:00"^^ . "The organization monitors for atypical usage of information system accounts." . "CCI-001356" . . . . . . . "2009-09-22T00:00:00"^^ . "The information system enforces approved authorizations for controlling the flow of information within the system based on organization-defined information flow control policies." . "CCI-001368" . . . . . . . "2009-09-22T00:00:00"^^ . "The information system, when transferring information between different security domains, implements organization-defined security policy filters requiring fully enumerated formats that restrict data structure and content." . "CCI-001372" . . . . . . . "2009-09-22T00:00:00"^^ . "The information system, when transferring information between different security domains, examines the information for the presence of organization-defined unsanctioned information." . "CCI-001373" . . . . . . . "2009-09-22T00:00:00"^^ . "The information system, when transferring information between different security domains, prohibits the transfer of organization-defined unsanctioned information in accordance with the organization-defined security policy." . "CCI-001374" . . . . . . "2009-09-22T00:00:00"^^ . "The information system uniquely identifies source domains for information transfer." . "CCI-001376" . . . . . . "2009-09-22T00:00:00"^^ . "The information system uniquely authenticates source domains for information transfer." . "CCI-001377" . . . . . . . "2009-09-22T00:00:00"^^ . "The information system supports and maintains the binding of organization-defined security attributes to information in storage." . "CCI-001399" . . . . . . . "2009-09-22T00:00:00"^^ . "The information system supports and maintains the binding of organization-defined security attributes to information in process." . "CCI-001400" . . . . . . . "2009-09-22T00:00:00"^^ . "The information system supports and maintains the binding of organization-defined security attributes to information in transmission." . "CCI-001401" . . . . . . "2009-09-24T00:00:00"^^ . "The information system automatically audits account modification actions." . "CCI-001403" . . . . . . "2009-09-24T00:00:00"^^ . "The information system automatically audits account disabling actions." . "CCI-001404" . . . . . . "2009-09-24T00:00:00"^^ . "The information system automatically audits account removal actions." . "CCI-001405" . . . . . . . "2009-09-24T00:00:00"^^ . "The information system enforces approved authorizations for controlling the flow of information between interconnected systems based on organization-defined information flow control policies." . "CCI-001414" . . . . . . . "2009-09-25T00:00:00"^^ . "The information system dynamically associates security attributes with organization-defined subjects in accordance with organization-defined security policies as information is created and combined." . "CCI-001424" . . . . . . . "2009-09-25T00:00:00"^^ . "The information system provides authorized individuals (or processes acting on behalf of individuals) the capability to change the value of associated security attributes." . "CCI-001425" . . . . . . . "2009-09-25T00:00:00"^^ . "The information system maintains the binding of security attributes to information with sufficient assurance that the information--attribute association can be used as the basis for automated policy actions." . "CCI-001426" . . . . . . . "2009-09-25T00:00:00"^^ . "The information system allows authorized users to associate security attributes with information." . "CCI-001427" . . . . . . . "2009-09-25T00:00:00"^^ . "The information system displays security attributes in human-readable form on each object that the system transmits to output devices to identify organization-identified special dissemination, handling, or distribution instructions using organization-identified human-readable, standard naming conventions." . "CCI-001428" . . . . . . . "2009-09-25T00:00:00"^^ . "The organization disables organization-defined networking protocols within the information system deemed to be nonsecure except for explicitly identified components in support of specific operational requirements." . "CCI-001436" . . . . . . "2009-05-25T00:00:00"^^ . "The information system enforces the organization-defined time period during which the limit of consecutive invalid access attempts by a user is counted." . "CCI-001452" . . . . . . "2009-09-29T00:00:00"^^ . "The information system implements cryptographic mechanisms to protect the integrity of remote access sessions." . "CCI-001453" . . . . . . "2009-09-29T00:00:00"^^ . "The organization ensures that remote sessions for accessing an organization-defined list of security functions and security-relevant information are audited." . "CCI-001454" . . . . . . "2009-09-29T00:00:00"^^ . "The information system protects audit tools from unauthorized access." . "CCI-001493" . . . . . . . "2009-09-29T00:00:00"^^ . "The information system protects audit tools from unauthorized modification." . "CCI-001494" . . . . . . "2009-09-29T00:00:00"^^ . "The information system protects audit tools from unauthorized deletion." . "CCI-001495" . . . . . . "2009-09-29T00:00:00"^^ . "The information system implements cryptographic mechanisms to protect the integrity of audit tools." . "CCI-001496" . . . . . . . "2009-09-29T00:00:00"^^ . "The organization limits privileges to change software resident within software libraries." . "CCI-001499" . . . . . . "2010-05-11T00:00:00"^^ . "The information system uniquely identifies destination domains for information transfer." . "CCI-001555" . . . . . . "2010-05-11T00:00:00"^^ . "The information system uniquely authenticates destination domains for information transfer." . "CCI-001556" . . . . . . "2010-05-11T00:00:00"^^ . "The information system tracks problems associated with the information transfer." . "CCI-001557" . . . . . . . "2010-05-11T00:00:00"^^ . "The information system rejects or delays, as defined by the organization, network traffic which exceed the organization-defined thresholds." . "CCI-001574" . . . . . . "2010-05-12T00:00:00"^^ . "The organization incorporates detection of unauthorized, security-relevant configuration changes into the organization\u201A\u00C4\u00F4s incident response capability to ensure they are tracked." . "CCI-001589" . . . . . . "2010-05-12T00:00:00"^^ . "The information system enforces password complexity by the minimum number of special characters used." . "CCI-001619" . . . . . . "2010-05-12T00:00:00"^^ . "The organization protects nonlocal maintenance sessions by separating the maintenance session from other network sessions with the information system by either physically separated communications paths or logically separated communications paths based upon encryption." . "CCI-001632" . . . . . . . . "2010-05-12T00:00:00"^^ . "The information system takes organization-defined corrective action when organization-defined unacceptable mobile code is identified." . "CCI-001662" . . . . . . . . . "2010-05-12T00:00:00"^^ . "The organization employs malicious code protection mechanisms at workstations, servers, or mobile computing devices on the network to detect and eradicate malicious code transported by electronic mail, electronic mail attachments, web accesses, removable media, or other common means or inserted through the exploitation of information system vulnerabilities." . "CCI-001668" . . . . . . . . . "2010-05-12T00:00:00"^^ . "The organization employs spam protection mechanisms at workstations, servers, or mobile computing devices on the network to detect and take action on unsolicited messages transported by electronic mail, electronic mail attachments, web accesses, removable media, or other common means." . "CCI-001677" . . . . . . "2011-05-03T00:00:00"^^ . "The information system automatically removes or disables emergency accounts after an organization-defined time period for each type of account." . "CCI-001682" . . . . . . "2011-05-03T00:00:00"^^ . "The information system notifies organization-defined personnel or roles for account creation actions." . "CCI-001683" . . . . . . "2011-05-03T00:00:00"^^ . "The information system notifies organization-defined personnel or roles for account modification actions." . "CCI-001684" . . . . . . "2011-05-03T00:00:00"^^ . "The information system notifies organization-defined personnel or roles for account disabling actions." . "CCI-001685" . . . . . . "2011-05-03T00:00:00"^^ . "The information system notifies organization-defined personnel or roles for account removal actions." . "CCI-001686" . . . . . . "2011-10-07T00:00:00"^^ . "The information system prevents the execution of organization-defined unacceptable mobile code." . "CCI-001695" . . . . . . "2013-02-28T00:00:00"^^ . "The information system implements organization-defined security responses automatically if baseline configurations are changed in an unauthorized manner." . "CCI-001744" . . . . . . . "2013-02-28T00:00:00"^^ . "The information system prevents the installation of organization-defined software components without verification the software component has been digitally signed using a certificate that is recognized and approved by the organization." . "CCI-001749" . . . . . . "2013-02-28T00:00:00"^^ . "The organization disables organization-defined functions, ports, protocols, and services within the information system deemed to be unnecessary and/or nonsecure." . "CCI-001762" . . . . . . . "2013-02-28T00:00:00"^^ . "The information system prevents program execution in accordance with organization-defined policies regarding software program usage and restrictions, and/or rules authorizing the terms and conditions of software program usage." . "CCI-001764" . . . . . . "2013-02-28T00:00:00"^^ . "The organization employs an allow-all, deny-by-exception policy to prohibit the execution of unauthorized software programs on the information system." . "CCI-001767" . . . . . . "2013-02-28T00:00:00"^^ . "The organization employs a deny-all, permit-by-exception policy to allow the execution of authorized software programs on the information system." . "CCI-001774" . . . . . . "2013-03-01T00:00:00"^^ . "The information system alerts organization-defined personnel or roles when the unauthorized installation of software is detected." . "CCI-001811" . . . . . . . "2013-03-01T00:00:00"^^ . "The information system prohibits user installation of software without explicit privileged status." . "CCI-001812" . . . . . . . "2013-03-01T00:00:00"^^ . "The information system enforces access restrictions." . "CCI-001813" . . . . . . "2013-03-14T00:00:00"^^ . "The information system provides a warning to organization-defined personnel, roles, and/or locations within an organization-defined time period when allocated audit record storage volume reaches an organization-defined percentage of repository maximum audit record storage capacity." . "CCI-001855" . . . . . . "2013-03-14T00:00:00"^^ . "The information system provides a real-time alert in an organization-defined real-time period to organization-defined personnel, roles, and/or locations when organization-defined audit failure events requiring real-time alerts occur." . "CCI-001858" . . . . . . "2013-05-03T00:00:00"^^ . "The information system implements multifactor authentication for network access to privileged accounts such that one of the factors is provided by a device separate from the system gaining access." . "CCI-001936" . . . . . . "2013-05-03T00:00:00"^^ . "The device used in the information system implementation of multifactor authentication for network access to privileged accounts meets organization-defined strength of mechanism requirements." . "CCI-001937" . . . . . . "2013-05-03T00:00:00"^^ . "The information system implements replay-resistant authentication mechanisms for network access to privileged accounts." . "CCI-001941" . . . . . . . "2013-05-03T00:00:00"^^ . "The information system accepts Personal Identity Verification (PIV) credentials." . "CCI-001953" . . . . . . . "2013-05-03T00:00:00"^^ . "The information system electronically verifies Personal Identity Verification (PIV) credentials." . "CCI-001954" . . . . . . "2013-05-03T00:00:00"^^ . "The information system implements organization-defined out-of-band authentication under organization-defined conditions." . "CCI-001957" . . . . . . "2013-05-03T00:00:00"^^ . "The information system, for PKI-based authentication, implements a local cache of revocation data to support path discovery and validation in case of inability to access revocation information via the network." . "CCI-001991" . . . . . . "2013-05-03T00:00:00"^^ . "The information system, for biometric-based authentication, employs mechanisms that satisfy organization-defined biometric quality requirements." . "CCI-002005" . . . . . . . "2013-05-03T00:00:00"^^ . "The information system accepts Personal Identity Verification (PIV) credentials from other federal agencies." . "CCI-002009" . . . . . . . "2013-05-03T00:00:00"^^ . "The information system electronically verifies Personal Identity Verification (PIV) credentials from other federal agencies." . "CCI-002010" . . . . . . . "2013-05-03T00:00:00"^^ . "The information system accepts Personal Identity Verification-I (PIV-I) credentials." . "CCI-002015" . . . . . . . "2013-05-03T00:00:00"^^ . "The information system electronically verifies Personal Identity Verification-I (PIV-I) credentials." . "CCI-002016" . . . . . . "2013-05-03T00:00:00"^^ . "The information system allows the use of a temporary password for system logons with an immediate change to a permanent password." . "CCI-002041" . . . . . . "2013-06-24T00:00:00"^^ . "The information system enforces organization-defined circumstances and/or usage conditions for organization-defined information system accounts." . "CCI-002145" . . . . . . "2013-06-24T00:00:00"^^ . "The information system enforces organization-defined discretionary access control policies over defined subjects and objects." . "CCI-002165" . . . . . . "2013-06-24T00:00:00"^^ . "The information system enforces a role-based access control policy over defined subjects and objects." . "CCI-002169" . . . . . . . "2013-06-24T00:00:00"^^ . "The information system enforces the revocation of access authorizations resulting from changes to the security attributes of subjects based on organization-defined rules governing the timing of revocations of access authorizations." . "CCI-002178" . . . . . . . "2013-06-24T00:00:00"^^ . "The information system enforces the revocation of access authorizations resulting from changes to the security attributes of objects based on organization-defined rules governing the timing of revocations of access authorizations." . "CCI-002179" . . . . . . "2013-06-24T00:00:00"^^ . "The information system, when transferring information between different security domains, uses organization-defined data type identifiers to validate data essential for information flow decisions." . "CCI-002201" . . . . . . "2013-06-24T00:00:00"^^ . "The information system uniquely identifies and authenticates source by organization, system, application, and/or individual for information transfer." . "CCI-002205" . . . . . . "2013-06-24T00:00:00"^^ . "The information system uniquely identifies and authenticates destination by organization, system, application, and/or individual for information transfer." . "CCI-002207" . . . . . . . "2013-06-24T00:00:00"^^ . "The information system, when transferring information between different security domains, applies the same security policy filtering to metadata as it applies to data payloads." . "CCI-002211" . . . . . . "2013-06-24T00:00:00"^^ . "The information system provides access from a single device to computing platforms, applications, or data residing on multiple different security domains, while preventing any information flow between the different security domains." . "CCI-002218" . . . . . . "2013-06-24T00:00:00"^^ . "The information system prevents organization-defined software from executing at higher privilege levels than users executing the software." . "CCI-002233" . . . . . . . "2013-06-24T00:00:00"^^ . "The information system prevents non-privileged users from executing privileged functions to include disabling, circumventing, or altering implemented security safeguards/countermeasures." . "CCI-002235" . . . . . . "2013-06-24T00:00:00"^^ . "The information system automatically locks the account or node for either an organization-defined time period, until the locked account or node is released by an administrator, or delays the next logon prompt according to the organization-defined delay algorithm when the maximum number of unsuccessful logon attempts is exceeded." . "CCI-002238" . . . . . . . "2013-06-24T00:00:00"^^ . "The organization provides the means to associate organization-defined types of security attributes having organization-defined security attribute values with information in storage." . "CCI-002262" . . . . . . . "2013-06-24T00:00:00"^^ . "The organization provides the means to associate organization-defined types of security attributes having organization-defined security attribute values with information in process." . "CCI-002263" . . . . . . . "2013-06-24T00:00:00"^^ . "The organization provides the means to associate organization-defined types of security attributes having organization-defined security attribute values with information in transmission." . "CCI-002264" . . . . . . . "2013-06-24T00:00:00"^^ . "The information system dynamically associates security attributes with organization-defined objects in accordance with organization-defined security policies as information is created and combined." . "CCI-002272" . . . . . . . "2013-06-24T00:00:00"^^ . "The information system provides authorized individuals (or processes acting on behalf of individuals) the capability to define the value of associated security attributes." . "CCI-002277" . . . . . . . "2013-06-24T00:00:00"^^ . "The information system maintains the association of organization-defined security attributes to organization-defined subjects." . "CCI-002281" . . . . . . . "2013-06-24T00:00:00"^^ . "The information system maintains the association of organization-defined security attributes to organization-defined objects." . "CCI-002282" . . . . . . . "2013-06-24T00:00:00"^^ . "The information system maintains the integrity of organization-defined security attributes associated with organization-defined subjects." . "CCI-002283" . . . . . . . "2013-06-24T00:00:00"^^ . "The information system maintains the integrity of organization-defined security attributes associated with organization-defined objects." . "CCI-002284" . . . . . . . "2013-06-24T00:00:00"^^ . "The information system supports the association of organization-defined security attributes with organization-defined subjects by authorized individuals (or processes acting on behalf of individuals)." . "CCI-002289" . . . . . . . "2013-06-24T00:00:00"^^ . "The information system supports the association of organization-defined security attributes with organization-defined objects by authorized individuals (or processes acting on behalf of individuals)." . "CCI-002290" . . . . . . . "2013-06-24T00:00:00"^^ . "The information system implements organization-defined techniques or technologies with an organization-defined level of assurance in associating security attributes to information." . "CCI-002302" . . . . . . . . "2013-06-24T00:00:00"^^ . "The information system provides authorized individuals the capability to define or change the type of security attributes available for association with subjects." . "CCI-002306" . . . . . . . . "2013-06-24T00:00:00"^^ . "The information system provides authorized individuals the capability to define or change the value of security attributes available for association with subjects." . "CCI-002307" . . . . . . . . "2013-06-24T00:00:00"^^ . "The information system provides authorized individuals the capability to define or change the type of security attributes available for association with objects." . "CCI-002308" . . . . . . . . "2013-06-24T00:00:00"^^ . "The information system provides authorized individuals the capability to define or change the value of security attributes available for association with objects." . "CCI-002309" . . . . . . "2013-06-24T00:00:00"^^ . "The organization provides the capability to expeditiously disconnect or disable remote access to the information system within the organization-defined time period." . "CCI-002322" . . . . . . . . "2013-06-25T00:00:00"^^ . "The organization employs organization-defined data mining prevention techniques for organization-defined data storage objects to adequately protect against data mining." . "CCI-002346" . . . . . . . . . "2013-06-25T00:00:00"^^ . "The organization employs organization-defined data mining detection techniques for organization-defined data storage objects to adequately detect data mining attempts." . "CCI-002347" . . . . . . . "2013-06-25T00:00:00"^^ . "The information system transmits organization-defined access authorization information using organization-defined security safeguards to organization-defined information systems which enforce access control decisions." . "CCI-002353" . . . . . . . "2013-06-25T00:00:00"^^ . "The information system enforces access control decisions based on organization-defined security attributes that do not include the identity of the user or process acting on behalf of the user." . "CCI-002355" . . . . . . . "2013-06-25T00:00:00"^^ . "The information system implements a reference monitor for organization-defined access control policies that is tamperproof." . "CCI-002357" . . . . . . . "2013-06-25T00:00:00"^^ . "The information system implements a reference monitor for organization-defined access control policies that is always invoked." . "CCI-002358" . . . . . . . "2013-06-25T00:00:00"^^ . "The information system implements a reference monitor for organization-defined access control policies that is small enough to be subject to analysis and testing, the completeness of which can be assured." . "CCI-002359" . . . . . . "2013-06-26T00:00:00"^^ . "The information system automatically terminates a user session after organization-defined conditions or trigger events requiring session disconnect." . "CCI-002361" . . . . . . "2013-06-26T00:00:00"^^ . "The information system provides a logout capability for user-initiated communications sessions whenever authentication is used to gain access to organization-defined information resources." . "CCI-002363" . . . . . . "2013-06-26T00:00:00"^^ . "The information system displays an explicit logout message to users indicating the reliable termination of authenticated communications sessions." . "CCI-002364" . . . . . . . "2013-07-02T00:00:00"^^ . "The organization minimizes the number of nonsecurity functions included within the isolation boundary containing security functions." . "CCI-002381" . . . . . . . "2013-07-02T00:00:00"^^ . "The organization implements security functions as largely independent modules that maximize internal cohesiveness within modules and minimize coupling between modules." . "CCI-002382" . . . . . . "2013-07-02T00:00:00"^^ . "The information system prevents unauthorized information transfer via shared resources in accordance with organization-defined procedures when system processing explicitly switches between different information classification levels or security categories." . "CCI-002384" . . . . . . . "2013-07-02T00:00:00"^^ . "The information system protects against or limits the effects of organization-defined types of denial of service attacks by employing organization-defined security safeguards." . "CCI-002385" . . . . . . "2013-07-02T00:00:00"^^ . "The information system protects the availability of resources by allocating organization-defined resources based on priority, quota, and/or organization-defined security safeguards." . "CCI-002394" . . . . . . . "2013-07-02T00:00:00"^^ . "The information system, in conjunction with a remote device, prevents the device from simultaneously establishing non-remote connections with the system and communicating via some other connection to resources in external networks." . "CCI-002397" . . . . . . "2013-07-02T00:00:00"^^ . "The information system audits the identity of internal users associated with denied outgoing communications traffic posing a threat to external information systems." . "CCI-002400" . . . . . . . "2013-07-02T00:00:00"^^ . "The information system only allows incoming communications from organization-defined authorized sources routed to organization-defined authorized destinations." . "CCI-002403" . . . . . . . "2013-07-02T00:00:00"^^ . "The information system blocks both inbound and outbound communications traffic between organization-defined communication clients that are independently configured by end users and external service providers." . "CCI-002409" . . . . . . . . "2013-07-02T00:00:00"^^ . "The information system provides the capability to dynamically isolate/segregate organization-defined information system components from other components of the system." . "CCI-002411" . . . . . . "2013-07-02T00:00:00"^^ . "The information system maintains the confidentiality and/or integrity of information during preparation for transmission." . "CCI-002420" . . . . . . "2013-07-02T00:00:00"^^ . "The information system implements cryptographic mechanisms to prevent unauthorized disclosure of information and/or detect changes to information during transmission unless otherwise protected by organization-defined alternative physical safeguards." . "CCI-002421" . . . . . . "2013-07-02T00:00:00"^^ . "The information system maintains the confidentiality and/or integrity of information during reception." . "CCI-002422" . . . . . . "2013-07-02T00:00:00"^^ . "The information system implements cryptographic mechanisms to protect message externals (e.g., message headers and routing information) unless otherwise protected by organization-defined alternative physical safeguards." . "CCI-002423" . . . . . . "2013-07-02T00:00:00"^^ . "The information system implements cryptographic mechanisms to conceal or randomize communication patterns unless otherwise protected by organization-defined alternative physical safeguards." . "CCI-002425" . . . . . . "2013-07-02T00:00:00"^^ . "The information system provides a trusted communications path that is logically isolated and distinguishable from other paths." . "CCI-002426" . . . . . . "2013-07-02T00:00:00"^^ . "The information system enforces organization-defined actions prior to executing mobile code." . "CCI-002460" . . . . . . "2013-07-02T00:00:00"^^ . "The information system provides additional data integrity verification artifacts along with the authoritative name resolution data the system returns in response to external name/address resolution queries." . "CCI-002462" . . . . . . "2013-07-02T00:00:00"^^ . "The information system provides data origin artifacts for internal name/address resolution queries." . "CCI-002463" . . . . . . "2013-07-02T00:00:00"^^ . "The information system provides data integrity protection artifacts for internal name/address resolution queries." . "CCI-002464" . . . . . . "2013-07-02T00:00:00"^^ . "The information system requests data origin authentication verification on the name/address resolution responses the system receives from authoritative sources." . "CCI-002465" . . . . . . "2013-07-02T00:00:00"^^ . "The information system requests data integrity verification on the name/address resolution responses the system receives from authoritative sources." . "CCI-002466" . . . . . . "2013-07-02T00:00:00"^^ . "The information system performs data integrity verification on the name/address resolution responses the system receives from authoritative sources." . "CCI-002467" . . . . . . "2013-07-02T00:00:00"^^ . "The information system performs data origin verification authentication on the name/address resolution responses the system receives from authoritative sources." . "CCI-002468" . . . . . . . "2013-07-02T00:00:00"^^ . "The information system only allows the use of organization-defined certificate authorities for verification of the establishment of protected sessions." . "CCI-002470" . . . . . . . "2013-07-02T00:00:00"^^ . "The information system implements cryptographic mechanisms to prevent unauthorized modification of organization-defined information at rest on organization-defined information system components." . "CCI-002475" . . . . . . . "2013-07-02T00:00:00"^^ . "The information system implements cryptographic mechanisms to prevent unauthorized disclosure of organization-defined information at rest on organization-defined information system components." . "CCI-002476" . . . . . . . "2013-07-02T00:00:00"^^ . "The information system maintains a separate execution domain for each executing process." . "CCI-002530" . . . . . . "2013-07-02T00:00:00"^^ . "The information system implements underlying hardware separation mechanisms to facilitate process separation." . "CCI-002531" . . . . . . "2013-07-02T00:00:00"^^ . "The information system maintains a separate execution domain for each thread in organization-defined multi-threaded processing." . "CCI-002533" . . . . . . "2013-07-02T00:00:00"^^ . "The information system protects organization-defined external and internal wireless links from organization-defined types of signal parameter attacks or references to sources for such attacks." . "CCI-002536" . . . . . . "2013-07-02T00:00:00"^^ . "The organization physically disables or removes organization-defined connection ports or input/output devices on organization-defined information systems or information system components." . "CCI-002546" . . . . . . "2013-07-11T00:00:00"^^ . "The organization installs security-relevant software updates within an organization-defined time period of the release of the updates." . "CCI-002605" . . . . . . "2013-07-11T00:00:00"^^ . "The organization installs security-relevant firmware updates within an organization-defined time period of the release of the updates." . "CCI-002607" . . . . . . "2013-07-11T00:00:00"^^ . "The organization installs organization-defined security-relevant software updates automatically to organization-defined information system components." . "CCI-002613" . . . . . . "2013-07-11T00:00:00"^^ . "The organization installs organization-defined security-relevant firmware updates automatically to organization-defined information system components." . "CCI-002614" . . . . . . "2013-07-11T00:00:00"^^ . "The organization removes organization-defined software components (e.g., previous versions) after updated versions have been installed." . "CCI-002617" . . . . . . "2013-07-11T00:00:00"^^ . "The organization removes organization-defined firmware components (e.g., previous versions) after updated versions have been installed." . "CCI-002618" . . . . . . "2013-07-11T00:00:00"^^ . "The information system detects organization-defined unauthorized operating system commands through the kernel application programming interface at organization-defined information system hardware components." . "CCI-002630" . . . . . . "2013-07-11T00:00:00"^^ . "The information system issues a warning, audits the command execution, or prevents the execution of the command when organization-defined unauthorized operating system commands are detected." . "CCI-002631" . . . . . . "2013-07-11T00:00:00"^^ . "The information system monitors inbound communications traffic per organization-defined frequency for unusual or unauthorized activities or conditions." . "CCI-002661" . . . . . . "2013-07-11T00:00:00"^^ . "The information system monitors outbound communications traffic per organization-defined frequency for unusual or unauthorized activities or conditions." . "CCI-002662" . . . . . . . "2013-07-11T00:00:00"^^ . "The information system audits and/or alerts organization-defined personnel when unauthorized network services are detected." . "CCI-002684" . . . . . . "2013-07-11T00:00:00"^^ . "The information system discovers indicators of compromise." . "CCI-002688" . . . . . . "2013-07-11T00:00:00"^^ . "The information system collects indicators of compromise." . "CCI-002689" . . . . . . "2013-07-11T00:00:00"^^ . "The information system distributes indicators of compromise." . "CCI-002690" . . . . . . "2013-07-11T00:00:00"^^ . "The information system uses indicators of compromise." . "CCI-002691" . . . . . . . . . "2013-07-11T00:00:00"^^ . "The information system performs an integrity check of organization-defined software at startup, at organization-defined transitional states or security-relevant events, or on an organization-defined frequency." . "CCI-002710" . . . . . . "2013-07-11T00:00:00"^^ . "The information system performs an integrity check of organization-defined firmware at startup, at organization-defined transitional states or security-relevant events, or on an organization-defined frequency." . "CCI-002711" . . . . . . . . . "2013-07-11T00:00:00"^^ . "The information system performs an integrity check of organization-defined information at startup, at organization-defined transitional states or security-relevant events, or on an organization-defined frequency." . "CCI-002712" . . . . . . . . . "2013-07-11T00:00:00"^^ . "The information system automatically shuts the information system down, restarts the information system, and/or implements organization-defined security safeguards when integrity violations are discovered." . "CCI-002715" . . . . . . "2013-07-11T00:00:00"^^ . "The information system implements cryptographic mechanisms to detect unauthorized changes to software." . "CCI-002716" . . . . . . "2013-07-11T00:00:00"^^ . "The information system implements cryptographic mechanisms to detect unauthorized changes to firmware." . "CCI-002717" . . . . . . "2013-07-11T00:00:00"^^ . "The information system implements cryptographic mechanisms to detect unauthorized changes to information." . "CCI-002718" . . . . . . . . . "2013-07-11T00:00:00"^^ . "The information system, upon detection of a potential integrity violation, provides the capability to audit the event." . "CCI-002723" . . . . . . . . . "2013-07-11T00:00:00"^^ . "The information system, upon detection of a potential integrity violation, initiates one or more of the following actions: generates an audit record; alerts the current user; alerts organization-defined personnel or roles; and/or organization-defined other actions." . "CCI-002724" . . . . . . . "2013-07-11T00:00:00"^^ . "The information system verifies the integrity of the boot process of organization-defined devices." . "CCI-002726" . . . . . . . "2013-07-11T00:00:00"^^ . "The information system implements organization-defined security safeguards to protect the integrity of boot firmware in organization-defined devices." . "CCI-002729" . . . . . . "2013-07-11T00:00:00"^^ . "The information system implements cryptographic mechanisms to authenticate organization-defined software or firmware components prior to installation." . "CCI-002740" . . . . . . . "2013-07-11T00:00:00"^^ . "The information system implements spam protection mechanisms with a learning capability to more effectively identify legitimate communications traffic." . "CCI-002743" . . . . . . "2013-07-11T00:00:00"^^ . "The information system provides a manual override capability for input validation of organization-defined inputs." . "CCI-002746" . . . . . . "2013-07-11T00:00:00"^^ . "The information system restricts the use of the manual override capability to only organization-defined authorized individuals." . "CCI-002748" . . . . . . "2013-07-11T00:00:00"^^ . "The information system audits the use of the manual override capability." . "CCI-002749" . . . . . . "2013-07-11T00:00:00"^^ . "The information system validates information output from organization-defined software programs and/or applications to ensure that the information is consistent with the expected content." . "CCI-002771" . . . . . . . . . "2013-07-12T00:00:00"^^ . "The information system implements organization-defined security safeguards to protect its memory from unauthorized code execution." . "CCI-002824" . . . . . . "2013-07-22T00:00:00"^^ . "The information system restricts the use of maintenance tools to authorized personnel only." . "CCI-002883" . . . . . . "2013-07-22T00:00:00"^^ . "The information system implements cryptographic mechanisms to protect the integrity of nonlocal maintenance and diagnostic communications." . "CCI-002890" . . . . . . "2013-07-22T00:00:00"^^ . "The information system implements remote disconnect verification at the termination of nonlocal maintenance and diagnostic sessions." . "CCI-002891" . . . . . . "2013-08-30T00:00:00"^^ . "The information system enforces organization-defined mandatory access control policies over all subjects and objects." . "CCI-003014" . . . . . . "2013-09-24T00:00:00"^^ . "The information system implements cryptographic mechanisms to protect the confidentiality of nonlocal maintenance and diagnostic communications." . "CCI-003123" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "https://public.cyber.mil/stigs/cci/"^^ . "2022-04-05" . "CCI Catalog v2022-04-05" . "https://public.cyber.mil/stigs/cci/" . . . . . . . . . "D3-CBAN" . . . . . . "D3-CA" . . . . . . . . "D3-CP" . . . . . . . "D3-CSPP" . . . . . . . . . . . "9"^^ . . . . . . . "10"^^ . . . . . . . . . . . . . . . . . . "D3-CI" . . . . . . "D3-CHN" . . . . . "D3-CAA" . . . . . . . . . . . . . . . . "6"^^ . . . . . . . . . . . "D3-CCSA" . . . . "D3-CE" . . . . "D3-CH" . . . . . . "D3-CTS" . . . . . "Defense Information Systems Agency (DISA) Field Security Office (FSO)" . "DISA FSO" . . . . . "D3-DNSAL" . . . . . "D3-DNSDL" . . . . . . . . . . . . "D3-DNSTA" . . . . . . . . "D3-DEM" . . . . . . . . "D3-DI" . . . . . . . . "D3-DQSA" . . . . . . "D3-DCE" . . . "3"^^ . . . . . . . "D3-DE" . . . . . . . . "D3-DF" . . . . . . . . "D3-DNR" . . . . "D3-DO" . . . . . . "D3-DP" . . . . "D3-DPR" . . . . . "D3-DST" . . . . . . . "D3-DUC" . . . . "5"^^ . . . . . . . . . . "1"^^ . . . . . . . . "7"^^ . . . . . . . "D3-DENCR" . . . . . . . . . . . "D3-DAM" . . . . . . . . "D3-DNRA" . . . . . . . . "D3-DTP" . . . . . . . "D3-DLIC" . . . . . . . "D3-DA" . . . . . . . . . . . . "D3-EFA" . . . . . . . . "D3-ET" . . . . "D3-EHB" . . . . . "4"^^ . . . . . "D3-EHPV" . . . . . . . "D3-EAL" . . . . . . . . . . . "D3-EDL" . . . . . "2"^^ . . . . "D3-EI" . . . . . "11"^^ . . . . . "FQDN Domain Name" . . . . . . . . . "D3-FAPA" . . . . . "D3-FA" . . . . . "D3-FC" . . . . . . . "D3-FCR" . . . . . . "D3-FCA" . . . . . "D3-FE" . . . . . . . "D3-FHRA" . . . . "D3-FH" . . . . . . . . . . . . . . . . "D3-FBA" . . . . . . "D3-FEMC" . . . . . . . "D3-FV" . . . . . "D3-FRDDL" . . . . . "D3-FRIDL" . . . "GNU GCC StackGuard" . . . "https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getforegroundwindow" . . . . . . . . . . . . . "HTTPS URL" . . . "HTTP URL" . . . "0"^^ . . . . . . . . "D3-HBPI" . . . . . "D3-HCI" . . . . . . . "D3-HDDL" . . . . "D3-HDL" . . . . . . . "D3-HD" . . . . . . . . . . . . . . . . "D3-IOPR" . . . . . . . . . . . . . "D3-IPCTA" . . . . . . "D3-IPRA" . . . . . "D3-ID" . . . . "D3-IRA" . . . . . . "12"^^ . . . . . . . . . . . . . . . . . . . "D3-ISVA" . . . . . . . . . . . . . "D3-ITF" . . . . "D3-IBCA" . . . "1"^^ . . . . . . . . . "D3-IDA" . . . . . "D3-IHN" . . . "Internationalized Domain Name" . . . . . . . . . . . . . . . . "2"^^ . . . . "Javascript File" . . . . . "D3-JFAPA" . . . . . . . . . . . . . "D3-KBPI" . . . . . . "LDIF Record" . . . "8"^^ . . . . . . "test" . "Linux ELF File 32bit" . . . "Linux ELF File 64bit" . . . "Linux Exec" . . . "Linux Process" . . . . . . . "D3-LAM" . . . . . . . . . "D3-LFP" . . . . . . . . . . . . . . . "D3-LLM" . . . . "Lua Script File" . . . "A future release of D3FEND will define a taxonomy of Source Code Hardening Techniques." . "Application Developer Guidance" . . . . . . "M1015 scope is broad, touches on an wide variety of techniques in D3FEND." . "Active Directory Configuration" . . . "Future D3FEND releases will model the scanning and inventory domains." . "Vulnerability Scanning" . . . "Modeling user training is outside the scope of D3FEND." . "User Training" . . . . . . "User Account Management" . . . "Establishing and running a Threat Intelligence Program is outside the scope of D3FEND." . "Threat Intelligence Program" . . . . "D3FEND models this as an infrastructure dependency to support D3-NTA." . "SSL/TLS Inspection" . . . . . . . . . . "M1021 scope is broad, touches on an wide variety of techniques in d3fend." . "Restrict Web-Based Content" . . . . "Restrict File and Directory Permissions" . . . . "Restrict Registry Permission" . . . . . . . "Privileged Process Integrity" . . . . . . "Privileged Account Management" . . . . . "Password Policies" . . . . "Operating System Configuration" . . . "IT disaster recovery plans are outside the current scope of D3FEND." . "Remote Data Storage" . . . . . . . "Network Segmentation" . . . . . . "Network Intrusion Prevention" . . . . "Multi-factor Authentication" . . . . . "Limit Software Installation" . . . . "Limit Hardware Installation" . . . . "Limit Access to Resource Over Network" . . . . . . "D3-AZET may be related (is potentially related though not called out in ATT&CK definition.)" . "Account Use Policies" . . . . "Filter Network Traffic" . . . . . . . "Execution Prevention" . . . . . "Environment Variable Permissions" . . . . . . . . . . . "Behavior Prevention on Endpoint" . . . . . . . "Encrypt Sensitive Information" . . . . . . "Disable or Remove Feature or Program" . . . . "Credential Access Protection" . . . . "D3-SCF is one possible way to filter library loading." . "Restrict Library Loading" . . . . . . "Code Signing" . . . . . "Boot Integrity" . . . . . . "M1047 scope is broad, touches on an wide variety of techniques in d3fend." . "Audit" . . . . . . . "\"Sandboxing\" is often used to describe a detection environment which includes some forms of analysis (see D3-DA.)\" Many forms of isolation (e.g., quarantining) are more static in nature and simply limit software's access to system resources." . "Application Isolation and Sandboxing" . . . . . . "Process Analysis and subclasses." . "Antivirus/Antimalware" . . . . . . . "Exploit Protection" . . . . "Update Software" . . . . "User Account Control" . . . "Comprehensive IT disaster recovery plans are outside the current scope of D3FEND." . "Data Backup" . . . . . "Software Configuration" . . . "Do Not Mitigate" . . . . . "Pre-compromise" . . . "MSG Email File" . . . . . . . . . . . "D3-MAC" . . . "Marketing Material" . . . . . "D3-MBT" . . . . "D3-MA" . . . . . . "D3-MAN" . . . . . "D3-MENCR" . . . . "D3-MH" . . . . "Microsoft VCCLCompilerTool BufferSecurityCheck" . . . "Microsoft Word DOCB File" . . . "Microsoft Word DOC File" . . . "Microsoft Word DOCM File" . . . "Microsoft Word DOCX File" . . . "Microsoft Word DOT File" . . . "Microsoft Word DOTM File" . . . "Microsoft Word DOTX File" . . . "Microsoft Word WBK File" . . . "-1"^^ . . . . . . . "D3-MFA" . . . . "https://csrc.nist.gov/publications/detail/sp/800-53/rev-4/archive/2013-04-30"^^ . "3"^^ . "NIST SP 800-53 R3" . "https://csrc.nist.gov/publications/detail/sp/800-53/rev-4/archive/2013-04-30" . . . "https://csrc.nist.gov/publications/detail/sp/800-53/rev-4/archive/2013-04-30"^^ . "4"^^ . "NIST SP 800-53 R4" . "https://csrc.nist.gov/publications/detail/sp/800-53/rev-4/archive/2015-01-22" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "https://csrc.nist.gov/publications/detail/sp/800-53/rev-5/final"^^ . "5"^^ . "NIST SP 800-53 R5" . "https://csrc.nist.gov/publications/detail/sp/800-53/rev-5/final" . . . . . "Remote Access | Disable Nonsecure Network Protocols" . "AC-17(8)" . . . . . . . . "Data Mining Protection" . "AC-23" . . . . . "Access Control Decisions" . "AC-24" . . . . . . "Access Control Decisions | Transmit Access Authorization Information" . "AC-24(1)" . . . . . . "Access Control Decisions | No User or Process Identity" . "AC-24(2)" . . . . . . "Account Management | Automated System Account Management" . "AC-2(1)" . . . . . "Account Management | Disable Accounts for High-risk Individuals" . "AC-2(13)" . . . . . "Account Management | Automated Temporary and Emergency Account Management" . "AC-2(2)" . . . . . "Account Management | Disable Accounts" . "AC-2(3)" . . . . . "Account Management | Automated Audit Actions" . "AC-2(4)" . . . . . "Account Management | Inactivity Logout" . "AC-2(5)" . . . . . "Account Management | Dynamic Privilege Management" . "AC-2(6)" . . . . . "Account Management | Privileged User Accounts" . "AC-2(7)" . . . . . . "Account Management | Restrictions on Use of Shared and Group Accounts" . "AC-2(9)" . . . . . . . "Access Enforcement" . "AC-3" . . . . . "Access Enforcement | Restrict Access to Specific Information Types" . "AC-3(11)" . . . . . "Access Enforcement | Attribute-based Access Control" . "AC-3(13)" . . . . . "Access Enforcement | Mandatory Access Control" . "AC-3(3)" . . . . . "Access Enforcement | Role-based Access Control" . "AC-3(7)" . . . . . . "Access Enforcement | Revocation of Access Authorizations" . "AC-3(8)" . . . . . . "Information Flow Enforcement" . "AC-4" . . . . . . "Information Flow Enforcement | Object Security and Privacy Attributes" . "AC-4(1)" . . . . . . "Information Flow Enforcement | Enable and Disable Security or Privacy Policy Filters" . "AC-4(10)" . . . . . . "Information Flow Enforcement | Configuration of Security or Privacy Policy Filters" . "AC-4(11)" . . . . . . "Information Flow Enforcement | Data Type Identifiers" . "AC-4(12)" . . . . . . "Information Flow Enforcement | Decomposition into Policy-relevant Subcomponents" . "AC-4(13)" . . . . . . "Information Flow Enforcement | Security or Privacy Policy Filter Constraints" . "AC-4(14)" . . . . . . "Information Flow Enforcement | Detection of Unsanctioned Information" . "AC-4(15)" . . . . . "Information Flow Enforcement | Domain Authentication" . "AC-4(17)" . . . . . . "Information Flow Enforcement | Validation of Metadata" . "AC-4(19)" . . . . . . "Information Flow Enforcement | Approved Solutions" . "AC-4(20)" . . . . . . "Information Flow Enforcement | Physical or Logical Separation of Information Flows" . "AC-4(21)" . . . . . "Information Flow Enforcement | Audit Filtering Actions" . "AC-4(26)" . . . . . . "Information Flow Enforcement | Redundant/independent Filtering Mechanisms" . "AC-4(27)" . . . . . . "Information Flow Enforcement | Linear Filter Pipelines" . "AC-4(28)" . . . . . . "Information Flow Enforcement | Filter Orchestration Engines" . "AC-4(29)" . . . . . . "Information Flow Enforcement | Dynamic Information Flow Control" . "AC-4(3)" . . . . . . "Information Flow Enforcement | Filter Mechanisms Using Multiple Processes" . "AC-4(30)" . . . . . . "Information Flow Enforcement | Process Requirements for Information Transfer" . "AC-4(32)" . . . . . . "Information Flow Enforcement | Flow Control of Encrypted Information" . "AC-4(4)" . . . . . . "Information Flow Enforcement | Embedded Data Types" . "AC-4(5)" . . . . . . "Information Flow Enforcement | Metadata" . "AC-4(6)" . . . . . . "Information Flow Enforcement | Security and Privacy Policy Filters" . "AC-4(8)" . . . . . . . "Separation of Duties" . "AC-5" . . . . . . . "Least Privilege" . "AC-6" . . . . . "Least Privilege | Authorize Access to Security Functions" . "AC-6(1)" . . . . . . . "Least Privilege | Prohibit Non-privileged Users from Executing Privileged Functions" . "AC-6(10)" . . . . . "Least Privilege | Network Access to Privileged Commands" . "AC-6(3)" . . . . . "Least Privilege | Separate Processing Domains" . "AC-6(4)" . . . . . . . "Least Privilege | Privileged Accounts" . "AC-6(5)" . . . . . . . "Least Privilege | Privileged Access by Non-organizational Users" . "AC-6(6)" . . . . . . "Least Privilege | Log Use of Privileged Functions" . "AC-6(9)" . . . . . "Unsuccessful Logon Attempts" . "AC-7" . . . . . "Unsuccessful Logon Attempts | Biometric Attempt Limiting" . "AC-7(3)" . . . . . "Unsuccessful Logon Attempts | Use of Alternate Authentication Factor" . "AC-7(4)" . . . . . "Non-repudiation | Digital Signatures" . "AU-10(5)" . . . . . "Session Audit | Capture and Record Content" . "AU-14(2)" . . . . . "Alternate Audit Logging Capability" . "AU-15" . . . . . "Event Logging" . "AU-2" . . . . . "Event Logging | Compilation of Audit Records from Multiple Sources" . "AU-2(1)" . . . . . "Event Logging | Selection of Audit Events by Component" . "AU-2(2)" . . . . . "Content of Audit Records" . "AU-3" . . . . . "Audit Log Storage Capacity" . "AU-4" . . . . . . "Signed Components" . "CM-14" . . . . . . . . "Access Restrictions for Change" . "CM-5" . . . . . "Access Restrictions for Change | Automated Access Enforcement and Audit Records" . "CM-5(1)" . . . . . . "Access Restrictions for Change | Signed Components" . "CM-5(3)" . . . . . . "Access Restrictions for Change | Privilege Limitation for Production and Operation" . "CM-5(5)" . . . . . . "Access Restrictions for Change | Limit Library Privileges" . "CM-5(6)" . . . . . "Configuration Settings | Unauthorized Change Detection" . "CM-6(3)" . . . . . "Identification and Authentication (organizational Users) | Multi-factor Authentication to Privileged Accounts" . "IA-2(1)" . . . . . "Identification and Authentication (organizational Users) | Multi-factor Authentication to Non-privileged Accounts" . "IA-2(2)" . . . . . "Identification and Authentication (organizational Users) | Local Access to Non-privileged Accounts" . "IA-2(4)" . . . . . "Identification and Authentication (organizational Users) | Access to Accounts \u2014separate Device" . "IA-2(6)" . . . . . "Incident Handling | Malicious Code and Forensic Analysis" . "IR-4(12)" . . . . . . "Incident Handling | Behavior Analysis" . "IR-4(13)" . . . . . "Maintenance Tools | Prevent Unauthorized Removal" . "MA-3(3)" . . . . . "Maintenance Tools | Restricted Tool Use" . "MA-3(4)" . . . . . "Maintenance Tools | Execution with Privilege" . "MA-3(5)" . . . . . "Maintenance Tools | Software Updates and Patches" . "MA-3(6)" . . . . . "Nonlocal Maintenance | Logging and Review" . "MA-4(1)" . . . . . "Timely Maintenance" . "MA-6" . . . . . "Timely Maintenance | Preventive Maintenance" . "MA-6(1)" . . . . . "Timely Maintenance | Predictive Maintenance" . "MA-6(2)" . . . . . "Timely Maintenance | Automated Support for Predictive Maintenance" . "MA-6(3)" . . . . . . . . . . . "Risk Assessment | Dynamic Threat Awareness" . "RA-3(3)" . . . . . . . . . . . "Risk Assessment | Predictive Cyber Analytics" . "RA-3(4)" . . . . . "Vulnerability Monitoring and Scanning" . "RA-5" . . . . . "Vulnerability Monitoring and Scanning | Update Vulnerabilities to Be Scanned" . "RA-5(2)" . . . . . "Vulnerability Monitoring and Scanning | Breadth and Depth of Coverage" . "RA-5(3)" . . . . . . "Vulnerability Monitoring and Scanning | Discoverable Information" . "RA-5(4)" . . . . . "Vulnerability Monitoring and Scanning | Privileged Access" . "RA-5(5)" . . . . . "Vulnerability Monitoring and Scanning | Automated Trend Analyses" . "RA-5(6)" . . . . . . "Vulnerability Monitoring and Scanning | Automated Detection and Notification of Unauthorized Components" . "RA-5(7)" . . . . . . "Developer Configuration Management | Software and Firmware Integrity Verification" . "SA-10(1)" . . . . . "Developer Configuration Management | Hardware Integrity Verification" . "SA-10(3)" . . . . . "Developer Configuration Management | Trusted Generation" . "SA-10(4)" . . . . . . "Developer Configuration Management | Mapping Integrity for Version Control" . "SA-10(5)" . . . . . . "Developer Configuration Management | Trusted Distribution" . "SA-10(6)" . . . . . "Developer Testing and Evaluation | Static Code Analysis" . "SA-11(1)" . . . . . "Developer Testing and Evaluation | Dynamic Code Analysis" . "SA-11(8)" . . . . . "Security and Privacy Engineering Principles | Trusted Communications Channels" . "SA-8(18)" . . . . . "Security and Privacy Engineering Principles | Accountability and Traceability" . "SA-8(22)" . . . . . . . "Separation of System and User Functionality" . "SC-2" . . . . . . . "Separation of System and User Functionality | Interfaces for Non-privileged Users" . "SC-2(1)" . . . . . . "Security Function Isolation" . "SC-3" . . . . . "Security Function Isolation | Hardware Separation" . "SC-3(1)" . . . . . "Flaw Remediation | Automated Patch Management Tools" . "SI-2(4)" . . . . . . . . "Flaw Remediation | Automatic Software and Firmware Updates" . "SI-2(5)" . . . . . . . . "Flaw Remediation | Removal of Previous Versions of Software and Firmware" . "SI-2(6)" . . . . . . . . "Malicious Code Protection" . "SI-3" . . . . . "Malicious Code Protection | Malicious Code Analysis" . "SI-3(10)" . . . . . . . "Malicious Code Protection | Updates Only by Privileged Users" . "SI-3(4)" . . . . . "Malicious Code Protection | Detect Unauthorized Commands" . "SI-3(8)" . . . . . "System Monitoring" . "SI-4" . . . . . "System Monitoring | Automated Tools and Mechanisms for Real-time Analysis" . "SI-4(2)" . . . . . "System Monitoring | Inbound and Outbound Communications Traffic" . "SI-4(4)" . . . . . . . . . . . . . "D3-NI" . . . . "D3-NM" . "3"^^ . . . . . . . . . . . . "D3-NNI" . . . . . . . . . . . . . . "D3-NTA" . . . . . "D3-NTCD" . . . . . . . . . . . . . "D3-NTF" . . . . . . "D3-NTPM" . . . . . "D3-NVA" . . . . . . . . . "D3-OTP" . . . . . . . . . . . . . . . "D3-OSM" . . . . . . . "D3-OAM" . . . . . . . . . . . "D3-ODM" . . . . . . . . . . . "D3-ORA" . . . . . . . . . . . . . "D3-OM" . "4"^^ . . . . . . . . . . . . . . . . . . "D3-OTF" . . . "PE32 Executable File" . . . "PE32+ Executable File" . . . . . . . . . . . "D3-PCA" . . . . "D3-PLLM" . . . "D3-PPLM" . . . . . . . . . . "D3-PHDURA" . . . . . . . "D3-PFV" . . . "3"^^ . . . . . . . . . . "D3-PLM" . . . . . . . . . "D3-PH" . . . . "D3-PM" . . . . . . . "D3-PAN" . . . . "Powershell Script File" . . . . "4"^^ . . . . . . . . . . "D3-PA" . . . . . . . . . . . . "D3-PCSV" . . . . . "D3-PE" . . . . . . . . . . . . . . . . . . . . . . . . . "D3-PLA" . . . . . . . "D3-PSEP" . . . . . "D3-PSMD" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "D3-PSA" . . . . . . "D3-PT" . . . . . . . . . . "D3-PMAD" . . . . "Python Script File" . . . . . . "D3-RFS" . . . . . . . . . . . . . "D3-RTA" . . . . . "https://car.mitre.org/analytics/CAR-2019-07-001/"^^ . "CAR-2019-07-001: Access Permission Modification" . "Adversaries sometimes modify object access rights at the operating system level. There are varying motivations behind this action - they may not want some files/objects to be changed on systems for persistence reasons and therefore provide admin only rights; also, they may want files to be accessible with lower levels of permissions." . "MITRE" . "" . "MITRE" . "Reference - CAR-2019-07-001: Access Permission Modification - MITRE" . . . . "https://patents.google.com/patent/US20190205511A1"^^ . "Account monitoring" . "Systems, methods, and related technologies for account access monitoring are described. In certain aspects, a login request associated with a device can be analyzed and a score determined. The score and a threshold can be used to determine whether to initiate an action." . "Chunhui Zhan, Siying Yang" . "" . "Forescout Technologies" . "Reference - Account monitoring - Forescout Technologies" . . . . "https://car.mitre.org/analytics/CAR-2019-08-002/"^^ . "CAR-2019-08-002: Active Directory Dumping via NTDSUtil" . "The NTDSUtil tool may be used to dump a Microsoft Active Directory database to disk for processing with a credential access tool such as Mimikatz. This is performed by launching ntdsutil.exe as a privileged user with command line arguments indicating that media should be created for offline Active Directory installation and specifying a folder path. This process will create a copy of the Active Directory database, ntds.dit, to the specified folder path." . "MITRE" . "" . "MITRE" . "Reference - CAR-2019-08-002: Active Directory Dumping via NTDSUtil - MITRE" . . . . "https://patents.google.com/patent/US6550012B1"^^ . "Active firewall system and methodology" . "System and methodology providing automated or \"proactive\" network security (\"active\" firewall) are described. The system implements methodology for verifying or authenticating communications, especially between network security components thereby allowing those components to share information. In one embodiment, a system implementing an active firewall is provided which includes methodology for verifying or authenticating communications between network components (e.g., sensor(s), arbiter, and actor(s)), using cryptographic keys or digital certificates. Certificates may be used to digitally sign a message or file and, in a complementary manner, to verify a digital signature. At the outset, particular software components that may participate in authenticated communication are specified, including creating a digital certificate for each such software component. Upon detection by a sensor that an event of interest that has occurred in the computer network system, the system may initiate authenticated communication between the sensor component and a central arbiter (e.g., \"event orchestrator\") component, so that the sensor may report the event to the arbiter or \"brain.\" Thereafter, the arbiter (if it chooses to act on that information) initiates authenticated communication between itself and a third software component, an \"actor\" component (e.g., \"firewall\"). The arbiter may indicate to the actor how it should handle the event. The actor or firewall, upon receiving the information, may now undertake appropriate action, such as dynamically creating or modifying rules for appropriately handling the event, or it may choose to simply ignore the information." . "Emilio Villa, Adrian Zidaritz, Michael David Varga, Gerhard Eschelbeck, Michael Kevin Jones, Mark James McArdle" . "" . "McAfee LLC" . "Reference - Active firewall system and methodology - McAfee LLC" . . . . " https://patents.google.com/patent/US10892951B2/"^^ . "Advanced device matching system" . "Disclosed is a device management system for discovery and management of components added to computer systems and sub-systems. The device management system provides for recognizing a newly added component, and determining if the newly added component is already a part of the system inventory. The newly added component is matched with a component currently on the system, based on at least one matching attribute. A point total is calculated for each match level and a final match score is provided. The match score is compared with an aggressiveness level to determine if a match does indeed exist." . "Rajneesh Jalan, Joseph M. Schmitt, and Marco Simoes" . "Device42 Inc" . "Reference - Advanced device matching system" . . . . "https://car.mitre.org/analytics/CAR-2015-07-001/"^^ . "CAR-2015-07-001: All Logins Since Last Boot" . "Once a credential dumper like mimikatz runs, every user logged on since boot is potentially compromised, because the credentials were accessed via the memory of lsass.exe. When such an event occurs, this analytic will give the forensic context to identify compromised users. Those users could potentially be used in later events for additional logons.\n\nThe time field indicates the first and last time a system reported a user logged into a given system. This means that activity could be intermittent between the times given and should not be considered a duration." . "MITRE" . "" . "MITRE" . "Reference - CAR-2015-07-001: All Logins Since Last Boot - MITRE" . . . . "https://web.archive.org/web/20140407025337/http://www.symantec.com/avcenter/reference/Windows_Vista_Security_Model_Analysis.pdf"^^ . "Analysis of the Windows Vista Security Model" . "This paper provides an in-depth technical assessment of the security improvements implemented in Windows Vista, focusing primarily on the areas of User Account Protection and User Interface Privilege Isolation. This paper discusses these features and touches on several of their shortcomings. It then demonstrates how it is possible to combine these attacks to gain full control over the machine from low integrity, low privilege process." . "Matthew Conover" . "" . "Symantec Corporation" . "Reference - Analysis of the Windows Vista Security Model - Symantec Corporation" . . . . "https://patents.google.com/patent/US20160226901A1"^^ . "Anomaly Detection Using Adaptive Behavioral Profiles" . "The invention provides a system and method for automatic creation of adaptive behavioral profiles for observables associated with resource states and events in a computer network (IT) infrastructure of an enterprise and for detecting anomalies that represent potential malicious activity and threats as deviations from normal behavior. Separate profiles may be created for each behavioral indicator, as well as for each time series of measurements, and aggregated to create an overall behavioral profile. An anomaly probability is determined from the behavioral profile and used to evaluate the data values of observables. Outlier data values which deviate from normal behavior by more than a predetermined probability threshold are identified for risk analysis as possible threats while inliers within the range of normal behavior are used to update the behavioral profile. Behavioral profiles are created for behavioral indicators based upon observables measured over predetermined time periods using algorithms employing statistical analysis approaches that work for any type of data distribution, and profiles are adapted over time using data aging to more closely represent current behavior. Algorithm parameters for creating profiles are based on the type of data, i.e., its metadata." . "Igor A. Baikalov; Tanuj Gulati; Sachin Nayyar; Anjaneya Shenoy; Ganpatrao H. Patwardhan" . "The patent describes a technique for detecting anomalous activity within an organization's IT infrastructure to identify threats. Behavioral profiles can be grouped by peer groups that identify functionally similar groups of actors (users or resources) based on their attributes and pre-defined grouping rules. For example, users can be grouped by their job title, organizational hierarchy, or location and can be observed for similarities in access patterns, based on granted access entitlements or actual logged resource access.\n\nBehavioral profiles are created from measurements of events over a time period for example:\n\n* Transaction counts\n* Concurrent users per hour\n* Daily volume of data\n\nOutlier data values which deviate from behavioral profile by more than a predetermined probability threshold are identified for risk analysis as possible threats." . "Securonix Inc" . "Reference - Anomaly Detection Using Adaptive Behavioral Profiles - Securonix Inc" . . . . "https://patents.google.com/patent/US20150052603A1"^^ . "Anti-tamper system with self-adjusting guards" . "An anti-tamper system is disclosed that includes self-adjusting guards inserted in software. Self-adjusting guards include invocation criteria and guard function. During run-time, each time the self-adjusting guard is invoked, the invocation criteria is evaluated and the guard function is only executed if the invocation criteria is satisfied. The invocation criteria can be static or dynamic, satisfied randomly with fixed or varying probability, a monotonically or exponentially decreasing function or most any other type of function. The invocation criteria can be satisfied based on elapsed inter-guard invocation time (time since last guard function execution), target inter-guard invocation time, and/or guard execution time. A method is disclosed of inserting self-adjusting guards into software, and executing the software. Evaluating the invocation criteria can include adjusting the invocation criteria when satisfied. The self-adjusting guards can be inserted into the software at a source or object code level." . "Kevin Dale Morgan" . "" . "ARXAN TECHNOLOGIES Inc" . "Reference - Anti-tamper system with self-adjusting guards - ARXAN TECHNOLOGIES Inc" . . . . "https://patents.google.com/patent/US20100174829A1/en?oq=20100174829"^^ . "Apparatus for to provide content to and query a reverse domain name system server" . "An apparatus is disclosed for to provide content to and query a reverse domain name system (DNS) server without depending on the kindness of domain name system registrars, registrants. DNS replies are observed by firewalls or filters, analyzed, and transmitted to a reverse domain name system server. An embodiment of the present invention can be within a DNS server or SMTP server." . "Dean Danko" . "This patent includes the description of a method of blocking email traffic from untrusted domains by analyzing the TCP/IP source IP addresses and blocking traffic for IPs whose reverse lookup response FQDN matches a denylist." . "Reference - Apparatus for to provide content to and query a reverse domain name system server - Barrracuda Networks" . . . . "https://patents.google.com/patent/US20170093922A1"^^ . "Architecture of transparent network security for application containers" . "A system comprises one or more application containers, each application container including computer-readable instructions and initiated via a container service and isolated using operating system-level virtualization. The system also comprises one or more virtual switches configured to route traffic from the application containers. The system further comprises one or more security containers, each security container configured to transparently intercept traffic from the one or more application containers for analysis of network security. The system further comprises a user interface (UI) container configured to receive configuration settings from a user. The system also comprises an analytics container configured to perform analysis on data received from the one or more security containers. The system also comprises a management container configured to configure settings for the one or more security containers and the analytics container." . "Gang Duan" . "" . "Neuvector Inc" . "Reference - Architecture of transparent network security for application containers - Neuvector Inc" . . . . . "https://docs.microsoft.com/en-us/windows/security/threat-protection/auditing/audit-user-account-management"^^ . "Audit User Account Management" . "Audit User Account Management determines whether the operating system generates audit events when specific user account management tasks are performed." . "Microsoft" . "Reference - Audit User Account Management" . . . . "https://patents.google.com/patent/US7308712B2"^^ . "Automated computer vulnerability resolution system" . "A system and process for addressing computer security vulnerabilities. The system and process generally comprise aggregating vulnerability information on a plurality of computer vulnerabilities; constructing a remediation database of said plurality of computer vulnerabilities; constructing a remediation signature to address the computer vulnerabilities; and deploying said remediation signature to a client computer. The remediation signature essentially comprises a sequence of actions to address a corresponding vulnerability. A managed automated approach to the process is contemplated in which the system is capable of selective deployment of remediation signatures; selective resolution of vulnerabilities; scheduled deployment of remediation signatures; and scheduled scanning of client computers for vulnerabilities." . "Carl E. Banzhof" . "McAfee LLC" . "Reference - Automated computer vulnerability resolution system" . . . . "https://patents.google.com/patent/US20170310689A1"^^ . "Automatically generating network resource groups and assigning customized decoy policies thereto" . "A cyber security system comprising circuitry of a decoy deployer planting one or more decoy lateral attack vectors in each of a first and a second group of resources within a common enterprise network of resources, the first and second groups of resources having different characteristics in terms of subnets, naming conventions, DNS aliases, listening ports, users and their privileges, and installed applications, wherein a lateral attack vector is an object of a first resource within the network that has a potential to be used by an attacker who discovered the first resource to further discover information regarding a second resource within the network, the second resource being previously undiscovered by the attacker, and wherein the decoy lateral attack vectors in the first group conform to the characteristics of the first group, and the decoy lateral attack vectors in the second group conform to the characteristics of the second group." . "Shlomo Touboul; Hanan Levin; Stephane Roubach; Assaf Mischari; Itai Ben David; Itay Avraham; Adi Ozer; Chen Kazaz; Ofer Israeli; Olga Vingurt; Liad Gareh; Israel Grimberg; Cobby Cohen; Sharon Sultan; Matan Kubovsky" . "" . "Illusive Networks Ltd" . "Reference - Automatically generating network resource groups and assigning customized decoy policies thereto - Illusive Networks Ltd" . . . . . "https://patents.google.com/patent/US20120054825"^^ . "Automatically generating rules for connection security" . "A method and system for creating security policies for firewall and connection policies in an integrated manner is provided. The security system provides a user interface through which a user can define a security rule that specifies both a firewall policy and a connection policy. After the security rule is specified, the security system automatically generates a firewall rule and a connection rule to implement the security rule. The security system provides the firewall rule to a firewall engine that is responsible for enforcing the firewall rules and provides the connection rule to an IPsec engine that is responsible for enforcing the connection rules" . "Charles D. Bassett; Eran Yariv; Ian M. Carbaugh; Lokesh Srinivas Koppolu; Maksim Noy; Sarah A. Wahlert; Pradeep Bahl" . "" . "Microsoft" . "Reference - Automatically generating rules for connection security - Microsoft" . . . . "https://car.mitre.org/analytics/CAR-2013-01-002/"^^ . "CAR-2013-01-002: Autorun Differences" . "The Sysinternals tool Autoruns checks the registry and file system for known identify persistence mechanisms. It will output any tools identified, including built-in or added-on Microsoft functionality and third party software. Many of these locations are known by adversaries and used to obtain Persistence. Running Autoruns periodically in an environment makes it possible to collect and monitor its output for differences, which may include the removal or addition of persistent tools. Depending on the persistence mechanism and location, legitimate software may be more likely to make changes than an adversary tool. Thus, this analytic may result in significant noise in a highly dynamic environment. While Autoruns is a convenient method to scan for programs using persistence mechanisms its scanning nature does not conform well to streaming based analytics. This analytic could be replaced with one that draws from sensors that collect registry and file information if streaming analytics are desired.\n\nUtilizes the Sysinternals autoruns tool (ignoring validated Microsoft entries). Primarily not a detection analytic by itself but through analysis of results by an analyst can be used for such. Building another analytic on top of this one identifying unusual entries would likely be a beneficial alternative." . "MITRE" . "" . "MITRE" . "Reference - CAR-2013-01-002: Autorun Differences - MITRE" . . . . "https://www.patentguru.com/US2021110015A1"^^ . "Biometric Challenge-Response Authentication" . "Secret biometric responses to authentication challenges for MFA.\n\nMethods, systems, and apparatus, including computer programs encoded on computer storage media, for authenticating users based on a sequence of biometric authentication challenges. In one aspect, a process includes receiving a first image of the face of the user and processing the first image according to a first authentication process to determine whether the face of the user shown in the first image matches the face of an authorized user. A second authentication process including a sequence of biometric authentication challenges is identified. The sequence includes at least one facial expression challenge. The user is authenticated in response to determining that the first authentication process is satisfied based on the face of the user shown in the first image matching the face of the authorized user and the second authentication process is satisfied based on the user providing a valid biometric response to each biometric authentication challenge." . "Ben McCarty, Ellie Daw" . "MITRE Analysis was not found." . "Accenture" . "Reference - Biometric Challenge-Response Authentication - Accenture" . . . . "https://patents.google.com/patent/US5920699A"^^ . "Broadcast isolation and level 3 network switch" . "A network switch comprising a switching Application Specific Integrated Circuit (ASIC) and a Virtual Switching Engine (VSE) connected to a plurality of ports. The switching ASIC has a high-speed memory table which enables it to look up addresses that it has previously obtained and to forward unicast packets to said addresses. The VSE is a CPU that makes switching decisions outside of the ASIC and keeps track of any unknown addresses, forwarding the packets out the appropriate ports and answers broadcast packets by proxy for all known addresses without forwarding any of the packets down the VLANs, thereby freeing the VLAN bandwidth from excessive traffic. The system requires no user configuration because the switching methodology is self-adaptive to the network in which it is inserted and has the ability to perform router functions such as level 2 and 3 switching, spanning tree protocols and compatibility with Internetwork Packet and Internetwork Packet Exchange networks." . "Ballard C. Bare" . "" . "Hewlett Packard Enterprise Development LP" . "Reference - Broadcast isolation and level 3 network switch - Hewlett Packard Enterprise Development LP" . . . . ""^^ . "CAR-2014-11-007: Remote Windows Management Instrumentation (WMI) over RPC" . "As described in ATT&CK, an adversary can use Windows Management Instrumentation (WMI) to view or manipulate objects on a remote host. It can be used to remotely edit configuration, start services, query files, and anything that can be done with a WMI class. When remote WMI requests are over RPC (CAR-2014-05-001), it connects to a DCOM interface within the RPC group netsvcs. To detect this activity, a sensor is needed at the network level that can decode RPC traffic or on the host where the communication can be detected more natively, such as Event Tracing for Windows. Using wireshark/tshark decoders, the WMI interfaces can be extracted so that WMI activity over RPC can be detected.\n\nAlthough the description details how to detect remote WMI precisely, a decent estimate has been to look for the string RPCSS within the initial RPC connection on 135/tcp. It returns a superset of this activity, and will trigger on all DCOM-related services running within RPC, which is likely to also be activity that should be detected between hosts. More about RPCSS at : rpcss_dcom_interfaces.html" . "MITRE" . "" . "MITRE" . "Reference - CAR-2014-11-007: Remote Windows Management Instrumentation (WMI) over RPC - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2016-04-004/"^^ . "Reference - CAR-2016-04-004: Successful Local Account Login" . "Reference - CAR-2016-04-004: Successful Local Account Login" . . . . . . . . . "https://www.3ds.com/products-services/catia/products/no-magic/addons/uaf-plugin/"^^ . "Catia UAF Plugin" . "MagicDraw offers the most robust standards compliant [Unified Architecture Framework (UAF)], DoDAF 2.0, MODAF 1.2, NAF 3, and NAF 4 via a UAF standardized solution. And what's more, No Magic fully supports all architectural framework products ensuring you achieve project results. No Magic also leads the industry in usability and interoprability, ensuring that you avoid unnecessary cost, schedule and performance risk." . "Dassault Systemes" . "Reference - Catia UAF Plugin" . . . . "https://owasp.org/www-community/controls/Certificate_and_Public_Key_Pinning"^^ . "Certificate and Public Key Pinning" . "Certificate and Public Key Pinning technical guide to implementing certificate and public key pinning." . "OWASP" . "OWASP" . "Reference - Certificate and Public Key Pinning" . . . . "https://www.certificate-transparency.org/"^^ . "Certificate Transparency" . "Google's Certificate Transparency project fixes several structural flaws in the SSL certificate system, which is the main cryptographic system that underlies all HTTPS connections.\n\nThese flaws weaken the reliability and effectiveness of encrypted Internet connections and can compromise critical TLS/SSL mechanisms, including domain validation, end-to-end encryption, and the chains of trust set up by certificate authorities." . "Google" . "Google" . "Reference - Certificate Transparency" . . . . "https://www.cisco.com/c/en/us/td/docs/routers/asr9000/software/asr9k_r4-0/addr_serv/command/reference/ir40asrbook_chapter1.html"^^ . "Cisco ASR 9000 Series Aggregation Services Routers - Access List Commands" . "An access control list (ACL) consists of one or more access control entries (ACEs) that collectively define the network traffic profile. This profile can then be referenced by Cisco IOS XR Software software features such as traffic filtering, priority or custom queueing, and dynamic access control. Each ACL includes an action element (permit or deny) and a filter element based on criteria such as source address, destination address, protocol, and protocol-specific parameters." . "Cisco" . "Reference - Cisco ASR 9000 Series Aggregation Services Routers - Access List Commands" . . . . "https://car.mitre.org/analytics/CAR-2014-11-008/"^^ . "CAR-2014-11-008: Command Launched from WinLogon" . "An adversary can use accessibility features (Ease of Access), such as StickyKeys or Utilman, to launch a command shell from the logon screen and gain SYSTEM access. Since an adversary does not have physical access to the machine, this technique must be run within Remote Desktop. To prevent an adversary from getting to the login screen without first authenticating, Network-Level Authentication (NLA) must be enabled. If a debugger is set up for one of the accessibility features, then it will intercept the process launch of the feature and instead execute a new command line. This analytic looks for instances of cmd.exe or powershell.exe launched directly from the logon process, winlogon.exe. It should be used in tandem with CAR-2014-11-003, which detects the accessibility programs in the command line." . "MITRE" . "" . "MITRE" . "Reference - CAR-2014-11-008: Command Launched from WinLogon - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2013-07-005/"^^ . "CAR-2013-07-005: Command Line Usage of Archiving Software" . "Before exfiltrating data that an adversary has collected, it is very likely that a compressed archive will be created, so that transfer times are minimized and fewer files are transmitted. There is variety between the tools used to compress data, but the command line usage and context of archiving tools, such as ZIP, RAR, and 7ZIP, should be monitored.\n\nIn addition to looking for RAR or 7z program names, command line usage of 7Zip or RAR can be detected with the flag usage of \"\\* a \\*\". This is helpful, as adversaries may change program names." . "" . "" . "" . "Reference - CAR-2013-07-005: Command Line Usage of Archiving Software - MITRE" . . . . "https://patents.google.com/patent/US20180197089A1/en?oq=US-2018197089-A1"^^ . "Computational modeling and classification of data streams" . "Example techniques described herein determine a signature or classification of a data stream such as a file. The classification can indicate whether the data stream is associated with malware. A processor can locate training analysis regions of training data streams based on predetermined structure data, and determining training model inputs based on the training analysis regions. The processor can determine a computational model based on the training model inputs. The computational model can receive an input vector and provide a corresponding feature vector. The processor can then locate a trial analysis region of a trial data stream based on the predetermined structure data and determine a trial model input. The processor can operate the computational model based on the trial model input to provide a trial feature vector, e.g., a signature. The processor can operate a second computational model to provide a classification based on the signature." . "Sven Krasser; David Elkind; Patrick Crenshaw; Brett Meyer" . "Provides a mechanism to classify files using file signatures based on a computational model. Training data that comprises at least a portion of a file, e.g. number of bytes, is used as input to the computational model to develop a file signature and classify the file as malware." . "Crowdstrike Inc" . "Reference - Computational modeling and classification of data streams - Crowdstrike Inc" . . . . "https://patents.google.com/patent/US10320815B2/en?oq=US-10320815-B2"^^ . "Computer-implemented methods and systems for identifying visually similar text character strings" . "Methods and systems are disclosed for selecting text character strings from a corpus of relevant strings that would commonly be considered to be visually similar to human viewer to an input string. The initial corpus may be any sufficiently broad or specific source of text, e.g., the names of users in a computer application system. The character strings in the corpus are classified such that direct, character-by-character comparisons may be limited to a small subset of likely-similar strings. The input string is then directly compared to strings that are likely to be similar to it, taking into account individual characters' similarities, combinations of characters that look similar to individual characters, transposition of characters, and simple additions and deletions." . "Raymond W. Wallace, III" . "Text input is compared to an engine of look-alike sets of text characters. An estimate of similar characters based on the engine is conducted, and an alert is triggered if the estimated similarity is lower than a given threshold." . "Greathorn Inc" . "Reference - Computer-implemented methods and systems for identifying visually similar text character strings - Greathorn Inc" . . . . "https://patents.google.com/patent/US8869308B2/en"^^ . "Computer motherboard having peripheral security functions" . "A secure motherboard for a computer, wherein each user accessible peripheral port is protected by hardware based peripheral protection circuitry soldered to the motherboard." . "Aviv Soffer" . "High Sec Labs Ltd" . "Reference - Computer motherboard having peripheral security functions" . . . . "https://patents.google.com/patent/US20130036472A1"^^ . "Computer Worm Defense System and Method" . "\"A computer worm defense system comprises multiple containment systems tied together by a management system. Each containment system is deployed on a separate communication network and contains a worm sensor and a blocking system. In various embodiments, the computer worm may be transported from a production network, where the computer worm is not readily identifiable, to an alternate network in the worm sensor where the computer worm may be readily identifiable. Computer worm identifiers generated by a worm sensor of one containment system can be provided not only to the blocking system of the same containment system, but can also be distributed by the management system to blocking systems of other containment systems.\"" . "Ashar Aziz" . "This patent describes network data being copied by a tap and then analyzed in an analysis environment to determine whether the network data is suspicious using a heuristic module. The analysis environment replays transmission of the suspicious network data between a configured replayer and a virtual machine to detect unauthorized activity." . "FireEye Inc" . "Reference - Computer Worm Defense System and Method - FireEye Inc" . . . . "https://docs.microsoft.com/en-us/windows-server/manage/windows-admin-center/configure/user-access-control"^^ . "Configure User Access Control and Permissions" . "When deployed on Windows Server, Windows Admin Center provides a centralized point of management for your server environment. By controlling access to Windows Admin Center, you can improve the security of your management landscape." . "Microsoft" . "Reference - Configure User Access Control and Permissions" . . . . . "https://car.mitre.org/analytics/CAR-2016-03-002/"^^ . "CAR-2016-03-002: Create Remote Process via WMIC" . "Adversaries may use Windows Management Instrumentation (WMI) to move laterally, by launching executables remotely.The analytic CAR-2014-12-001 describes how to detect these processes with network traffic monitoring and process monitoring on the target host. However, if the command line utility wmic.exe is used on the source host, then it can additionally be detected on an analytic. The command line on the source host is constructed into something like wmic.exe /node:\"\\\" process call create \"\\\". It is possible to also connect via IP address, in which case the string \"\\\" would instead look like IP Address.\n\nAlthough this analytic was created after CAR-2014-12-001, it is a much simpler (although more limited) approach. Processes can be created remotely via WMI in a few other ways, such as more direct API access or the built-in utility PowerShell." . "MITRE" . "" . "MITRE" . "Reference - CAR-2016-03-002: Create Remote Process via WMIC - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2019-04-004/"^^ . "CAR-2019-04-004: Credential Dumping via Mimikatz" . "Credential dumpers like Mimikatz can be loaded into memory and from there read data from another processes. This analytic looks for instances where processes are requesting specific permissions to read parts of the LSASS process in order to detect when credential dumping is occurring. One weakness is that all current implementations are \"overtuned\" to look for common access patterns used by Mimikatz." . "MITRE" . "" . "MITRE" . "Reference - CAR-2019-04-004: Credential Dumping via Mimikatz - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2019-08-001/"^^ . "CAR-2019-08-001: Credential Dumping via Windows Task Manager" . "The Windows Task Manager may be used to dump the memory space of lsass.exe to disk for processing with a credential access tool such as Mimikatz. This is performed by launching Task Manager as a privileged user, selecting lsass.exe, and clicking \"Create dump file\". This saves a dump file to disk with a deterministic name that includes the name of the process being dumped.\n\nThis requires filesystem data to determine whether files have been created." . "MITRE" . "" . "MITRE" . "Reference - CAR-2019-08-001: Credential Dumping via Windows Task Manager - MITRE" . . . . "https://www.mitre.org/research/technology-transfer/technology-licensing/cyber-command-system-cycs"^^ . "Cyber Command System (CYCS)" . "MITRE\u2019s Cyber Command System (CyCS) tool addresses the objective of improved mission assurance in cyberspace by enabling the mapping of mission operations to the network operations that support those missions. This tool provides mission-impact assessment through situational awareness and impact analysis. CyCS addresses mission-assurance challenges for highly distributed enterprise systems of systems through vulnerability, threat, and consequence management." . "MITRE" . "Reference - Cyber Command System (CYCS)" . . . . "https://car.mitre.org/analytics/CAR-2013-10-002/"^^ . "CAR-2013-10-002: DLL Injection via Load Library" . "Microsoft Windows allows for processes to remotely create threads within other processes of the same privilege level. This functionality is provided via the Windows API CreateRemoteThread. Both Windows and third-party software use this ability for legitimate purposes. For example, the Windows process csrss.exe creates threads in programs to send signals to registered callback routines. Both adversaries and host-based security software use this functionality to inject DLLs, but for very different purposes. An adversary is likely to inject into a program to evade defenses or bypass User Account Control, but a security program might do this to gain increased monitoring of API calls. One of the most common methods of DLL Injection is through the Windows API LoadLibrary.\n\nAllocate memory in the target program with VirtualAllocEx\nWrite the name of the DLL to inject into this program with WriteProcessMemory\nCreate a new thread and set its entry point to LoadLibrary using the API CreateRemoteThread.\nThis behavior can be detected by looking for thread creations across processes, and resolving the entry point to determine the function name. If the function is LoadLibraryA or LoadLibraryW, then the intent of the remote thread is clearly to inject a DLL. When this is the case, the source process must be examined so that it can be ignored when it is both expected and a trusted process." . "MITRE" . "" . "MITRE" . "Reference - CAR-2013-10-002: DLL Injection via Load Library - MITRE" . . . . "https://datatracker.ietf.org/doc/html/rfc8904"^^ . "DNS Whitelist (DNSWL) Email Authentication Method Extension" . "Reference - DNS Whitelist (DNSWL) Email Authentication Method Extension" . . . . "https://docs.microsoft.com/en-us/cpp/build/reference/dynamicbase-use-address-space-layout-randomization?view=vs-2019"^^ . "/DYNAMICBASE (Use address space layout randomization)" . "Microsoft" . "" . "Microsoft" . "Reference - /DYNAMICBASE (Use address space layout randomization) - Microsoft Docs" . . . . "https://www.jhuapl.edu/dagger/documents/DaggerFactSheet.pdf"^^ . "Dagger Fact Sheet" . "Dagger is a modeling and visualization tool suite that shows how system failures impact mission status. Updated with manual or real-time status, Dagger is used for mission/system planning, situational awareness during mission execution, and course-of-action analysis." . "Jackie Soenneker" . "JHU APL" . "Reference - Dagger Fact Sheet" . . . . "https://ieeexplore.ieee.org/document/7795296"^^ . "Dagger: Modeling and visualization for mission impact situational awareness" . "Dagger is a modeling and visualization framework that addresses the challenge of representing knowledge and information for decision-makers, enabling them to better comprehend the operational context of network security data. It allows users to answer critical questions such as \u201CGiven that I care about mission X, is there any reason I should be worried about what is going on in cyberspace?\u201D or \u201CIf this system fails, will I still be able to accomplish my mission?\u201D." . "Elisha Peterson" . "JHU APL" . "Reference - Dagger: Modeling and visualization for mission impact situational awareness" . . . . "https://docs.microsoft.com/en-us/windows/security/threat-protection/overview-of-threat-mitigations-in-windows-10#data-execution-prevention"^^ . "Mitigate threats by using Windows 10 security features: Data Execution Prevention" . "Malware depends on its ability to insert a malicious payload into memory with the hope that it will be executed later. Wouldn't it be great if you could prevent malware from running if it wrote to an area that has been allocated solely for the storage of information?\n\nData Execution Prevention (DEP) does exactly that, by substantially reducing the range of memory that malicious code can use for its benefit. DEP uses the No eXecute bit on modern CPUs to mark blocks of memory as read-only so that those blocks can't be used to execute malicious code that may be inserted by means of a vulnerability exploit." . "Nick Schonning, Daniel Simpson, Marty Hernandez Avedon, Trond B. Krokli, jreeds, jcaparas, Andres Mariano Gorzelany, Tina Burden, Thomas Raya, Justin Hall, justanotheranonymoususer, Liza Poggemeyer, Dani Halfin, imba-tjd (Authors for entire page)" . "" . "Microsoft" . "Reference - Mitigate threats by using Windows 10 security features: Data Execution Prevention - Microsoft" . . . . "https://patents.google.com/patent/US11240273B2/"^^ . "Data processing and scanning systems for generating and populating a data inventory" . "In particular embodiments, a data processing data inventory generation system is configured to: (1) generate a data model (e.g., a data inventory) for one or more data assets utilized by a particular organization; (2) generate a respective data inventory for each of the one or more data assets; and (3) map one or more relationships between one or more aspects of the data inventory, the one or more data assets, etc. within the data model. In particular embodiments, a data asset (e.g., data system, software application, etc.) may include, for example, any entity that collects, processes, contains, and/or transfers personal data (e.g., such as a software application, \u201Cinternet of things\u201D computerized device, database, website, data-center, server, etc.). The system may be configured to identify particular data assets and/or personal data in data repositories using any suitable intelligent identity scanning technique." . "Kabir A. Barday, Mihir S. Karanjkar, Steven W. Finch, Ken A. Browne, Nathan W. Heard, Aakash H. Patel, Jason L. Sabourin, Richard L. Daniel, Dylan D. Patton-Kuhl, Jonathan Blake Brannon" . "OneTrust LLC" . "Reference - Data processing and scanning systems for generating and populating a data inventory" . . . . . "https://patents.google.com/patent/US20050091319A1/"^^ . "Database for receiving, storing and compiling information about email messages" . "Steven Kirsch" . "Reference - Database for receiving, storing and compiling information about email messages" . . . . "https://nebelwelt.net/files/15LangSec.pdf"^^ . "The Correctness-Security Gap in Compiler Optimization" . "There is a significant body of work devoted to testing, verifying, and certifying the correctness of optimizing compilers. The focus of such work is to determine if source code and optimized code have the same functional semantics. In this paper, we introduce the correctness-security gap, which arises when a compiler optimization preserves the functionality of but violates a security guarantee made by source code. We show with concrete code examples that several standard optimizations, which have been formally proved correct, inhabit this correctness-security gap. We analyze this gap and conclude that it arises due to techniques that model the state of the program but not the state of the underlying machine. We propose a broad research program whose goal is to identify, understand, and mitigate the impact of security errors introduced by compiler optimizations. Our proposal includes research in testing, program analysis, theorem proving, and the development of new, accurate machine models for reasoning about the impact of compiler optimizations on security." . "Vijay D'Silva, Mathias Payer, Dawn Song" . "Google Inc, Purdue University, UC Berkeley" . "Reference - Dead code elimination" . . . . "https://car.mitre.org/analytics/CAR-2014-11-006/"^^ . "CAR-2014-11-003: Debuggers for Accessibility Applications" . "The Windows Registry location HKLM\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options allows for parameters to be set for applications during execution. One feature used by malicious actors is the \"Debugger\" option. When a key has this value enabled, a Debugging command line can be specified. Windows will launch the Debugging command line, and pass the original command line in as an argument. Adversaries can set a Debugger for Accessibility Applications. The analytic looks for the original command line as an argument to the Debugger. When the strings \"sethc.exe\", \"utilman.exe\", \"osk.exe\", \"narrator.exe\", and \"Magnify.exe\" are detected in the arguments, but not as the main executable, it is very likely that a Debugger is set.\n\nThis analytic could depend on the possibility of the known strings used as arguments for other applications used in the day-to-day environment. Although the chance of the string \"sethc.exe\" being used as an argument for another application is unlikely, it still is a possibility." . "MITRE" . "" . "MITRE" . "Reference - CAR-2014-11-003: Debuggers for Accessibility Applications - MITRE" . . . . "https://patents.google.com/patent/US20140250524A1/en?oq=US-2014250524-A1"^^ . "Deception-Based Responses to Security Attacks" . "Deception-based techniques for responding to security attacks are described herein. The techniques include transitioning a security attack to a monitored computing device posing as a computing device impacted by the security attack and enabling the adversary to obtain deceptive information from the monitored computing device. Also, the adversary may obtain a document configured to report identifying information of an entity opening the document, thereby identifying the adversary associated with the attack. Further, the techniques include determining that a domain specified in a domain name request is associated with malicious activity and responding to the request with a network address of a monitored computing device to cause the requesting process to communicate with the monitored computing device in place of an adversary server. Additionally, a service may monitor dormant domains names associated with malicious activity and, in response to a change, respond with an alert or a configuration update." . "Adam S. Meyers; Dmitri Alperovitch; George Robert Kurtz; David F. Diehl; Sven Krasser" . "" . "Crowdstrike Inc" . "Reference - Deception-Based Responses to Security Attacks - Crowdstrike Inc" . . . . . "https://patents.google.com/patent/US20170134423A1"^^ . "Decoy and deceptive data object technology" . "A computer implemented method of detecting unauthorized access to a protected network by monitoring a dynamically updated deception environment, comprising launching, on one or more decoy endpoints, one or more decoy operating system (OS) managing one or more of a plurality of deception applications mapping a plurality of applications executed in a protected network, updating dynamically a usage indication for a plurality of deception data objects deployed in the protected network to emulate usage of the plurality of deception data objects for accessing the deception application(s) wherein the plurality of deception data objects are configured to trigger an interaction with the deception application(s) when used, detecting usage of data contained in the deception data object(s) by monitoring the interaction and identifying one or more potential unauthorized operations based on analysis of the detection." . "Dean Sysman; Gadi Evron; Imri Goldberg; Itamar Sher; Shmuel Ur" . "" . "Cymmetria Inc" . "Reference - Decoy and deceptive data object technology - Cymmetria Inc" . . . . "https://patents.google.com/patent/US10873601B1"^^ . "Decoy network-based service for deceiving attackers" . "A decoy network-based service uses a decoy credential to lure an attacker to access the decoy network-based service, and monitors the attacker's activity with respect to the decoy network-based service to determine the attacker's motivation. In various examples, a decoy credential is published on an Internet-accessible site, and a system that provides a network-based service (e.g., a service provider network) subsequently receives an access request from a computing device that includes the decoy credential. Based on the decoy credential, the computing device may be provided access to a decoy network-based service, and application programming interface (API) calls made by the computing device may be routed through a decoy control plane. The data relating to the API calls may be stored and analyzed to determine a motivation of the attacker, which may be used in various downstream applications to improve security for customers of the network-based service." . "Thomas Stickle" . "MITRE analysis was not found." . "Amazon Technologies" . "Reference - Decoy Network-Based Service for Deceiving Attackers - Amazon Technologies" . . . . "https://web.archive.org/web/20180407204216/https://isc.sans.edu/diary/Decoy+Personas+for+Safeguarding+Online+Identity+Using+Deception/16159"^^ . "Decoy Personas for Safeguarding Online Identity Using Deception" . "What if online scammers weren't sure whether the user account they are targeting is really yours, or whether the information they compiled about you is real? It's worth considering whether decoy online personas might help in the quest to safeguard our digital identities and data.\n\nI believe deception tactics, such as selective and careful use of honeypots, holds promise for defending enterprise IT resources. Some forms of deception could also protect individuals against online scammers and other attackers. This approach might not be quite practical today for most people, but in the future we might find it both necessary and achievable.\n\nHuman attackers and malicious software pursue user accounts and data on-line through harvesting, phishing, password-guessing, software vulnerabilities, and various other means. How might we use decoys to confuse, misdirect, slow down and detect adversaries engaged in such activities?\n\n...\n\nThe wealth of personal details available on social networking sites allows attackers to target individuals using social engineering, secret question-guessing and other techniques. For some examples of such approaches, see The Use of Fake or Fraudulent LinkedIn Profiles and Data Mining Resumes for Computer Attack Reconnaissance.\n\nSetting up one or more fake social network profiles (e.g., on Facebook) that use the person's real name can help the individual deflect the attack or can act as an early warning of an impending attack. A decoy profile could purposefully expose some inaccurate information, while the person's real profile would be more carefully concealed using the site's privacy settings. Decoy profiles would be associated with spamtrap email addresses.\n\nSimilarly, the person could expose decoy profiles on other sites, for instance those reveal shopping habits (e.g., Amazon), musings (e.g., Twitter), skills (e.g., GitHub), travel (e.g., TripIt), affections (e.g., Pinterest), music taste (e.g., Pandora) and so on. The person's decoy identities could also have fake resumes available on sites such as Indeed and Monster.com." . "Lenny Zeltser" . "" . "SANS" . "Reference - Decoy Personas for Safeguarding Online Identity Using Deception - MITRE" . . . . "https://www.researchgate.net/publication/338660054_DETECTING_DDoS_ATTACK_USING_Snort"^^ . "DETECTING DDoS ATTACK USING Snort" . "A DDoS (Distributed Denial-of-Service) attack is very common and easy toexecute and does not require any sophisticated tools. It can happen to anyone. In this project we deploy snort in our home network as a NIDS (Network Intrusion Detection System) to detect a DDoS attack and prevent it." . "Manas Gogoi, Sourav Mishra" . "Indian Institute of Information Technology Allahabad" . "Reference - Detecting DDoS Attack Using Snort" . . . . "https://patents.google.com/patent/US20150264078A1"^^ . "Detecting network reconnaissance by tracking intranet dark-net communications" . "A method and system for detecting network reconnaissance is disclosed wherein network traffic can be parsed into unidirectional flows that correspond to sessions. A learning module may categorize computing entities inside the network into assets and generate asset data to monitor the computing entities. If one or more computing entities address a flow to an address of a host that no longer exists, ghost asset data may be recorded and updated in the asset data. When a computing entity inside the network contacts an object in the dark-net, the computing entity may be recorded a potential mapper. When the computing entity tries to contact a number of objects in the dark-net, such that a computed threshold is exceeded, the computing entity is identified a malicious entity performing network reconnaissance." . "Nicolas BEAUCHESNE; Sungwook Yoon" . "This patent describes detecting an attacker performing internal reconnaissance within an organization's network to gather intelligence about the configuration of the network or identify the next target. Network packets are collected (ex. tapped from a network switch) and processed to create flows that are used to map out the network to identify network assets as well as ghost assets (addresses not assigned to a device or an existing device that is temporarily disabled). Once this mapping is complete it is used to monitor the network to determine if an attacker is attempting to connect to a ghost asset. If an attacker attempts to connect to a ghost asset over a threshold (ex. contacting four ghost assets in less than seven minutes), an alert is generated." . "VECTRA NETWORKS Inc" . "Reference - Detecting network reconnaissance by tracking intranet dark-net communications - VECTRA NETWORKS Inc" . . . . . "https://patents.google.com/patent/US20190188384A1"^^ . "Detecting script-based malware" . "Described herein are systems, techniques, and computer program products for preventing execution, by a scripting engine, of harmful commands that may be introduced by computer malware or other mechanisms. The system identifies certain host processes that may attempt to utilize a hosted scripting engine. An unmanaged interface module is injected into an identified host process. The unmanaged interface module is configured to detect certain conditions indicating the likelihood that a scripting engine will be instantiated, and in response to inject a managed interface module into the host process. The managed interface module hooks into certain methods of the scripting engine to intercept commands before they are executed by the scripting engine. The managed and unmanaged interface components then communicate with a kernel-mode threat detection component to determine whether any commands should be blocked." . "Ion-Alexandru IONESCU; Satoshi Tanda" . "The patent describes techniques that can be implemented to detect and block malicious commands and command scripts from being executed by scripting engines.\n\n### Script Execution Monitoring explanation\nThis patent describes software installed on the host system that hooks into methods of a scripting engine to intercept commands before they are executed and block commands if they are determined to be harmful. For example regular expression checking may be used to identify commands having malicious patterns. Expression checking may be used for script files as well as interactively - typed commands.\n\n### File Content Signatures explanation\nThis patent includes File Content Signatures because in the case of a script file, a hash of the file is compared against hashes of known malicious script files to determine whether the script file is malicious." . "Crowdstrike Inc" . "Reference - Detecting script-based malware - Crowdstrike Inc" . . . . "http://essay.utwente.nl/79263/1/Yazdani_MA_EEMCS.pdf"^^ . "Detection of Malicious IDN Homoglyph Domains Using Active DNS Measurements" . "At early stages of Internet development, users were only able to register or access domains with ASCII characters. The introduction of IDN (Internationalized Domain Name) which uses the larger Unicode character set, made it possible for regional users to deal with domain names using their local language alphabet. Beside the advantages provided by IDN, a new type of network threats has also emerged. The reason behind this is that there are many similar-looking characters in Unicode system, called homoglyphs. These characters could be used by an attacker to lure users by replacing one or more characters of a benign domain." . "Ramin Yazdani" . "University of Twente" . "Reference - Detection of Malicious IDNHomoglyph Domains" . . . . "https://patents.google.com/patent/US20190180036A1/en?oq=US-2019180036-A1"^^ . "Deterministic method for detecting and blocking of exploits on interpreted code" . "In one aspect, a method useful for preventing exploitation of a vulnerability in an interpreted code by monitoring and validating an execution of the interpreted code in a script file by an application server, includes the step of generating a mapping for an incoming network connection to a specified script file to be executed by an application server. The computerized method includes the step of inserting a hook for monitoring an application programming interface (API) call or a privileged instruction executed by the application server. The computerized method includes the step of inserting a validation code configured to validate the API call or the privileged instruction executed by the interpreted code in a script." . "Jayant Shukla" . "This patent describes a technique for monitoring API calls. During execution of interpreted code the observed API calls are validated against a whitelist of API calls for that interpreted code file. Action is taken if the observed API call is not in accordance with the list." . "K2 Cyber Security Inc" . "Reference - Deterministic method for detecting and blocking of exploits on interpreted code - K2 Cyber Security Inc" . . . . "https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-63-3.pdf"^^ . "Digital Identity Guidelines" . "NIST" . "NIST" . "Reference - Digital Identity Guidelines 800-63-3" . . . . "https://patents.google.com/patent/US20070028302A1/en?oq=US-2007028302-A1"^^ . "Distributed meta-information query in a network" . "A security system provides a defense from known and unknown viruses, worms, spyware, hackers, and social engineering attacks. The system can implement centralized policies that allow an administrator to approve, block, quarantine, and log file activities. A server associated with a number of hosts can provide a query for host computers to access security-related meta-information in local host stores. The query is pulled from the server by the hosts. The results of the distributed host query are stored and merged on the server, and exported for display, reports, or security response." . "Todd Brennan; John Hanratty" . "Provides a mechanism to detect, monitor, locate, and control files installed on host computers. Each host has a host agent that analyzes file system activity and takes action based on policies configured on a server. The policies identify whether to block, log, allow, or quarantine actions such as file accesses and execution of executables. Examples of policies include:\n\n* Block/log execution of new executables and detached scripts (e.g., .exe or .bat)\n* Block/log reading/execution of new embedded content (e.g., macros in .doc)\n* Block/log installation/modification of Web content (alteration of content in .html or .cgi files)\n* Block/log execution of new files in an administratively defined 'class'; e.g., an administrator might want to block screen savers .scr, but not the entire class of executables .exe, .dll, .sys, etc . . ." . "Bit 9 Inc" . "Reference - Distributed meta-information query in a network - Bit 9 Inc" . . . . "https://patents.google.com/patent/US20170026400A1/"^^ . "Domain age registration alert" . "Systems and methods of identifying a security risk by monitoring and generating alerts based on attempts to access web domains that have been registered within a short period of time and are therefore identified as \"high-risk,\" including identifying an attempt to access a domain; receiving a registration date of the domain; and detecting a security risk based on the registration date of the domain." . "Samuel Adams; H D. Moore" . "" . "Rapid7 Inc." . "Reference - Domain age registration alert - Inc Rapid7 Inc RAPID7 Inc" . . . . "https://tools.ietf.org/html/rfc6376"^^ . "RFC 6376: DomainKeys Identified Mail (DKIM) Signatures" . "DomainKeys Identified Mail (DKIM) permits a person, role, or organization that owns the signing domain to claim some responsibility for a message by associating the domain with the message. This can be an author's organization, an operational relay, or one of their agents. DKIM separates the question of the identity of the Signer of the message from the purported author of the message. Assertion of responsibility is validated through a\ncryptographic signature and by querying the Signer's domain directly\nto retrieve the appropriate public key. Message transit from author to recipient is through relays that typically make no substantive change to the message content and thus preserve the DKIM signature." . "D. Crocker, T. Hansen, M. Kucherawy" . "Internet Engineering Task Force (IETF)" . "Reference - RFC 6376: DomainKeys Identified Mail (DKIM) Signatures - IETF" . . . . . "https://patents.google.com/patent/US9882929B1/en?oq=US-9882929-B1"^^ . "Dynamic selection and generation of a virtual clone for detonation of suspicious content within a honey network" . "Techniques for dynamic selection and generation of detonation location of suspicious content with a honey network are disclosed. In some embodiments, a system for dynamic selection and generation of detonation location of suspicious content with a honey network includes a virtual machine (VM) instance manager that manages a plurality of virtual clones executed in an instrumented VM environment, in which the plurality of virtual clones executed in the instrumented VM environment correspond to the honey network that emulates a plurality of devices in an enterprise network; and an intelligent malware detonator that detonates a malware sample in at least one of the plurality of virtual clones executed in the instrumented VM environment." . "Taylor Ettema; Huagang Xie" . "" . "Palo Alto Networks Inc" . "Reference - Dynamic selection and generation of a virtual clone for detonation of suspicious content within a honey network - Palo Alto Networks Inc" . . . . "https://patents.google.com/patent/US10440059B1"^^ . "Embedding contexts for on-line threats into response policy zones" . "Hierarchical threat intelligence embedded in subdomain CNAMEs of a DNS denylist.\n\nIn one embodiment, a response policy zone (RPZ) application generates an RPZ that includes contexts for the on-line threats that are associated with domain names. For a domain name that is associated with an on-line threat, the RPZ application determines a threat specification that describes a characteristic of the on-line threat. The RPZ application then generates an alias based on the domain name and the threat specification. Subsequently, the RPZ application generates a domain name system (DNS) resource record that maps the domain name to the alias, includes the resource record in the RPZ, and transmits the RPZ to a DNS name server that implements the RPZ. Upon receiving a DNS query associated with the domain name, the DNS name server generates a DNS response based on the alias. Because the domain name and the threat specification is reflected in the alias, the DNS response automatically provides a relevant context." . "Ben McCarty" . "MITRE Analysis was not found." . "Reference - Embedding contexts for on-line threats into response policy zones - Verisign Inc" . . . . "https://patents.google.com/patent/US9847992B2/en?q=certificate+pinning&oq=certificate+pinning"^^ . "End-to-end Certificate Pinning" . "Some embodiments implement end-to-end certificate pinning for content intake from various content providers and for content distribution to various end users. To ensure secure retrieval of content provider content, the content distributor pins the content provider to one or more certificate authorities." . "Tin Zaw, Reed Morrison, Robert J. Peters" . "Verizon Digital Media Services Inc" . "Reference - End-to-end certificate pinning" . . . . "https://ieeexplore.ieee.org/document/1425209"^^ . "Enhancing Network Security By Preventing User-Initiated Malware Execution" . "In this paper, we describe characteristics of the most widely used defense techniques for the blocking of user-initiated malware and why these techniques are insufficient. We then introduce a module verification strategy that will eliminate, or at least severely reduce, this problem by extending the classic \"defense in depth\" network security strategy. We then describe how the augmentation of a standard operating system loader to include references to a database of cryptographic hashes of module executables can be used to implement this strategy. Finally, we describe our efforts towards the creation of a prototype system that implements the module verification strategy." . "John V. Harrison" . "This paper describes application whitelisting. New software executable code is compared to a database of allowed software to determine if the new executable code should be loaded and executed. A database of cryptographic hashes is first created for all allowed software executables. Prior to loading any new executable code, a hash is computed and compared against the hash database. If the hash for the new code does not appear in the database, the executable is not loaded and executed." . "" . "Reference - Enhancing Network Security By Preventing User-Initiated Malware Execution - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2013-05-004/"^^ . "CAR-2013-05-004: Execution with AT" . "In order to gain persistence, privilege escalation, or remote execution, an adversary may use the Windows built-in command AT (at.exe) to schedule a command to be run at a specified time, date, and even host. This method has been used by adversaries and administrators alike. Its use may lead to detection of compromised hosts and compromised users if it is used to move laterally. The built-in Windows tool schtasks.exe (CAR-2013-08-001) offers greater flexibility when creating, modifying, and enumerating tasks. For these reasons, schtasks.exe is more commonly used by administrators, tools/scripts, and power users." . "" . "" . "" . "Reference - CAR-2013-05-004: Execution with AT - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2013-08-001/"^^ . "CAR-2013-08-001: Execution with schtasks" . "The Windows built-in tool schtasks.exe provides the creation, modification, and running of scheduled tasks on a local or remote computer. It is provided as a more flexible alternative to at.exe, described in CAR-2013-05-004. Although used by adversaries, the tool is also legitimately used by administrators, scripts, and software configurations. The scheduled tasks tool can be used to gain Persistence and can be used in combination with a Lateral Movement technique to remotely gain execution. Additionally, the command has parameters to specify the user and password responsible for creating the task, as well as the user and password combination that the task will run as. The /s flag will cause a task to run as the SYSTEM user, usually indicating privilege escalation." . "" . "" . "" . "Reference - CAR-2013-08-001: Execution with schtasks - MITRE" . . . "https://blogs.gartner.com/john_pescatore/2008/10/02/this-week-in-network-security-history-the-firewall-toolkit/"^^ . "FWTK - Firewall Toolkit" . "delivered to DARPA in ~1993" . "" . "" . "" . "Reference - FWTK - Firewall Toolkit" . . . . "https://web.archive.org/web/20070510153306/http://www.fwtk.org/fwtk/docs/documentation.html#1.1"^^ . "FWTK Documentation" . "In case you don't already know, FWTK stands for the FireW all Tool Kit. It is used as a base to create a secure firewall system. If you need good documentation, please read the source code. If you are not familiar with C or do not feel comfortable with performing the configuration and security verification yourself, then I would suggest that you purchase a commercial firewall from a vendor (such as TIS, Checkpoint, Raptor, etc.).\n\nA machine needs other tools to secure it, including, but hardly limited to, tools to check files (tripwire), audit tools (tiger/cops), secure access methods (kerberos/ssh), something to watch logs and machine states (swatch/watcher some to mind) and filtering and routing tools such as screend/ipfilterd/ipacl.\n\nAgain, I would recommend that you do not proceed to build a production FWTK firewall unless you are familiar with UNIX security." . "fwtk.org" . "fwtk.org" . "Reference - FWTK Documentation - fwtk.org" . . . . "https://patents.google.com/patent/US20180121650A1/en?oq=US-2018121650-A1"^^ . "File-modifying malware detection" . "A security agent implemented on a computing device is described herein. The security agent is configured to detect file-modifying malware by detecting that a process is traversing a directory of the memory of the computing device and detecting that the process is accessing files in the memory according to specified file access patterns. The security agent can also be configured to correlate actions of multiple processes that correspond to a specified file access pattern and detect that one or more of the multiple processes are malware by correlating their behavior." . "Daniel W. Brown" . "This patent describes a technique for detecting file modifying malware such as wipers and ransomware that overwrite portions of files and encrypt portions of a computer's memory, respectively. Processes that are traversing a directory are identified along with file access patterns. Processes executing on a computing device that are traversing a directory include:\n\n* changing a directory of a process (e.g., iteratively, systematically, repeatedly)\n* detecting that a process is conducting an \"open directory\" operation repeatedly\n* the same process traversing through a directory and recording the locations of data files encountered in each sub - directory\n\nIn addition to identifying processes traversing a directory, particular file access patterns are also detected that may be indicative of malicious behavior including:\n* multiple file types being accessed\n* accessing a large number of files\n* files located in multiple locations in the directory being accessed\n\nIf a process is conducting a traversal of the directory and accessing files according to a defined access pattern associated with malicious behavior, a preventative action is performed." . "Crowdstrike Inc" . "Reference - File-modifying malware detection - Crowdstrike Inc" . . . . "https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-2000-server/bb727008(v=technet.10)?redirectedfrom=MSDN"^^ . "File and Folder Permissions" . "Microsoft" . "Reference - File and Folder Permissions" . . . . . . "https://patents.google.com/patent/US8839418B2/"^^ . "Finding phishing sites" . "Geoffrey John Hulten, Paul Stephen Rehfuss, Robert Rounthwaite, Joshua Theodore Goodman, Gopalakrishnan Seshadrinathan, Anthony P. Penta, Manav Mishra, Roderic C. Deyo, Elliott Jeb Haber, David Aaron Ward Snelling" . "Reference - Finding phishing sites" . . . . "https://patents.google.com/patent/GB2317539A"^^ . "Firewall for interent access" . "Regulating the flow of internetwork connections through a firewall (10) having a network protocol stack (14,16,18) which includes an Internet Protocol (IP) layer (16). A determination is made of the parameters characteristic of a connection request, including a netelement parameter characteristic of where the connection request came from. A query is generated and a determination is made whether there is a rule corresponding to that query. If there is a rule corresponding to the query, a determination is made whether authentication is required by the rule. If authentication is required by the rule, an authentication protocol is activated and the connection is activated if the authentication protocol is completed successfully." . "Edward B Stockwell, Alan E Klietz" . "" . "Secure Computing LLC" . "Reference - Firewall for interent access - Secure Computing LLC" . . . . "https://patents.google.com/patent/US7073196B1"^^ . "Firewall for processing a connectionless network packet" . "The present invention is a device for and method of accessing a network by initializing a database, an approved list, and a disapproved list; receiving an connectionless network packet; computing a flow tag based on the connectionless network packet; discarding the connectionless network packet and returning to the second step if the flow tag is on the disapproved list; allowing access to the network and returning to the second step if the flow tag is on the approved list; comparing the flow tag to the database if the flow tag is not on the approved list or the disapproved list; discarding the connectionless network packet, adding the flow tag to the disapproved list, and returning to the second step if the database rejects the flow tag; and allowing access to the network, adding the flow tag to the approved list, and returning to the second step if the database accepts the flow tag." . "Patrick W. Dowd, John T. McHenry" . "" . "National Security Agency" . "Reference - Firewall for processing a connectionless network packet - National Security Agency" . . . . "https://patents.google.com/patent/US6615358B1"^^ . "Firewall for processing connection-oriented and connectionless datagrams over a connection-oriented network" . "The present invention is a device for and method of accessing an information network by initializing a database, an ATM approved list, an IP approved list, and an IP disapproved list; receiving a datagram; discarding the datagram if it is not on the ATM approved list; determining the datagram's type; allowing access to the network and comparing the connection request, if any, to the database if the datagram is ATM signaling; discarding the datagram if the datagram is ATM signaling and the database denies the request; adding the request to the ATM approved list if the datagram is ATM signaling and the database allows the request; allowing access to the network if the datagram is ATM data that excludes IP data and the request is on the ATM approved list; computing a flow tag if the datagram is ATM data that includes IP data; discarding the datagram if the flow tag is on the IP disapproved list; allowing access to the network if the flow tag is on the IP approved list; comparing the flow tag to the database if the flow tag is neither on the IP approved list nor on the IP disapproved list; discarding the datagram and adding the flow tag to the IP disapproved list if the database rejects the flow tag; and allowing access to the network and adding the flow tag to the corresponding approved list if the database accepts the flow tag; and performing these steps on the next datagram" . "Patrick W. Dowd, John T. McHenry" . "" . "National Security Agency" . "Reference - Firewall for processing connection-oriented and connectionless datagrams over a connection-oriented network - National Security Agency" . . . . "https://patents.google.com/patent/US6832256B1"^^ . "Firewalls that filter based upon protocol commands" . "Data transfer is controlled between a first network and a second network of computers by a firewall-proxy combination. Active interpretation of protocol commands exchanged between the first network and the second network is performed to determine specific actions concerning completion of the protocol request. This active firewall-proxy combination may exist on either the first or second network of computers. This method of control provides centralized control and administration for all potentially reachable resources within a network." . "James E. Toga" . "" . "Intel Corp" . "Reference - Firewalls that filter based upon protocol commands - Intel Corp" . . . . "http://sites.nyuad.nyu.edu/moma/pdfs/pubs/C22.pdf"^^ . "ConFirm: Detecting Firmware Modifications in Embedded Systems\nusing Hardware Performance Counters" . "The modernization of various critical infrastructure components has dictated the use of microprocessor-based\nembedded control systems in critical applications. It is often\ninfeasible, however, to employ the same level of security measures used in general purpose computing systems, due to the stringent\nperformance and resource constraints of embedded devices. Furthermore, as software relies on the firmware for proper operation,\nno software-level technique can detect malicious behavior of\nthe firmware. In this work, we propose ConFirm, a low-cost\ntechnique to detect malicious modifications in the firmware\nof embedded systems by measuring the number of low-level hardware events that occur during the execution of the firmware." . "Xueyang Wang, Charalambos Konstantinou, Michail Maniatakos, Ramesh Karri" . "Department of Electrical and Computer Engineering, Polytechnic School of Engineering, New York University and Department of Electrical and Computer Engineering, New York University Abu Dhabi" . "Reference - Firmware Behavior Analysis ConFirm" . . . . "https://dl.acm.org/doi/pdf/10.1145/2046707.2046711"^^ . "VIPER: Verifying the Integrity of PERipherals' Firmware" . "Recent research demonstrates that malware can infect peripherals' firmware in a typical x86 computer system, e.g., by exploiting vulnerabilities in the firmware itself or in the firmware update tools. Verifying the integrity of peripherals' firmware is thus an important challenge. We propose software-only attestation protocols to verify the integrity of peripherals' firmware, and show that they can detect all known software-based attacks." . "Yanlin Li, Jonathan M. McCune, Adrian Perrig" . "CyLab, Carnegie Mellon University" . "Reference - Firmware Behavior Analysis VIPER" . . . . "https://patents.google.com/patent/US10657262B1/en"^^ . "Method and apparatus for securing embedded device firmware" . "Systems and methods for securing embedded devices via both online and offline defensive strategies. One or more security software components may be injected into firmware binary to create a modified firmware binary, which is functionally- and size-equivalent to the original firmware binary. The security software components may retrieve live forensic information related to embedded devices for use in live hardening of the modified firmware binary while the embedded device is online, dynamically patching the firmware" . "Ang Cui, Salvatore J. Stolfo" . "Red Balloon Security, Inc" . "Reference - Firmware Embedded Monitoring Code Red Balloon" . . . . "http://nsl.cs.columbia.edu/projects/minestrone/papers/Symbiotes.pdf"^^ . "Defending Embedded Systems with Software Symbiotes" . "A large number of embedded devices on the internet, such as\nrouters and VOIP phones, are typically ripe for exploitation. Little to no defensive technology, such as AV scanners or IDS's, are available to protect these devices. We propose a host-based defense mechanism, which we call Symbiotic Embedded Machines (SEM), that is specifically designed\nto inject intrusion detection functionality into the firmware of the device." . "Ang Cui, Salvatore J. Stolfo" . "Department of Computer Science Columbia University" . "Reference - Firmware Embedded Monitoring Code Symbiotes" . . . . "https://patents.google.com/patent/US20200074086A1/en"^^ . "Methods and systems for hardware and firmware security monitoring" . "Systems and methods are provided herein for monitoring and identifying potential security vulnerabilities in hardware and / or firmware of host devices ." . "Yuriy Bulygin, Oleksandr Bazhaniuk" . "ECLYPSIUM , Inc" . "Reference - Firmware Verification Eclypsium" . . . . "https://patents.google.com/patent/US9674183B2/en"^^ . "System and method for hardware-based trust control management" . "A trust control management method for security, operable on a computer system generates a unique Trust ID value by combining user-defined values with hardware-specific values associated with the user's computer system and storing the Trust ID value in a memory register physically associated with the hardware of the computer system." . "Michael J. Dyer, Jose E. Gonzalez, Albert Caballero" . "Trapezoid, Inc" . "Reference - Firmware Verification Trapezoid" . . . . "https://patents.google.com/patent/US20090077645A1"^^ . "Framework for notifying a directory service of authentication events processed outside the directory service" . "Methods, systems and machine-readable media for authenticating an end user for a client application are disclosed. According to one embodiment of the invention, a method of authenticating an end user for a client application using a directory service having an authentication control policy that tracks failed authentication attempts and allows lock out of an account after a predetermined number of failures comprises receiving end user identity information and security information at the client application; sending a search request to the directory service for an entry associated with the end user identity information and, if a match is found, receiving a authentication token from the directory service associated with the end user identity information; comparing the received authentication token with the security information; if the authentication token matches the security information, sending a request to update the directory service to indicate that successful authentication of the end user has occurred; and if the authentication token does not match the security information, sending a request to update the directory service to indicate that a failed attempt at authentication of the end user has occurred." . "Buddhika Nandana Kottahachchi" . "" . "Oracle International Corp" . "Reference - Framework for notifying a directory service of authentication events processed outside the directory service - Oracle International Corp" . . . . "https://docs.microsoft.com/en-us/cpp/build/reference/gs-buffer-security-check?view=vs-2019"^^ . "/GS (Buffer Security Check)" . "" . "" . "" . "Microsoft Docs" . "Reference - /GS (Buffer Security Check) - Microsoft Docs" . . . . "https://car.mitre.org/analytics/CAR-2019-04-002/"^^ . "CAR-2019-04-002: Generic Regsvr32" . "Regsvr32 can be used to execute arbitrary code in the context of a Windows signed binary, which can be used to bypass application whitelisting. This analytic looks for suspicious usage of the tool. It's not likely that you'll get millions of hits, but it does occur during normal activity so some form of baselining would be necessary for this to be an alerting analytic. Alternatively, it can be used for hunt by looking for new or anomalous DLLs manually." . "MITRE" . "" . "MITRE" . "Reference - CAR-2019-04-002: Generic Regsvr32 - MITRE" . . . . "https://patents.google.com/patent/US7287166B1/en?oq=US-7287166-B1"^^ . "Guards for application in software tamperproofing" . "A method of protecting a software program from unauthorized modification, and a system for practicing the method. The method utilizes self-protecting software code. Armed internally with self-defensive mechanisms, a self-protecting software program is tamper-resistant. Whenever its integrity is compromised, a self-protecting software program may become unusable due to software program crashes or other errors, or may generate subtle errors that do not immediately result render the program unusable but still result in incorrect software program execution. A self-protecting software program also may be able to repair itself to restore the integrity of its damaged code. The system comprises a computer program for automatically adding self-protection features to a software program." . "Hoi Chang; Mikhail J. Atallah; John R. Rice" . "" . "Purdue Research Foundation" . "Reference - Guards for application in software tamperproofing - Purdue Research Foundation" . . . . "https://patents.google.com/patent/US20180032728A1/en?oq=US20180032728-A1"^^ . "Hardware-assisted system and method for detecting and analyzing system calls made to an operting system kernel" . "The present disclosure relates to a system and method for monitoring system calls to an operating system kernel. A performance monitoring unit is used to monitor system calls and to gather information about each system call. The information is gathered upon interrupting the system call and can include system call type, parameters, and information about the calling thread/process, in order to determine whether the system call was generated by malicious software code. Potentially malicious software code is nullified by a malicious code counter-attack module." . "Matthew D. Spisak" . "This patent describes a technique for monitoring system calls to detect malicious software code. A system call monitoring module operates at the kernel level and traps system calls.\nMonitoring data includes:\n\n* information about the path to the file to be accessed by a system call.\n* the memory address or range of addresses to be accessed by a system call.\n* the context for the thread within operating system that will be interrupted by a system call.\n* the type of system call information about the socket that is being used by system call in order to send or receive data.\n* the history of system calls in order to monitor for specific sequences of system calls.\n* the frequency or periodicity of a particular system call or set of systems calls.\n\nCaptured system call data is analyzed using data analysis algorithms such as machine learning algorithms, artificial intelligence algorithms, pattern recognition algorithms, or other known data analysis techniques. An alert is generated if it is likely that the system call was generated by malicious software code." . "Endgame Inc" . "Reference - Hardware-assisted system and method for detecting and analyzing system calls made to an operting system kernel - Endgame Inc" . . . . "https://patents.google.com/patent/US20160156644A1"^^ . "Heuristic botnet detection" . "In some embodiments, heuristic botnet detection is provided. In some embodiments, heuristic botnet detection includes monitoring network traffic to identify suspicious network traffic; and detecting a bot based on a heuristic analysis of the suspicious network traffic behavior using a processor, in which the suspicious network traffic behavior includes command and control traffic associated with a bot master. In some embodiments, heuristic botnet detection further includes assigning a score to the monitored network traffic, in which the score corresponds to a botnet risk characterization of the monitored network traffic (e.g., based on one or more heuristic botnet detection techniques); increasing the score based on a correlation of additional suspicious behaviors associated with the monitored network traffic (e.g., based on one or more heuristic botnet detection techniques); and determining the suspicious behavior is associated with a botnet based on the score." . "Xinran Wang; Huagang Xie" . "This patent describes detecting botnets using heuristic analysis techniques on collected network flows. The heuristic techniques include:\n\n* Identifying suspicious traffic patterns to detect command and control traffic ex. periodically visiting a known malware URL, a host visiting a malware domain twice every 5 hour and 14 minutes (this is a specific pattern for a variant of Swizzor botnets).\n* Identifying non-standard behaviors such as connecting to a non-standard HTTP port for HTTP traffic, visiting a non-existent domain, downloading executable files with non-standard executable file extensions, communicating using HTTP header with a shorter than common length\n* Analyzing visited domain information to identify the following: visiting a domain with a domain name that is longer than a common domain name length, visiting a dynamic DNS domain, visiting a fast-flux domain, and visiting a recently created domain.\n\nA score is determined based on these factors and if the score is over a threshold, a responsive action is performed." . "Palo Alto Networks Inc" . "Reference - Heuristic botnet detection - Palo Alto Networks Inc" . . . . "https://car.mitre.org/analytics/CAR-2016-03-001/"^^ . "CAR-2016-03-001: Host Discovery Commands" . "When entering on a host for the first time, an adversary may try to discover information about the host. There are several built-in Windows commands that can be used to learn about the software configurations, active users, administrators, and networking configuration. These commands should be monitored to identify when an adversary is learning information about the system and environment. The information returned may impact choices an adversary can make when establishing persistence, escalating privileges, or moving laterally.\n\nBecause these commands are built in, they may be run frequently by power users or even by normal users. Thus, an analytic looking at this information should have well-defined white- or blacklists, and should consider looking at an anomaly detection approach, so that this information can be learned dynamically." . "MITRE" . "" . "MITRE" . "Reference - CAR-2016-03-001: Host Discovery Commands - MITRE" . . . . . . "https://patents.google.com/patent/US20110023115A1"^^ . "Host intrusion prevention system using software and user behavior analysis" . "In embodiments of the present invention improved capabilities are described for threat detection using a behavioral-based host-intrusion prevention method and system for monitoring a user interaction with a computer, software application, operating system, graphic user interface, or some other component or client of a computer network, and performing an action to protect the computer network based at least in part on the user interaction and a computer code process executing during or in association with a computer usage session." . "Clifford C. Wright" . "The patent describes a technique for performing behavior based threat detection. User and code behavior data is collected and stored to create baseline user and code behavior profiles. User behavior data collected over a user session or over multiple sessions can include a user:\n\n* clicking on a link\n* scrolling down a page\n* opening or closing a window\n* downloading a file\n* saving a file\n* running a file\n* typing a keyword\n\nCode behavior monitored includes code:\n\n* copying itself to a system folder\n* setting a run key to itself in the registry\n* setting a second runkey to itself in the registry in\na different location\n* disabling OS tools in the registry\n* opening a hidden file\n\nThe user interaction and the code process executed during the user session are monitored and compared with predetermined malicious behavior profiles that are typically present in a malicious user session. The predetermined collection of malicious behaviors are created based on analysis of families of malware in run time in a threat research facility. If a match is made an action is taken that can include isolating the computer on which the user interaction occurs and limiting network access to or from the computer." . "Sophos Ltd" . "Reference - Host intrusion prevention system using software and user behavior analysis - Sophos Ltd" . . . . "https://www.networkworld.com/article/3331199/what-does-aslr-do-for-linux.html"^^ . "How ASLR protects Linux systems from buffer overflow attacks" . "ASLR (Address Space Layout Randomization) is a memory exploitation mitigation technique used on both Linux and Windows systems. Learn how to tell if it's running, enable/disable it, and get a view of how it works." . "Sandra Henry-Stocker" . "" . "Network World" . "Reference - How ASLR protects Linux systems from buffer overflow attacks - Network World" . . . "https://docs.microsoft.com/en-us/troubleshoot/windows-client/application-management/change-registry-values-permissions"^^ . "How to change registry values or permissions from a command line or a script" . "This article describes how to change registry values or permissions from a command line or a script.\n\nApplies to: Windows 10 - all editions, Windows Server 2012 R2\nOriginal KB number: 264584" . "Microsoft" . "Reference - How to change registry values or permissions from a command line or a script" . . . . "https://docs.microsoft.com/en-us/azure/active-directory-domain-services/concepts-forest-trust"^^ . "How trust relationships work for resource forests in Azure Active Directory Domain Services" . "Active Directory Domain Services (AD DS) provides security across multiple domains or forests through domain and forest trust relationships. Before authentication can occur across trusts, Windows must first check if the domain being requested by a user, computer, or service has a trust relationship with the domain of the requesting account." . "Microsoft" . "Reference - How trust relationships work for resource forests in Azure Active Directory Domain Services" . . . . "https://standards.ieee.org/ieee/802.1AB/6047/"^^ . "IEEE Standard for Local and Metropolitan Area Networks - Station and Media Access Control Connectivity Discovery" . "IEEE" . "Reference - IEEE Standard for Local and Metropolitan Area Networks - Station and Media Access Control Connectivity Discovery" . . . "https://patents.google.com/patent/US20200004962A1/en"^^ . "Identification and extraction of key forensics indicators of compromise using subject-specific filesystem views" . "A stackable filesystem that transparently tracks process file writes for forensic analysis. The filesystem comprises a base filesystem, and an overlay filesystem. Processes see the union of the upper and lower filesystems, but process writes are only reflected in the overlay. By providing per-process views of the filesystem using this stackable approach, a forensic analyzer can record a process's file-based activity-i.e., file creation, deletion, modification. These activities are then analyzed to identify indicators of compromise (IoCs). These indicators are then fed into a forensics analysis engine, which then quickly decides whether a subject (e.g., process, user) is malicious. If so, the system takes some proactive action to alert a proper authority, to quarantine the potential attack, or to provide other remediation. The approach enables forensic analysis without requiring file access mediation, or conducting system event-level collection and analysis, making it a lightweight, and non-intrusive solution." . "Frederico Araujo; Anne E. Kohlbrenner; Marc Philippe Stoecklin; Teryl Paul Taylor" . "Reference - Identification and extraction of key forensics indicators of compromise using subject-specific filesystem views" . . . "https://patents.google.com/patent/US10079749B2/en"^^ . "Identification of traceroute nodes and associated devices" . "Various embodiments pertain to communication network systems. In particular, various embodiments relate to multi-path probing in communication network systems that can be used to estimate the complete topology of the network. A method includes receiving data at a source node from a tracerouting probe in a network. The data includes information about at least one network node. The method also includes determining an identification for the at least one network node based on information. In addition, the method includes using the identification of the at least one network node to determine an identification of at least one device." . "Tomas KUBIK, Lan Li, Tomas RYBKA, Karlo ZATYLNY, Chris O'Brien" . "SolarWinds Worldwide LLC" . "Reference - Identification of traceroute nodes and associated devices" . . . . "https://patents.google.com/patent/US10599836B2/en"^^ . "Identification of visual international domain name collisions" . "Fuzzy OCR to detect domain name homoglyph attacks.\n\nVarious embodiments of the invention disclosed herein provide techniques for detecting a homograph attack. An IDN collision detection server retrieves a first domain name that includes a punycode element. The IDN collision detection server converts the first domain into a second domain name that includes a Unicode character corresponding to the punycode element. The IDN collision detection server converts the second domain name into an image. The IDN collision detection server performs one or more optical character recognition operations on the image to generate a textual string associated with the image. The IDN collision detection server determines that the textual string matches at least a portion of a third domain name." . "Ben McCarty, Preston Zeh" . "MITRE Analysis was not found." . "Verisign Inc" . "Reference - Identification of visual international domain name collisions - Verisign Inc" . . . . "https://patents.google.com/patent/US8613089B1"^^ . "Identifying a denial-of-service attack in a cloud-based proxy service" . "A cloud-based proxy service identifies a denial-of-service (DoS) attack including determining that there is a potential DoS attack being directed to an IP address of the cloud-based proxy service; and responsive to determining that there are a plurality of domains that resolve to that IP address, identifying the one of the plurality of domains that is the target of the DoS attack. The domain that is under attack is identified by scattering the plurality of domains to resolve to different IP addresses, where a result of the scattering is that each of those domains resolves to a different IP address, and identifying one of those plurality of domains as the target of the DoS attack by determining that there is an abnormally high amount of traffic being directed to the IP address in which that domain resolves." . "Lee Hahn Holloway, Srikanth N. Rao, Matthew Browning Prince, Matthieu Philippe Francois Tourne, Ian Gerald Pye, Ray Raymond Bejjani, Terry Paul Rodery, Jr." . "Cloudfare Inc." . "Reference - Identifying a denial-of-service attack in a cloud-based proxy service - Cloudfare Inc." . . . . "https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.1048.1241&rep=rep1&type=pdf"^^ . "Transparent ROP Exploit Mitigation using Indirect Branch Tracing" . "Return-oriented programming (ROP) has become the\nprimary exploitation technique for system compromise\nin the presence of non-executable page protections. ROP\nexploits are facilitated mainly by the lack of complete\naddress space randomization coverage or the presence\nof memory disclosure vulnerabilities, necessitating additional ROP-specific mitigations.\nIn this paper we present a practical runtime ROP exploit prevention technique for the protection of thirdparty applications. Our approach is based on the detection of abnormal control transfers that take place during\nROP code execution. This is achieved using hardware\nfeatures of commodity processors, which incur negligible runtime overhead and allow for completely transparent operation without requiring any modifications to\nthe protected applications. Our implementation for Windows 7, named kBouncer, can be selectively enabled for\ninstalled programs in the same fashion as user-friendly\nmitigation toolkits like Microsoft's EMET. The results of\nour evaluation demonstrate that kBouncer has low runtime overhead of up to 4%, when stressed with specially\ncrafted workloads that continuously trigger its core detection component, while it has negligible overhead for\nactual user applications. In our experiments with in-thewild ROP exploits, kBouncer successfully protected all\ntested applications, including Internet Explorer, Adobe\nFlash Player, and Adobe Reader." . "Vasilis Pappas, Michalis Polychronakis, Angelos D. Keromytis\nColumbia University" . "Columbia University" . "Reference - Indirect Branching Calls" . . . . "https://patents.google.com/patent/US10216934B2/en?oq=US-10216934-B2"^^ . "Inferential exploit attempt detection" . "A security agent implemented on a monitored computing device is described herein. The security agent is configured to detect an action of interest (AoI) that may be probative of a security exploit and to determine a context in which that AoI occurred. Based on that context, the security agent is further configured to decide whether the AoI is a security exploit and can take preventative action to prevent the exploit from being completed.\n\nDetermining that the AoI includes the security exploit is based at least in part on one or more of: determining that the return address is outside memory previously allocated for an object; determining that the object identifier is associated with a vulnerable object; determining that permissions of the memory region include two or more of read, write, and execute; or determining that the memory region is one page in length.\n\nDetermining that the return address is outside memory previously allocated for an object and the method further including treating code that the return address points to as malicious code." . "Daniel W. Brown; Ion-Alexandru Ionescu; Loren C. Robinson" . "" . "Crowdstrike Inc" . "Reference - Inferential exploit attempt detection - Crowdstrike Inc" . . . . "https://patents.google.com/patent/US20060236108A1/en"^^ . "Instant process termination tool to recover control of an information handling system" . "A method and system for automatic termination of unauthorized malevolent processes operating on an information handling system. A list of authenticated and essential process list is stored on the information handling system. Unauthorized processes not contained on the list can be automatically terminated by the user by invoking the present invention with a single click of a mouse or pointer device on an icon residing on the display screen of the information handling system. The offending processes are immediately terminated without generating a user prompt, which would ordinarily provide sufficient time for the malware to spawn additional offending processes. The present invention also provides significant means to recover control of a malware-infected information handling system in order to use repair tools and utilities. The present invention can be deployed at the time of manufacture of an information handling system or independently installed by a user." . "Carlton Andrews" . "" . "Dell Products LP" . "Reference - Instant process termination tool to recover control of an information handling system - Dell Products LP" . . . . "https://patents.google.com/patent/US20170061127A1"^^ . "Integrity assurance through early loading in the boot phase" . "Techniques utilizing library and pre-boot components to ensure that a driver associated with a kernel-mode component is initialized before other drivers during a boot phase are described herein. The library component is processed during a boot phase; the pre-boot component, which may be an alternative to the library component, is processed during a pre-boot phase. By ensuring that the driver is the first driver initialized, the components enable the driver to launch the kernel-mode component before other drivers are initialized. The library component may also determine whether another driver is to be initialized before the kernel-mode component driver, may ensure that kernel-mode component driver is initialized first, and may alert the kernel-mode component. Also, the library component may retrieve information that is to be deleted by the operating system before initialization of drivers and may provide that information to the kernel-mode component." . "Ion-Alexandru Ionescu" . "To compromise software or to gain control of a host device, a security exploit can modify driver initialization order used by an operating system and place a driver associated with the security exploit first in a list of drivers initialized by the operating system.\n\nThis patent describes ensuring that a driver associated with the agent is initialized first. To ensure the driver is initialized first, a dependent DLL associated with the driver is configured to be processed before other dependent DLLs. The dependent DLL can be configured to be processed first by various methods, for example if processing is done in alphabetical order, changing its name to be processed first. The dependent DLL, once processed, executes a number of operations to ensure the driver associated with the agent is initialized first. Furthermore, if the initialization order is modified, an alert is provided to the kernel-mode component that notifies the kernel-mode component it was not first and the order had to be altered. It can then take additional actions such as additional monitoring or remediation." . "Crowdstrike Inc" . "Reference - Integrity assurance through early loading in the boot phase - Crowdstrike Inc" . . . . "https://patents.google.com/patent/US20180191752A1"^^ . "Intrusion detection using a heartbeat" . "A variety of techniques are disclosed for detection of advanced persistent threats and similar malware. In one aspect, the detection of certain network traffic at a gateway is used to trigger a query of an originating endpoint, which can use internal logs to identify a local process that is sourcing the network traffic. In another aspect, an endpoint is configured to periodically generate and transmit a secure heartbeat, so that an interruption of the heartbeat can be used to signal the possible presence of malware. In another aspect, other information such as local and global reputation information is used to provide context for more accurate malware detection." . "Kenneth D. Ray" . "This patent describes a health monitor deployed on an endpoint that uses a heartbeat to periodically communicate status to a gateway's remote health monitor. The endpoint health monitor issues a heartbeat for satisfactory status of the endpoint using factors such as:\n\n* checking the status of individual software items executing on the endpoint\n* checking that antivirus and other security software is up to date (e. g., with current virus definition files) and running correctly\n* checking the integrity of cryptographic key stores\n* checking other hardware or software components of the endpoint as necessary or helpful for health monitoring\n\nA disappearance of the heartbeat from the endpoint may indicate that the endpoint has been compromised." . "Sophos Ltd" . "Reference - Intrusion detection using a heartbeat - Sophos Ltd" . . . . "https://mirrors.edge.kernel.org/pub/linux/utils/cryptsetup/LUKS_docs/on-disk-format.pdf"^^ . "LUKS1 On-Disk Format SpecificationVersion 1.2.3" . "LUKS is short for \"Linux Unified Key Setup\". It has initially been developed to remedy the unpleasantness a user experienced that arise from deriving the encryption setup from changing user space, and forgotten command line arguments. The result of this changes are an unaccessible encryption storage. The reason for this to happen was, a unstandardised way to read, process and set up encryption keys, and if the user was unlucky, he upgraded to an incompatible version of user space tools that needed a good deal of knowledge to use with old encryption volumes." . "Clemens Fruhwirth" . "Reference - LUKS1 On-Disk Format SpecificationVersion 1.2.3" . . . . "https://docs.librenms.org/Extensions/Network-Map/"^^ . "Libre NMS - Network Map Extension" . "LibreNMS has the ability to show you a network map based on:\n* xDP Discovery\n* MAC addresses" . "LibreNMS.org" . "Reference - Libre NMS - Network Map Extension" . . . . "https://docs.librenms.org/Extensions/Oxidized/"^^ . "LibreNMSDocs - Oxidized Extension" . "Integrating LibreNMS with Oxidized brings the following benefits:\n\n* Config viewing: Current, History, and Diffs all under the Configs tab of each device\n* Automatic addition of devices to Oxidized: Including filtering and grouping to ease credential management\n* Configuration searching" . "LibreNMS.org" . "Reference - Libre NMS - Oxidized Extension" . . . . "https://car.mitre.org/analytics/CAR-2019-07-002/"^^ . "CAR-2019-07-002: Lsass Process Dump via Procdump" . "ProcDump is a sysinternal command-line utility whose primary purpose is monitoring an application for CPU spikes and generating crash dumps during a spike that an administrator or developer can use to determine the cause of the spike.\n\nProcDump may be used to dump the memory space of lsass.exe to disk for processing with a credential access tool such as Mimikatz. This is performed by launching procdump.exe as a privileged user with command line options indicating that lsass.exe should be dumped to a file with an arbitrary name." . "MITRE" . "" . "MITRE" . "Reference - CAR-2019-07-002: Lsass Process Dump via Procdump - MITRE" . . . . "https://www.sans.org/cyber-security-courses/managing-enterprise-cloud-security-vulnerabilities/"^^ . "MGT516: Managing Security Vulnerabilities: Enterprise and Cloud" . "Vulnerability, patch, and configuration management are not new security topics. In fact, they are some of the oldest security functions. Yet, we still struggle to manage these capabilities effectively. The quantity of outstanding vulnerabilities for most large organizations is overwhelming, and all organizations struggle to keep up with the never-ending onslaught of new vulnerabilities in their infrastructure and applications. When you add in the cloud and the increasing speed with which all organizations must deliver systems, applications, and features to both their internal and external customers, security may seem unachievable. This course will show you the most effective ways to mature your vulnerability management program and move from identifying vulnerabilities to successfully treating them. 16 Cyber42 and lab exercises" . "Jonathan Risto and David Hazar" . "SANS" . "Reference - MGT516: Managing Security Vulnerabilities: Enterprise and Cloud" . . . . "https://patents.google.com/patent/US20150264083A1"^^ . "Malicious relay detection on networks" . "A system and method for detecting malicious relay communications is disclosed. Network communications can be received and analyzed using such network components as a network switch. The received traffic can be parsed into sessions. Relay metadata can be extracted from the sessions and further be used to categorize the sessions into one or more types of relay metadata behaviors. Once a significant amount of sessions are detected an alarm may be triggered and/or alarm data may be generated for analysis by network security administrators." . "Ryan James PRENGER; Nicolas BEAUCHESNE; Karl Matthew LYNN" . "This patent describes a technique for detecting relay networks, i.e. an attacker outside of the organization's network takes control of an internal host to be used as a source of attacks against other internal targets or exfiltrate data out of the organization. In this defensive technique, metadata from collected network packet captures is extracted to categorize network sessions using known relay behaviors. Information such as the number of bytes sent to and from a potential internal relay host, time of session initiation, packet contents, packet size, flow direction, and packet arrival time statistics are used to categorize the sessions and identify relay behavior. This technique assumes that relay network connections' inter-packet arrival times exhibit a high degree of variance in comparison to standard client-to-server connections. If enough evidence of relay behavior is gathered about a given internal host, the host is identified as suspicious and an alert is generated." . "VECTRA NETWORKS Inc" . "Reference - Malicious relay detection on networks - VECTRA NETWORKS Inc" . . . . "https://patents.google.com/patent/US20150319136A1"^^ . "Malware analysis system" . "In some embodiments, a malware analysis system includes receiving a potential malware sample from a firewall; analyzing the potential malware sample using a virtual machine to determine if the potential malware sample is malware; and automatically generating a signature if the potential malware sample is determined to be malware. In some embodiments, the potential malware sample does not match a preexisting signature, and the malware is a zero-day attack." . "Huagang Xie; Xinran Wang; Jiangxia Liu" . "This patent describes a VM sandbox environment that uses heuristic based analysis techniques performed in real-time during a file transfer to determine if the file is malicious. A new signature can then be generated and distributed to automatically block future file transfer requests to download the malicious file." . "Palo Alto Networks Inc" . "Reference - Malware analysis system - Palo Alto Networks Inc" . . . . "https://patents.google.com/patent/US20190205530A1"^^ . "Malware detection in event loops" . "Example techniques locate or identify malware based on events from or at monitored computing devices. A control unit can detect a sequence of events of various types. The control unit can locate a loop within the sequence of events based at least in part on relative frequencies of the event types. The control unit can determine a distribution of event types of the events within the loop, and determining that software running the sequence is associated with malware based at least in part on the distribution of event types within the loop. In some examples, the control unit can locate a point of commonality among a plurality of stack traces associated with respective events within the loop. The control unit can determine a malware module comprising the point of commonality." . "Daniel W. Brown" . "The patent describes determining if a sequence of events associated with a process are associated with malware. Based on the relative frequency of events, a loop within a sequence of events is located and a distribution of the events within the loop is determined. The distribution of events is then compared against a catalog of distributions to determine if it is associated with malware." . "Crowdstrike Inc" . "Reference - Malware detection in event loops - Crowdstrike Inc" . . . . "https://patents.google.com/patent/US20190026466A1"^^ . "Malware detection using local computational models" . "Example techniques herein determine that a trial data stream is associated with malware (\"dirty\") using a local computational model (CM). The data stream can be represented by a feature vector. A control unit can receive a first, dirty feature vector (e.g., a false miss) and determine the local CM based on the first feature vector. The control unit can receive a trial feature vector representing the trial data stream. The control unit can determine that the trial data stream is dirty if a broad CM or the local CM determines that the trial feature vector is dirty. In some examples, the local CM can define a dirty region in a feature space. The control unit can determine the local CM based on the first feature vector and other clean or dirty feature vectors, e.g., a clean feature vector nearest to the first feature vector." . "Sven Krasser,David Elkind, Patrick Crenshaw, Kirby James Koster" . "" . "Crowdstrike Inc" . "Reference - Malware detection using local computational models - Crowdstrike Inc" . . . . "https://patents.google.com/patent/US20140331319A1"^^ . "Method and Apparatus for Detecting Malicious Websites" . "A method and apparatus for detecting malicious websites is disclosed." . "John Burnet MUNRO, IV; Jason Aaron Trost; Zachary Daniel HANIF" . "This patent describes a domain classification engine on the host computer that analyzes URLs clicked by a user or entered into a web browser to visit a website. URL analysis is done by using a combination of techniques:\n\n* Feature extraction: A URL is analyzed against features associated with suspicious URLs such as % of longest consecutive digits in a subdomain, % of longest repeated characters in a subdomain, % of vowels in a high level domain.\n\n* Markov analysis: The probability of a digit occurring in normal language given the preceding two digits is determined. For example, if the received URL is google.com, the probability of a 'g' occurring at the beginning of a word, the probability of an 'o' occurring after a \"g, the probability of an \"o' occurring after a 'g' and \"o, and so forth will be determined. The probability of each digit is then multiplied to get a probability for the whole domain name. Probabilities are determined based on a database of existing usage, such as a dictionary, or a list of known good domain names\n\n* Domain names are compared against an existing dataset of known unauthorized domain names.\n\nA rating is developed based on the results of these techniques, and if the rating is over a set threshold, an action is taken such as blocking access or generating an alert." . "Endgame Inc" . "Reference - Method and Apparatus for Detecting Malicious Websites - Endgame Inc" . . . . "https://patents.google.com/patent/US5502815A"^^ . "Method and apparatus for increasing the speed at which computer viruses are detected" . "The method and apparatus for increasing the speed at which computer viruses are detected stores initial state information concerning the file or volume which is being examined for a virus. This information is stored in a cache in a non-volatile storage medium and when files are subsequently scanned for viruses, the current state information is compared to the initial state information stored in the cache. If the initial state information differs from the current state information then the file or volume is scanned for viruses which change the state information of the file or volume. If the initial state information and current state information is the same then the file or volume is scanned for a subset of viruses which do not change the state information." . "Paul D. Cozza" . "" . "McAfee LLC" . "Reference - Method and apparatus for increasing the speed at which computer viruses are detected - McAfee LLC" . . . . . . . . "https://patents.google.com/patent/US20190081968A1/en"^^ . "Method and Apparatus for Network Fraud Detection and Remediation Through Analytics" . "A system and method for assessing the identity fraud risk of an entity's (a user's, computer process's, or device's) behavior within a computer network and then to take appropriate action. The system uses real-time machine learning for its assessment. It records the entity's log-in behavior (conditions at log-in) and behavior once logged in to create an entity profile that helps identify behavior patterns. The system compares new entity behavior with the entity profile to determine a risk score and a confidence level for the behavior. If the risk score and confidence level indicate a credible identity fraud risk at log-in, the system can require more factors of authentication before log-in succeeds. If the system detects risky behavior after log-in, it can take remedial action such as ending the entity's session, curtailing the entity's privileges, or notifying a human administrator." . "Yanlin Wang; Weizhi Li" . "This patent describes determining a confidence score to detect anomalies in user activity based on comparing a user's behavior profile with current user activity events. The following types of events are used to develop a user entity profile:\n\n* logon and logoff times and locations\n* starting or ending applications\n* reading or writing files\n* changing an entity 's authorization\n* monitoring network traffic\n\nUser events that deviate from the entity profile over a certain threshold trigger a remedial action." . "Idaptive LLC" . "Reference - Method and Apparatus for Network Fraud Detection and Remediation Through Analytics - Idaptive LLC" . . . . "https://patents.google.com/patent/US5657388A/en"^^ . "Method and apparatus for utilizing a token for resource access" . "A method and apparatus for utilizing a token which is preferably a \"dumb token\" to provide secure access by authorized users to a selected resource. The token stores a secret user code in machine readable form, which code is read by a token processor. The token processor also receives a time-varying value and an algorithm, both of which may be stored or generated at either the token or the token processor and preferably a secret personal identification code which may be inputted at the token, but is preferably inputted at the token processor. The secret user code, time-varying value and secret personal identification code are then algorithmically combined by the algorithm, preferably in the token processor, to generate a one-time nonpredictable code which is transmitted to a host processor. The host processor utilizes the received one-time nonpredictable code to determine if the user is authorized access to the resource and grants access to the resource if the user is determined to be authorized. The system may be modified to operate in query/response mode. The token processor may be any of a variety of available portable remote processors or may be a device such as a telephone which is equipped with card or other token reader and with processing capability." . "Kenneth P. Weiss" . "" . "Rsa Security Inc." . "Reference - Method and apparatus for utilizing a token for resource access - Rsa Security Inc." . . . . "https://patents.google.com/patent/US8566924"^^ . "Method and system for controlling communication ports" . "A method for limiting devices and controlling the applications executed from USB ports on personal computers (PCs)." . "Steven V Bacastow" . "OL Security LLC" . "Reference - Method and system for controlling communication ports" . . . . "https://patents.google.com/patent/US20150264070A1"^^ . "Method and system for detecting algorithm-generated domains" . "A method and system for detecting algorithm-generated domains (AGDs) is disclosed wherein domain names requested by an internal host are categorized or classified using curated data sets, active services (e.g. Internet services), and certainty scores to match domain names to domain names or IP addresses used by command and control servers." . "James Patrick HARLACHER; Aditya Sood; Oskar Ibatullin" . "This patent describes detecting algorithm generated domains (AGD). DNS requests and responses are analyzed by first checking whether the domain matches existing data sets that specify different types of AGDs with known characteristics, such as Evil Twin Domains, Sinkholed domains, sleeper cells, ghost domains, parked domains, and/or bulk-registered domains. In addition to comparing domains against known data sets, the following information is collected to perform analysis:\n\n* IP Information: checks for information known about the IP addresses returned in the DNS response, including the number of IP addresses returned, the registered owners of the IP addresses, or different IP addresses returned for the same domain (IP fluxing)\n* Domain Registration: examines the domain registration date, domain update date, domain expiration date, registrant identity, and authorized name servers associated with a specific domain name.\n* Domain Popularity: provides information on the popularity of a domain name.\n\nBased on analysis of these factors a score is developed; if the score is above a certain threshold, an alert is generated." . "VECTRA NETWORKS Inc" . "Reference - Method and system for detecting algorithm-generated domains - VECTRA NETWORKS Inc" . . . . "https://patents.google.com/patent/US9407647B2/en?oq=US-9407647-B2"^^ . "Method and system for detecting external control of compromised hosts" . "A detection engine may be implemented by receiving network traffic and processing the traffic into one or more session datasets. Sessions not initiated by an internal host may be discarded. The frequency between the communication packets from the internal host to external host may be grouped or processed into rapid-exchange instances. The number of rapid-exchange instances, the time intervals between them, and/or the rhythm and directions of the initiation of the instances may be analyzed to determine that a human actor is manually controlling the external host. In some embodiments, when it is determined that only one human actor is involved, alarm data may be generated that indicates that a network intrusion involving manual remote control has occurred or is underway." . "Nicolas BEAUCHESNE; Ryan James PRENGER" . "This patent describes detecting an external attacker taking remote control of an internal host. Detection includes identifying sessions where the external host controls the internal host in the opposite direction the session was initiated. The number of rapid-exchange communication instances (i.e, communications that occur between the two hosts with little silence gap), the time intervals between them, and/or the rhythm and direction of the instances, are analyzed to determine if an external human actor is manually controlling the internal host." . "VECTRA NETWORKS Inc" . "Reference - Method and system for detecting external control of compromised hosts - VECTRA NETWORKS Inc" . . . . "https://patents.google.com/patent/EP3293937A1/en?oq=EP-3293937-A1"^^ . "Method and system for detecting malicious payloads" . "Disclosed is an improved method, system, and computer program product for identifying malicious payloads. The disclosed approach identifies potentially malicious payload exchanges which may be associated with payload injection or root-kit magic key usage.\n\nSome examples of data inputs:\n Information for clients and servers, such as IP address and host information\n Payloads for both clients and servers\n Amount of data being transferred\n Duration of communications\n Length of time delay between client request and server response" . "Nicolas Beauchesne; John Steven Mancini" . "Extraction of network flow data and using unsupervised machine learning to create a standard baseline. During the monitoring phase, abnormal network metadata will result in an alert." . "Vectra Networks Inc" . "Reference - Method and system for detecting malicious payloads - Vectra Networks Inc" . . . . "https://patents.google.com/patent/US20160359883A1"^^ . "Method and system for detecting restricted content associated with retrieved content" . "In embodiments of the present invention improved capabilities are described for detecting restricted content associated with retrieved content. The method and system may include receiving a client request for content, saving contextual information from the client request, presenting retrieved content in response to the client request, and presenting the contextual information from the client request, and retrieved content, to a scanning facility. The scanning facility may utilize the contextual information from the client request to aid in the detection of restricted content associated with retrieved content." . "Fraser Howard; Paul Baccas; Vanja Svajcer; Benjamin John Godwood; William James McCourt" . "This patent describes analyzing contextual information of a Uniform Resource Identifier (URI), such as source or origin of the request URI, patterns in the way the URI is delivered, and the locale of the URI. The contextual information is sent to a scanning facility which uses that information along with a blacklist of known malicious domain names, locations, patterns, etc. to block retrieved content associated with the request URI." . "Sophos Ltd" . "Reference - Method and system for detecting restricted content associated with retrieved content - Sophos Ltd" . . . . "https://patents.google.com/patent/US20180077186A1"^^ . "Method and system for detecting suspicious administrative activity" . "Disclosed is an improved approach for identifying suspicious administrative host activity within a network. Network traffic is examined to learn the behavior of hosts within a network. This provides an effective way of determining whether or not a host is performing suspicious activity over an administrative protocol." . "Nicolas Beauchesne; Kevin Song-Kai Ni" . "Collect network traffic metadata directed at administrative services over a period of time to establish a baseline. This baseline is then used to determine suspicious activity that falls outside of the established baseline." . "Vectra Networks Inc" . "Reference - Method and system for detecting suspicious administrative activity - Vectra Networks Inc" . . . . "https://patents.google.com/patent/US20160191551A1"^^ . "Method and system for detecting threats using metadata vectors" . "An approach for detecting network attacks using metadata vectors may initially involve receiving network communications or packets, extracting metadata items from the packets. The metadata items describe the communications without requiring deep content inspection of the data payload or contents. The communications may be clustered into groups using the metadata items. If a cluster exceeds a threshold, an alarm may be generated." . "Nicolas BEAUCHESNE; David Lopes Pegna; Karl Lynn" . "This patent describes detecting network threats by first passively collecting network traffic and storing it for processing. Metadata from network traffic such as packet header information or information about a session (ex. time between request/responses) is extracted. After the metadata is extracted, the data is grouped into cluster maps of matching events to track how many instances of a network communication have occurred, such as five requests sent and five responses received. Threshold limits are set on the clusters to monitor them and if a cluster grows too large (ex. ten instances of requests and responses) this can correspond to unauthorized behavior. This method might detect, for example, a network attack using malicious payloads with automated scripts, in which a bot sends replicated malicious payloads to the same destination port." . "VECTRA NETWORKS Inc" . "Reference - Method and system for detecting threats using metadata vectors - VECTRA NETWORKS Inc" . . . . "https://patents.google.com/patent/US20160149936A1"^^ . "Method and system for detecting threats using passive cluster mapping" . "An approach for detecting network threats is disclosed, that may involve receiving network traffic, plotting the network traffic in a n-dimensional feature space to form a network map, generating a client signature at least by placing new client points in the map, setting a threshold, and generating an alarm if one or more client activity points exceed the threshold. In some embodiments, the network map and the client signature are updated using sliding windows and distance calculations." . "David Lopes PEGNA; Nicolas Beauchesne" . "This patent describes detecting network threats by first passively collecting network traffic and storing it for processing. The stored network traffic data is used to map network events to create a cluster map. Events are network activity associated with clients, servers, or control modules such as a Kerberos Domain Controller (KDC); account information; services accessed by the client; or the number of times a service is accessed. Events that exceed a threshold from a center of gravity point of a cluster are identified as suspicious activity and an alert is generated." . "Vectra Networks Inc" . "Reference - Method and system for detecting threats using passive cluster mapping - Vectra Networks Inc" . . . "https://patents.google.com/patent/US10474448B2/en"^^ . "Method and system for providing software updates to local machines" . "John Melton Reynolds" . "Sophos Ltd" . "Reference - Method and system for providing software updates to local machines" . . . . "https://patents.google.com/patent/US8307430B1"^^ . "Method and system for UDP flood attack detection" . "A system and method is provided to identify UDP attacks. A processor determines a spectral density of packet timing intervals, a natural distance between the spectral density and a uniform distribution, and a non-linear amplifier applying a non-linear amplification to the natural distance to detect a denial-of-service attack. It uses the concept of traffic statistics analysis, i.e., spectral densities of arrived-packet timing intervals, calculates the KL-distance measurement and makes decision based on the output of a non-linear Gaussian amplifier, with which one can easily adjust the amplifier via selecting different parameters of mean and variance to satisfy system requirements of false-positive and false-negative UDP attack detections." . "Hongda Chen, Lijin Lu" . "Reference - Method and system for UDP flood attack detection - Riorey LLC" . . . . "https://patents.google.com/patent/EP0658837B1/"^^ . "Method for controlling computer network security" . "A method of operating a security system for a computer network in which data is passed in said network as data packets, said system controlling the passage of said data packets in the network according to a security rule, where each aspect of said network controlled by said security rule has been defined, said security rule has been defined in terms of said aspects and converted into a set of filter language instructions." . "Gil Shwed" . "" . "Checkpoint Software Technologies Ltd" . "Reference - Method for controlling computer network security - Checkpoint Software Technologies Ltd" . . . . "https://patents.google.com/patent/US9521123B2/en"^^ . "Method for file encryption" . "A method for encryption and sealing of a plaintext file by hashing the plaintext file to produce a plaintext hash, encrypting the plaintext file to produce ciphertext, hashing the ciphertext to produce a ciphertext hash, hashing the plaintext hash and the ciphertext hash to produce a result hash, and sealing the ciphertext together with the result hash." . "Robert R. Jueneman, Duane J. LINSENBARDT, John N. Young, William Reid Carlisle, Burton George Tregub" . "New Kailung Gear Co Ltd" . "Reference - Method for file encryption" . . . . "https://patents.google.com/patent/US8239947B1"^^ . "Method using kernel mode assistance for the detection and removal of threats which are actively preventing detection and removal from a running system" . "A user mode application component invokes the assistance of a kernel mode driver component to detect and/or remediate malicious code on a computer system. The user mode application may include code that detects, for example, spyware and computer viruses, from user mode and when appropriate takes protective action when malicious code is detected. In one aspect, when the user mode application is unable to perform a selected operation in attempting to detect and/or take protective action, the user mode application invokes a kernel mode driver for assistance. The kernel mode driver assists user mode application in detecting malicious code and/or taking protective action by enabling or otherwise performing a selected operation for the user mode application." . "Adam Glick, Patrick Gardner, Pieter Viljoen" . "This patent describes detecting registry changes using a prohibited change heuristic or a database of prohibited functions/function parameters." . "Symantec Corporation" . "Reference - Method using kernel mode assistance for the detection and removal of threats which are actively preventing detection and removal from a running system - Symantec Corporation" . . . . "https://csis.gmu.edu/noel/pubs/2016_NATO_IST_148.pdf"^^ . "Mission Dependency Modeling for Cyber Situational Awareness" . "This paper describes a hierarchical graph-based model that captures mission dependencies at various levels of abstraction, showing interdependencies among mission objectives, tasks, information, and cyber assets. For this work, we employ established tools within a structured methodology for cyber resiliency analysis. Our model is focused on a strategic-level military scenario defined in a formal Request for Information (RFI) to industry and research partners by the NATO Multinational Cyber Defense Capability Development (MN CD2) Work Package 2 (WP2). We enhance this scenario with additional mission and operational context, and then build a mission dependency model for the enhanced scenario. It is anticipated that our mission dependency model will be part of an upcoming demonstration of cyber defense situational awareness capabilities in a NATO Communications and Information (NCI) Agency test environment, integrated with data sources that represent the operational military environment." . "William Heinbockel, Steven Noel, James Curbo" . "JHU APL" . "Reference - Mission Dependency Modeling for Cyber Situational Awareness" . . . . "https://patents.google.com/patent/US9558677B2/"^^ . "Mock attack cybersecurity training system and methods" . "A training system senses a user action that may expose the user to a threat, such as a cybersecurity threat. The user action may be in response to a mock attack delivered via a messaging service, a wireless communication service, a fake malware application or another device, service, system or mechanism. The system selects a training action from a collection of available training actions and causes the training action to be delivered to the user." . "Norman Sadeh-Koniecpol, Kurt Wescoe, Jason Brubaker, Jason Hong" . "" . "WOMBAT SECURITY TECHNOLOGIES Inc" . "Reference - Mock attack cybersecurity training system and methods - WOMBAT SECURITY TECHNOLOGIES Inc" . . . . "https://patents.google.com/patent/US8214364B2"^^ . "Modeling user access to computer resources" . "Embodiments of the invention provide a method for detecting changes in behavior of authorized users of computer resources and reporting the detected changes to the relevant individuals. The method includes evaluating actions performed by each user against user behavioral models and business rules. As a result of the analysis, a subset of users may be identified and reported as having unusual or suspicious behavior. In response, the management may provide feedback indicating that the user behavior is due to the normal expected business needs or that the behavior warrants further review. The management feedback is available for use by machine learning algorithms to improve the analysis of user actions over time. Consequently, investigation of user actions regarding computer resources is facilitated and data loss is prevented more efficiently relative to the prior art approaches with only minimal disruption to the ongoing business processes." . "Joseph P. Bigus, Leon Gong, Christoph Lingenfelder" . "" . "Daedalus Group LLC (formerly IBM)" . "Reference - Modeling user access to computer resources - Daedalus Group LLC (formerly IBM)" . . . . "https://patents.google.com/patent/US20170149825A1"^^ . "Modification of a Server to Mimic a Deception Mechanism" . "Provided are devices, computer-program products, and methods (e.g., methods implemented by a production system or security agent program or process) for providing services on a production system to mimic a deception mechanism. For example, a method can include determining a deception characteristic of a deception mechanism and determining a production characteristic of the production system. The method can further include determining an additional service or a modification of an existing service of the production system using the deception characteristic and the production characteristic. In some cases, the additional service and/or the modification can be a deterrent to potential attackers of the production system. The method can further include modifying the production system to mimic the deception mechanism, including adding the additional service to the production system or modifying the existing service using the modification." . "Sreenivas Gukal, Rammohan Varadarajan" . "" . "Acalvio Technologies Inc" . "Reference - Modification of a Server to Mimic a Deception Mechanism - Acalvio Technologies Inc" . . . "https://github.com/Neo23x0/munin"^^ . "Online Hash Checker for Virustotal and Other Services" . "Florian Roth" . "Reference - Munin" . . . . "https://csrc.nist.gov/CSRC/media/Projects/risk-management/documents/05-Assess%20Step/NIST%20RMF%20Assess%20Step-FAQs.pdf"^^ . "NIST RMF Quick Start Guide - Assess Step - Frequently Asked Questions (FAQ)" . "Once security and privacy controls are implemented, they need to be evaluated for correctness and effectiveness. After the initial assessment is completed and the system enters the operations/maintenance phase of the system development life cycle, the controls are assessed on an ongoing basis according to the organization and system\u2019s continuous monitoring plans. The ongoing assessment supports the authorizing official\u2019s decision to continue or discontinue the system\u2019s authorization to operate. Control effectiveness assessments are performed by an independent third-party assessor or assessment team if the system categorization is moderate or high." . "NIST" . "Reference - NIST RMF Quick Start Guide - Assess Step - Frequently Asked Questions (FAQ)" . . . . "https://doi.org/10.6028/NIST.SP.800-160v1"^^ . "NIST Special Publication 800-160 Volume 1 - Systems Security Engineering" . "With the continuing frequency, intensity, and adverse consequences of cyber-attacks, disruptions, hazards, and other threats to federal, state, and local governments, the military, businesses, and the critical infrastructure, the need for trustworthy secure systems has never been more important to the long-term economic and national security interests of the United States. Engineering-based solutions are essential to managing the growing complexity, dynamicity, and interconnectedness of today\u2019s systems, as exemplified by cyber-physical systems and systems-of-systems, including the Internet of Things. This publication addresses the engineering-driven perspective and actions necessary to develop more defensible and survivable systems, inclusive of the machine, physical, and human components that compose the systems and the capabilities and services delivered by those systems. It starts with and builds upon a set of well-established International Standards for systems and software engineering published by the International Organization for Standardization (ISO), the International Electrotechnical Commission (IEC), and the Institute of Electrical and Electronics Engineers (IEEE) and infuses systems security engineering methods, practices, and techniques into those systems and software engineering activities. The objective is to address security issues from a stakeholder protection needs, concerns, and requirements perspective and to use established engineering processes to ensure that such needs, concerns, and requirements are addressed with appropriate fidelity and rigor, early and in a sustainable manner throughout the life cycle of the system." . "Ron Ross, Michael McEvilley, and Janet Carrier Oren" . "NIST" . "Reference - NIST Special Publication 800-160 Volume 1 - System Security Engineering" . . . . "https://doi.org/10.6028/NIST.SP.800-37r2"^^ . "NIST Special Publication 800-37 Revision 2 - Risk Management Framework for Information Systems and Organizations" . "This publication describes the Risk Management Framework (RMF) and provides guidelines for applying the RMF to information systems and organizations. The RMF provides a disciplined, structured, and flexible process for managing security and privacy risk that includes information security categorization; control selection, implementation, and assessment; system and common control authorizations; and continuous monitoring. The RMF includes activities to prepare organizations to execute the framework at appropriate risk management levels. The RMF also promotes near real-time risk management and ongoing information system and common control authorization through the implementation of continuous monitoring processes; provides senior leaders and executives with the necessary information to make efficient, cost-effective, risk management decisions about the systems supporting their missions and business functions; and incorporates security and privacy into the system development life cycle. Executing the RMF tasks links essential risk management processes at the system level to risk management processes at the organization level. In addition, it establishes responsibility and accountability for the controls implemented within an organization\u2019s information systems and inherited by those systems." . "NIST" . "Reference - NIST Special Publication 800-37 Revision 2 - Risk Management Framework for Information Systems and Organizations" . . . . "https://doi.org/10.6028/NIST.SP.800-53Ar5"^^ . "NIST Special Publication 800-53A Revision 5 - Assessing Security and Privacy Controls in Information Systems and Organizations" . "This publication provides a methodology and set of procedures for conducting assessments of security and privacy controls employed within systems and organizations within an effective risk management framework. The assessment procedures, executed at various phases of the system development life cycle, are consistent with the security and privacy controls in NIST Special Publication 800-53, Revision 5. The procedures are customizable and can be easily tailored to provide organizations with the needed flexibility to conduct security and privacy control assessments that support organizational risk management processes and are aligned with the stated risk tolerance of the organization. Information on building effective security and privacy assessment plans is also provided with guidance on analyzing assessment results." . "NIST" . "Reference - NIST Special Publication 800-53A Revision 5 - Assessing Security and Privacy Controls in Information Systems and Organizations" . . . . "https://doi.org/10.6028/NIST.IR.8011-1"^^ . "NIST Interagency Report 8011 Volume 1 - Automation Support for Security Control Assessments" . "This volume introduces concepts to support automated assessment of most of the security controls in NIST Special Publication (SP) 800-53. Referencing SP 800-53A, the controls are divided into more granular parts (determination statements) to be assessed. The parts of the control assessed by each determination statement are called control items. The control items are then grouped into the appropriate security capabilities. As suggested by SP 800-53 Revision 4, security capabilities are groups of controls that support a common purpose. For effective automated assessment, testable defect checks are defined that bridge the determination statements to the broader security capabilities to be achieved and to the SP 800-53 security control items themselves. The defect checks correspond to security sub-capabilities\u2014called sub-capabilities because each is part of a larger capability. Capabilities and sub-capabilities are both designed with the purpose of addressing a series of attack steps. Automated assessments (in the form of defect checks) are performed using the test assessment method defined in SP 800-53A by comparing a desired and actual state (or behavior)." . "Kelley Dempsey, Paul Eavy, and George Moore" . "NIST" . "Reference - NISTIR 8011 Volume 1 - Automation Support for Security Control Assessments" . . . . "https://eprints.qut.edu.au/21172/1/21172.pdf"^^ . "Network-Based Buffer Overflow Detection by Exploit Code Analysis" . "Buffer overflow attacks continue to be a major security problem and detecting attacks of this nature\nis therefore crucial to network security. Signature based network based intrusion detection systems (NIDS)\ncompare network traffic to signatures modelling suspicious or attack traffic to detect network attacks. Since\ndetection is based on pattern matching, a signature modelling the attack must exist for the NIDS to detect it, and\nit is therefore only capable of detecting known attacks. This paper proposes a method to detect buffer overflow\nattacks by parsing the payload of network packets in search of shellcode which is the remotely executable\ncomponent of a buffer overflow attack. By analysing the shellcode it is possible to determine which system\ncalls the exploit uses, and hence the operation of the exploit. Current NIDS-based buffer overflow detection\ntechniques mainly rely upon specific signatures for each new attack. Our approach is able to detect previously\nunseen buffer overflow attacks, in addition to existing ones, without the need for specific signatures for each\nnew attack. The method has been implemented and tested for buffer overflow attacks on Linux on the Intel x86\narchitecture using the Snort NIDS." . "Stig Andersson, Andrew Clark, and George Mohay" . "" . "Information Security Research Centre" . "Reference - Network-Based Buffer Overflow Detection by Exploit Code Analysis - Information Security Research Centre" . . . . "https://www.cs.unc.edu/~fabian/course_papers/polymorphic-detect.pdf"^^ . "Network-level polymorphic shellcode detection using emulation" . "Michalis Polychronakis" . "Reference - Network-level polymorphic shellcode detection using emulation" . . . . "https://patents.google.com/patent/GB2318031A"^^ . "Network firewall with proxy" . "A proxy which is part of a firewall controls exchanges of information between two application entities. The proxy interrogates attempts to establish a communication session by requesting entities with a server entity in lower layers in accordance with defined authentication procedures. The Proxy interfaces with networking software to direct a communication stack to monitor connection requests to any address on specific ports. The requestor's address, and the server's address are checked against a access control list. If either address is invalid, the proxy closes the connection. If both are valid, a new connection is setup such that both the requestor and server are transparently connected to the proxy with variable higher levels being connected in a relay mode. Protocol data units are interrogated for conformance to a protocol session, and optionally further decoded to add additional application specific filtering. In one embodiment, an OSI architecture comprises the levels." . "Michael W Green, Ricky Ronald Kruse" . "" . "Secure Computing LLC" . "Reference - Network firewall with proxy - Secure Computing LLC" . . . "https://github.com/osquery/osquery/blob/d2be385d71f401c85872f00d479df8f499164c5a/osquery/tables/system/windows/users.cpp"^^ . "OS Query Windows User Collection Code" . "Reference - OS Query Windows User Collection Code" . . . . "https://patents.google.com/patent/US10333976B1/en?assignee=Illusive+Networks+Ltd&oq=Illusive+Networks+Ltd+"^^ . "Open source intelligence deceptions" . "A system to detect attackers who attempt to breach an enterprise network and attackers who have already breached the enterprise network, including an open source intelligence (OSINT) discoverer scanning the Internet to discover data related to an enterprise that is available online, an OSINT replacer generating deceptive files by replacing placeholders within template files with deceptive information, based on the data discovered by the OSINT discoverer, an OSINT distributor planting the deceptive files generated by the OSINT replacer within designated OSINT resources, and a deception management server that alerts an administrator in response to an attacker attempting to make a connection within the network using information in a deceptive file planted by the OSINT distributor." . "Hadar Yudovich; Nimrod Lavi; Sharon Bittan; Tom Kahana; Tom Sela" . "Seems to focus on configuration oriented files to put in decoy hostnames etc. to publish on internet sites, then monitor the decoy \"objects\"." . "Illusive Networks Ltd" . "Reference - Open source intelligence deceptions - Illusive Networks Ltd" . . . . "https://www.sap-press.com/organizational-management-in-sap-erp-hcm_3996/"^^ . "Organization Mapping in SAP ERP HCM" . "Soham Ray" . "SAP Press" . "Reference - Organizational Management in SAP ERP HCM" . . . . "https://car.mitre.org/analytics/CAR-2014-11-002/"^^ . "CAR-2014-11-002: Outlier Parents of Cmd" . "Many programs create command prompts as part of their normal operation including malware used by attackers. This analytic attempts to identify suspicious programs spawning cmd.exe by looking for programs that do not normally create cmd.exe.\n\nWhile this analytic does not take the user into account, doing so could generate further interesting results. It is very common for some programs to spawn cmd.exe as a subprocess, for example to run batch files or windows commands. However many process don't routinely launch a command prompt - for example Microsoft Outlook. A command prompt being launched from a process that normally doesn't launch command prompts could be the result of malicious code being injected into that process, or of an attacker replacing a legitimate program with a malicious one." . "MITRE" . "" . "MITRE" . "Reference - CAR-2014-11-002: Outlier Parents of Cmd - MITRE" . . . . "https://code.google.com/archive/p/seccompsandbox/wikis/overview.wiki"^^ . "Overview of the seccomp sandbox" . "Reference - Overview of the seccomp sandbox" . . . . "https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-193.pdf"^^ . "Platform Firmware Resiliency Guidelines" . "This document provides technical guidelines and recommendations supporting resiliency of platform firmware and data against potentially destructive attacks. The platform is a collection of fundamental hardware and firmware components needed to boot and operate a system. A successful attack on platform firmware could render a system inoperable, perhaps permanently, or requiring reprogramming by the original manufacturer, resulting in significant disruptions to users. The technical guidelines in this document promote resiliency in the platform by describing security mechanisms for protecting the platform against unauthorized changes, detecting unauthorized changes that occur, and recovering from attacks rapidly and securely. Implementers, including Original Equipment Manufacturers (OEMs) and component/device suppliers, can use these guidelines to build stronger security mechanisms into platforms. System administrators, security professionals, and users can use this document to guide procurement strategies and priorities for future systems." . "NIST" . "" . "NIST" . "Reference - Platform Firmware Resiliency Guidelines - NIST" . . . . "https://www.qualcomm.com/media/documents/files/whitepaper-pointer-authentication-on-armv8-3.pdf"^^ . "Pointer Authentication on ARMv8.3" . "The pointer authentication scheme introduced by ARM is a software security primitive that makes it much harder for an attacker to modify protected pointers in memory without being detected. In this document, we will provide more details about the Pointer Authentication mechanism, provide a security analysis, and discuss the implementation of certain software security countermeasures, such as stack protection and control flow integrity, using the Pointer Authentication primitives." . "Qualcomm Technologies, Inc" . "Qualcomm Technologies, Inc" . "Reference - Pointer Authentication on ARMv8.3" . . . . "https://googleprojectzero.blogspot.com/2019/02/examining-pointer-authentication-on.html"^^ . "Examining Pointer Authentication on the iPhone XS" . "In this post I examine Apple's implementation of Pointer Authentication on the A12 SoC used in the iPhone XS, with a focus on how Apple has improved over the ARM standard. I then demonstrate a way to use an arbitrary kernel read/write primitive to forge kernel PAC signatures for the A keys, which is sufficient to execute arbitrary code in the kernel using JOP. The technique I discovered was (mostly) fixed in iOS 12.1.3. In fact, this fix first appeared in the 16D5032a beta while my research was still ongoing." . "Brandon Azad" . "Project Zero, Google, Inc" . "Reference - Pointer Authentication Project Zero" . . . . "https://patents.google.com/patent/US20190138715A1/"^^ . "Post sandbox methods and systems for detecting and blocking zero-day exploits via api call validation" . "In one aspect, a method useful for monitoring and validating execution of executable binary code, includes the step of disassembling an executable binary code of an application. The method includes the step of detecting and obtaining location and type of an application programming interface (API) call, system call, and privileged instruction that is executed by the executable binary code. The method includes the step of detecting and obtaining return address from an Al call and system call. The method includes the step of validating location of the API call system call, and privileged instruction. The method includes the step of validating return from the API call and system call." . "Jayant Shukla" . "The patent describes a technique for monitoring API calls. Executable binary code of an application is first disassembled and scanned for API calls. Based on the recorded API calls, a rule list is generated. Software hooks are placed in the code for monitoring API calls during program execution and then each API call is validated using the generated rule list to permit or deny execution of API calls.\n\nRules are created that specify the type and location of the API call. For example, data collected for an application can show an API call to libc at address 0x43e0 and an API call by libc at address 0xlfb47. Accordingly, two rules are generated. The first rule specifies the location type and target of the API call at address 0x43e0, as well as the return address. The second rule is for the API call to the kernel and states the target address, return address, instruction, and target type." . "K2 Cyber Security Inc" . "Reference - Post sandbox methods and systems for detecting and blocking zero-day exploits via api call validation - K2 Cyber Security Inc" . . . . "https://car.mitre.org/analytics/CAR-2014-04-003/"^^ . "CAR-2014-04-003: Powershell Execution" . "PowerShell is a scripting environment included with Windows that is used by both attackers and administrators. Execution of PowerShell scripts in most Windows versions is opaque and not typically secured by antivirus which makes using PowerShell an easy way to circumvent security measures. This analytic detects execution of PowerShell scripts.\n\nPowershell can be used to hide monitored command line execution such as:\n\n* net use\n* sc start" . "MITRE" . "" . "MITRE" . "Reference - CAR-2014-04-003: Powershell Execution - MITRE" . . . . "https://arxiv.org/abs/1611.007911"^^ . "Predicting Domain Generation Algorithms with Long Short-Term Memory Networks" . "Various families of malware use domain generation algorithms (DGAs) to generate a large number of pseudo-random domain names to connect to a command and control (C&C) server. In order to block DGA C&C traffic, security organizations must first discover the algorithm by reverse engineering malware samples, then generating a list of domains for a given seed. The domains are then either preregistered or published in a DNS blacklist. This process is not only tedious, but can be readily circumvented by malware authors using a large number of seeds in algorithms with multivariate recurrence properties (e.g., banjori) or by using a dynamic list of seeds (e.g., bedep). Another technique to stop malware from using DGAs is to intercept DNS queries on a network and predict whether domains are DGA generated. Such a technique will alert network administrators to the presence of malware on their networks. In addition, if the predictor can also accurately predict the family of DGAs, then network administrators can also be alerted to the type of malware that is on their networks. This paper presents a DGA classifier that leverages long short-term memory (LSTM) networks to predict DGAs and their respective families without the need for a priori feature extraction. Results are significantly better than state-of-the-art techniques, providing 0.9993 area under the receiver operating characteristic curve for binary classification and a micro-averaged F1 score of 0.9906. In other terms, the LSTM technique can provide a 90% detection rate with a 1:10000 false positive (FP) rate---a twenty times FP improvement over comparable methods. Experiments in this paper are run on open datasets and code snippets are provided to reproduce the results." . "Jonathan Woodbridge, Hyrum S. Anderson, Anjum Ahuja, Daniel Grant" . "" . "" . "Reference - Predicting Domain Generation Algorithms with Long Short-Term Memory Networks" . . . . "https://patents.google.com/patent/US20160105450A1"^^ . "Preventing execution of task scheduled malware" . "A method for preventing malware attacks includes the steps of detecting an attempt on an electronic device to access a task scheduler, determining an entity associated with the attempt to access the task scheduler, determining a malware status of the entity, and, based on the malware status of the entity, allowing or denying the attempted access to the task scheduler. The task scheduler is configured to launch one or more applications at a specified time or interval." . "Anil Ramabhatta, Harinath Vishwanath Ramachetty, Nandi Dharma Kishore" . "Access to a job scheduler is intercepted using hooking or file filters to identify and analyze the source files, processes, destination files, or destination servers associated with a scheduled job. The identified servers or files associated with a job are compared against an anti-malware signature database or reputation server to determine if it there is a match. If so, execution is denied and an alert is generated." . "McAfee LLC" . "Reference - Preventing execution of task scheduled malware - McAfee LLC" . . . "https://patents.google.com/patent/US10128890B2/en"^^ . "Privacy and security systems and methods of use" . "Teddy David Thomas" . "Reference - Privacy and security systems and methods of use" . . . . "https://patents.google.com/patent/US20120331142A1"^^ . "Private virtual local area network isolation" . "In one embodiment, a method includes obtaining addresses of end hosts at a switch, the switch configured with a primary virtual local area network and a secondary virtual local area network, creating a private virtual local area network access list comprising the addresses of end hosts permitted to communicate on the secondary virtual local area network, and applying the private virtual local area network access list to interfaces connected to the end hosts permitted to communicate on the secondary virtual local area network. An apparatus is also disclosed." . "Anuraag Mittal, Huei-Ping Chen" . "Cisco Technology Inc" . "Reference - Private virtual local area network isolation - Cisco Technology Inc" . . . . "https://car.mitre.org/analytics/CAR-2013-02-003/"^^ . "CAR-2013-02-003: Processes Spawning cmd.exe" . "The Windows Command Prompt (cmd.exe) is a utility that provides a command line interface to Windows operating systems. It provides the ability to run additional programs and also has several built-in commands such as dir, copy, mkdir, and type, as well as batch scripts (.bat). Typically, when a user runs a command prompt, the parent process is explorer.exe or another instance of the prompt. There may be automated programs, logon scripts, or administrative tools that launch instances of the command prompt in order to run scripts or other built-in commands. Spawning the process cmd.exe from certain parents may be more indicative of malice. For example, if Adobe Reader or Outlook launches a command shell, this may suggest that a malicious document has been loaded and should be investigated. Thus, by looking for abnormal parent processes of cmd.exe, it may be possible to detect adversaries." . "MITRE" . "" . "MITRE" . "Reference - CAR-2013-02-003: Processes Spawning cmd.exe - MITRE" . . . . "https://patents.google.com/patent/US20060242406A1"^^ . "Protected computing environment" . "A method of establishing a protected environment within a computing device including validating a kernel component loaded into a kernel of the computing device, establishing a security state for the kernel based on the validation, creating a secure process and loading a software component into the secure process, periodically checking the security state of the kernel, and notifying the secure process when the security state of the kernel has changed." . "Sumedh Barde, Jonathan Schwartz, Reid Kuhn, Alexandre Grigorovitch, Kirt Debique, Chadd Knowlton, James Alkove, Geoffrey Dunbar, Michael Grier, Ming Ma, Chaitanya Upadhyay, Adil Sherwani, Arun Kishan" . "" . "Microsoft Technology Licensing LLC" . "Reference - Protected computing environment - Microsoft Technology Licensing LLC" . . . . "https://patents.google.com/patent/US7171683B2"^^ . "Protecting against distributed denial of service attacks" . "A method for authenticating packet communication traffic includes receiving a data packet sent over a network from a source address to a destination address and reading from the packet a value of a field that is indicative of a number of hops traversed by the packet since having been sent from the source address. The authenticity of the source address is assessed responsive to the value." . "Guy Pazi, Anat Bremler-Bar, Rami Rivlin, Dan Touitou" . "Cisco Technologies Inc." . "Reference - Protecting against distributed denial of service attacks - Cisco Technology Inc." . . . . "https://patents.google.com/patent/US8789173B2"^^ . "Protecting against distributed network flood attacks" . "A network security device performs a three-stage analysis of traffic to identify malicious clients. In one example, a device includes an attack detection module to, during a first stage, monitor network connections to a protected network device, during a second stage, to monitor a plurality of types of transactions for the plurality of network sessions when a parameter for the connections exceeds a connection threshold, and during a third stage, to monitor communications associated with network addresses from which transactions of the at least one of type of transactions originate when a parameter associated with the at least one type of transactions exceeds a transaction-type threshold. The device executes a programmed action with respect to at least one of the network addresses when the transactions of the at least one of the plurality of types of transactions originating from the at least one network address exceeds a client-transaction threshold." . "Krishna Narayanaswamy, Bryan Burns, Venkata Rama Raju Manthena" . "Juniper Networks Inc." . "Reference - Protecting against distributed network flood attacks - Juniper Networks Inc." . . . . . "https://www.qualys.com/passive-scanning-sensor/"^^ . "Qualys Network Passive Sensor Getting Started Guide" . "Qualys Passive Scanning Sensor (PS) continuously monitors all network traffic and flags any asset activity. It identifies and profiles devices the moment they connect to the network, including those difficult to scan, corporate owned, brought by employees, and rogue IT. The data is sent immediately to the Qualys Cloud Platform for centralized analysis." . "Qualys" . "Reference - Qualys Network Passive Sensor Getting Started Guide" . . . . "https://car.mitre.org/analytics/CAR-2013-04-002/"^^ . "CAR-2013-04-002: Quick execution of a series of suspicious commands" . "Certain commands are frequently used by malicious actors and infrequently used by normal users. By looking for execution of these commands in short periods of time, we can not only see when a malicious user was on the system but also get an idea of what they were doing." . "MITRE" . "" . "MITRE" . "Reference - CAR-2013-04-002: Quick execution of a series of suspicious commands - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2013-07-002"^^ . "CAR-2013-07-002: RDP Connection Detection" . "The Remote Desktop Protocol (RDP), built in to Microsoft operating systems, allows a user to remotely log in to the desktop of another host. It allows for interactive access of the running windows, and forwards key presses, mouse clicks, etc. Network administrators, power users, and end-users may use RDP for day-to-day operations. From an adversary's perspective, RDP provides a means to laterally move to a new host. Determining which RDP connections correspond to adversary activity can be a difficult problem in highly dynamic environments, but will be useful in identifying the scope of a compromise." . "MITRE" . "" . "MITRE" . "Reference - CAR-2013-07-002: RDP Connection Detection - MITRE" . . . . "https://tools.ietf.org/html/rfc2289"^^ . "A One-Time Password System" . "Internet Engineering Task Force (IETF)" . "Reference - RFC 2289 - A One-Time Password System" . . . . "https://https://datatracker.ietf.org/doc/html/rfc3411"^^ . "An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks" . "D. Harrington, R. Presuhn, B. Wijnen" . "Internet Engineering Task Force (IETF)" . "Reference - An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks" . . . . "https://tools.ietf.org/html/rfc7208"^^ . "RFC 7208: Sender Policy Framework (SPF) for Authorizing Use of Domains in Email" . "Email on the Internet can be forged in a number of ways. In particular, existing protocols place no restriction on what a sending host can use as the \"MAIL FROM\" of a message or the domain given on the SMTP HELO/EHLO commands. This document describes version 1 of the Sender Policy Framework (SPF) protocol, whereby Administrative Management Domains (ADMDs) can explicitly authorize the hosts that are allowed to use their domain names, and a receiving host can check such authorization." . "S. Kitterman" . "Internet Engineering Task Force (IETF)" . "Reference - RFC 7208: Sender Policy Framework (SPF) for Authorizing Use of Domains in Email - IETF" . . . . "https://tools.ietf.org/html/rfc7489"^^ . "RFC 7489: Domain-based Message Authentication, Reporting, and Conformance (DMARC)" . "Domain-based Message Authentication, Reporting, and Conformance(DMARC) is a scalable mechanism by which a mail-originating organization can express domain-level policies and preferences for message validation, disposition, and reporting, that a mail-receiving organization can use to improve mail handling.\n\nOriginators of Internet Mail need to be able to associate reliable and authenticated domain identifiers with messages, communicate policies about messages that use those identifiers, and report about mail using those identifiers. These abilities have several benefits: Receivers can provide feedback to Domain Owners about the use of their domains; this feedback can provide valuable insight about the management of internal operations and the presence of external domain name abuse.\n\nDMARC does not produce or encourage elevated delivery privilege of authenticated email. DMARC is a mechanism for policy distribution that enables increasingly strict handling of messages that fail authentication checks, ranging from no action, through altered\ndelivery, up to message rejection." . "M. Kucherawy, E. Zwicky" . "Internet Engineering Task Force (IETF)" . "Reference - RFC 7489: Domain-based Message Authentication, Reporting, and Conformance (DMARC) - IETF" . . . . "https://datatracker.ietf.org/doc/html/rfc7642"^^ . "RFC7642: System for Cross-domain Identity Management: Definitions, Overview, Concepts, and Requirements" . "The System for Cross-domain Identity Management (SCIM) specification is designed to manage user identity in cloud-based applications and services in a standardized way to enable interoperability, security, and scalability. The specification suite seeks to build upon experience with existing schemas and deployments, placing specific emphasis on simplicity of development and integration, while applying existing authentication, authorization, and privacy models. The intent of the SCIM specification is to reduce the cost and complexity of user management operations by providing a common user schema and extension model, as well as binding documents to provide patterns for exchanging this schema using standard protocols. In essence, make it fast, cheap, and easy to move users in to, out of, and around the cloud." . "K. LI, B. Khasnabish, A. Nadalin, Z. Zeltsan" . "IETF" . "Reference - RFC 7642: System for Cross-domain Identity Management: Definitions, Overview, Concepts, and Requirements" . . . . "https://patents.google.com/patent/US20150163109"^^ . "RPC call interception" . "A service proxy is described herein. The service proxy is configured to act as an intermediary between a client and a service. The service proxy may observe communications, modify communications, log communications, or the like, particularly so as to enhance the security and reliability of the host device. In some implementations, the service proxy may cooperate with an operating system to take over a named port object. In some implementations, the service proxy may receive messages as an intermediary between the client and the server. In some implementations, the service proxy may attach to a shared memory to intercept communications. In some implementations, the service proxy may be injected into a client process to appear to be the client itself." . "Ion-Alexandru Ionescu" . "" . "Crowdstrike Inc" . "Reference - RPC call interception - Crowdstrike Inc" . . . . "https://www.stigviewer.com/stig/red_hat_enterprise_linux_8/"^^ . "Red Hat Enterprise Linux 8 Security Technical Implementation Guide" . "Red Hat Enterprise Linux 8 Security Guidelines" . "Reference - Red Hat Enterprise Linux 8 Security Technical Implementation Guide" . . . . . "https://car.mitre.org/analytics/CAR-2013-03-001/"^^ . "CAR-2013-03-001: Reg.exe called from Command Shell" . "Registry modifications are often essential in establishing persistence via known Windows mechanisms. Many legitimate modifications are done graphically via regedit.exe or by using the corresponding channels, or even calling the Registry APIs directly. The built-in utility reg.exe provides a command-line interface to the registry, so that queries and modifications can be performed from a shell, such as cmd.exe. When a user is responsible for these actions, the parent of cmd.exe will likely be explorer.exe. Occasionally, power users and administrators write scripts that do this behavior as well, but likely from a different process tree. These background scripts must be learned so they can be tuned out accordingly." . "MITRE" . "" . "MITRE" . "Reference - CAR-2013-03-001: Reg.exe called from Command Shell - MITRE" . . . . "https://docs.microsoft.com/en-us/windows/win32/sysinfo/registry-key-security-and-access-rights"^^ . "Registry Key Security and Access Rights" . "The Windows security model enables you to control access to registry keys. For more information about security, see Access-Control Model." . "Microsoft" . "Reference - Registry Key Security and Access Rights" . . . . "https://car.mitre.org/analytics/CAR-2016-04-005/"^^ . "CAR-2016-04-005: Remote Desktop Logon" . "A remote desktop logon, through RDP, may be typical of a system administrator or IT support, but only from select workstations. Monitoring remote desktop logons and comparing to known/approved originating systems can detect lateral movement of an adversary." . "MITRE" . "" . "MITRE" . "Reference - CAR-2016-04-005: Remote Desktop Logon - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2014-11-005/"^^ . "CAR-2014-11-005: Remote Registry" . "An adversary can remotely manipulate the registry of another machine if the RemoteRegistry service is enabled and valid credentials are obtained. While the registry is remotely accessed, it can be used to prepare a Lateral Movement technique, discover the configuration of a host, achieve Persistence, or anything that aids an adversary in achieving the mission. Like most ATT&CK techniques, this behavior can be used legitimately, and the reliability of an analytic depends on the proper identification of the pre-existing legitimate behaviors. Although this behavior is disabled in many Windows configurations, it is possible to remotely enable the RemoteRegistry service, which can be detected with CAR-2014-03-005.\n\nRemote access to the registry can be achieved via\n\n* Windows API function RegConnectRegistry\n* command line via reg.exe\n* graphically via regedit.exe\n\nAll of these behaviors call into the Windows API, which uses the NamedPipe WINREG over SMB to handle the protocol information. This network can be decoded with wireshark or a similar sensor, and can also be detected by hooking the API function." . "MITRE" . "" . "MITRE" . "Reference - CAR-2014-11-005: Remote Registry - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2014-03-005/"^^ . "CAR-2014-03-005: Remotely Launched Executables via Services" . "There are several ways to cause code to execute on a remote host. One of the most common methods is via the Windows Service Control Manager (SCM), which allows authorized users to remotely create and modify services. Several tools, such as PsExec, use this functionality.\n\nWhen a client remotely communicates with the Service Control Manager, there are two observable behaviors. First, the client connects to the RPC Endpoint Mapper over 135/tcp. This handles authentication, and tells the client what port the endpoint--in this case the SCM--is listening on. Then, the client connects directly to the listening port on services.exe. If the request is to start an existing service with a known command line, the the SCM process will run the corresponding command.\n\nThis compound behavior can be detected by looking for services.exe receiving a network connection and immediately spawning a child process." . "MITRE" . "" . "MITRE" . "Reference - CAR-2014-03-005: Remotely Launched Executables via Services - MITRE" . . . . . "https://car.mitre.org/analytics/CAR-2014-12-001/"^^ . "CAR-2014-12-001: Remotely Launched Executables via WMI" . "Adversaries can use Windows Management Instrumentation (WMI) to move laterally by launching executables remotely. For adversaries to achieve this, they must open a WMI connection to a remote host. This RPC activity is currently detected by CAR-2014-11-007. After the WMI connection has been initialized, a process can be remotely launched using the command: wmic /node:\"\" process call create \"\", which is detected via CAR-2016-03-002.\n\nThis leaves artifacts at both a network (RPC) and process (command line) level. When wmic.exe (or the schtasks API) is used to remotely create processes, Windows uses RPC (135/tcp) to communicate with the the remote machine.\n\nAfter RPC authenticates, the RPC endpoint mapper opens a high port connection, through which the schtasks Remote Procedure Call is actually implemented. With the right packet decoders, or by looking for certain byte streams in raw data, these functions can be identified.\n\nWhen the command line is executed, it has the parent process of C:\\windows\\system32\\wbem\\WmiPrvSE.exe. This analytic looks for these two events happening in sequence, so that the network connection and target process are output." . "MITRE" . "" . "MITRE" . "Reference - CAR-2014-12-001: Remotely Launched Executables via WMI - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2015-04-002/"^^ . "CAR-2015-04-002: Remotely Scheduled Tasks via Schtasks" . "An adversary can move laterally using the schtasks command to remotely schedule tasks. Although these events can be detected with command line analytics CAR-2013-08-001, it is possible for an adversary to use the API directly, via the Task Scheduler GUI or with a scripting language such as PowerShell. In this cases, an additional source of data becomes necessary to detect adversarial behavior. When scheduled tasks are created remotely, Windows uses RPC (135/tcp) to communicate with the Task Scheduler on the remote machine. Once an RPC connection is established (CAR-2014-05-001), the client communicates with the Scheduled Tasks endpoint, which runs within the service group netsvcs. With packet capture and the right packet decoders or byte-stream based signatures, remote invocations of these functions can be identified.\n\nCertain strings can be identifiers of the schtasks, by looking up the interface UUID of ITaskSchedulerService in different formats\n\n* UUID 86d35949-83c9-4044-b424-db363231fd0c (decoded)\n* Hex 49 59 d3 86 c9 83 44 40 b4 24 db 36 32 31 fd 0c (raw)\n* ASCII IYD@$621 (printable bytes only)\n\nThis identifier is present three times during the RPC request phase. Any sensor that has access to the byte code as raw, decoded, or ASCII could implement this analytic." . "MITRE" . "" . "MITRE" . "Reference - CAR-2015-04-002: Remotely Scheduled Tasks via Schtasks - MITRE" . . . . "https://patents.google.com/patent/US20060253584A1"^^ . "Reputation of an entity associated with a content item" . "Christopher Dixon, Thomas Pinckney" . "Reference - Reputation of an entity associated with a content item" . . . . "https://campus.barracuda.com/product/emailsecuritygateway/doc/39819732/reverse-dns-blocking/"^^ . "Reverse DNS Blocking" . "campus.barracuda.com" . "Inbound corporate traffic SMTP traffic on port 25 can be routed through Barracuda Email Security Gateway before reaching the corporate mail server, acting as a traffic filter based on reverse DNS lookups and a denylist for blocking domains." . "Reference - Reverse DNS Blocking - Barracuda Networks" . . . . "https://car.mitre.org/analytics/CAR-2014-03-006/"^^ . "CAR-2014-03-006: RunDLL32.exe monitoring" . "Adversaries may find it necessary to use Dyanamic-link Libraries (DLLs) to evade defenses. One way these DLLs can be \"executed\" is through the use of the built-in Windows utility RunDLL32, which allows a user to execute code in a DLL, providing the name and optional arguments to an exported entry point. Windows uses RunDll32 legitimately in its normal operation, but with a proper baseline and understanding of the environment, monitoring its usage could be fruitful." . "MITRE" . "" . "MITRE" . "Reference - CAR-2014-03-006: RunDLL32.exe monitoring - MITRE" . . . . "https://docs.microsoft.com/en-us/cpp/build/reference/safeseh-image-has-safe-exception-handlers?view=msvc-160"^^ . "/SAFESEH (Image has Safe Exception Handlers)" . "When /SAFESEH is specified, the linker will only produce an image if it can also produce a table of the image's safe exception handlers. This table specifies for the operating system which exception handlers are valid for the image." . "Mike Blome, Saisang Cai, Colin Robertson, Mike Jones, NextTurn, Gordon Hogenson" . "" . "Microsoft" . "Reference - /SAFESEH (Image has Safe Exception Handlers) - Microsoft Docs" . . . . "https://car.mitre.org/analytics/CAR-2013-05-005/"^^ . "CAR-2013-05-005: SMB Copy and Execution" . "An adversary needs to gain access to other hosts to move throughout an environment. In many cases, this is a twofold process. First, a file is remotely written to a host via an SMB share (detected by CAR-2013-05-003). Then, a variety of Execution techniques can be used to remotely establish execution of the file or script. To detect this behavior, look for files that are written to a host over SMB and then later run directly as a process or in the command line arguments. SMB File Writes and Remote Execution may happen normally in an environment, but the combination of the two behaviors is less frequent and more likely to indicate adversarial activity.\n\nThis can possibly extend to more copy protocols in order to widen its reach, or it could be tuned more finely to focus on specific program run locations (e.g. %SYSTEMROOT%\\system32) to gain a higher detection rate." . "" . "" . "" . "Reference - CAR-2013-05-005: SMB Copy and Execution - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2013-01-003/"^^ . "CAR-2013-01-003: SMB Events Monitoring" . "Server Message Block (SMB) is used by Windows to allow for file, pipe, and printer sharing over port 445/tcp. It allows for enumerating, and reading from and writing to file shares for a remote computer. Although it is heavily used by Windows servers for legitimate purposes and by users for file and printer sharing, many adversaries also use SMB to achieve Lateral Movement. Looking at this activity more closely to obtain an adequate sense of situational awareness may make it possible to detect adversaries moving between hosts in a way that deviates from normal activity. Because SMB traffic is heavy in many environments, this analytic may be difficult to turn into something that can be used to quickly detect an APT. In some cases, it may make more sense to run this analytic in a forensic fashion. Looking through and filtering its output after an intrusion has been discovered may be helpful in identifying the scope of compromise.\n\nOutput Description:\nThe source, destination, content, and time of each event." . "MITRE" . "" . "MITRE" . "Reference - CAR-2013-01-003: SMB Events Monitoring - MITRE" . . . . . "https://car.mitre.org/analytics/CAR-2013-09-003/"^^ . "CAR-2013-09-003: SMB Session Setups" . "Account usage within SMB can be used to identify compromised credentials, and the hosts accessed with them.\n\nThis analytic monitors SMB activity that deals with user activity rather than file activity." . "MITRE" . "" . "MITRE" . "Reference - CAR-2013-09-003: SMB Session Setups - MITRE" . . . . . "https://car.mitre.org/analytics/CAR-2014-03-001/"^^ . "CAR-2014-03-001: SMB Write Request - NamedPipes" . "An SMB write can be an indicator of lateral movement, especially when combined with other information such as execution of that written file. Named pipes are a subset of SMB write requests. Named pipes such as msftewds may not be alarming; however others, such as lsarpc, may.\n\nMonitoring SMB write requests still creates some noise, particularly with named pipes. As a result, SMB is now split between writing named pipes and writing other files." . "MITRE" . "" . "MITRE" . "Reference - CAR-2014-03-001: SMB Write Request - NamedPipes - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2013-05-003/"^^ . "CAR-2013-05-003: SMB Write Request" . "As described in CAR-2013-01-003, SMB provides a means of remotely managing a file system. Adversaries often use SMB to move laterally to a host. SMB is commonly used to upload files. It may be used for staging in Exfiltration or as a Lateral Movement technique. Unlike SMB Reads, SMB Write requests typically require an additional level of access, resulting in less activity. Focusing on SMB Write activity narrows the field to find techniques that actively change remote hosts, instead of passively reading files." . "" . "" . "" . "Reference - CAR-2013-05-003: SMB Write Request - MITRE" . . . . "https://docs.device42.com/auto-discovery/network-auto-discovery/"^^ . "SNMP - Network Auto Discovery" . "SNMP, or Simple Network Management Protocol, is a protocol and a standard that is supported by just about any managed network-connected hardware. There are three widely deployed versions: SNMP v1, v2c (most commonly used), and v3. SNMP is typically utilized read-only, but supports read/write, and by default utilized port 161. SNMP exposes management data in the form of \u2018variables\u2019, which are organized in what is known as a MIB, or \u201CManagement Information Base\u201D. A MIB essentially describes the variables available on a given system, each of which can be remotely queried via SNMP." . "Device 42" . "Reference - SNMP - Network Auto-Discovery" . . . . "https://patents.google.com/patent/US20100107241A1"^^ . "Secure caching of server credentials" . "A credential caching system includes receiving a set of authentication credentials, storing the set of authentication credentials in a credential cache memory, wherein the credential cache memory is coupled with a management controller, and supplying the set of authentication credentials for automatic authentication during a reset or reboot. In the event of a security breach, the credential caching system clears the set of authentication credentials from the credential cache memory so that the set of authentication credentials may no longer be used for a reset or reboot." . "Muhammed K. JaberMukund P. KhatriKevin T. MarksDon Charles McCall" . "" . "Dell Products LP" . "Reference - Secure caching of server credentials - Dell Products LP" . . . "https://tools.ietf.org/html/rfc3851"^^ . "Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 3.1 Message Specification" . "Internet Engineering Task Force (IETF)" . "Reference - Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 3.1" . . . . "https://www.nccoe.nist.gov/sites/default/files/library/sp1800/tls-serv-cert-mgt-nist-sp1800-16b-final.pdf"^^ . "Securing Web Transactions" . "Organizations risk losing revenue, customers, and reputation, and exposing internal or customer data to\nattackers if they do not properly manage Transport Layer Security (TLS) server certificates. TLS is the\nmost widely used security protocol to secure web transactions and other communications on the\ninternet and internal networks. TLS server certificates are central to the security and operation of\ninternet-facing and internal web services. Improper TLS server certificate management results in\nsignificant outages to web applications and services-such as government services, online banking, flight operations, and mission-critical services within an organization-and increased risk of security breaches." . "William Haag, Murugiah Souppaya, Paul Turner, William C. Barker, Brett Pleasant, Susan Symington" . "NIST" . "Reference - Securing Web Transactions" . . . . "https://www.nccoe.nist.gov/publication/1800-16/VolD/vol-d-appendix.html"^^ . "Securing Web Transactions TLS Server Certificate Management - Appendix A Passive Inspection" . "The example implementation demonstrates the ability to perform passive inspection of encrypted TLS connections. The question of whether or not to perform such an inspection is complex. There are important tradeoffs between traffic security and traffic visibility that each organization should consider. Some organizations prefer to decrypt internal TLS traffic, so it can be inspected to detect attacks that may be hiding within encrypted connections. Such inspection can detect intrusion, malware, and fraud, and can conduct troubleshooting, forensics, and performance monitoring. For these organizations, TLS inspection may serve as both a standard practice and a critical component of their threat detection and service assurance strategies." . "NIST" . "Reference - Securing Web Transactions TLS Server Certificate Management - Appendix A Passive Inspection" . . . . "https://datatracker.ietf.org/doc/html/rfc1825"^^ . "Security Architecture for the Internet Protocol" . "This memo describes the security mechanisms for IP version 4 (IPv4)\n and IP version 6 (IPv6) and the services that they provide. Each\n security mechanism is specified in a separate document. This\n document also describes key management requirements for systems\n implementing those security mechanisms. This document is not an\n overall Security Architecture for the Internet and is instead focused\n on IP-layer security." . "Randall Atkinson" . "Reference - Security Architecture for the Internet Protocol" . . . . "https://patents.google.com/patent/US20040199763"^^ . "Security System with Methodology for Interprocess Communication Control" . "A security system with methodology for interprocess communication control is described. In one embodiment, a method for controlling interprocess communication is provided that includes steps of: defining rules indicating which system services a given application can invoke; trapping an attempt by a particular application to invoke a particular system service; identifying the particular application that is attempting to invoke the particular system service; and based on identity of the particular application and on the rules indicating which system services a given application can invoke, blocking the attempt when the rules indicate that the particular application cannot invoke the particular system service." . "Gregor Freund" . "This patent describes a technique for monitoring interprocess communications to prevent malicious applications from requesting system services. API calls are monitored to detect malicious applications attempting to open a communication channel (port) to access system services or sending messages to other applications using user32 API functions. These requests are examined against an external rules engine or whitelist, matches deny or block access and produce an error message such as connection refused or service not available." . "Check Point Software Tech Inc" . "Reference - Security System with Methodology for Interprocess Communication Control - Check Point Software Tech Inc" . . . . "https://patents.google.com/patent/US8544098B2"^^ . "Security vulnerability information aggregation" . "Security vulnerability information aggregation techniques are disclosed. Vulnerability information associated with one or more security vulnerabilities is obtained from multiple sources and aggregated into respective unified vulnerability definitions for the one or more security vulnerabilities. Aggregation may involve format conversion, content aggregation, or both in some embodiments. Unified vulnerability definitions may be distributed to vulnerability information consumers in accordance with consumer-specific policies. Storage of vulnerability information received from the sources may allow the aggregation process to be performed on existing vulnerability information \u201Cretro-actively\u201D. Related data structures and Graphical User Interfaces (GUIs) are also disclosed." . "Christophe Gustave, Stanley Taihai Chow, Douglas Wiemer" . "Nokia Technologies Oy" . "Reference - Security vulnerability information aggregation" . . . . "https://car.mitre.org/analytics/CAR-2014-02-001/"^^ . "CAR-2014-02-001: Service Binary Modifications" . "Adversaries may modify the binary file for an existing service to achieve Persistence while potentially evading defenses. If a newly created or modified runs as a service, it may indicate APT activity. However, services are frequently installed by legitimate software. A well-tuned baseline is essential to differentiating between benign and malicious service modifications." . "MITRE" . "" . "MITRE" . "Reference - CAR-2014-02-001: Service Binary Modifications - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2013-09-005/"^^ . "CAR-2013-09-005: Service Outlier Executables" . "New executables that are started as a service are suspicious. This analytic looks for anomalous service executables." . "" . "" . "" . "Reference - CAR-2013-09-005: Service Outlier Executables - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2014-07-001/"^^ . "CAR-2014-07-001: Service Search Path Interception" . "According to ATT&CK, an adversary may escalate privileges by intercepting the search path for legitimately installed services. As a result, Windows will launch the target executable instead of the desired binary and command line. This can be done when there are spaces in the binary path and the path is unquoted. Search path interception should never happen legitimately and will likely be the result of an adversary abusing a system misconfiguration. With a few regular expressions, it is possible to identify the execution of services with intercepted search paths." . "MITRE" . "" . "MITRE" . "Reference - CAR-2014-07-001: Service Search Path Interception - MITRE" . . . . ""^^ . "CAR-2014-05-002: Services launching Cmd" . "Windows runs the Service Control Manager (SCM) within the process services.exe. Windows launches services as independent processes or DLL loads within a svchost.exe group. To be a legitimate service, a process (or DLL) must have the appropriate service entry point SvcMain. If an application does not have the entry point, then it will timeout (default is 30 seconds) and the process will be killed.\n\nTo survive the timeout, adversaries and red teams can create services that direct to cmd.exe with the flag /c, followed by the desired command. The /c flag causes the command shell to run a command and immediately exit. As a result, the desired program will remain running and it will report an error starting the service. This analytic will catch that command prompt instance that is used to launch the actual malicious executable. Additionally, the children and descendants of services.exe will run as a SYSTEM user by default. Thus, services are a convenient way for an adversary to gain Persistence and Privilege Escalation." . "" . "" . "" . "Reference - CAR-2014-05-002: Services launching Cmd - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2013-02-008/"^^ . "CAR-2013-02-008: Simultaneous Logins on a Host" . "Multiple users logged into a single machine at the same time, or even within the same hour, do not typically occur in networks we have observed.\n\nLogon events are Windows Event Code 4624 for Windows Vista and above, 518 for pre-Vista. Logoff events are 4634 for Windows Vista and above, 538 for pre-Vista. Logon types 2, 3, 9 and 10 are of interest. For more details see the Logon Types table on Microsoft's Audit Logon Events page." . "MITRE" . "Reference - CAR-2013-02-008: Simultaneous Logins on a Host - MITRE" . . . . "https://patents.google.com/patent/US20160381065A1"^^ . "Sinkholing bad network domains by registering the bad network domains on the internet" . "Techniques for sinkholing bad network domains by registering the bad network domains on the Internet are provided. In some embodiments, sinkholing bad network domains by registering the bad network domains on the Internet includes determining a network domain is a bad network domain, in which the bad network domain is determined to be associated with an identified malware (e.g., malware that has been identified and has been determined to be associated with the bad domain), and the bad network domain is sinkholed by registering the bad network domain with a sinkholed IP address; and identifying a host that is infected with the identified malware based on an attempt by the host to connect to the sinkholed IP address." . "Huagang Xie; Wei Xu; Nir Zuk" . "This patent describes a technique to identify bad domains that are associated with malware and sinkhole the bad domain. Bad domains are identified by receiving malware samples and executing the malware sample in a virtual execution environment to identify network domains that the malware sample attempts to connect to during execution. Network domains that are identified during malware execution are then generated into signatures to identity bad domains for other hosts. Once identified, the bad domains are sinkholed by translating the domain to a valid IP address that is associated with a device controlled by a cloud security provider." . "Palo Alto Networks Inc" . "Reference - Sinkholing bad network domains by registering the bad network domains on the internet - Palo Alto Networks Inc" . . . . . . "https://patents.google.com/patent/WO2020028535A1"^^ . "Software vulnerability graph database" . "To analyze open-source code at a large scale, a security domain graph language (\"GL\") has been created that functions as a vulnerability description language and facilitates program analysis queries. The SGL facilitates building and maintaining a graph database to catalogue vulnerabilities found in open-source components. This graphical database can be accessed via a database interface directly or accessed by an agent that interacts with the database interface. To build the graph database, a database interface processes an open-source component and creates graph structures which represent relationships present in the open-source component. The database interface transforms a vulnerability description into a canonical form based on a schema for the graph database and updates the database based on a determination of whether the vulnerability is a duplicate. This ensures quality and consistency of the vulnerability dataset maintained in the graph database." . "Darius Tsien Wei FOO, Ming Yi ANG, Asankhaya Sharma, Jie Shun YEO" . "Veracode, Inc." . "Reference - Software vulnerability graph database" . . . . "https://car.mitre.org/analytics/CAR-2019-04-003/"^^ . "CAR-2019-04-003: Squiblydoo" . "Squiblydoo is a specific usage of regsvr32.dll to load a COM scriptlet directly from the internet and execute it in a way that bypasses application whitelisting. It can be seen by looking for regsvr32.exe executions that load the scrobj.dll (which execute the COM scriptlet) or, if that is too noisy, those that also load content directly via HTTP or HTTPS." . "MITRE" . "" . "MITRE" . "Reference - CAR-2019-04-003: Squiblydoo - MITRE" . . . . "https://access.redhat.com/blogs/766093/posts/3548631"^^ . "Security Technologies: Stack Smashing Protection (StackGuard)" . "In our previous blog, we saw how arbitrary code execution resulting from stack-buffer overflows can be partly mitigated by marking segments of memory as non-executable, a technology known as Execshield. However stack-buffer overflow exploits can still effectively overwrite the function return address, which leads to several interesting exploitation techniques like ret2libc, ret2gets, and ret2plt. With all of these methods, the function return address is overwritten and attacker controlled code is executed when the program control transfers to overwritten address on the stack." . "Huzaifa Sidhpurwala" . "" . "Red Hat" . "Reference - Security Technologies: Stack Smashing Protection (StackGuard) - Red Hat" . . . . "https://github.com/wesleyraptor/streamingphish"^^ . "StreamingPhish" . "This is a utility that uses supervised machine learning to detect phishing domains from the Certificate Transparency log network." . "Wes Connell" . "Uber" . "Reference - StreamingPhish" . . . . "https://car.mitre.org/analytics/CAR-2013-07-001/"^^ . "CAR-2013-07-001: Suspicious Arguments" . "Malicious actors may rename built-in commands or external tools, such as those provided by SysInternals, to better blend in with the environment. In those cases, the file path name is arbitrary and may blend in well with the background. If the arguments are closely inspected, it may be possible to infer what tools are running and understand what an adversary is doing. When any legitimate software shares the same command lines, it must be whitelisted according to the expected parameters." . "" . "" . "" . "Reference - CAR-2013-07-001: Suspicious Arguments - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2013-05-002/"^^ . "CAR-2013-05-002: Suspicious Run Locations" . "In Windows, files should never execute out of certain directory locations. Any of these locations may exist for a variety of reasons, and executables may be present in the directory but should not execute. As a result, some defenders make the mistake of ignoring these directories and assuming that a process will never run from one. There are known TTPs that have taken advantage of this fact to go undetected. This fact should inform defenders to monitor these directories more closely, knowing that they should never contain running processes." . "" . "" . "" . "Reference - CAR-2013-05-002: Suspicious Run Locations - MITRE" . . . . "https://patents.google.com/patent/US20170019425A1"^^ . "Synchronizing a honey network configuration to reflect a target network environment" . "Techniques for synchronizing a honey network configuration to reflect a target network environment are disclosed. In some embodiments, a system for synchronizing a honey network configuration to reflect a target network environment includes a device profile data store that includes a plurality of attributes of each of a plurality of devices in the target network environment; a virtual machine (VM) image library that includes one or more VM images; and a virtual clone manager executed on a processor that instantiates a virtual clone of one or more devices in the target enterprise network using a VM image selected from the VM image library that is customized based on one or more attributes for a target device in the device profile data store." . "Taylor Ettema, Huagang Xie" . "" . "Palo Alto Networks Inc" . "Reference - Synchronizing a honey network configuration to reflect a target network environment - Palo Alto Networks Inc" . . . . "https://patents.google.com/patent/US9807115B2/en?oq=US-9807115-B2"^^ . "System and a method for identifying the presence of malware and ransomware using mini-traps set at network endpoints" . "A system for identifying the presence of ransomware on a network, including a plurality of resources, interconnected to form a network and at least one decoy drive.The decoy drive includes a plurality of decoy files to be encrypted by the ransomware, and wherein the decoy drive continuously provides the decoy files thereby continuously occupying the ransomware." . "Doron Kolton; Rami Mizrahi; Omer Zohar; Benny Ben-Rabi; Alex Barbalat; Shlomi Gabai" . "" . "Fidelis Cybersecurity Solutions Inc" . "Reference - System and a method for identifying the presence of malware and ransomware using mini-traps set at network endpoints - Fidelis Cybersecurity Solutions Inc" . . . . "https://patents.google.com/patent/US20190019058A1/"^^ . "System and method for detecting homoglyph attacks with a siamese convolutional neural network" . "The present invention utilizes computer vision technologies to identify potentially malicious URLs and executable files in a computing device. In one embodiment, a Siamese convolutional neural network is trained to identify the relative similarity between image versions of two strings of text. After the training process, a list of strings that are likely to be utilized in malicious attacks are provided (e.g., legitimate URLs for popular websites). When a new string is received, it is converted to an image and then compared against the image of list of strings. The relative similarity is determined, and if the similarity rating falls below a predetermined threshold, an alert is generated indicating that the string is potentially malicious." . "Jonathan Woodbridge; Anjum Ahuja; Daniel Grant" . "This patent describes a mechanism to detect homoglyph strings that involves training a Siamese convolutional neural network to compare images of strings. Strings of legitimate URLs for websites along with known suspicious stings are converted to images during the training process to create an index. New strings are converted to images and then compared to the index for similarity, if the string deviates beyond a threshold an alert is triggered." . "Endgame Inc" . "Reference - System and method for detecting homoglyph attacks with a siamese convolutional neural network - Endgame Inc" . . . . "https://patents.google.com/patent/US20190018958A1/en?oq=US20190018958-A1"^^ . "System and method for detecting malware injected into memory of a computing device" . "In the embodiments described herein, a malicious code detection module identifies potentially malicious instructions in memory of a computing device. The malicious code detection module examines the call stack for each thread running within the operating system of the computing device. Within each call stack, the malicious code detection module identifies the originating module for each stack frame and determines whether the originating module is backed by an image on disk. If an originating module is not backed by an image on disk, the thread containing that originating module is flagged as potentially malicious, execution of the thread optionally is suspended, and an alert is generated for the user or administrator." . "Joseph W. Desimone" . "" . "Endgame Inc" . "Reference - System and method for detecting malware injected into memory of a computing device - Endgame Inc" . . . . "https://patents.google.com/patent/US20100235909A1/en?oq=US+20100235909+A1"^^ . "System and Method for Detection of a Change in Behavior in the Use of a Website Through Vector Velocity Analysis" . "A system and software for identifying the change of user behavior on a website includes analyzing the actions of users on a website comprising a plurality of fields or input parameters that identify the actions performed on a website including fields related to previous actions by that user or other users of the website. The fields or input parameters are represented in a vector format where vectors represent different sessions of activity on the website, pages of the website, users of the website, or other attributes of the use of a website. Analysis is performed to determine if new sessions are similar or dissimilar to previously known sessions and if a session is converging or diverging from known sessions based on the velocity and direction of the velocity of the vectors in the vector space." . "Mike Eynon; Laura Mather; Erik Westland; Jim Lloyd" . "This patent describes a technique for detecting fraudulent behavior on a website. Website behavior is mapped to build a multidimensional representation of user actions on a website that is updated as additional actions are recorded. Example actions on a website that are recorded include clicks by a user on the website and entering data into forms. Current behavior is compared against baseline recorded behavior and if current behavior deviates above a threshold, an alert is issued." . "Silver Tail Systems" . "Reference - System and Method for Detection of a Change in Behavior in the Use of a Website Through Vector Velocity Analysis - Silver Tail Systems" . . . . . "https://patents.google.com/patent/US9807114B2/en?oq=US-9807114-B2"^^ . "System and method for identifying the presence of malware using mini-traps set at network endpoints" . "A system for identifying the presence of advanced persistent threats on a network including a plurality of resources, interconnected to form a network, at least one decoy resource, at least one mini-trap installed on at least one of the plurality of resources and functionally associated with at one of the at least one decoy resource, the at least one mini-trap comprising deceptive information directing malware accessing the at least one mini-trap to the decoy resource associated therewith, and a manager node forming part of the network, locally or remotely, and configured to manage placement of the at least one mini-trap on the at least one of the plurality of resources and association between the at least one mini-trap and the decoy resource associated therewith." . "Doron Kolton; Rami Mizrahi; Omer Zohar; Benny Ben-Rabi; Alex Barbalat; Shlomi Gabai" . "Questionable or all files (as determined by the enterprise) are forwarded to the decoy network. Using a manager node user interface, you can setup fake information (ex. IP address of a decoy FTP server)\nand deploy decoy physical or virtual endpoints." . "Fidelis Cybersecurity Solutions Inc" . "Reference - System and method for identifying the presence of malware using mini-traps set at network endpoints - Fidelis Cybersecurity Solutions Inc" . . . . "https://patents.google.com/patent/US20120117644A1"^^ . "System and method for internet security" . "A computer implemented method for preventing SQL injection attacks comprises intercepting a web request associated with a web service at a first software hook in a first web service execution context, persisting at least a portion of the intercepted web request in a storage location associated with the first software hook and accessible to at least one additional execution context, intercepting a database query generated by at least one web service processing operation at a second software hook associated with the execution of the query, wherein the query is generated in response to the intercepted web request and the second hook retrieves the persisted portion of the intercepted web request, comparing a portion of the persisted portion of the intercepted web request with at least a portion of the intercepted database query, and determining, prior to the query being executed, whether the query corresponds to a potential SQL injection attack." . "Derek A. Soeder" . "This patent describes a technique for detecting SQL injection attacks. Software hooks are installed in a web service or application to intercept function calls, events, or messages that are passed between software components. Intercepted database queries associated with a web request are analyzed character by character and if it contains a character that would modify the syntax the query is rejected or sanitized. Security rules and policies may also determine rejection. For example, an administrator or developer may implement a rule that rejects any database query that is excessively long or that contains a particular string, such as \"Xp cmdshell\"." . "Cylance Inc" . "Reference - System and method for internet security - Cylance Inc" . . . . "https://patents.google.com/patent/US9544324B2"^^ . "System and method for managed security assessment and mitigation" . "In an embodiment of the invention, a system for assessing vulnerabilities includes: a security management system; a network device in a system under test (SUT), wherein the network device is privy to traffic in the SUT; and wherein the SMS is privy to traffic that is known by the network device and/or to one or more traffic observations that is known by the network device." . "Scott Parcel" . "Cenzic Inc, Trustwave Holdings Inc" . "Reference - System and method for managed security assessment and mitigation" . . . . "https://patents.google.com/patent/US20110302653A1/en?oq=US+20110302653+A1"^^ . "System and Method for Network Security Including Detection of Attacks Through Partner Websites" . "A computer readable storage medium has instructions for execution on a computer. The instructions monitor transactions between a server and a set of clients. An evaluation of session indicators associated with the transactions is performed. Individual sessions between the server and individual clients of the plurality of clients are isolated in response to the evaluation." . "Matt Frantz; Andreas Wittenstein; Mike Eynon; Laura Mather; Jim Lloyd; James Schumacher; Duane Murphy" . "This patent describes a technique for detecting man-in-the-browser attacks. Current user session data is compared with the average user session that is based on collected data representing average values across all user sessions over a data-collection period. User session data includes average time between clicks and the order in which website pages are viewed. The comparisons are combined to generate a score that indicates the likelihood that the current session is a man-in-the-browser attack." . "EMC IP Holding Co LLC" . "Reference - System and Method for Network Security Including Detection of Attacks Through Partner Websites - EMC IP Holding Co LLC" . . . . "https://patents.google.com/patent/US20170272462A1"^^ . "System and Method for Process Hollowing Detection" . "A method and system for remediating a process hollowing intrusion on a user device comprising detecting a process starting on the user device, preparing the process to monitor Application Programming Interface (API) calls between the process and an operating system of the user device, determining whether the process is associated with a process hollowing intrusion based on information associated with the process and/or the API calls, and executing security policies against the process associated with the process hollowing intrusion. In examples, it is determined whether the child process is associated with a process hollowing intrusion in response to determining whether one or more API calls associated with known process hollowing intrusions modify executable memory of and/or modify an entry point address of the child process." . "Jeffrey Albin Kraemer, Paul Matthew Drapeau" . "" . "Carbon Black Inc" . "Reference - System and Method for Process Hollowing Detection - Carbon Black Inc" . . . . "https://patents.google.com/patent/US9578081B2/en"^^ . "System and method for providing an actively invalidated client-side network resource cache" . "A system and method for providing an actively invalidated client-side network resource cache are disclosed. A particular embodiment includes: a client configured to request, for a client application, data associated with an identifier from a server; the server configured to provide the data associated with the identifier and to establish a queue associated with the identifier at a scalable message queuing system, the client being configured to subscribe to the queue at the scalable message queuing system to receive invalidation information associated with the data; the server being further configured to signal the queue of an invalidation event associated with the data; the scalable message queuing system being configured to convey information indicative of the invalidation event to the client; and the client being further configured to re-request the data associated with the identifier from the server upon receipt of the information indicative of the invalidation event." . "Jon Watte" . "" . "IMVU" . "Reference - System and method for providing an actively invalidated client-side network resource cache - IMVU" . . . . "https://patents.google.com/patent/US20190018962A1/en?oq=15648887"^^ . "System and method for validating in-memory integrity of executable files to identify malicious activity" . "In the embodiments described herein, a malicious code detection module identifies potentially malicious instructions in volatile memory of a computing device before the instructions are executed. The malicious code detection module identifies an executable file, such as an .exe file, in memory, validates one or more components of the executable file against the same file stored in non-volatile storage, and issues an alert if the validation fails." . "Joseph W. Desimone" . "" . "Endgame Inc" . "Reference - System and method for validating in-memory integrity of executable files to identify malicious activity - Endgame Inc" . . . . "https://patents.google.com/patent/US9317692B2"^^ . "System and method for vulnerability risk analysis" . "Embodiments of the present invention are directed to a method and system for automated risk analysis. The method includes accessing host configuration information of a host and querying a vulnerability database based on the host configuration information. The method further includes receiving a list of vulnerabilities and accessing a plurality of vulnerability scores. The list of vulnerabilities corresponds to vulnerabilities of the host. Vulnerabilities can be removed from the list based on checking for installed fixes corresponding to vulnerability. A composite risk score can then be determined for the host a nd each software product of the host based on the plurality of vulnerability scores. An aggregate risk score can then be determined for the host and each software product of the host based on the plurality of vulnerability scores." . "Matthew Cruz Elder, Darrell Martin Kienzle, Pratyusa K. Manadhata, Ryan Kumar Persaud" . "CA Inc" . "Reference - System and method for vulnerability risk analysis" . . . . . . "https://patents.google.com/patent/US20160142424A1"^^ . "System and method thereof for identifying and responding to security incidents based on preemptive forensics" . "A system is connected to a plurality of user devices coupled to an enterprise's network. The system continuously collects, stores, and analyzes forensic data related to the enterprise's network. Based on the analysis, the system is able to determine normal behavior of the network and portions thereof and thereby identify abnormal behaviors within the network. Upon identification of an abnormal behavior, the system determines whether the abnormal behavior relates to a security incident. Upon determining a security incident in any portion of the enterprise's network, the system extracts forensic data respective of the security incident and enables further assessment of the security incident as well as identification of the source of the security incident. The system provides real-time damage assessment respective of the security incident as well as the security incident's attributions." . "Gil BARAK; Shai MORAG" . "This patent describes detecting abnormal behavior related to a security incident by collecting and analyzing forensic data in real time. Forensic data may include:\n\n* URLs visited\n* data downloaded or streamed\n* messages received and sent\n* amount of memory used for processing\n\nThe data is then analyzed according to a set of dynamically created rules to determine normal behavior patterns associated with the network or user devices. Anomalies between current behavior and normal behavior patterns trigger an alert." . "Palo Alto Networks Inc" . "Reference - System and method thereof for identifying and responding to security incidents based on preemptive forensics - Palo Alto Networks Inc" . . . . "https://patents.google.com/patent/US20170195350A1/en?oq=US-2017195350-A1"^^ . "System and methods thereof for causality identification and attributions determination of processes in a network" . "A system is used for detection of advanced persistent and non-persistent threats in a computerized environment. The system is connected to a plurality of user devices coupled to an enterprise's network. The system receives via an interface an electronic notification of at least one event in the operating system of the computer. The system then analyzes the at least one event. The system then generates a causality chain for the at least one event respective of the analysis. The causality chain comprises all the threads that attributed to the at least one event in a chronological order. The system then identifies a main thread that started the causality chain that led to the at least one event. Then, the system determines whether the main thread is associated with malicious software. Upon determination that the main thread is associated with malicious software, the causality chain is marked as infected." . "Gil BARAK" . "This patent describes detecting malicious processes on a host. Agents are deployed on hosts that monitor all initiated processes and determine whether a process was initiated at boot or initiated by another process. If not initiated at boot or by another process, the process is identified as suspicious and an alert is triggered." . "Palo Alto Networks IncCyber Secdo Ltd" . "Reference - System and methods thereof for causality identification and attributions determination of processes in a network - Palo Alto Networks IncCyber Secdo Ltd" . . . "https://patents.google.com/patent/US20170206358A1/en?oq=US-2017206358-A1"^^ . "System and methods thereof for detection of persistent threats in a computerized environment background" . "A system is used for detection of advanced persistent and non-persistent threats in a computerized environment. The system is connected to a plurality of user devices coupled to an enterprise's network. The system receives via an interface an electronic notification of at least one event in the operating system of the computer. The system then analyzes the at least one event. The system then generates a causality chain for the at least one event respective of the analysis. The causality chain comprises all the threads that attributed to the at least one event in a chronological order. The system then identifies a main thread that started the causality chain that led to the at least one event. Then, the system determines whether the main thread is associated with malicious software. Upon determination that the main thread is associated with malicious software, the causality chain is marked as infected." . "Gil BARAK" . "The patent describes detecting malicious events on a host. For each new event (e.x. new file request received from a user device, a change in an existing file in a container) a causality chain is developed for all threads associated with the event. The causality chain identifies the thread that started the process of the event (main thread). If a thread in the causality chain has no parent, i.e. no main thread associated with it, the process is identified as malicious." . "Palo Alto Networks IncCyber Secdo Ltd" . "Reference - System and methods thereof for detection of persistent threats in a computerized environment background - Palo Alto Networks IncCyber Secdo Ltd" . . . . "https://patents.google.com/patent/US20170286683A1/en?oq=US-2017286683-A1"^^ . "System and methods thereof for identification of suspicious system processes" . "A computerized method for identification of suspicious processes executing on an end-point device communicatively connected to network, the network communicatively connected to a server, the method comprising receiving, by the server, a record of at least one process, initiated by and executing on by the end-point device. One or more parameters associated with the at least one process are identified. A first time pointer is identified corresponding to the identified one or more parameters, a first time pointer. A second time pointer at which a user associated with the end-point device initiated a user dependent process is identified. Whether the second time pointer occurred before the first time pointer is identified. It is determined whether the at least one process was initiated by the user based on identification of user dependent processes and corresponding attribution. An action is performed based on the above determination." . "Gil BARAK" . "The patent describes detecting malicious processes by identifying the order of process initiation. The start of a user initiated process (user query, opening an application, etc.) is compared with the start of processes initiated by the device (ex. during boot). In addition, a determination is made on whether processes are not initiated by a user by examining process parameters such as type of process, its creator, source, etc. If it is determined that a user initiated process was started before a process initiated by the device and a process was not initiated by the user, the process is marked as suspicious." . "Palo Alto Networks Inc" . "Reference - System and methods thereof for identification of suspicious system processes - Palo Alto Networks Inc" . . . . "https://patents.google.com/patent/US20180373870A1/en?oq=US-2018373870-A1"^^ . "System and methods thereof for logical identification of malicious threats across a plurality of end-point devices (epd) communicatively connected by a network" . "A computerized method for logical identification of malicious threats across a plurality of end-point devices (EPD) communicatively connected by a network, comprising collecting over the network an identifier associated with each file of a plurality of files, wherein each file of the plurality of files is installed on at least one of the plurality of EPDs and wherein the identifier is the same for each like file of the plurality of file. Information associated with an identified subset of files is collected, wherein the information indicates at least a time at which the at least one file was installed on one or more of the plurality of EPDs and the way the at least one file spread within the network. The collected information is analyzed according to a set of predetermined computerized investigation rules. The analysis is used to determine whether at least a file of the identified subset files is a suspicious file." . "Gil BARAK" . "This patent describes detecting suspicious files using file metadata such as the prevalence of the file deployed on the network, file installation times, and how the file was spread within the network. The combination of these factors are used to determine a risk score of the file and if below a threshold, sends an alert." . "Palo Alto Networks IncCyber Secdo Ltd" . "Reference - System and methods thereof for logical identification of malicious threats across a plurality of end-point devices (epd) communicatively connected by a network - Palo Alto Networks IncCyber Secdo Ltd" . . . . "https://patents.google.com/patent/US20170308711A1/en?oq=US-2017308711-A1"^^ . "System and methods thereof for preventing ransomware from encrypting data elements stored in a memory of a computer-based system" . "A computerized method for preventing ransomware from encrypting data elements stored in a memory of a computer-based system, the method comprising identifying at least one identifier for a data element, wherein the at least one identifier indicates at least a position of the data element within the memory. An optimal number of virtual traps is determined for the data element corresponding to the at least one identifier. An optimal position for each of the virtual traps is determined corresponding to the at least one identifier. The virtual traps are send to the determined optimal position within the memory." . "Gil BARAK" . "" . "Palo Alto Networks Inc" . "Reference - System and methods thereof for preventing ransomware from encrypting data elements stored in a memory of a computer-based system - Palo Alto Networks Inc" . . . . "https://patents.google.com/patent/US20160191563A1"^^ . "System for detecting threats using scenario-based tracking of internal and external network traffic" . "Disclosed is an improved approach to implement a system and method for detecting insider threats, where models are constructed that is capable of defining what constitutes the normal behavior for any given hosts and quickly find anomalous behaviors that could constitute a potential threat to an organization. The disclosed approach provides a way to identify abnormal data transfers within and external to an organization without the need for individual monitoring software on each host, by leveraging metadata that describe the data exchange patterns observed in the network." . "Nicolas BEAUCHESNE; David Lopes Pegna" . "Determination of anomalous data transfers is performed over a given time period. For example, a check of a pull vs. push data ratio can be established over a specific time period, e.g., over a three-hour period, over a one day period, over a one week period, etc.\n\nThe system can also establish a baseline behavior for data exchange for each host in terms of pull vs. push data ratio for each resource contacted by the host.\n\nNetwork packet capture data is collected and metadata is extracted. Aggregate data push/pull information from the metadata is then analyzed for a given host versus specific client to server relationships. This technique can potentially catch lateral data transfers, and may have filtering on alerting logic to only raise alarms when external hosts receive large data transfers." . "VECTRA NETWORKS Inc" . "Reference - System for detecting threats using scenario-based tracking of internal and external network traffic - VECTRA NETWORKS Inc" . . . . . "https://patents.google.com/patent/US20160191560A1"^^ . "System for implementing threat detection using daily network traffic community outliers" . "A method and system for identifying insider threats within an organization is provided. The approach constructs an internal connectivity graph to identify communities of hosts/users, and checks for abnormal behavior relative to past behaviors." . "David Lopes Pegna; Himanshu Mhatre; Oliver Brdiczka" . "This patent describes techniques for detecting insider attacks. Network packet capture data is collected and stored for processing. Metadata is extracted for each communication session on the organization's network and includes information on source and destination host destination port, number of connection attempts, size of data exchanged, duration and time of the communication. The metadata is used to build a connectivity graph of the network and identify groups of similar hosts that exhibit similar behavior. For each group of similar behavior identified, a baseline behavior pattern profile is developed. Network activity for a host within a group that deviates over a threshold from the baseline behavior patterns is identified as suspicious and an alert is generated." . "VECTRA NETWORKS Inc" . "Reference - System for implementing threat detection using daily network traffic community outliers - VECTRA NETWORKS Inc" . . . . "https://patents.google.com/patent/US20160191559A1"^^ . "System for implementing threat detection using threat and risk assessment of asset-actor interactions" . "Disclosed is an approach to detect insider threats, by tracking unusual access activity for a specific user or computer with regard to accessing key assets over time. In this way, malicious activity and the different preparation phases of attacks can be identified." . "Himanshu Mhatre; David Lopes Pegna; Oliver Brdiczka" . "The patent describes an insider threat detection system that analyzes packets sent within a network to identify and isolate malicious behavior. Current network traffic is collected and developed into a baseline that establishes the amount of data sent and received between a specific asset and a host. Current data transfer values are then compared with the baseline to identify anomalies." . "VECTRA NETWORKS Inc" . "Reference - System for implementing threat detection using threat and risk assessment of asset-actor interactions - VECTRA NETWORKS Inc" . . . . . "https://patents.google.com/patent/US20170324767A1"^^ . "Systems and methods for detecting and/or handling targeted attacks in the email channel" . "Techniques for detecting and/or handling target attacks in an enterprise's email channel are provided. The techniques include receiving aspects of an incoming email message addressed to a first email account holder, selecting a recipient interaction profile and/or a sender profile from a plurality of predetermined profiles stored in a memory based upon the received properties, determining a message trust rating associated with the incoming email message based upon the incoming email message and the selected recipient interaction profile and/or the sender profile; and generating an alert identifying the incoming email message as including a security risk based upon the determined message trust rating. The recipient interaction profile includes information associating the first email account holder and a plurality of email senders from whom email messages have previously been received for the first email account holder, and the sender profile includes information associating a sender of the incoming email message with characteristics determined from a plurality of email messages previously received from the sender." . "Manoj Kumar Srivastava" . "The patent describes using sender trust rating and sender MTA trust rating as an indicator of level of email security risk.\n\n### Sender Reputation explanation\nThis patent includes Sender Reputation because it describes sender trust rating being used as an indicator of the level of security risk and/or trust level associated with an email sender. The sender trust rating may be determined based on one or more of:\n\n* length of time sender has known the enterprise\n* number of recipients in the enterprise the sender interacts with\n* sender vs. enterprise originated message ratio\n* sender messages open vs. not-open ratio\n* number of emails received from this sender\n* number of emails replied for this sender\n* number of emails from this sender not opened\n* number of emails from this sender not opened that contain an attachment\n* number of emails from this sender not opened that contain a URL\n* number of emails sent to this sender\n* number of email replies received from this sender\n\nBased on the trust rating an alert is generated identifying the incoming email message as a security risk.\n\n### Sender MTA Reputation explanation\nThis patent includes Sender MTA Reputation because it describes sender MTA trust rating as an indicator of the level of security risk and/or trust level associated with a sender MTA. The trust rating may be determined based on one or more of:\n\n* length of time MTA has interacted with the enterprise\n* number of sender domains sending emails from the MTA\n* number of recipients in the enterprise the MTA sends emails to\n* number of emails received from this MTA\n* number of email replies received from this MTA\n\nBased on the trust rating an alert is generated identifying the incoming email message as a security risk." . "Graphus Inc" . "Reference - Systems and methods for detecting and/or handling targeted attacks in the email channel - Graphus Inc" . . . . "https://patents.google.com/patent/US10162962B1"^^ . "Systems and methods for detecting credential theft" . "The disclosed computer-implemented method for detecting credential theft may include (i) monitoring a secured computing system's credential store that may include at least one sensitive credential that may be used to facilitate authentication of a user that is attempting to access the secured computing system, (ii) gathering, while monitoring the credential store, primary evidence of an attempted theft of the sensitive credential from the credential store, (iii) gathering corroborating evidence of the attempted theft of the sensitive credential, and (iv) performing a security action in response to gathering the primary evidence and the corroborating evidence of the attempted theft. The primary evidence of the attempted theft of the sensitive credential may include evidence of any suspicious access of the sensitive credential from the credential store that occurs outside of a procedure of authenticating the user. Various other methods, systems, and computer-readable media are also disclosed." . "Adam Glick; Brian Schlatter; Feng Li; Akshata Krishnamoorthy Rao" . "" . "Symantec Corp" . "Reference - Systems and methods for detecting credential theft - Symantec Corp" . . . "https://trustedcomputinggroup.org/wp-content/uploads/TCG_TNC_TAP_Use_Cases_v1r0p35_published.pdf"^^ . "TCG Trusted Attestation Protocol Use Cases for TPM Families 1.2 and 2.0 and DICE" . "Reference - TCG Trusted Attestation Protocol Use Cases for TPM Families 1.2 and 2.0 and DICE" . . . . "https://patents.google.com/patent/US9262600B2/en?oq=US9262600B2"^^ . "Tamper proof mutating software" . "System and method is disclosed for protecting client software running on a client computer from tampering using a secure server. Prior to or independent of executing the client software, the system integrates self-protection into the client software; removes functions from the client software for execution on the server; develops client software self-protection updates; and periodically distributes the updates. During execution of the client software, the system receives an initial request from the client computer for execution of the removed function; verifies the initial request; and cooperates with the client computer in execution of the client software if verification is successful. If verification is unsuccessful, the system can attempt to update the client software on the client computer; and require a new initial request. Client software can be updated on occurrence of a triggering event. Communications can be encrypted, and the encryption updated. Authenticating checksums can be used for verification." . "Kevin Dale Morgan" . "" . "ARXAN TECHNOLOGIES Inc" . "Reference - Tamper proof mutating software - ARXAN TECHNOLOGIES Inc" . . . . "https://www.dni.gov/files/Governance/IC-Tech-Specs-for-Const-and-Mgmt-of-SCIFs-v15.pdf"^^ . "Technical Specifications for Construction and Management of Sensitive Compartmented Information Facilities" . "National Counterintelligence and Security Center" . "Reference - Technical Specifications for Construction and Management of Sensitive Compartmented Information Facilities" . . . . "https://patents.google.com/patent/US10904273B1/"^^ . "Techniques for impeding and detecting network threats" . "Infinite DNS decoy trap resource to catch threats scanning for network resources to attack.\n\nIn various embodiments, a name server transmits a canonical name as resolution to another canonical name. In operation, when a resource name is requested for resolution, a determination is made that the resource name corresponds to a trap resource name. A first canonical name is transmitted as resolution to the trap resource name. The first canonical name is requested for resolution, and a second canonical name is transmitted as resolution. By providing trap canonical names as resolutions to trap canonical names, unauthorized software making the resolution requests is kept occupied with requesting resolution of canonical name after canonical name, impeding the ability of the unauthorized software from traversing a network." . "Ben McCarty, James Graham" . "MITRE Analysis was not found." . "Verisign Inc" . "Reference - Techniques for impeding and detecting network threats - Verisign Inc" . . . . . "https://www.tenable.com/sites/default/files/solution-briefs/SB-Passive-Network-Monitoring.pdf"^^ . "Tenable Passive Network Monitoring" . "Tenable Nessus\u00AE Network Monitor (NNM), a passive monitoring sensor, continuously discovers active assets on the network and assesses them for vulnerabilities. NNM is based on patented network discovery and vulnerability analysis technology that continuously monitors and profiles non-intrusively. It monitors IPv4, IPv6 and mixed network traffic at the packet layer to determine topology, services and vulnerabilities." . "Tenable" . "Reference - Tenable Passive Network Monitoring" . . . . "https://www.cs.umd.edu/~jkatz/security/downloads/passwords_revealed-weir.pdf"^^ . "Testing Metrics for Password Creation Policies by Attacking Large Sets of Revealed Passwords" . "Matt Weir, Sudhir Aggarwal, Michael Collins, Henry Stern" . "Reference - Testing Metrics for Password Creation Policies by Attacking Large Sets of Revealed Passwords" . . . . "https://patents.google.com/patent/US20140075556A1"^^ . "Threat detection for return oriented programming" . "This disclosure describes, in part, techniques for detecting security exploits associated with return-oriented programming. The techniques include determining that a retrieved count is indicative of malicious activity, such as return oriented programming. The count may be retrieved from a processor performance counter of prediction mismatches, the prediction mismatches resulting from comparisons of a call stack of a computing device and of a shadow call stack maintained by a processor of the computing device. The techniques further include performing at least one security response action in response to determining that the count indicates malicious activity." . "Georg WICHERSKI" . "This patent describes a technique for detecting shellcode security exploits. A call stack of a computing device is compared with a shadow call stack maintained by a processor of the computing device since a return oriented program may only be able to control or spoof the call stack and not the shadow call stack. Mismatches between the two are counted and if the number of mismatches exceeds a certain threshold it is an indication of malicious activity and a security response action is performed." . "Crowdstrike Inc" . "Reference - Threat detection for return oriented programming - Crowdstrike Inc" . . . . "https://patents.google.com/patent/US9104864B2/en?oq=US-9104864-B2"^^ . "Threat detection through the accumulated detection of threat characteristics" . "Embodiments of the present disclosure provide for improved capabilities in the detection of malware, where malware threats are detected through the accumulated identification of threat characteristics for targeted computer objects. Methods and systems include dynamic threat detection providing a first database that correlates a plurality of threat characteristics to a threat, wherein a presence of the plurality of the threat characteristics confirms a presence of the threat; detecting a change event in a computer run-time process; testing the change event for a presence of one or more of the plurality of characteristics upon detection of the change event; storing a detection of one of the plurality of characteristics in a second database that accumulates detected characteristics for the computer run-time process; and identifying the threat when each one of the plurality of characteristics appears in the second database." . "Clifford Penton; Irene Michlin" . "" . "Sophos Ltd" . "Reference - Threat detection through the accumulated detection of threat characteristics - Sophos Ltd" . . . . . . "https://www.ibm.com/docs/en/taddm/7.3.0?topic=model-dependencies-between-resources"^^ . "Tivoli Application Dependency Discovery Manager 7.3.0 - Dependencies between resources" . "IBM" . "Reference - Tivoli Application Dependency Discovery Manager 7.3.0 - Dependencies between resources" . . . . "https://patents.google.com/patent/US5870723A/"^^ . "Tokenless biometric transaction authorization method and system" . "A method and system for tokenless authorization of commercial transactions between a buyer and a seller using a computer system. A transaction is proposed by a seller, and the buyer signals his acceptance by entering his personal authentication information comprising a PIN and at least one biometric sample, forming a commercial transaction message. The commercial transaction message is forwarded to the computer system, where the computer system compares the personal authentication information in the commercial transaction message with previously registered buyer biometric samples. If the computer system successfully identifies the buyer, a financial account of the buyer is debited and a financial account of the seller is credited, and the results of the transaction are presented to both buyer and seller. As a result of the invention, a buyer can conduct commercial transactions without having to use any tokens such as portable man-made memory devices such as smartcards or swipe cards. The invention allows buyers to quickly select one of a group of different financial accounts from which to transfer funds. The invention further indicates to the user that the authentic computer system was accessed by the use of a private code that is returned to the buyer after the identification is complete. The invention additionally permits an authorized buyer to alert authorities in the event of an emergency, such as when a transaction is coerced." . "SmartTouch Inc" . "Reference - Tokenless biometric transaction authorization method and system" . . . "https://trustedcomputinggroup.org/wp-content/uploads/TCG_TNC_TAP_Use_Cases_v1r0p35_published.pdf"^^ . "Trusted Attestation Protocol Use Cases" . "## Document Abstract\nThis specification defines the Trusted Platform Module (TPM) a device that enables trust in computing platforms in general. It is broken into parts to make the role of each part clear. All parts are required in order to constitute a complete standard. For a complete definition of all requirements necessary to build a TPM, the designer will need to use the appropriate platform-specific specification to understand all of the requirements for a TPM in a specific application or make appropriate choices as an implementer. Those wishing to create a TPM need to be aware that this specification does not provide a complete picture of the options and commands necessary to implement a TPM. To implement a TPM the designer needs to refer to the relevant platform-specific specification to understand the options and settings required for a TPM in a specific type of platform or make appropriate choices as an implementer." . "Reference - Trusted Attestation Protocol Use Cases" . . . "https://patents.google.com/patent/US20120174210A1"^^ . "Trusted Communications With Child Processes" . "A method to identify a child process to a parent process in an operating system includes obtaining a token and login identifier from the operating system. The parent process creates a remote procedure call communications endpoint to communicate with the child process. Thereafter, a child process is spawned by the parent process. A child-initiated request to communicate with the parent process is then received by the parent process. In order to verify the identity of the child-initiated request, the parent process impersonates the child process and receives as identifier that identifies the requestor child process. The requestor process identifier and the spawned child identifier are compared. Based on the comparison, the parent process responds to the child-initiated request. In another embodiment, process identifiers are used by the parent process to verify the identity of a child process the requests communication with the parent process." . "Kedarnath Atmaram Dubhashi, Jonathan D. Schwartz, Sambavi Muthukrishnan, Simon Skaria" . "This patent describes a technique for detecting malicious processes that claim to be the child process of a legitimate parent process. During the spawning of a child process, a child process identifier is generated. The child process identifier is a unique identifier that can be used to identify a child process. The child process identifier is transmitted by the security system of the operating system to the parent process. The parent process keeps track of the child process identifier. When a new child-initiated communications request is received by the parent process, the parent process checks if the requesting child process identifier and the child process identifier that the parent process is tracking are the same. If the identifiers are not the same, the parent process refuses the request." . "Microsoft Technology Licensing LLC" . "Reference - Trusted Communications With Child Processes - Microsoft Technology Licensing LLC" . . . . "https://car.mitre.org/analytics/CAR-2019-04-001/"^^ . "CAR-2019-04-001: UAC Bypass" . "Bypassing user account control (UAC Bypass) is generally done by piggybacking on a system process that has auto-escalate privileges. This analytic looks to detect those cases as described by the open-source UACME tool." . "MITRE" . "" . "MITRE" . "Reference - CAR-2019-04-001: UAC Bypass - MITRE" . . . . "https://uefi.org/sites/default/files/resources/PI_Spec_1_7_A_final_May1.pdf"^^ . "UEFI Platform Initialization (PI) Specification" . "Reference - UEFI Platform Initialization (PI) Specification" . . . . "https://patents.google.com/patent/US9990325B2/en"^^ . "Universal serial bus (USB) filter hub malicious code prevention system" . "The present invention relates generally to computer systems, and more specifically, to a universal serial bus (USB) filter hub for a computer system." . "Steven R Hetzler, Daniel F Smith" . "International Business Machines Corp" . "Reference - USB filter for hub malicious code prevention system" . . . . . . . . . "https://www.omg.org/spec/UAF/"^^ . "Unified Architecture Framework (UAF)" . "UAF is an OMG standard that assists in development of architectural descriptions in commercial industry firms, federal government agencies and defense organizations. UAF has a variety of use cases from Enterprise and Mission architecting, to System of Systems (SoS) and Cyber-physical Systems engineering, as well as being an enabler for Digital Transformation efforts and for Department of Defense Architecture Framework (DoDAF) and NATO Architecture Framework (NAF) modeling. Architectural Descriptions in UAF are aligned with ISO/IEC/IEEE 42010:2011, Systems and software engineering -- Architecture description." . "OMG" . "Reference - Unified Architecture Framework (UAF)" . . . "https://docs.microsoft.com/en-us/windows-server/networking/dns/deploy/apply-filters-on-dns-queries"^^ . "Use DNS Policy for Applying Filters on DNS Queries" . "Microsoft" . "Reference - Use DNS Policy for Applying Filters on DNS Queries" . . . . "https://patents.google.com/patent/US20180032727A1"^^ . "Use of an application controller to monitor and control software file and application environments" . "In embodiments of the present invention, a framework for an extensible, file-based security system is described for determining an appropriate application, application environment, and/or access or security control measure based at least in part on a file's reputation. In response to the selection of a file, an application controller may be used to select a software application from two or more software applications to open the selected file, based at least in part on the selected file's reputation. If launched, a software application may be configured to open the file in an environment, such as a virtual machine, quarantined environment, and the like, that is appropriate for the file based at least in part on the reputation information. A software application may be a secure software application configured to manage secure files, or an insecure software application configured to manage insecure files. The selected file, and communications relating to the selected software application, may be managed according to the selected software application's secure or insecure configuration. Further, the selected software application may associate reputation information with all files that are modified and/or created by the selected software application, including at least in part, reputation information matching that of the selected file." . "Andrew J. Thomas" . "This patent describes received files being open in an environment such as a virtual machine or quarantined environment to associate file reputation information that determines if a file is a threat." . "Sophos Ltd" . "Reference - Use of an application controller to monitor and control software file and application environments - Sophos Ltd" . . . . "https://www.ghacks.net/2011/07/29/use-rkill-to-stop-malware-processes/"^^ . "Use Rkill to Stop Malware Processes" . "Melanie Gross" . "ghacks.net" . "Reference - Use Rkill to Stop Malware Processes - ghacks.net" . . . . "https://car.mitre.org/analytics/CAR-2016-04-002/"^^ . "CAR-2016-04-002: User Activity from Clearing Event Logs" . "It is unlikely that event log data would be cleared during normal operations, and it is likely that malicious attackers may try to cover their tracks by clearing an event log. When an event log gets cleared, it is suspicious. Alerting when a \"Clear Event Log\" is generated could point to this intruder technique. Centrally collecting events has the added benefit of making it much harder for attackers to cover their tracks. Event Forwarding permits sources to forward multiple copies of a collected event to multiple collectors, thus enabling redundant event collection. Using a redundant event collection model can minimize the single point of failure risk." . "MITRE" . "" . "MITRE" . "Reference - CAR-2016-04-002: User Activity from Clearing Event Logs - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2016-04-003/"^^ . "CAR-2016-04-003: User Activity from Stopping Windows Defensive Services" . "Spyware and malware remain a serious problem and Microsoft developed security services, Windows Defender and Windows Firewall, to combat this threat. In the event Windows Defender or Windows Firewall is turned off, administrators should correct the issue immediately to prevent the possibility of infection or further infection and investigate to determine if caused by crash or user manipulation." . "MITRE" . "" . "MITRE" . "Reference - CAR-2016-04-003: User Activity from Stopping Windows Defensive Services - MITRE" . . . . . "https://car.mitre.org/analytics/CAR-2013-02-012/"^^ . "CAR-2013-02-012: User Logged in to Multiple Hosts" . "Most users use only one or two machines during the normal course of business. User accounts that log in to multiple machines, especially over a short period of time, may be compromised. Remote logins among multiple machines may be an indicator of Lateral Movement.\n\nCertain users will likely appear as being logged into several machines and may need to be \"whitelisted.\" Such users would include network admins or user names that are common to many hosts." . "MITRE" . "" . "MITRE" . "Reference - CAR-2013-02-012: User Logged in to Multiple Hosts - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2013-10-001/"^^ . "CAR-2013-10-001: User Login Activity Monitoring" . "Monitoring logon and logoff events for hosts on the network is very important for situational awareness. This information can be used as an indicator of unusual activity as well as to corroborate activity seen elsewhere.\n\nCould be applied to a number of different types of monitoring depending on what information is desired. Some use cases include monitoring for all remote connections and building login timelines for users. Logon events are Windows Event Code 4624 for Windows Vista and above, 518 for pre-Vista. Logoff events are 4634 for Windows Vista and above, 538 for pre-Vista." . "MITRE" . "MITRE" . "Reference - CAR-2013-10-001: User Login Activity Monitoring - MITRE" . . . . "https://"^^ . "Using spanning tree protocol (STP) to enhance layer-2 topology maps" . "Spanning Tree Protocol (STP) data is obtained via network switch (SNMP) queries to enhance identification of switch-to-switch links in Layer-2 mapping. In particular, by analyzing the STP data, ambiguity in determining switch uplink ports may be reduced. Specifically, the STP data can be used in conjunction with other topography data to provide Layer-2 connectivity for nodes on a network topology. Layer-2 address mapping tables are collected from a topology mapping, and STP data is collected, along with address translation tables (ARP) tables. Using this information, switches are identified using Layer-2 address tables. The STP data can be correlated by comparing data in switches, identifying switch ports directly connected to other switch ports, and eliminating direct switch-to-switch port connections from consideration for further Layer-2 node mappings." . "Michael Jon Swan" . "SolarWinds Worldwide LLC" . "Reference - Using spanning tree protocol (STP) to enhance layer-2 topology maps" . . . . "https://patents.google.com/patent/US20180081829A1"^^ . "Virtualized process isolation" . "Systems, apparatuses, and methods for implementing virtualized process isolation are disclosed. A system includes a kernel and multiple guest VMs executing on the system's processing hardware. Each guest VM includes a vShim layer for managing kernel accesses to user space and guest accesses to kernel space. The vShim layer also maintains a separate set of page tables from the kernel page tables. In one embodiment, data in the user space is encrypted and the kernel goes through the vShim layer to access user space data. When the kernel attempts to access a user space address, the kernel exits and the vShim layer is launched to process the request. If the kernel has permission to access the address, the vShim layer copies the data to a region in kernel space and then returns execution to the kernel." . "David A. Kaplan" . "" . "Advanced Micro Devices Inc" . "Reference - Virtualized process isolation - Advanced Micro Devices Inc" . . . . . . . "https://www.dmtf.org/standards/wbem"^^ . "Web-Based Enterprise Management" . "Distributed Management Task Force (DMTF)" . "Reference - Web-Based Enterprise Management" . . . . "https://access.redhat.com/solutions/2936741"^^ . "What is NX/XD feature?" . "What is NX/XD feature ?\nHow to check whether NX/XD is enabled ?\nHow to enable or disable NX/XD?\n\nNX/XD is a hardware cpu feature which is provided in almost all the hardware. Some BIOS has advanced option of enabling or disabling it.\nNX stands for No eXecute and XD stands for eXecute Disable. Both are same and is a technology used in processors to prevent execution of certain types of code." . "Red Hat" . "" . "Red Hat" . "Reference - What is NX/XD feature?" . . . . . . . "https://docs.microsoft.com/en-us/previous-versions/windows/desktop/wmi_v2/windows-management-infrastructure"^^ . "Windows Management Infrastructure" . "Microsoft" . "Reference - Windows Management Infrastructure (MI)" . . . . . . . "https://docs.microsoft.com/en-us/windows/win32/wmisdk/wmi-start-page"^^ . "Windows Management Instrumentation" . "Microsoft" . "Reference - Windows Management Instrumentation (WMI)" . . . . "https://www.stigviewer.com/stig/windows_10/"^^ . "Windows 10 Security Technical Implementation Guide" . "Windows 10 STIG guidance." . "Reference - Windows 10 STIG" . . . . ""^^ . "CAR-2014-11-006: Windows Remote Management (WinRM)" . "" . "MITRE" . "" . "MITRE" . "Reference - CAR-2014-11-006: Windows Remote Management (WinRM) - MITRE" . . . . "http://www.biometric-solutions.com/keystroke-dynamics.html"^^ . "Keystroke Dynamics" . "Keystroke dynamics or typing dynamics refers to the automated method of identifying or confirming the identity of an individual based on the manner and the rhythm of typing on a keyboard. Keystroke dynamics is a behavioral biometric, this means that the biometric factor is 'something you do'.\n\nAlready during the second world war a technique known as The Fist of the Sender was used by military intelligence to distinguish based on the rhythm whether a morse code message was send by ally or enemy. These days each household has at least one computer keyboard, making keystroke dynamics the easiest biometric solution to implement in terms of hardware.\n\nWith keystroke dynamics the biometric template used to identify an individual is based on the typing pattern, the rhythm and the speed of typing on a keyboard. The raw measurements used for keystroke dynamics are dwell time and flight time." . "Biometric Solutions" . "Biometric Solutions" . "Reference - http://www.biometric-solutions.com/keystroke-dynamics.html - biometric-solutions.com" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "D3-RPA" . . . . . . . . "D3-RTSD" . . . . . . . . . . . . . "D3-RAPA" . . . . . "D3-RRDD" . . . . . "D3-RRID" . . . "Ruby Script File" . . . . . . . . "D3-SJA" . . . . . . . "D3-SEA" . . . . . . . . "D3-SAOR" . . . . . "D3-SMRA" . . . . . "D3-SRA" . . . . . . "D3-SBV" . . . . . . . . "D3-SVCDM" . . . . . . . . "D3-SDA" . . . . . "D3-SSC" . . . . . . . . . . . . . "D3-SWI" . . . . . "D3-SU" . . . . . . . . . . . . "D3-SFCV" . . . . . . . "D3-SHN" . . . . . . . . . . "D3-SPP" . . . . . . . . . . . . . . . . . "D3-SCA" . . . . . "D3-SCF" . . . . . . . . . "D3-SCP" . . . . . . . "D3-SDM" . . . . . . . . . "D3-SYSDM" . . . . . . . "D3-SFA" . . . . . . . . . "D3-SFV" . . . . . . . "D3-SICA" . . . . . . "D3-SYSM" . "2"^^ . . . . . . . . . . . "D3-SYSVA" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "D3-TBI" . . . . . . . "D3-TAAN" . . . . . . . . "D3-UA" . . . . . "D3-URA" . . . . . . . . "D3-UAP" . . . . . . . "D3-UBA" . . . . . . "D3-UDTA" . . . . . . "D3-UGLPA" . . . . . . . . . . . . . . "D3-USICA" . . . . . . . . . . . . . . "WHOIS Compatible Domain Registration" . . . . . . . . . . . . . . . . . "D3-WSAA" . . . "Web Socket URL" . . . "Windows Batch File" . . . "Windows Process" . . . . . . . "X86 Code Segment" . . . "iOS Process" . . . "macOS Process" . . . "non-real-time-analytic" . . . "non-real-time-eviction" . . . . . "Procedure 1 - T1134.001 Access Token Manipulation" . . . "real-time-analytic" . . . "real-time-eviction" . . . . . "Step 1 - Copy Token" . . . . . "Step 2 - Impersonate User" . . . . "https://patents.google.com/patent/US20110296412A1"^^ . "Approaches for securing an internet endpoint using fine-grained operating system virtualization" . "Approaches for executing untrusted software on a client without compromising the client using micro-virtualization to execute untrusted software in isolated contexts. A template for instantiating a virtual machine on a client is identified in response to receiving a request to execute an application. After the template is identified, without human intervention, a virtual machine is instantiated, using the template, in which the application is to be executed. The template may be selected from a plurality of templates based on the nature of the request, as each template describe characteristics of a virtual machine suitable for a different type of activity. Selected resources such as files are displayed to the virtual machines according to user and organization policies and controls. When the client determines that the application has ceased to execute, the client ceases execution of the virtual machine without human intervention." . "Gaurav Banga, Ian Pratt, Kiran Bondalapati, Vikram Kapoor" . "" . "Bromium, Inc." . "Reference - Approaches for securing an internet endpoint using fine-grained operating system virtualization - Bromium, Inc." . . . . "https://car.mitre.org/analytics/CAR-2014-05-001/"^^ . "CAR-2014-05-001: RPC Activity" . "Microsoft Windows uses its implementation of Distributed Computing Environment/Remote Procedure Call (DCE/RPC), which it calls Microsoft RPC, to call certain APIs remotely.\n\nA Remote Procedure Call is initiated by communicating to the RPC Endpoint Mapper, which exists as the Windows service RpcEptMapper and listens on the port 135/tcp. The endpoint mapper resolves a requested endpoint/interface and responds to the client with the port that the service is listening on. Since the RPC endpoints are assigned ports when the services start, these ports are dynamically assigned from 49152 to 65535. The connection to the endpoint mapper then terminates and the client program can communicate directly with the requested service.\n\nRPC is a legitimate functionality of Windows that allows remote interaction with a variety of services. For a Windows environment to be properly configured, several programs use RPC to communicate legitimately with servers. The background and benign RPC activity may be enormous, but must be learned, especially peer-to-peer RPC between workstations, which is often indicative of Lateral Movement." . "MITRE" . "MITRE" . "Reference - CAR-2014-05-001: RPC Activity - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2015-04-001/"^^ . "CAR-2015-04-001: Remotely Scheduled Tasks via AT" . "When AT.exe is used to remotely schedule tasks, Windows uses named pipes over SMB to communicate with the API on the remote machine. After authentication over SMB, the Named Pipe \u201CATSVC\u201D is opened, over which the JobAdd function is called. On the remote host, the job files are created by the Task Scheduler and follow the convention C:\\Windows\\System32\\AT. Unlike CAR-2013-05-004, this analytic specifically focuses on uses of AT that can be detected between hosts, indicating remotely gained execution.\n\nThis pipe activity could be discovered with a network decoder, such as that in wireshark, that can inspect SMB traffic to identify the use of pipes. It could also be detected by looking for raw packet capture streams or from a custom sensor on the host that hooks the appropriate API functions. If no network or API level of visibility is possible, this traffic may inferred by looking at SMB connections over 445/tcp followed by the creation of files matching the pattern C:\\Windows\\System32\\AT\\." . "MITRE" . "MITRE" . "Reference - CAR-2015-04-001: Remotely Scheduled Tasks via AT - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2020-04-001/"^^ . "CAR-2020-04-001: Shadow Copy Deletion" . "The Windows Volume Shadow Copy Service is a built-in OS feature that can be used to create backup copies of files and volumes.\n\nAdversaries may delete these shadow copies, typically through the usage of system utilities such as vssadmin.exe or wmic.exe, in order prevent file and data recovery. This technique is commonly employed for this purpose by ransomware." . "MITRE" . "MITRE" . "Reference - CAR-2020-04-001: Shadow Copy Deletion - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2020-05-001/"^^ . "CAR-2020-05-001: MiniDump of LSASS" . "This analytic detects the minidump variant of credential dumping where a process opens lsass.exe in order to extract credentials using the Win32 API call MiniDumpWriteDump. Tools like SafetyKatz, SafetyDump, and Outflank-Dumpert default to this variant and may be detected by this analytic, though keep in mind that not all options for using those tools will result in this specific behavior.\n\nThe analytic is based on a Sigma analytic contributed by Samir Bousseaden and written up in a blog on MENASEC. It looks for a call trace that includes either dbghelp.dll or dbgcore.dll, which export the relevant functions/permissions to perform the dump. It also detects using the Windows Task Manager (taskmgr.exe) to dump lsass, which is described in CAR-2019-08-001. In this iteration of the Sigma analytic, the GrantedAccess filter isn\u2019t included because it didn\u2019t seem to filter out any false positives and introduces the potential for evasion.\n\nThis analytic was tested both in a lab and in a production environment with a very low false-positive rate. werfault.exe and tasklist.exe, both standard Windows processes, showed up multiple times as false positives." . "MITRE" . "MITRE" . "Reference - CAR-2020-05-001: MiniDump of LSASS - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2020-05-003/"^^ . "CAR-2020-05-003: Rare LolBAS Command Lines" . "LoLBAS are binaries and scripts that are built in to Windows, frequently are signed by Microsoft, and may be used by an attacker. Some LoLBAS are used very rarely and it might be possible to alert every time they\u2019re used (this would depend on your environment), but many others are very common and can\u2019t be simply alerted on.\n\nThis analytic takes all instances of LoLBAS execution and then looks for instances of command lines that are not normal in the environment. This can detect attackers (which will tend to need the binaries for something different than normal usage) but will also tend to have false positives.\n\nThe analytic needs to be tuned. The 1.5 in the query is the number of standard deviations away to look. It can be tuned up to filter out more noise and tuned down to get more results. This means it is probably best as a hunting analytic when you have analysts looking at the screen and able to tune the analytic up and down, because the threshold may not be stable for very long." . "MITRE" . "MITRE" . "Reference - CAR-2020-05-003: Rare LolBAS Command Lines - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2020-08-001/"^^ . "CAR-2020-08-001: NTFS Alternate Data Stream Execution - System Utilities" . "NTFS Alternate Data Streams (ADSs) may be used by adversaries as a means of evading security tools by storing malicious data or binaries in file attribute metadata. ADSs are also powerful because they can be directly executed by various Windows tools; accordingly, this analytic looks at common ways of executing ADSs using system utilities such as powershell." . "MITRE" . "MITRE" . "Reference - CAR-2020-08-001: NTFS Alternate Data Stream Execution - System Utilities - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2020-09-001/"^^ . "CAR-2020-09-001: Scheduled Task - FileAccess" . "In order to gain persistence, privilege escalation, or remote execution, an adversary may use the Windows Task Scheduler to schedule a command to be run at a specified time, date, and even host. Task Scheduler stores tasks as files in two locations - C:\\Windows\\Tasks (legacy) or C:\\Windows\\System32\\Tasks. Accordingly, this analytic looks for the creation of task files in these two locations." . "MITRE" . "MITRE" . "Reference - CAR-2020-09-001: Scheduled Task - FileAccess - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2020-09-002/"^^ . "CAR-2020-09-002: Component Object Model Hijacking" . "Adversaries may establish persistence or escalate privileges by executing malicious content triggered by hijacked references to Component Object Model (COM) objects. This is typically done by replacing COM object registry entries under the HKEY_CURRENT_USER\\Software\\Classes\\CLSID or HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\CLSID keys. Accordingly, this analytic looks for any changes under these keys." . "MITRE" . "MITRE" . "Reference - CAR-2020-09-002: Component Object Model Hijacking - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2020-09-003/"^^ . "CAR-2020-09-003: Indicator Blocking - Driver Unloaded" . "Adversaries may attempt to evade system defenses by unloading minifilter drivers used by host-based sensors such as Sysmon through the use of the fltmc command-line utility. Accordingly, this analytic looks for command-line invocations of this utility when used to unload minifilter drivers." . "MITRE" . "MITRE" . "Reference - CAR-2020-09-003: Indicator Blocking - Driver Unloaded - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2020-09-004/"^^ . "CAR-2020-09-004: Credentials in Files & Registry" . "Adversaries may search the Windows Registry on compromised systems for insecurely stored credentials for credential access. This can be accomplished using the query functionality of the reg.exe system utility, by looking for keys and values that contain strings such as \u201Cpassword\u201D. In addition, adversaries may use toolkits such as PowerSploit in order to dump credentials from various applications such as IIS.Accordingly, this analytic looks for invocations of reg.exe in this capacity as well as that of several powersploit modules with similar functionality." . "MITRE" . "MITRE" . "Reference - CAR-2020-09-004: Credentials in Files & Registry - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2020-09-005/"^^ . "CAR-2020-09-005: AppInit DLLs" . "Adversaries may establish persistence and/or elevate privileges by executing malicious content triggered by AppInit DLLs loaded into processes. Dynamic-link libraries (DLLs) that are specified in the AppInit_DLLs value in the Registry keys HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Windows or HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Microsoft\\Windows NT\\CurrentVersion\\Windows are loaded by user32.dll into every process that loads user32.dll. These values can be abused to obtain elevated privileges by causing a malicious DLL to be loaded and run in the context of separate processes. Accordingly, this analytic looks for modifications to these registry keys that may be indicative of this type of abuse." . "MITRE" . "MITRE" . "Reference - CAR-2020-09-005: AppInit DLLs - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2020-11-001/"^^ . "CAR-2020-11-001: Boot or Logon Initialization Scripts" . "Adversaries may schedule software to run whenever a user logs into the system; this is done to establish persistence and sometimes for lateral movement. This trigger is established through the registry key HKEY_CURRENT_USER\\EnvironmentUserInitMprLogonScript. This signature looks edits to existing keys or creation of new keys in that path. Users purposefully adding benign scripts to this path will result in false positives; that case is rare, however. There are other ways of running a script at startup or login that are not covered in this signature. Note that this signature overlaps with the Windows Sysinternals Autoruns tool, which would also show changes to this registry path." . "MITRE" . "MITRE" . "Reference - CAR-2020-11-001: Boot or Logon Initialization Scripts - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2020-11-002/"^^ . "CAR-2020-11-002: Local Network Sniffing" . "Adversaries may use a variety of tools to gain visibility on the current status of things on the network: which processes are listening on which ports, which services are running on other hosts, etc. This analytic looks for the names of the most common network sniffing tools. While this may be noisy on networks where sysadmins are using any of these tools on a regular basis, in most networks their use is noteworthy." . "MITRE" . "MITRE" . "Reference - CAR-2020-11-002: Local Network Sniffing - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2020-11-003/"^^ . "CAR-2020-11-003: DLL Injection with Mavinject" . "Injecting a malicious DLL into a process is a common adversary TTP. Although the ways of doing this are numerous, mavinject.exe is a commonly used tool for doing so because it roles up many of the necessary steps into one, and is available within Windows. Attackers may rename the executable, so we also use the common argument \u201CINJECTRUNNING\u201D as a related signature here. Whitelisting certain applications may be necessary to reduce noise for this analytic." . "MITRE" . "MITRE" . "Reference - CAR-2020-11-003: DLL Injection with Mavinject - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2020-11-004/"^^ . "CAR-2020-11-004: Processes Started From Irregular Parent" . "Adversaries may start legitimate processes and then use their memory space to run malicious code. This analytic looks for common Windows processes that have been abused this way in the past; when the processes are started for this purpose they may not have the standard parent that we would expect. This list is not exhaustive, and it is possible for cyber actors to avoid this discepency. These signatures only work if Sysmon reports the parent process, which may not always be the case if the parent dies before sysmon processes the event." . "MITRE" . "MITRE" . "Reference - CAR-2020-11-004: Processes Started From Irregular Parent - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2020-11-005/"^^ . "CAR-2020-11-005: Clear Powershell Console Command History" . "Adversaries may attempt to conceal their tracks by deleting the history of commands run within the Powershell console, or turning off history saving to begin with. This analytic looks for several commands that would do this. This does not capture the event if it is done within the console itself; only commandline-based commands are detected. Note that the command to remove the history file directly may very a bit if the history file is not saved in the default path on a particular system." . "MITRE" . "MITRE" . "Reference - CAR-2020-11-005: Clear Powershell Console Command History - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2020-11-006/"^^ . "CAR-2020-11-006: Local Permission Group Discovery" . "Cyber actors frequently enumerate local or domain permissions groups. The net utility is usually used for this purpose. This analytic looks for any instances of net.exe, which is not normally used for benign purposes, although system administrator actions may trigger false positives." . "MITRE" . "MITRE" . "Reference - CAR-2020-11-006: Local Permission Group Discovery - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2020-11-007/"^^ . "CAR-2020-11-007: Network Share Connection Removal" . "Adversaries may use network shares to exfliltrate date; they will then remove the shares to cover their tracks. This analytic looks for the removal of network shares via commandline, which is otherwise a rare event." . "MITRE" . "MITRE" . "Reference - CAR-2020-11-007: Network Share Connection Removal - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2020-11-008/"^^ . "CAR-2020-11-008: MSBuild and msxsl" . "Trusted developer utilities such as MSBuild may be leveraged to run malicious code with elevated privileges. This analytic looks for any instances of msbuild.exe, which will execute any C# code placed within a given XML document; and msxsl.exe, which processes xsl transformation specifications for XML files and will execute a variaty of scripting languages contained within the XSL file. Both of these executables are rarely used outside of Visual Studio." . "MITRE" . "MITRE" . "Reference - CAR-2020-11-008: MSBuild and msxsl - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2020-11-009/"^^ . "CAR-2020-11-009: Compiled HTML Access" . "Adversaries may hide malicious code in .chm compiled HTML files. When these files are read, Windows uses the HTML help executable named hh.exe, which is the signature for this analytic." . "MITRE" . "MITRE" . "Reference - CAR-2020-11-009: Compiled HTML Access - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2020-11-010/"^^ . "CAR-2020-11-010: CMSTP" . "CMSTP.exe is the Microsoft Connection Manager Profile Installer, which can be leveraged to setup listeners that will receive and install malware from remote sources in trusted fashion. When CMSTP.exe is seen in combination with an external connection, it is a good indication of this TTP." . "MITRE" . "MITRE" . "Reference - CAR-2020-11-010: CMSTP - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2020-11-011/"^^ . "CAR-2020-11-011: Registry Edit from Screensaver" . "Adversaries may use screensaver files to run malicious code. This analytic triggers on suspicious edits to the screensaver registry keys, which dictate which .scr file the screensaver runs." . "MITRE" . "MITRE" . "Reference - CAR-2020-11-011: Registry Edit from Screensaver" . . . . "https://car.mitre.org/analytics/CAR-2021-01-002/"^^ . "CAR-2021-01-002: Unusually Long Command Line Strings" . "Often, after a threat actor gains access to a system, they will attempt to run some kind of malware to further infect the victim machine. These malware often have long command line strings, which could be a possible indicator of attack. Here, we use sysmon and Splunk to first find the average command string length and search for command strings that stretch over multiple lines, thus identifying anomalies and possibly malicious commands." . "MITRE" . "MITRE" . "Reference - CAR-2021-01-002: Unusually Long Command Line Strings - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2021-01-003/"^^ . "CAR-2021-01-003: Clearing Windows Logs with Wevtutil" . "In an attempt to clear traces after compromising a machine, threat actors often try to clear Windows Event logs. This is often done using \u201Cwevtutil\u201D, a legitimate tool provided by Microsoft. This action interferes with event collection and notification, and may lead to a security event going undetected, thereby potentially leading to further compromise of the network." . "MITRE" . "Reference - CAR-2021-01-003: Clearing Windows Logs with Wevtutil - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2021-01-004/"^^ . "CAR-2021-01-004: Unusual Child Process for Spoolsv.Exe or Connhost.Exe" . "After gaining initial access to a system, threat actors attempt to escalate privileges as they may be operating within a lower privileged process which does not allow them to access protected information or carry out tasks which require higher permissions. A common way of escalating privileges in a system is by externally invoking and exploiting spoolsv or connhost executables, both of which are legitimate Windows applications. This query searches for an invocation of either of these executables by a user, thus alerting us of any potentially malicious activity." . "MITRE" . "MITRE" . "Reference - CAR-2021-01-004: Unusual Child Process for Spoolsv.Exe or Connhost.Exe - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2021-01-006/"^^ . "CAR-2021-01-006: Unusual Child Process spawned using DDE exploit" . "Adversaries may use Windows Dynamic Data Exchange (DDE) to execute arbitrary commands. DDE is a client-server protocol for one-time and/or continuous inter-process communication (IPC) between applications. Once a link is established, applications can autonomously exchange transactions consisting of strings, warm data links (notifications when a data item changes), hot data links (duplications of changes to a data item), and requests for command execution." . "MITRE" . "MITRE" . "Reference - CAR-2021-01-006: Unusual Child Process spawned using DDE exploit - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2021-01-007/"^^ . "CAR-2021-01-007: Detecting Tampering of Windows Defender Command Prompt" . "In an attempt to avoid detection after compromising a machine, threat actors often try to disable Windows Defender. This is often done using \u201Csc\u201D [service control], a legitimate tool provided by Microsoft for managing services. This action interferes with event detection and may lead to a security event going undetected, thereby potentially leading to further compromise of the network." . "MITRE" . "d" . "MITRE" . "Reference - CAR-2021-01-007: Detecting Tampering of Windows Defender Command Prompt - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2021-01-008/"^^ . "CAR-2021-01-008: Disable UAC" . "Threat actors often, after compromising a machine, try to disable User Access Control (UAC) to escalate privileges. This is often done by changing the registry key for system policies using \u201Creg.exe\u201D, a legitimate tool provided by Microsoft for modifying the registry via command prompt or scripts. This action interferes with UAC and may enable a threat actor to escalate privileges on the compromised system, thereby allowing further exploitation of the system." . "MITRE" . "MITRE" . "Reference - CAR-2021-01-008: Disable UAC - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2021-01-009/"^^ . "CAR-2021-01-009: Detecting Shadow Copy Deletion via Vssadmin.exe" . "After compromising a network of systems, threat actors often try to delete Shadow Copy in an attempt to prevent administrators from restoring the systems to versions present before the attack. This is often done via vssadmin, a legitimate Windows tool to interact with shadow copies. This non-detection of this technique, which is often employed by ransomware strains such as \u201COlympic Destroyer\u201D, may lead to a failure in recovering systems after an attack." . "MITRE" . "MITRE" . "Reference - CAR-2021-01-009: Detecting Shadow Copy Deletion via Vssadmin.exe - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2021-02-001/"^^ . "CAR-2021-02-001: Webshell-Indicative Process Tree" . "A web shell is a web script placed on an openly accessible web server to allow an adversary to use the server as a gatway in a network. As the shell operates, commands will be issued from within the web application into the broader server operating system. This analytic looks for host enumeration executables initiated by any web service that would not normally be executed within that environment." . "MITRE" . "MITRE" . "Reference - CAR-2021-02-001: Webshell-Indicative Process Tree - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2021-02-002/"^^ . "CAR-2021-02-002: Get System Elevation" . "Cyber actors frequently escalate to the SYSTEM account after gaining entry to a Windows host, to enable them to carry out various attacks more effectively. Tools such as Meterpreter, Cobalt Strike, and Empire carry out automated steps to \u201CGet System\u201D, which is the same as switching over to the System user account. Most of these tools utilize multiple techniques to try and attain SYSTEM: in the first technique, they create a named pipe and connects an instance of cmd.exe to it, which allows them to impersonate the security context of cmd.exe, which is SYSTEM. In the second technique, a malicious DLL is injected into a process that is running as SYSTEM; the injected DLL steals the SYSTEM token and applies it where necessary to escalate privileges. This analytic looks for both of these techniques." . "MITRE" . "MITRE" . "Reference - CAR-2021-02-002: Get System Elevation - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2021-04-001/"^^ . "CAR-2021-04-001: Common Windows Process Masquerading" . "Masquerading (T1036) is defined by ATT&CK as follows:\n\n\u201CMasquerading occurs when the name or location of an object, legitimate or malicious, is manipulated or abused for the sake of evading defenses and observation. This may include manipulating file metadata, tricking users into misidentifying the file type, and giving legitimate task or service names.\u201D\n\nMalware authors often use this technique to hide malicious executables behind legitimate Windows executable names (e.g. lsass.exe, svchost.exe, etc).\n\nThere are several sub-techniques, but this analytic focuses on Match Legitimate Name or Location only." . "MITRE" . "MITRE" . "Reference - CAR-2021-04-001: Common Windows Process Masquerading - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2021-05-001/"^^ . "CAR-2021-05-001: Attempt To Add Certificate To Untrusted Store" . "Adversaries may add their own root certificate to the certificate store, to cause the web browser to trust that certificate and not display a security warning when it encounters the previously unseen certificate. This action may be the precursor to malicious activity." . "MITRE" . "MITRE" . "Reference - CAR-2021-05-001: Attempt To Add Certificate To Untrusted Store - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2021-05-002/"^^ . "CAR-2021-05-002: Batch File Write to System32" . "While batch files are not inherently malicious, it is uncommon to see them created after OS installation, especially in the Windows directory. This analytic looks for the suspicious activity of a batch file being created within the C:\\Windows\\System32 directory tree. There will be only occasional false positives due to administrator actions." . "MITRE" . "MITRE" . "Reference - CAR-2021-05-002: Batch File Write to System32 - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2021-05-003/"^^ . "CAR-2021-05-003: BCDEdit Failure Recovery Modification" . "This search looks for flags passed to bcdedit.exe modifications to the built-in Windows error recovery boot configurations. This is typically used by ransomware to prevent recovery." . "MITRE" . "MITRE" . "Reference - CAR-2021-05-003: BCDEdit Failure Recovery Modification - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2021-05-004/"^^ . "CAR-2021-05-004: BITS Job Persistence" . "The following query identifies Microsoft Background Intelligent Transfer Service utility bitsadmin.exe scheduling a BITS job to persist on an endpoint. The query identifies the parameters used to create, resume or add a file to a BITS job. Typically seen combined in a oneliner or ran in sequence. If identified, review the BITS job created and capture any files written to disk. It is possible for BITS to be used to upload files and this may require further network data analysis to identify. You can use bitsadmin /list /verbose to list out the jobs during investigation." . "MITRE" . "MITRE" . "Reference - CAR-2021-05-004: BITS Job Persistence - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2021-05-005/"^^ . "CAR-2021-05-005: BITSAdmin Download File" . "The following query identifies Microsoft Background Intelligent Transfer Service utility bitsadmin.exe using the transfer parameter to download a remote object. In addition, look for download or upload on the command-line, the switches are not required to perform a transfer. Capture any files downloaded. Review the reputation of the IP or domain used. Typically once executed, a follow on command will be used to execute the dropped file. Note that the network connection or file modification events related will not spawn or create from bitsadmin.exe, but the artifacts will appear in a parallel process of svchost.exe with a command-line similar to svchost.exe -k netsvcs -s BITS. It\u2019s important to review all parallel and child processes to capture any behaviors and artifacts. In some suspicious and malicious instances, BITS jobs will be created. You can use bitsadmin /list /verbose to list out the jobs during investigation." . "MITRE" . "MITRE" . "Reference - CAR-2021-05-005: BITSAdmin Download File - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2021-05-006/"^^ . "CAR-2021-05-006: CertUtil Download With URLCache and Split Arguments" . "Certutil.exe may download a file from a remote destination using -urlcache. This behavior does require a URL to be passed on the command-line. In addition, -f (force) and -split (Split embedded ASN.1 elements, and save to files) will be used. It is not entirely common for certutil.exe to contact public IP space. However, it is uncommon for certutil.exe to write files to world writeable paths.\\ During triage, capture any files on disk and review. Review the reputation of the remote IP or domain in question." . "MITRE" . "MITRE" . "Reference - CAR-2021-05-006: CertUtil Download With URLCache and Split Arguments - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2021-05-007/"^^ . "CAR-2021-05-007: CertUtil Download With VerifyCtl and Split Arguments" . "Certutil.exe may download a file from a remote destination using -VerifyCtl. This behavior does require a URL to be passed on the command-line. In addition, -f (force) and -split (Split embedded ASN.1 elements, and save to files) will be used. It is not entirely common for certutil.exe to contact public IP space. \\ During triage, capture any files on disk and review. Review the reputation of the remote IP or domain in question. Using -VerifyCtl, the file will either be written to the current working directory or %APPDATA%\\..\\LocalLow\\Microsoft\\CryptnetUrlCache\\Content\\." . "Reference - CAR-2021-05-007: CertUtil Download With VerifyCtl and Split Arguments - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2021-05-008/"^^ . "CAR-2021-05-008: Certutil exe certificate extraction" . "This search looks for arguments to certutil.exe indicating the manipulation or extraction of Certificate. This certificate can then be used to sign new authentication tokens specially inside Federated environments such as Windows ADFS." . "MITRE" . "MITRE" . "Reference - CAR-2021-05-008: Certutil exe certificate extraction - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2021-05-009/"^^ . "CAR-2021-05-009: CertUtil With Decode Argument" . "CertUtil.exe may be used to encode and decode a file, including PE and script code. Encoding will convert a file to base64 with -----BEGIN CERTIFICATE----- and -----END CERTIFICATE----- tags. Malicious usage will include decoding a encoded file that was downloaded. Once decoded, it will be loaded by a parallel process. Note that there are two additional command switches that may be used - encodehex and decodehex. Similarly, the file will be encoded in HEX and later decoded for further execution. During triage, identify the source of the file being decoded. Review its contents or execution behavior for further analysis." . "MITRE" . "MITRE" . "Reference - CAR-2021-05-009: CertUtil With Decode Argument - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2021-05-010/"^^ . "CAR-2021-05-010: Create local admin accounts using net exe" . "This search looks for the creation of local administrator accounts using net.exe." . "MITRE" . "MITRE" . "Reference - CAR-2021-05-010: Create local admin accounts using net exe - MITRE" . . . . "https://car.mitre.org/analytics/CAR-2021-05-011/"^^ . "CAR-2021-05-011: Create Remote Thread into LSASS" . "Actors may create a remote thread into the LSASS service as part of a workflow to dump credentials." . "MITRE" . "MITRE" . "Reference - CAR-2021-05-011: Create Remote Thread into LSASS - MITRE" . . . . "https://patents.google.com/patent/US20040060046A1"^^ . "Computing apparatus with automatic integrity reference generation and maintenance" . "An apparatus is equipped to automatically update one or more integrity references of a software entity, when the software entity is installed onto the apparatus. The apparatus is further equipped to periodically determine whether the integrity of the apparatus has been compromised based at least in part on the one or more integrity references of the software entity that are automatically updated during installation of the software entity." . "Thomas Good, Robert DiFalco, Gene Kim" . "" . "Tripwire, Inc." . "Reference - Computing apparatus with automatic integrity reference generation and maintenance - Tripwire, Inc." . . . . "https://patents.google.com/patent/US20070028110A1"^^ . "Content extractor and analysis system" . "A security system provides a defense from known and unknown viruses, worms, spyware, hackers, and unwanted software. The system can implement centralized policies that allow an administrator to approve, block, quarantine, and log file activities. The system can extract content of interest from a file container, repackage the content of interest as another valid file type, perform hashes on the content of interest, associate the hash of the container with the hash of the repackaged content, transfer the repackaged content, and store the hash with other security-related information." . "Todd Brennan" . "" . "Bit 9 Inc, Carbon Black Inc" . "Reference - Content extractor and analysis system - Bit 9 Inc, Carbon Black Inc" . . . . "https://ieeexplore.ieee.org/document/491588?reload=true&arnumber=491588"^^ . "Continuous authentication by analysis of keyboard typing characteristics" . "This paper describes a simple, software based keyboard monitoring system for the IBM PC for the continuous analysis of the typing characteristics of the user for the purpose of continuous authentication. By exploiting the electrical characteristics of the PC keyboard interface together with modifications to the internal system timer, very accurate measurements can be made of keystroke interval and duration, including measurements of rollover. Rollover patterns, particularly when typing common diphthongs, can be highly characteristic of individual users and provide quite an accurate indication of the users identity.\nPublished in: European Convention on Security and Detection, 1995." . "S.J. Shepherd" . "" . "Bradford Univ., UK" . "Reference - Continuous authentication by analysis of keyboard typing characteristics - Bradford Univ., UK" . . . . "https://patents.google.com/patent/US20170134423A1"^^ . "Decoy and deceptive data object technology" . "A computer implemented method of detecting unauthorized access to a protected network by monitoring a dynamically updated deception environment, comprising launching, on one or more decoy endpoints, one or more decoy operating system (OS) managing one or more of a plurality of deception applications mapping a plurality of applications executed in a protected network, updating dynamically a usage indication for a plurality of deception data objects deployed in the protected network to emulate usage of the plurality of deception data objects for accessing the deception application(s) wherein the plurality of deception data objects are configured to trigger an interaction with the deception application(s) when used, detecting usage of data contained in the deception data object(s) by monitoring the interaction and identifying one or more potential unauthorized operations based on analysis of the detection.\n\nIn order to convince the potential attacker that the deception environment is the real (valid) processing environment and/or part thereof, the campaign manager may construct the false identity according to the public information of the certain user that may typically be available to the potential attacker. By exposing the real (public) information of the certain user to the potential attacker, the false identity may seem consistent and legitimate to the potential attacker. For example, the campaign manager may create a false account, for example, a Facebook account of the certain user that includes the same public information that is publicly available to other Facebook users from the real (genuine) Facebook account of the certain user. The fake company account may include information specific to the role and/or job title of certain user within the company, for example, a programmer, an accountant, an IT person and/or the like." . "Dean Sysman, Gadi Evron, Imri Goldberg, Itamar Sher, Shmuel Ur" . "" . "Cymmetria, Inc." . "Reference - Decoy and deceptive data object technology - Cymmetria, Inc." . . . . "https://patents.google.com/patent/US9921860B1"^^ . "Isolation of applications within a virtual machine" . "Approaches for launching an application within a virtual machine. In response to receiving a request to launch an application, a device instantiates, without human intervention and based on a policy, a virtual machine in which the application is to be launched. The policy determines which resources of a device, such as a mobile device or computer system, are accessible to the virtual machine. The policy may, but need not, determine whether the virtual machine has access to a type of resource which obligates the user of the device to make a monetary payment for the user of the resource." . "Gaurav Banga, Sergei Vorobiev, Deepak Khajuria, Vikram Kapoor, Ian Pratt, Simon Crosby, Adrian Taylor" . "" . "Bromium, Inc." . "Reference - Isolation of applications within a virtual machine - Bromium, Inc." . . . . "https://patents.google.com/patent/WO2017187379A1"^^ . "Supply chain cyber-deception" . "A computer implemented method of detecting unauthorized access to a protected network from external endpoints, comprising monitoring, at a protected network, communication with one or more external endpoints using one or more access clients to access one or more of a plurality of resources of the protected networked, where one or more deception resources created in the protected network map one or more of the plurality of resources, detecting usage of data contained in one or more of a plurality of deception data objects deployed in the one or more access clients by monitoring an interaction triggered by one or more of the deception data objects with the one or more deception resources when used and identifying one or more potential unauthorized operations based on analysis of the detection." . "Gadi EVRON; Dean SYSMAN; Imri Goldberg; Shmuel Ur" . "" . "Cymmetria, Inc." . "Reference - Supply chain cyber-deception - Cymmetria, Inc." . . . . . . . . "https://patents.google.com/patent/US20190034641A1"^^ . "System, method, and computer program product for detecting and assessing security risks in a network" . "The present disclosure is directed to a system, method, and computer program for detecting and assessing security risks in an enterprise's computer network. A behavior model is built for a user in the network based on the user's interactions with the network, wherein a behavior model for a user indicates client device(s), server(s), and resources used by the user. The user's behavior during a period of time is compared to the user's behavior model. A risk assessment is calculated for the period of time based at least in part on the comparison between the user's behavior and the user's behavior model, wherein any one of certain anomalies between the user's behavior and the user's behavior model increase the risk assessment." . "Sylvain Gil; Domingo Mihovilovic; Nir Polak; Magnus Stensmo; Sing Yip" . "This patent describes calculating a risk score to detect anomalies in user activity based on comparing a user's current session with a user behavior model. The user behavior model is comprised of a number of histograms including:\n\n* client devices from which the user logs in\n* servers accessed\n* data accessed\n* applications accessed\n* session duration\n* logon time of day\n* logon day of week\n* geo - location of logon origination\n\nThe system has an initial training period with x number of days (e. g., 90 days) in which session data is recorded in behavior models before behavior analysis begins.The histograms are then used to determine anomalies between current session activity and a user's behavior model. Values for a histogram category are along one axis and the number of times the value is received for the category is along another axis. If a data point value associated with the current user session is over an anomaly threshold, an alert is generated." . "Exabeam Inc" . "Reference - System, method, and computer program product for detecting and assessing security risks in a network - Exabeam Inc" . . . . "https://trustedcomputinggroup.org/resource/tpm-library-specification/"^^ . "TPM 2.0 Library Specification" . "This specification defines the Trusted Platform Module (TPM) a device that enables trust in computing\nplatforms in general. It is broken into parts to make the role of each part clear. All parts are required in\norder to constitute a complete standard. For a complete definition of all requirements necessary to build a TPM, the designer will need to use the appropriate platform-specific specification to understand all of the requirements for a TPM in a specific application or make appropriate choices as an implementer. Those wishing to create a TPM need to be aware that this specification does not provide a complete picture of the options and commands necessary to implement a TPM. To implement a TPM the designer needs to refer to the relevant platform-specific specification to understand the options and settings required for a TPM in a specific type of platform or make appropriate choices as an implementer." . "Trusted Computing Group" . "" . "Trusted Computing Group, Incorporated" . "Reference - TPM 2.0 Library Specification - Trusted Computing Group, Incorporated" . . . . "https://www.w3.org/TR/webauthn-2/"^^ . "Web Authentication: An API for accessing Public Key Credentials\nLevel 2" . "This specification defines an API enabling the creation and use of strong, attested, scoped, public key-based credentials by web applications, for the purpose of strongly authenticating users. Conceptually, one or more public key credentials, each scoped to a given WebAuthn Relying Party, are created by and bound to authenticators as requested by the web application. The user agent mediates access to authenticators and their public key credentials in order to preserve user privacy. Authenticators are responsible for ensuring that no operation is performed without user consent. Authenticators provide cryptographic proof of their properties to Relying Parties via attestation. This specification also describes the functional model for WebAuthn conformant authenticators, including their signature and attestation functionality." . "W3C" . "Reference - Web Authentication: An API for accessing Public Key Credentials\nLevel 2" . "Information about what access permissions are granted to particular users for particular objects" . . "Access Control Configuration" . "Access modeling identifies and records the access permissions granted to administrators, users, groups, and systems." . "Access Modeling" . "Access Token" . "Ticket" . "In computer systems, an access token contains the security credentials for a login session and identifies the user, the user's groups, the user's privileges, and, in some cases, a particular application. Typically one may be asked to enter the access token (e.g. 40 random characters) rather than the usual password (it therefore should be kept secret just like a password)." . "Token" . . "Account Locking" . "## How it works\nManagement servers with enterprise policies for account management provide the ability to enable and disable account for given rules. The rules may include specific periods of time (eg. weekend, plant shutdown, leave periods), specific user types or groups, or individual users.\n\n## Considerations\n* Local accounts caches vs centralized account management\n* Single Sign-on\n* Role based vs Attribute based systems\n\n## Examples of account configuration stores\n* Directory Services\n* Active Directory\n* RADIUS\n* LDAP\n* Oracle User Account Management\n* JumpCloud" . "The process of temporarily disabling user accounts on a system or domain." . "Actively collecting PKI certificates by connecting to the server and downloading its server certificates for analysis." . "## How it works\nAnalysis of server certificates using active methods to detect if certificates have been misconfigured or spoofed by using elements of the certificate, certificate authorities and signatures.\n\n### Certificate validity analysis\nThis can be accomplished by verifying the digital signature on certificate.\n\n### Certificate path analysis\nThe client's browser can perform path verification to ensure that the server's certificate contains a valid trust anchor.\n\n### Certificate configuration analysis\nSome browsers can be configured to implement the key-usage extensions contained certificates. This can help to prevent a certificate from being misused.\n\n### Certificate revocation status analysis\nUsing either Certificate Revocation Lists (CRLs) or Online Certificate Status Protocol (OCSP) to determine the revocation status. OCSP Stapling, binding the status with the certificate, helps to mitigate potential delay in status verifications.\n\n## Considerations\n* Management of the PKI across the enterprise typically requires automation to maintain scalability and flexibility\n* If the certificate authority, issuing the certificate, is compromised then all of the certificates issued by the CA are suspect\n* There may be delays associated with updates to certificates\n* Revoked certificates give the appearance of valid certificates until they are published to a trusted revocation service (OCSP or CRL)\n* The revocation service (OCSP or CRL) may be down during our connection and a browser will need to make a decision will need to be made about trusting the connection" . "Active Certificate Analysis" . "Active Logical Link Mapping" . "## How it works\n\nActive logical link mapping establishes awareness of logical links in the network by sending data over the network to gather information about logical connections in the network.\n\nTypically this will be achieved through network telemetry coordinated for network management and monitoring and will use a link layer discovery protocol such as LLDP and the information gathered and aggregated a higher levels using an application protocol such as SNMP. The information may be polled by network management softare or configured once and then pushed from network sensors (or agents.)\n\nAnother means of establishing network connectivity is by means of sendingn traffic through the use of a tool such as traceroute, to determine the logical paths through the network architecture.\n\n## Considerations\n\n* Best practice is to encrypte network monitoring data and require authentication for queries or admin/management functions.\n* Push notifications reduce bandwidth necessary to capture and maintain information if reliable transport is used.\n* Special consideration should be made before using of active scanning in OT networks and OT-safe options chosen where available." . "Active logical link mapping sends and receives network traffic as a means to map the whole data link layer, where the links represent logical data flows rather than physical connection" . "Active physical link mapping sends and receives network traffic as a means to map the physical layer." . "Active Physical Layer Mapping" . "Active Physical Link Mapping" . "## How it works\nNetwork protocols such as RDP, IPMI, SSH, SNMP, VNC, MOSH, NX, TeamViewer, SPICE, PCoIP, and others are used by system administrators to remotely manage servers. Defenders monitor administrative network activity to determine if the use of remote protocols is malicious. Attackers can abuse administrative protocols and leverage them for initial access to various endpoints. For example, an attacker with valid credentials will remotely SSH or RDP into a server and attempt to blend in with existing traffic from system administrators. By monitoring the traffic activity, it is possible to detect when the protocols are behaving differently from a known baseline of system administration activity.\n\n## Considerations\n* Administrative traffic can be encrypted, making network protocol analysis a challenge\n* False alarms can be mitigated by integration with inventory management systems" . "Administrative Network Activity Analysis" . "Detection of unauthorized use of administrative network protocols by analyzing network activity against a baseline." . . "Administrative Network Traffic" . "Administrative network traffic is network traffic related to the remote administration or control of hosts or devices through a standard remote administrative protocol. Remote shells, terminals, RDP, and VNC are examples of these protocols, which are typically only used by administrators." . "Application" . "A program that gives a computer instructions that provide the user with tools to accomplish a task; \"he has tried several different word processing applications\". Distinct from system software that is intrinsically part of the operating system. An application can be made up of executable files, configuration files, shared libraries, etc." . . . "Application Configuration" . . "Information used to configure the parameters and initial settings for an application." . "A database used to hold application configuration data." . "Application Configuration Database" . "Application Configuration Database Record" . "A database record holding information used to configure the parameters and initial settings for an application." . "A file containing Information used to configure the parameters and initial settings for an application.. A plist file is an example of this type of file for macOS. Usually text-based." . "Application Configuration File" . "## How it works\nApplication configuration settings can be configured to limit the permissions on an application or disable certain vulnerable application features.\n\nHardening an application's configuration involves analyzing not only the application but also the environment in which the application is run in for potential vulnerabilities." . "Modifying an application's configuration to reduce its attack surface." . "Application Configuration Hardening" . "Application Hardening makes an executable application more resilient to a class of exploits which either introduce new code or execute unwanted existing code. These techniques may be applied at compile-time or on an application binary." . "## Technique Overview\n\nExploits may, for example, rely on knowledge of addresses in a process's memory, they may alter memory contents, and they may cause a program to use instructions in a way that they were not intended. By, for example, including code that dynamically changes the memory address of data or code on each run, introducing logic to validating the memory contents before certain potentially dangerous flows are executed, or monitoring a program for unusual sequence of instructions, this makes it harder for an attacker to craft a working exploit." . "Process Hardening" . "Application Hardening" . "An application process is an instance of an application computer program that is being executed." . "Application Process" . . "Archive File" . . "An archive file is a file that is composed of one or more computer files along with metadata. Archive files are used to collect multiple data files together into a single file for easier portability and storage, or simply to compress files to use less storage space. Archive files often store directory structures, error detection and correction information, arbitrary comments, and sometimes use built-in encryption." . "Asset Discovery" . "Asset Inventorying" . "Asset inventorying identifies and records the organization's assets and enriches each inventory item with knowledge about their vulnerabilities." . "Asset Inventory" . "Asset vulnerability enumeration enriches inventory items with knowledge identifying their vulnerabilities." . "Asset Vulnerability Enumeration" . . "Audio input devices allow a user to send audio info to a computer for processing, recording, or carrying out commands. Devices such as microphones allow users to speak to the computer in order to record a voice message or navigate software. Aside from recording, audio input devices are also used with speech recognition software." . "Audio Input Device" . . . "Authentication" . "A request-response comprising a user credential presentation to a system and a verification response." . "Removing tokens or credentials from an authentication cache to prevent further user associated account accesses." . "Authentication Cache Invalidation" . "## How it works\nApplications can locally cache user authentication credentials for certain server connections. An application may attempt to use the cached credential for a connection. If the cached credentials exist then the user will not be typically prompted for new credentials.\n\n\n## Considerations\nAre these cached credentials only on the local host? Can they be persisted to the remote server?\n\n## Examples\nWindows Credential Management API" . "Authentication Event Thresholding" . "Collecting authentication events, creating a baseline user profile, and determining whether authentication events are consistent with the baseline profile." . "## How it works\nAuthentication event data is collected (logon information such as device id, time of day, day of week, geo-location, etc.) to create an activity baseline. Then, a threshold is determined either through a manually specified configuration, or a statistical analysis of deviations in historical data. New authentication events are evaluated to determine if a threshold is exceeded. Thresholds can be static or dynamic.\n\n### Actions\nAs a result of the analysis, actions taken could include:\n\n* [Account Locking](/technique/d3f:AccountLocking)\n* Raising an alert\n\n### Example data sources\n * Directory server logs\n * VPN Server logs\n * IDAM Capability logs\n * NAC logs\n * Authentication client logs\n * Kerberos network traffic\n * LDAP network traffic\n\n## Considerations\n\nThis technique covers statistical outliers. Though depending on the complexity or dimensionality of the data considered, outliers may not be obvious to a human analyst reviewing events in simplistic analytic views. If the malicious activity is not statistically different from benign activity, an alert threshold will not be met." . . "Authentication Log" . "A log of authentication events." . . "Authentication Service" . . . "An authentication service is a mechanism, analogous to the use of passwords on time-sharing systems, for the secure authentication of the identity of network clients by servers and vice versa, without presuming the operating system integrity of either (e.g., Kerberos)." . . "Authorization is the function of specifying access rights to resources related to information security and computer security in general and to access control in particular. More formally, \"to authorize\" is to define an access policy. For example, human resources staff is normally authorized to access employee records and this policy is usually formalized as access control rules in a computer system. During operation, the system uses the access control rules to decide whether access requests from (authenticated) consumers shall be approved (granted) or disapproved (rejected). Resources include individual files or an item's data, computer programs, computer devices and functionality provided by computer applications. Examples of consumers are computer users, computer program" . "Authorization" . "Authorization Event Thresholding" . "Collecting authorization events, creating a baseline user profile, and determining whether authorization events are consistent with the baseline profile." . "## How it works\n\nAuthorization event data is collected to create a baseline user profile. Authorization events that deviate from the baseline and exceed a static or dynamic threshold are identified for further action. Authorization events can include successful and failed authorization attempts as well as events related to permissions including viewing, editing, deleting, creating files, databases etc.\n\n## Considerations\n\nDepending on the complexity of the data considered, outliers may not be obvious to a human analyst reviewing events in simplistic analytic views. If malicious activity is not statistically different from benign activity, an alert threshold will not be met." . "Authorization Log" . "A log of authorization events." . . . "Using biological measures in order to authenticate a user." . "Biometric Authentication" . . . "A block device (or block special file) provides buffered access to hardware devices, and provides some abstraction from their specifics.\n\nIEEE Std 1003.1-2017: A file that refers to a device. A block special file is normally distinguished from a character special file by providing access to the device in a manner such that the hardware characteristics of the device are not visible." . "Block Special File" . "Block Device" . "Boot Loader" . "Bootloader" . . "A bootloader is software that is responsible for booting a computer. When a computer is turned off, its software\u200D\u2014\u200Cincluding operating systems, application code, and data\u200D\u2014\u200Cremains stored on non-volatile memory. When the computer is powered on, it typically does not have an operating system or its loader in random-access memory (RAM). The computer first executes a relatively small program stored in read-only memory (ROM, and later EEPROM, NOR flash) along with some needed data, to initialize RAM (especially on x86 systems) to access the nonvolatile device (usually block device, eg NAND flash) or devices from which the operating system programs and data can be loaded into RAM." . "A boot record [boot sector] is the sector of a persistent data storage device (e.g., hard disk, floppy disk, optical disc, etc.) which contains machine code to be loaded into random-access memory (RAM) and then executed by a computer system's built-in firmware (e.g., the BIOS, Das U-Boot, etc.)." . "Boot Sector" . . "Cryptographically authenticating the bootloader software before system boot." . "Bootloader Authentication" . "Secure Boot" . "Network Segmentation" . "Broadcast isolation restricts the number of computers a host can contact on their LAN." . "Broadcast Domain Isolation" . "## How it works\nSoftware Defined Networking, or other network encapsulation technologies intercept host broadcast traffic then route it to a specified destination per a configured policy.\n\nThis can be implemented within hypervisors, networking hardware (WAPs, switches, routers), or virutal hardware.\n\n## Considerations\nThis technique is highly dependent on network infrastructure and networking requirements." . . . "A web browser (commonly referred to as a browser) is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier (URI/URL) and may be a web page, image, video or other piece of content. Hyperlinks present in resources enable users easily to navigate their browsers to related resources. Although browsers are primarily intended to use the World Wide Web, they can also be used to access information provided by web servers in private networks or files in file systems." . "Browser" . "Browser Extension" . "A browser extension is a plug-in that extends the functionality of a web browser in some way. Some extensions are authored using web technologies such as HTML, JavaScript, and CSS. Browser extensions can change the user interface of the web browser without directly affecting viewable content of a web page; for example, by adding a \"toolbar.\"" . . "Byte Sequence Emulation" . "Analyzing sequences of bytes and determining if they likely represent malicious shellcode." . "## How it works\n\nBytes are analyzed as if they are machine code instructions, and such instructions that are a common component of known shellcode are noted, such as stack pivots, reads from a Memory Address Table, and system calls for functions that disable protections or execute code. For example, the x86 instruction `b0 0b: mov $11, %ax`, with no further alterations to the `%ax` register, followed by `cd 80: syscall` executes the system call `execve()` in the Linux kernel, which replaces the current process with another one specified -- this is a common action in shellcode, so this sequence would be flagged.\n\nThis technique detects shellcode despite whether or not it would cause a buffer overflow in the target binary.\n\nIf the sequence of bytes contains a sequence similar to that used in malicious shellcode, the entire byte sequence is flagged and a follow-on technique may be invoked.\n\n## Considerations\n\n### False Negatives\nIf the shellcode instructions are far apart, simple implementations might not detect the shellcode.\n\nDue to the nature of assembly instructions not having a defined start or end, implementations which do not process all start sequences (for example, when they a find byte sequence of interest, continue scanning forwards from the end of it) might not detect the shellcode.\n\nThis technique might not detect more complex or obfuscated instructions. For that purpose, Dynamic Analysis or Emulated File Analysis could assist by analyzing the actual instruction function.\n\nThis technique may not detect self-modifying code. To make it harder for a process to modify itself, Process Segment Execution Prevention should be used, while noting its considerations.\n\nThis technique might not detect malicious shellcode which reuses instructions in the target binary for malicious effect, as memory references in the presumed assembly code are not dereferenced. Dynamic Analysis and Emulated File Analysis, when set up properly to fork from the running target binary, might detect this. Process Segment Execution Prevention combined with Segment Address Offset Randomization frequently makes introduction of shellcode through overwriting a saved return pointer more difficult. Call stack depth analysis might detect excessive reuse of instructions in the target binary. Shadow Stack Frames might detect that a stack frame's return address has changed and Stack Frame Canary Verification might detect that the stack frame's return address was overwritten. Other heuristic methods might detect jump-oriented programming shellcode.\n\nWith inserting code directly, that it is not a buffer overflow, and just some place where code is executed either to a file or a write-what-where, the buffer overflow mitigations do not help. Behavioral analysis could detect this, or proper access control could mitigate this.\n\n### False Positives\n\nByte sequences containing code that is never used as machine code are still analyzed and flagged for anomalies, and [eventually](http://mathforum.org/library/drmath/view/55871.html), it is likely that an attack sequence will arise from the sheer volume of bytes transmitted." . "Shellcode Transmission Detection" . "In computer science, a call stack is a stack data structure that stores information about the active subroutines of a computer program. This kind of stack is also known as an execution stack, program stack, control stack, run-time stack, or machine stack, and is often shortened to just \"the stack\". Although maintenance of the call stack is important for the proper functioning of most software, the details are normally hidden and automatic in high-level programming languages. Many computer instruction sets provide special instructions for manipulating stacks." . . "Call Stack" . . "Certificate" . "In cryptography, a public key certificate, also known as a digital certificate or identity certificate, is an electronic document used to prove the ownership of a public key. The certificate includes information about the key, information about the identity of its owner (called the subject), and the digital signature of an entity that has verified the certificate's contents (called the issuer). If the signature is valid, and the software examining the certificate trusts the issuer, then it can use that key to communicate securely with the certificate's subject. In email encryption, code signing, and e-signature systems, a certificate's subject is typically a person or organization. However, in Transport Layer Security (TLS) a certificate's subject is typically a computer or other device, t" . "Public Key Certificate" . "Requiring a digital certificate in order to authenticate a user." . "Certificate-based Authentication" . "## How it works\nCertificate Analysis ensures that the data elements of the certificate are current and anchored in a known trust model. Certificate authorities, revocation lists, and third-party secure logs are used in the analysis. Analysis includes detection of server impersonation, phishing domains, and forged certificates.\n\nTLS certificates are designed to expire to ensure that the cryptographic keys are forced to be changed on a regular basis. The certificates in the trust path also expire and can cause a break in the trust chain. This means that even if a server certificate is updated correctly, intermediate certificates can expire and the trust chain is not maintained. This can cause services to become unavailable." . "Analyzing Public Key Infrastructure certificates to detect if they have been misconfigured or spoofed using both network traffic, certificate fields and third-party logs." . "Certificate Analysis" . . "Certificate File" . "A file containing a digital certificate. In cryptography, a public key certificate (also known as a digital certificate or identity certificate) is an electronic document used to prove the ownership of a public key. The certificate includes information about the key, information about its owner's identity, and the digital signature of an entity that has verified the certificate's contents are correct. If the signature is valid, and the person examining the certificate trusts the signer, then they know they can use that key to communicate with its owner." . "Persisting either a server's X509 certificate or their public key and comparing that to server's presented identity to allow for greater client confidence in the remote server's identity for SSL connections." . "Certificate Pinning" . "## How it works\nPinning allows for a trusted copy of a certificate or public key to be associated with a server and thus reducing the likelihood of frequently visited sites being subjected to man-in-the-middle attacks. Certificates or public keys can be pinned after a trusted connection has been established or the pinning can be preloaded in an application, which is the preferred method for mobile applications.\n\nPinning can take the form of certificate pinning or public key pinning.\n\n## Forms of Pinning\n* Certificate Pinning\nCertificate Pinning (CP) allows for the client to verify the X509 certificate with a preloaded certificate. Typically, this is involves storing a hash of the certificate and using the stored hash for comparison to the hash of the certificate submitted during the SSL handshake.\n\n* Public Key Pinning\nPublic Key Pinning (PKP) requires the extraction of a public key from server's certificate. The stored public key is compared to the server's presented public key. A public key is expected to rotate less frequently than an X509 certificate and is generally favored over certificate pinning.\n\nAn extension of PKP is Subject Public Key Information Pinning (SPKI) includes public key pinning plus additional information for SSL connections. The additional information can include preferred algorithms.\n\n## Considerations\n\n* With pinned certificates whenever a server updates its certificate, the pinned certificates will also need to be updated\n* With pinned public keys the extracted key may be subject to key refresh policies but much less frequently\n* Servers can become unavailable if pinned objects are set and not updated with the rotated identities. This may require a pinning strategy to be developed.\n* The application of this technique within web browser applications has been [deprecated](https://developer.mozilla.org/en-US/docs/Web/HTTP/Public_Key_Pinning) by popular web browser developers. They now favor certificate analysis via public certificate transparency logs, and the EXPECT-CT HTTP header." . . . "Certificate Trust Store" . "A certificate truststore is used to store public certificates used to authenticate clients by the server for an SSL connection." . "## How it works\nProfiling request and response payloads across multiple clients to a single server to develop a baseline of their characteristics. May take into account request/response sizes, entropy, frequency, and rhythm. Finally, identify outliers as they may indicate a malicious payload delivery and subsequent server exploitation.\n\n\n## Considerations\n* Collecting metrics to establish a profile can be challenging since user behavior can change easily.\n* Employees may work different hours or inconsistent schedules which will cause false positives.\n* Collection of network activity to generate metrics is a computationally intensive process.\n* Users may log into different workstations which may cause false positives." . "Client-server Payload Profiling" . "Comparing client-server request and response payloads to a baseline profile to identify outliers." . "http://attackguidev.mitre.org/techniques/T1554/ \"Compromise Client Software Binary\"" . "Client Application" . "A client application is software that accesses a service made available by a server. The server is often (but not always) on another computer system, in which case the client accesses the service by way of a network. The term applies to the role that programs or devices play in the client-server model" . . "Clipboard" . . "The clipboard is a buffer that some operating systems provide for short-term storage and transfer within and between application programs. The clipboard is usually temporary and unnamed, and its contents reside in the computer's RAM. The clipboard is sometimes called the paste buffer. Windows, Linux and macOS support a single clipboard transaction. Each cut or copy overwrites the previous contents. Normally, paste operations copy the contents, leaving the contents available in the clipboard for further pasting." . "Cloud Configuration" . "Cloud Configuration Information" . "Information used to configure the services, parameters, and initial settings for a virtual server instance running in a cloud service.." . . "Cloud Instance Metadata" . "Cloud instance metadata is configuration information on the instance and users of the instance. This includes such information as security groups, public ip addresses, and private addresses, public keys configured, and event rotating security keys. User data can contain initialization scripts, variables, passwords, and more." . . . "Cloud Storage" . "Cloud storage is storage held within a computing cloud." . "A user account on a given host is a local user account for a given cloud and specified resources within that cloud." . "Cloud User Account" . . "A code repository is a form of database where code, typically source code, is stored and managed. In revision control systems, a repository is a data structure that stores metadata for a set of files or directory structure. Depending on whether the version control system in use is distributed like (Git or Mercurial) or centralized like (Subversion, CVS, or Perforce), the whole set of information in the repository may be duplicated on every user's system or may be maintained on a single server." . "Code Repository" . "Repository" . "Version Control Repository" . "Collection" . "Collection Technique" . "Network Agent" . "A network agent is software installed on a network node or device that transmits information back to a collector agent or management system. Kinds of network agents include SNMP Agent, IPMI agents, WBEM agents, and many proprietary agents capturing network monitoring and management information." . "Exporter" . "Command" . "In computing, a command is a directive to a computer program acting as an interpreter of some kind, in order to perform a specific task. Most commonly a command is either a directive to some kind of command-line interface, such as a shell, or an event in a graphical user interface triggered by the user selecting an option in a menu." . . "Command And Control" . "Command and Control Technique" . "Command History Log" . . "A log of commands run in an operating system shell." . "d3f:CommandLineInterface" . . "Command History Log File" . "A command history log file is a file containing a command history, which the history of commands run in an operating system shell." . . "In computing, a compiler is a computer program that translates computer code written in one programming language (the source language) into another language (the target language). The name \"compiler\" is primarily used for programs that translate source code from a high-level programming language to a lower level language (e.g., assembly language, object code, or machine code) to create an executable program." . "Compiler" . "Compiler Configuration File" . "A file containing Information used to configure the parameters and initial settings for a compiler." . "Configuration Database" . "Configuration Record" . "Configuration Database Record" . "Configuration Inventory" . "## How it works\n\nThe organization retrieves configuration information through means of SNMP (MIB records), WBEM (CIM records), other protocols, or custom scripts and captures that information in a repository, typically known as a Configuration Management Database (CMDB).\"" . "Configuration inventory identifies and records the configuration of software and hardware and their components throughout the organization." . "A resource used to configure a system including software and hardware." . "Configuration Resource" . "## How it works\nDecoy honeypots are deployed within the enterprise environment that emulate certain services or portions of an OS to attract attackers.\n\n## Considerations\nA connected honeynet provides a tradeoff between emulating certain functionality but not being as sophisticated as an integrated honeynet. The connected honeynet may not provide enough functionality to detect new attack patterns or zero day exploits but could provide enough functionality for specific known vulnerabilities." . "A decoy service, system, or environment, that is connected to the enterprise network, and simulates or emulates certain functionality to the network, without exposing full access to a production system." . "Connected Honeynet" . "## How it works\nConnection Attempt Analysis in multiple ways.\n\n### Monitoring traffic to unallocated IP space\nOne approach looks for failed connection attempts against unallocated IP space. First, network traffic is captured to map out the network to identify network assets as well as unallocated IP space. The map is then used to determine if connection attempts are being made to the unallocated IP space.\n\n### Monitoring for sequentially transmitted traffic\nAnother approach passively inspects network traffic with application protocol analyzers observing network activity characteristics such as volume of packets sent/ received, TCP session attributes, and connection information between hosts (start time, source/destination host, services, etc.). Then using pattern matching to identify traffic which appears to be probing for network hosts.\n\n## Considerations\n\n* Implementations that rely on analysis of unallocated IP address space increase in their complexity with network size and decentralized network infrastructure.\n* Inventory of unallocated IP space should should be continuously updated to mitigate the risk of false positives.\n* IPv6 also introduces challenges including IPv6 traffic bypassing IPv4 specific protection systems (ex. firewalls and IDS) and complexity in managing both IPv6 and IPv4 addresses." . "Connection Attempt Analysis" . "Network Scan Detection" . "Analyzing failed connections in a network to detect unauthorized activity." . "Container Image" . . "A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings.\n\nContainer images become containers at runtime and in the case of Docker containers - images become containers when they run on Docker Engine. Available for both Linux and Windows-based applications, containerized software will always run the same, regardless of the infrastructure. Containers isolate software from its environment and ensure that it works uniformly despite differences for instance between development and staging." . "A d3f:Software which manages and coordinates running one or more d3f:ContainerProcess." . "Container Orchestration Software" . "Container Runtime" . "A software layer between d3f:ContainerProcess and d3f:Kernel which often mediates the invocation of d3f:SystemCall" . "Copy Token" . . . . "System call to create a new file on a file system. Some operating systems implement this functionality as part of their d3f:OpenFile system call." . "Create File" . . "A process spawn refers to a function that loads and executes a new child process.The current process may wait for the child to terminate or may continue to execute asynchronously. Creating a new subprocess requires enough memory in which both the child process and the current program can execute. There is a family of spawn functions in DOS, inherited by Microsoft Windows. There is also a different family of spawn functions in an optional extension of the POSIX standards. Fork-exec is another technique combining two Unix system calls, which can effect a process spawn." . . "Process Spawn" . "Create Process" . . . . "Create Socket" . "A create socket system call creates an endpoint for communication and returns a file descriptor that refers to that endpoint." . . "Threads are an execution model that exists independently from a language, as well as a parallel execution model. They enable a program to control multiple different flows of work that overlap in time." . "Create Thread" . . . "Credential" . . "A credential is a physical/tangible object, a piece of knowledge, or a facet of a person's physical being that enables an individual access to a given physical facility or computer-based information system. Typically, credentials can be something a person knows (such as a number or PIN), something they have (such as an access badge), something they are (such as a biometric feature), something they do (measurable behavioral patterns) or some combination of these items. This is known as multi-factor authentication. The typical credential is an access card or key-fob, and newer software can also turn users' smartphones into access devices." . "Credential Access" . "Credential Access Technique" . "Credential Compromise Scope Analysis" . "## How it works\n\n#### Memory\nCredentials may be stored in memory for a variety of reasons; on Windows, they may be stored in lsass.exe. Once a credential dumper like mimikatz runs and dumps the memory of lsass.exe, the credentials of every account logged on since boot are potentially compromised.\nWhen such an event occurs, this analytic will give the forensic context to identify compromised users. Those users could potentially be used in later events for additional logons.\n\n\n#### Hard disk\nOperating System may cache a certain number of credentials onto the hard disk to use as a source of truth if it cannot contact the credential server. In many versions of Microsoft Windows, the 10 most recent are cached by default; this setting can be changed in the Microsoft Management Console's Local Security Policy: ```Computer Configuration -> Windows Settings -> Local Policy -> Security Options -> Interactive Logon: Number of previous logons to cache -> 0``` Here we are not concerned with the alteration of the credentials but the fact that they might be read. If the attacker has physical access to the machine they are unlikely to be stopped from reading files on the filesystem.\n\"In the event that the domain controller is unavailable Windows will check the last password hashes that has been cached in order to authenticate the user with the system. These password hashes are cached in the following registry setting:\nHKEY_LOCAL_MACHINE\\SECURITY\\Cache\nMimikatz can retrieve these hashes if the following command is executed:\nlsadump::cache\" [1]\n\nThe Registry Hive, HKEY_LOCAL_MACHINE\\SAM, which is stored in the supporting files %systemroot%\\System32\\Config\\{Sam,sam.log,sam.sav}, contains the SAM file.\n\nDC: This is stored in %systemroot%\\ntds\\ntds.dit. (https://www.ultimatewindowssecurity.com/blog/default.aspx?d=10/2017)\n\nSometimes memory, which contains credentials, could get on the hard disk. Like with hiberfil.sys in Windows. Equivalent on Linux\n\n\nIn Linux, an attacker could read the /etc/shadow file.\n\nReading from /proc directory: mimipenguin, many others.\n\n## Considerations\nEffective implementation requires identifying any location that could end up containing credentials, and detecting an method of potential access to a source of credential data.\n\n1. https://medium.com/blue-team/preventing-mimikatz-attacks-ed283e7ebdd5" . "Determining which credentials may have been compromised by analyzing the user logon history of a particular system." . "Credential Eviction" . "Credential Eviction techniques disable or remove compromised credentials from a computer network." . "Credential Hardening techniques modify system or network properties in order to protect system or network/domain credentials." . "Credential Hardening" . "Credential Management, also referred to as a Credential Management System (CMS), is an established form of software that is used for issuing and managing credentials as part of public key infrastructure (PKI)." . . "Credential Management System" . . "Limiting the transmission of a credential to a scoped set of relying parties." . . "Phishing Resistant Authentication" . "Credential Transmission Scoping" . "A custom archive file is an archive file conforming to a custom format; that is, an archive file that does not conform to a common standard." . "Custom Archive File" . "D3FEND Thing" . "D3FEND things are concepts defined in the core D3FEND Framework." . "DNS Whitelisting" . "DNS Allowlisting" . "Permitting only approved domains and their subdomains to be resolved." . "DNS Denylisting" . "## How it works\nRules are implemented that filter DNS queries using criteria such as:\n- Client subnet\n- Type of network protocol used in query\n- Fully qualified domain name (FQDN) of record in the query\n- DNS Server IP address that received the DNS request\n- Type of DNS record being queried\n- Time of day the query is received\n- Size of the response\n\nFor example, a DNS policy can be created for blocking DNS queries for FQDNs that have been identified as unauthorized.\n\n## Considerations\n- Implementation considerations for DNS filtering policies to avoid over-blocking or under-blocking domains.\n- Continuous maintenance of unauthorized domain lists is needed to keep up to date with possible site content changes.\n- File sharing or content delivery networks may require other filtering techniques that are more fine-grained (URL blocking).\n- Access to malicious websites or other network resources directly by IP instead of by DNS record, or after alteration of local DNS hosts file, may not result in DNS network traffic." . "Blocking DNS Network Traffic based on criteria such as IP address, domain name, or DNS query type." . "DNS Blacklisting" . . "DNS Lookup" . "A Domain Name System (DNS) lookup is a record returned from a DNS resolver after querying a DNS name server. Typically considered an A or AAAA record, where a domain name is resolved to an IPv4 or IPv6 address, respectively." . . "RPC network traffic is network traffic related to remote procedure calls between network nodes..This includes only network traffic conforming to a standard RPC protocol; not custom protocols." . "DNS Network Traffic" . "Analysis of domain name metadata, including name and DNS records, to determine whether the domain is likely to resolve to an undesirable host." . "## How it works\nThis technique can be accomplished in a number of ways.\n\n* One example analytic determines whether or not a domain name was generated with an algorithm. Domain generation algorithms (DGAs) are sometimes used to create a domain name automatically that will resolve to C2 infrastructure, without directly coding the domains in question into the malicious code.\n* Another method analyzes information about domains that have been visited, including whether a domain name is longer than a common length, if a dynamic DNS domain was visited, if a fast-flux domain was visited, and if a recently created domain was visited. These factors are used to develop a score and if that score is over a certain threshold, an alert is generated.\n* Collected malware samples can be executed in a virtual environment to identify network domains that are connected to during execution. The network domains are then generated into signatures to identity bad domains for other hosts.\n\nThis technique does not check for content hosted at the domain.\n\n## Considerations\n\n* DNS produces a large amount of traffic which can be resource-intensive to analyze in real time.\n* If a server is compromised, for example, as part of a watering hole attack, but the DNS information pointing to that server is not altered, this technique would not catch such an incident." . "DNS Traffic Analysis" . "Domain Name Analysis" . "Data Dependency" . "Transactional Dependency" . "Data Flow Mapping" . "Data Exchange Mapping" . "Data exchange mapping identifies and models the organization's intended design for the flows of the data types, formats, and volumes between systems at the application layer." . "Information Exchange Mapping" . "Data Discovery" . "Data Inventorying" . "Data inventorying identifies and records the schemas, formats, volumes, and locations of data stored and used on the organization's architecture." . "Data Inventory" . . "A database is an organized collection of data, generally stored and accessed electronically from a computer system. Where databases are more complex they are often developed using formal design and modeling techniques." . "Database" . . "Database File" . "Database Query" . "A specific query expressed in SQL, SPARQL, or similar language against a database." . "Database Query String Analysis" . "Analyzing database queries to detect [SQL Injection](https://capec.mitre.org/data/definitions/66.html)." . "## How it works\n\nSome implementations use software hooks to intercept function calls related to database query operations. Other implementations might intercept or collect network traffic. The database query string is then extracted and analyzed with various methods, for example:\n* Detecting specific administrative SQL commands\n* Anomalous sequences of commands when compared to a statistical baseline.\n* Anomalous commands for a given user role.\n\n## Considerations\n\nSome capabilities sanitize queries before permitting them to be transmitted to the database. This incurs risks such altering data in an undesired way or breaking application functionality." . "Database Server" . "A database server is a server which uses a database application that provides database services to other computer programs or to computers, as defined by the client-server model. Database management systems (DBMSs) frequently provide database-server functionality, and some database management systems (such as MySQL) rely exclusively on the client-server model for database access (while others e.g. SQLite are meant for using as an embedded database). For clarification, a database server is simply a server that maintains services related to clients via database applications." . . "Network Database Resource" . "## How it works\n\nDead code is code that is considered unreachable by normal program execution. Dead code can be created by adding code under a condition that never evaluates to true. Dead code should be removed since this type of code can produce unexpected results, if accidentally or maliciously forced to execute.\n\nDead code identification is typically performed by algorithms that implement program flows analysis looking for unreachable code. The dead code is eliminated by instructing compilers to remove the code through compiler flags, i.e., '-fdce' is used for Dead Code Elimination.\n\n## Considerations\n\nCode can also be deemed unreachable for certain run-time conditions. Different deployed systems and environments may contain some code that is unreachable for the given environment. This technique does not consider run-time conditions for unreachable code." . "Removing unreachable or \"dead code\" from compiled source code." . "Dead Code Elimination" . "0"^^ . "Deceive" . "The deceive tactic is used to advertise, entice, and allow potential attackers access to an observed or controlled environment." . "Trap" . . "Lure" . "Decoy" . . . "Decoy Artifact" . "Decoy Object" . "A decoy is an imitation digital artifact in any sense of a digital artifact, object, or phenomenon that is intended to deceive a cyber attacker's surveillance devices or mislead their evaluation. Examples include fake files, accounts, hosts (honeypots), and network segments (honeynets)." . "A Decoy Environment comprises hosts and networks for the purposes of deceiving an attacker." . "Decoy Environment" . "Honeypot" . "## Technique Overview\n\nSystems in a decoy environment are typically configured so that some detectable means of communication does not have any legitimate business purpose. Any communication via these means should be logged and analyzed to find potential indicators of compromise for a possible past or future attack against other systems." . "A file created for the purposes of deceiving an adversary." . "Decoy File" . "## How it works\nThe decoy file is made available as a local or network resource. Accesses to the file may be monitored. The files may be configurations, documents, executables, or other file types.\n\n\n## Considerations\nProperties of the file such as cryptographic checksums, file creation date, file modified date, file size, file owner etc may be modified to improve the credibility of the file.\n\n## Example\n* A CSV file with decoy user credentials is placed on a system. The system or network is then monitored to detect any accesses to the decoy files." . "## How it works\nDecoy network resources are deployed to web application servers, network file shares, or other network based sharing services.\n\nA \"honeypot\" may serve a variety of decoy network resources.\n\n## Considerations\n\n* Developing a deployment and placement strategy for the decoy network resource.\n* Personnel responsible for creation of decoy networks should consider the potential for resource exhaustion through denial of service attacks.\n\n## Examples\n* Honeypots are typically used to mimic a known system with fake vulnerabilities. This may attract attackers to the honeypot.\n* Decoy accounts are also used to scan for attempted logins. The decoy accounts can provide security analysts with the attacker's potential intents and strategies.\n* Tarpits are used to monitor unallocated IP space for unauthorized network activity." . "Deploying a network resource for the purposes of deceiving an adversary." . "Decoy Network Resource" . "Decoy Object" . "## Technique Overview\nDecoy objects are typically configured with detectable means of communication but do not have any legitimate business purpose. Any communication via or to these objects should be logged and analyzed to find potential indicators of compromise for a possible past or future attack against other systems." . "Lure" . "A Decoy Object is created and deployed for the purposes of deceiving attackers." . "Establishing a fake online identity to misdirect, deceive, and or interact with adversaries." . "## How it works\nA false online identity is created for the purposes of interacting with adversaries in a direct or indirect manner. This includes the associated email addresses, social media accounts, and other online communication profiles.\n\n## Considerations\n* Include phone numbers and online social profiles as well as automatically or manually responding to contact made to the persona to improve realism.\n* Continuous updating and managing the decoy personas and online activity streams to ensure personas do not become stale and outdated." . "Decoy Persona" . "## How it works\nPublicly released media includes press release, videos, or other marketing collateral. The media may include URLs, points of contact, or other identifiers to entice interaction from adversaries.\n\n## Considerations\n* Information used in decoy public released media must contain enough realism to deceive and provide interaction from adversaries.\n* Continuous development, creation, and distribution of media and identifiers are needed to ensure adversary interaction continues over time.\n* Decoy public releases could be placed on platforms with different degrees of ownership, including entirely enterprise-owned infrastructure, IaaS, and SaaS (including social applications). Platforms that are not entirely enterprise-owned may be more likely to gather information" . "Decoy Public Release" . "Issuing publicly released media to deceive adversaries." . "An authentication token created for the purposes of deceiving an adversary." . "Decoy Session Token" . "## How it works\nUsage of decoy session tokens may be monitored to track attacker behavior or otherwise control the beliefs of the attacker.\n\n## Considerations\n* Interaction and activity with the decoy session token must be constantly monitored and analyzed to detect unauthorized activity.\n* Session tokens are typically short-lived and therefore the decoy must be continuously updated to provide the appearance of it being used in the production environment.\n* Automated tools can assist with maintenance and updates by automatically adjusting the decoy session token and environment to mimic the production environment." . "Decoy User Credential" . "A Credential created for the purpose of deceiving an adversary." . "## How it works\nA detection analytic is developed to determine when a user uses decoy credentials. Subsequent actions by that user may be monitored or controlled by the defender.\n\nA credential may be:\n * Domain username and password\n * Local system username and password\n\n## Considerations\n* Decoy credentials should be integrated with a larger decoy environment to ensure that when decoy credentials are compromised, the credentials are used to interact with a decoy asset that is being monitored.\n* Continuous maintenance and updates are needed to ensure the legitimacy of the larger decoy environment and specifically the assets that utilize the decoy credentials." . "Default accounts are those that are built-into an OS, such as the Guest or Administrator accounts on Windows systems or default factory/provider set accounts on other types of systems, software, or devices." . . "Default User Account" . "Defense Evasion" . "Defense Evasion Technique" . "Technical Security Control" . "Defensive Capability Feature" . "A method which makes a computer system more difficult to attack." . "Defensive Technique" . "Countermeasure Technique" . . "A dependency is the relationship of relying on or being controlled by someone or something else. This class reifies dependencies that correspond to the object property depends-on." . "Dependency" . "http://wordnet-rdf.princeton.edu/id/14024833-n" . "https://www.cisa.gov/what-are-dependencies" . "The detect tactic is used to identify adversary access to or unauthorized activity on computer networks." . "Detect" . "0"^^ . . "Digital Artifact" . "Digital Asset" . "An information-bearing artifact (object) that is, or is encoded to be used with, a digital computer system. This concept is broad to include the literal instances of an artifact, or an implicit summarization of changes to or properties of other artifacts." . "https://www.iso.org/obp/ui/#iso:std:iso-iec:19770:-1:ed-3:v1:en" . . "A digital system is a group of interacting or interrelated digital artifacts that act according to a set of rules to form a unified whole. A digital system, surrounded and influenced by its environment, is described by its boundaries, structure and purpose and expressed in its functioning. Systems are the subjects of study of systems theory." . "Digital System" . . . "Directory" . "In computing, a directory is a file system cataloging structure which contains references to other computer files, and possibly other directories. On many computers, directories are known as folders, or drawers to provide some relevancy to a workbench or the traditional office file cabinet." . "In computing, directory service or name service maps the names of network resources to their respective network addresses. It is a shared information infrastructure for locating, managing, administering and organizing everyday items and network resources, which can include volumes, folders, files, printers, users, groups, devices, telephone numbers and other objects. A directory service is a critical component of a network operating system. A directory server or name server is a server which provides such a service. Each resource on the network is considered an object by the directory server. Information about a particular resource is stored as a collection of attributes associated with that resource or object." . "Directory Service" . . "Discovery" . "Discovery Technique" . "Encrypting a hard disk partition to prevent cleartext access to a file system." . "Disk Encryption" . "Display Adapter" . . "Display Card" . "Graphics Adapter" . "A graphics card (also called a display card, video card, display adapter, or graphics adapter) is an expansion card which generates a feed of output images to a display device (such as a computer monitor). Frequently, these are advertised as discrete or dedicated graphics cards, emphasizing the distinction between these and integrated graphics. At the core of both is the graphics processing unit (GPU), which is the main part that does the actual computations, but should not be confused with the video card as a whole, although \"GPU\" is often used to refer to video cards." . "Video Card" . "Display Device Driver" . . . "A device driver for a display adapter." . . "A display server or window server is a program whose primary task is to coordinate the input and output of its clients to and from the rest of the operating system, the hardware, and each other. The display server communicates with its clients over the display server protocol, a communications protocol, which can be network-transparent or simply network-capable. The display server is a key component in any graphical user interface, specifically the windowing system." . "Display Server" . "Window Server" . . "Document File" . "A document is a written, drawn, presented or recorded representation of thoughts. An electronic document file is usually used to describe a primarily textual file, along with its structure and design, such as fonts, colors and additional images." . "Monitoring the existence of or changes to Domain User Accounts." . "Domain Account Monitoring" . "Domain Name" . "A domain name is an identification string that defines a realm of administrative autonomy, authority or control within the Internet. Domain names are formed by the rules and procedures of the Domain Name System (DNS). Any name registered in the DNS is a domain name.Domain names are used in various networking contexts and application-specific naming and addressing purposes. In general, a domain name represents an Internet Protocol (IP) resource, such as a personal computer used to access the Internet, a server computer hosting a web site, or the web site itself or any other service communicated via the Internet. In 2015, 294 million domain names had been registered." . "Domain Name Reputation Analysis" . "Analyzing the reputation of a domain name." . "Domain Registration" . "Domain Name Registration Data" . "A domain registration, or domain name registration data, is the relevant registration data from Internet resources such as domain names, IP addresses, and autonomous system numbers. Registration data is typically retrieved by means of either the Registration Data Access Protocol (RDAP) or its predecessor, the WHOIS protocol." . . . "Domain Trust Policy" . "Restricting inter-domain trust by modifying domain configuration." . . "Domain User Account" . "A domain user account in Microsoft Windows (2000) defines that user's access to a logical group of network objects (computers, users, devices) that share the same Active Directory databases; that is, a user's access to a domain." . "Ensuring the integrity of drivers loaded during initialization of the operating system." . "Driver Load Integrity Checking" . "## How it works\nThis technique can be accomplished in a number of ways:\n\n* A kernel level security agent installed on a host machine ensures that the driver associated with the agent is first in the initialization order. A dependent DLL associated with the driver is configured to be processed before other dependent DLLs and executes a number of operations to ensure the driver associated with the security agent is initialized first.\n\n* Kernel components can be signed by a certificate obtained by a third party to verify the source of the component and whether it has been modified. When signed, the component will include a signature block implemented as a hash value of the component header and can also include a certificate chain. The signature and certificate data are typically added before the kernel component is distributed to the public.\n\n\n## Considerations\n\n* The private keys to sign certificates as reputable companies have been stolen in the past -- in cases such as where certificates from Adobe, Realtek, and JMicron have been used to sign malicious executables. (Source: https://resources.infosecinstitute.com/cybercrime-exploits-digital-certificates/#gref)\n\n* Trusted Root Certificate Authorities have been compromised, yielding the ability to use the compromised keys to generate certificates with an arbitrary company name.\n\n* It may not be difficult for an attacker to start an organization which can obtain a signed certificate.\n\n* A root certificate authority (CA) whose certificate is trusted in the verification logic could generate incorrect certificates, if they are lax or have ulterior motives." . "Dynamic Analysis" . "Executing or opening a file in a synthetic \"sandbox\" environment to determine if the file is a malicious program or if the file exploits another program such as a document reader." . "Malware Sandbox" . "## How it works\nAnalyzing the interaction of a piece of code with a system while the code is being executed in a controlled environment such as a sandbox, virtual machine, or simulator. This exposes the natural behavior of the piece of code without requiring the code to be disassembled.\n\n## Considerations\n * Malware often detects a fake environment, then changes its behavior accordingly. For example, it could detect that the system clock is being sped up in an effort to get it to execute commands that it would normally only execute at a later time, or that the hardware manufacturer of the machine is a virtualization provider.\n * Malware can attempt to determine if it is being debugged, and change its behavior accordingly.\n * For maximum fidelity, the simulated and real environments should be as similar as possible because the malware could perform differently in different environments.\n * Sometimes the malware behavior is triggered only under certain conditions (on a specific system date, after a certain time, or after it is sent a specific command) and can't be detected through a short execution in a virtual environment.\n\n## Implementations\n* [Cuckoo Sandbox](https://cuckoosandbox.org)" . "Malware Detonation" . "An email, or email message, is a document that is sent between computer users across computer networks." . . "Email" . "An email attachment is a computer file sent along with an email message. One or more files can be attached to any email message, and be sent along with it to the recipient. This is typically used as a simple method to share documents and images." . . "Email Attachment" . "A configuration of an email application which is used to apply logical or data processing functions to data processed by the email application." . "Email Rule" . "Emulated File Analysis" . "Emulating instructions in a file looking for specific patterns." . "Enclave" . "Network Enclave" . . "Network enclaves consist of standalone assets that do not interact with other information systems or networks. A major difference between a DMZ or demilitarized zone and a network enclave is a DMZ allows inbound and outbound traffic access, where firewall boundaries are traversed. In an enclave, firewall boundaries are not traversed. Enclave protection tools can be used to provide protection within specific security domains. These mechanisms are installed as part of an Intranet to connect networks that have similar security requirements." . "A credential that is encrypted." . "Encrypted Credential" . "Encrypted Tunnels" . "Encrypted encapsulation of routable network traffic." . "Monitoring the security status of an endpoint by sending periodic messages with health status, where absence of a response may indicate that the endpoint has been compromised." . "Endpoint Health Telemetry" . "Endpoint Health Beacon" . "## How it works\nEndpoints are configured to periodically generate and transmit a secure heartbeat that is delivered on a configured schedule and provides endpoint status information. Status information can include software details (version, configuration, etc), endpoint identification (MAC, IP address, machine ID) or other hardware/software configuration information. Interruption of the heartbeat can signal that the endpoint has been compromised.\n\n## Considerations\n* Security of heartbeat messages to ensure message integrity\n* Disappearance of the heartbeat could simply mean that the endpoint is powered off or intentionally disconnected from the network. Therefore other criteria may need to be used to accurately detect endpoint compromise.\n* Attacker presence on the machine may leave the heartbeat intact.\n* An attacker may determine the format of the heartbeat and continue to send it even after the machine is compromised." . "Endpoint Sensor" . . "Event Log" . "Event logs record events taking place in the execution of a system in order to provide an audit trail that can be used to understand the activity of the system and to diagnose problems. They are essential to understand the activities of complex systems, particularly in the case of applications with little user interaction (such as server applications)." . "0"^^ . "The eviction tactic is used to remove an adversary from a computer network." . "Evict" . "Exception Handler Pointer Validation" . "## How It Works\nWhen a process encounters an exception, it calls an exception handler to deal with the exception. The method by which this exception handler is determined varies by the operating system. The exception handler is called, even if it is the default exception handler to terminate the program and display a message that the program stopped working. In the case that no valid exception handler is found, the program would fail to proceed as normal and could be programmed to terminate.\n\nIn Windows, the address of the exception registration record is stored at the very start of the the Thread Information Block; the GS register points to this structure.\n\nThe exception registration record contains two pointers: a pointer to the next exception registration record should this handler fail to handle the exception, and a pointer to the handler.\n\nA buffer overflow can overwrite the saved return pointer with an invalid location to execute memory; this often triggers the exception handler chain, which could also be corrupted by the buffer overflow. Although Process Exception Handler Validation does not make sure that the exception handler pointer or the code at the exception handler was unaltered, or that the exception handler code is secure, this technique does ensure that the pointer is at least an exception handler that could be called by the program.\n\nWith Process Exception Handler Validation, before the handler is called, it checks the exception handler against a source of valid exception handlers. If the requested handler is not in this list, other techniques such as those in Process Eviction might be invoked, such as Process Termination to end the current process, or Executable Blacklisting to blacklist the potentially vulnerable or malfunctioning executable.\n\n### Runtime valid exception handler source generation\nThe source of valid exception handlers could be generated at runtime, with the risk of the information that is used to determine the validity of exception handlers being compromised.\n\n### Compile-time\nThe source of valid exception handlers could also be generated at compile time or as a binary patch. Given the source code, it would be rather straightforward to find the exceptions, as they are pointed in the catch statement of a try-catch clause and the compiler must already generate the code to call exceptions from this.\n\n## Considerations\nIf the program file can be altered by the attacker, then the security could be bypassed by replacing it with any desired program, without even bypassing SEH.\n\nIf the attacker was already able to overwrite the code for a valid exception handler via other functionality in the program, this defense would not prevent arbitrary code execution.\nIf an exception handler recognized as valid is vulnerable, it would be executed anyway.\n\nSafeSEH might be applied only to some executable files or modules, allowing an attacker to call any piece of code as an exception handler in the unprotected modules." . "Validates that a referenced exception handler pointer is a valid exception handler." . "Exception Handler Validation" . "Executable Allowlisting" . "Using a digital signature to authenticate a file before opening." . "File Signature Authentication" . "## How it works\n\nThis technique is generic and there are numerous ways to compute and authenticate digital signatures.\nA digital certificate is generated from a private/public key pair issued by a certificate authority (CA). A hash of the file is encrypted using the private key. When the file is downloaded by another user, the user's system uses the public key to decrypt the hash and a new hash is created of the downloaded file. The hash decrypted by the public key is compared to the new hash and if there is a mismatch, further techniques, such as file deletion, file quarantine, or **Executable Blacklisting** may be invoked.\n\nThis technique may be invoked when deciding whether to execute a file.\n\n## Considerations\n\nOrganizations which download or create high volumes of software make management complex, in particular engineering or scientific organizations." . "Executable Binary" . . "An executable binary contains machine code instructions for a physical CPU. D3FEND also considers byte code for a virtual machine to be binary code. This is in contrast to executable scripts written in a scripting language." . "Executable Blacklisting" . "Blocking the execution of files on a host in accordance with defined application policy rules." . "Executable Denylisting" . "## How it works\n\n#### Criteria\n\nA policy-enforcing application can register an application for denylisting based on conditions including the following:\n\n* File attributes\n * file name\n * file path\n * file hash\n * file publisher, as obtained from the digital signature\n * permissions of the file\n* File malware scan (eg. Windows SmartScreen)\n* User-File combination\n\nThis may be done to prevent execution of applications which are:\n\n* an old version with known vulnerabilities\n* without a valid license, which could cause legal issues\n* in a directory that is accessible to low-privileged users, that could be accessed by a malware dropper\n* known trojan horse programs\n* too open in their permissions, possibly set to run as a user other than the originator or allowing execution when they should not be\n* a match to the hash of other known malware\n* are detected as undesirable based on a file scan runtime behavior\n\nSystem administrators will customize the rules for the given environment.\n\n#### Backend\n\nThe policy-enforcing program may work by running in kernel mode, and [intercepting] [system calls which execute a process].\n\n## Considerations\n\n* If denylisting is done by filename, filepath, or hash, these mechanisms may be a worthy first line of defense and detection, but could still be evaded by an attacker.\n* Continuous management is needed to keep the denylist up to date, whether it is based on hash, publisher, behavior, or any other digital artifact.\n* Although denylists based on attributes such as file path and virus scan could defend against some threats which they have not been explicitly coded to block, denylists may not provide protection from new, unknown, or zero day attacks.\n\n\n## Examples\nOn a Windows machine the Windows Defender Application Control (WDAC) policy enforcement is run in the kernel and allows for restricting applications." . . "In computing, executable code or an executable file or executable program, sometimes simply an executable, causes a computer \"to perform indicated tasks according to encoded instructions,\" as opposed to a data file that must be parsed by a program to be meaningful. These instructions are traditionally machine code instructions for a physical CPU. However, in a more general sense, a file containing instructions (such as bytecode) for a software interpreter may also be considered executable; even a scripting language source file may therefore be considered executable in this sense. The exact interpretation depends upon the use; while the term often refers only to machine code files, in the context of protection against computer viruses all files which cause potentially hazardous instruction" . "Executable" . "Executable File" . "Executable Script" . . "An executable script is written in a scripting language and interpreted at run time. This is in contrast with an executable binary, which contains machine code instructions for a physical CPU or byte code for a virtual machine." . "Execution" . "Execution Isolation techniques prevent application processes from accessing non-essential system resources, such as memory, devices, or files." . "Execution Isolation" . "Execution Technique" . "Exfiltration" . "Exfiltration Technique" . "File" . "A file maintained in computer-readable form." . . "File Access Pattern Analysis" . "Analyzing the files accessed by a process to identify unauthorized activity." . "## How it works\nFile modifying malware such as wipers and ransomware are detected by identifying file access patterns that are associated with a malicious process. Examples of file access patterns include accessing a large number of files, accessing multiple file types, files being accessed located in multiple locations in a directory, and copying a file and encrypting the contents of that file into a copy.\n\n## Considerations\nCertain file access actions may not be statistically different from authorized activity." . "File Analysis" . "File Analysis is an analytic process to determine a file's status. For example: virus, trojan, benign, malicious, trusted, unauthorized, sensitive, etc." . "## Technique Overview\nSome techniques use file signatures or file metadata to compare against historical collections of malware. Files may also be compared against a source of ground truth such as cryptographic signatures. Examining files for potential malware using pattern matching against file contents/file behavior. Binary code may be dissembled and analyzed for predictive malware behavior, such as API call signatures. Analysis might occur within a protected environment such as a sandbox or live system." . "File Carving" . "Identifying and extracting files from network application protocols through the use of network stream reassembly software." . "## How it works\nProtocol stream reassembly software recreates a directional byte stream by analyzing captured network packets. Once the stream is reassembled pattern matching is applied to determine if it contains a file of interest. Files of interest range from executable, archive, or document file formats. Once the file is captured, it is then processed with standard File Analysis Techniques. Example network protocols include HTTP, SMTP, FTP, HTTP/2, and TLS/HTTP/Dropbox.\n\n## Considerations\n- This is an error prone process due to the intricacies of network protocols and network packet capture. For example reassembly may be done in real-time or streaming fashion, or packets may be written to disk, then bulk processed. The packets may arrive out of order, with fragmentation, duplicates, or re-transmissions. The reassembly software must compensate for the imperfect packet stream in order to recreate the well formed file which was transmitted.\n- File type identification can be a difficult process which can be exploited by adversaries." . "File Signatures" . "## How it works\nRules, often called signatures, are used for both generic and targeted malware detection. The rules are usually expressed in a domain specific language (DSL), then deployed to software that scans files for matches. The rules are developed and broadly distributed by commercial vendors, or they are developed and deployed by enterprise security teams to address highly targeted or custom malware. Conceptually, there are public and private rule sets. Both leverage the same technology, but they are intended to detect different types of cyber adversaries.\n\n## Considerations\n* Patterns expressed in the DSLs range in their complexity. Some scanning engines support file parsing and normalization for high fidelity matching, others support only simple regular expression matching against raw file data. Engineers must make a trade-off in terms of:\n * The fidelity of the matching capabilities in order to balance high recall with avoiding false positives,\n * The computational load for scanning, and\n * The resilience of the engine to deal with adversarial content presented in different forms-- content which in some cases is designed to exploit or defeat the scanning engines.\n * Signature libraries can become large over time and impact scanning performance.\n * Some vendors who sell signatures have to delete old signatures over time.\n * Simple signatures against raw content cannot match against encoded, encrypted, or sufficiently obfuscated content.\n\n## Implementations\n * YARA\n * ClamAV" . "File Content Signatures" . "Employing a pattern matching rule language to analyze files." . "File Content Rules" . "Analyzing the properties of file create system call invocations." . "File Creation Analysis" . "Encrypting a file using a cryptographic key." . "## How it Works\nFiles are encrypted using either a single key for both encryption and decryption or separate keys. Single key encryption is symmetric encryption and using two key distinct keys is asymmetric encryption.\n\n### Symmetric Cryptography\nSymmetric encryption uses the same cryptographic key for both the encryption and decryption a file. Managing keys at scale sometimes uses asymmetric key exchange protocols such as Diffie-Hellman can be used to share the symmetric cryptographic key with the others.\n\n### Asymmetric Cryptography\nAsymmetric encryption is typically accomplished using public and private key certificates based on the X.509 standard. Files are encrypted using the public key and decrypted using their private key. Asymmetric encryption is typically slower than symmetric encryption and not widely used for large file encryption, but is popular for key wrapping, key exchanges, and digital signatures.\n\n## Considerations\n- Continuous monitoring to ensure private keys are not compromised and the certificate authority (CA) is trusted.\n- Secure transfer of private keys between multiple devices." . "File Encryption" . "File Hash" . "Analyzing the reputation of a file hash." . "File Hash Reputation Analysis" . "Employing file hash comparisons to detect known malware." . "## How it works\nThis technique requires a list of hashes to compare a file against.\n\n## Considerations\nPerformance on large files or very large numbers of files." . "File Hashing" . "A file section is one of the portions of a file in which the file is regarded as divided and where together the file sections constitute the whole file." . "File Section" . . "File Part" . "File System" . "In computing, a file system or filesystem is used to control how data is stored and retrieved. Without a file system, information placed in a storage medium would be one large body of data with no way to tell where one piece of information stops and the next begins. By separating the data into pieces and giving each piece a name, the information is easily isolated and identified. Taking its name from the way paper-based information systems are named, each group of data is called a \"file\". The structure and logic rules used to manage the groups of information and their names is called a \"file system\"." . . "File System Link" . "A file system link associates a name with a file on a file system. Most generally, this may be a direct reference (a hard link) or an indirect one (a soft link)." . . . "Metadata about the files and directories in a file system. For example file name, file length, time modified, group and user ids, and other file attributes." . "File System Metadata" . "File transfer network traffic is network traffic related to file transfers between network nodes..This includes only network traffic conforming to standard file transfer protocols, not custom transfer protocols." . "File Transfer Network Traffic" . "Firmware" . . "In electronic systems and computing, firmware is a type of software that provides control, monitoring and data manipulation of engineered products and systems. Typical examples of devices containing firmware are embedded systems (such as traffic lights, consumer appliances, remote controls and digital watches), computers, computer peripherals, mobile phones, and digital cameras. The firmware contained in these devices provides the low-level control program for the device." . "Firmware Behavior Analysis" . "Analyzing the behavior of embedded code in firmware and looking for anomalous behavior and suspicious activity." . "## How it works\nFirmware behavior analysis provides protections by ensuring that installed firmware has not been tampered with or modified. Firmware analysis applies to mutable firmware and immutable read-only memory (ROMs).\n\nFirmware in deployed network devices is typically not analyzed and monitored for vulnerabilities and thus is subject to potential attacks. This technique makes use of known and measured behavioral attributes, including timing attributes, of analyzed firmware on deployed devices.\n\nA behavioral method that employs known timing measurements may use the timing results from a challenge and response protocol to detect the presence of malware in embedded firmware. Firmware device timing measurements are made, specific to the installed device, and are used in the verifying function.\n\nThe original firmware image is modified by injecting a monitoring software component into the embedded firmware code. The injected software components will allow for a software root of trust, the challenge and response protocol, to be implement in the firmware.\n\nA challenge-response is issued and includes a nonce so that replays are not allowed. The firmware will calculate a checksum over all of memory, including the nonce, and return the result. The verification system will compare the computed checksum and the time it took for the computation of the checksum to determine if the firmware has been modified.\n\n## Considerations\n* The firmware code will need to be modified to include the behavioral monitoring functionality.\n* This technique is sensitive to the device the embedded firmware is hosted on and it is expected that the devices and firmware will need to be profiled and analyzed to determine timing estimation.\n* This technique is not expected to be one hundred percent correct as you would expect in a hardware root of trust solution and may require some tuning." . "Firmware Timing Analysis" . "Monitoring code is injected into firmware for integrity monitoring of firmware and firmware data." . "Firmware Embedded Monitoring Code" . "## How it works\nFirmware in deployed network devices is typically not monitored for malicious changes. This technique provides a method to embed a software security component into the deployed firmware which provides a near real-time monitoring hook. The exception handling code, in the firmware, is typically used to expose any detected vulnerabilities.\n\nThe injected software components provide a feature similar to intrusion detection systems for the firmware by detecting unauthorized modifications of the embedded firmware. The integrity of static code and firmware data are monitored continuously in the hosted devices. Comparisons are made to monitored elements like firmware memory addresses and data segments. Memory pages are scanned and if a modification is detected the software component may lock the page. This will protect subsequent attempted modifications to the firmware. The software component may utilize the exception handling code and thus be able to disclose the exact address of the modified memory.\n\nThe injected software components are inserted during the firmware imaging process. The injected software is assumed to have knowledge of both the embedded code and the current execution state of the host program. The injected software will monitor and alert, in near real-time, on potential suspicious activity. The injected code is run alongside of the embedded code in the host. The injected software operates as an independent entity and is not dependent on the host software.\n\nFinally, this technique may implement other countermeasure techniques as part of their analytical processes. These should be identified by referencing other countermeasure techniques directly as necessary.\n\n## Considerations\n* The firmware code will need to be modified and re-hosted on the device.\n* Exposing monitoring hooks to the injected code may introduce additional risk." . "## How it works\nCryptographic hash values are computed for system and peripheral firmware. The hash values are compared against precomputed hash values for the identified firmware. A hash value mismatch may indicate that the firmware may have been tampered with or updated with a non-current release indicating a misconfiguration for the system.\n\n## Considerations\n* Requires cryptographically computed hash values of firmware\n* Requires storage of precomputed firmware hash values" . "Firmware Verification" . "Cryptographically verifying firmware integrity." . "Forward Resolution Domain Denylisting" . "## How it works\n\nPolicies are created that filter DNS queries using fully qualified domain name (FQDN) of record in the query. A DNS policy can be created for blocking DNS queries from FQDNs that have been identified as unauthorized.\n\n## Considerations\n\nContinuous maintenance of unauthorized domain lists is needed to keep up to date as updates occur." . "Forward Resolution Domain Blacklisting" . "Blocking a lookup based on the query's domain name value." . "Forward Resolution IP Denylisting" . "Blocking a DNS lookup's answer's IP address value." . "Forward Resolution IP Blacklisting" . "## How it works\n\nThis technique prevents a client from learning IP addresses deemed to be potentially malicious, which would have been delivered via forward resolution responses.\n\nResponses to forward resolution requests (that is, requests where a domain is sent and IP(s) are returned) are collected, and the IP address(es) included as a response are examined. If the IP address(es) are in a range included in the blacklist, then the response is dropped and not forwarded to the client.\n\nThe DNS lookup can be blocked by either dropping the network traffic with an inline device, or modifying the value of the response sent by the DNS server. To transparently prevent client applications from hanging on a request, it is common practice to replace malicious values with addresses in the range 127.0.0.0/8 or the address of a honeypot maintained by the network administrators.\n\n## Considerations\n\n* This technique does not prevent the client from contacting the blacklisted IP, only from learning about this IP address via a nameserver lookup request.\n* DNS Response traffic can be transmitted over many different protocols, which presents a challenge to implementing methods to extract all DNS answer IP address value(s).\n * DNS has historically used UDP port 53, with TCP port 53 instead used for responses over 512 bytes or after a lack of response over UDP.\n * Usage of new protocols to provide confidentiality for DNS traffic, such as DoH (DNS over HTTPS) and DoT (DNS over TLS), complicates collection of the IP address(es) in DNS responses. These protocols have often been enabled in browser settings transparently after a browser update, with DNS requests proxied over one of these cryptographic protocols through a specified host.\n* This technique must be implemented logically between the application that receives the response and the server which sent the response.\n * DNS responses sent in an encrypted manner, such as those using DoH or DoT, will require interception of the TLS connections in order to determine the IP address(es) in the response.\n* Replacing the response is not effective in the case that the nameserver uses a technique to provide integrity of its responses, such as DNSSEC for DNS responses." . "Get Open Sockets" . "Get Open Windows" . "Get Running Processes" . "Get Screen Capture" . "https://docs.microsoft.com/en-us/windows/win32/api/winreg/nf-winreg-regopenkeyexa" . "Get System Config Value" . "Get System Network Config Value" . "A system call that gets the system time. For POSIX.1 systems, time() invokes a call to get the system time." . . "Get System Time" . "A type of user account in Microsoft Windows (NT) that has a domain-wide scope.defines that user's access to a logical group of network objects (computers, users, devices) that share the same Active Directory databases; that is, a user's access to the domain." . "Global User Account" . . "Graphical User Interface" . "GUI" . . "A graphical user interface (GUI) is a type of user interface that allows users to interact with electronic devices through graphical icons and visual indicators such as secondary notation, instead of text-based user interfaces, typed command labels or text navigation. GUIs were introduced in reaction to the perceived steep learning curve of command-line interfaces (CLIs), which require commands to be typed on a computer keyboard." . "Group Policy is a feature of the Microsoft Windows NT family of operating systems that controls the working environment of user accounts and computer accounts. Group Policy provides the centralized management and configuration of operating systems, applications, and users' settings in an Active Directory environment. A version of Group Policy called Local Group Policy (\"LGPO\" or \"LocalGPO\") also allows Group Policy Object management on standalone and non-domain computers." . "Group Policy" . "Harden" . "0"^^ . "The harden tactic is used to increase the opportunity cost of computer network exploitation. Hardening differs from Detection in that it generally is conducted before a system is online and operational." . "## How it works\nProcess isolation, in this context, is address space separation controlled by a security function that limits the communication between processes so that one process cannot directly modify the executing code of another process. For example with virtual address space:\n\n* Process A address space is different from process B address space, which prevents process A from writing to process B\n\nHardware process isolation is commonly implemented through Direct Memory Access (DMA) which collaborates with a Memory Management Unit (MMU), or Input-Output Memory Management Unit (IOMMU). These hardware controls are deployed directly on processors to aid hosts or enclaves in process isolation.\n\n* DMA - Direct memory access allows memory access to occur independently of the program currently run by the microprocessor. DMA allows for I/O devices to directly read from and write to memory, or it can be used to efficiently copy blocks of memory. During DMA transfers, the microprocessor can execute an unrelated program.\n* MMU - A memory management unit acts as an access control and is responsible for performing the translation of virtual memory addresses to physical memory addresses. The MMU allocates each process its own virtual memory space.\n* IOMMU - An input-output memory management unit is used to allocate each I/O device its own virtual address space to the underlying physical addresses. IOMMU allows devices that do not support long memory addresses to address the entire memory space.\n\n## Considerations\n* Private hosts may be vulnerable to DMA attack if they have a PCI or PCI Express port that connects attached devices directly to physical address space.\n\n## Implementations:\n * Intel Virtualization Technology for Directed I/O (Intel VT-d)\n * Firecracker" . "Hardware-based Process Isolation" . "Virtualization" . "Preventing one process from writing to the memory space of another process through hardware based address manager implementations." . "Hardware Component Discovery" . "## How it works\nAdministrators collect information on hardware devices such as peripherals, NICs, processors, and memory devices that are components of the computers in their architecture using a variety of administrative and management tools that query for this information. In some cases, where such queries are not supported or provide specific information of interest, an administrator may also collect this information through remote adminstration tools and system commands, either manually or using scripts.\n\n## Considerations\n* Scanning and probing techniques using mapping tools can result in side effects to information technology (IT) and operational technology (OT) systems.\n* An adversary conducting network enumeration may engage in activities that parallel normal hardware inventorying activities, but would require escalating to admin privileges for most of the operations requiting administrative tools\n\n## Examples\n* Bus discovery \n * Admin-scripted PCI Bus inventory using ssh and pciutils\n* Application-layer discovery \n * Simple Network Management Protocol (SNMP) collects MIB information\n * Web-based Enterprise Management (WBEM) collects CIM information\n * Windows Management Instrumentation (WMI)\n * Windows Management Infrastructure (MI)" . "Hardware Component Inventorying" . "Hardware Component Inventory" . "Hardware component inventorying identifies and records the hardware items in the organization's architecture." . "Hardware devices are the physical artifacts that constitute a network or computer system. Hardware devices are the physical parts or components of a computer, such as the monitor, keyboard, computer data storage, hard disk drive (HDD), graphic cards, sound cards, memory (RAM), motherboard, and so on, all of which are tangible physical objects. By contrast, software is instructions that can be stored and run by hardware. Hardware is directed by the software to execute any command or instruction. A combination of hardware and software forms a usable computing system." . . "Hardware Device" . "Hardware Driver" . "Device Driver" . . "In computing, a device driver (commonly referred to simply as a driver) is a computer program that operates or controls a particular type of device that is attached to a computer. A driver provides a software interface to hardware devices, enabling operating systems and other computer programs to access hardware functions without needing to know precise details of the hardware being used. A driver communicates with the device through the computer bus or communications subsystem to which the hardware connects. When a calling program invokes a routine in the driver, the driver issues commands to the device. Once the device sends data back to the driver, the driver may invoke routines in the original calling program. Drivers are hardware dependent and operating-system-specific. They usually provide the interrupt handling required for any necessary asynchronous time-dependent hardware interface." . "Hierarchical Domain Denylisting" . "Blocking the resolution of any subdomain of a specified domain name." . "## How it works\nThis technique is used to block DNS queries from related domains and subdomains that are unauthorized.\n\nHierarchical domain blacklisting considers the blacklisting of second level domains and additional sub-domains and specific hosts for a given query value. A denylist is maintained that contains DNS names and corresponding subdomains, including wildcards, that should be blocked for a given lookup.\n\n## Considerations\n* The denylist of domain names will have to be maintained and will need to be kept up to date\n* Other domains that resolve to the domain of interest for blocking (CNAME, etc).\n* Denylists should have identified maintenance cycles to ensure lists are not stale." . "Hierarchical Domain Blacklisting" . "Blocking DNS queries that are deceptively similar to legitimate domain names." . "Homoglyph Denylisting" . "## How it works\n\nHomoglyph domain blacklisting considers the domain and subdomain structure of a lookup and compares the named components to blacklisted named components. The blacklisted named components are typically crafted modifications of known good domains, e.g., gooogle.com versus google.com. The blacklisted domains typically resemble trusted domains, but have been altered slightly to deceive users.\n\nThe blacklisted named components also include consideration for fonts or Unicode characters that can make certain characters appear very similar (zero vs capital O and the letter l vs the number one). The blacklisted domains under certain fonts will appear to be a trusted domain.\n\n## Considerations\n* Maintaining the currency of the list can be a challenge especially with newly registered domain entries.\n* Blacklists should have identified maintenance cycles to ensure lists are not stale." . "Homoglyph Blacklisting" . "Comparing strings using a variety of techniques to determine if a deceptive or malicious string is being presented to a user." . "Homoglyph Detection" . "## How it works\nA homoglyph, in this context, is a deceptive string or word which looks like a trusted word, but is composed of different characters, for example: goooogle.com versus google.com. This is commonly found in phishing and typo squatting attacks where a human exploiting through a social engineering campaign.\n\n## Considerations\n* In very large environments processing DNS queries can be computationally expensive due to the amount of traffic that is generated\n* Legitimate companies and products use non-dictionary words in their names that could result in many false positives" . "Host" . "Network Host" . . "A host is a computer or other device, typically connected to a computer network. A network host may offer information resources, services, and applications to users or other nodes on the network. A network host is a network node that is assigned a network layer host address. Network hosts that participate in applications that use the client-server model of computing, are classified as server or client systems. Network hosts may also function as nodes in peer-to-peer applications, in which all nodes share and consume resources in an equipotent manner." . "Host-based Firewall" . "A software firewall which controls network inbound and outbound network traffic to the host computer." . "Nodename" . "Hostname" . "In computer networking, a hostname (archaically nodename) is a label that is assigned to a device connected to a computer network and that is used to identify the device in various forms of electronic communication, such as the World Wide Web. Hostnames may be simple names consisting of a single word or phrase, or they may be structured." . . "IO Port Restriction" . "## How It works\n\nSoftware-based restriction uses agent software installed on a computer system. The agent software monitors all IO port system traffic. The agent software is configurable to limit the use of certain devices connected to IO ports. The restriction software can also be configured to limit the access to files and applications on external storage devices connected to IO ports.\n\nHardware-based restriction can also be employed to limit access to IO ports. For example, a hardware USB filter device that is placed between the host system and the external devices can filter IO port connections based on configurable rules. When new devices are connected to the USB filter the type of device is determined. Using an allow list a connection determination is made for the device.\n\nSome implementations detect when a device is connected in order to authorize the connection against a list of approved devices, in some cases by device type. For example, if the device is determined to be a storage device, then the contained files and executables are examined to more accurately identify the device type.\n\nTypes of restrictions that may be applied:\n- Device connection\n- Device command filtering\n- Device file system read or write restrictions\n\n## Considerations\n * Agent software will need to be installed on host systems\n * Configurations for allow/deny for devices and files will need to be maintained" . "Limiting access to computer input/output (IO) ports to restrict unauthorized devices." . "An Internet Protocol address (IP address) is a numerical label assigned to each device connected to a computer network that uses the Internet Protocol for communication.An IP address serves two main functions: host or network interface identification and location addressing. Internet Protocol version 4 (IPv4) defines an IP address as a 32-bit number. However, because of the growth of the Internet and the depletion of available IPv4 addresses, a new version of IP (IPv6), using 128 bits for the IP address, was standardized in 1998. IPv6 deployment has been ongoing since the mid-2000s." . . "IP Address" . "## How it works\nInter process communication enables applications or threads to share data. This can involve one or more computers. Monitoring IPC in your environment can reveal abnormal or malicious activity.\nIPC can occur within a single computer or between multiple computers remotely through network protocols. Thus there are multiple ways to collect and monitor these exchanges between processes. A network protocol analyzer may monitor and parse SMB network traffic to record system activity. A host based monitoring agent may monitor IPC activity contained within a single host to look for deviations from standard usages.\n\n### Examples\n * SMB\n * Zeromq\n * Java RMI API\n\n## Considerations\n* IPC can generate substantial amounts of data, and it may not be feasible to collect all of it.\n* IPC may occur over loopback interfaces or direct memory access granted by the operating system." . "Analyzing standard inter process communication (IPC) protocols to detect deviations from normal protocol activity." . "IPC Analysis" . "IPC Traffic Analysis" . "IP Reputation Analysis" . "Analyzing the reputation of an IP address." . "ID" . "Identifier" . . "An identifier is a name that identifies (that is, labels the identity of) either a unique object or a unique class of objects, where the \"object\" or class may be an idea, physical [countable] object (or class thereof), or physical [noncountable] substance (or class thereof). The abbreviation ID often refers to identity, identification (the process of identifying), or an identifier (that is, an instance of identification). An identifier may be a word, number, letter, symbol, or any combination of those." . "Analyzing identifier artifacts such as IP address, domain names, or URL(I)s." . "Identifier Analysis" . "Identifier Reputation Analysis" . "Analyzing the reputation of an identifier." . "Image Code Segment" . . "An image code segment, also known as a text segment or simply as text, is a portion of an object file that contains executable instructions. The term \"segment\" comes from the memory segment, which is a historical approach to memory management that has been succeeded by paging. When a program is stored in an object file, the code segment is a part of this file; when the loader places a program into memory so that it may be executed, various memory regions are allocated (in particular, as pages), corresponding to both the segments in the object files and to segments only needed at run time. For example, the code segment of an object file is loaded into a corresponding code segment in memory." . "Process Code Segment" . "Process Data Segment" . "An image data segment (often denoted .data) is a portion of an object file that contains initialized static variables, that is, global variables and static local variables. The size of this segment is determined by the size of the values in the program's source code, and does not change at run time. This segmenting of the memory space into discrete blocks with specific tasks carried over into the programming languages of the day and the concept is still widely in use within modern programming languages." . . "Image Data Segment" . "Impact" . "Impact Technique" . "Impersonate User" . "In-memory Password Store" . "A password store held in memory." . "Inbound internet DNS response traffic is DNS response traffic from a host outside a given network initiated on an incoming connection to a host inside that network." . "Inbound Internet DNS Response Traffic" . "Inbound internet mail traffic is network traffic that is: (a) coming from a host outside a given network via an incoming connection to a host inside that same network, and (b) using a standard protocol for email." . "Inbound Internet Mail Traffic" . . "Inbound Internet Network Traffic" . "Inbound internet traffic is network traffic from a host outside a given network initiated on an incoming connection to a host inside that network." . . "Inbound Network Traffic" . "Inbound traffic is network traffic originating from another host (client), to the host of interest (server)." . "Inbound Session Volume Analysis" . "## How it works\nNetwork appliances are configured to alert on certain packets that typically are involved in DoS attacks. Typical packets include ICMP packets and SYN requests that are commonly used to flood networks. A sampling period is used to define a time window in which collected counts of the identified packets can be measured. If the collected number of packets exceeds a predefined limit then an alert is generated.\n\n## Considerations\nScalability as volume of attacks increase; single servers may not have the memory and storage resources to handle high volumes of network traffic." . "Analyzing inbound network session or connection attempt volume." . "Inbound Traffic Filtering" . "## How it works\nInbound Traffic, in this context, is network traffic originating from an untrusted network towards a private host or enclave.\nFor example:\n\n* An untrusted network host connecting to a internal commercial portal, shopping.example.com\n* An external mail server connecting to an internal mail server, mail.example.com\n\nFiltering policies are developed by administrators to meet business requirements and limit connectivity. These policies are implemented on edge devices such as firewalls, routers, and intrusion prevention systems. Examples of filters:\n\n* Blocking incoming traffic from spoofed internally facing IP addresses\n* Blocking specific ports and services from establishing connections\n* Limiting specific IP ranges from connecting to the network\n* Dynamic inbound filtering (Hole punching, STUN, NAT-T)\n\n## Considerations\n* Business requirements typically drive the development of filtering rulesets\n* Protocols using non-standard ports may circumvent filtering technology, which does not detect application protocol based on traffic content\n\n## Implementations\n* OpenWRT (Embedded)\n* Netfilter (Linux)\n* Windows Firewall\n* pf(BSD)" . "Restricting network traffic originating from untrusted networks destined towards a private host or enclave." . "Indirect Branch Call Analysis" . "## How it works\n\nThis technique is used to detect an attacker attempting to exploit and execute code on a target system's call stack using return-oriented programming (ROP). Modern processors that have the ability to maintain a list of the branching calls, e.g., Intel's Last Branch Recording (LBR), can be used to track and analyze indirect branching calls that are indicative of malicious activity.\n\nIn order to reduce the number of indirect branch calls to analyze to a manageable set it is assumed that malicious ROP activity will involve the use of system calls. The technique observes indirect branch calls that are part of paths that lead to system calls, all others are ignored. Branching calls chained together is often referred to as gadgets and gadgets are often used in ROP attacks. Indirect branch calls that involve a transfer from user-space to kernel-space are of interest for this technique.\n\nIdentification of potential ROP exploit execution includes:\n\n- Inspecting the LBR when a system function call is made\n\n - The LBR is configured to return only instruction of interest (ret, indirect jmp, indirect calls)\n\n\n- Behavior is analyzed for\n - Ret instructions that appear to target areas not preceded by the call sites\n - Sequences of small code fragments that appear to be chained through the indirect branching calls (gadgets)\n\n\n- Of interest are returns that appear to not render control back after calls\n - Typical ret-call are paired\n - gadgets will appear to have ret followed by instruction of next instruction of the following gadget\n\n\n## Considerations\n\n* May be operating system dependent since specific system calls are used to scope branching behavoir\n* Processors need to support access to a Last Branch Recording list feature\n* The size of the LBR stack can limit the expected size of the analyzed execution stack\n* If processor does not support LBR then overhead costs for the analysis can be significant" . "Analyzing vendor specific branch call recording in order to detect ROP style attacks." . "Initial Access" . "Initial Access Technique" . . "In computing, an input device is a piece of equipment used to provide data and control signals to an information processing system such as a computer or information appliance. Examples of input devices include keyboards, mouse, scanners, digital cameras, joysticks, and microphones. Input devices can be categorized based on:" . "Input Device" . "## How it works\n\nInput Device Hardening techniques filter certain commands, or disable related operating system functionality.\n\n### Analytics\n\nAll of these values can be analyzed and compared to a baseline:\n\n* Amount of input\n* Duration of a single input\n* Durations between inputs\n* Value of input\n\nContext can also include:\n\n* User which is logged in, to include attributes such as physical location of the user\n* Date and time\n* System which is processing the input\n* Source device of input, to include its properties (eg. manufacturer), configuration (eg. keyboard layout) and behavioral attributes of this device (eg. first use)\n* Source system of input (local or remote system)\n* Other hardware devices attached to the system\n\n\n### Actions\n\nActions can include:\n\n* Disabling the source device\n* Sending an alert\n* Locking the current session (eg. system screen lock, or returning to an authentication screen in a web app) and requiring one or more methods of authentication to continue\n* Administratively disabling credentials for the account or the entire account -- the technique *Account Locking*\n\n\n### Examples\nA malicious input device sends many keystrokes with approximately the same delay between each. This does not match the normal cadence of input, and the device is disabled.\n\nInput to type the session user's name takes abnormally longer for each keystroke. The system is locked to the password prompt screen.\n\nA system receives key press events from two different devices -- one device sends keystrokes after the other has been idle for a long time.\n\nA system receives physical input in a user session, while that user has sent input from a device located out of the country in the past hour.\n\nNetwork traffic is suddenly routed through a new external device, and nearly the same volume of network traffic is subsequently sent out the previously existing interface. The new external device is disabled, and an alert is raised to investigate the network configuration for a potential compromise.\n\n\n## Considerations\n\nGiven some example of legitimate behavioral input patterns, attackers could mimic those input patterns, a technique which has been used in popular culture in the creation of Deepfake videos and [This Person Does Not Exist](https://thispersondoesnotexist.com)." . "Input Device Analysis" . "Operating system level mechanisms to prevent abusive input device exploitation." . "Integrated Honeynet" . "## How it works\nIntegrated honeynets use full production environments connected to the enterprise network, that utilize computing resources or software that attract attackers, and allow full interaction and access that provides a complete view of an attack.\n\n## Considerations\nAn attacker with control of a system on an Integrated Honeynet could:\n* try to attack other connected hosts on the network, its IP range of internal hosts not properly configured to react to connections from machines on the integrated honeynet, or position behind the firewall.\n* exploit its position by eavesdropping on network traffic\nIf an attacker manages to stop the processes used to log an attack without setting off any alarms. [1]\n\n1. Honeypots for Windows, Roger Grimes, 2005" . "The practice of setting decoys in a production environment to entice interaction from attackers." . "Internet Article" . "Internet Network Traffic" . . "Internet network traffic is network traffic that crosses a boundary between networks. [This is the general sense of inter-networking; It may or may not cross to or from the Internet]" . . "Interprocess Communication" . "In computer science, inter-process communication or inter-process communication (IPC) refers specifically to the mechanisms an operating system provides to allow processes it manages to share data. Typically, applications can use IPC categorized as clients and servers, where the client requests data and the server responds to client requests. Many applications are both clients and servers, as commonly seen in distributed computing. Methods for achieving IPC are divided into categories which vary based on software requirements, such as performance and modularity requirements, and system circumstances, such as network bandwidth and latency." . "Intranet administrative network traffic is administrative network traffic that does not cross a given network's boundaries and uses a standard administrative protocol." . . "Intranet Administrative Network Traffic" . "Intranet file transfer traffic is file transfer traffic that does not cross a given network's boundaries and uses a standard file transfer protocol." . . . "Intranet File Transfer Traffic" . "Intranet IPC network traffic is network traffic that does not cross a given network's boundaries and uses a standard inter-process communication (IPC) networking protocol." . . . "Intranet IPC Network Traffic" . "Intranet IPC network traffic is multicast network traffic that does not cross a given network's boundaries." . "Intranet Multicast Network Traffic" . . "An intranet is a private network accessible only to an organization's staff or delegates. Generally a wide range of information and services from the organization's internal IT systems are available that would not be available to the public from the Internet. A company-wide intranet can constitute an important focal point of internal communication and collaboration, and provide a single starting point to access internal and external resources. In its simplest form an intranet is established with the technologies for local area networks (LANs) and wide area networks (WANs)." . "Intranet Network" . . "Intranet Network Traffic" . . "Intranet network traffic is network traffic traversing that does not traverse a given network's boundaries." . "Intranet web network traffic is network traffic that does not cross a given network's boundaries and uses a standard web protocol." . "Intranet Web Network Traffic" . . "The isolate tactic creates logical or physical barriers in a system which reduces opportunities for adversaries to create further accesses." . "0"^^ . "Isolate" . "A JavaScript Blob is a Blob that was created by a JavaScript Blob() constructor call or equivalent function." . "JavaScript Blob" . "## How it works\nPeer group analysis identifies functionally similar groups of actors (users or resources) based on categorizations such as job title, organizational hierarchy, or other attribute that indicates similarity of job function. Current user access activity is then compared to the appropriate peer group behavior profile to identify anomalies.\n\n## Considerations\nPotential for false positives from anomalies that are not associated with malicious activity." . "Detecting anomalies in user access patterns by comparing user access activity to behavioral profiles that categorize users by role such as job title, function, department." . "Job Function Access Pattern Analysis" . "Kerberos Ticket" . "An access ticket/token issued by a Kerberos system." . "A ticket granting ticket issued by a Kerberos system; that is, a ticket that grants a user domain admin access." . . "Kerberos Ticket Granting Ticket" . "Kernel" . "The kernel is a computer program that constitutes the central core of a computer's operating system. It has complete control over everything that occurs in the system. As such, it is the first program loaded on startup, and then manages the remainder of the startup, as well as input/output requests from software, translating them into data processing instructions for the central processing unit. It is also responsible for managing memory, and for managing and communicating with computing peripherals, like printers, speakers, etc. The kernel is a fundamental part of a modern computer's operating system." . . "Using kernel-level capabilities to isolate processes." . "Kernel-based Process Isolation" . "LKM" . "Loadable Kernel Module" . . "A loadable kernel module (LKM) is an object file that contains code to extend the running kernel, or so-called base kernel, of an operating system. LKMs are typically used to add support for new hardware (as device drivers) and/or filesystems, or for adding system calls. When the functionality provided by a LKM is no longer required, it can be unloaded in order to free memory and other resources.\n\nMost current Unix-like systems and Microsoft Windows support loadable kernel modules, although they might use a different name for them, such as kernel loadable module (kld) in FreeBSD, kernel extension (kext) in macOS,[1] kernel extension module in AIX, kernel-mode driver in Windows NT[2] and downloadable kernel module (DKM) in VxWorks. They are also known as kernel loadable modules (or KLM), and simply as kernel modules (KMOD)." . "Kernel Module" . . "Kernel Process Table" . "A data structure in the kernel which is a table containing all of the information that must be saved when the CPU switches from running one process to another in a multitasking system. It allows the operating system to track all the process's execution status, and contains the For every process managed by the kernel, there is a process control block (PCB) in the process table." . . . . "Computer Keyboard" . "Keyboard Input Device" . "A computer keyboard is a typewriter-style device which uses an arrangement of buttons or keys to act as mechanical levers or electronic switches. Following the decline of punch cards and paper tape, interaction via teleprinter-style keyboards became the main input method for computers. A keyboard is also used to give commands to the operating system of a computer, such as Windows' Control-Alt-Delete combination. Although on Pre-Windows 95 Microsoft operating systems this forced a re-boot, now it brings up a system security options screen." . "Keyboard" . "Lateral Movement" . "Lateral Movement Technique" . "In computing, a legacy system is an old method, technology, computer system, or application program, \"of, relating to, or being a previous or outdated computer system,\" yet still in use. Often referencing a system as \"legacy\" means that it paved the way for the standards that would follow it. This can also imply that the system is out of date or in need of replacement." . "Legacy Digital System" . . "Legacy System" . "Analyzing local user accounts to detect unauthorized activity." . "Local Account Monitoring" . . "Local Area Network" . "A local area network (LAN) is a computer network that interconnects computers within a limited area such as a residence, school, laboratory, university campus or office building and has its network equipment and interconnects locally managed. Ethernet and Wi-Fi are the two most common transmission technologies in use for local area networks. Historical technologies include ARCNET, Token ring, and AppleTalk." . "LAN" . . "Intranet local area network (LAN) traffic is network traffic that does not cross a given network's boundaries; where that network is defined as a LAN." . "Local Area Network Traffic" . "Restricting access to a local file by configuring operating system functionality." . "Local File Permissions" . "System Resource" . "In computing, a system resource, or simply resource, is any physical or virtual component of limited availability within a computer system. Every device connected to a computer system is a resource. Every internal system component is a resource. Virtual system resources include files (concretely file handles), network connections (concretely network sockets), and memory areas. Managing resources is referred to as resource management, and includes both preventing resource leaks (releasing a resource when a process has finished using it) and dealing with resource contention (when multiple processes wish to access a limited resource)." . "Local Resource" . . "Local Resource Access" . "Ephemeral digital artifact comprising a request of a local resource and any response from that resource." . "Endpoint Resource Access" . "A user account on a given host is a local user account for that specific host." . "Local User Account" . . "Chronology" . . "A record of events in the order of their occurrence." . "Log" . "Log File" . "A log file is a file that records either events that occur in an operating system or other software runs, or messages between different users of a communication software. Logging is the act of keeping a log. In the simplest case, messages are written to a single log file.\n\nA transaction log is a file (i.e., log) of the communications between a system and the users of that system, or a data collection method that automatically captures the type, content, or time of transactions made by a person from a terminal with that system. For Web searching, a transaction log is an electronic record of interactions that have occurred during a searching episode between a Web search engine and users searching for information on that Web search engine.\n\nMany operating systems, software frameworks and programs include a logging system. A widely used logging standard is syslog, defined in Internet Engineering Task Force (IETF) RFC 5424). The syslog standard enables a dedicated, standardized subsystem to generate, filter, record, and analyze log messages. This relieves software developers of having to design and code their own ad hoc logging systems." . . . "Logical Link" . "Logical link mapping creates a model of existing or previous node-to-node connections using network-layer data or metadata." . "Logical Link Mapping" . "In computing, a login session is the period of activity between a user logging in and logging out of a (multi-user) system. On Unix and Unix-like operating systems, a login session takes one of two main forms: (a) When a textual user interface is used, a login session is represented as a kernel session -- a collection of process groups with the logout action managed by a session leader, and (b) Where an X display manager is employed, a login session is considered to be the lifetime of a designated user process that the display manager invokes." . "Login Session" . . "Keychain is the password management system in macOS, developed by Apple. It was introduced with Mac OS 8.6, and has been included in all subsequent versions of the operating system, now known as macOS. A Keychain can contain various types of data: passwords (for websites, FTP servers, SSH accounts, network shares, wireless networks, groupware applications, encrypted disk images), private keys, certificates, and secure notes." . "Keychain" . "MacOS Keychain" . . "Mail traffic is network traffic that uses a standard mail transfer protocol." . "Mail Network Traffic" . . "Mail Server" . "MX Host" . "Within the Internet email system, a message transfer agent or mail transfer agent (MTA) or mail relay is software that transfers electronic mail messages from one computer to another using SMTP. The terms mail server, mail exchanger, and MX host are also used in some contexts. Messages exchanged across networks are passed between mail servers, including any attached data files (such as images, multimedia or documents). These servers also often keep mailboxes for email. Access to this email by end users is typically either via webmail or an email client." . "Mail Exchanger" . "Email Server Resource" . "MTA" . "Mail transfer agent" . "Message transfer agent" . "## How it works\nMandatory access control is a non-discretionary access control system because the rules and polices that determine access is determined by a security control authority and not distributed to local users. Access determinations are based on designed access control polices and are not based on local resource owner determinations.\n\nAccess is typically granted by defining sets of subjects and sets of objects. Subjects are the entities requesting access and objects are the resources that subjects are trying to access. Rules and policies are defined that associate subjects and object permissions and access controls.\n\n### Common MAC implementations\n#### Security label access control\nA fine-grained form of mandatory access control is to apply security labels to individual resources, including processes, and the access control decisions are against a particular resource and a given user attempting to gain access. This type of MAC requires that the file system has built-in support for security labels.\n\nAccess controls are typically implemented through the use of label identifiers for every file system object. Identifier labels are applied to resources and users are assigned a similar access identifier. Users attempting to access a resource will result in the operating system performing an access control check. The access control check will compare the assigned user's credentials to that of the resource or object they are attempting to access.\n\nA security context is associated with resources and is used to determine assess. Typical basic access control elements include users, roles and types and together they form a security context which is the basis for the security labels.\n\nThis type of access control is what is employed in SELinux [2]. This form of MAC is considered the most flexible implementation, but it also is the most complex to deploy across the enterprise. Where multiple virtual machines (VM) are run together this type of access control is typically employed to ensure true isolation of processes and VMs.\n\n#### File path level controls\nA less fine-grained form of mandatory access control is to apply security labels that allow for access control at the file path level. Access control is filesystem agnostic and no relabeling of resources is required. Pathname access control usually seems more natural for implementation and corresponding access audits.\n\nThis type of MAC is what is employed in AppArmor [3]. AppArmor was developed to provide a simpler alternative MAC method with much less management overhead. A simple access policy is maintained that defines path resource access rules. Access control attributes are typically associated with programs instead of users.\n\n\n## Considerations\nSome implementations of security label mandatory access control contain complex rules set that are hard to verify and complex to maintain over time.\n\nInitial planning of access model and continuous monitoring of the available users, resources and object is necessary.\n\n## Implementations\n\n * Linux C-Groups, and policy engines like SELinux and AppArmor\n * Windows Mandatory Integrity Control introduced in Windows Vista\n\n\n### Citations\n1. [Implementation of Mandatory Access Control in Distributed Systems](https://link.springer.com/article/10.3103/S0146411618080357)\n2. [SELinux](https://selinuxproject.org/)\n3. [AppArmor](https://www.apparmor.net/)" . "Mandatory Access Control" . "Controlling access to local computer system resources with kernel-level capabilities." . "## How it works\nThis technique monitors for indicators of whether a return address is outside memory previously allocated for an object (i.e. function, module, process, or thread). If so, code that the return address points to is treated as malicious code.\n\n## Considerations\nKernel malware can manipulate memory contents, for example modifying pointers to hide processes, and thereby impact the accuracy of memory allocation information used to perform the analysis." . "Memory Boundary Tracking" . "Analyzing a call stack for return addresses which point to unexpected memory locations." . "Message Analysis" . "Electronic Message Analysis" . "Analyzing email or instant message content to detect unauthorized activity." . "Email Or Messaging Analysis" . "## Technique Overview\n\nEmail and messaging are frequently used to deliver malicious content to targets. These enterprise capabilities are used to deliver software exploits or social engineering tricks. If the recipient of a message trusts the sender, attackers can avoid escalating suspicion.\n\nEmails and messages are also complex data structures. They contain files and links, and complex data encodings which vary region to region. Thus the defensive techniques used to analyze emails and messages are highly varied ranging from deep content analysis and execution to social network graph-style analytics to analyze trust or risk." . "Message Authentication" . "Authenticating the sender of a message and ensuring message integrity." . "## How it works\n\n### Digital Signature\nDigital signatures are used to verifying a message is from the expected sender. In email, Secure/Multipurpose Internet Mail Extensions (S/MIME) protocol is typically used to digitally sign messages. A hash value of the sender's message is created and encrypted with the sender's private key to create a digital signature. The message and the digital signature are sent to the recipient where the sender's public key is used to decrypt the digital signature and compute the hash of the message. The computed hash is compared with the hash from the received message, and any difference in the hash values signify the message did not originate from the sender and has been alerted in transit.\n\n### Message Authentication Code (MAC)\nMAC is a fixed size string that is appended to a message to provide message authentication and integrity. The sender MAC signing algorithm takes as input a secret symmetric key shared between sender and recipient and the message to calculate a short tag that is appended to the message. The recipient receives the message with the appended tag, and a MAC verification algorithm is run using the symmetric key to verify the message came from the stated sender and ensure the message has not been tampered with.\n\n## Considerations\n- Public keys associated with digital signatures should be verified by a Certification Authority (CA) to prevent impersonation. The CA verifies the owner of a public key and puts the sender's identity and public key into a certificate that is signed by the CA.\n- Digital signatures provide non-repudiation where a third party can verify the authenticity of the message using the sender's digital certificate signed by the CA.\n- Symmetric keys must be exchanged securely via a private channel and management of new symmetric keys are needed for each pair of participants wishing to exchange messages." . "Encrypting a message body using a cryptographic key." . "Message Encryption" . "## How it works\n\n### Asymmetric Cryptography\nAsymmetric encryption is typically accomplished using public and private key certificates based on the X.509 standard. The sender encrypts messages using the recipient's public key and the receipt decrypts the message using their private key. Standards that can be used to implement message encryption include S/MIME (Secure/Multipurpose Internet Mail Extensions) and PGP.\n### Symmetric Cryptography\nSymmetric encryption uses the same cryptographic key by both the sender and receiver to encrypt and decrypt a message. Asymmetric key exchange protocols such as Diffie-Hellman can be used to share the cryptographic key with the recipient.\n\n## Considerations\n- Separate configuration settings to enable message encryption are often needed for each messenger client (e.g. webmail, desktop client, mobile).\n- Continuous monitoring to ensure private keys are not compromised and the certificate authority (CA) is trusted.\n- Secure transfer of private keys between multiple devices." . "Email or Messaging Hardening includes measures taken to ensure the confidentiality and integrity of user to user computer messages." . "Email Or Messaging Hardening" . "Message Hardening" . "Mail Transfer Agent" . "MTA" . "A message transfer agent or mail transfer agent (MTA) or mail relay is software that transfers electronic mail messages from one computer to another using a client-server application architecture. An MTA implements both the client (sending) and server (receiving) portions of the Simple Mail Transfer Protocol." . . "Message Transfer Agent" . "The model tactic is used to apply security engineering, vulnerability, threat, and risk analyses to digital systems. This is accomplished by creating and maintaining a common understanding of the systems being defended, the operations on those systems, actors using the systems, and the relationships and interactions between these elements." . "1"^^ . "Model" . . "A system call to rename or move a file. Linux's rename() is an example of this kind of system call." . "Move File" . "Rename File" . "## How it works\nWhen logging into an account users present two or more credentials that fall into different categories: something you know (password or PIN), something you have (smart card or phone), or something you are (fingerprint).\n\n## Considerations\nMFA configuration steps may vary across accounts and in some cases left up to users to activate and implement." . "Requiring proof of two or more pieces of evidence in order to authenticate a user." . "Multi-factor Authentication" . "Multimedia Document File" . "https://dbpedia.org/page/Multimedia" . "Digital video files which often contain audio." . . "A network is a group of computers that use a set of common communication protocols over digital interconnections for the purpose of sharing resources located on or provided by the network nodes. The interconnections between nodes are formed from a broad spectrum of telecommunication network technologies, based on physically wired, optical, and wireless radio-frequency methods that may be arranged in a variety of network topologies." . "Computer Network" . "Network" . "Network Directory Resource" . "A directory resource made available from one host to other hosts on a computer network." . "A computer file resource made available from one host to other hosts on a computer network." . "Network File Resource" . "A shared file resource, or network file share, is a computer file made available from one host to other hosts on a computer network. Network sharing is made possible by inter-process communication over the network. It includes both files and directories." . "Network File Share Resource" . "Network Flow" . "A summarization of network transactions between a client and server. It often summarizes bytes sent, bytes received, and protocol flags." . "A computer file resource made available from one host to other hosts on a computer network that is also an initialization script." . "Network Init Script File Resource" . "Network Isolation techniques prevent network hosts from accessing non-essential system network resources." . "Network Isolation" . "Network mapping encompasses the techniques to identify and model the physical layer, network layer, and data exchange layers of the organization's network and their physical location, and determine allowed pathways through that network." . "Network Mapping" . "Network Node" . "In telecommunications networks, a node (Latin nodus, 'knot') is either a redistribution point or a communication endpoint. The definition of a node depends on the network and protocol layer referred to. A physical network node is an electronic device that is attached to a network, and is capable of creating, receiving, or transmitting information over a communications channel. A passive distribution point such as a distribution frame or patch panel is consequently not a node." . . "System Discovery" . "## How it works\nAdministrators collect information on network nodes in their architecture using a variety of administrative and management tools that query network devices and nodes for information. In some cases, where such queries are not supported or provide specific information of interest, an administrator may also collect this information through network enumeration methods to include host discovery and scanning for active ports and services.\n\n## Considerations\n* Scanning and probing techniques using mapping tools can result in side effects to information technology (IT) and operational technology (OT) systems.\n* An adversary conducting network enumeration may engage in activities that parallel normal hardware inventorying activities, but would require escalating to admin privileges for most of the operations requiting administrative tools\n\n## Examples\n* Link-layer discovery\n * Link-layer Discovery Protocol (LLDP)\n * Cisco Discovery Protocol (CDP)\n* Application-layer discovery\n * Simple Network Management Protocol (SNMP) collects MIB information\n * Web-based Enterprise Management (WBEM) collects CIM information\n * Windows Management Instrumentation (WMI)\n * Windows Management Infrastructure (MI)" . "System Inventorying" . "Network Node Inventory" . "Network node inventorying identifies and records all the network nodes (hosts, routers, switches, firewalls, etc.) in the organization's architecture." . "Network Packet" . "A network packet is a formatted unit of data carried by a packet-switched network. Computer communications links that do not support packets, such as traditional point-to-point telecommunications links, simply transmit data as a bit stream. When data is formatted into packets, packet switching is possible and the bandwidth of the communication medium can be better shared among users than with circuit switching." . . "Network Resource" . "Shared Resource" . "In computing, a shared resource, or network share, is a computer resource made available from one host to other hosts on a computer network. It is a device or piece of information on a computer that can be remotely accessed from another computer, typically via a local area network or an enterprise intranet, transparently as if it were a resource in the local machine.Network sharing is made possible by inter-process communication over the network." . . "Network Resource Access" . "Ephemeral digital artifact comprising a request of a network resource and any response from that network resource." . "Network Session" . . "A network session is a temporary and interactive information interchange between two or more devices communicating over a network. A session is established at a certain point in time, and then 'torn down' - brought to an end - at some later point. An established communication session may involve more than one message in each direction. A session is typically stateful, meaning that at least one of the communicating parties needs to hold current state information and save information about the session history in order to be able to communicate, as opposed to stateless communication, where the communication consists of independent requests with responses. Network sessions may be established and implemented as part of protocols and services at the application, session, or transport layers of the OSI model." . . "Network Traffic" . . "Network traffic or data traffic is the data, or alternatively the amount of data, moving across a network at a given point of time. Network data in computer networks is mostly encapsulated in network packets, which provide the load in the network." . "Data Traffic" . "Analyzing intercepted or summarized computer network traffic to detect unauthorized activity." . "Network Traffic Analysis" . "Establishing baseline communities of network hosts and identifying statistically divergent inter-community communication." . "## How it works\nHosts/users within a computer network are analyzed to identify communities of hosts which frequently communicate. Future communications between communities that don't usually communicate can then be detected. For example, if a community of hosts that communicate in support of a company's finance division suddenly starts to access the code server usually accessed only by engineers, this may indicate unauthorized activity.\n\n## Considerations\n* Potential for false positives in very dynamic network environments.\n* Attackers that move low and slow may not differentiate their behavior enough to trigger an alert." . "Network Traffic Community Deviation" . "Network Traffic Filtering" . "Restricting network traffic originating from any location." . "Web Security Gateway Policy Mapping" . "Network traffic policy mapping identifies and models the allowed pathways of data at the network, tranport, and/or application levels." . "Firewall Mapping" . "DLP Policy Mapping" . "Network Traffic Policy Mapping" . "IPS Policy Mapping" . "Network vulnerability assessment relates all the vulnerabilities of a network's components in the context of their configuration and interdependencies and can also include assessing risk emerging from the network's design as a whole, not just the sum of individual network node or network segment vulnerabilities." . "Network Vulnerability Assessment" . "Relocatable machine code" . . "Object File" . "An office application is one that is part of an application suite (e.g., Microsoft Office, Open Office)." . "Office Application" . "A document file in a format associated with an d3f:OfficeApplication." . "d3f:OfficeApplication" . "Office Application File" . . "One-time Password" . "OTP" . "A one-time password is valid for only one user authentication." . "## How it works\n\nWhen a user initiates authentication, they are asked for a one-time password, often in addition to other credentials such as a traditional password or smart card. The one-time password may be from a list provided in advance, sent via a channel such as SMS or HTTPS to an app, or a generated token.\n\nIn the case of a physical token which generates one-time passwords incrementally based on time elapsed, that token device need not be connected to the internet. In different implementations, an administrator of the system, or a user with additional verification, can adjust for clock skew between the token and the verification system as needed.\n\n## Considerations\n\n### Compromise of delivery channel\n- SIM Swapping\n- Secure token visual compromise\n- Insecure delivery channel\n\n### Compromise of delivery device\nPhysical loss of One-time Password device.\n\n### Compromise of long-term backup codes\nThese are often provided in the form of a downloadable document with a regular name, which can be searched for in the case that the user forgets where they put them. This digital file or printed document could be stolen.\nAdditionally, after the code file is printed, it could be recovered from the system printer spool unless the spooler cache is cleared." . "Operating System" . . "An operating system (OS) is system software that manages computer hardware and software resources and provides common services for computer programs. All computer programs, excluding firmware, require an operating system to function. Time-sharing operating systems schedule tasks for efficient use of the system and may also include accounting software for cost allocation of processor time, mass storage, printing, and other resources." . "System Configuration" . "Operating System Configuration Component" . "An component of the overall information necessary for the configuration of an operating system." . . "Operating System Configuration Information" . "System configuration files configure system-wide software and services, as well as the operating system which supports scheduling and executing this software, as well as the configuration of peripherals." . "System Configuration File" . "Configuration File" . . "Operating System Configuration File" . "An operating system configuration file is a file used to configure the operating system." . "Operating System" . "An operating system executable is a critical executable that is part of the operating system, and without which, the operating system may not operate correctly." . "Operating System Executable File" . "Operating System File" . . . "An operating system file is a file that is part of, or used to store information about, the operating system itself." . "Operating System Log File" . "An operating system log file records events that occur in an operating system" . . "Log File" . "## Technique Overview\n\n\"An operating system (OS) is system software that manages computer hardware and software resources and provides common services for computer programs.\" [1]\n\nOperating System Monitoring Techniques have varied implementations including built-in kernel modules, third-party privileged system daemons, or even standard systems administration tools included with an operating system.\n\n1. http://dbpedia.org/resource/Operating_system" . "Operating System Monitoring" . "The operating system software, for D3FEND's purposes, includes the kernel and its process management functions, hardware drivers, initialization or boot logic. It also includes and other key system daemons and their configuration. The monitoring or analysis of these components for unauthorized activity constitute **Operating System Monitoring**." . "Operating System Process" . "System Process" . "An operating system process, or system process, is a process running to perform operating system functions." . . "An operating system shared library file is a shared library file that is part of the operating system and that incorporates common operating system code for use by any application or to provide operating system services." . "Operating System Shared Library File" . . "Operational activity mapping identifies activities of the organization and the organization's suborganizations, groups, roles, and individuals that carry out the activities and then establishes the dependencies of the activities on the systems and people that perform those activities." . "Identifying staff and organizational structure is part of operational activity mapping. One inventories assets; people are *not* assets, but are resources. Grasping operations and activities (missions) and mapping them to people is (notionally) last phase of modeling architecture." . "Operational Activity Mapping" . "Mission Mapping" . "Operational Dependency Mapping" . "Operational dependency mapping identifies and models the dependencies of the organization's activities on each other and on the organization's performers (people, systems, and services.) This may include modeling the higher- and lower-level activities of an organization forming a hierarchy, or layering, of the dependencies in an organization's activities." . "Operational risk assessment identifies and models the vulnerabilities of, and risks to, an organization's activities individually and as a whole." . "Mission Risk Assessment" . "Operational Risk Assessment" . "An orchestration server provides orchestration services that automate the configuration, coordination, and management of computer systems and software." . "Orchestration Controller" . "Organization" . "Organization Mapping" . "Organization mapping identifies and models the people, roles, and groups with an organization and the relations between them." . "Organizational Activity" . "Outbound Internet DNS Lookup Traffic" . . "Outbound internet DNS lookup traffic is network traffic using the DNS protocol on an outgoing connection initiated from a host within a network to a host outside the network." . "Outbound Internet Encrypted Remote Terminal Traffic" . "Outbound Internet Encrypted RDP Traffic" . "Outbound internet encrypted remote terminal traffic is encrypted network traffic for a standard remote terminal protocol on an outgoing connection initiated from a host within a network to a host outside the network." . "Outbound Internet Encrypted SSH Traffic" . . "Outbound Internet Encrypted Traffic" . "Outbound internet encrypted traffic is encrypted network traffic on an outgoing connection initiated from a host within a network to a host outside the network." . . "Outbound internet encrypted web traffic is network traffic using a standard web protocol on an outgoing connection initiated from a host within a network to a host outside the network." . "Outbound Internet Encrypted Web Traffic" . . "Outbound Internet File Transfer Traffic" . "Outbound internet file transfer traffic is file transfer traffic that is: (a) on an outgoing connection initiated from a host within a network to a host outside the network, and (b) using a standard file transfer protocol." . . "Outbound internet DNS lookup traffic is network traffic using a standard email protocol on an outgoing connection initiated from a host within a network to a host outside the network." . . "Outbound Internet Email Traffic" . "Outbound Internet Mail Traffic" . "Outbound Internet Network Traffic" . "Outbound internet network traffic is network traffic on an outgoing connection initiated from a host within a network to a host outside the network." . . . "Outbound Internet Web Traffic" . "Outbound internet web traffic is network traffic that is: (a) on an outgoing connection initiated from a host within a network to a host outside the network, and (b) using a standard web protocol." . "Outbound traffic is network traffic originating from a host of interest (client), to another host (server)." . "Outbound Network Traffic" . "Outbound Traffic Filtering" . "Restricting network traffic originating from a private host or enclave destined towards untrusted networks." . "## How it works\n\nOutbound traffic, in this context, is network traffic originating from a private host or enclave destined towards untrusted networks.\nFor example:\n\n* An enterprise desktop intranet user connecting to www.example.com\n* An internal mail server connecting to an external mail server, mail.example.com\n\nFiltering is commonly implemented as firewall rulesets to limit outbound traffic permitted to egress a host or network. Firewalls are deployed either directly on hosts through kernel level software implementations or installed in-line directly on network links. There are benefits and disadvantages to each approach.\n\nThere are various strategies for developing filtering rulesets:\n\n* Block everything by default\n* Limit destination hosts\n* Limit destination transport or application protocols\n* Restrict content outbound (Ex. strings formatted as social security numbers, or proprietary data)\n\n## Considerations\n* Dynamic IP assignment creates challenges for Outbound Traffic Filtering because users are not necessarily associated with the same IP address. This can be addressed by linking IP address management information with the filtering logic.\n* Connections using non-standard transport layer ports may circumvent outbound traffic filtering technology which does not detect application protocol based on traffic content.\n* Business requirements typically drive the development of filtering rule sets.\n\n## Implementations\n- iptables (Linux)\n- Windows Firewall\n- pf (BSD)" . "Packet Log" . . "A log of all the network packet data captured from a network by a network sensor (i.e., packet analyzer)," . "A partition is a region on secondary storage device created so that the region can be managed by itself; separate from any other regions (partitions) on that secondary storage device. Creating partitions is typically the first step of preparing a newly installed storage device, before any file system is created. The device stores the information about the partitions' locations and sizes in an area known as the partition table that the operating system reads before any other part of the disk. Each partition then appears to the operating system as a distinct \"logical\" storage device that uses part of the actual device. System administrators use a program called a partition editor to create, resize, delete, and manipulate the partitions. Partitioning allows the use of different filesystems to be installed for different kinds of files. Separating user data from system data can prevent the system partition from becoming full and rendering the system unusable. Partitioning can also make backing up easier. [Definition adapted as generalization from definition of disk partitioning and distinct from in-memory partitions.]" . "Partition" . "Disk Slice" . . . "Disk Partition" . . "Partition Table" . . "A partition is a fixed-size subset of a storage device which is treated as a unit by the operating system. A partition table is a table maintained on the storage device by the operating system describing the partitions on that device. The terms partition table and partition map are most commonly associated with the MBR partition table of a Master Boot Record (MBR) in IBM PC compatibles, but it may be used generically to refer to other \"formats\" that divide a disk drive into partitions, such as: GUID Partition Table (GPT), Apple partition map (APM), or BSD disklabel." . "Collecting host certificates from network traffic or other passive sources like a certificate transparency log and analyzing them for unauthorized activity." . "Passive Certificate Analysis" . "## How it works\nCertificates are analyzed outside of a TLS server connection using third-party secure update logs, domain name analysis and analytics.\n\n### Secure update certificate logs\n* Certificate Logs\nThe key enabling feature is a secure service that maintains record logs of certificate activities. The logs allow users to only append certificates and never to delete or modify the log entries. The logs use Merkle Tree Hashes to ensure they have not been tampered with. The logging service also allows for public auditing by any user.\n\nThe logging service, upon receipt of a certificate to log, will respond with a signed certificate timestamp (SCT). The SCT guarantees the certificate will be added to the log within the time specified. The SCT must be present with the certificate during a TLS handshake.\n\n* Certificate Monitoring\nCertificate monitoring, of the logs, is typically done by the CA and they watch for suspicious certificate logging and unusual certificates or extensions or permissions. Monitors are also responsible for verifying the logs are accurate and public.\n\n* Certificate Auditors\nLog integrity is verified by log auditors. Auditors make use of log proofs are used to validate the cryptographic hashes (Merkle Trees) that the log employs are consistent. In order to ensure consistency throughout multiple monitors and auditors, sharing a common logging service, gossip protocol is employed.\n\n### Phishing domain name analysis\n* A curated corpus of known benign domains and phishing domain names is used as training text for machine learning. Through the use of feature set extraction, vectors labels are created with scoring to indicated if they are considered benign or phishing domains.\n\n* A stream of new or updated SSL certificates with fully qualified domain names (FQDN) is analyzed against the feature vectors and a predictive model determines a score for the domains. The scoring considers distance measures such as Levenshtein distance to help in determining the final label score. Supervised learning is also employed using the curated domains of benign and phishing domains.\n\n* Subdomain phishing analysis, prepending a trusted domain to a phishing domain, and regular expression comparisons are also used in the label scoring model. A tunable measure is used to determine the threshold for alerting. This measure helps to balance between precision and recall measures.\n\n## Considerations\n* Some entity will need to run the logging service and a trusted entity is preferred.\n* Certificate Authorities will likely need to monitor the logging service for consistency.\n* Certificate revocation is unchanged and remains outside of Certificate Transparency, but certificates needing to be revoked are visible.\n* Technique dependent of reliable feed of new and updated certificates\n* Some certificate authorities allow for certificates to be registered with wildcards in the FQDN and thus will fail some of the subdomain scoring\n* Phishing HTTP domains will not be discovered" . "Passively collecting certificates and analyzing them." . "Passive logical link mapping only listens to network traffic as a means to map the the whole data link layer, where the links represent logical data flows rather than physical connections." . "Passive Logical Layer Mapping" . "Passive Logical Link Mapping" . "Passive Physical Layer Mapping" . "Passive physical link mapping only listens to network traffic as a means to map the physical layer." . "Passive Physical Link Mapping" . "A password, sometimes called a passcode, is a memorized secret, typically a string of characters, usually used to confirm the identity of a user. Using the terminology of the NIST Digital Identity Guidelines, the secret is memorized by a party called the claimant while the party verifying the identity of the claimant is called the verifier. When the claimant successfully demonstrates knowledge of the password to the verifier through an established authentication protocol, the verifier is able to infer the claimant's identity." . "Password" . "Passcode" . . "Simple form of password database held in a single file (e.g., /etc/password)" . "Password File" . "Password Store" . "A user repository of account passwords, often accessed via a password manager." . . "Patent" . "Detecting anomalies that indicate malicious activity by comparing the amount of data downloaded versus data uploaded by a host." . "## How it works\nAggregate pull vs. push ratios from metadata are used to develop a baseline for a given host over a specific time period, e.g., over a three-hour period, one day, one week, etc. Anomalies identified over a threshold produce an alert.\n\n## Considerations\nCollection and analysis of large network packet captures requires large storage and intensive computing power. The time windows used to calculate the ratio may vary in implementations, this consideration should take into account a threat model and likely effects (impacts) delivered by an adversary." . "Per Host Download-Upload Ratio Analysis" . "Peripheral Firmware" . "Firmware that is installed on computer peripheral devices." . . . "# How it works\nPeripherial firmware is collected and analyzed on a host either periodically or on demand. This information may be collected for future comparisons.\n\nChanges in firmware hash values may indicate that the firmware has been tampered with or that firmware images are not maintained to current baselined versions, or even known vulnerable versions are deployed.\n\n## Considerations\n* Trust baselines will need to be generated for specific devices\n* Changes to trusted configurations will need to be managed across the enterprise" . "Cryptographically verifying peripheral firmware integrity." . "Peripheral Firmware Verification" . "Persistence" . "Persistence Technique" . "Person" . "Physical Link" . "https://dbpedia.org/resource/Physical_layer" . "A physical link is a dedicated connection for communication that uses some physical media (electrical, electromagnetic, optical, to include clear spaces or vacuums.) A physical link represents only a single hop (link) in any larger communcations path, circuit, or network.\n\nNOTE: not synonymous with data link as a data link can be over a telecommunications circuit, which may be a virtual circuit composed of multiple phyical links." . "Layer-1 Link" . "Physical link mapping identifies and models the link connectivity of the network devices within a physical network." . "Layer 1 Mapping" . "Physical Link Mapping" . "Physical Location" . "The terms location [here, a physical location] and place in geography are used to identify a point or an area on the Earth's surface or elsewhere. The term location generally implies a higher degree of certainty than place, which often indicates an entity with an ambiguous boundary, relying more on human or social attributes of place identity and sense of place than on geometry. The distinction between space and place is considered a central concern of geography, and has been addressed by scholars such as Yi-Fu Tuan and John Agnew." . . . "Platform includes the hardware and OS. The term computing platform can refer to different abstraction levels, including a certain hardware architecture, an operating system (OS), and runtime libraries. In total it can be said to be the stage on which computer programs can run." . "Computer Platform" . "Platform" . "Hardening components of a Platform with the intention of making them more difficult to exploit.\n\nPlatforms includes components such as:\n* BIOS UEFI Subsystems\n* Hardware security devices such as Trusted Platform Modules\n* Boot process logic or code\n* Kernel software components" . "Endpoint Hardening" . "System Hardening" . "Platform Hardening" . "Platform monitoring consists of the analysis and monitoring of system level devices and low-level components, including hardware devices, to detect unauthorized modifications or suspicious activity.\n\nMonitored platform components includes system files and embedded devices such as:\n\n * Kernel software modules\n * Boot process code and load logic\n * Operating system components and device files\n * System libraries and dynamically loaded files\n * Hardware device drivers\n * Embedded firmware devices" . "Platform Monitoring" . "Monitoring platform components such as operating systems software, hardware devices, or firmware." . "In computer science, a pointer is a programming language object, whose value refers to (or \"points to\") another value stored elsewhere in the computer memory using its memory address. A pointer references a location in memory, and obtaining the value stored at that location is known as dereferencing the pointer. As an analogy, a page number in a book's index could be considered a pointer to the corresponding page; dereferencing such a pointer would be done by flipping to the page with the given page number." . . "Pointer" . "Comparing the cryptographic hash or derivative of a pointer's value to an expected value." . "## How It Works\n\nPointer Authentication (frequently referred to as PAC, although the technique is properly Pointer Authentication) is a security feature to provide protection against attackers with memory read/write access. A Pointer Authentication Code (PAC) is a cryptographic hash or derivative computed on the value of a pointer and some additional context information which can then provide a cryptographically strong guarantee about the likelihood that a pointer has been tampered with by an attacker.\n\nAlthough pointers are 64 bits, most systems have a substantially smaller virtual address space, leaving unused bits in pointers that can store the value of the PAC, this can be done to reduce memory space requirements. One implementation is in ARMv8.3-A. A PAC is computed over the 64-bit pointer value and a 64-bit context value. Instructions are introduced to deal with pointers: one category to compute and insert the PAC into a pointer, another category to verify the pointer and invalidate the pointer if the PAC does not check, and a third category to remove the pointer and restore the original value without verifying.\n\nThe ARM standard specifies a cryptographic algorithm called QARMA-64 (designed by Qualcomm) to compute the signature, although this algorithm is not required. The architecture provides for five secret 128-bit Pointer Authentication keys: two for instruction pointers, two for data pointers, and a general key for signing larger blocks of data.\n\n## Considerations\n\nIn the ARM implementation, the mechanisms above for manipulating PACS are provided, but it is up to the code developer to manage the keys for the cryptographic algorithm.\n\n\nA known potential limitation of PACs concerns signing gadgets. Under certain circumstances PACs can be bypassed by forcing the system to run a signing gadget which will allow the signing of arbitrary pointers to occur." . "Pointer Authentication" . "PowerShell Profile Script" . "A PowerShell profile script is a script that runs when PowerShell starts and can be used as a logon script to customize user environments." . . "A private key can be used to decrypt messages encrypted using the corresponding public key, or used to sign a message that can be authenticated with the corresponding public key." . "Private Key" . . "Privilege Escalation" . "Privilege Escalation Technique" . "Process" . . "A process is an instance of a computer program that is being executed. It contains the program code and its current activity. Depending on the operating system (OS), a process may be made up of multiple threads of execution that execute instructions concurrently. A computer program is a passive collection of instructions, while a process is the actual execution of those instructions. Several processes may be associated with the same program; for example, opening up several instances of the same program often means more than one process is being executed." . "Process Analysis consists of observing a running application process and analyzing it to watch for certain behaviors or conditions which may indicate adversary activity. Analysis can occur inside of the process or through a third-party monitoring application. Examples include monitoring system and privileged calls, monitoring process initiation chains, and memory boundary allocations." . "Process Analysis" . . "Process Text Segment" . . "A process code segment, also known as a text segment or simply as text, is a portion of the program's virtual address space that contains executable instructions and corresponds to the loaded image code segment. Includes additional sections such as an import table." . "Process Code Segment" . "Process Code Segment Verification" . "## How it works\nA process code segment is an executable portion of computer memory allocated to a particular process. Process Code Segment Verification implements verification to compare a process code segment to some expected value.\n\n### Verification logic\nVerification can occur during application startup, or continuously during execution. The logic which verifies the process code may be separate in a third-party process, embedded in the application itself at compile time, or dynamically linked at runtime.\n\n### System of record\nExamples of systems of record:\n\n * On-disk application binary files or checksums\n * Remotely stored binary data or checksums\n * Embedded binary data or checksums\n\n### Post Verification Actions\nIf the verification function determines a process code segment may have been altered, a capability may invoke Eviction techniques as **Process Termination** to end the current process, or **Executable Blacklisting** to prevent the executable from launching in the future.\n\n## Considerations\n\n### False positives\n\nFalse positives commonly occur in the case that the layout of code in the process segment is legitimately modified:\n\n* Operating system features or third-party security software may modify the layout of process code, for example in the defensive technique **Segment Address Offset Randomization**, or in the case that a module is rebased. In both of these cases, the alteration occurs before the code is fully loaded into memory, and it would be possible to avoid the false positive by securely feeding this constant offset and any relocation data into the verification logic.\n\n* Process code segments may be written to modify themselves or other process code segments; however, this goes against widely-accepted current practices in software development.\n\n### False negatives\n\nFalse negatives can occur via alteration of the verification logic or source of truth, or insufficient verification logic.\n\n* Verification techniques which are executed only locally may be defeated by altering the local verification logic.\n\n* Verification that is run only on a recurring basis could be evaded if the malicious alteration is completed before verification is run.\n\n* Verification that requests an operation to be performed on a subset of the code segment could be evaded by performing that operation on a copy of the relevant bytes of the code segment.\n\n* Verification based on a system of record that can be altered may fail if that system of record is modifiable by a malicious user." . "Comparing the \"text\" or \"code\" memory segments to a source of truth." . . "An environment variable is a dynamic-named value that can affect the way running processes will behave on a computer. They are part of the environment in which a process runs." . "Process Environment Variable" . "Environment Variable" . "Process eviction techniques terminate or remove running process." . "Process Eviction" . "Process Image" . . "A process image is a copy of a given process's state at a given point in time. It is often used to create persistence within an otherwise volatile system." . "Identification of suspicious processes executing on an end-point device by examining the ancestry and siblings of a process, and the associated metadata of each node on the tree, such as process execution, duration, and order relative to siblings and ancestors." . "Process Tree Analysis" . "Process Lineage Analysis" . "## How it works\nProcess tree analysis techniques gather information on how a process was initiated to determine if a process is malicious. For example, if a process was not initiated from boot or not initiated by another process, that process is identified as suspicious. Also, if a new process was started before a process initiated by the device (ex. during boot) and that new process was not initiated by a user (which can be determined by examining process parameters such as type of process, its creator, source, etc.) the process is identified as suspicious.\n\nFor example, Microsoft Word may block execution of any subprocess that is not in an approved path.\n\n## Considerations\n* Attackers may spoof the parent PID (https://attack.mitre.org/techniques/T1502/), rendering such after-the-fact analysis on process lineage ineffective.\n* Processes may hide from various means of detection; an example on Linux is where a rootkit might remove key files for the process from its directory in /proc.\n* Zombie processes." . "Process Segment" . "Process segments are distinct partitions of the memory space of a running process. Heap, data, code, and stack segments are examples of process segments." . "## How it works\n\nDuring execution of a process, the instruction pointer register should only point to addresses in a code segment (also called the .text segment), as this is the sole segment which should contain program code.\n\nWhen this technique detects an attempt to execute something that has been designated as non-executable, other techniques such as those in **Process Eviction** might be invoked, such as **Process Termination** to end the current process, or **Executable Blacklisting** to blacklist the potentially vulnerable or malfunctioning executable.\n\n### Software-based implementations\nThe software-based implementation in Windows XP SP2 might not check that every time the instruction pointer is changed, and does not check on each jump or return. Before calling an exception handler, Windows XP SP2 software-enforced DEP checks whether the exception handler is located in a memory region marked as executable. If the program was also built with SafeSEH, this implementation also checks before changing control to the exception handler whether it is a registered exception handler in the program's file on disk.\n\n### Hardware-based implementations\nThe NX (No Execute) or XD (Execute Disable) bit on the processor specifies whether a certain part of memory is executable. Early implementations set this bit by the memory segment, while modern implementations which are built on the flat memory model often store this bit in each entry of the page table, to control execution by the page.\n\n\n## Considerations\n\nNon-hardware process data segment execution prevention is more susceptible to being able to be turned off for a page of memory.\n\nDifferent implementations of this defense have been in place since the 1980s, but implementation stalled when larger 16-bit programs began stuffing code in the segments usually reserved for data. Many modern programs follow the best practice of separation of code and data, are able to run under this defense.\n\nROP or ret2libc/return-to-function attacks could bypass this defense, as although they may pass attacker-controlled data or stack frames to a function, they abuse functions that are legitimately located in the .text segment (code segment) of the program. For those, more advanced defenses such as a table of valid jump addresses, function call analysis, or return depth analysis could be used." . "No Execute" . "Process Segment Execution Prevention" . "Preventing execution of any address in a memory region other than the code segment." . "Execute Disable" . "Process Self-Modification Detection" . "Detects processes that modify, change, or replace their own code at runtime." . "## How it Works\nA security agent installed on the host machine intercepts API calls between a process and operating system. Intercepted API calls are then compared against attack signatures/patterns to identify API calls that modify executable memory or modify the entry point address of a suspended child process. Attack patterns include:\n\n* Executable code of a suspended child process removed from memory by one or more API calls.\n* New executable code injected and / or loaded into memory of a suspended child process by one or more API calls.\n* Executable code modified by one or more API calls.\n* Next instruction pointer value in memory modified by one or more API calls.\n\n## Considerations\nComparing loaded code segments of processes with what is expected to have been loaded from a file can result in false positives, due to legitimate uses of self-modification for decrypting or uncompressing code segments." . "## How it works\nProcess attributes are established when an operating system spawns a new process. These attributes are analyzed to look for the presence or absence of specific values or patterns.\n\nSome attributes of interest are:\n - user\n - process name\n - image path\n - security content\n\n## Considerations\n\n - Attackers can spoof the parent process identifier (PPID), which could bypass this defense to allow execution of a malicious process from an arbitrary parent process.\n - Attackers could have legitimately compromised any of the process properties, such as the user, to make the execution appear legitimate.\n - Location: If the full image path is not checked, there could be a conflict with an executable that appears earlier due to resolution involving the system environment path/classpath variable.\n - Parsing issues: If the raw command from a shell is analyzed, rather than the actual function call, it is important to identify the actual command being run from its arguments. In Windows, services with unquoted file paths containing spaces will try to use the first token as the executable and the rest as arguments -- and shift tokens to the executable until a valid one is found.\n - Some [operating systems](/dao/artifact/d3f:OperatingSystem) can spawn processes without forking." . "Analyzing spawn arguments or attributes of a process to detect processes that are unauthorized." . "Process Spawn Analysis" . "Terminating a running application process on a computer system." . "## How it works\n\nProcesses are managed by the operating system kernel. Different operating system kernels manage the creation and termination of processes in a different manner, and expose this functionality via the kernel API.\n\nA running process might be terminated to mitigate its immediate effects if it is exhibiting anomalous, unauthorized, or malicious behavior; such as after detecting anomalous behavior via Administrative Network Activity Analysis, after a failed check from Stack Frame Canary Validation, or after System Call Analysis finds an attempt to execute an unauthorized system call.\n\n### Proprietary technology\nSecurity software might use proprietary technology to terminate processes, instead of the system-provided functions. Further research may provide specific detail on such methods used.\n\n### System-provided functions\n\n#### Windows tools\nIn Windows, `ExitProcess()` is used to send a signal to a process to request it to exit, and `TerminateProcess()` is used to force a process to exit.\n\nThe `taskkill` executable available in the cmd shell is used to kill a process, with the `/F` switch forcing termination as with `TerminateProcess()`. In PowerShell, `Stop-Process` is used, which is aliased by default to `spps` and `kill`. Processes started in the Windows Subsystem for Linux (WSL) environment may be terminated there with the `kill` command.\n\n#### Unix/Linux tools\nIn Unix-like systems, all process termination requests are handled using signals. The `kill` function takes the Process ID and signal to send, and is accessible with the `kill` command. Some shells have a `kill` builtin function which is separate than the `kill` binary, which can also kill background jobs in the shell and additionally perform the function faster, and can run from an existing instance of the shell if the process table is full. The signal SIGTERM specifies that the process to terminate may invoke a handler that it has defined instead of terminating, and the signal SIGKILL forces immediate termination.\n\nThe related command `xkill` terminates the connection of a program to the X window server, after which the user process may decide to terminate itself; however, termination is not guaranteed as the process, which could be on the same or different host, could then run in a terminal or reconnect to a different X server on any host. Emacs is such a program that would not terminate itself after its connection to the X server is terminated.\n\n## Considerations\n\n### Persistence Mechanisms\nTerminating a malicious process is not enough to stop an adversary that has already gained persistence in the host via any initial access mechanism, including through that process or another access mechanism.\n\n### Terminating Multiple Processes\nOn most operating systems, process termination operations typically occur independently of each other, without functionality provided to atomically terminate multiple processes. If there are multiple malicious processes which can make system calls to spawn other processes once one of them is closed, user session termination or system restart might be required.\n\n### Process Access Permissions\nUsers must have permissions to kill the process. On Unix-like systems, either root or the process user can kill the process. On Windows systems, process permissions are managed separately via process security tokens.\n\n### Process Resource Handles\n\n#### Terminating Processes with Open Resource Handles\n\nProcesses may have open resource handles, which could leave those resources in an undesired state if the process is forced to terminate. As such, most operating systems provide a means to send a signal to a process to inform it to gracefully terminate, and on most of these operating systems, it is the typical first step used to terminate a process.\n\n#### Signal Traps\nAs the process may have open resource handles, commonly-used methods of process termination involve sending a signal to the process to terminate.\nOn Windows, the `ExitProcess()` function is used for this purpose. Process instructions, as well as a third-party DLL can also cause the process to exit.\nOn Linux, the process is sent a signal on the occurrence of various events: when it loses the console, `SIGHUP`; when termination is requested, `SIGTERM`. The processor then redirects execution to the function registered to handle the signal.\n\nTherefore, sending a signal to the process to ask it to terminate may not always work.\n\n##### Avoiding Signal Traps\n\nOn Unix-like systems, sending the `SIGKILL` signal for a process does not send a message to the process or invoke an implementation-defined handler; instead, it immediately does not allow the process to execute any further processor instructions. On Windows `TerminateProcess()` instead of `ExitProcess()` performs the equivalent.\n\n#### Hang on System Call Execution\n\nEven still, as the operating system kernel manages the processes, kernel code may block process signals, including those which cannot be trapped, and does in certain circumstances. Signals are blocked and queued for the duration of the system call when interrupting the system call would result in a kernel invariant being violated, such as when an action results in a malformed data structure; this blocking is common for filesystem requests. Such system calls can hang when a filesystem has gone offline, leading to a long-term uninterruptible sleep, represented in POSIX command `ps` output as D state.\nAny malicious system calls or system call handlers are issues of a much larger problem (a kernel-level rootkit) and the system should be redeployed entirely or restored from a backup known to be prior to compromise, and other systems accessible directly and indirectly from that one should also be examined.\n\nA process that is truly hung in a system call may prevent the system from shutting down and leave it in an unresponsive state; a hard power off is required.\n\nTo speed up the action of terminating a process in uninterruptible sleep, the process resource accesses (handles) could be analyzed.\n\nOn Linux, [`sync` followed by `echo 3 > /proc/sys/vm/drop_caches`](https://www.kernel.org/doc/Documentation/sysctl/vm.txt) is a safe way to free up some inactive resource handles.\n\n\n#### Kernel Processes and Threads\nThe kernel may not allow kernel processes, which are created via methods other than user-space processes, to be terminated.\n\n#### Other Code using the Process\n\nTerminating a shared library can lead to unexpected errors; such shared libraries have their own mechanisms for termination.\n\nOn Windows, a DLL is unloaded when the reference count of the library reaches 0.\n\n#### Zombie process\n\nAfter a process has been terminated, it may still take up an entry in the operating system process table until another event occurs.\n\n##### Windows\nIn Windows, a process object is deleted when the last handle to the process is closed.\n\n##### Linux\nIn Linux, a process is removed from the process table when it is reaped by its parent process. If the parent terminates, historically the parent has been changed to pid 1; however, in the Linux kernel 3.4 and above, processes can set a different process as the subreaper using the `prctl()` system call.\n\nZombie processes and hung processes could be resolved with a restart of the system.\n\n#### System restart\nFinally a system restart might be required to kill a process.\nSystems which are only accessible via a remote in-band connection may become inaccessible if a process termination operation that is necessary for reboot does not complete.\n\n### Subsystems\nProcesses that are started in a subsystem might not be fully terminated if they are terminated using the command for that subsystem. For example, in the Windows Subsystem for Linux (WSL), processes started and terminated via WSL calls such as with the `kill` command in Bash may still have an entry in the Windows process table." . "Process Termination" . . "Process Spawn" . "A process tree is a tree structure representation of parent-child relationships established via process spawn operations." . . "Process Tree" . "In the OS X, iOS, NeXTSTEP, and GNUstep programming frameworks, property list files are files that store serialized objects. Property list files use the filename extension .plist, and thus are often referred to as p-list files. Property list files are often used to store a user's settings. They are also used to store information about bundles and applications, a task served by the resource fork in the old Mac OS." . . "Property List File" . "Plist File" . "Protocol Metadata Anomaly Detection" . "## How it works\nNetwork protocol metadata is first collected and processed in real-time or post-facto. Metadata may include packet header information or information about a session (ex. time between requests/responses). Metadata is then grouped based on shared characteristics and those groups are compared to each other. If particular metadata differs significantly from other data, an alert is generated, identifying the network event as anomalous. Anomalous activity may indicate unauthorized activity.\n\n## Considerations\nMetadata collection on enterprises can yield large data sets. Storage, indexing, querying, and aging should be considered prior to implementation." . "Collecting network communication protocol metadata and identifying statistical outliers." . "Public Key" . . "A public key can be disseminated widely as part of an asymmetric cryptography framework and be used to encrypt messages to send to the public key's owner or to authenticate signed messages from that sender." . "A Remote Desktop Protocol (RDP) session is a session established using the RDP protocol to access Remove Desktop Services (RDS)." . "Remote Desktop Session" . "Terminal Services" . . "RDP Session" . . "Adding physical barriers to a platform to prevent undesired radio interference." . "RF Shielding" . "RPC Network Traffic" . "RPC network traffic is network traffic related to remote procedure calls between network nodes..This includes only network traffic conforming to a standard RPC protocol; not custom protocols." . "RPC Traffic Analysis" . "## How it works\nA remote procedure call (RPC) enables one computer to execute a specific function on another computer, as if it were a local application process. There are numerous RPC specifications and implementations. RPC capabilities can be abused by attackers in order to achieve a variety of tactical objectives including execution, persistence, initial access, and more. RPC proxies may be used to collect and store RPC traffic. RPCs can occur over network sockets or named pipes.\n\nAnalytics look for unauthorized behavior such as:\n\n* Processes being launched or scheduled remotely\n* System configurations being changed remotely\n* Unauthorized file read activity\n\nExample RPC Protocols:\n\n* DCE/RPC\n* CORBA\n* Open Network Computing Remote Procedure Call\n* D-Bus\n* XML-RPC\n* JSON-RPC\n* SOAP\n* Apache Thrift\n\n## Considerations\n* RPC is widely used in enterprise environments, and significant data filtering may be required in large environments to enable analytic processing.\n* RPC traffic may occur over a pipe, or within a host over loopback interface, thus making network collection difficult." . "Monitoring the activity of remote procedure calls in communication traffic to establish standard protocol operations and potential attacker activities." . "RPC Protocol Analysis" . "Read File" . . "A program that needs to access data from a file stored in a file system uses the read system call. The file is identified by a file descriptor that is normally obtained from a previous call to open. This system call reads in data in bytes, the number of which is specified by the caller, from the file and stores then into a buffer supplied by the calling process." . "## How it works\nA relay may use a variety of proxying, forwarding, or routing technologies to bridge a protected network with an external network. A defensive analytic to detect a relay network may compare the network sessions among multiple hosts. Hosts which have nearly similar network statistics may be part of a relay network. The statistics may include number of bytes sent to and from, time of session initiation, packet size, or packet arrival time data.\n\n## Considerations\n\nComplex intranet VPNs or routing encapsulation may affect the detection analytics. In addition, unwanted packets might not be forwarded, and additional packets may be added at the relay, further complicating detection." . "Relay Network Detection" . "The detection of an internal host relaying traffic between the internal network and the external network." . "Relay Pattern Analysis" . "Remote Session" . "A remote login session is a login session where a client has logged in from their local host machine to a server via a network." . "## How it works\nAn external attacker takes remote control of a host inside a company or organization's network and manually directs offensive techniques. Nonstandard terminal sessions and abnormal behaviors are analyzed in this technique. Abnormal behavior detection includes analysis of user input patterns in the real-time session, keyboard output and packet inspection.\n\n### Network Traffic Inspection\nNetwork traffic from internal hosts is the main concern and focus for the traffic inspection. The network traffic is collected into inspection groups. The groups of traffic are assembled into distinct pair flows (outbound/inbound) and the pair flows are further divided into sessions. Only sessions originated inside of the network are considered for the inspection. Traffic inspection includes analysis to determine if a human is involved in the session exchanges. Time-based statistics are captured for each session being analyzed by the detection engine.\n\n### Algorithm Analysis Description\nAnalysis algorithms look for patterns in the network traffic captured from the session data. A detection engine groups the session traffic data, between the hosts, into rapid exchange instances. Analysis of rapid exchange traffic patterns can lead to the discovery of abnormal behavior which is indicative of a compromised internal host. The analysis algorithms look for patterns in the traffic which correlate to known activity (e.g., relay attacks, bot activity, bitcoin mining). Some metrics used during inspection include the following.\n\n* Number of rapid-exchange instances\n* Time interval between packets\n* Fixed cadence of traffic\n* Rhythm and direction of the initiation of instances\n* Volume of data flowing from internal to external controlling host\n* Data transfer characteristics\n* Variability in length of silent periods\n\n## Considerations\n* Full packet capture is required which can be process intensive to analyze\n* Attackers that move low and slow may blend in with existing traffic resulting in false negatives" . "Remote Terminal Session Detection" . "Detection of an unauthorized remote live terminal console session by examining network traffic to a network host." . "A removable media device is a hardware device used for computer storage and that is designed to be inserted and removed from the system. It is distinct from other removable media in that all the hardware required to read the data are built into the device. So USB flash drives and external hard drives are removable media devices, whereas tapes and disks are not, as they require additional hardware to perform read/write operations." . "Removable Media Device" . . "In computing, a system resource, or simply resource, is any physical or virtual component of limited availability within a computer system. Every device connected to a computer system is a resource. Every internal system component is a resource. Virtual system resources include files (concretely file handles), network connections (concretely network sockets), and memory areas. Managing resources is referred to as resource management, and includes both preventing resource leaks (releasing a resource when a process has finished using it) and dealing with resource contention (when multiple processes wish to access a limited resource)." . . "Resource" . "Ephemeral digital artifact comprising a request of a resource and any response from that resource." . "Resource Access" . . "## How it works\nThis technique analyzes a user's resource accesses by comparing the user's recent activity against a baseline activity model. Major differences between the current activity and the baseline model might indicate unauthorized activity if they are severe enough.\n\n\n## Considerations\n* Potential for false positives from anomalies that are not associated with malicious activity.\n* Attackers that move low and slow may not differentiate their resource access activity behavior enough to trigger an alert." . "Resource Access Pattern Analysis" . "Analyzing the resources accessed by a user to identify unauthorized activity." . . "Resource Fork" . "The resource fork is a fork or section of a file on Apple's classic Mac OS operating system, which was also carried over to the modern macOS for compatibility, used to store structured data along with the unstructured data stored within the data fork." . "Reverse Resolution Domain Blacklisting" . "## How it works\n\nIn reverse resolution requests, the client sends to a nameserver (such as a DNS server) a query of an IP address, to get a response of the associated domain name(s). This technique drops reverse lookup responses where a domain name matches an entry in the blacklist, either verbatim or as a wildcard subdomain of a higher-level domain on the list. Such domain names might be unwanted because Forward Domain Name Resolution requests to such a blacklisted domain might return an unwanted IP address.\n\nThis technique is useful because relying solely on Forward Resolution Domain Blacklisting will miss instances where the domain in question is forward-resolved in a manner that is not inspected via a subsequent technique (as is likely the case if that resolution is performed with DoH (DNS over HTTPS) or DoT (DNS over TLS)). Additionally, note that responses to forward lookups of that domain are *not* necessarily equal to the original IP in the reverse lookup request, and that future lookups of a string based on this domain may even employ a less-common name resolution protocol, such as NBNS.\n\nThe DNS response can either be blocked by dropping the network traffic with an inline device, or by modifying the value of the response sent by the DNS server. To prevent client applications from hanging on a request, it is common practice to replace malicious values, either with names like \"localhost.\" or the address of a honeypot maintained by the network administrators.\n\n## Considerations\n\n* This technique does not prevent the client from contacting the blacklisted domain or any IP addresses that it might resolve to, only from learning about this domain name via a nameserver lookup.\n* DNS response traffic can be transmitted over many different protocols, which presents a challenge to implementing methods to extract all DNS answer domain name value(s).\n * DNS has historically used UDP port 53, with TCP port 53 instead used for responses over 512 bytes or after a lack of response over UDP.\n * Usage of new protocols to provide confidentiality for DNS traffic, such as DoH (DNS over HTTPS) and DoT (DNS over TLS), complicates collection of the IP address(es) in DNS responses. These protocols have often been enabled in browser settings transparently after a browser update, with DNS requests proxied over one of these cryptographic protocols through a specified host.\n* This technique must be deployed between the application that receives the response and the server which sent the response.\n * DNS responses sent in an encrypted manner, such as using DoH or DoT, will require interception of the TLS connections in order to determine the domain name(s) in the response.\n* Replacing the response is not effective in the case that the nameserver uses a technique to provide integrity of its responses, such as DNSSEC for DNS responses." . "Blocking a reverse DNS lookup's answer's domain name value." . "Reverse Resolution Domain Denylisting" . "## How it works\nThis technique prevents a client from learning domains deemed to be potentially malicious, which would have been delivered via reverse resolution responses over the DNS protocol.\n\nQueries for reverse resolution requests (that is, requests where IP(s) are sent and a domain is returned) are collected, and the IP address(es) included in the query are examined. If the IP address(es) are in a range included in the blacklist, then the query is dropped.\n\n## Considerations\n- The blacklist will have to be maintained and will need to be kept up to date with identified maintenance cycles to ensure lists are not stale.\n- DNS query traffic can be transmitted over many different protocols, which presents a challenge to implementing methods to extract all DNS query IP address value(s).\n - DNS has historically used UDP port 53, with TCP port 53 instead used for responses over 512 bytes or after a lack of response over UDP.\n - Usage of new protocols to provide confidentiality for DNS traffic, such as DoH (DNS over HTTPS) and DoT (DNS over TLS), complicates collection of the IP address(es) in DNS queries. These protocols have often been enabled in browser settings transparently after a browser update, with DNS queries proxied over one of these cryptographic protocols through a specified host." . "Blocking a reverse lookup based on the query's IP address value." . "Reverse Resolution IP Denylisting" . "Reverse Resolution IP Blacklisting" . "SSH Session" . . "A Secure Shell Protocol (SSH) session is a session over a secure channel established using SSH to connect a client to a server and establish the remote session." . "Analysis of source files, processes, destination files, or destination servers associated with a scheduled job to detect unauthorized use of job scheduling." . "Scheduled Job Analysis" . "Scheduled Job Execution" . "## How it works\nScheduled job execution can be utilized by adversaries for the purpose of persistence, conducting remote execution, or gaining privileges. Details of a scheduled job such as associated source files, processes, destination files, or destination servers are first identified and analyzed and then compared against an anti-malware signature database, whitelist, or reputation server. For example, a file associated with a scheduled job to be executed at a specified time or a remote server that is accessed as part of a scheduled task is compared against an anti-malware signature database, whitelist, or reputation server, and if a match is found, execution is denied and an alert is generated.\n\nIn addition to traditional scheduled jobs, triggers can be set to execute a specific command after detecting a specific event in the system, such as with WMI Event Subscriptions in Windows.\n\n## Considerations\nJobs can be scheduled in many different and sometimes creative ways through operating system capabilities." . "Script Process" . "Script Application Process" . "A script application process is an application process interpreting an executable script." . "## How it works\nSoftware installed on the host system hooks into a scripting engine to intercept commands before they are executed and block commands if they are determined to be harmful. Pattern matching is used to identify unauthorized commands or in the case of script files, a hash of the file is compared against hashes of known unauthorized script files.\n\n## Considerations\nList of known unauthorized script files or regular expression patterns must be kept up to date to ensure detection of new threats." . "Analyzing the execution of a script to detect unauthorized user activity." . "Script Execution Analysis" . "Security Token" . "Security tokens are peripheral devices used to prove one's identity electronically (as in the case of a customer trying to access their bank account). The token is used in addition to or in place of a password to prove that the customer is who they claim to be. The token acts like an electronic key to access something." . . "Segment Address Offset Randomization" . "## How it works\n\nMany application exploits rely on an attacker specifying a location in memory, which points to data or code used by the attacker. If the addresses are changed each time the program is run, then it becomes more difficult for the attacker to determine the location that will contain the code they wish to run.\n\nImported modules may be similarly realigned if their default memory addresses conflict with other modules, in a process known as \"rebasing.\" Just as not all code is built for participation in ASLR, not all modules can be rebased; instead, modules must indicate whether they implement support for rebasing. Such information to relocate the executable is typically stored in the \".reloc\" segment -- each of the addresses pointed to in this segment has its address increased by the amount of the offset.\n(An alternative method for relocation would be to add an amount to a global variable each time -- leading to less overhead in the module load, but more for each access. Still another implementation could instead contain code to deference each changeable memory location on the fly, so that each of the references do not need to be updated.\n\n\n## Considerations\n\nAs the offset for each segment is constant, it is possible to guess at the value of the address given the address of another variable. Alternatively, memory pointers may be kept around, which contain the address of another variable.\nAnother bypass technique is known as an \"egg hunt,\" whereby the attacker searches for a rather unique piece of the data or code in memory to determine its likely address.\n\nThe program needs to store these addresses for the functions somewhere. In Linux, the PLT contains a \"trampoline\" to these addresses. If an attacker desires to jump to the start of an existing function, they can jump directly to the trampoline anyway, and may have the opportunity to provide their own stack frame to the function with a write to the stack. If they overwrite a saved stack pointer which is loaded back into memory, or execute a function, that changes the address of a stack pointer.\n\nIf an attacker wants to inject some data into the program, for example as a parameter to a known function that is not under ASLR or a pointer to a trampoline function in the PLT, then they can repeat the data until they exceed the range of ASLR coverage, which on 32-bit systems is accomplishable in a few seconds with a heap spray. Microsoft's EMET and Windows 10 Exploit Guard can pre-allocate particular addresses that are commonly used in heap sprays. However, in many products, there does not seem to be nearly a complete coverage of such addresses, which only need to be executable and in the range of the heap; 0x0c0c0c0c is such an address that is commonly used for the x86 processor architecture, as when executed it only performs a numeric operation to a register four times." . "Address Space Layout Randomization" . "Randomizing the base (start) address of one or more segments of memory during the initialization of a process." . "ASLR" . "Characterizing the reputation of mail transfer agents (MTA) to determine the security risk in emails." . "Sender MTA Reputation Analysis" . "## How it works\nThe sender message transfer agent (MTA) trust rating can be considered an indicator of the level of security risk and/or a trust level associated with sender MTAs in an email header.\n\nThe features considered in determining the trust rating may include:\n\n* Length of time MTA has interacted with the enterprise\n* Number of sender domains sending emails from the MTA\n* Number of recipients in the enterprise the MTA sends emails to\n* Number of emails received from this MTA\n* Number of email replies received from this MTA\n\nFor example, higher values for the length of time an MTA has interacted with the enterprise, or number of emails received from an MTA can result in a higher trust rating. The trust rating categorizes the sender MTA as unrated, neutral, trusted, suspicious, or malicious.\n\n## Considerations\nLegitimate emails from a sender MTA may receive a lower trust rating over time if the sender's domain gets spoofed and is used to send unauthorized emails." . "Ascertaining sender reputation based on information associated with a message (e.g. email/instant messaging)." . "Sender Reputation Analysis" . "## How it works\n\nSender trust rating can be considered an indicator of the level of security risk and/or a trust level associated with a sender. The features considered in determining the trust rating include:\n\n* Length of time sender has sent emails to the enterprise\n* Number of recipients in the enterprise the sender interacts with\n* Sender vs. enterprise originated message ratio\n* Sender messages opened vs. not-opened ratio\n* Number of emails received from this sender\n* Number of emails replied to this sender\n* Number of emails from this sender not opened\n* Number of emails from this sender not opened that contain an attachment\n* Number of emails from this sender not opened that contain a URL\n* Number of emails sent to this sender\n* Number of email replies received from this sender.\n\nHigher values for the number of recipients the sender has interacted with or the number of emails received from the sender, for example, results in a higher trust rating. The trust rating can categorize the sender as unrated, neutral, trusted, suspicious, or malicious.\n\n## Considerations\nLegitimate emails from a sender may receive a lower trust rating over time if the sender's domain gets spoofed and is used to send unauthorized emails." . "An application that provides a set of software functionalities so that multiple clients who can reuse the functionality, provided they are authorized for use of the service." . . . "Service Application" . "Analyzing changes in service binary files by comparing to a source of truth." . "Service Binary Verification" . "## How it works\nSystem service applications may originate from the operating system installation or third-party applications installed with administrative privileges. These services have an entry point of some executable file-- a binary or a script. Attackers sometimes modify these executables to launch their own code. Analyzing changes in these files may uncover unauthorized activity.\n\n## Considerations\n* These files change for legitimate reasons when the system or software updates.\n* The source of truth must not be corrupted in order for this method to work." . "A service dependency indicates a service has an activity, agent, or another service which relies on it in order to be functional." . "Service Dependency" . "Distributed Tracing" . "Service Dependency Mapping" . "Service dependency mapping determines the services on which each given service relies." . "## How it works\nThe organization collects and models architectural information about the services and consumers of services and maps the dependencies between the services.\n\n## Considerations\n* Architectural design artifacts and SMEs may need to be consulted to determine if dependencies are intended or otherwise essential.\n* Service dependencies for critical systems--those supporting critical organizational activities--should be prioritized for supply chain risk analysis.\n* Service dependencies in cloud or microservice architectures may be discovered using distributed tracing capabilities" . "Transient Cookie" . "Web Session Cookie" . "In-memory Cookie" . "Non-persistent Cookie" . . "A session cookie, also known as an in-memory cookie, transient cookie or non-persistent cookie, exists only in temporary memory while the user navigates the website. Web browsers normally delete session cookies when the user closes the browser. Unlike other cookies, session cookies do not have an expiration date assigned to them, which is how the browser knows to treat them as session cookies." . . "Session Cookie" . "Session Duration Analysis" . "## How it works\nDetecting unauthorized user sessions by comparing the duration of a user logon session with a baseline behavior model. The behavior model comprises historical user session duration times. Abnormalities between session duration and the behavior model may indicate suspicious activity.\n\n## Considerations\n* Potential for false positives from anomalies that are not associated with malicious activity.\n* Attackers may not differentiate their session duration enough to trigger an alert." . "Analyzing the duration of user sessions in order to detect unauthorized activity." . "## How it works\nThis technique compares the call stack stored in system memory with the shadow call stack maintained in the cache memory of the processor. Mismatches between the two are compared since a return oriented programming attack may only be able to control or spoof the call stack and not the shadow call stack. Mismatches are counted and if the number of mismatches exceeds a certain threshold it is an indication of unauthorized activity and a security response action is performed.\n\n## Considerations\nIf the threshold for detecting a stack anomaly is low, it may not detect a return-oriented attack with just one gadget, such as a return-to-libc or return-to-plt attack. Additionally, this technique may not detect JOP (Jump-oriented programming), as the return instruction is not executed." . "Shadow Stack Comparisons" . "Comparing a call stack in system memory with a shadow call stack maintained by the processor to determine unauthorized shellcode activity." . "Shared Library" . "Shared Library File" . "A shared library file is a file that is intended to be shared by executable files and further shared library (object) files. Modules used by a program are loaded from individual shared objects into memory at load time or runtime, rather than being copied by a linker when it creates a single monolithic executable file for the program" . . "Shared Object" . "In computer programming, a shim is a small library that transparently intercepts API calls and changes the arguments passed, handles the operation itself, or redirects the operation elsewhere. Shims can be used to support an old API in a newer environment, or a new API in an older environment. Shims can also be used for running programs on different software platforms than those for which they were developed." . "Shim" . . "Shim Database" . "A application configuration database that contains or points to software shims (e.g., for backward compatibility, patches, etc.)" . "Software" . . "Computer software, or simply software, is that part of a computer system that consists of encoded information or computer instructions, in contrast to the physical hardware from which the system is built." . "Software that coordinates the deployment process of software to systems, typically remotely." . "Software Deployment Tool" . "Software inventorying identifies and records the software items in the organization's architecture." . "Software Discovery" . "Software Inventorying" . "## How it works\nAdministrators collect information on software items in their architecture using a variety of administrative and management tools that query network nodes for information. In limited cases, where such queries are not supported or provide specific information of interest, an administrator may also collect this information through network enumeration methods to determine services responding on network nodes.\n\n## Considerations\n* Scanning and probing techniques using mapping tools can result in side effects to information technology (IT) and operational technology (OT) systems.\n* An adversary conducting network enumeration may engage in activities that parallel normal software inventorying activities, but would require escalating to admin privileges for most of the operations requiting administrative tools.\n\n## Examples\n\nApplication-layer discovery:\n\n* Simple Network Management Protocol (SNMP) collects MIB information\n* Web-based Enterprise Management (WBEM) collects CIM information\n * Windows Management Instrumentation (WMI)\n * Windows Management Infrastructure (MI)" . "Software Inventory" . "Replacing old software on a computer system component." . "Software Update" . "Source Code" . "Activation Record" . . "A machine-dependent and application-binary-dependent (ABI-dependent) data structure containing subroutine state information including the arguments passed into the routine, the return address back to the routine's caller, and space for local variables of the routine." . . "Activation Frame" . "Stack Frame" . . "Stack canaries, named for their analogy to a canary in a coal mine, are used to detect a stack buffer overflow before execution of malicious code can occur. This method works by placing a small integer, the value of which is randomly chosen at program start, in memory just before the stack return pointer. Most buffer overflows overwrite memory from lower to higher memory addresses, so in order to overwrite the return pointer (and thus take control of the process) the canary value must also be overwritten. This value is checked to make sure it has not changed before a routine uses the return pointer on the stack. This technique can greatly increase the difficulty of exploiting a stack buffer overflow because it forces the attacker to gain control of the instruction pointer by some non-traditional means such as corrupting other important variables on the stack." . "Stack Frame Canary" . "Stack Canary" . "Comparing a value stored in a stack frame with a known good value in order to prevent or detect a memory segment overwrite." . "## How it works\n\nThis defense must be applied at compile-time, or via a patch to the program binary. Stack Frame Canary Verification inserts instructions at the prologue and epilogue of desired functions. In the prologue, a canary value, typically with the same size as the register size, is stored in the system of record and on the stack. Typically, the canary is loaded to where it has a memory address just below that of the saved instruction pointer and base pointer. In the epilogue, the canary value stored on the stack and, is compared to the canary value in the system of record. If the values are different, other techniques such as those in Process Eviction might be invoked, such as Process Termination to end the current process, or Executable Blacklisting to blacklist the potentially vulnerable or malfunctioning executable.\n\nStack Frame Canary Verification is commonly used to detect potential tampering of a saved register value on the stack before it has been restored. Examples of registers with values commonly saved to the stack include the instruction pointer and the base pointer.\n\nThe canary should be stored between where the start of a buffer overrun is likely, and the data to protect, in cases where the buffer size increases it will overwrite the data to be protected.\n\nOn most processor architectures, including x86, x64, and ARM, a \"push\" operation to store data to the stack grows the stack towards a lower memory address. As in these architectures, saved register values are stored to the stack at a point in time just before space is made for the local function variables, the saved register values have a higher address than that of the local function variables. Values at increasing indexes of a buffer are written to increasing memory addresses; therefore, an overwrite in the local variable buffer could overwrite saved register values, and a stack canary between these two would be useful in detecting an overwrite.\n\nOn some other processor architectures such as the B5000, the stack grows towards increasing memory addresses, and some architectures, such as System Z and RCA1802A, stack direction can be chosen. If the stack grows towards increasing memory addresses, while this architecture inherently provides more protection against a saved register being overwritten, other data including local function variables might be overwritten.\n\n\n## Considerations\n\nThere are several ways that the protection provided by a canary could be rendered ineffective.\n\n### Performing a malicious action before the canary is checked\n\nIf the attacker alters the memory in such a way that it performs a malicious action before the epilogue is called, then this protection will not be effective. This includes altering the logic of the program by altering the values of local variables stored on the function stack, or by causing an exception and exploiting the exception mechanism such as the SEH (Structured Exception Handling) mechanism on Windows.\n\n### Determining the canary value\n\nDetermining the canary value is possible through reading memory either for the code used to check the canary, or from the stored canary value itself in a stack frame.\n\n### Changing the canary value\n\nA vulnerability such as a write-what-where condition that allows one to write data after the canary in the stack, would allow control of the value of the saved instruction pointer without needing to know the canary value." . "Stack Frame Canary Validation" . "Stack Segment" . "The stack segment contains the program stack, a last-in-first-out structure, typically allocated in the higher parts of memory for the process." . . . "Standalone Honeynet" . "An environment created for the purpose of attracting attackers and eliciting their behaviors that is not connected to any production enterprise systems." . "## How it works\nA standalone honeynet does not directly interact with the real enterprise environment. It may be located near or in some portion of the enterprise address space, but it does not interact with enterprise resources.\n\n## Considerations\nA standalone honeynet is a lower risk to deploy compared to connected or integrated honeynets due to its isolation from the enterprise network. However, this comes at cost in loss of fidelity and realism. Significant extra effort must be made in order to make the environment look realistic." . "Computer data storage, often called storage or memory, is a technology consisting of computer components and recording media used to retain digital data. It is a core function and fundamental component of computers. In the Von Neumann architecture, the CPU consists of two main parts: The control unit and the arithmetic / logic unit (ALU). The former controls the flow of data between the CPU and memory, while the latter performs arithmetic and logical operations on data." . "Computer data storage" . . "Storage" . "Stored Procedure" . "A stored procedure (also termed proc, storp, sproc, StoPro, StoredProc, StoreProc, sp, or SP) is a subroutine available to applications that access a relational database management system (RDBMS). Such procedures are stored in the database data dictionary." . . "Modifying system configuration to increase password strength." . "Strong Password Policy" . "## How it works\nPassword strength guidelines include increasing password length, permitting passwords that contain ASCII or Unicode characters, and requiring systems to screen new passwords against lists of commonly used or compromised passwords.\n## Considerations\nExtremely complex password requirements may lead users to saving passwords in text files or picking obvious passwords that meet the policy." . . "Subroutine" . "In different programming languages, a subroutine may be called a procedure, a function, a routine, a method, or a subprogram. The generic term callable unit is sometimes used." . "Softlink" . . "Symbolic Link" . "A symbolic link (also symlink or soft link) is a term for any file that contains a reference to another file or directory in the form of an absolute or relative path and that affects pathname resolution." . "Symlink" . "Soft Link" . "A system call is the programmatic way in which a computer program requests a service from the kernel of the operating system it is executed on. This may include hardware-related services (for example, accessing a hard disk drive), creation and execution of new processes, and communication with integral kernel services such as process scheduling. System calls provide an essential interface between a process and the operating system." . . "System Call" . "API Monitoring" . "Analyzing system calls to determine whether a process is exhibiting unauthorized behavior." . "System Call Analysis" . "## How it works\n\nSystem calls are APIs between a user application and the operating system [1].\n\nBy analyzing a process's use of these APIs, it is, in some cases, possible to ascertain whether a program is exhibiting unauthorized behavior, including trying to escalate its privileges.\n\n### Gathering System Calls\nA common method to capture system calls is to use kernel APIs to hook [2] a process's system call invocations.\n\nThe Linux system call `ptrace` tracks other system calls in a process and allows their alteration; this is made use of by GDB. `strace` utilizes `ptrace` and will print to stdout each system call invoked. Other applications record this data in local or remote databases.\n\nThe log entry for each system call, which may reference additional information such as the date and time, and the process tree for the process which made the system call, is relayed, in real time or post-facto, to an analysis module which consults a catalog or model to determine whether the distribution matches a known-good or known-bad pattern.\n\n\n### Analysis\n\nSystem calls are analyzed with a variety of methods. Some analytics look for specific sequences of instructions, others may apply statistical methods to identify abnormal behavior. Sequences of instructions can be abstracted into conceptually higher order user activities, for example:\n\n* An attacker executes many system calls in a short period of time, with several sequences which could be used to escalate privileges.\n* Getting the contents from a URL, writing to a new file, and then executing the same file.\n* A ransomware program which either uses a loop or creates many threads to: read a specified file, encrypt its contents, create an output file with a similar name to the original file, and delete the unencrypted original.\n\n## Considerations\n\n* Duplicative or extraneous system calls may be added to malware to defeat analytics.\n* Malware could replace API hooking instructions to allow system calls to be made without being monitored.\n* A model built from a training set of system calls and related data may not be updated fast enough to detect new threats.\n\n\n[1] [Syscalls](http://man7.org/linux/man-pages/man2/syscalls.2.html)\n\n[2] [Hooking](http://dbpedia.org/resource/Hooking)" . "Configuring a kernel to use an allow or deny list to filter kernel api calls." . "System Call Filtering" . "System Configuration Database" . "A database used to hold system configuration data." . "System Configuration Database Record" . "A database record holding information used to configure the services, parameters, and initial settings for an operating system." . "A database record holding information used to configure the services, parameters, and initial settings for an operating system at startup." . "System Configuration Startup Database Record" . "System Configuration Init Database Record" . "Restricting system configuration modifications to a specific user or group of users." . "System Configuration Permissions" . "Tracking changes to the state or configuration of critical system level processes." . "System Daemon Monitoring" . "## How it works\nAttackers may manipulate system settings or services to disable system logging or monitoring of security tools and events. Firewall and antivirus services are popular targets for attackers. Disabling system logs will also allow an attacker's actions to go unnoticed. Analysis of logs, registries, and process monitoring help defenders locate signs of tampering. Two possible approaches are to monitor hardened system services or to monitor registry updates for modifications to security settings." . "https://www.ibm.com/docs/en/taddm/7.3.0?topic=model-dependencies-between-resources" . "https://r-docs.synapse.org/articles/systemDependencies.html" . "System Dependency" . "A system dependency indicates a system has an activity, agent, or another system which relies on it in order to be functional." . "https://dl.acm.org/doi/10.1145/960116.53994" . "System dependency mapping identifies and models the dependencies of system components on each other to carry out their function." . "## How it works\nThe organization collects and models architectural information about the software, hardware, and products and maps the dependencies between systems, including each system's internal components and dependencies.\n\n## Considerations\n* Data exchanges identified in the network mapping efforts usually indicate such dependencies, but may not be part of the intended design.\n* Architectural design artifacts and SMEs may need to be consulted to determine if dependencies are intended or otherwise essential.\n* System depedency mapping can identify internal dependencies of standard and pre-built systems that should be incorporated into a complete system dependency model.\n* System dependencies for critical systems--those supporting critical organizational activities--should be prioritized for supply chain risk analysis.\n* System dependencies should identify the integral components of a given named system and their structure to form a system.\n* System dependencies with a given system may be fixed by a particular product's configuration, and leveraging external knowledge bases about dependencies available (e.g., from package managers) is essential." . "System Dependency Mapping" . "System File Analysis" . "## How it works\nThis technique ensures the integrity of system owned file resources. System files can impact the behavior below the user level.\n\n\n## Considerations\n* Need to manage the size of log file analysis.\n* False positives are a concern with this technique and filtering will need to be given additional thought.\n* A baseline or snapshot of file checksums should be established for future comparison." . "Monitoring system files such as authentication databases, configuration files, system logs, and system executables for modification or tampering." . "The configuration for a individual host operating system's firewall." . . "System Firewall Configuration" . "System Firmware" . "BIOS Firmware" . "Firmware that is installed on a computer's main board which manages the initial boot process. It can also continue to run or function after the operating system boots." . "UEFI Firmware" . "## How it works\nCryptographic hash values are computed for system firmware. The hash values are compared against precomputed firmware hash values to determine if the firmware has been tampered with.\n\nWhen system firmware verification fails a set of predefined responses is typically invoked. The responses may direct the system to disable some devices or operations.\n\n## Considerations\n* Requires the use of system provided security modules\n* Secure hash values will need to be computed for firmware" . "Cryptographically verifying installed system firmware integrity." . "System Firmware Verification" . "Startup Analysis" . "Autorun Analysis" . "System Init Config Analysis" . "System Initialization Configuration Analysis" . "Analysis of any system process startup configuration." . "System initialization configuration information is configuration information used to configure the services, parameters, and initial settings for an operating system at startup." . "Autoruns" . "System Init Configuration" . "A script used to initialize and configure elements of the system's environment, applications, services, or its operating system." . "System Init Script" . "System mapping encompasses the techniques to identify the organization's systems, how they are configured and decomposed into subsystems and components, how they are dependent on one another, and where they are physically located." . "System Mapping" . "System Password Database" . "A password database used by a system service or process to authenticate users (e.g., Security Account Manager)" . "Software services provided as part of the operating system, typically accessed through system calls." . "System Service Software" . . "A system startup directory is a directory containing executable files or links to executable files which are run when the system starts." . "System Startup Directory" . "System Time Application" . "A system time utility is utility software that can get the system time, such as the Unix date command or Windows' Net utility." . "System Vulnerability Assessment" . "System vulnerability assessment relates all the vulnerabilities of a system's components in the context of their configuration and internal dependencies and can also include assessing risk emerging from the system's design as a whole, not just the sum of individual component vulnerabilities." . "T1001" . "Data Obfuscation" . "OS Credential Dumping" . "T1003" . "T1003.001" . "LSASS Memory" . "T1003.002" . "Security Account Manager" . "NTDS" . "T1003.003" . "T1003.004" . "LSA Secrets" . "Cached Domain Credentials" . "T1003.005" . "T1003.006" . "DCSync" . "Proc Filesystem" . "T1003.007" . "/etc/passwd and /etc/shadow" . "T1003.008" . "Data from Local System" . "T1005" . "T1006" . "Direct Volume Access" . "System Service Discovery" . "T1007" . "T1008" . "Fallback Channels" . "T1010" . "Application Window Discovery" . "T1011" . "Exfiltration Over Other Network Medium" . "T1012" . "Query Registry" . "T1014" . "Rootkit" . "System Network Configuration Discovery" . "T1016" . "Remote System Discovery" . "T1018" . "T1020" . "Automated Exfiltration" . "T1021" . "Remote Services" . "T1021.001" . "Remote Desktop Protocol" . "T1021.004" . "SSH" . "Data from Removable Media" . "T1025" . "T1027.001" . "Binary Padding" . "T1027.002" . "Software Packing" . "T1027.004" . "Compile After Delivery" . "HTML Smuggling" . "T1027.006" . "T1029" . "Scheduled Transfer" . "Data Transfer Size Limits" . "T1030" . "System Owner/User Discovery" . "T1033" . "T1036.001" . "Invalid Code Signature" . "Right-to-Left Override" . "T1036.002" . "T1036.003" . "Rename System Utilities" . "T1036.004" . "Masquerade Task or Service" . "Match Legitimate Name or Location" . "T1036.005" . "Space after Filename" . "T1036.006" . "T1036.007" . "Double File Extension" . "T1037.001" . "Logon Script (Windows)" . "Logon Script (Mac)" . "T1037.002" . "Network Logon Script" . "Group Policy Object / Active Directory Users and Computers are both Active Directory-based" . "T1037.003" . "T1037.004" . "Rc.common" . "Startup Items" . "T1037.005" . "T1039" . "Data from Network Shared Drive" . "Network Sniffing" . "T1040" . "T1041" . "Exfiltration Over C2 Channel" . "T1047" . "Windows Management Instrumentation Execution" . "T1048" . "Exfiltration Over Alternative Protocol" . "Exfiltration Over Symmetric Encrypted Non-C2 Protocol" . "T1048.001" . "Exfiltration Over Asymmetric Encrypted Non-C2 Protocol" . "T1048.002" . "Exfiltration Over Unencrypted/Obfuscated Non-C2 Protocol" . "T1048.003" . "T1049" . "System Network Connections Discovery" . "T1052.001" . "Exfiltration over USB" . "The sub-techniques of this are specific software implementations of scheduling capabilities" . "T1053" . "Scheduled Task/Job Execution" . "T1053.004" . "Launchd" . "Dynamic-link Library Injection" . "T1055.001" . "T1055.002" . "Portable Executable Injection" . "T1055.003" . "Thread Execution Hijacking" . "T1055.004" . "Asynchronous Procedure Call" . "Thread Local Storage" . "T1055.005" . "Ptrace System Calls" . "T1055.008" . "T1055.009" . "Proc Memory" . "Process Hollowing" . "T1055.012" . "Process Doppelg\u00E4nging" . "T1055.013" . "VDSO Hijacking" . "T1055.014" . "Keylogging" . "T1056.001" . "T1056.002" . "GUI Input Capture" . "T1056.003" . "Web Portal Capture" . "Credential API Hooking" . "T1056.004" . "Process Discovery" . "T1057" . "Command and Scripting Interpreter Execution" . "T1059" . "T1068" . "Exploitation for Privilege Escalation" . "Clear Windows Event Logs" . "T1070.001" . "T1070.002" . "Clear Linux or Mac System Logs" . "Clear Command History" . "T1070.003" . "T1070.004" . "File Deletion" . "Network Share Connection Removal" . "T1070.005" . "T1070.006" . "Timestomp" . "Application Layer Protocol C2" . "T1071" . "Application Layer Protocol" . "T1071.001" . "Web Protocols" . "File Transfer Protocols" . "T1071.002" . "T1071.003" . "Mail Protocols" . "T1071.004" . "DNS" . "Software Deployment Tools Execution" . "T1072" . "Data Staged" . "T1074" . "Local Data Staging" . "T1074.001" . "Remote Data Staging" . "T1074.002" . "T1078" . "Valid Accounts" . "T1078.001" . "Default Accounts" . "Domain Accounts" . "T1078.002" . "Local Accounts" . "T1078.003" . "T1078.004" . "Cloud Accounts" . "T1080" . "Taint Shared Content" . "System Information Discovery" . "T1082" . "File and Directory Discovery" . "T1083" . "T1087.001" . "Local Account" . "Domain Account" . "T1087.002" . "Cloud Account" . "T1087.004" . "T1090.001" . "Internal Proxy" . "External Proxy" . "T1090.002" . "Multi-hop Proxy" . "T1090.003" . "Domain Fronting" . "T1090.004" . "T1091" . "Replication Through Removable Media" . "T1092" . "Communication Through Removable Media" . "T1095" . "Non-Application Layer Protocol" . "Account Manipulation" . "T1098" . "Additional Azure Service Principal Credentials" . "T1098.001" . "T1098.002" . "Exchange Email Delegate Permissions" . "T1098.003" . "Add Office 365 Global Administrator Role" . "Web Service" . "T1102" . "T1104" . "Multi-Stage Channels" . "Ingress Tool Transfer" . "Session is initiated by the client, and may be a custom protocol which is why it is related to generic network traffic instead of file transfer network traffic." . "T1105" . "Native API Execution" . "T1106" . "T1110.001" . "Password Guessing" . "Password Cracking" . "T1110.002" . "T1110.003" . "Password Spraying" . "T1110.004" . "Credential Stuffing" . "Two-Factor Authentication Interception" . "T1111" . "T1112" . "Modify Registry" . "T1113" . "Screen Capture" . "T1114" . "Email Collection" . "T1114.001" . "Local Email Collection" . "T1114.002" . "Remote Email Collection" . "T1114.003" . "Email Forwarding Rule" . "Clipboard Data" . "T1115" . "Automated Collection" . "T1119" . "T1123" . "Audio Capture" . "System Time Discovery" . "T1124" . "Video Capture" . "T1125" . "MSBuild" . "T1127.001" . "T1132" . "Data Encoding" . "T1133" . "External Remote Services" . "T1134.001" . "Token Impersonation/Theft" . "T1134.002" . "Create Process with Token" . "Make and Impersonate Token" . "T1134.003" . "Parent PID Spoofing" . "T1134.004" . "SID-History Injection" . "T1134.005" . "Create Account" . "T1136" . "Office Template Macros" . "T1137.001" . "Office Test" . "T1137.002" . "Outlook Forms" . "T1137.003" . "T1137.004" . "Outlook Home Page" . "T1137.005" . "Outlook Rules" . "T1137.006" . "Add-ins" . "Deobfuscate/Decode Files or Information" . "T1140" . "T1142" . "Keychain" . "Browser Extensions" . "T1176" . "Man in the Browser" . "T1185" . "Forced Authentication" . "T1187" . "Drive-by Compromise" . "T1189" . "Exploit Public-Facing Application" . "T1190" . "T1195" . "Supply Chain Compromise" . "T1195.001" . "Compromise Software Dependencies and Development Tools" . "Compromise Software Supply Chain" . "T1195.002" . "T1195.003" . "Compromise Hardware Supply Chain" . "BITS Jobs" . "T1197" . "Trusted Relationship" . "T1199" . "Hardware Additions" . "T1200" . "T1203" . "Exploitation for Client Execution" . "Malicious Link Execution" . "T1204.001" . "Malicious File Execution" . "T1204.002" . "used all over so its not just internet traffic" . "T1205" . "Traffic Signaling" . "T1205.001" . "Port Knocking" . "Rogue Domain Controller" . "T1207" . "Exploitation of Remote Services" . "T1210" . "Exploitation for Defense Evasion" . "T1211" . "Exploitation for Credential Access" . "T1212" . "Data from Information Repositories" . "T1213" . "Confluence" . "T1213.001" . "T1213.002" . "Sharepoint" . "Code Repositories" . "T1213.003" . "T1218.001" . "Compiled HTML File" . "Control Panel Execution" . "T1218.002" . "T1218.003" . "CMSTP" . "T1218.011" . "Rundll32 Execution" . "T1218.013" . . "Mavinject" . "T1218.014" . "MMC" . "Remote Access Software" . "T1219" . "T1220" . "XSL Script Processing" . "File and Directory Permissions Modification" . "T1222" . "T1484" . "Group Policy Modification" . "T1491.001" . "Internal Defacement" . "External Defacement" . "T1491.002" . "Time Based Evasion" . "T1497.003" . "Direct Network Flood" . "T1498.001" . "Reflection Amplification" . "T1498.002" . "Service Exhaustion Flood" . "T1499.002" . "SQL Stored Procedures" . "T1505.001" . "T1505.002" . "Transport Agent" . "T1505.003" . "Web Shell" . "IIS Components" . "T1505.004" . "Security Software Discovery" . "T1518.001" . "Implant Container Image" . "T1525" . "Cloud Service Discovery" . "T1526" . "T1528" . "Steal Application Access Token" . "Account Access Removal" . "T1531" . "Internal Spearphishing" . "T1534" . "Cloud Service Dashboard" . "T1538" . "T1539" . "Steal Web Session Cookie" . "T1542.001" . "System Firmware" . "T1542.002" . "Component Firmware" . "Bootkit" . "T1542.003" . "Launch Agent" . "T1543.001" . "Systemd Service" . "T1543.002" . "Windows Service" . "T1543.003" . "T1543.004" . "Launch Daemon" . "T1546.001" . "Change Default File Association" . "Screensaver" . "T1546.002" . "Windows Management Instrumentation Event Subscription" . "T1546.003" . ".bash_profile and .bashrc" . "T1546.004" . "T1546.005" . "Trap" . "LC_LOAD_DYLIB Addition" . "T1546.006" . "Netsh Helper DLL" . "T1546.007" . "Accessibility Features" . "T1546.008" . "AppCert DLLs" . "T1546.009" . "T1546.010" . "AppInit DLLs" . "T1546.011" . "Application Shimming" . "Image File Execution Options Injection" . "T1546.012" . "PowerShell Profile" . "T1546.013" . "Emond" . "T1546.014" . . "Component Object Model Hijacking" . "T1546.015" . "Registry Run Keys / Startup Folder" . "T1547.001" . "T1547.002" . "Authentication Package" . "T1547.003" . "Time Providers" . "T1547.004" . "Winlogon Helper DLL" . "Security Support Provider" . "T1547.005" . "T1547.006" . "Kernel Modules and Extensions" . "Re-opened Applications" . "T1547.007" . "LSASS Driver" . "T1547.008" . "T1547.009" . "Shortcut Modification" . "Port Monitors" . "T1547.010" . "Plist Modification" . "T1547.011" . "Login Items" . "T1547.015" . "T1548.001" . "Setuid and Setgid" . "T1548.002" . "Bypass User Access Control" . "Sudo and Sudo Caching" . "T1548.003" . "Elevated Execution with Prompt" . "T1548.004" . "T1550" . "Use Alternate Authentication Material" . "Application Access Token" . "T1550.001" . "Pass The Hash" . "T1550.002" . "Pass The Ticket" . "T1550.003" . "Web Session Cookie" . "T1550.004" . "Unsecured Credentials" . "T1552" . "Credentials in Files" . "T1552.001" . "Credentials in Registry" . "T1552.002" . "Bash History" . "T1552.003" . "T1552.004" . "Private Keys" . "Cloud Instance Metadata API" . "T1552.005" . "T1552.006" . "Group Policy Preferences" . "Gatekeeper Bypass" . "T1553.001" . "T1553.002" . "Code Signing" . "SIP and Trust Provider Hijacking" . "T1553.003" . "Install Root Certificate" . "T1553.004" . "T1554" . "Compromise Client Software Binary" . "T1555" . "Credentials from Password Stores" . "T1555.001" . "Keychain" . "Securityd Memory" . "T1555.002" . "Credentials from Web Browsers" . "T1555.003" . "T1556" . "Modify Authentication Process" . "T1556.002" . "Password Filter DLL" . "T1556.003" . "Pluggable Authentication Modules" . "Man-in-the-Middle" . "T1557" . "LLMNR/NBT-NS Poisoning and SMB Relay" . "T1557.001" . "Steal or Forge Kerberos Tickets" . "T1558" . "T1558.001" . "Golden Ticket" . "Kerberoasting" . "T1558.003" . "Service Provider Name (SPN) scanning is one way to gather hashes, which results in RPC calls conforming to the NSPI protocol." . . "T1559" . "Inter-Process Communication Execution" . "T1560" . "Archive Collected Data" . "Archive via Utility" . "T1560.001" . "Archive via Library" . "T1560.002" . "Archive via Custom Method" . "T1560.003" . "T1561.001" . "Disk Content Wipe" . "T1561.002" . "Disk Structure Wipe" . "Disable or Modify Tools" . "T1562.001" . "T1562.002" . "Disable Windows Event Logging" . "Impair Command History Logging" . "T1562.003" . "Disable or Modify System Firewall" . "T1562.004" . "T1562.009" . "Safe Mode Boot" . "T1562.010" . "Downgrade Attack" . "Remote Service Session Hijacking" . "T1563" . "T1563.001" . "SSH Hijacking" . "RDP Hijacking" . "T1563.002" . "Hidden Files and Directories" . "T1564.001" . "Hidden Users" . "T1564.002" . "T1564.003" . "Hidden Window" . "NTFS File Attributes" . "T1564.004" . "Hidden File System" . "T1564.005" . "T1564.006" . "Run Virtual Instance" . "T1564.007" . "VBA Stomping" . "T1564.008" . "Email Hiding Rules" . "T1564.009" . "Resource Forking" . "T1565.001" . "Stored Data Manipulation" . "T1565.002" . "Transmitted Data Manipulation" . "T1565.003" . "Runtime Data Manipulation" . "T1566.001" . "Spearphishing Attachment" . "Spearphishing Link" . "T1566.002" . "Spearphishing Via Service" . "T1566.003" . "T1567" . "Exfiltration Over Web Service" . "Exfiltration to Code Repository" . "T1567.001" . "T1567.002" . "Exfiltration to Cloud Storage" . "T1568" . "Dynamic Resolution" . "Lateral Tool Transfer" . "T1570" . "Non-Standard Port" . "T1571" . "Protocol Tunneling" . "T1572" . "Multilayer Encryption" . "Encrypted Channel" . "Custom Cryptographic Protocol" . "T1573" . "Custom Command and Control Protocol" . "T1573.001" . "Symmetric Cryptography" . "T1573.002" . "Asymmetric Cryptography" . "DLL Search Order Hijacking" . "T1574.001" . "T1574.002" . "DLL Side-Loading" . "Dylib Hijacking" . "T1574.004" . "T1574.005" . "Executable Installer File Permissions Weakness" . "T1574.006" . "LD_PRELOAD" . "T1574.007" . "Path Interception by PATH Environment Variable" . "Path Interception by Search Order Hijacking" . "T1574.008" . "T1574.009" . "Path Interception by Unquoted Path" . "T1574.010" . "Service Registry Permissions Weakness" . "Services File Permissions Weakness" . "T1574.011" . "Services Registry Permissions Weakness" . "COR_PROFILER" . "T1574.012" . "System Location Discovery" . "T1614" . "T1614.001" . "System Language Discovery" . "T1615" . "Group Policy Discovery" . "T1619" . "Cloud Storage Object Discovery" . "Reflective Code Loading" . "T1620" . "STRM" . "## How it works\nDuring the boot process, the BIOS boot block (which with this defense enabled, is the Core Root of Trust for Measurement) measures boot components (firmware, ROM). The TPM hashes those measurements and stores the hashes in Platform Configuration Registers (PCRs). Upon a subsequent boot, these hashes are provided to a verifier which compares the stored measurements to the new boot measurements. Integrity of the boot components is assured if they match.\n\nAttestation of the secure boot occurs when a verifying entity requests a Quote which is a concatenation of the requested PCR values, hashed and signed by the TPM's unique RSA key. The TPM signature is trusted because the private key is stored securely in hardware and never leaves the TPM.\n\n## Considerations\n\n* The TPM does not perform the follow-on actions of acting on the PCR value information, it just provides the PCR stored information.\n* The current version of TPM is 2.0.; most existing implementations use TPM 1.2.\n\n## Citations\n[1] [TPM 2.0 Library](https://trustedcomputinggroup.org/resource/tpm-library-specification/)\n[2] [TCG Trusted Attestation Protocol (TAP) Use Cases for TPM Families 1.2 and 2.0 and DICE](https://trustedcomputinggroup.org/wp-content/uploads/TCG_TNC_TAP_Use_Cases_v1r0p35_published.pdf)" . "TPM Boot Integrity" . "Assuring the integrity of a platform by demonstrating that the boot process starts from a trusted combination of hardware and software and continues until the operating system has fully booted and applications are running. Sometimes called Static Root of Trust Measurement (STRM)." . "Static Root of Trust Measurement" . . "Task Schedule" . "A task schedule is a specification of tasks to be executed at particular times or time intervals. The schedule is a plan that enacted by a task scheduling process." . . "## How it works\nTransfer Agent Authentication can be accomplished in different ways for depending on the protocol. In Email, Sender Policy Framework (SPF), Domain Key Identified Email (DKIM) or Domain-based Message Authentication Reporting and Conformance (DMARC) to validate sender domain ownership.\n\n### SPF\nSPF protocol allows for mail domain owners to specify the mail servers they use when sending email. SPF requires the use of SPF records published in the Domain Name System (DNS). The records record the authorized IPs for email senders. SPF uses the return-path address for domain IP identification. Email that is forwarded may cause the return-path validation problems.\n### DKIM\nDKIM also uses a record entry in DNS for authentication but does not rely on the simple return-path for validation. A signature header is added to email and encryption is used for security. This adds an additional layer of complexity and requires that DKIM servers be configured identified cryptographic signatures. The additional complexity results in a validation process that can survive complex routing of emails.\n\n### DMARC\nDMARC is an email policy and authentication protocol that seeks to ensure that the \"From\" field of emails is not spoofed. DMARC makes use of both SPF records and DKIM published key validation. DMARC also has a decision policy framework, contained in a DMARC record, for handling of rejected email. The DMARC framework also updates DMARC domains with authentication statues for allowed senders of that domain.\n\n## Considerations\n- Additional work is required to ensure that all SPF, DKIM and DMARC records are current and up to date.\n- Maintenance of DKIM signing keys is needed.\n- Using SPF without DKIM and DMARC verifies the Return-Path domain however does not prevent spoofing of the displayed From: address.\n- Parts of an email that are not signed or verified by email authentication methods, such as the message body or the header To: and Subject: fields, can be altered or modified.\n- Email message authentication does not replace the need to do email content analysis since executables, attachments, or links or other parts of the email beyond the sender domain are not verified." . "Transfer Agent Authentication" . "Validating that server components of a messaging infrastructure are authorized to send a particular message." . "A Uniform Resource Locator (URL), commonly informally termed a web address (a term which is not defined identically) is a reference to a web resource that specifies its location on a computer network and a mechanism for retrieving it.A URL is a specific type of Uniform Resource Identifier (URI), although many people use the two terms interchangeably. A URL implies the means to access an indicated resource, which is not true of every URI. URLs occur most commonly to reference web pages (http), but are also used for file transfer (ftp), email (mailto), database access (JDBC), and many other applications." . . "Uniform Resource Locator" . "URL" . "Determining if a URL is benign or malicious by analyzing the URL or its components." . "URL Analysis" . "## How it works\n\nURLs may contain components, for example:\n\n * scheme\n * userinfo\n * host name\n * port\n * path\n * query\n * fragment\n\nThese components are used as features in analysis algorithms.\n\nContextual information about a URL such as where it is embedded (ex. emails, files, network protocols), header, path, location, and origin information, as well as information about the content returned from the URL request, may be incorporated into an analytic for URL analysis. For example, if a URL indicates a .pdf file but an executable is actually returned, the combination of these two pieces of information indicates suspicious activity.\n\nAdditional techniques include:\n\n* Extracting features of a URL such as domain name length, ratio of consecutive consonants, percentage of digits in a domain, and number of vowels. Values for each feature are combined to develop a score for the URL.\n* Determining the probability of a character occurring in the URL given the preceding two characters. For example, for google.com, the probability of a 'g' occurring at the beginning of a word, the probability of an 'o' occurring after a \"g, the probability of an o\" occurring after a 'g' and \"o, and so forth. A dictionary or a list of known good domains is used to determine probability. Probabilities are multiplied to develop a score for the URL.\n\nURL analysis may trigger follow-on analytics such as **File Analysis**\n\n## Considerations\n\n* Volume of URLs being analyzed, combined with the speed at which they are analyzed\n* Fidelity of analysis technique at detecting brand new URLs versus analyzing URLs of established domains" . "Analyzing the reputation of a URL." . "URL Reputation Analysis" . . "User" . "UserAccount" . . "A user is a person [or agent] who uses a computer or network service. Users generally use a system or a software product without the technical expertise required to fully understand it. Power users use advanced features of programs, though they are not necessarily capable of computer programming and system administration. A user often has a user account and is identified to the system by a username (or user name). Other terms for username include login name, screenname (or screen name), nickname (or nick) and handle, which is derived from the identical Citizen's Band radio term. Some software products provide services to other systems and have no direct end users." . "A user account allows a user to authenticate to a system and potentially to receive authorization to access resources provided by or connected to that system; however, authentication does not imply authorization. To log into an account, a user is typically required to authenticate oneself with a password or other credentials for the purposes of accounting, security, logging, and resource management." . . . "User Account" . "User Account Permissions" . "Restricting a user account's access to resources." . "An action performed by a user. Executing commands, granting permissions, and accessing resources are examples of user actions." . "User Action" . "User Behavior" . "A user behavior is a pattern of user actions, or set of such patterns. Modeling and analyzing these patterns and monitoring a users actions for meaningful anomalies is known as user behavior analytics (UBA)." . . "Analysis of user behavior and patterns for the purpose of detecting unauthorized user activity." . "User Behavior Analysis" . "Credential Monitoring" . "## Technique Overview\n\nSome techniques monitor patterns of human behavior and then apply algorithms and to identify patterns such as repeated login attempts from a single IP address or large file downloads, or abnormal accesses.\n\nOther techniques may have explicit or rigid definitions of \"bad behavior\" which are then matched against instances in a computer network environment." . "User behavior analytics (\"UBA\") as defined by Gartner, is a cybersecurity process about detection of insider threats, targeted attacks, and financial fraud. UBA solutions look at patterns of human behavior, and then apply algorithms and statistical analysis to detect meaningful anomalies from those patterns-anomalies that indicate potential threats.' Instead of tracking devices or security events, UBA tracks a system's users. Big data platforms are increasing UBA functionality by allowing them to analyze petabytes worth of data to detect insider threats and advanced persistent threats." . "UBA" . . "## How it works\nUnusual data transfer activity may indicate unauthorized activity. Data transfers can be analyzed by collecting network traffic or application logs.\n\n## Considerations\n* There is a potential for false positives from anomalies that are not associated with unauthorized activity.\n* Attackers that move low and slow may not differentiate their data transfer behavior enough for an alert to trigger." . "User Data Transfer Analysis" . "Analyzing the amount of data transferred by a user." . "Monitoring geolocation data of user logon attempts and comparing it to a baseline user behavior profile to identify anomalies in logon location." . "## How it works\nGeolocation data for each user logon attempt is collected and used to create a baseline user behavior profile. Current geolocation logon data is then compared against the user behavior profile. Logon activity that deviates from normal patterns and can help in identifying situations that may be indicative of a remote attacker using stolen credentials. For example:\n\n* logons from locations that are different from where a user usually logs in\n* logons from a location in which an enterprise has no users located\n* logon that is not physically possible given the elapsed time since a logon from another location.\n\n## Considerations\n* Potential for false positives from logon anomalies that are not associated with malicious activity.\n* Attackers may not differentiate their logon behavior enough to trigger an alert." . "User Geolocation Logon Pattern Analysis" . "User Init Configuration File" . "User Configuration File" . "A user initialization configuration file is a file containing the information necessary to configure that part of a user's environment which is common to all applications and actions. User configurations may be overridden by more specific configuration information (such as that found in a application configuration file.)" . "A script used to initialize and configure elements of the user's applications and user environment." . "User Init Script" . "A user logon initialization resource contains information used to configure a user's environment when a user logs into a system." . "User Logon Init Resource" . "User Manual" . "A user process is a process running to perform functions in the name of on particular user and user account, such as run an application or application service serving any number users. This is in contrast to a system process, which executes software to fulfill operating system functions." . "User Process" . "Analyzing modifications to user session config files such as .bashrc or .bash_profile." . "User Startup Config Analysis" . "User Session Init Config Analysis" . "User Startup Directory" . "A user startup directory holds information necessary to start the users session with the system." . "User Startup Script File" . "A user startup script file is a shortcut file that is executed when a user logs in and starts a session on the host. These indicate applications the user wants started at login. For Windows, these are typically found in the user's startup directory." . "Personal message, private message (PM), direct message (DM), or personal chat (PC) is a private form of messaging between different members on a given platform. It is only seen and accessible by the users participating in the message." . "Private Message" . "User to User Message" . . "Personal Message" . "Video input devices are used to digitize images or video from the outside world into the computer. The information can be stored in a multitude of formats depending on the user's requirement." . . "Video Input Device" . "Virtualization Software" . "Virtualization software allows a single host computer to create and run one or more virtual environments. Virtualization software is most often used to emulate a complete computer system in order to allow a guest operating system to be run, for example allowing Linux to run as a guest on top of a PC that is natively running a Microsoft Windows operating system (or the inverse, running Windows as a guest on Linux)." . . "Drive Volume" . "In the context of computer operating systems, a volume or logical drive is a single accessible storage area with a single file system, typically (though not necessarily) resident on a single partition of a hard disk. Although a volume might be different from a physical disk drive, it can still be accessed with an operating system's logical interface. However, a volume differs from a partition." . "Volume" . "Logical Drive" . "Volume Boot Record" . "A volume boot record (VBR) (also known as a volume boot sector, a partition boot record or a partition boot sector) is a type of boot sector introduced by the IBM Personal Computer. It may be found on a partitioned data storage device, such as a hard disk, or an unpartitioned device, such as a floppy disk, and contains machine code for bootstrapping programs (usually, but not necessarily, operating systems) stored in other parts of the device. On non-partitioned storage devices, it is the first sector of the device. On partitioned devices, it is the first sector of an individual partition on the device, with the first sector of the entire device being a Master Boot Record (MBR) containing the partition table." . . "A request-response comprising a user credential presentation to a system and a verification response where the verifying party is a web server." . "Web Authentication" . "A web resource is a resource identified by a Uniform Resource Identifier (URI) and made available from one host to another host via a web protocol and across a network or networks." . . "Web File Resource" . "Web Resource" . "Web Network Traffic" . "Web network traffic is network traffic that uses a standard web protocol." . "Ephemeral digital artifact comprising a request of a network resource and any response from that network resource using a standard web protocol." . "Web Resource Access" . "Web Script File" . "Web Script" . "A file containing a script in a web-scripting programming language. Web scripts may be present and run on the client or on the server side." . . "Web Server" . "A web server is server software, or hardware dedicated to running this software, that can satisfy client requests on the World Wide Web. A web server can, in general, contain one or more websites. A web server processes incoming network requests over HTTP and several other related protocols. While the major function is to serve content, a full implementation of HTTP also includes ways of receiving content from clients. This feature is used for submitting web forms, including uploading of files." . . "Web Server Application" . "Web Application" . "Web App" . "A web server application (or web app) is an application software that runs on a web server, unlike computer-based software programs that are stored locally on the Operating System (OS) of the device. Web applications are accessed by the user through a web browser with an active internet connection. These applications are programmed using a client-server modeled structure-the user (\"client\") is provided services through an off-site server that is hosted by a third-party. Examples of commonly-used, web applications, include: web-mail, online retail sales, online banking, and online auctions." . "Monitoring changes in user web session behavior by comparing current web session activity to a baseline behavior profile or a catalog of predetermined malicious behavior." . "Web Session Activity Analysis" . "## How it works\nUser web session data is collected over a period of time to create a user behavior profile. Data collected includes clicks made on a website, average time between clicks, filling out web forms, order in which pages are viewed, and downloading files. Current user web session behavior is then compared against the use behavior profile to identify anomalies and a likelihood that the current user web session is malicious. Current user web session behavior can also be compared to predetermined known malicious behavior profiles that are developed through analysis of malware in run time at a threat research facility.\n\n## Considerations\n* Potential for false positives from anomalies that are not associated with malicious activity.\n* Attackers may not differentiate their web session activity enough to trigger an alert." . "Windows Registry" . "The Windows Registry is a hierarchical database that stores low-level settings for the Microsoft Windows operating system and for applications that opt to use the registry. The kernel, device drivers, services, Security Accounts Manager, and user interface can all use the registry. The registry also allows access to counters for profiling system performance." . . "Windows registry keys are container objects similar to folders. Registry values are non-container objects similar to files. Keys may contain values and subkeys. Keys are referenced with a syntax similar to Windows' path names, using backslashes to indicate levels of hierarchy. Keys must have a case insensitive name without backslashes." . "Windows Registry Key" . . . "Shell Link" . "Windows Shortcut File" . "A Microsoft Windows shortcut file." . . "MITRE/NSA" . "Alessandro Vesely" . _:genid944 . _:genid945 . _:genid946 . _:genid945 _:genid946 . _:genid947 . _:genid946 _:genid947 . _:genid948 . _:genid947 _:genid948 . _:genid949 . _:genid948 _:genid949 . _:genid950 . _:genid949 _:genid950 . _:genid950 . _:genid944 _:genid945 .