首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当你再也不能信任任何人或任何事情时,你该怎么办?

当你再也不能信任任何人或任何事情时,你该怎么办?
EN

Security用户
提问于 2021-06-03 08:54:44
回答 2查看 203关注 0票数 -2

我找到了这个PHP库,用于检测/猜测给定字符串的语言:https://github.com/patrickschur/language-detection

我会大量使用这个。我真的很想用它。

但我不能。

我所能想到的就是:

如果明天,这个开发者要么被泄露,要么被盗用比特币的恶意软件更新他的代码呢?如果代码已经在库中,等待正确的时机,该怎么办?由于即使是世界上最常用的自由和开放源码软件项目似乎都没有得到任何人的审计,那么这个超级小而晦涩的项目安全的几率有多大呢?非常苗条。

我对作者一无所知。即使我真的试过了,我也不可能评估他们的能力和可靠性。见鬼,我甚至都不相信Github自己,尤其是在它卖给微软之后。

这是妨碍。我唯一能“相信”的方法就是忽略所有的安全概念,“只要相信”。我无法查看所有的代码,即使它是一个非常小的库。有大量的文件,它们随时都可以改变。总有一天Composer会拿到新版本的,我不会坐在那里检查所有的更改。我知道我不会。我甚至在过去建立并精简了这样一个系统,我很快就停止了对更新的检查。即使只是做了几次改变,这还是让人精疲力竭。我没法坚持下去了。

这会不会得到某种合理的解决方案?某种内置的沙箱,使每个库在自己的小真空中运行,并且只能将“答案”发送回主脚本或什么的?我不明白,在一个到处都是骗子和坏人的世界里,其他人怎么能相信这些随机的陌生人呢?

EN

回答 2

Security用户

发布于 2021-06-03 09:25:03

使用经审核和批准的库。这就是答案。

有些付费产品/服务(例如Sonatype、Black Duck)将在使用之前提交的随机库上运行自动测试。还有一些分析器可以在代码运行时检查代码,以确保它不会做意想不到的事情。

如果你想要自由地使用任何随机的人的代码,那么你就承担了与此相关的风险。

否则,你必须承担起自己写所有东西的任务。您需要权衡使用陌生人代码的好处,而不是自己编写和测试所有东西。世界已决定“信任但验证”,以求快速发展。

欢迎来到DevSecOps。

票数 4
EN

Security用户

发布于 2021-06-03 10:17:12

没有解决办法。问题是,你需要相信一些事情来完成任何事情。

这个问题也转化成现实世界。如果你在超市买食物,你就会信任很多潜在的参与者,食品生产商,运输商,超市。其中每一方都发生了重大事件。不过,你还是吃了你在那里买的食物。

在信息安全方面,我们试图用风险分析来理顺这一过程。开发人员叛变的可能性及其所产生的影响。当然,这个概率很难估计。

你可能会问自己的一组问题是:

  • 它是开源的还是封闭的?(f.e.( Openssl)
  • 该软件存在多长时间?
  • 它是否被维护(最新更新是什么)?
  • 有多少人使用它?(请参阅Windows漏洞列表)
  • 开发人员使用它(吃自己的狗粮)吗?
  • 它是否得到了一家大公司(比如太阳风)的支持?
  • 你知道开发人员(你和他有联系)吗?如果你把一个图书馆作为你所有产品的核心,你可能会想在f.e上花些时间。联系开发商。
  • 创建类似的东西(也许功能较少)会有多复杂?
  • 你自己审核它有多难?在执行脚本之前,我经常检查它们。不是一个完整的审计,我可能会错过一些事情,但我已经抛出了一些软件,因为做了一些令人费解的事情。
票数 2
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/250011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档