Skip to content
Software development
ASD ISMISM-2016

ASD ISM 2016 Ensure input validation and sanitisation for security

What it says

Validation and sanitisation are performed on all input received over a local network by software.

Quoted as published. Everything else on this page is written by Control Stack.

What it means

In plain English

Software must check and clean all local network inputs to prevent security issues.

Ensuring that all information entering your software from your local network is checked and cleaned is like making sure no mud gets on your carpet: it helps keep everything inside safe and tidy. If you skip this step, you might let in harmful data, which could lead to software crashes or even allow some malicious person to control your system.

Why it matters

Poor input validation and sanitisation allow attackers to execute malicious code, leading to data breaches and significant business disruption.

How to implement

  1. IT team should identify all pathways where data enters the system from the local network.

    This includes things like forms on websites or data input from other software. Map out these points to ensure all are accounted for.

  2. System developers need to create rules for what valid input should look like.

    This can involve setting limits on what data is allowed, like ensuring phone numbers don't contain letters. Clearly define these rules in your software requirements.

  3. Software testers should routinely check that input validation is working as intended.

    They can do this by attempting to enter both valid and invalid data to see if the system correctly accepts or rejects it.

  4. Managers should ensure staff understand the importance of input validation.

    Conduct training sessions that explain why and how data entering the system can be dangerous if not properly checked.

  5. Procurement officers should ensure any software being considered for purchase includes input validation capabilities.

    Request this information from the vendor in clear terms and ensure it is part of the evaluation criteria during software selection.

Keep it running

Validate and sanitise all local-network inputs using allow-lists; centralise checks at every entry point; fuzz test and log rejected or anomalous values.

Evidence and audit

  1. Check 1 of 5What an auditor asks for

    Ask for

    A list of all input points identified by the IT team.

    Look at

    Whether every entry point from the network to the system is covered. Good means no gaps in the listed input sources and all being accounted for.

  2. Check 2 of 5What an auditor asks for

    Look at

    Whether these rules are comprehensive and address all types of input.

    Good evidence

    Includes clear guidelines that cover common and uncommon input scenarios.

  3. Check 3 of 5What an auditor asks for

    Ask for

    Results of testing routines from software testers.

    Look at

    The records of both successful and unsuccessful validation tests. Good results will show that invalid inputs were predictably rejected and valid inputs were accepted.

  4. Check 4 of 5What an auditor asks for

    Look at

    Attendance logs and training materials.

    Good evidence

    Outcome shows regular sessions with most relevant staff having attended.

  5. Check 5 of 5What an auditor asks for

    Ask for

    Procurement officers for software procurement criteria documentation.

    Look at

    Whether input validation features are a stated requirement.

    Good evidence

    Document lists clear input validation as a mandatory feature in software systems.

Mappings

Closest match in ISO/IEC 27001: A.8.25, Secure development lifecycle, which this control partially meets.

ISO 27001

ISO/IEC 27001: 2 mappings

  • A.8.25Secure development lifecyclePartially meets

Mappings show how controls relate across frameworks. They do not imply full equivalence or certification.