ISO/IEC 27001

⌘K
  1. Home
  2. Docs
  3. ISO/IEC 27001
  4. 5. ISO 27001 Annex A - 8 ...
  5. ISO 27001 Annex A 8.19 Installation of software on operational systems

ISO 27001 Annex A 8.19 Installation of software on operational systems

What is ISO 27001 Annex A 8.19 – Installation of Software on Operational Systems?

ISO 27001 Annex A 8.19 requires organizations to control the installation of software on operational systems.

The objective is to prevent unauthorized, malicious, vulnerable, or inappropriate software from being installed on systems that support business operations.

Operational systems may include:

  • Production servers
  • Employee laptops and desktops
  • Cloud workloads
  • Virtual machines
  • Databases
  • Application servers
  • Network devices
  • Security appliances
  • Container environments
  • Kubernetes clusters
  • Production applications
  • Mobile devices used for business
  • Other systems supporting critical business processes

Software installation should be controlled so that only authorized, approved, and appropriate software is installed.

Simple explanation:
Employees and administrators should not be able to install whatever software they want on business systems. Software installation should be authorized, controlled, and traceable.


Why is Annex A 8.19 Important?

Unauthorized software can introduce significant security and operational risks.

For example, an employee may install:

  • An unapproved remote-access tool
  • A vulnerable application
  • Pirated software
  • Malware
  • A browser extension that captures information
  • An unauthorized VPN
  • A cryptocurrency miner
  • An outdated library
  • A tool that creates an undocumented network connection
  • Software that conflicts with security controls

For a startup, uncontrolled software installation can become particularly risky because employees often have broad administrative privileges.

Common risks

RiskExample
MalwareEmployee installs malicious software
VulnerabilitiesOutdated software contains known vulnerabilities
Unauthorized accessRemote-access software creates a new access path
Data leakageUnapproved application uploads company data
Shadow ITEmployees use applications without security review
Compliance issuesSoftware violates licensing requirements
Operational disruptionNew software breaks an application
Configuration driftProduction systems no longer match approved configuration
PersistenceMalicious software remains after an incident
Supply-chain riskSoftware contains compromised components

Simple principle:
If software can change the security or behavior of a system, its installation should be controlled.


What Does ISO 27001 Annex A 8.19 Require?

The organization should establish controls for the installation of software on operational systems.

This does not necessarily mean that every software installation must require a long approval process.

The organization should determine an appropriate level of control based on:

  • Information security risk
  • System criticality
  • Software type
  • User privileges
  • Production environment
  • Business requirements
  • Vulnerability risk
  • Licensing requirements
  • Regulatory requirements
  • Supplier risk
  • Change-management requirements

A startup with 15 employees may use a lightweight approval process.

A bank or highly regulated organization may require much stronger controls.

The objective is not bureaucracy.

The objective is preventing uncontrolled software from creating security or operational risk.


What Counts as Software?

Software is broader than traditional desktop applications.

Depending on the organization’s environment, it may include:

End-user software

  • Microsoft Office
  • Browsers
  • PDF applications
  • Collaboration tools
  • VPN clients
  • Messaging applications
  • Remote-access software

Server software

  • Web servers
  • Database software
  • Monitoring agents
  • Security agents
  • Backup agents
  • Application runtimes

Cloud software

  • Cloud agents
  • Serverless packages
  • Marketplace applications
  • Cloud extensions
  • Security tools

Development software

  • IDEs
  • SDKs
  • Compilers
  • Package managers
  • Development frameworks
  • Container images
  • CI/CD tools

Scripts and utilities

  • PowerShell scripts
  • Shell scripts
  • Administrative utilities
  • Database tools
  • Network utilities
  • Automation tools

Browser extensions

Browser extensions are often overlooked but can:

  • Read web pages
  • Access cookies
  • Capture information
  • Modify websites
  • Communicate with external services

Therefore, organizations should consider whether browser extensions need to be controlled.


What is an Operational System?

An operational system is a system used to support actual business operations.

Examples include:

  • Production application servers
  • Production databases
  • Employee endpoints
  • Cloud infrastructure
  • Identity systems
  • Security systems
  • Network infrastructure
  • Business applications

A development laptop may also be considered an operational asset if it processes company or customer information.

The organization should define its own scope based on its risk assessment and operating environment.


Activities Required to Implement Annex A 8.19

Step 1: Identify Operational Systems

First identify the systems where software installation needs to be controlled.

Create an inventory such as:

SystemEnvironmentOwnerCriticality
Customer ApplicationProductionCTOCritical
PostgreSQLProductionEngineeringCritical
Employee LaptopCorporateITMedium
CI/CD ServerProductionDevOpsHigh
Monitoring PlatformProductionSecurityHigh

