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

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
甲骨文称 Java 序列化的存在是个错误,计划删除
甲骨文计划从 Java 中去除序列化功能,因其在安全方面一直是一个棘手的问题。 Java 序列化也称为 Java 对象序列化,该功能用于将对象编码为字节流...Oracle 的 Java 平台小组的首席架构师 Mark Reinhold 说:“删除序列化是一个长期目标,并且是 Project Amber 的一部分,它专注于面向生产力的 Java 语言功能。” 为了替换当前的序列化技术,一旦记录,会在平台中放置一个小的序列化框架,支持 Java 版本的数据类。该框架可以支持记录图形,开发人员可以插入他们选择的序列化引擎,支持 JSON 或 XML 等格式,从而以安全的方式序列化记录。 但 Reinhold 还不能确定哪个版本的 Java 将具有记录功能。 序列化在 1997 年是一个“可怕的错误”,Reinhold 说。 他估计至少有三分之一甚至是一半的 Java 漏洞涉及序列化,序列化总体上是脆弱的,但具有在简单用例中易于使用的特性。 编译自:InfoWorld
- 下一篇
尘埃落定,JDK 11 确定将引入 Shebang #! 符号
按计划,JDK 11 将于 9 月发布。随着时间的临近,越来越多的 JEP 正被不断被添加至JDK 11 的开发列表中。 2017 年 12 月 1 日,来自 Oracle 的开发者JonathanGibbons 创建了 JEP 330 草案,名为 “Launch Single-File Source-Code Programs”,主要是改进 JavaLauncher以支持一个命令执行单个 Java 源代码文件。换句话说,在条件满足的情况下,可以简单地直接编译并运行单文件程序,而不再需要调用 javac ,也不需要打包 jar 文件。 比如说,可直接运行: javaHelloWorld.java 而不再需要: javac-d<memory>HelloWorld.java java-cp<memory>hello.World 此外,JEP 330 还引入了通常在 Unix 系统脚本中使用的Shebang和相关技术,将支持使用该机制来执行 Java 程序,例如: #!/path/to/java--sourceversion 在描述中,JonathanGibbons...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Windows10,CentOS7,CentOS8安装Nodejs环境
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7