既然有 SSL pinning, 那么有没有针对静态资源尤其是 js 脚本的 pinning

79 天前
 zhng920823

参考前文 供应链投毒后,我们的选择还剩下哪些?

最近做了个匿名加密可 WebRTC 视频的聊天室

填昵称即可进的匿名聊天室

如果这个特性能被浏览器标准化, 那么基于浏览器的应用能更好发展

能成为互联网除了 TLS 外最基础的一个信任环节, 一个人/公司开始可能不坏, 但是后面会变坏.

毕竟如文章开头提到的那件事, 现在对 cdn 和公共资源提供者无底线信任是最薄弱的环节.

1326 次点击
所在节点    奇思妙想
7 条回复
0o0O0o0O0o
79 天前
不记得是第几次复制粘贴这个链接
https://news.ycombinator.com/item?id=39436238

去年吵翻天的 WEI 风波证明了人们不接受这样的东西,我认为不用抱这种期待了
https://en.wikipedia.org/wiki/Web_Environment_Integrity

做应用的话可以参考 fb 的做法,相当于信任 Google 和 Mozilla 的市场这样的分发渠道
https://chromewebstore.google.com/detail/code-verify/llohflklppcaghdpehpbklhlfebooeog
zhng920823
79 天前
@0o0O0o0O0o #1 大佬果然博学
qweruiop
79 天前
wei 已经不行了,现在最好的办法就是信任 Google/Apple 的分发渠道啦,web 的东西就算了吧。。。
iqoo
79 天前
全站静态资源 Hash 锁定,几年前就写过: https://github.com/EtherDream/freecdn/blob/master/docs/feature/README.md#%E5%85%A8%E7%AB%99-Hash-%E6%A0%A1%E9%AA%8C

都快忘了这个项目了,好久没更新。
0o0O0o0O0o
79 天前
@iqoo #4 SRI 或者说目前浏览器网页的所有方案都满足不了 OP 的需求,毕竟只是 Subresource ,也就是你提到的第三方站点,OP 设想中应用则是连自己的站点也无法信任
zhng920823
79 天前
@iqoo #4
@0o0O0o0O0o #5

只是全站静态资源 hash 固定还不够 也不够灵活

还要要求原始的代码够简单, 不说能完全让人读懂, 但至少能粗略审核保证没有主观恶意或漏洞/后门

要保证从服务器动态获取的只有数据, 不能有执行代码, eval 和动态加 script 标签肯定不行.
(注: 我的 webd 网盘的早期版本就是远程加载 js 文件, 当时想的是将来灵活加广告.
近期版本都改成了请求远程数据, 解析成链接加上去, 即便服务器被攻陷了, 用户也很安全.)

如果浏览器发现网站代码更新了, 做一次简单的分析, 改颜色改大小改文字图片这种, 可默认放过.

js/wsam 代码则用 AST 语法树分析, 给高级用户们显示个比较直观的 diff 代码, 给麻瓜们显示这次修改的风险等级.

这个原则下的网站/APP 需要做到真正小而美, 一坨坨的东西肯定不行.

Q: 如果依赖了太多东西整体庞大分析起来费劲怎么办?
A: 被依赖的东西做成标准模块, 带上签名, 避免重复分析.

下面的贴提到一些杀毒软件在做类似的工作, 但不是标准化行为.
/t/1064948 火绒 SSL 流量嗅探?

我觉得以后浏览器应该考虑这个东西, 毕竟现在浏览器已经是操作系统了.
如果有认识 chrome 或 ladybird 浏览器的大佬, 可以提一下这个想法.
0o0O0o0O0o
79 天前
> 还要要求原始的代码够简单, 不说能完全让人读懂, 但至少能粗略审核保证没有主观恶意或漏洞/后门

这是优点,但我认为和要讨论的浏览器提供的特性没有太大关系,因为这样的特性应当是通用的,而且我对未经训练的人士能审计出精心构造的漏洞持怀疑态度。这个特性需要确保应用在被专业机构审计后,用户一定可以原封不动地拿到审计过的版本,浏览器网页欠缺这个保障。

> 如果有认识 chrome 或 ladybird 浏览器的大佬, 可以提一下这个想法

它们是开源项目,你可以自己去提 proposal 。但我建议先了解 WEI 风波期间对它的那些激烈批评,了解它为什么广受批评:浏览器是一个“通用”的运行环境,你当然可以借助这个特性保护用户的安全,但别人也可以借助这个特性剥削用户。我认为 Chromium 数年内是没机会再(往所有平台)加入这类特性了,ladybird 的定位则让它天然抵制这类特性。我坚持我的观点:不要在**浏览器网页**中解决这些问题,既不要试图在现在用各种思路实现(也不可能实现),也不要期待未来会增加这样的特性。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1066580

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX