Reino: Input Validation and Representation

Problemas de validação e representação da entrada são causados por metacaracteres, codificações alternativas e representações numéricas. Confiar na entrada resulta em problemas de segurança. Os problemas incluem: “Buffer Overflows”, ataques de “Cross-Site Scripting”, “SQL Injection”, entre outros.

Dynamic Code Evaluation: Unsafe TensorFlow Deserialization

Abstract
Permitir a desserialização insegura no TensorFlow pode permitir a execução arbitrária de código por meio de lambdas, representando riscos de segurança significativos para os aplicativos.
Explanation
Durante o uso do TensorFlow, enable_unsafe_deserialization() permite que um invasor desserialize lambdas ou outros objetos que podem ser chamados em Python. Embora esse recurso seja útil para flexibilidade e restauração de modelos complexos, ele abrirá vulnerabilidades se os dados serializados puderem ser.

Exemplo 1: O código Python a seguir ilustra como a habilitação da desserialização insegura poderá ser explorada se os dados serializados não forem seguros:

import tensorflow as tf

tf.keras.config.enable_unsafe_deserialization()

model = tf.keras.models.load_model('evilmodel_tf.keras')
model([])



Este exemplo demonstra o perigo potencial quando enable_unsafe_deserialization() é usado sem garantir que a fonte dos dados seja completamente segura.
desc.structural.python.dynamic_code_evaluation_unsafe_tensorflow_deserialization