This should connect with your asset inventory under Annex A 5.9.


Step 2: Define Approved Software

Create a list or mechanism for identifying approved software.

For example:

  • Approved browsers
  • Approved VPN
  • Approved endpoint security software
  • Approved remote-support tools
  • Approved development tools
  • Approved database clients
  • Approved collaboration tools
  • Approved monitoring agents

The approved software list should be maintained as the environment changes.


Step 3: Establish Software Installation Rules

Define who can install software and under what conditions.

For example:

Standard users

Employees cannot install software requiring administrator privileges.

IT administrators

IT personnel may install approved software following the organization’s process.

Developers

Developers may install approved development tools on development systems but cannot freely install software on production systems.

Production administrators

Production software installation requires authorization and change control.


Step 4: Restrict Administrative Privileges

One of the most effective controls is preventing unnecessary administrator access.

For example:

Weak model

Every developer has local administrator rights.

Stronger model

Developers use standard accounts for normal work and receive controlled administrative access when technically required.

This reduces the ability to install unauthorized software.

This control also works together with:

  • A.8.2 Privileged Access Rights
  • A.8.5 Secure Authentication
  • A.8.18 Use of Privileged Utility Programs

Step 5: Use Software Installation Controls

Depending on the environment, organizations may use:

  • Endpoint management
  • Mobile device management
  • Application allowlisting
  • Software restriction policies
  • Package repositories
  • Configuration management
  • Privileged access management
  • Application control
  • Cloud policies
  • Container image controls

The technology should match the organization’s risk.

A small startup does not necessarily need an expensive application-control platform.


Step 6: Control Production Software Installation

Production systems should have stronger controls than ordinary employee systems.

A typical process could be:

Business/Technical Need

↓

Software identified

↓

Security review

↓

Compatibility review

↓

Approval

↓

Change request

↓

Testing

↓

Production installation

↓

Validation

↓

Documentation

This reduces the possibility of introducing an insecure or unstable application into production.


Step 7: Verify Software Source

Software should come from trusted sources.

Examples include:

  • Official vendor websites
  • Approved package repositories
  • Enterprise software repositories
  • Trusted cloud marketplaces
  • Approved internal repositories

Avoid installing software obtained from:

  • Unknown websites
  • Unverified file-sharing sites
  • Pirated sources
  • Untrusted repositories
  • Unknown USB devices
  • Random internet downloads

Step 8: Check Software Security

Before installing software on important systems, consider:

  • Vendor reputation
  • Version
  • Known vulnerabilities
  • Security advisories
  • Required permissions
  • Network connections
  • Data access
  • Authentication requirements
  • Privacy implications
  • Licensing
  • Compatibility
  • Support lifecycle

For high-risk software, a security review may be appropriate.


Step 9: Test Before Production

Where practical, software should be tested before being installed on critical production systems.

For example:

Development

→

Test/Staging

→

Security/Technical validation

→

Production

This is especially important for:

  • Operating system updates
  • Database software
  • Security agents
  • Monitoring tools
  • Application runtimes
  • Network software
  • Major application upgrades

Step 10: Maintain Installation Records

The organization should be able to determine:

  • What software was installed
  • Where it was installed
  • Who installed it
  • When it was installed
  • Why it was installed
  • Which version was installed
  • Who approved it

Depending on the environment, these records may come from:

  • Endpoint management
  • Configuration management
  • Change-management systems
  • Cloud management tools
  • Package-management systems
  • Software inventory tools
  • Ticketing systems
  • CI/CD systems

Startup Example

Imagine a 50-person SaaS company.

The company has:

  • AWS production infrastructure
  • PostgreSQL
  • GitHub
  • CI/CD
  • Employee laptops
  • Customer support team
  • Remote employees

Weak approach

Developers have administrator privileges.

Anyone can install:

  • Remote-access tools
  • Database clients
  • Browser extensions
  • VPN software
  • Development utilities
  • Unapproved applications

There is no software inventory.

There is no installation approval process.

Better approach

The company establishes:

  • Standard employee accounts
  • Controlled administrator privileges
  • Approved software list
  • Production change management
  • Endpoint software inventory
  • Developer software rules
  • Security review for high-risk software
  • Logging of privileged activity
  • Removal process for unauthorized software

The flow becomes:

Need software

→

Check approved list

→

Request/authorize

→

Security review if required

→

Install

→

Verify

→

Record


Startup-Focused Quick Summary

For a startup, Annex A 8.19 can often be implemented without creating a complicated IT bureaucracy.

