SI-3: Malicious Code Protection
- NIST Special Publication 800-53 Revision 4:
- SI-3: Malicious Code Protection
Incorporates the following controls from the previous version: SI-3(2): Automatic Updates, SI-3(7): Nonsignature-Based Detection.
- Implement [Assignment (one or more): signature based, non-signature based] malicious code protection mechanisms at system entry and exit points to detect and eradicate malicious code;
- Automatically update malicious code protection mechanisms as new releases are available in accordance with organizational configuration management policy and procedures;
- Configure malicious code protection mechanisms to:
- Perform periodic scans of the system [Assignment: organization-defined frequency] and real-time scans of files from external sources at [Assignment (one or more): endpoint, network entry and exit points] as the files are downloaded, opened, or executed in accordance with organizational policy; and
- [Assignment (one or more): block malicious code, quarantine malicious code, take [Assignment: organization-defined action] ]; and send alert to [Assignment: organization-defined personnel or roles] in response to malicious code detection; and
- Address the receipt of false positives during malicious code detection and eradication and the resulting potential impact on the availability of the system.
System entry and exit points include firewalls, remote access servers, workstations, electronic mail servers, web servers, proxy servers, notebook computers, and mobile devices. Malicious code includes viruses, worms, Trojan horses, and spyware. Malicious code can also be encoded in various formats contained within compressed or hidden files or hidden in files using techniques such as steganography. Malicious code can be inserted into systems in a variety of ways, including by electronic mail, the world-wide web, and portable storage devices. Malicious code insertions occur through the exploitation of system vulnerabilities. A variety of technologies and methods exist to limit or eliminate the effects of malicious code.
Malicious code protection mechanisms include both signature- and nonsignature-based technologies. Nonsignature-based detection mechanisms include artificial intelligence techniques that use heuristics to detect, analyze, and describe the characteristics or behavior of malicious code and to provide controls against such code for which signatures do not yet exist or for which existing signatures may not be effective. Malicious code for which active signatures do not yet exist or may be ineffective includes polymorphic malicious code (i.e., code that changes signatures when it replicates). Nonsignature-based mechanisms also include reputation-based technologies. In addition to the above technologies, pervasive configuration management, comprehensive software integrity controls, and anti-exploitation software may be effective in preventing the execution of unauthorized code. Malicious code may be present in commercial off-the-shelf software as well as custom-built software and could include logic bombs, backdoors, and other types of attacks that could affect organizational mission and business functions.
In situations where malicious code cannot be detected by detection methods or technologies, organizations rely on other types of controls, including secure coding practices, configuration management and control, trusted procurement processes, and monitoring practices to ensure that software does not perform functions other than the functions intended. Organizations may determine that, in response to the detection of malicious code, different actions may be warranted. For example, organizations can define actions in response to malicious code detection during periodic scans, the detection of malicious downloads, or the detection of maliciousness when attempting to open or execute files.
SI-3(4): Updates Only by Privileged Users
Update malicious code protection mechanisms only when directed by a privileged user.
SI-3(6): Testing and Verification
Test malicious code protection mechanisms [Assignment: organization-defined frequency] by introducing known benign code into the system; and Verify that the detection of the code and the associated incident reporting occur.
SI-3(8): Detect Unauthorized Commands
Detect the following unauthorized operating system commands through the kernel application programming interface on [Assignment: organization-defined system hardware components]: [Assignment: organization-defined unauthorized operating system commands]; and [Assignment (one or more): issue a warning, audit the command execution, prevent the execution of the command].
SI-3(10): Malicious Code Analysis
Employ the following tools and techniques to analyze the characteristics and behavior of malicious code: [Assignment: organization-defined tools and techniques]; and Incorporate the results from malicious code analysis into organizational incident response and flaw remediation processes.