Skip to content
Software development
ASD ISMISM-2058

ASD ISM 2058 Ensure data validation before deserialisation

What it says

Data sources and serialised data inputs are validated before being deserialised.

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

What it means

In plain English

Check data is correct before converting it from storage format to usable format to prevent issues.

This control is about ensuring that any data you collect or receive is checked carefully before it's converted into a format that your computer systems use. This matters because if the data is not checked, it could contain harmful elements that might damage your systems or allow unauthorised access.

Why it matters

If serialised inputs aren't validated before deserialisation, attackers can exploit unsafe deserialisation to execute code, tamper with data, or compromise systems.

How to implement

  1. System owners should identify the sources of incoming data for their applications.

    They can do this by listing all the external systems and users that send data and specifying the type of data they send. This helps in setting up necessary checks.

  2. The IT team should create rules or scripts to validate the data format when it arrives.

    They can do this by developing and testing scripts that check data against expected patterns or formats before any further processing.

  3. Managers should ensure staff are trained in data validation techniques.

    This can be done by organising workshops or providing simple guides that explain how to check and handle data securely.

  4. System owners need to implement logging for data validation activities.

    This involves setting up the system to keep records of all validation checks performed, which can then be reviewed if there are any issues.

  5. The IT team should regularly update the data validation processes to adapt to new threats.

    This involves reviewing validation scripts and patterns periodically to ensure they are up-to-date and effective against recent data threats.

Keep it running

Validate and allowlist expected schema/types before deserialising. Reject unexpected fields/classes and use safe deserialisers with integrity checks on untrusted inputs.

Evidence and audit

  1. Check 1 of 5What an auditor asks for

    Ask for

    The data validation procedure documentation: Request the written process details for how data is checked before being used.

    Look at

    Clear steps on what checks are done and who is responsible.

    Good evidence

    Includes a recent document with clear roles and step-by-step validation processes.

  2. Check 2 of 5What an auditor asks for

    Ask for

    To see the list of incoming data sources: Request the list or registry that identifies where data is coming from and its characteristics.

    Look at

    Completeness in terms of coverage of all data sources.

    Good evidence

    Shows a regularly updated list that corresponds with current business activities.

  3. Check 3 of 5What an auditor asks for

    Ask for

    Recent logs showing data validation activity: Request logs or reports generated during data validation.

    Look at

    The patterns of checks conducted and any errors or warnings recorded.

    Good evidence

    Logs reflecting regular checks and responses to any issues encountered.

  4. Check 4 of 5What an auditor asks for

    Ask for

    About staff training records on data handling: Request evidence that staff have been trained on data validation practices.

    Look at

    Dates, attendance records, and training content.

    Good evidence

    Includes recent training sessions with high attendance and relevant content.

  5. Check 5 of 5What an auditor asks for

    Ask for

    To see updates or reviews of validation scripts: Request records of changes or improvements to validation scripts.

    Look at

    The frequency and details of updates.

    Good evidence

    Includes scheduled reviews documented with dated changes and explanations.

Mappings

Closest match in ISO/IEC 27001: A.8.28, Secure coding practices in software development, which this control partially meets.

ISO 27001

ISO/IEC 27001: 1 mapping

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