Minimum practical approach

  1. Maintain a software inventory.
  2. Define approved software.
  3. Restrict administrator privileges.
  4. Prevent unauthorized production changes.
  5. Use trusted software sources.
  6. Review high-risk software.
  7. Test important software before production.
  8. Record significant installations.
  9. Remove unauthorized or unnecessary software.
  10. Periodically review installed software.

Startup principle:
Control the software that can affect your security, production environment, or sensitive information.


Example Software Approval Register

SoftwareSystemBusiness NeedRiskApproved ByStatus
VS CodeDeveloper LaptopDevelopmentLowEngineeringApproved
PostgreSQL ClientDeveloper LaptopDB AdministrationMediumEngineeringApproved
Remote Admin ToolEmployee LaptopIT SupportHighIT/SecurityApproved
Browser Extension XEmployee LaptopProductivityMediumSecurityReview Required
New Monitoring AgentProductionMonitoringHighCTO/SecurityApproved

Software Installation Risk Assessment

Not every software package requires the same level of review.

Software TypeTypical RiskControl Level
Standard office applicationLowBasic approval
Developer toolLow–MediumApproved list
Browser extensionMediumReview
Remote-access softwareHighSecurity approval
Database administration toolHighRestricted access
Production security agentHighChange management
Unknown/untrusted softwareVery HighProhibit/reject

The actual classification should be determined by the organization’s risk assessment.


Software Installation in Production

Production systems should generally have tighter controls than employee endpoints.

A production installation may require:

  • Change ticket
  • Business justification
  • Technical owner
  • Security assessment
  • Version identification
  • Testing evidence
  • Rollback plan
  • Approval
  • Installation record
  • Post-installation verification

For example:

Change: Install new endpoint security agent on production servers
Reason: Security monitoring requirement
Testing: Completed in staging
Approval: CTO / Security
Installation: DevOps
Validation: Security monitoring confirmed
Rollback: Previous agent configuration retained


Emergency Software Installation

Sometimes software needs to be installed urgently.

For example:

  • Security vulnerability requires emergency remediation.
  • Incident response requires forensic tooling.
  • Critical production failure requires a vendor utility.
  • Security agent needs emergency deployment.

Organizations should have an emergency process rather than allowing uncontrolled installation.

A practical emergency process:

Emergency identified

→

Authorized person approves

→

Software/source verified

→

Installation performed

→

Activity logged

→

Post-installation review

→

Remove software if temporary


Third-Party Software Installation

External vendors may sometimes need to install software or agents.

Examples:

  • Remote-support agents
  • Monitoring agents
  • Backup agents
  • Security tools
  • Database tools
  • Vendor-specific software

The organization should consider:

  • Vendor authorization
  • Business justification
  • Security review
  • Access scope
  • Installation duration
  • Privileged access
  • Logging
  • Removal requirements

A vendor should not be allowed to install persistent software simply because they have technical access.


Cloud Environment Considerations

Modern startups often do not install traditional software manually on servers.

Software may be introduced through:

  • Infrastructure as Code
  • Container images
  • CI/CD pipelines
  • Package managers
  • Cloud marketplace applications
  • Serverless packages
  • Machine images
  • Kubernetes manifests
  • Automated deployment tools

Therefore, Annex A 8.19 should also be considered within the organization’s DevOps and cloud deployment process.

For example:

Developer commits dependency

→

CI pipeline scans dependency

→

Build created

→

Security checks

→

Staging deployment

→

Approval

→

Production deployment

This is often more effective than trying to manually control every individual package installation.


Container and Kubernetes Considerations

For organizations using containers, software installation may occur through container images and package dependencies.

Controls may include:

  • Approved base images
  • Trusted registries
  • Dependency scanning
  • Vulnerability scanning
  • Image signing where appropriate
  • Version control
  • Pull-request review
  • CI/CD security checks
  • Restricted production deployment
  • Removal of outdated images

A developer should not be able to introduce arbitrary production images without appropriate controls.


Software Installation and Change Management

Annex A 8.19 is closely connected with change management.

A significant software installation can represent a change to:

  • Security configuration
  • System functionality
  • Network connectivity
  • Data processing
  • Authentication
  • Monitoring
  • Availability
  • Compliance posture

Therefore:

Software installation

→ Potential change

→ Risk assessment

→ Testing

→ Authorization

→ Implementation

→ Verification

This is particularly important for production environments.


Unauthorized Software Detection

Organizations should periodically identify software that should not be present.

Possible methods include:

  • Endpoint management
  • Software inventory scans
  • Configuration-management tools
  • Cloud inventory
  • Vulnerability scanners
  • EDR platforms
  • Manual reviews
  • Configuration baselines

