帝国如何垮台:鲁莽,无力和特洛伊木马,JFrog,基于风险的安全
DevOps活动上的律师?当然!在本视频中,我们将回顾DevSecOps和持续安全的不太明显的方面——持续谨慎的许可遵从性,通用递归扫描,以及“质量高于质量”的安全情报。通过观看swampp 2019的这个关键环节,了解更多关于JFrog Artifactory和Xray如何帮助您将安全性和合规性集成到DevOps管道中。
视频记录
好吧。欢迎每一个人。这个名字会把你的想象力带到古代帝国,比如古罗马和古希腊,你可能会看到特洛伊战争的图片,我不知道还有什么。它不会有这些东西。这个标题完全是谎言。相反,我们将做一些非常实际的事情,希望是非常有用的,我们将讨论DevSecOps的三个不同方面,这对于普通的软件工程师来说不是小事,他们听说过DevSecOps,知道安全性的重要性,但可能不必考虑有趣的变化,这些变化可能会带来非常大的问题,以至于帝国失败,非常大的公司发现自己陷入非常严重的困境,因为他们没有注意到。如果你们所有人都已经想过我们将要谈论的一切,那将是非常尴尬的。这很明显,如果是这样的话,很快,很快,因为我会问你们很多问题。
我相信在你的公司环境中,你每天都能看到你的律师提出的问题,比如,“谁不注意许可证?”谁知道不注意执照也是麻烦?谁知道如果你不注意开源许可,你的公司就会陷入困境呢?每个人都知道。完美的。太好了。非常感谢。
谁有一个开放的许可证租赁,这是与他们的软件每个版本分发?你说你知道这很重要。有什么事吗?好吧,你来对地方了。太棒了。很好。好的。假设有一天,有人会问你要这份你没有的租约。你知道怎么开始吗?谁知道如何在他们的产品中收集开源许可证? Okay. Okay, you just don’t do it because, who cares? This is how empires fail. I have to remind you.
好吧,实际上是谁在他们的组织中继续管理开源许可证?JFrog的人,这让我和我们的律师很开心,但显然没有其他人。你来对地方了。根据你的回答,我不知道你和你的律师对话的频率,不是很频繁。我们现在要和我们的律师谈谈。那么,让我向你们介绍[听不清00:03:19]埃亚尔·本·大卫,JFrog总法律顾问。他是个真正的律师,而且
嘿,每一个人。
好的,附加问题。有多少人看到律师在举办软件会议?
穿着t恤。
穿着t恤。手下来。没人见过穿t恤的律师。所以,Eyal,感谢你加入我们,也感谢你有机会为我们软件工程师提供律师的观点,并告诉我们当涉及到swampp或任何技术会议中的开源治理时,你关心什么。
很乐意这么做,大家好,但是,[Baruch 00:06:25],我以为我们要从一个律师笑话开始。你跳过了。
是的,你在哪里找到[相声00:04:06]-
律师的笑话呢?
我在哪里找到我的律师?很明显,
好-
很明显,
我很高兴我们发现了
在海底。(听不清00:04:15)
肯定的。好了,大家好。我叫埃亚尔。我是JFrog的GC。我保证是周二五点
GC代表垃圾收集器。
好了。就在那儿。这是你刚刚想出来的。很好。我知道现在是周二的5点,我保证不会深入探讨任何深刻的法律概念,但我们将讨论一点关于软件许可,特别是开源软件。
是的,当然。
讲讲我的世界,讲讲法律和科技,商业的交集,以及这些交集与帝国衰落的关系。继续回答Baruch的问题,你们中有多少人所在的公司有政策规定在创建专有软件时可以使用哪些开源,不能使用哪些开源?
我们知道你不会更新它。有多少人知道它的存在?
很好。好吧,大约一半。我接下来的问题是,你们中有多少人在过去一个月里投保了?好了。好吧。这是对我的世界的一点看法,我们在思考什么是有趣的,有90个不同的例子,我们可以给出它在哪里变得相关以及为什么相关,但我们想谈谈并购。并购交易是我们喜欢读的东西
大家知道并购是什么吗?
哦,不好意思,是并购。我想他们都是。是的。我看到每个人都在点头。好吧。当我们在JFrog,一般来说,当公司寻找一个并购目标或者并购目标时,我们首先要看的事情之一,就是Baruch之前提到的开源组件列表,我们不确定每个人都有。我们将主要着眼于IP所有权。我们要确定的主要事情是,这家公司是我们想收购的吗?这是我们想要的软件吗?他们拥有它吗? Now, the question of owners isn’t always a yes or no question. We want to see if there’s any third parties that may have any claims on that IP, if anyone’s going to come back and ask for royalties, if anyone’s going to have any questions regarding that ownership if we buy it later, and are we going to be able to make money off that software, moving forward, or do with it as we wish?
有什么问题吗?好吧,我有一个[听不清00:06:20]明星陀螺,强大的JFrog想要买下我的公司。会出什么问题?
我们来举几个例子,巴鲁克。让我们来讨论一些例子,当我们的IP所有权不相关时,这可以发挥作用。让我们想想过去几周我们从媒体上看到的一些例子。
是的,你知道[听不清00:06:36],我认为实际上,在JFrog,我们有这样的经历,当一些交易在IP所有权上失败了。
我们做了,我们研究了这些年来不同的交易。我们考察了不同的公司,这不是你会对一笔交易说“是”或“否”的唯一一件事,但这是你要看的一些实质性的东西。我们会查看IP所有权,看看是否有版权许可,以及所有权
什么是copyleft许可?
啊。什么是copyleft许可?让我们四处问问。大家都熟悉copyleft许可这个术语吗?实际上,简而言之,copyleft许可是一种类似于GPL的许可。这可能是一个互惠许可,意味着如果我们在一个专有代码中使用它,我们可能不得不将该代码共享给世界。虽然,我们可以分享回来
我们称之为病毒式授权。
病毒式授权。完全正确。
所以,如果我们使用GPL,我们本质上就是GPL,不管我们想怎么看待自己。
在某些情况下,我们来谈谈这个。让我们谈谈LGPL。
哦,LGPL。LGPL。谁听说过LGPL?谁知道GPL和LGPL的区别?完美的。没人知道。是的,[Evan 00:07:41]知道。什么是L-
艾凡知道其中的区别。好了。
LGPL是一种许可,它被认为可以减少GPL的病毒式传播,就像很多年前,他们把静态绑定和动态绑定区分开来,比如c++,他们说如果你静态绑定,如果你用你的源代码编译我们的源代码,你的代码就不是开源的。这就是病毒式传播的部分。但是L, lesser,意味着,“但是如果你只是在运行时动态地做绑定,那么,这不是一个大问题。这样,你就不必为我们开放源代码了。”
那么,Baruch,我可以在我的私有软件上使用LGPL吗?
这是一个很好的问题,因为这是令人兴奋的技术如何改变法律文件的意义。LGPL是用对某种技术[听不清00:08:42]有意义的术语编写的。后来出现了Java。Java中有静态绑定吗?一切都是动态绑定的,当然,LGPL是一个完全安全的许可。没有静态绑定。没有病毒。让我们都使用LGPL。但是,后来[听不清00:09:02]来了。[听不清00:09:04]在[听不清00:09:04]是如何工作的? It’s all static. We’re always compiled together. So, suddenly the same LGPL who looked absolutely safe for us Java people, now, is absolutely open source viral. It’s like it’s changed it’s meaning 190% because we use a different programming language. That’s super cool and, obviously, super scary.
我们要建议的一件事是,我们讨论的政策不是我们可以写下来,扔进抽屉里,永远不看的东西。它必须是动态的,必须随着技术的发展而发展,我们应该在持续的基础上适当地重温、研究和教授。
你应该多见见你的律师。
你应该多见见你的律师。好了。让我们来谈谈其他的例子,巴鲁克。又一个问题。如果GitHub上有一个没有许可证的项目或库……这可能是一个简单的问题。在过去的几天里,我问了大约20个人,得到了各种各样的答案。我可以把这个库用在我的私有软件中吗?谁答应了。
从技术上讲,你可以。
严格来说你可以。真实的。
你可以这样做吗?
你可以这样做吗?很好。我看到答案通常是“不”,很明显,如果我们在没有许可的情况下使用它,我们就是在使用别人的版权作品,那么我们就会遇到我们之前讨论过的知识产权所有权问题。
人们经常这样做,非常频繁。人们总是这样做。
是的。
真正的问题是,[听不清00:10:31]想想你自己。你在GitHub上找到了一个库。你能检查一下驾照吗?谁来检查驾照?没人会查驾照,所以,请别再做
我们看到了一些。我们看到了一些,它们主要是针对JFrog的。
是的,是的,是的。那是我们JFrog的一些老员工。你把他们训练得很好。你知道一个可笑的例子。一个代码,某人把[听不清00:10:56]背景放在他们的领英头部。你知道,在领英,你有你的标题,就像一个白色的图片?有人拿了一些代码,放在那里只是为了说明。接下来,它就出现在别人的产品里了。
如果你们看了今天的报纸,这是其中的一项。
所以不要再把代码当作,它属于谁并不重要,因为它很重要。
让我们来谈谈另一个有趣的例子,一个你几年前写的日志,或者可能少一点,但几年前,一个叫Lerna的公司,一个叫Lerna的产品
是的,这是一个[听不清00:11:30]项目大概是一年前的事了。是的。谁听说勒纳事件了?哦,你没有。
埃文,再一次。他的头号学生。
你是来请客的。这是我所知道的关于许可证的最好的故事之一。
同意了。
去做吧。
同意了,同意了。Learna,一个开源项目,几年前在MIT的领导下发布的,出于一些原因,政治原因我们当然不想讨论它们是对是错。发布了一个MIT许可证的版本,用定制的MIT许可证,点名指出某些企业,某些公司不允许他们在他们的软件中使用那个许可证或那个库。现在,如果你能这样做,如果你不能这样做,如果它是合法的还是非法的,它是否适用,这是以后的问题,我们很乐意讨论。
今天,我们想说的是,作为一家公司,我们想知道这个许可证已经改变了。我们至少希望像巴鲁克所说的那样进行对话。如果你想继续在你的软件中使用这个库,你需要和你的律师谈谈,并做出一个教育决定。它可能会伤害你,也可能不会。
现在有[听不清00:12:33]。他们不仅修改了许可证。他们尽了最大的努力以最狡猾的方式做这件事。你们中有多少人熟悉SemVer 00:12:43语义版本控制?哦,大多数人都是。您知道语义版本控制是如何工作的,所以一个主要版本会崩溃。对吧?您期望的许可证变更将不允许某些公司使用您的库,这将是一个主要版本,因为我们希望,如果我们现在使用某个版本,即版本X,在更新到Y之前,这是一个有意识的决定。我们看到了变化。我们检查发行说明。 One of the items in the release notes is license change. You cannot use it anymore, and we were like, “Fine, we will stay on Version X or we will use it as a [inaudible 00:13:25] tool, maybe for, whatever.”
那么补丁版本呢?大多数[听不清00:13:34]经理会在没有询问你的情况下下载补丁版本。它会自动更新。如果他们设法在补丁版本中更改许可证,那么所有被要求不允许使用该软件的公司都将违反许可证,而公司的任何人都不知道发生了这种情况。[听不清00:14:04]今天,当我想到这件事的时候,我都起鸡皮疙瘩了,因为这就是你如何带领一个大公司,从M开始,到微软结束。这就是你要做的。是个邪恶的天才,但是,想想看。你随时都有可能在这里。
Baruch,这个例子有两个MIT许可证。如果他们从MIT转到GPL会发生什么?那么,它可能会更有害。说得对,说得对。我认为我们要表达的是,我认为重点是我们有两个主要的关键的核心建议,我们想要给出,或者两个我们需要遵循的关键做法。首先,我们需要一个政策。我们需要一种政策,我们学习,我们研究,我们实践,我们每天都访问,希望如此。第二,实际上是使用这个策略,让我们的用户知道我们的软件中有哪些开源组件和库。
但是,它应该是连续的。许可证管理应持续为您的持续集成、持续交付、持续安全。持续的许可证管理是其中的一部分。客户或利益相关者,决定政府如何[听不清00:15:20]就在这里。我是你的律师。这是你的建议,你会问,“好吧,埃亚尔,告诉我我可以用什么,不可以用什么,我会把它放进我的管道里,确保我们没有违反你告诉我们哪些是对的,哪些是错的规则。”这些规则在不同公司之间是完全动态的。有一天,我可能会在早上醒来说:“你知道吗?我们永远不会使用竞争对手的任何许可证,因为存在他们试图耍我们的危险。”对不起,我不是那个意思。
我不确定我会这么说。是的。
是的,那是…不。那我们就不用这些了。我们需要在同一天上班,实施这些规则,确保此类事件不再发生。所以,让我们做一个[MO 00:16:15]-
我们开始吧。
你告诉我我需要什么,我会照做
我们开始吧。
好吧。这是我的,好吧,有一个工具,你看不见,但你马上就会看到,它叫,有人知道吗?[Brian 00:16:31]知道,但他没参加排练,所以不算。JFrog x光。惊讶吗?
喔!已坏。
是的。你可能听说过JFrog Xray作为一种安全分析工具,我们马上就会讨论Xray的这一方面,但它也有相同的持续安全原则,就像持续许可证所管辖的那样。您可以设置策略,通常或默认情况下,您可能会考虑安全策略,但也可以设置许可策略。我认为,许可证遵从性是许可证遵从性策略的一个好名字。它的工作方式是,我希望它是一种许可证类型,我想找到Eyal会为我定义的规则,他会说,“黑名单”,或者许可证黑名单之类的。这是我的原则。这就是我们想说的,我们想要[听不清00:17:44]许可证。再一次,Eyal给了我一个列表,其中一个列表是,比如说,“不要用C…”名字是什么?CPAL。叫什么名字? Forget the licensing [inaudible 00:18:02]. Great.
CBDF吗?
不,C什么的。我的天啊。很抱歉。我昏过去了一会儿。我知道在哪里检查,[听不清00:18:14]或者x光检查。我没有做x光检查。所以,抛弃。我马上再做一次,J单位。这是J Unit所携带的许可证,而J Unit……显然,我不希望在生产中使用J Unit。其中之一就是不要用简单的。 Here you go. I want to ban this license because I don’t want to use in production, licenses from tests.
所以我要创建一个新策略。现在你记得很清楚,因为我做了两次,那将是许可证,我们将定义一个规则,那将是波段许可证,我们将做禁止许可证,那将是CPOL。来吧,警察。这个家伙,哦,还有,我不想要任何未知的许可证,因为我不知道它们是好是坏。我宁愿离开直到我得到[听不清00:19:24]的许可。这很好。我什么都没做。现在,我可以设置…不是丢弃,是保存。啊,对不起。漫长的一天。 Now, I can define watch, and I can say, “I want to watch… Name for a watch. What’s a good name for a watch? Nightwatch. Well, not so good. We don’t have Nightwatch anymore, so let’s do license watch, because night watch is not a thing any more. What we want to is we want to watch all the builds that go through the [inaudible 00:20:08] continuous license compliance. Every build, I want watch, and now, Old Bills, and now I want to attach the policy, which will be my band licenses policy. The internet is a little bit slow, but not horribly slow. License compliance. That’s my thing.
好吧。现在,我完成了,让我们尝试构建一些以J Unit为依赖项的东西。这是我的Jenkins,它有它的构建,我要说,“我想要x光扫描,我想让我的构建失败。现在,大约22秒后,我们将看到构建是如何失败的。我创建了这个博客,很明显,它建立起来了。现在,下载一些东西,下载互联网,显然是从[听不清00:21:20]工厂。繁荣。它失败了。它失败了。是的,这是一个很好的失败演示。 [Shlomi 00:21:26], thank you. It actually failed because I didn’t configure something right, but, in a really failing demo, that will fail on security [inaudible 00:21:38]. That’s a meta failing demo. I managed to fail a demo that was supposed to fail.
应该失败。
是的,不,但我道歉。这是漫长的一天。我不会再重播一遍了,但我想你已经明白了我们是怎么做的,它应该能起作用。就是这样,这就是你如何将你的许可合规性纳入你的连续[听不清00:22:03]。说到这里,我们谈点别的吧。显然,这是你没有想到的合规部分,所以你现在要开始思考了。
另一方面,持续的安全,是一种不断被破坏的东西。你坐在[听不清00:22:24]的深处,这意味着你是有安全意识的人。你知道安全很重要。对吧?好的。谁在使用Docker?每个人都用Docker。太好了。谁用安全工具扫描Docker ?好的。 This is disturbing. I would still expect everybody to do that but, apparently, you are in the right place. When you pick a security tool, everybody have this checkbox, we do security image [inaudible 00:23:02]. What does it mean, and whether it will find a vulnerability inside proprietary application binary, on any of the layer deep of your Docker image, this is something that you won’t find on those shiny bootlegs that you get in conference for your next security [inaudible 00:23:30] scanning tool. To tell you a little bit about why it is important, I want to invite the person who was there during the arm work to support 24 different package types in [inaudible 00:23:46] factory, and he was there through the entire… all of the 24. Yossi Shaul, Senior Architect at the CTD Office at JFrog.
谢谢你!谢谢你,巴鲁克。在我们开始之前,让我解释一下扫描Docker图像意味着什么?dark image通常建立在某种Lenox发行版上,这些发行版通常捆绑了几个组件,有时是很多不同的组件。当我们谈论扫描Docker镜像时,基本上可以归结为打开Docker镜像中的各个层,获取已安装的操作系统级组件列表,如LPM文件,WM文件,并将其与漏洞数据库进行比较。这就是它的意思,正如巴鲁克之前提到的,很多公司都知道该怎么做。我们也知道怎么做。这是一件重要的事情吗?你怎么看?它是。
它实际上会赶上下一个[听不清00:24:59]。对吧?
是的。
[听不清00:25:02]如果你还记得,这就是它想要的。它是Docker映像中的系统级二进制文件。
是的。这是很重要的一步。每个使用Docker image的人都应该这样做。难怪在过去的几年里,所有的公司都在扫描Docker图像,每个人都试图提供这种服务。
我有个问题要问你,尤西。你实际做的是,在Docker中检查操作系统,获取安装在那里的每一个二进制文件,以某种方式检查一些ID,进入外部数据库,比较它是否在那里,并报告它是否安全。
正确的。
好吧。我有自己的应用程序,并将其添加到Docker映像中。显然,我自己的应用程序的检查(听不清00:25:59)不会出现在任何公共数据库中,至少我希望如此,因为没有人知道它。这是我的申请。它对我来说非常独特,世界上其他人都不知道。那么这个工具将如何提供帮助呢?
它不会。在这种情况下没用。例如,你提到了平板电脑,它是如何在开放的[听不清00:26:22]中存在漏洞的。因此,几乎每个Lenox展览都安装了这个库,扫描Docker图像就能找到它。
完全正确。
但是,让我们以另一个著名或臭名昭著的数据泄露为例,Equifax。有人听说过吗?非常有名,但不是唯一的。它之所以出名,是因为它是一家几乎所有人都知道的大公司,很遗憾发生了这种事,但这个人
是的,是的。你在以色列,但我们被击中了。
这种漏洞是打包在特定软件包中的专有应用程序中的漏洞。在这种情况下,它可能是一份工作申请。它可能是一个原始文件。简单地扫描Docker映像不会发现此漏洞。为了找到第三方组件的漏洞,无论是在Java世界,还是Nougat,[听不清00:27:26],还是NPM,还有很多其他你拥有的技术,你需要做别的事情。这是我们在x射线中做的。这是对我们在Docker图像或任何其他技术中所能找到的所有组件的深入分析和扫描。我们基本上做的是,我们取Docker图像。我们扫描基本的[听不清00:27:52]级别的漏洞,就像其他人一样。我们有自己庞大的数据库。 We compare and then we move on to the next stage.
下一个阶段是扫描文件系统上的所有内容,并试图找出它是否是我们标识的组件,如果是,我们将它与我们自己的数据库进行匹配,我们还会做另一件事。我们还进行深度扫描。在很多情况下,我说过这是一个私有应用。我们支持多种语言。这意味着它可能是一个ZIP。可能是[听不清00:28:28]。它可能只是Docker映像中的一个目录。所以我们需要扫描所有这些文件,如果我们找到一个档案,我们知道如何打开它,并在这些档案中进行深度扫描。对于每个文件,我们计算签名,并尝试将其与知名漏洞数据库进行比较。您可以使用这种扫描来查找第三方组件中的漏洞,以及大量的漏洞。
显然,我们有责任支持尽可能多的现有技术,因为这将是有用工具和不太有用工具之间的区别。看看你们中有多少人使用Java?好吧,一半的人?有多少人使用JavaScript?开始吧。所以我们至少需要其中两项的支持。围棋怎么样?有云裸体的人吗?酷。所以,我们需要支持围棋。 How about nougat.net? There we go. We need to support that, as well. So, you got the gist.
如果我们不支持这些,你们的下一个[听不清00:29:47]工具和Equifax就会使用我们支持的语言,我们辜负了你们的信任,你们的帝国就失败了。让我向你展示一下深度扫描是如何工作的。你哪儿也去不了。
嗯哼(肯定)。确定。
再一次,回到x光,我想尝试构建,因为这显然不是我的强项。相反,我们会看一个现有的构建,我在一个安静的环境中运行,在演讲之前,它实际上做了它必须做的事情,它失败了,就像它应该失败的那样,那就是Docker app。现在,Docker app是一个Docker映像,它在一个WAR文件中,那是一个完全私有的原始文件。这个[听不清00:30:34]不存在于任何数据库中,但在WAR文件中,每个漏洞都有一个[听不清00:30:41]文件夹。我们发现这个应用程序肯定有问题,当我们深入研究它时,我们可以发现我们有134个漏洞,这些漏洞可能不应该很快投入生产,看看这个。我点了吗?我了吗?我了吗?好了。你在这里看到的,现在,它会打开我所有的点击,很明显,这是一个我们不能支持的解决方案。开始吧。 Look what’s going on here. We have… It’s just a bad technology day for me.
好吧,我们这里有个对付弱点的策略。这也是Yossi提到的策略,我们之前排练过,他知道我会展示它。它在沼泽地[听不清00:31:42]。swampp就在[听不清00:31:44]附近。它不在任何数据库中,在Docker层中,现在它完全消失了,在Docker映像中。这里是swampp[听不清00:31:54],那是swampp[听不清00:31:56],它有76个漏洞。其余的实际上在Docker层,它们也是通过x射线发现的,你可以看到,在这里,strats工具的漏洞在strats文件中。所以,在这里。它就在swampUp里面。
这种扫描方法可以…,有四层。它可以是任何深度,任何技术组合。如果我们想把这个WAR文件包装在一个[听不清00:32:27]包中来安装它,比如,一次在Docker映像中,一次在金属条上,这也可以工作。我们只需要再深入一步就可以了。对吧?
嗯哼(肯定)。
但我有个问题要问你。Equifax,他们没有恶意。他们不是故意的。可能当他们开始使用strats工具时,最终被用来攻击他们的漏洞甚至还不知道。他们甚至可能会检查他们的构建是否存在已知的漏洞,但是他们在生产中所拥有的东西就会丢失,从管道中消失。已经投入生产了。我们如何解决这个问题?
好的。这是一个很好的观点,它实际上是正确的。即使他们使用扫描工具,你扫描了一些东西,在你扫描的那一刻,它可能没有任何已知的漏洞,这种情况一直在发生。
当然。
要求或要求从头重新扫描所有内容是不现实的。为什么不呢?因为我们谈论的是tb级,甚至pb级的数据,试图每次发现新的漏洞时都扫描它是不现实的。所以,我们所做的,以及我们在x射线中所做的,就是我们所说的影响分析。影响分析基本上是在任何时间点回答一个简单问题的能力。如果一个特定的漏洞有一个特定的组件,有一个漏洞或变更许可,那该怎么办?你可以得到答案。您所在组织中的哪些文件、哪些应用程序、哪些Docker映像将受到此组件漏洞的影响?我们怎么做呢?基本上,我们所做的是……我提到过x射线知道如何扫描,它会进行[听不清00:34:36]扫描,当它这样做的时候,它会建立一个图表。 It’s a graph of all the components where the parent and the children where the children might be. Another application that has another application inside, down to the list of components. Okay, we take this graph and we save it in the database.
我们如何使用它?后来,当一个新的漏洞被发现时,据报道,可能来自[听不清00:35:06],[Van 00:35:07]一会儿会讲到。这个漏洞最终会到达Xray数据库在你把它放入Xray数据库后不久,Xray就会获取这些漏洞,它会检查哪些特征可能会受到这个漏洞的影响?取所有这些特征,然后检查,现在,在分量图中。在我们的组织里有这些签名吗?如果答案为真,它将计算返回根文件的所有路径。同样,根文件可能是应用程序。它们可能是Docker映像。它将创建一个报告并将其发送给您,其中包含触发漏洞的所有信息的列表?在漏洞中实际使用的受影响组件是什么? If there’s a mitigation, also, recommendations about those mitigations.
这是一个影响分析的例子。假设你现在也学习了strats。你周一来上班,你问,“这[听不清00:36:16]很糟糕。我有吗?”你搜索它,你发现脆弱的群体[听不清00:36:24],你会想,“哦,我的天。它在很多文件中,“但也许他们只是躺在那里,并没有部署到任何地方。让我想想。我只是选了其中一个。好的,它们是WAR文件的一部分,是web应用程序的一部分,它们是Docker层的一部分,也是构建的一部分。但也许这只是一个[听不清00:36:49]Docker层。 Maybe no one actually uses it. Let’s see if someone uses it. Yeah, okay. It was part of a Docker image, which was [inaudible 00:37:03], but also 62. You know what? Maybe this Docker image didn’t go anywhere.
所以我们可以去看看这个组件,看看它是否真的被使用过,因为x射线位于[听不清00:37:21]factor的顶部,这是你的管道,一直到生产,所以你确切地知道Docker图像在哪个时间点。在这里,你可以说,“好的,这个Docker镜像在一堆存储库中,其中一个是生产,这就是你去的地方,“休斯顿,我们有一个问题,”这就是你的[听不清00:37:50]。Yossi,非常感谢。
谢谢你,巴鲁克。
现在,当你知道了许可证遵从性如何摧毁你的帝国,知道了即使在你的流程中加入不够智能的安全也会毁掉你的帝国,让我们来谈谈……这几乎是[听不清00:38:15]质量高于数量。一大堆问题。谁认为MVD是一个很好的、可靠的、基本足够的漏洞数据库?好吧,谁知道NVD
NVD是什么?
完全正确。NV是什么,谁知道MVD是什么?好的,国家漏洞数据库。这是一个包含漏洞的受治理和运行的数据库,对于像我这样的[听不清00:38:44]来说,听起来政府数据库应该是好的。会出什么问题?对了,Equifax…CVE,可以说是,定义漏洞的黄金标准。当你谈到“哦,漏洞”时,CVE的编号是多少?如果它没有CVE,它就不存在。对于数据库来说,唯一的事实就是CVE。 Then, that’s a stupid question. Who thinks the bigger database of vulnerability you have, the better? Yes. That’s the right answer. Yes, the bigger event, the better.
为了稍微谈谈数据库的质量,以及数据库的数量,我想邀请一位你们在今天早上的主题演讲中已经见过的人,Brian Martin,漏洞情报副总裁,负责基于风险的安全。
谢谢你,巴鲁克。
我不知道还有谁比我更适合跟你们讲数据库漏洞,数据库数量这个人做这个是为了好玩,做了多少年了?
自93年。是的,几年了。
我们都有爱好。这个人收集漏洞。
很长一段时间,我都是把它当做爱好,然后是工作,然后一直都是爱好,现在,两者兼而有之。是的。
为什么NPV不够?为什么CVE不应该是一个黄金标准为什么有时质量并不比数量更重要,数量本身很重要?
有句老台词:“我们来自政府。我们是来帮你的"然后,就像是"谢谢,但不用了"在整个生态系统上,CVE和NVD本质上是一样的。有百分之百的重叠。你不会在其中一个身上找到另一个身上没有的弱点。唯一真正发生的是管理CVE方面的MITRE将完成任务。然后,他们把数据传送给NVD。NVD将对其进行分析。我的意思是,他们会生成CPE,通用平台枚举,这是为了让你可以自动处理这些漏洞,并将其应用到你的系统中,并分配一个CVSS评分,通用漏洞……等等。
得分。
分数,是的。我不应该笑。我们实际上给了很多输入CVSS SIG和一切,他们做一个分数在版本二和版本三。它们听起来是一样的,但实际上,对于同一个漏洞,这些分数可能非常非常不同。NV2,可能是4.3。NV3,同样的漏洞,可能是7.8级。所以在这方面也有很多困惑。现在你知道了整个生态系统,最大的缺陷,我之前提到过一些,是CVE没有采取积极主动的方法。他们希望你们所有人都去找他们说:“我发现了一个漏洞。我需要身份证。 Here’s the information. Let me write the description for you,” and if you do all that, and they’re in a good mood, then they will publish the ID, if they don’t forget. By that I mean, up to 10 years that they, sometimes, forget. That’s not a joke.
这是可怕的。
它是。所以,这就是我们采取一种非常不同的方法的地方
有何不同?你的做法有什么不同?
我们出去了。我们现在监控着3100个信息源。在未来一两年,这个数字将超过6000。我们已经有3000人在排队了。我们只需要让他们进入轮换阵容,加强球队的实力。但我们必须根据客户的意见,优先考虑这一点。你使用这个库。你使用那个图书馆。好吧,我们想先拿这些。然后,我们会出去做一些更晦涩难懂的事情。 By going out and looking for those resources, we’re able to find a lot more. I spend about 60% of my life in bug trackers. If you have a public bug tracker, I have probably been all through it. It’s my favorite thing in the world. Select all products, Search, Vulnerable, or Vulnerability, or Security, or Exploit. Now, I’ve got a full list of all the bugs or the vulnerabilities that have been reported against your products. Put them in our database. Even if they’re old, it doesn’t matter to me. I want to see that whole picture.
你要选择一个新的库,你有两个选择。对你来说,能够说,“好吧,15年的历史是什么样子的?他的库有一百个漏洞,听起来很糟糕。他的图书馆有20个,这听起来很不错,只是他平均要花四天时间来修理它们。修理它们平均要花4年时间。(相声00:43:31)突然……对。突然之间,这变成了一个非常不同的库视图,供您确定,“等一下。如果我们每天推出20个版本,我们需要他的库,因为我们最多要等4天……什么?我那边有红灯了。无论如何…是的。
我认为最重要的问题应该在主题演讲中提出,所以你们现在有机会给出答案。我怎么买呢?我应该付钱给谁来获得这个高级的漏洞数据库。
这就是一群青蛙绝对疯狂的地方,他们接受了我的销售模式,我不是一个销售人员。他们已经给你了。它一直都在那个托盘里。没有额外的软件模块。没有额外费用。“嘿,这是正确的做法”,这也是我们对JFrog感到兴奋的原因之一,他们也有同样的心态。我要每个组织的数据。我不在乎从中能得到多少钱。我就是这样的怪人。然后,我们也喜欢他们,因为他们对我们的尽职调查是疯狂的,他们对我们的期望水平和我们对自己的期望是一样的。 So, we saw it as just a great partnership, as far as the mindset and how we approach this.
非常感谢你,布莱恩,我想用一句话总结一下,我们所看到的。基本上,最重要的问题是,我知道时间到了。最重要的问题是注意力不集中。所以,[Elaine 00:45:09],我没有注意到你,这是我最不关心的问题。更大的问题是,当你不注意你的许可证遵从性时,当你不注意你的安全工具可以做什么时,当你不注意你的数据库的质量时,这就是帝国失败的原因。还有两件家常品。首先是结束语。还记得吗?洗手间,不,首先,你的桌子上有反馈,反馈卡。每个复选框都填上5个,就完成了。 Number two, you have a unique opportunity to ask questions. Those three [inaudible 00:45:54] gentlemen, especially, the lawyer. You don’t get a free consultation every day. Now, you have 25 minutes with him for free, and that’ll be [inaudible 00:46:03] in the discussion zones, and we all are going to go there now. So, come with us. It will be fun discussion. Brian will be able to finish what he wanted to say.
他会回答你关于汽车保险或任何你需要的事情。
他什么都擅长。谢谢你!