Сервер/клиентское приложение взаимодействует друг с другом с использованием форматированных XML-данных, используя TCP-соединение. Это потрясающе, так как мне не нужно беспокоиться о сериализации/десериализации сложных данных.Безопасность сетевой службы: размер сетевого сообщения должен быть известен?
Чтобы разрешить получение данных XML, я добавляю длину документа XML (в байтах) к данным, отправляемым по сетевому сокету; таким образом, приложение-получатель знает, сколько данных считывается, прежде чем он сможет десериализовать данные в формате XML.
Теперь я пытаюсь представить возможные дыры в безопасности на клиентском/серверном приложении, которое использует такую структуру сообщений.
Помимо проблем, связанных с переносимыми данными, я считаю, что данные в формате XML защищают сервер от вредоносных сообщений. Не так ли? Если ответ верен, остается только вопрос о том, что произойдет, если вредоносный клиент отправит мне сообщения, объявляющие огромный размер сообщения (путем изменения целого числа, вставленного в начале сообщения).
Результат будет DOS, поскольку процесс простодушного сервера очень очень большое (юридическое) сообщение ...
можно избежать информации «размера сообщения»? Как я могу предотвратить атаку DOS?
Недостаточно информации о вашем пользовательском протоколе. Вы не должны повторно изобретать wheal, SOAP лучше во всех отношениях. – rook