A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Type | Directive | Rationale | Added | Removed | Modified | Classification | ||||||||||||||||||||
2 | Title | Development Tradecraft DOs and DON'Ts | Version 1 | Version 8 | Secret | ||||||||||||||||||||||
3 | Title | Draft Development Tradecraft DOs and DON'Ts | Version 8 | Version 46 | Secret | ||||||||||||||||||||||
4 | Title | Development Tradecraft DOs and DON'Ts | Version 46 | Secret | |||||||||||||||||||||||
5 | |||||||||||||||||||||||||||
6 | Classification | SECRET//NOFORN | Version 1 | Version 48 | Secret | ||||||||||||||||||||||
7 | Classification | TOP SECRET//NOFORN | Version 48 | Version 49 | Top Secret | ||||||||||||||||||||||
8 | Classification | SECRET//NOFORN | Version 49 | Secret | |||||||||||||||||||||||
9 | (U) General | Version 51 | |||||||||||||||||||||||||
10 | General | DO remove all data that demonstrates CIA, USG, or its witting partner companies involvement in the creation or use of the binary/tool/etc. | Attribution of binary/tool/etc by an adversary can cause irreversible impacts to past, present and future USG operations and equities. | Version 1 | Version 10 | Secret | |||||||||||||||||||||
11 | General | DO NOT have data that demonstrates CIA, USG, or its witting partner companies involvement in the creation or use of the binary/tool/etc in the binary. | Attribution of binary/tool/etc by an adversary can cause irreversible impacts to past, present and future USG operations and equities. | Version 10 | Version 34 | Secret | |||||||||||||||||||||
12 | General | DO NOT leave data in a binary file that demonstrates CIA, USG, or its witting partner companies involvement in the creation or use of the binary/tool. | Attribution of binary/tool/etc by an adversary can cause irreversible impacts to past, present and future USG operations and equities. | Version 34 | Version 50 | Secret | |||||||||||||||||||||
13 | General | (S//NF) DO NOT leave data in a binary file that demonstrates CIA, USG, or its witting partner companies involvement in the creation or use of the binary/tool. | (S//NF) Attribution of binary/tool/etc by an adversary can cause irreversible impacts to past, present and future USG operations and equities | Version 50 | |||||||||||||||||||||||
14 | General | DO remove all data that contains CIA cover terms or operational names. | Attribution of binary/tool/etc by an adversary can cause irreversible impacts to past, present and future USG operations and equities. | Version 1 | Version 10 | Secret | |||||||||||||||||||||
15 | General | DO NOT have data that contains CIA cover terms or operational names in the binary. | Attribution of binary/tool/etc by an adversary can cause irreversible impacts to past, present and future USG operations and equities. | Version 10 | Version 34 | Secret | |||||||||||||||||||||
16 | General | DO NOT have data that contains CIA cover terms, operation code names or operational names in the binary. | Attribution of binary/tool/etc by an adversary can cause irreversible impacts to past, present and future USG operations and equities. | Version 34 | Version 35 | Secret | |||||||||||||||||||||
17 | General | DO NOT have data that contains CIA cover terms, compartments, operation code names or other CIA specific terminology in the binary. | Attribution of binary/tool/etc by an adversary can cause irreversible impacts to past, present and future USG operations and equities. | Version 35 | Version 45 | Secret | |||||||||||||||||||||
18 | General | DO NOT have data that contains CIA and USG cover terms, compartments, operation code names or other CIA and USG specific terminology in the binary. | Attribution of binary/tool/etc by an adversary can cause irreversible impacts to past, present and future USG operations and equities. | Version 45 | Version 50 | Secret | |||||||||||||||||||||
19 | General | (S//NF) DO NOT have data that contains CIA and USG cover terms, compartments, operation code names or other CIA and USG specific terminology in the binary. | (S//NF) Attribution of binary/tool/etc by an adversary can cause irreversible impacts to past, present and future USG operations and equities. | Version 50 | |||||||||||||||||||||||
20 | General | DO remove all "dirty words" (see dirty word list – TBD) | Dirty words, such as hacker terms, may cause unwarranted scrutiny of the binary file in question. | Version 1 | Version 10 | Secret | |||||||||||||||||||||
21 | General | DO NOT have "dirty words" (see dirty word list – TBD) in the binary | Dirty words, such as hacker terms, may cause unwarranted scrutiny of the binary file in question. | Version 10 | Version 50 | Secret | |||||||||||||||||||||
22 | (S//NF) DO NOT have "dirty words" (see dirty word list – TBD) in the binary. | (S//NF) Dirty words, such as hacker terms, may cause unwarranted scrutiny of the binary file in question. | Version 50 | ||||||||||||||||||||||||
23 | General | DO obfuscate or encrypt all strings and configuration data that directly relate to tool functionality. Consideration should be made to also only de-obfuscating strings in-memory and only as they are needed. When a previously de-obfuscated value is no longer needed, it should be wiped from memory. | String data and/or configuration data is useful to analysts and reverse-engineers. | Version 1 | Version 12 | Secret | |||||||||||||||||||||
24 | General | DO obfuscate or encrypt all strings and configuration data that directly relate to tool functionality. Consideration should be made to also only de-obfuscating strings in-memory only as they are needed. When a previously de-obfuscated value is no longer needed, it should be wiped from memory. | String data and/or configuration data is useful to analysts and reverse-engineers. | Version 12 | Version 27 | Secret | |||||||||||||||||||||
25 | General | DO obfuscate or encrypt all strings and configuration data that directly relate to tool functionality. Consideration should be made to also only de-obfuscating strings in-memory at the moment the data is needed. When a previously de-obfuscated value is no longer needed, it should be wiped from memory. | String data and/or configuration data is very useful to analysts and reverse-engineers. | Version 27 | Version 43 | Secret | |||||||||||||||||||||
26 | General | DO obfuscate or encrypt all strings and configuration data that directly relate to tool functionality. Consideration should be made to also only de-obfuscating strings in-memory at the moment the data is needed. When a previously de-obfuscated value is no longer needed, it should be wiped from memory. | String data and/or configuration data is very useful to analysts and reverse-engineers. | Version 43 | Version 50 | Secret | |||||||||||||||||||||
27 | General | (S//NF) DO obfuscate or encrypt all strings and configuration data that directly relate to tool functionality. Consideration should be made to also only de-obfuscating strings in-memory at the moment the data is needed. When a previously de-obfuscated value is no longer needed, it should be wiped from memory. | (S//NF) String data and/or configuration data is very useful to analysts and reverse-engineers. | Version 50 | |||||||||||||||||||||||
28 | General | DO NOT decrypt or de-obfuscate all string data or configuration data immediately upon execution. | Raises the difficulty for automated dynamic analysis of the binary to find sensitive data. | Version 1 | Version 50 | Secret | |||||||||||||||||||||
29 | General | (S//NF) DO NOT decrypt or de-obfuscate all string data or configuration data immediately upon execution. | (S//NF) Raises the difficulty for automated dynamic analysis of the binary to find sensitive data. | Version 50 | |||||||||||||||||||||||
30 | General | DO remove sensitive data (encryption keys, raw collection data, shellcode, etc) from memory as soon as the data is no longer needed in plain-text form. | Raises the difficulty for incident response and forensics review. | Version 2 | Version 3 | Secret | |||||||||||||||||||||
31 | General | DO explicitly remove sensitive data (encryption keys, raw collection data, shellcode, etc) from memory as soon as the data is no longer needed in plain-text form. DO NOT RELY ON THE OPERATING SYSTEM TO DO THIS UPON TERMINATION OF EXECUTION. | Raises the difficulty for incident response and forensics review. | Version 3 | Version 27 | Secret | |||||||||||||||||||||
32 | General | DO explicitly remove sensitive data (encryption keys, raw collection data, shellcode, uploaded modules, etc) from memory as soon as the data is no longer needed in plain-text form. DO NOT RELY ON THE OPERATING SYSTEM TO DO THIS UPON TERMINATION OF EXECUTION. | Raises the difficulty for incident response and forensics review. | Version 27 | Version 50 | Secret | |||||||||||||||||||||
33 | General | (S//NF) DO explicitly remove sensitive data (encryption keys, raw collection data, shellcode, uploaded modules, etc) from memory as soon as the data is no longer needed in plain-text form. DO NOT RELY ON THE OPERATING SYSTEM TO DO THIS UPON TERMINATION OF EXECUTION. | (S//NF) Raises the difficulty for incident response and forensics review. | Version 50 | |||||||||||||||||||||||
34 | General | DO utilize a deployment-time unique key for obfuscation/de-obfuscation of sensitive strings and configuration data. | Raises the difficulty for analysis of multiple deployments of the same tool. | Version 1 | Version 7 | Secret | |||||||||||||||||||||
35 | General | DO utilize a deployment-time unique key for obfuscation/de-obfuscation of sensitive strings and configuration data. | Raises the difficulty of analysis of multiple deployments of the same tool. | Version 7 | Version 50 | Secret | |||||||||||||||||||||
36 | General | (S//NF) DO utilize a deployment-time unique key for obfuscation/de-obfuscation of sensitive strings and configuration data. | (S//NF) Raises the difficulty of analysis of multiple deployments of the same tool. | Version 50 | |||||||||||||||||||||||
37 | General | DO strip all debug symbol information from the final build of a tool. | Raises the difficulty for analysis and reverse-engineering. | Version 2 | Version 27 | Secret | |||||||||||||||||||||
38 | General | DO strip all debug symbol information, manifests(MSVC artifact), build paths, developer usernames from the final build of a binary. | Raises the difficulty for analysis and reverse-engineering. | Version 27 | Version 29 | Secret | |||||||||||||||||||||
39 | General | DO strip all debug symbol information, manifests(MSVC artifact), build paths, developer usernames from the final build of a binary. | Raises the difficulty for analysis and reverse-engineering, and removes artifacts used for attribution/origination. | Version 29 | Version 50 | Secret | |||||||||||||||||||||
40 | General | (S//NF) DO strip all debug symbol information, manifests(MSVC artifact), build paths, developer usernames from the final build of a binary. | (S//NF) Raises the difficulty for analysis and reverse-engineering, and removes artifacts used for attribution/origination. | Version 50 | |||||||||||||||||||||||
41 | General | DO strip all debugging output (e.g. calls to printf(), OutputDebugString(), etc) from the final build of a tool. | Raises the difficulty for analysis and reverse-engineering. | Version 2 | Version 50 | Secret | |||||||||||||||||||||
42 | General | (U//FOUO) DO strip all debugging output (e.g. calls to printf(), OutputDebugString(), etc) from the final build of a tool. | (S//NF) Raises the difficulty for analysis and reverse-engineering. | Version 50 | |||||||||||||||||||||||
43 | General | DO obfuscate the importing/calling of functions that may leak sensitive information about tool functionality (e.g. VirtualAlloc, CreateRemoteThread, etc) | Raises the difficulty for analysis and reverse-engineering. | Version 2 | Version 20 | Secret | |||||||||||||||||||||
44 | General | DO NOT explicitly import/call functions that is not consistent with a tool's overt functionality (i.e. WriteProcessMemory, VirtualAlloc, CreateRemoteThread, etc - for binary that is supposed to be a notepad replacement). | Lowers potential scrutiny of binary and raises the difficulty for static analysis and reverse-engineering. | Version 20 | Version 25 | Secret | |||||||||||||||||||||
45 | General | DO NOT explicitly import/call functions that is not consistent with a tool's overt functionality (i.e. WriteProcessMemory, VirtualAlloc, CreateRemoteThread, etc - for binary that is supposed to be a notepad replacement). | Lowers potential scrutiny of binary and slightly raises the difficulty for static analysis and reverse-engineering. | Version 25 | Version 50 | Secret | |||||||||||||||||||||
46 | General | (S//NF) DO NOT explicitly import/call functions that is not consistent with a tool's overt functionality (i.e. WriteProcessMemory, VirtualAlloc, CreateRemoteThread, etc - for binary that is supposed to be a notepad replacement). | (S//NF) Lowers potential scrutiny of binary and slightly raises the difficulty for static analysis and reverse-engineering. | Version 50 | |||||||||||||||||||||||
47 | General | DO NOT export function sensitive function names; if exported are required for the tool, utilize an ordinal or a benign function name. | Raises the difficulty for analysis and reverse-engineering. | Version 2 | Version 13 | Secret | |||||||||||||||||||||
48 | General | DO NOT export sensitive function names; if exported are required for the tool, utilize an ordinal or a benign function name. | Raises the difficulty for analysis and reverse-engineering. | Version 13 | Version 14 | Secret | |||||||||||||||||||||
49 | General | DO NOT export sensitive function names; if having exports are required for the binary, utilize an ordinal or a benign function name. | Raises the difficulty for analysis and reverse-engineering. | Version 14 | Version 50 | Secret | |||||||||||||||||||||
50 | General | (S//NF) DO NOT export sensitive function names; if having exports are required for the binary, utilize an ordinal or a benign function name. | (S//NF) Raises the difficulty for analysis and reverse-engineering. | Version 50 | |||||||||||||||||||||||
51 | General | DO NOT write crashdump, coredump or other artifacts in the event of a program crash. | Avoids suspicion by the end user and system admins, and raises the difficulty for incident response and reverse-engineering. | Version 5 | Version 6 | Secret | |||||||||||||||||||||
52 | General | DO NOT generate crashdump, coredump, "Blue Screen", Dr Watson or other dialog pop-ups and/or other artifacts in the event of a program crash. | Avoids suspicion by the end user and system admins, and raises the difficulty for incident response and reverse-engineering. | Version 6 | Version 27 | Secret | |||||||||||||||||||||
53 | General | DO NOT generate crashdump files, coredump files, "Blue" screens, Dr Watson or other dialog pop-ups and/or other artifacts in the event of a program crash. (NOTE: This requires forcing a program crash during testing in order to properly verify) | Avoids suspicion by the end user and system admins, and raises the difficulty for incident response and reverse-engineering. | Version 27 | Version 45 | Secret | |||||||||||||||||||||
54 | General | DO NOT generate crashdump files, coredump files, "Blue" screens, Dr Watson or other dialog pop-ups and/or other artifacts in the event of a program crash. DO attempt to force a program crash during unit testing in order to properly verify this. | Avoids suspicion by the end user and system admins, and raises the difficulty for incident response and reverse-engineering. | Version 45 | Version 50 | Secret | |||||||||||||||||||||
55 | General | (S//NF) DO NOT generate crashdump files, coredump files, "Blue" screens, Dr Watson or other dialog pop-ups and/or other artifacts in the event of a program crash. DO attempt to force a program crash during unit testing in order to properly verify this. | (S//NF) Avoids suspicion by the end user and system admins, and raises the difficulty for incident response and reverse-engineering. | Version 50 | |||||||||||||||||||||||
56 | General | DO NOT perform operations that will cause the computer to be unresponsive to the user (e.g. CPU spikes, "screen freezing", etc) | Avoids unwanted attention from the user or system administrator to tool's existence and behavior. | Version 5 | Version 11 | Secret | |||||||||||||||||||||
57 | General | DO NOT perform operations that will cause the target computer to be unresponsive to the user (e.g. CPU spikes, "screen freezing", etc) | Avoids unwanted attention from the user or system administrator to tool's existence and behavior. | Version 11 | Version 45 | Secret | |||||||||||||||||||||
58 | General | DO NOT perform operations that will cause the target computer to be unresponsive to the user (e.g. CPU spikes, screen flashes, screen "freezing", etc). | Avoids unwanted attention from the user or system administrator to tool's existence and behavior. | Version 45 | Version 50 | Secret | |||||||||||||||||||||
59 | General | (S//NF) DO NOT perform operations that will cause the target computer to be unresponsive to the user (e.g. CPU spikes, screen flashes, screen "freezing", etc). | (S//NF) Avoids unwanted attention from the user or system administrator to tool's existence and behavior. | Version 50 | |||||||||||||||||||||||
60 | General | DO provide a means to "uninstall"/"remove" implants, function hooks, injected threads, services, forked processes, etc whenever possible. Explicitly document the procedures and side effects (even if the documentation is "There is no uninstall for this <feature>"). | Avoids unwanted data left on target. Also, allows operators to make better operational risk assessment and fully understand the implications of using a tool or specific feature of a tool. | Version 25 | Version 26 | Secret | |||||||||||||||||||||
61 | General | DO provide a means to completely "uninstall"/"remove" implants, function hooks, injected threads, dropped files, registry keys, services, forked processes, etc whenever possible. Explicitly document (even if the documentation is "There is no uninstall for this <feature>") the procedures, permissions required and side effects of removal. | Avoids unwanted data left on target. Also, proper documentation allows operators to make better operational risk assessment and fully understand the implications of using a tool or specific feature of a tool. | Version 26 | Version 50 | Secret | |||||||||||||||||||||
62 | General | (S//NF) DO provide a means to completely "uninstall"/"remove" implants, function hooks, injected threads, dropped files, registry keys, services, forked processes, etc whenever possible. Explicitly document (even if the documentation is "There is no uninstall for this <feature>") the procedures, permissions required and side effects of removal. | (S//NF) Avoids unwanted data left on target. Also, proper documentation allows operators to make better operational risk assessment and fully understand the implications of using a tool or specific feature of a tool. | Version 50 | |||||||||||||||||||||||
63 | General | DO NOT leave dates such as compile times, build times, access times, etc. that correlate to USG/General US core working hours (ex. 8am-6pm Eastern time) | Avoids direct correlation to origins United States. | Version 25 | Version 30 | Secret | |||||||||||||||||||||
64 | General | DO NOT leave dates such as compile times, build times, access times, etc. that correlate to general US core working hours (i.e. 8am-6pm Eastern time) | Avoids direct correlation to origination in the United States. | Version 30 | Version 33 | Secret | |||||||||||||||||||||
65 | General | DO NOT leave dates/times such as compile timestamps, linker timestamps, build times, access times, etc. that correlate to general US core working hours (i.e. 8am-6pm Eastern time) | Avoids direct correlation to origination in the United States. | Version 33 | Version 50 | Secret | |||||||||||||||||||||
66 | General | (S//NF) DO NOT leave dates/times such as compile timestamps, linker timestamps, build times, access times, etc. that correlate to general US core working hours (i.e. 8am-6pm Eastern time) | (S//NF) Avoids direct correlation to origination in the United States. | Version 50 | |||||||||||||||||||||||
67 | General | DO make all reasonable efforts to keep binary file sizes that will go on target to a minimum (without the use of packers or compression). Ideal binary file sizes should be under 150KB for a fully featured tool. | Shortens overall "time on air" not only to get the tool on target, but to time to execute functionality and clean-up. | Version 27 | Version 32 | Secret | |||||||||||||||||||||
68 | General | DO make all reasonable efforts to minimize binary file size for all binaries that will be uploaded to a remote target (without the use of packers or compression). Ideal binary file sizes should be under 150KB for a fully featured tool. | Shortens overall "time on air" not only to get the tool on target, but to time to execute functionality and clean-up. | Version 32 | Version 50 | Secret | |||||||||||||||||||||
69 | General | (S//NF) DO make all reasonable efforts to minimize binary file size for all binaries that will be uploaded to a remote target (without the use of packers or compression). Ideal binary file sizes should be under 150KB for a fully featured tool. | (S//NF) Shortens overall "time on air" not only to get the tool on target, but to time to execute functionality and clean-up. | Version 50 | |||||||||||||||||||||||
70 | (U) Networking | Version 51 | |||||||||||||||||||||||||
71 | Networking | DO end-to-end encrypt all network communications between tools and/or LPs | Version 4 | Version 5 | Secret | ||||||||||||||||||||||
72 | Networking | DO end-to-end encrypt all network communications between tools and/or LPs | Stifles network traffic analysis and avoids exposing operational/collection data. | Version 5 | Version 6 | Secret | |||||||||||||||||||||
73 | Networking | DO use end-to-end encryption for all network communications. NEVER use networking protocols which break the end-to-end principle with respect to encryption of payloads. | Stifles network traffic analysis and avoids exposing operational/collection data. | Version 6 | Version 50 | Secret | |||||||||||||||||||||
74 | Networking | (U//FOUO) DO use end-to-end encryption for all network communications. NEVER use networking protocols which break the end-to-end principle with respect to encryption of payloads. | (S//NF) Stifles network traffic analysis and avoids exposing operational/collection data. | Version 50 | |||||||||||||||||||||||
75 | Networking | DO NOT solely rely on SSL/TLS to secure data in transit. | Numerous man-in-middle attack vectors and publicly disclosed flaws in the protocol. | Version 4 | Version 50 | Secret | |||||||||||||||||||||
76 | (S//NF) DO NOT solely rely on SSL/TLS to secure data in transit. | (S//NF) Numerous man-in-middle attack vectors and publicly disclosed flaws in the protocol. | Version 50 | ||||||||||||||||||||||||
77 | Networking | DO NOT allow network traffic, such as C2 packets, to be re-playable. | Version 4 | Version 5 | Secret | ||||||||||||||||||||||
78 | Networking | DO NOT allow network traffic, such as C2 packets, to be re-playable. | Protects the integrity of operational equities. | Version 5 | Version 50 | Secret | |||||||||||||||||||||
79 | Networking | (S//NF) DO NOT allow network traffic, such as C2 packets, to be re-playable. | (S//NF) Protects the integrity of operational equities. | Version 50 | |||||||||||||||||||||||
80 | Networking | DO use ITEF RFC compliant network protocols as a blending layer. The actual data, which must be encrypted in transit across the network, should be tunneled through a well known and standardized protocol (e.g. HTTPS) | Custom protocols can stand-out to network analysts and IDS filters. | Version 5 | Version 50 | Secret | |||||||||||||||||||||
81 | Networking | (S//NF) DO use ITEF RFC compliant network protocols as a blending layer. The actual data, which must be encrypted in transit across the network, should be tunneled through a well known and standardized protocol (e.g. HTTPS) | (S//NF) Custom protocols can stand-out to network analysts and IDS filters. | Version 50 | |||||||||||||||||||||||
82 | Networking | DO NOT break compliance of an RFC protocol that is being used as a blending layer. (i.e. Wireshark should not flag the traffic as being broken or mangled) | Broken network protocols can easily stand-out in IDS filters and network analysis. | Version 5 | Version 50 | Secret | |||||||||||||||||||||
83 | Networking | (S//NF) DO NOT break compliance of an RFC protocol that is being used as a blending layer. (i.e. Wireshark should not flag the traffic as being broken or mangled) | (S//NF) Broken network protocols can easily stand-out in IDS filters and network analysis. | Version 50 | |||||||||||||||||||||||
84 | Networking | DO use variable size and timing of beacons/network communications. DO NOT send fixed size and timing packets. | Raises the difficulty of network analysis and correlation of network activity. | Version 6 | Version 27 | Secret | |||||||||||||||||||||
85 | Networking | DO use variable size and timing (aka jitter) of beacons/network communications. DO NOT send fixed size and timing packets. | Raises the difficulty of network analysis and correlation of network activity. | Version 27 | Version 36 | Secret | |||||||||||||||||||||
86 | Networking | DO use variable size and timing (aka jitter) of beacons/network communications. DO NOT send packets with a fixed size and timing. | Raises the difficulty of network analysis and correlation of network activity. | Version 36 | Version 42 | Secret | |||||||||||||||||||||
87 | Networking | DO use variable size and timing (aka jitter) of beacons/network communications. DO NOT predicatively send packets with a fixed size and timing. | Raises the difficulty of network analysis and correlation of network activity. | Version 42 | Version 50 | Secret | |||||||||||||||||||||
88 | Networking | (S//NF) DO use variable size and timing (aka jitter) of beacons/network communications. DO NOT predicatively send packets with a fixed size and timing. | (S//NF) Raises the difficulty of network analysis and correlation of network activity. | Version 50 | |||||||||||||||||||||||
89 | Networking | DO proper cleanup of network connections. DO NOT leave around stale network connections. | Raises the difficulty of network analysis and incident response. | Version 27 | Version 50 | Secret | |||||||||||||||||||||
90 | Networking | (S//NF) DO proper cleanup of network connections. DO NOT leave around stale network connections. | (S//NF) Raises the difficulty of network analysis and incident response. | Version 50 | |||||||||||||||||||||||
91 | (U) Disk I/O | Version 51 | |||||||||||||||||||||||||
92 | Disk I/O | DO explicitly document the "disk footprint" on target that could be potentially created by various features of a binary/tool. | Enables better operational risk assessments with knowledge of potential file system forensic artifacts. | Version 27 | Version 37 | Secret | |||||||||||||||||||||
93 | Disk I/O | DO explicitly document the "disk footprint" that could be potentially created by various features of a binary/tool on a remote target. | Enables better operational risk assessments with knowledge of potential file system forensic artifacts. | Version 37 | Version 42 | Secret | |||||||||||||||||||||
94 | Disk I/O | DO explicitly document the "disk forensic footprint" that could be potentially created by various features of a binary/tool on a remote target. | Enables better operational risk assessments with knowledge of potential file system forensic artifacts. | Version 42 | Version 50 | Secret | |||||||||||||||||||||
95 | Disk I/O | (S//NF) DO explicitly document the "disk forensic footprint" that could be potentially created by various features of a binary/tool on a remote target. | (S//NF) Enables better operational risk assessments with knowledge of potential file system forensic artifacts. | Version 50 | |||||||||||||||||||||||
96 | Disk I/O | DO avoid reading, writing and/or caching data to disk unnecessarily. Be cognizant of 3rd party code that may implicitly write/cache data to disk. | Lowers potential for forensic artifacts and potential signatures. | Version 4 | Version 15 | Secret | |||||||||||||||||||||
97 | Disk I/O | DO NOT read, write and/or cache data to disk unnecessarily. Be cognizant of 3rd party code that may implicitly write/cache data to disk. | Lowers potential for forensic artifacts and potential signatures. | Version 15 | Version 50 | Secret | |||||||||||||||||||||
98 | Disk I/O | (S//NF) DO NOT read, write and/or cache data to disk unnecessarily. Be cognizant of 3rd party code that may implicitly write/cache data to disk. | (S//NF) Lowers potential for forensic artifacts and potential signatures. | Version 50 | |||||||||||||||||||||||
99 | Disk I/O | DO NOT write plain-text collection data to disk. | Raises difficulty of forensic analysis. | Version 4 | Version 38 | Secret | |||||||||||||||||||||
100 | Disk I/O | DO NOT write plain-text collection data to disk. | Raises difficulty of incident response and forensic analysis. | Version 38 | Version 50 | Secret |