For example:

FindingAction
Approved softwareRetain
Outdated softwareUpdate
Unauthorized softwareInvestigate/remove
Unknown softwareInvestigate
Vulnerable softwareRemediate
Unused softwareRemove

What Happens When Unauthorized Software Is Found?

A documented response should exist.

Example:

  1. Identify software.
  2. Identify system and user.
  3. Determine why it was installed.
  4. Assess security risk.
  5. Check whether software is required.
  6. Remove or approve as appropriate.
  7. Investigate potential compromise if necessary.
  8. Document the decision.
  9. Update controls if the issue reveals a weakness.

Unauthorized software does not automatically mean that an employee committed misconduct.

The organization should first determine the circumstances and security risk.


Audit Evidence for Annex A 8.19

An auditor may request evidence such as:

Policies

  • Software Installation Policy
  • Acceptable Use Policy
  • Change Management Policy
  • Endpoint Security Policy

Procedures

  • Software installation procedure
  • Production deployment procedure
  • Emergency change procedure
  • Unauthorized software handling procedure

Records

  • Software inventory
  • Approved software list
  • Installation requests
  • Change tickets
  • Approval records
  • Deployment records
  • Endpoint reports
  • Vulnerability scan results

Technical Evidence

  • Endpoint management screenshots
  • Application control configuration
  • Software inventory reports
  • EDR reports
  • Configuration management reports
  • CI/CD controls
  • Cloud deployment records

Annex A 8.19 Audit Checklist

Audit QuestionEvidence
Is software installation controlled?Policy/procedure
Is approved software defined?Approved software list
Can users freely install software?Endpoint configuration
Are administrator privileges restricted?IAM/endpoint evidence
Is production software installation controlled?Change tickets
Are software sources trusted?Repository/configuration evidence
Are high-risk applications reviewed?Security review
Is installed software inventoried?Software inventory
Are unauthorized applications detected?Endpoint/EDR reports
Are vulnerabilities considered?Vulnerability reports
Are emergency installations controlled?Emergency change records
Are temporary tools removed?Removal evidence
Are software installations traceable?Logs/tickets

Common Mistakes

1. Allowing Everyone to Have Administrator Rights

This makes software installation difficult to control.

Better: Use standard accounts and controlled elevation.


2. Maintaining a Policy but No Technical Control

Having a statement saying:

“Employees must not install unauthorized software.”

is not enough if everyone has unrestricted administrator access.

Better: Combine policy with technical and operational controls.


3. Ignoring Developer Environments

Developers often install large numbers of packages and tools.

The organization should distinguish between:

  • Development
  • Testing
  • Production

Different levels of control may be appropriate.


4. Ignoring Browser Extensions

Browser extensions can have significant access to browser data.

Treat high-risk extensions as software requiring appropriate review.


5. Ignoring Cloud and Containers

Modern software installation often happens through:

  • Docker images
  • Kubernetes
  • CI/CD
  • Infrastructure as Code
  • Package managers

These should be included in the organization’s control model.


6. No Software Inventory

If you do not know what is installed, it is difficult to identify:

  • Vulnerable software
  • Unauthorized software
  • Unsupported software
  • Unnecessary software

7. No Emergency Process

Blocking all emergency changes can create operational problems.

Instead, define an emergency process with authorization and retrospective review.


8. Installing Temporary Tools and Forgetting Them

Incident-response or troubleshooting tools may be installed temporarily.

After the activity:

Use → Document → Remove if no longer required → Verify


Practical Startup Implementation Model

A startup can implement Annex A 8.19 using the following lifecycle:

1. Identify

What software exists?

2. Classify

Which software is low, medium, or high risk?

3. Approve

Which software is permitted?

4. Restrict

Who can install software?

5. Verify

Is the software from a trusted source?

6. Test

Does important software need testing before production?

7. Deploy

Install using controlled processes.

8. Record

Maintain appropriate installation and change records.

9. Monitor

Identify unauthorized or vulnerable software.

10. Remove

Remove unnecessary, unauthorized, or unsupported software.

Simple implementation formula:
Identify → Approve → Restrict → Verify → Test → Install → Record → Monitor → Remove


Minimum Viable Implementation for a Startup

A small startup does not need to purchase multiple expensive tools just to satisfy Annex A 8.19.

A practical starting point is:

Governance

  • Software Installation Policy
  • Approved Software List
  • Production Change Management Procedure

Access

  • Standard employee accounts
  • Restricted administrator access
  • Separate privileged accounts where appropriate

Technology

  • Endpoint management
  • Software inventory
  • Vulnerability scanning
  • Controlled production deployment

