电脑疯子技术论坛|电脑极客社区

 找回密码
 注册

QQ登录

只需一步,快速开始

[WEB前端技术] 潜在供应链攻击:pyd和py优先级问题

[复制链接]
zhaorong 发表于 2022-1-6 17:04:34 | 显示全部楼层 |阅读模式
简介

Cython的出现使得Python代码更加安全和快速。大多数人对于Cython的了解在于用来保护Python代码库
它的确让Python代码的安全性得到提升,目前得到的pyd文件只能反汇编,并且优先级会高于py文件如果
利用它的特性结合供应链攻击,也许会带来安全隐患。

优先级问题

当相同文件名的pyd和py文件在同级目录之中 将会优先执行pyd文件 pyd文件通常因难
以阅读研发缺少反汇编技能 导致少被关注。下面进行测试:
咱们新建文件tmp_debug.py 将其编译为pyd文件。

#!/usr/bin/python
# -*- coding: utf-8 -*-
def test():
    print("恶意逻辑测试。")
    print("输出测试。")
if __name__ == "__main__":
    test()

再将其中的部分代码删除。得到tmp_debug.py如下代码:

#!/usr/bin/python
# -*- coding: utf-8 -*-
def test():
    print("输出测试。")
if __name__ == "__main__":
    test()

将其pyd文件与py文件放在同级目录之中。通过如下代码执行调用:

import tmp_debug

tmp_debug.test()

得到结果:

恶意逻辑测试。

输出测试。

如果你使用PyCharm,按住Ctrl用鼠标左键点击tmp_debug.test()方法则会跳转到py文件代码
pyd将会被忽略。如果被用于供应链攻击后果可想而知。

修复办法

1、如果条件允许最好能够重新编译PYD文件。

2、对比官方模块的校验。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|VIP|电脑疯子技术论坛 ( Computer madman team )

GMT+8, 2025-1-23 07:17

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表