python - 如何创建一个锁定的 python 环境?

标签 python windows security excel

我负责开发一个大型 Python/Windows/Excel 应用程序,供一家在世界各地设有办事处的金融机构使用。最近某个国家/地区的法规发生了变化,因此我们被告知需要创建一个“锁定”版本的发行版。

在与我的外国同行进行了一些令人沮丧的对话之后,他们似乎担心有人可能会滥用他们计算机上的 python 解释器来生成可能用于规避安全性的非标准应用程序。

我最初的建议只是取消对 python.exe 和 pythonw.exe 的执行权限:我们的应用程序作为 Excel 插件使用,仅使用 Python DLL。这些 exe 文件从未实际使用过。

我的对手仍然担心有人可以对 Python DLL 进行调用 - 黑客可以利用“exec”函数,例如从能够调用 Windows DLL 中的函数的另一种编程语言或虚拟机,例如 VBA。

有什么办法可以防止我们要安装的DLL被滥用吗?在这一点上,我没有想法了。我需要找到一种方法来确保 Python 只会运行我们授权的程序。

当然,这个问题有一个荒谬的因素:因为计算机都有 Excel 和 Word,所以它们都有 VBA,这是一种众所周知的脚本语言,在功能上与 Python 相当。

当 Excel 的 VBA 完全开放时,担心 python 显然没有意义,但这是公司政治,而且是我的团队提议使用 Python,所以我们需要证明我们的东西可以相当安全.

最佳答案

“相当安全”被任意定义为“比 Excel 和 VBA 更安全”。

你赢不了这场战斗。因为吵架是为了错误的事情。任何人都可以使用任何 EXE 或 DLL。

您需要以不同的方式定义“锁定”——以一种您可以成功的方式。

您需要将“锁定”定义为“无法更改 .PY 文件”或“我们可以审核对 .PY 文件的所有更改”。如果您将竞争环境转移到您可以控制的地方,您获胜的机会很小。

获取法规——不要相信任何其他人会为您解释这些法规。

绝对确定法规的要求——不要听信别人的解释。

关于python - 如何创建一个锁定的 python 环境?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/811670/

相关文章:

python - 在 Python 中使用 rm -rf 的最简单方法

c# - 如果 UDP 数据包在线上,我能保证在应用层得到它们吗?

windows - 如何以递归方式列出 Windows .bat 文件中类型为 *.mp3 的所有文件?

php - Web 服务器上的哪个位置是存储包含简历文件的文件夹的最佳位置?内部网络根目录还是外部网络根目录?什么最安全?

javascript - 如何从插件/扩展中隐藏/保护客户端 JavaScript 中的 session /加密 key

JavaScript 非持久性安全问题

c++ - 编写虚拟网络摄像头?

python - Py2Exe "Missing Modules"

windows - 建立从 Windows 应用程序到 Google App Engine 应用程序的 OAuth 连接

python - 如何从Python MySQL数据库中获取数据到文本框中?