时间:2018-05-29
提议为Python编程语言新增的一项功能想要为运行时环境添加“透明度”,让安全和审计工具可以看清楚Python何时在运行可能危险的操作。
目前版本的Python不允许安全工具查看运行时环境在执行什么操作。除非这类操作生成可能引发警报的特定错误,否则安全和审计工具蒙在鼓里,不清楚攻击者可能利用Python在系统上执行恶意操作。
PEP-551为Python提议两个新的API
但在Python改进提案551(PEP-551,http://www.python.org/dev/peps/pep-0551/)中,核心的Python开发人员斯蒂夫•道尔(Steve Dower)提议增加两个新的API,这些API将让安全工具可以发现Python何时在执行可能危险的操作。
道尔说:“我们提议新增两个API来支持这项功能:Audit Hood(审计钩子)和Verified Open Hook(验证的开放钩子)。这两个API在默认情况下并未设置,都需要修改入口点二进制代码才能启用功能。”
其中第一个是Audit Hook API,它会生成关于某种类型的Python操作的警告消息。
道尔说:“这些操作通常出现在Python运行时环境或标准库的底层,比如动态代码编译、模块导入、DNS解析或使用ctypes之类的某些模块。”
安全或审计工具可能会使用这些消息作为表明出现可疑活动的警告标志,将可疑的Python进程标记出来,或阻止继续运行,以免造成实际而重大的危害。
第二个API:Verified Open Hook API是一种让Python运行时环境知道允许执行或改动哪些文件的机制。道尔解释道:
大多数操作系统都有一种机制来区分可以执行的文件和不可执行的文件。比如说,这可能是权限字段中的执行位,或者文件内容的验证哈希,以检测潜在的代码改动行为。这些是重要的安全机制,可防止执行未批准用于某个特定环境的数据或代码。目前,Python启动脚本或导入模块时无法与这种机制整合起来。
Python的性能影响忽略不计
道尔在去年8月提议PEP-551。早期的测试表明,添加这两个API带来的性能影响可以忽略不计,“绝大多数基准测试显示结果介于速度快1.05倍到慢1.05倍之间”。
最初的计划是让PEP-551随原定于2018年6月中旬发布的Python 3.7一同交付,但是为下个月的版本添加的新功能列表(http://www.python.org/dev/peps/pep-0537/)显示,这项提案最终没有通过。这并不意味着PEP-551不会随未来的Python版本一同交付。
Python是解决“安全视角”(security optics)问题的第二个主要的脚本引擎,这个概念是指编程和脚本运行时环境应提供最基本的透明度,有助于防止不良行为。微软在采取类似的行动,好让PowerShell对安全工具而言更加透明。
Copyright © 2017-2020 亚洲信誉品牌的大型娱乐平台 版权所有 豫ICP备18011434号-1 豫公网安备 41019702002746号