针对Python编程语言的新功能提议之一是希望为运行时添加“透明度”,并让安全和审计工具查看Python何时可能运行潜在危险的操作。
在当前的形式下,Python不允许安全工具查看运行时正在执行的操作。除非这些操作之一产生可能引起警报的特定错误,否则安全和审计工具就会视而不见,攻击者可能正在使用Python在系统上执行恶意操作。
PEP-551为Python提出了两个新的API
但在PythonEnhancementProposal551(PEP-551)中,Python核心开发人员SteveDower已经提出了两个新的API,这些API将使安全工具能够在Python执行潜在危险操作时进行检测。
第一个是AuditHookAPI,它可以引发关于某些类型的Python操作的警告消息。
“这些操作通常在Python运行时或标准库的深处,比如动态代码编译,模块导入,DNS解析或使用某些模块,如ctypes,”Dower说。
安全或审计工具可能会使用这些消息作为可疑事件的警告标志,并在真正造成危害之前标记或阻止Python进程继续。
第二种,验证OpenHookAPI,这是是一种让Python运行时允许执行或篡改哪些文件的机制。道尔解释道:
大多数操作系统都有一种机制来区分可以执行的文件和不可执行的文件。例如,这可能是权限字段中的执行位,或者是文件内容的验证散列,以检测潜在的代码篡改。这些是防止执行未被批准用于给定环境的数据或代码的重要安全机制。目前,Python在启动脚本或导入模块时无法与这些集成。
Python的性能影响可以忽略不计
道尔去年8月份提出了PEP-551。早期的测试表明,添加这两个API所带来的性能影响可以忽略不计,“绝大多数基准测试显示速度在1.05倍之间”的结果。
最初的计划是让PEP-551搭载Python3.7,并计划于2018年6月中旬发布,但根据下个月发布的新功能列表,该提案没有进行最终削减。但这并不意味着PEP-551不会在未来版本的Python中提供。
网友评论