Reino: Input Validation and Representation
Los problemas de validación y representación de entradas están causados por metacaracteres, codificaciones alternativas y representaciones numéricas. Los problemas de seguridad surgen de entradas en las que se confía. Estos problemas incluyen: «desbordamientos de búfer», ataques de «scripts de sitios», "SQL injection" y muchas otras acciones.
Dynamic Code Evaluation: Unsafe TensorFlow Deserialization
Abstract
Permitir una deserialización insegura en TensorFlow puede permitir la ejecución de código arbitrario a través de lambdas, lo que plantea importantes riesgos de seguridad para las aplicaciones.
Explanation
Al usar TensorFlow,
Ejemplo 1: El siguiente código Python ilustra cómo se puede aprovechar la habilitación de la deserialización insegura si los datos serializados no son seguros:
Este ejemplo demuestra el peligro potencial cuando se utiliza enable_unsafe_deserialization() sin garantizar que la fuente de datos sea completamente segura.
enable_unsafe_deserialization()
permite a un atacante deserializar lambdas u otros objetos invocables de Python. Si bien esta característica es útil para brindar flexibilidad y restaurar modelos complejos, plantea nuevas vulnerabilidades si los datos serializados pueden serlo.Ejemplo 1: El siguiente código Python ilustra cómo se puede aprovechar la habilitación de la deserialización insegura si los datos serializados no son seguros:
import tensorflow as tf
tf.keras.config.enable_unsafe_deserialization()
model = tf.keras.models.load_model('evilmodel_tf.keras')
model([])
Este ejemplo demuestra el peligro potencial cuando se utiliza enable_unsafe_deserialization() sin garantizar que la fuente de datos sea completamente segura.
desc.structural.python.dynamic_code_evaluation_unsafe_tensorflow_deserialization