开源框架的安全性问题,大家是如何妥善处理的

2019-08-20 21:49:05 +08:00
 areless
经常一个高危漏洞爆出来便是死一大片。旧项目一般都不会去升级框架吧?比起语言版本升级,开源框架版本升级更频繁且代码兼容性更差。。。这种解决 uri route、orm 基础问题的才是一两年经验该造的私有轮子,但是现在会自己造轮子的人越来越少,熟练使用轮子的越来越多,轮子坏了真的是有共产主义社会来修理?我想未必吧?从 thinkphp 旧版大漏洞殃及 PHP 圈就可以略见一番,很多语言在走 PHP 的老路。那么不开源写原生是唯一的解决办法了?
6084 次点击
所在节点    程序员
54 条回复
Takamine
2019-08-20 22:14:07 +08:00
如果造轮子的收益远大于突然死一片的几率和从死掉到修复正常之间的损失,那才会选择自己从头造轮子吧,最多重构部分。
而且注重安全性的话肯定会从多方面做防护体系,不依赖单一框架做保证。
另外也肯定是会选一些社区活跃,经过一定时间生产验证的框架。
SuperMild
2019-08-20 22:19:23 +08:00
自己做的轮子漏洞更多,如果自己做的轮子更高质量,有这能力完全可以直接审查和改进开源代码,反哺社区,也比自己做轮子省力。
icy37785
2019-08-20 22:42:21 +08:00
为什么会觉得自己造轮子比开源框架漏洞少。
tomczhen
2019-08-20 23:38:00 +08:00
是否开源并非是否安全的充要条件,工程代码的可靠性是需要各种“成本”覆盖来保障的,其中有一条就是快速响应修复。

当然,有些人觉得只要没暴露出来安全问题就没有安全问题,我只能说,看看牙膏厂这两年的 CPU 安全漏洞,是不是要打算从 CPU 开始造轮子?
whoami9894
2019-08-20 23:38:21 +08:00
临时造轮子漏洞更多+1,比如某些 PHP CMS 自己做 SQL 安全过滤,不去用现成的 ORM 或参数化查询
chinvo
2019-08-20 23:41:32 +08:00
安全领域切忌闭门造车
agdhole
2019-08-20 23:49:46 +08:00
用 lts 版本
lshero
2019-08-20 23:59:33 +08:00
先把安全部署做好,框架暴露的特征消除再说
免得被人一扫描就知道你用的是有漏洞的框架
coloz
2019-08-21 01:09:40 +08:00
和开源有毛关系,闭源的就不会有 bug ?
通常不是觉得开源的 bug 修复更快么?
areless
2019-08-21 05:37:50 +08:00
@icy37785 @coloz @chinvo 因为我发现,现在的快速入侵一般从开源的已知的漏洞,通过摸热门开源框架的版本号下手。几乎没人能快速对闭源自造轮子下手,哪怕你写的再糟糕,人家也没那个耐心去渗透了。

@whoami9894 实际情况恰恰相反吧……看不懂规则的简单 SQL 安全过滤远远比开源的 ORM 更安全。虽然漏洞更多,却不容易被入侵。
zjsxwc
2019-08-21 06:33:50 +08:00
闭源比开源更安全?

Windows 比 Linux 病毒更少?

作为用户更信任闭源软件会比开源软件不作恶?

闭源软件会更小几率比开源软件携带官方编写的恶意代码?
zjsxwc
2019-08-21 06:37:27 +08:00
@zjsxwc #11 原文:“闭源比开源更安全? Windows 比 Linux 病毒更少?作为用户更信任闭源软件会比开源软件不作恶?闭源软件会更小几率比开源软件携带官方编写的恶意代码?”
回复:


试问如果一个闭源软件员工,他在入职后就获得了该闭源软件源码,并发现了漏洞(甚至就是故意恶意写了一个无法发现的漏洞),然后通过漏洞不断获利,你还会觉得闭源比开源更加安全?
zeroDev
2019-08-21 07:10:07 +08:00
感觉楼主可能需要多了解一下开源社区的运行模式
msg7086
2019-08-21 07:20:05 +08:00
就拿 rails 框架来说。这框架本来就是某个互联网公司的系统里分离出来的。每一个漏洞都是他自己公司产品的漏洞,每个自己产品中的问题被修复,也会同样应用到开源框架中。

现代的有名的轮子都有很多大公司在用,发现的漏洞都会很快修复。至于你用了别人的轮子又不升级,这怪谁。

而且现在像是 GitHub 都支持扫描开源组件列表并自动提示你新发现的漏洞,这还能成为不用轮子的借口吗。
martinsu
2019-08-21 07:26:39 +08:00
大家好像没明白楼主的意思。

拿网站开源框架来说。因为使用的开发多,而源代码全部暴露,黑客更容易找漏洞,找到一个漏洞后还可以攻限一片网站。
个人独立开发虽然也有漏洞,但黑客看不到源代码,相对提高了破解的难度。而黑客破解后也只有收获一个网站,相当于降低了奖励。

虽然开源过程中,社区会纠正错误,但这个纠正是滞后的。好比是黑客还是社区先发现漏洞。

现实情况也正是如此,针对 wordpress 的类似情况的攻击发生不少。
whoami9894
2019-08-21 07:35:26 +08:00
@areless
自己的过滤很大可能有遗漏的过滤,并不能因为觉得攻击者不熟悉就认为更安全,CTF 里多的是黑盒注入的极限绕过。
就比如密码学中的常识,不要用算法的保密性来保证密码系统的安全,而应该用那些公开算法并经过检验的密码算法
而且你说的这个"漏洞更多却不容易被入侵"我是没太理解

ORM 一般没爆 CVE 基本就是安全的,毕竟是庞大基数开发者使用的,假如爆出 0day 就只能关注着及时更新了
wweir
2019-08-21 07:46:23 +08:00
@martinsu 这个成立的一大前提就是:网站太小,没有竞争力,攻击者无利可图。
这样的话,针对开源框架稍作定制,远比从头撸靠谱
TangMonk
2019-08-21 07:48:55 +08:00
PHP 只认准 Symfony
murmur
2019-08-21 08:09:01 +08:00
做好备份,别无他法,如果按照规定一行一行审计代码公司都凉了
areless
2019-08-21 08:24:45 +08:00
@whoami9894 但是大部分都是工具使用者,不是专业黑客。打个比方就是使用了枪这种武器的很多,爆破专家不会很多。
@wweir 能对框架进行订制~~~基本都能自己写框架了,那是将现有框架私有分叉的行为了。

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

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

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

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

© 2021 V2EX