界: Input Validation and Representation

输入验证与表示问题是由元字符、交替编码和数字表示引起的。安全问题源于信任输入。这些问题包括:“Buffer Overflows”、“Cross-Site Scripting”攻击、“SQL Injection”等其他问题。

Dynamic Code Evaluation: Unsafe TensorFlow Deserialization

Abstract
允许在 TensorFlow 中进行不安全的反序列化可能允许通过 lambda 执行任意代码,对应用程序构成重大的安全风险。
Explanation
使用 TensorFlow 时,enable_unsafe_deserialization() 允许攻击者反序列化 lambda 或其他 Python 可调用对象。虽然此功能对于灵活性和还原复杂模型很有用,但如果存在序列化数据,则会带来漏洞。

示例 1:以下 Python 代码说明了在序列化数据不安全的情况下,启用不安全的反序列化会出现何种漏洞:

import tensorflow as tf

tf.keras.config.enable_unsafe_deserialization()

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



此示例说明了在未确保数据源完全安全的情况下使用 enable_unsafe_deserialization() 时可能存在的危险。
desc.structural.python.dynamic_code_evaluation_unsafe_tensorflow_deserialization