【问题标题】:Security and Privacy of VSCode extensionsVSCode 扩展的安全和隐私
【发布时间】:2018-05-04 09:56:16
【问题描述】:

我看到 VSCode 有很多不错的扩展。但是,我担心这些扩展是否将我的代码发送到他们的任何服务器。有什么办法可以查到吗?我可以使用 fiddler 并隔离插件中可能发生的调用——但不想对我安装的每个扩展都这样做。 VScode 团队对此有什么指导吗?

【问题讨论】:

  • 但是很多扩展不是由第三方/独立开发者而不是 MS 开发的吗?
  • 你希望 VSCode 团队能够告诉你独立开发者在他们的代码中做了什么?你希望那些独立开发者会出于某种原因从每个使用他们插件的人那里收集源代码吗?如果您担心插件在做什么,请不要使用任何插件。
  • 我不理解对这个非常有效的问题的评价和评论的消极态度。 vscode 的快速增长意味着它正在成为一个需要考虑的严重攻击向量。如果没有对扩展的审查过程,您的编辑将成为进入网络的特权点,仅受作者防御保护。攻击者总是会选择阻力最小的路径,而 vscode 扩展可能就是其中之一。
  • @KenWhite,鉴于目标黑客在例如大公司和大学,我认为这应该引起一些用户的关注,如果不是所有用户的话。看起来微软正在慢慢地将最好的第三方功能引入核心。在这种情况下,您建议使用核心功能或您自己检查的功能是一个很好的前进方向。那么真正的问题是那些用户可以信任核心吗?它对合法地区提出了很多要求。
  • 数据隐私不是唯一的问题。插件可以访问文件系统。很多恶作剧的想法

标签: security visual-studio-code privacy


【解决方案1】:

如果您对已安装的应用程序/插件发送什么样的数据(如果有的话)以及发送到哪里感到偏执,您首先必须逐行检查插件源代码,然后设置一种类型记录每个网络事务的中间人代理服务器。有一个恰当地称为 mitmproxy 的工具,例如用于 iOS 网络取证或实际上所有您无法轻易窥视的封闭设备:https://mitmproxy.org

这是一项费力的工作,因为您必须筛选大量的连接数据。好处是,即使通过 SSL 加密的通信,最终您也将确切地知道将什么样的数据发送到哪里。 mitmproxy 也可以将自己置于这些连接之间——在一些初始设置之后。

除此之外,您只能设置个人防火墙或(取决于您的操作系统)设置完整的防火墙集,阻止除手动批准之外的所有连接。

最后,这完全取决于您的威胁级别,正如安全行业所说的那样。如果您有特别高的操作安全要求,则根本不应该从处理敏感信息的机器连接到互联网,而是使用气隙机器,将数据从一个物理传输到另一个,设置多个额外的保护措施,例如入侵检测、启发式扫描和物理访问限制。

但是,这种安全开销通常是多余的。如果您安装了高评价和流行的插件,您可能会很高兴,因为大数定律表明,参与的人越多,恶意行为的概率就越容易被发现。

安全是一项高度复杂且动态的任务,您要么必须自己完成,要么花钱请人代您完成。此外,这是一个数字游戏,或者是一种威慑。没有 100% 安全的东西。只要有足够的时间和资源,任何事情都可能受到损害。游戏的目的是让妥协目标变得比成功这样做可能获得的收益更难。不能指望一个未完全作为安全解决方案开发的开源项目(即使来自像微软这样的巨头)免费为您进行安全审查。

更新:随着 VSCode 变得非常流行,邪恶插件的问题出现了。这与任何插件架构(如 WWW 浏览器)或公共包管理器(如 npm)的问题相同。如果没有正式的、自动的和手动的安全审查(比如 Apple 的 App Store——尽管他们有大量的人力,但它们时常会出现失误),从信息安全的角度来看,所有这些系统都可能是有毒的。流行的扩展也有可能被出售和/或更改所有者,然后注入错误代码。对于浏览器插件和 npm 包,这种情况已经发生过多次。扩展是一个相当大的攻击媒介,尤其是对企业而言。与普通用户相比,开发人员通常可以更广泛地访问网络基础设施和服务,并且在他们的机器上运行具有更高权限的软件。

总结:

我可以使用 fiddler 并隔离插件中可能发生的调用 - 但不想对我安装的每个扩展都这样做。

恐怕这正是你暂时要做的。

【讨论】:

  • 不幸的是,VSCode 没有认真对待这一点。这确实是一个很大的攻击向量,因为 VSCode 甚至没有像 Chrome 那样提供最小(有缺陷)的权限方法,比如“这个插件将能够连接到外部网络”在 2019 年,微软不这样做是错误的正在为此做点什么,即使这是开源的(并且是一个设计得非常好、有用的工具)
  • 有一个名为“Little Snitch”(obdev.at/products/littlesnitch/index.html)的 OSX 产品可以通知并可能阻止所有传出网络连接。当然,那你就相信那个......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-07-15
  • 1970-01-01
  • 2019-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多