Development

  • Approved package repositories
  • Dependency scanning
  • Code review
  • CI/CD controls

Monitoring

  • Unauthorized software detection
  • Vulnerability management
  • Periodic software review

Evidence

  • Software inventory
  • Change records
  • Approval records
  • Security review records

Policy vs. Process vs. Evidence

LayerExample
PolicyUnauthorized software installation is prohibited
ProcessSoftware must be approved before installation
Technical ControlUsers do not have unrestricted administrator rights
EvidenceSoftware inventory and installation records
MonitoringUnauthorized software is periodically identified
ReviewSoftware inventory and exceptions are reviewed

A mature implementation uses all of these layers.


Relationship With Other ISO 27001 Controls

Annex A 8.19 should not be implemented in isolation.

ControlRelationship
A.5.9Inventory of information and associated assets
A.5.10Acceptable use of assets
A.5.15Access control
A.5.18Access rights
A.8.1User endpoint devices
A.8.2Privileged access rights
A.8.5Secure authentication
A.8.8Management of technical vulnerabilities
A.8.9Configuration management
A.8.15Logging
A.8.16Monitoring activities
A.8.18Privileged utility programs
A.8.25Secure development life cycle
A.8.31Separation of development, test and production environments
A.8.32Change management

Particularly important relationship

A.8.19 + A.8.8 + A.8.9 + A.8.32

Together these help an organization control:

What software is installed → how it is configured → whether it is vulnerable → how changes are authorized.


Useful Documents for Annex A 8.19

A startup can create the following supporting documents:

  1. Software Installation and Application Control Policy
    [Insert Draft Document Link]
  2. Approved Software Register
    [Insert Draft Document Link]
  3. Software Installation Request Form
    [Insert Draft Document Link]
  4. Production Software Installation Procedure
    [Insert Draft Document Link]
  5. Emergency Software Installation Procedure
    [Insert Draft Document Link]
  6. Software Inventory Register
    [Insert Draft Document Link]
  7. Unauthorized Software Investigation Form
    [Insert Draft Document Link]
  8. Software Security Review Checklist
    [Insert Draft Document Link]

Questions an Auditor May Ask

An auditor may ask:

About policy

  • Do you have rules governing software installation?
  • Who is authorized to install software?
  • How are production installations controlled?

About employees

  • Can normal users install applications?
  • Do employees have local administrator privileges?
  • How are unauthorized applications detected?

About production

  • How do you install software on production systems?
  • Is a change request required?
  • How do you test software before production?

About security

  • How do you check software for vulnerabilities?
  • How do you verify software sources?
  • How do you handle unsupported software?

About developers

  • How are third-party packages controlled?
  • How are dependencies reviewed?
  • How are container images controlled?

About exceptions

  • What happens during an emergency?
  • How are temporary tools removed?
  • How are exceptions documented?

Example Auditor Walkthrough

A practical auditor test could look like this:

Auditor selects a production server

↓

Checks installed software

↓

Selects several applications

↓

Checks whether they are approved

↓

Checks software versions

↓

Checks vulnerabilities

↓

Checks installation/change record

↓

Checks who performed the installation

↓

Checks whether appropriate authorization existed

This provides much stronger evidence than simply showing a policy.


Startup-Focused Final Takeaway

ISO 27001 Annex A 8.19 is about controlling what software is allowed to enter your operational environment.

You do not necessarily need a complex enterprise application-control platform.

A startup can establish a strong foundation by answering seven simple questions:

  1. What software do we have?
  2. What software is approved?
  3. Who can install it?
  4. Where can it be installed?
  5. How do we check it before installation?
  6. How do we detect unauthorized or vulnerable software?
  7. How do we remove software that is no longer required?

The practical lifecycle is:

Identify → Approve → Restrict → Verify → Test → Install → Record → Monitor → Remove

For a startup, the objective is not to prevent employees and engineers from using useful software.

The objective is to ensure that software capable of affecting business systems, security, customer information, or production operations is introduced in a controlled and traceable manner.

In one sentence:

Annex A 8.19 ensures that software installed on operational systems is authorized, appropriate, secure, and controlled.


MAE Practical Guidance

For startups preparing for ISO 27001 or SOC 2, Annex A 8.19 should be connected to your broader:

  • Asset Management
  • Access Control
  • Endpoint Security
  • Vulnerability Management
  • Configuration Management
  • Secure SDLC
  • Change Management
  • Cloud Security
  • DevOps Security

A well-designed process should make the control part of normal IT and engineering operations, rather than creating a separate compliance exercise.

How can we help?

Leave a Reply

Your email address will not be published. Required fields are marked *