Control statement
- a.Define acceptable and unacceptable mobile code and mobile code technologies; and
- b.Authorize, monitor, and control the use of mobile code within the system.
Discussion
Mobile code includes any program, application, or content that can be transmitted across a network (e.g., embedded in an email, document, or website) and executed on a remote system. Decisions regarding the use of mobile code within organizational systems are based on the potential for the code to cause damage to the systems if used maliciously. Mobile code technologies include Java applets, JavaScript, HTML5, WebGL, and VBScript. Usage restrictions and implementation guidelines apply to both the selection and use of mobile code installed on servers and mobile code downloaded and executed on individual workstations and devices, including notebook computers and smart phones. Mobile code policy and procedures address specific actions taken to prevent the development, acquisition, and introduction of unacceptable mobile code within organizational systems, including requiring mobile code to be digitally signed by a trusted source.
From control text to operational evidence
Use Mobile Code as a testable risk decision. Translate the official statement into accountable people, repeatable processes, configured technology, and evidence that demonstrates the outcome over time. In this family, pay particular attention to secure architecture, boundary protection, communications protection, cryptography, and system isolation.
Implementation workflow
- Define the control boundary, responsible owner, inherited portions, and systems or processes in scope.
- Resolve each organization-defined parameter before declaring the control implemented.
- Document how the implementation satisfies every clause of the official control statement.
- Collect evidence as a normal byproduct of operation rather than only before an assessment.
- Review exceptions, changes, and monitoring results on a risk-based cadence.
Evidence examples
- network and trust-boundary diagrams
- firewall and gateway configurations
- cryptographic configuration and key records
- segmentation and isolation test results
Common failure patterns
- diagrams omit cloud and third-party paths
- encryption enabled without key governance
- flat trust zones allow unnecessary lateral movement
- boundary rules accumulate without owner review
Questions practitioners should ask
- What risk decision is this control intended to support in this system?
- Which parts are implemented locally, inherited, shared, or not applicable—and what evidence supports that decision?
- Do the documented narrative, deployed configuration, operating process, and collected evidence agree?
- What event or threshold requires the implementation to be reviewed or changed?
Assessment objectives and methods
Show the assessment objective
- SC-18a.
- SC-18a.[01]acceptable mobile code is defined;
- SC-18a.[02]unacceptable mobile code is defined;
- SC-18a.[03]acceptable mobile code technologies are defined;
- SC-18a.[04]unacceptable mobile code technologies are defined;
- SC-18b.
- SC-18b.[01]the use of mobile code is authorized within the system;
- SC-18b.[02]the use of mobile code is monitored within the system;
- SC-18b.[03]the use of mobile code is controlled within the system.
Examine
- System and communications protection policy
- procedures addressing mobile code
- mobile code implementation policy and procedures
- list of acceptable mobile code and mobile code technologies
- list of unacceptable mobile code and mobile technologies
- authorization records
- system monitoring records
- system audit records
- system security plan
- other relevant documents or records
Interview
- System/network administrators
- organizational personnel with information security responsibilities
- organizational personnel with responsibilities for managing mobile code
Test
- Organizational process for authorizing, monitoring, and controlling mobile code
- mechanisms supporting and/or implementing the management of mobile code
- mechanisms supporting and/or implementing the monitoring of mobile code
Related controls
These relationships come from the official OSCAL catalog. They indicate useful dependencies or context, not automatic inheritance or equivalence.
Related NIST SP 800-171 requirements
These Rev. 3 requirements cite this base control or one of its enhancements as a source. The relationship does not by itself determine contractual applicability or complete implementation.
Control enhancements
Enhancements add specificity, strength, or scope to the base control. Baseline badges show explicit selections in the official SP 800-53B OSCAL profiles.
SC-18(1) — Identify Unacceptable Code and Take Corrective Actions
Identify [Organization-defined: unacceptable mobile code] and take [Organization-defined: corrective actions].
Official discussion
Corrective actions when unacceptable mobile code is detected include blocking, quarantine, or alerting administrators. Blocking includes preventing the transmission of word processing files with embedded macros when such macros have been determined to be unacceptable mobile code.
Organization-defined parameters (2)
Assessment objectives and methods
- SC-18(01)[01][Organization-defined: unacceptable mobile code] is identified;
- SC-18(01)[02][Organization-defined: corrective actions] are taken if unacceptable mobile code is identified.
Examine
- System and communications protection policy
- procedures addressing mobile code
- mobile code usage restrictions
- mobile code implementation policy and procedures
- system design documentation
- system configuration settings and associated documentation
- list of unacceptable mobile code
- list of corrective actions to be taken when unacceptable mobile code is identified
- system monitoring records
- system audit records
- system security plan
- other relevant documents or records
Interview
- System/network administrators
- organizational personnel with information security responsibilities
- system developer
- organizational personnel with responsibilities for managing mobile code
Test
- Mechanisms supporting and/or implementing mobile code detection, inspection, and corrective capabilities
SC-18(2) — Acquisition, Development, and Use
Verify that the acquisition, development, and use of mobile code to be deployed in the system meets [Organization-defined: mobile code requirements].
Official discussion
None.
Organization-defined parameters (1)
Assessment objectives and methods
- SC-18(02)[01]the acquisition of mobile code to be deployed in the system meets [Organization-defined: mobile code requirements];
- SC-18(02)[02]the development of mobile code to be deployed in the system meets [Organization-defined: mobile code requirements];
- SC-18(02)[03]the use of mobile code to be deployed in the system meets [Organization-defined: mobile code requirements].
Examine
- System and communications protection policy
- procedures addressing mobile code
- mobile code requirements
- mobile code usage restrictions
- mobile code implementation policy and procedures
- acquisition documentation
- acquisition contracts for system, system component, or system service
- system development life cycle documentation
- system security plan
- other relevant documents or records
Interview
- System/network administrators
- organizational personnel with information security responsibilities
- organizational personnel with responsibilities for managing mobile code
- organizational personnel with acquisition and contracting responsibilities
Test
- Organizational processes for the acquisition, development, and use of mobile code
SC-18(3) — Prevent Downloading and Execution
Prevent the download and execution of [Organization-defined: unacceptable mobile code].
Official discussion
None.
Organization-defined parameters (1)
Assessment objectives and methods
- SC-18(03)[01]the download of [Organization-defined: unacceptable mobile code] is prevented;
- SC-18(03)[02]the execution of [Organization-defined: unacceptable mobile code] is prevented.
Examine
- System and communications protection policy
- procedures addressing mobile code
- mobile code usage restrictions
- mobile code implementation policy and procedures
- system design documentation
- system configuration settings and associated documentation
- system audit records
- system security plan
- other relevant documents or records
Interview
- System/network administrators
- organizational personnel with information security responsibilities
- system developer
- organizational personnel with responsibilities for managing mobile code
Test
- Mechanisms preventing the download and execution of unacceptable mobile code
SC-18(4) — Prevent Automatic Execution
Prevent the automatic execution of mobile code in [Organization-defined: software applications] and enforce [Organization-defined: actions] prior to executing the code.
Official discussion
Actions enforced before executing mobile code include prompting users prior to opening email attachments or clicking on web links. Preventing the automatic execution of mobile code includes disabling auto-execute features on system components that employ portable storage devices, such as compact discs, digital versatile discs, and universal serial bus devices.
Organization-defined parameters (2)
Assessment objectives and methods
- SC-18(04)[01]the automatic execution of mobile code in [Organization-defined: software applications] is prevented;
- SC-18(04)[02][Organization-defined: actions] are enforced prior to executing mobile code.
Examine
- System and communications protection policy
- procedures addressing mobile code
- mobile code usage restrictions
- mobile code implementation policy and procedures
- system design documentation
- system configuration settings and associated documentation
- list of software applications in which the automatic execution of mobile code must be prohibited
- list of actions required before execution of mobile code
- system security plan
- other relevant documents or records
Interview
- System/network administrators
- organizational personnel with information security responsibilities
- system developer
- organizational personnel with responsibilities for managing mobile code
Test
- Mechanisms preventing the automatic execution of unacceptable mobile code
- mechanisms enforcing actions to be taken prior to the execution of the mobile code
SC-18(5) — Allow Execution Only in Confined Environments
Allow execution of permitted mobile code only in confined virtual machine environments.
Official discussion
Permitting the execution of mobile code only in confined virtual machine environments helps prevent the introduction of malicious code into other systems and system components.
Assessment objectives and methods
execution of permitted mobile code is allowed only in confined virtual machine environments.
Examine
- System and communications protection policy
- procedures addressing mobile code
- mobile code usage allowances
- mobile code usage restrictions
- system design documentation
- system configuration settings and associated documentation
- list of confined virtual machine environments in which the execution of organizationally acceptable mobile code is allowed
- system audit records
- system security plan
- other relevant documents or records
Interview
- System/network administrators
- organizational personnel with information security responsibilities
- system developer
- organizational personnel with responsibilities for managing mobile code
Test
- Mechanisms allowing for the execution of permitted mobile code in confined virtual machine environments
Related controls
Authoritative sources
Bare Metal Cyber is an independent educational publisher and is not affiliated with or endorsed by NIST. Official control requirements and interpretations remain with NIST and the responsible authorizing organization.