V13.3.1 SOAP Web Service
Requirement:#
Verify that XSD schema validation takes place to ensure a properly formed XML document, followed by validation of each input field before any processing of that data takes place.
Explanation:#
XSD (XML Schema Definition) это способ описания структуры и типов данных XML-документа. Проверяя документ XML по схеме XSD, приложение может убедиться, что XML соответствует ожидаемой структуре и типам данных.
Кроме того, требование гласит, что каждое поле ввода должно быть проверено перед любой обработкой данных. Это означает, что приложение должно выполнять проверки входных данных, чтобы убедиться, что они соответствуют заданным требованиям, таким как длина, формат и разрешенные символы. Проверяя поля ввода, приложение может предотвратить возникновение проблем во время обработки вредоносных или искаженных данных.
Remediation:#
Чтобы выполнить это требование, можно выполнять следующие действия:
Проверить определения XML-схемы. Реализовать проверку определения XML-схемы (XSD), чтобы убедиться, что XML-документ сформирован правильно. Это можно сделать с помощью синтаксического анализатора XML, поддерживающего проверку XSD, например lxml или xmlschema в Python.
Верифицировать поля ввода. После проверки XSD необходимо проверить каждое поле ввода, чтобы убедиться, что оно соответствует указанным критериям. Это может включать проверку минимальной и максимальной длины, обязательных полей, разрешенных символов и т. д.
Реализовать Шлюз безопасности XML. Рассмотреть возможность реализации шлюза безопасности XML, который выполняет проверку XSD и проверку полей, а также может применять другие меры безопасности, такие как, например, контроль доступа.
Проверять системы. Регулярно проверять систему на наличие любых признаков взлома или несанкционированного доступа и незамедлительно реагировать на любые обнаруженные инциденты безопасности.
Проводить регулярное тестирование. Рассмотреть возможность проведения регулярного тестирования на проникновение и оценки безопасности, чтобы выявить любые потенциальные уязвимости и обеспечить эффективность мер безопасности.
Вот пример кода на Python, который реализует проверку XSD:
В этом примере библиотека xmlschema используется для загрузки схемы XSD и документа XML, а метод is_valid вызывается для проверки документа на соответствие схеме. Если документ действителен, может быть выполнена дополнительная проверка поля. Если документ недействителен, запрос может быть отклонен.