漏洞历史,数据库和统计…面对你的恐惧
漏洞,那些你讨厌听到的讨厌的事情。让我们从不同的角度来听一听吧!从最近开始,仅仅118年前,我们将从第一个现代漏洞开始,并快速地通过这些年来展示它们已经存在了多长时间。收集它们也很简单,对吧?可能不是;让我来告诉你为什么你不希望那个讨厌的同事成为你的头痛和噩梦。我们会用漂亮的图表,奇闻轶事和小蛋糕来结束。三分之二还不错。
视频记录
大家好,欢迎来到SwampUP 2020!我的演讲题目是脆弱性历史,数据库和观点,面对你的恐惧。我的名字是Brian Martin,我是基于风险的安全漏洞情报副总裁,也是我们数据库产品的内容经理。自1993年以来,我一直在以某种方式收集漏洞,并认为自己是一名漏洞历史学家。对于这个虚拟的SwampUP,我将在演讲中回答问题,如果你有更多的问题,请访问我们的虚拟展位,我很乐意继续讨论。计算机安全状况不佳。辩护者有时会对此不予理会,因为我们的行业还很年轻。当然,与建造金字塔或火灾相比,它是,但与现代汽车工业相比,如1908年福特和他们的T型车,我们的行业可以说是一样古老。随着那个时代的到来,那时的脆弱性至今仍在困扰着我们。那我们是怎么知道这些的呢?
这次演讲将给你们一些历史的视角来充分理解和欣赏我们真正所处的位置。让我们从这次演讲的起源说起。所以我读了一些文章,我读了一些70年代早期有趣的研究论文,我给很多比我年长、更聪明、更聪明的人发了电子邮件,包括一些60年代在大型机上工作的人。我读了很多旧书来寻求观点,这让我思考了一个问题,我们为什么会在这里?我想起了那句话,也许可以回答:“那些不记得过去的人注定要重蹈覆辙。”当然,这产生了上百种变化,我们现在将其归因于Shepard Burke Vanaget =和受人尊敬的Jesse Ventura,但谁会数呢?在谈论漏洞历史时,您必须选择一个开始日期,这可能是任意的。20年前,我会选择20世纪60年代。15年前,50年代。十年前,可以说是20世纪30年代。 Now, I think the early 1900s is a good starting point.
选择这样一个日期的重要部分是要记住,漏洞的核心是跨越特权边界的能力。考虑到这一点,让我告诉你一个故事。2011年,新科学家发表了一篇关于马可尼无线电报的报道,这促使我后来挖掘了更多的细节。这种设备发明于1903年之前的几年,是通信技术的重大进步,脱离了有线线路。最初的创造者是意大利人古列尔莫·马可尼,他身边有助手约翰·弗莱明和亚瑟·布洛克。马可尼,像今天大多数安全供应商一样,说他的设备是安全的,信息是私人的。他夸口说:“我可以调整我的乐器,这样其他乐器就不会听到我的信息了。”为了展示他的新装置,马可尼在1903年6月4日进行了一次演示。
他当时在康沃尔,离示威地点300英里远,准备传递一个信息,证明它们可以长途旅行。弗莱明被安排在伦敦皇家学院剧院接受这一消息,并给观众留下深刻印象。在无线传输信息到达的前几分钟,人群听到剧院的黄铜投影灯发出滴答声。布洛克认出这是摩尔斯电码,并很快发现有人在发送强大的无线脉冲,这种脉冲足以干扰投影仪的放电灯。布洛克在心里破译了这封信,他意识到这封信一遍又一遍地拼写着一个滑稽的词:老鼠。老鼠。老鼠。在那之后,是一连串粗鲁的打油诗,然后是个人侮辱。这样,马可尼,干扰停止了示威继续进行,但损害已经造成。后来,马可尼对此很不高兴,就像今天的一些安全供应商一样,他不愿回应批评。 “I will not demonstrate to any man who throws doubt upon the system,” he said at the time. Fleming, pictured here later in life, wasn’t so rigid. He sent a fuming letter to the Times of London, dubbing the hack “scientific hooliganism” and “monkey-ish pranks,” calling it an outrage against the traditions of the Royal Institution. That is much like vendors today screaming, “That isn’t vulnerability.” Fleming asked the newspaper for help in finding the culprit.
仅仅几天后,《泰晤士报》就刊登了一封承认窃听的信。这位绅士名叫约翰·内维尔·马斯基林,是一位舞台魔术师和发明家,他戏弄马可尼,说他所谓的“私人”是一个笑话。他在《泰晤士报》上的承认导致了弗莱明和他自己之间的几次公开争吵。基本上是在1903年的火焰大战中。可以说,马斯基林是世界上第一个现代黑客,就像今天的黑客一样,他也在施展自己的技能。因此,马可尼的“精确波长”广播专利技术在进入市场之前就被粉碎了。当然,今天我们知道这是一项简单的技术,我们把收音机调到不同的频道。这导致了VulnDB中最老的两个漏洞,即用于远程中间人披露的未加密消息传输和欺骗消息的能力。但故事还有更深层的含义。在这起事件发生的一年多前,马斯基林显然受雇于东方电报公司对马可尼进行间谍活动。 Maskelyne had even written an article in the November 7, 1902 issue of “The Electrician” about the very technology, half a year before Marconi’s demo. The comparisons to full disclosure, wily hackers and internet trolls, is real strong and personally I’m waiting on a movie given all the intriguing drama. The lesson though, is if you say it’s secure or private, verify it first.
接下来,我们跳到第二次世界大战中使用的机电转子密码机用于信息安全,用于无线电报的背面。其中最著名的是德国工程师阿瑟·谢尔比乌斯发明的谜机。你可能从《U-571》、《谜》和《模仿游戏》等电影中知道它。1932年,三名密码学家和波兰首次破译了德国军方的谜机。在接下来的几年里,谜机的后续型号被创造出来,然后被其他国家打破。不仅是德国,包括日本在内的许多其他国家的密码机也遭到了攻击。德国人使用的三个型号的洛伦兹装置也被破坏了,第一个在1942年被破解。不管你知道与否,我们都应该感谢这位小美人,她领导了后来的事情,并最终领导了我们的工作。1943年12月,第一台用于破解洛伦兹密码的电子单用途数字计算机被制造出来。它被称为巨像。 The Lorenz and other devices were compromised during World War II by codebreakers at Bletchley Park in the UK with the aid of this computer. Jumping forward a decade, the 1950s gave us the rise of the phone freaks. Many forget that early telephone systems were electromechanical machines that would evolve into huge digital computers. In 1955, the Western Electric lab’s Panel Machine’s Switching System had an issue. Using a modulated signal, someone could see an internal chunk between two cities, which was considered to be a privileged operation, not intended for customers. Then they would ask the remote operator to connect to a local number, bypassing the billing system allowing for free long distance calls. In 1960, the Western Electric labs for a Crossbar was found to have a vulnerability, known as the infamous Blue Box Exploit, a carefully timed 2600 tone could be sent down the line to trick the remote switch into thinking the trunk was idle, allowing for that free phone call. This is where the phone company learned the hard way that user input was a pain in the ass. Some children’s toys, as well as home-built electronics could be used to circumvent the system to make free calls.
电话窃听者最终滥用了电话系统十多年,一直使用这个漏洞进入70年代。好了,现在我们对计算机历史更熟悉了。我们知道巨像早于即将到来的计算机,但20世纪60年代给我们带来了真正的多用户数字机器。它们还带来了一些即使在今天我们也非常熟悉的计算机漏洞。这是IBM 7094,这是我所知道的第一个具有软件漏洞的多用户计算机系统,导致获得特权。从1962年到1966年,问题被确定为允许泄露密码,绕过时间使用限制,并使系统崩溃。20世纪60年代是雷达上的一个光点,而70年代在脆弱的世界里给我们带来了很多乐趣。
谁还记得“俄勒冈之路”这个精彩的游戏?虽然它不是一个多用户游戏,但您可以通过TTY终端和电话线来玩它。它提醒我们,即使是无害的应用,对用户输入的信任也是不好的。孩子们发现,在硬币中插入一个负值可能会导致整数溢出,让他们可以操纵货币。这是PDP-10, 1966年制造,一直携带到80年代。它运行的是TOPS-10或TENEX两种操作系统中的一种。1972年,TENEX被发现有一个计时技术漏洞,允许用户破解他人的密码。第二个是运行通用电气gcos3的霍尼韦尔DPS 6。在72年到79年间,它有三次攻击。
TUTOR编程语言是为这里看到的PLATO IV计算机系统开发的。1974年,通过精心设计的EXT命令发送到远程终端,你可以锁定它,需要重置电源来修复,远程拒绝服务诞生了。这是我的MIT的Honeywell 6180,是使用multitics的众多计算机之一。在70年代,multitics至少有16个漏洞。
从统计学上讲,这让它成为了70年代的预言。这些漏洞包括特权升级、拒绝服务、文件加密泄露和信息泄露。我们知道其中的几个,因为在79年初,罗杰·谢尔在海军研究生院领导了一个团队攻击多tics。在测试过程中,他们侵入了Multics的安装并添加了一个后门。这个后门很小,需要密码才能使用,“所以它被阉割了”,壳牌这样描述道。测试影响了多台机器,他们最终修改了霍尼韦尔的Multics大版。即使在团队告诉霍尼韦尔它的存在以及它的工作原理之后,供应商也找不到它。
他们没有进一步研究和修复,而是继续分发,即使后门已经到位。从技术上讲,这使其成为第一个政府后门操作系统。有趣的是,卡吉尔和壳牌在74年写了一篇论文,他们在5年前做了同样的事情,但后门没有被分发出去。这是美国国家航空航天局使用的91型IBM 360计算机。360系列运行的是OS/360,这是三个版本之一。1974年,它被发现有通道限制和旁路。这个操作系统至今仍在使用,IBM z/OS在z系列计算机上仍然支持360系统软件。更有趣的是,在1964年至2005年的50年使用期间,该操作系统只暴露了一个漏洞。也就是说,从2004年开始,在操作系统软件中已经披露了75个漏洞。这是1978年托特纳姆学院的PDP-11。 RSTS was a multi-user time sharing operating system from Digital Equipment Corporation. In ‘75, four vulnerabilities were identified in RSTS including denial-of-service, user credential disclosure, file disclosure, and an unspecified remote issue with the login process. That last bit is interesting to a vulnerability historian like myself. Rather than full disclosure of the vulnerability, we have limited disclosure from administrators who saw it used to compromise a system in the wild. This is a Xerox 560, capable of running CPVE operating system released in ‘73.
两年后,发现了一个漏洞,允许本地用户绕过内置内存保护来提升权限。另一个PDP-11,图为丹尼斯·里奇和肯·汤普森。这两个名字可能很熟悉,因为他们是Unix的创建者,Unix是包括Solaris、AIX、BSD、macOS和Linux在内的数百个后续变体的基础。1975年,在与射线检查相关的登录过程中发现了一个未指明的漏洞。另一个模糊的披露,这次来自惠普实验室。这可能是第一个披露漏洞的供应商。六年后,在发布的程序中发现了另一个V6问题,这可以说是Unix漏洞的闸门打开的时候。在接下来的10年里,又有12起类似事件被报道出来。这台IB77打孔卡系统是一台运行四种不同操作系统之一的大型计算机的一部分,发现了两个漏洞,一个是77年的特权升级漏洞,另一个是79年的密码文件泄露漏洞。在这一点上,我们应该考虑到相同类型的漏洞不断出现,一次又一次,从六个供应商。 Last, we move back to encryption, but in the form of digital algorithms. The new data-seal algorithm was a commercial cipher. It was a precursor to the data encryption standard, or DES, which is still a foundation used today. In ‘77, NDS was found vulnerable to a slide attack that resulted in a full compromise. This was one of the early computer-based algorithms that fell and would be one of hundreds to fall including DES. Vulnerabilities were surfacing enough in the 70s so it was a concern to many. From here, we get into a more modern security world that we all recognize. Remember, most admins back then, were not security people and few were dedicated to that task.
相反,他们只在极少数情况下才被期望保护他们的系统。到了80年代,这些漏洞变得越来越普遍,以至于有些人决定列出它们,并应该加以维护。最初的列表基本上是早期的漏洞数据库。与今天的不同,但往往是相同的意图和目标:目录所有的vulns。在80年代之前,原始的无懈可击数据库(VDB)很可能是1973年修复的Multics中的安全漏洞。虽然它不完全是安全漏洞,但对于漏洞历史学家来说,它是一种圣杯。这个漏洞列表最终被做成了一本书的形式,或者看起来是这样,并于1977年印刷出来。你看到的图片是通用的,“我们没有谷歌Books使用的封面图片,”我了解到。显然,我想要一本纸质书,以便回顾它并将任何缺失的vulns集成到VulnDB中。太棒了,谷歌找不到一本,甚至在亚马逊或电子书上也找不到。
但是看,我可以在图书馆找到它。根据b谷歌Books的说法,它存在于941英里外的加利福尼亚州的一个图书馆里。没人想去加州,对吧?当然,这引起了我的逻辑反应,我不高兴。幸运的是,在宾夕法尼亚州的一个小型会议上,我有一份电子副本在等着我,这是一位朋友的好意,她要求图书馆把副本寄给她。谁知道教授有如此不可思议的力量。经过两年的寻找,我终于找到了。最终,来自Multics的另外6个bug将被添加到VulnDB中。自从那次冒险之后,名单终于被别人放到了网上。回到正题上来。 The 70s and 80s also gave us our first taste of supervisory control and data acquisition or SCADA vulnerabilities. SCADA is a term for those little things like the power grid, water systems, and other infrastructure. Note that while the first publication of the SCADA vuln was in 1983, the problem had actually been around a while. Also interesting to note that the next SCADA vuln would be published a full 17 years later in 2001. In 1983, the Nuclear Regulatory Commission issued information notice numbered 8383 about portable radio transmitters and nuclear power plants.
这似乎是无害的。并没有在建议中标注为重要。但这到底是什么意思呢?第一次事故发生在1975年阿拉巴马州的核电站,技术人员发现一种特殊的差分继电器对无线电频率敏感。换句话说,一个标准的对讲机可以关闭核电站的关键系统。让这一点深入人心。是的,第一次事故,这意味着在79年到2011年之间,不同的核反应堆发生了更多的事故。直到1994年,你看到的主要是基于大型机和unix的漏洞,本地和远程的,加密算法如Snefru, Cafrey, Lokey, Lucifer和Basomatic像苍蝇一样坠落。加密算法仍然有很酷的名字。1994年来临了,不久之后,脆弱世界的潘多拉魔盒打开了。 With the commercialization of the internet, birth of the World Wide Web, and more rapid deployment, we saw the eternal fountain of web based vulnerabilities. Over the next 15 years, we’d see yearly vulnerability counts jump considerably as a result.
仅在2019年就披露了2.3万个漏洞。顺便说一下,这是第一个web服务器。说到这里,我们进入下一部分。信息安全的基础之一是修补漏洞的猫捉老鼠游戏。世界上的每个组织都或多或少地这样做。但三十年后,vdb仍然没有轻松地实现这一目标。我将介绍vdb出现问题的一些原因。首先,它们为什么重要?因为它们是漏洞管理的基础。防火墙,入侵检测,漏洞扫描器都依赖于它们。 Organizations that rely on vulnerability intelligence get it from one in some fashion or another. Mature organizations can use this data to make better decisions and avoid problem vendors or software.
但所有这些都假设我们有可靠的数据。如果你不知道一个漏洞,你显然无法保护自己免受它的侵害。即使在2020年,我们看到8年前的vulns仍在使用的报告。你可以买到所有你想要的闪烁盒,但如果你没有得到好的vuln情报,那就没有用了,因为它们根本不可靠。让我们从vdb中出现的问题开始。他们做了很多假设,包括您使用什么软件,哪些细节对您来说很重要,您关心哪些漏洞,并且他们假设您对您的覆盖范围感到满意。许多都是商业性的,受到朝九晚五工作等商业决策的影响。政府的数据库,CVE,实际上并没有追踪漏洞何时被披露,有些并不包括CVE的数据,这是免费的。vdb达不到要求的原因有很多。例如,不同的语言意味着有些人无法就VDB是什么或漏洞的含义达成一致。 Most VDBs largely operate how they did the day they started. Every product and service evolves except seemingly most VDBs. Why? Complacency and the Mendoza Line. The Mendoza Line is an expression in baseball, deriving from the name of shortstop Mario Mendoza, whose poor batting average is taken to define the threshold of incompenent hitting. CVE, run by MITRE and funded by taxpayers, is the Mendoza Line in VDB world, Many third party offerings are based almost entirely on CVE so they end up close to the line as well. VDBs simply never had enough resources to keep up with what’s out there. Disclosures can be a nightmare and not just for the researchers.
一旦漏洞被披露,事情往往不会就此结束。其中许多甚至没有捕捉到所有相关或有用的部分。抽象,一个简单的概念,却是我们世界的噩梦。抽象是我们编目一个或一组vuln的方式。根据我们的标准,单个CVE ID可以映射多达66个不同的vuln。在其他时候,他们可能会为一个漏洞分配三个不同的id。IBM的数据库为他们的安全产品提供服务,因此一个漏洞可能有两个条目,这映射hth华体会最新官方网站到两种不同的检查方法。我们抽象的方式直接导致了我们如何计数和生成统计数据。如果你说一次披露是一个漏洞,而我说有三个,我们就会有非常不同的统计数据。Secunia就是一个例子,因为它们会为同一个vuln创建许多条目。 Like Heartbleed, for which they rated 36 entries.
如果我们按照这样做,我们将有712个Heartbleed条目,所有条目都针对同一个openSSL漏洞。Secunia说,他们的计数方法是一种可行的衡量不同物种数量的方法,但它显然不是。数据的准确性取决于它们的解释和免责声明。图表上的图例是一个良好的开端,但它并没有开始说明数据来自何处,如何制作数据,以及存在哪些统计偏差。那么,我们在收集信息时面临哪些问题呢?即使在五年前,语言障碍也不是一个大问题,因为CNVB或中国国家漏洞数据库的容量更大,我们很难理解报告。谷歌翻译在中文方面做得很差。即使它能起作用,我们也能理解vuln的类型,这是一个技术障碍。CNVD可能会说它是导致代码执行的空指针d引用,但这种情况非常罕见。罕见的如何? We have one documented case from 2012, where Adobe said a nul-pointer-D reference could result in arbitrary code execution.
从那时起,Adobe产品中只有12个其他npd,没有一个导致代码执行。hth华体会最新官方网站解决方案?每个VDB团队需要有人读流利的中文,日语和俄语。一个可以在没有其他人参与的情况下远程利用的漏洞是至关重要的。需要某人点击并执行操作的漏洞仍然很严重,但它代表了稍高的利用门槛。我们知道,经常点击并说服他们这样做的人有时是微不足道的。但是这种区分太容易了,所以我们需要这样做,然而研究人员和供应商经常不这样做,或者把它们混在一起。对于那些熟悉地址清理器或ASAN调试器的人,我打赌您可以经常看到这个输出。在我们的世界里,如果缓冲区溢出触发读或写,我们会特别注意,因为影响是非常不同的。
读取导致信息泄露导致拒绝服务。写操作可能导致代码执行。许多研究人员和一些开发人员不理解这一点,并将两者等同对待。如果您阅读新闻文章(通常是在关注安全的站点上),就会注意到它们通常是快速和肮脏的,它们倾向于模仿供应商的建议,而不做自己的分析。但也不能对开发者太生气。修复有缺陷的代码和修补漏洞比分析根本原因、编写建议并对其进行适当分类要快得多。在这种情况下,研究人员建议将空白密码的存在与硬编码密码的存在视为两个独立的问题。如果账目不同,就会有争论,因为解决方案不同。修改密码或等待厂商补丁。
这变成了一个迂腐的VDB论证,这是我最喜欢的一种。但仔细看,我们发现他们谈论的是同一个账户,这肯定是一个单一的漏洞。在许多情况下,相同的内容被发布到多个地方,甚至供应商也这样做,我们经常需要同时拥有这两个URL,以防有人搜索其中一个URL或另一个URL。那么所有流行的披露点,比如漏洞追踪器或漏洞数据库呢?那么不同的公共和私有数据库、国家数据库、讨论博客呢?
在一个完美的世界里,我们会参考所有这些。但这属于vdb的资源问题。当一个研究人员没有包括供应商链接,或者有时留下猜测或做大量耗时的挖掘,经过相当多的搜索,这是显而易见的,所以我们不得不问研究人员。这是我们通常没有的时间。有时我们会遇到提交信息不太有用的开发人员,这大大增加了找到解决方案所需的时间。所以一个来自VDB世界的PSA,请参考票证,拉请求,顾问id或使用关键字来帮助修复更容易明显。我们必须努力理解研究人员的建议,这些建议至少可以说是相互矛盾的。本例有本地、本地物理、远程。供应商有时会写大量术语的建议,这些术语是针对他们的产品的,以至于变得难以理解。长期以来,安全研究人员和公司一直将咨询作为广告,但有时它们会变得荒谬。
这是右侧单个漏洞披露的截图。看到底部那个小盒子了吗?是啊,我也是。放大后,我们可以看到,它是固定的。没有关于修复的信息,也没有链接。所以有时候名声比实际的帮助更重要。正如您所记得的,CVE是一种行业标准,广泛使用并经常被引用。这样做的全部目的是为漏洞提供唯一的标识符。由于CVE ID是数字,因此会发生错误。而不是剪切和粘贴,人们把它们打出来,漏洞混乱随之而来。 Not quite that dramatic, but some do jokingly refer to me as the CVE police. Anyone doing basic VDB work should run across these weekly if not, more often. MITRE, who runs CVE servers doesn’t seem to care. And why do this? Because accuracy matters. And I’m a masochist apparently.
有些情况很容易发现,有简单的错别字,但其他可能是简单的错别字,但有时这个小错别字会导致一个大问题,需要大量的注释来澄清作业中发生了什么。但是等等,还有更多令人头疼的事情。我们来做速射。少数商业利用框架有动机将利用细节保密,这使得很难确定它们是否存在相同的问题。我们喜欢披露时间线,但当它们涉及糟糕的科幻时间旅行情节时,我们就会畏缩。我明白,我真的明白,但是供应商把安全细节放在收费墙后面,迫使客户使用它,尽管他们把安全工作外包给了像我这样无法访问它的人。披露是通过领英、成就、出版物或其他方式完成的,甚至是个人简历,它们通常没有可操作的细节。他们没有帮助。通过推特个人资料和推文披露信息,真的吗?似乎总是保留CVE ID,这意味着没有可操作的细节。 CPE, which is different, allows you to programmatically use vuln data to easily integrate into your software but with CVE’s limits, that means a lot of vendors and products won’t have actual CPE data, making that integration very difficult. Trying to get clarity from a researcher, vendor, or CVE numbering authority can be a raging headache. Over 100 million repos on a single site, Github, how do we begin to scale to that volume? What else? Here’s a snip of laundry list of other things we don’t have time to get into. So why does all of this matter?
当我们发现自己处于选举中期时,相当多的州使用基于软件的电子投票机,其中一些已经使用了10年。每一辆现代汽车都有计算机系统,而我们已经进入了高度依赖软件的新一代汽车时代。请记住,这也不仅仅是关于漏洞。常规的软件错误可能会造成严重的后果。即使是您为测试留下的默认凭证,如果进入生产环境也会导致问题。比如这辆漂亮的杜卡迪,它有一个四位数的默认启动代码。更可怕的是,医疗设备变得严重依赖于软件。早在1985年,我们就看到了Therac 25,也就是这里的图片,它有一个竞争条件可能会导致潜在的致命剂量的辐射。它确实会杀人。那种现代救生技术,就像有无线诊断但没有加密认证的起搏器。 How bad of a thread is this? Former Vice President, Dick Cheney, had the wireless feature of his pacemaker disabled in 2007. That was one year before the annual halperin published a seminal paper on ICD vulnerabilities. In five years, before a pacemaker hacking plot in the TV show “Homeland” appeared.
不仅是起搏器,还有胰岛素泵,它们也不需要认证或加密,但它们接受无线信号,将胰岛素注入人体。显而易见的教训是,不管怎么想,脆弱性都不是什么新鲜事。过去的112年一再向我们表明,硬件和软件是脆弱的。1902年的明文传输,1939年的加密失败,1955年的盲目信任用户输入,1973年的缓冲区溢出。为什么?很简单,因为我们没有解决根本问题。相反,我们不断地把创可贴贴在其他创可贴的上面,拼命地试图堵住这艘正在沉没的船的一个洞,而不是从根本上解决问题。
我们不断地提出新的、令人兴奋的、有利可图的方法来治疗这些症状。我们花了无数个小时讨论应该给供应商多少时间来修复报告的漏洞。与此同时,包括一些最大的供应商在内的供应商仍然拖拖拉拉,即使在问题被披露后,也要花长达三年的时间来解决简单的问题。老问题是,我们如何解决这个问题?我更像是破坏者而不是建设者,所以这不是我的可乐品牌。我认为解决这个问题的权力不在于安全人员。我认为它存在于开发者世界。在将代码投入生产之前,在审计中进行安全编码实践,可能是我们的救星。在我们开始提问之前,我想邀请你和我以及我们团队的其他成员一起出去玩。会议结束后,我们将在苏格兰皇家银行的展位待上大约一个小时。 If you have any questions about vulnerabilities or anything else, let’s chat. Thank you for your time.


