这个应该叫软件供应链安全。
大公司采用一个软件、library的时候,都需要评估它的安全性、稳定性的。要不然随便一个开发人员引入一个library,就把系统搞掉了。
但实际上,企业对安全的重视普遍不够。
第一是业务重要性一般高于安全,很明显,一个安全但是没人用的系统是没什么人用的。
第二是,安全很难有效衡量。我投入100万能保证百分百不被黑吗?我投入10w能降低多少被黑概率呢?
“利用工具的同时我们是不是应该更注重基础原理?”
理论上,使用工具还是要探究下底层原理的。但这个“探究”也是需要成本的。
对企业来说,开发者需要review 各个底层库的代码,而且还要有安全经验的开发者,是一个非常大的成本。
对于个人来说,那么多底层框架,我应该读哪个,不应该读哪个,都比较麻烦。更何况,在此之前,谁能想到要细读log4j的代码呢……
开头,先来复读名人名言:她那时候还太年轻,不知道所有命运馈赠的礼物,早已在暗中标好了价格。——茨威格
log4j 此次漏洞警示我们,利用开源软件,虽然很方便快捷的实现了日志记录功能,那么,古尔丹,代价是什么呢?
开源库,虽然有那么多人可以随时盯着源码看,但这并不意味着其安全性是得到完全保障的。
不开源,会有无休止的重复造轮子问题,有浪费人力和时间的问题。开源虽然节省了这些,但也意味着你得把造轮子的精力,转移到替开源库审核其安全性和稳定性上来,让开源项目更加精益求精,这就是所谓代价。
利用工具的同时,应该更注重基础原理,这倒没错,无论是为了学习,还是为了保证其安全性。但有,多少公司有能力来支付这个成本,且确实支付了呢?这是一个有待讨论的问题。
另外,log4j作为一个日志工具,能够加载远程代码执行,感觉设计上有点太臃肿了,没有做到代码数据分离。也正因如此,攻击者能够利用用户可以控制向记录日志中输入数据的操作,来实现其特殊构造的请求,进而触发 Apache Log4j2 中的远程代码执行漏洞。
关于log4j更多的内容,可看下面的回答:
另外,再给大家分享一个关于开源库的事故,很是伤心。
Ant Design,作为非常优秀且使用广泛的 UI 框架之一,其开发者搞了一个自认为很有趣,但是对于很多用户来说很糟糕的圣诞节小彩蛋,进而引发了一连串的事故。
至今,你还可以在github上查到相关的issue记录:
君不见因为Ant Design的圣诞节彩蛋问题,炒了多少为政府部门开发项目的程序员,这还只是一个小小的圣诞节彩蛋而已,只是按钮上多了一坨白色的东西而已,只是鼠标放上去会"Ho Ho Ho!"而已。
我记得因为这件事,很多和军方有合作项目的企业都被审查了,要求解释清楚为什么在网络隔离环境下的代码会发生改变,毕竟军方考虑的是:你今天可以被第三方库随意加一个彩蛋,明天会不会被人植入木马、盗走我的隐私数据?会不会搞个震网攻击,破坏我的军事设备研究工作?
所以,这个彩蛋的效果不只是会心一笑这么简单,而是很严肃的事件。
另外,还有包括发改委在内的很多政府部门都开始紧急采取措施应对这个事件,一是担心木马病毒问题,二是圣诞节这种宗教意识形态与我国无神论的矛盾问题,等等。
由此可以见得,普遍流行的框架,不仅可能因为开发者的不小心,出现一些意外的安全事故。甚至,其可以刻意制造隐蔽的安全漏洞,来攻击使用者。
当然,这次或许只是圣诞节彩蛋,只是log4j的无心之举。
那么,下次呢?代价又是什么,古尔丹?
这是我看到的最准确的总结。
总的来说,就是中国的高考相对公平,所以性价比极高,所以其他活动都可以适当让步。
这是我看到的最准确的总结。
总的来说,就是中国的高考相对公平,所以性价比极高,所以其他活动都可以适当让步。