Steve Wilson 是 Contrast Security 的首席产品官,在 Citrix、Oracle 和 Sun Microsystems 等价值数十亿美元的技术公司开发和营销产品方面拥有超过 25 年的经验。在本次 AMA 中,Steve 向我们介绍了无服务器安全性、JAVA 生态系统中的应用程序安全性、SBOM 和最佳实践。
这个由 Mónica Freitas、Steve Wilson、Zach Taylor、Victor de Avila、Jack Boreham 和 Sara Pinto 撰写的 Slogging 线程出现在 slogging 的官方 #amas 频道中,为了便于阅读,已经过编辑。
嘿@channel,请和我一起欢迎我们的下一位 AMA 嘉宾 Steve Wilson。 Steve 目前是 Contrast Security 的首席产品官。如今,他的团队负责所有产品的工程、产品管理和产品设计。
Steve 在 Citrix、Oracle 和 Sun Microsystems 等价值数十亿美元的科技公司开发和营销产品方面拥有超过 25 年的经验。
在加入 Contrast 之前,Steve 是 Citrix Cloud 的产品管理副总裁,负责领导 Citrix 产品从传统的本地部署到 SaaS 的转型。
在甲骨文,他领导了价值十亿美元的系统管理软件产品线的核心工程。在 Sun Microsystems 任职期间,Steve 是 Java 计算机编程系统开发团队的早期成员,该系统是历史上使用最广泛的软件开发工具集。
请随时向史蒂夫询问:
嗨史蒂夫威尔逊!很高兴有你和我们在一起!您能否先向我们介绍一下您的背景以及您是如何与 Contrast Security 合作的?
嗨莫妮卡弗雷塔斯!很高兴来到这里。首先,我要感谢 HackerNoon 让我加入他们的 AMA,我期待回答您的问题。
我是 Contrast Security 的首席产品官,该公司是应用程序安全领域的领导者,它使开发人员能够在编写代码时确保安全。我们的平台为开发人员提供自助式安全解决方案,以提高整个软件开发生命周期的效率,同时保护应用程序在生产前、生产中和生产后免受漏洞的影响。我利用我在开发和营销产品方面 25 年以上的经验来领导我的团队,这些团队负责 Contrast 所有产品的工程、产品管理和产品设计。
关于我的 2 个有趣的事实:
- 我有跆拳道二级黑带。
- 我喜欢用吉他弹奏经典摇滚乐曲。
随时在Twitter 上关注我
谢谢,莫妮卡弗雷塔斯,很高兴谈论我是如何来到对比度的!
大约 18 个月前,我在 Citrix、Oracle 和 Sun Microsystems 等大公司工作后加入。
我曾在工程和产品管理中担任过个人贡献者和管理角色,可以追溯到 90 年代后期作为 Java 团队早期成员的日子。如果人们有兴趣,很高兴回答有关早期 Java/Sun 琐事的问题。 🙂
关于我是如何来到对比度的快速故事。
在我之前的角色中,我遇到了这样一种情况,一个由数百名工程师组成的团队被一个运行糟糕的“代码扫描”产品的安全团队完全脱轨。它为我们产生了大量的技术债务(我们需要解决),但几乎没有改善我们的安全状况。它延误了时间表并造成了巨大的挫败感。加入对比,我意识到有更好的方法来做到这一点!
嗨史蒂夫!你能解释一下什么是无服务器吗?
谢谢,扎克·泰勒!无服务器是对很多人来说意味着很多东西的术语之一,所以让我们分解一下。从本质上讲,它是一组旨在使服务器端计算更高效、更简单的技术。该术语的一种用法是抽象出“虚拟机”(ala VMware)的重量级概念,而不是使用重量更轻、可扩展的结构,如 Docker 容器和 Kubernetes。然而,我认为 Serverless 内部正在发生一个更有趣的运动......
应用程序架构 20 年来最大的革命是功能即服务。最流行的例子是亚马逊网络服务 (AWS) Lambda——尽管微软和谷歌等其他云也添加了类似的结构。与 Java Servlet 相比之前的“CGI”而言,Java Servlet 是 Web 架构的巨大改进,无服务器功能可以比传统架构快 100 倍且成本更低。这些功能并不总是很有趣,它们更“基于事件”并且仅在需要时运行。您会看到这些用于大规模可扩展性和低成本至关重要的地方。物联网 (IoT) 应用程序,您可能会将数据从数千或数百万台设备发送回数据收集服务。这真是令人兴奋的事情。
这对开发人员来说是非常令人兴奋的!当您提到物联网时,听起来它为许多不同的用例打开了大门。
无服务器安全性与传统应用程序安全性有何不同?
好问题,扎克·泰勒!有很多不同之处!
在“加”方面,你失去了很多你可以“不”担心的事情。您无需担心需要修补的操作系统甚至 AppServer。所有这些都“消失”在你的身下。某些版本仍然存在于某处,但您看不到或管理它们。从安全角度来看,这是一个很大的优势!
但是,在“谨慎”方面,您的应用程序代码看起来会非常不同。事实上,您应该假设您的代码 AppSec 工具(如您的“代码扫描器”)根本不起作用。所有的入口和出口点都是不同的,所以你的逻辑流程是不同的。您需要全新的 AppSec 工具来确保您能够发现 OWASP 十大类型的漏洞(这些漏洞仍然存在)。
事实上,OWASP 有一整套专门的无服务器前 10 名列表,值得一试。
因此,您仍然需要担心 AppSec 工具需要帮助解决的两大问题:您带来的开源代码中的漏洞,以及您编写的自定义代码中的漏洞。但是,还有一个需要担心的新项目是您对每个功能的身份和访问管理 (IAM) 权限。当代码在公共云中运行时,它是确保代码安全的关键部分,但手工完成却很费力。最好确保您有一个可以为您自动化的工具。
哇,太有见地了!因此,尽管有权衡(两者的优点和缺点),但总的来说,自动化听起来是填补空白的关键组成部分? OWASP Top 10 看起来很有趣,我肯定会更深入地研究它——感谢分享!
嗨史蒂夫!如果组织考虑迁移到无服务器/云原生环境,最直接的威胁/危险是什么?安全团队应该牢记什么来改善保护?
嘿,维克多·德·阿维拉,好问题!虽然无服务器技术消除了许多底层技术的安全责任,但开发人员仍处于保护无服务器功能的困境中。如果代码以不安全的方式编写,应用程序仍然容易受到传统应用程序级别的攻击,例如跨站点脚本 (XSS)、命令/SQL 注入、拒绝服务 (DoS)、身份验证和授权损坏、安全配置错误, 还有很多。
安全团队不仅必须处理常见的漏洞和暴露 (CVE) 或与开源库相关的风险,而且无服务器环境还会引入由访问控制中断驱动的威胁,特别是当开发人员需要添加权限以支持必要的功能时。在这种情况下,安全团队通常会指示开发人员从预定义权限列表中进行选择,这些权限提供了比必要更多的特权访问权限。
一个好的自动化过程可能是最低权限应用程序的绝佳机会——这在以前的级别是不可能的。然而,以准确和快速的方式大规模自动化这个过程并不容易。
在无服务器环境中,随着反序列化攻击更加普遍,攻击面也增加了,而且审计和监控比传统应用程序更困难。因此,组织需要遵循最小权限原则并确保强大的访问控制以减少攻击面并确保只有授权的个人才能访问。
同样,DevSecOps 团队也应该注意无服务器功能中的“蔓延”。函数可以有多个版本,在不同的区域和多个帐户上,这使得管理和安全团队很难在组织级别了解无服务器库存的整体规模。为了解决这个问题,他们将需要与云基础设施和无服务器相关的强大资产管理控制。
最后,团队应该考虑他们的图书馆权限。虽然它与常规应用程序安全性没有什么不同,但这些功能往往有很多依赖关系。此外,在某些情况下,即使代码看起来很干净,基础设施(例如 IaC)也可能在部署时引入更多库,从而导致遗漏 3rd 方漏洞。 DevSecOps 团队应该启用强大的安全流程,同时对这些特定于无服务器的注意事项保持批判性的眼光。
嗨,史蒂夫·威尔逊!我很想知道您在甲骨文工作的时间。你在那边做了什么?
嗨,杰克博勒姆,谢谢你的提问!从 2010 年到 2013 年,我在 Oracle 工作了大约 3.5 年。在那段时间里,我担任企业管理器团队的“核心工程副总裁”。这是 Oracle 为其整个产品组合(从硬件到管理程序再到数据库、中间件和应用程序)提供的一套管理工具。在这份工作中,我学到了很多关于大规模工作的知识(我的团队大约有 500 人,分布在北美、欧洲(法国和捷克共和国)和印度。甲骨文有一种奇怪的企业文化,但有一种非常自律的工程文化(有从 Oracle DB 开始)。我在那里学到了很多关于测试和提高质量的知识。
但是,为了详细说明,我是在 Oracle 收购 Sun Microsystems 时加入的。实际上,我在 90 年代中期加入 Sun,担任 Java 开发工具包的编码员,在那里我与 James Gosling 等各种聪明人(以及许多其他成为著名程序员并构建了很棒的东西的人)一起工作。我开始研究 Java GUI 工具包,然后成为第一个全职的 Java 性能工程师。事实上,我写了一本关于它的书。我将提供一个链接只是为了好玩,但它已经过时了,我不建议任何人现在阅读它! 😉
我进入管理层并领导 NetBeans IDE 团队(我最喜欢的工作,顺便说一句),然后是 Sun 的虚拟化和系统管理团队。如果您对此任何部分有更多疑问,请告诉我。很多关于 Sun/Oracle 的有趣故事。
史蒂夫威尔逊那是一次伟大的旅程!
你在Contrast的角色中遇到了哪些挑战?自助服务安全解决方案是什么意思?您是否有一套既定的安全解决方案,任何公司都可以选择最适合他们需要的解决方案?企业是否可以向 Contrast 寻求量身定制的解决方案?
Monica Freitas,感谢您询问对比度! Contrast 是一家专门提供帮助开发人员构建安全应用程序的工具的公司。很多人在考虑安全性(这很重要)时会考虑诸如网络、识别或端点安全工具之类的东西,但我们都在努力保护什么免受黑客攻击?这真的是关于我们的应用程序以及它们为我们存储的数据。这就是应用程序安全性如此重要的原因,而这些正是 Contrast 构建的工具。
我们有所谓的安全代码平台。它包括许多帮助开发人员和安全团队的技术。这包括源代码扫描 (SAST)、可以从“内向外”测试您的应用程序的工具 IAST、运行时保护 (RASP),它实际上可以中和试图利用零日漏洞的攻击者。最近的例子是 Log4J 和 Spring4Shell。最后,我们最近推出了世界上第一个用于云原生无服务器代码的安全工具。我们很乐意与人们讨论如何创建 DevSecOps 程序的最佳选择,这将允许他们保持开发速度,同时确保他们的代码是安全的。
您可以在此处联系以获取更多详细信息。
Mónica Freitas,关于“自助式”安全主题... 自助式安全解决方案是指开发人员能够自行利用对比工具并以他们认为最合适的方式使用它们。这意味着开发人员和 DevOps 团队可以获得完成工作所需的工具,并且可以通过最少的安全培训(或专门的安全工程团队的持续监督)发现和修复漏洞。至于向 Contrast 寻求量身定制的解决方案,绝对是。我们的团队能够根据团队的目标以及长期和短期需求,指导团队做出最有效的工作。
Steve Wilson,您见过的最常见的安全问题是什么?公司可以采取哪些措施来解决这些问题?
Monica Freitas,感谢您提出有关最常见安全问题的问题。我将避开诸如网络钓鱼和错误密码之类的事情(因为这是显而易见的并且经过深思熟虑的基础)。相反,我将专注于创建安全应用程序的问题。您需要注意两件事:保护您编写的代码和保护您使用的其他人编写的代码(通常是开源代码)。
使用您编写的代码,有相当多的漏洞类型被分类。最常见(也是最严重)的一种称为“注入”攻击。这意味着外部实体(黑客!)能够以您未预料到或不打算的方式将数据放入系统的某些部分。这些可能是诸如“SQL 注入攻击”之类的事情,其中黑客能够将一段数据库查询语言放入您的数据库并远程执行它。这真的很常见,并且是 20 年来的头号问题。另一个通常被认为不太严重的问题是“日志文件注入”,黑客能够将受污染的数据直接放入应用程序的日志文件中。听起来还不错,但这是最近在 12 月 / 1 月影响众多公司的 Log4J 安全事件的核心。
至于开源代码,我们知道现代商业应用程序中的大部分代码甚至都不是由公司的开发人员编写的。它是开源的。它对各种攻击持开放态度,虽然开源确实通过让很多人关注代码为安全代码提供了坚实的基础,但其中许多人现在都是黑客(从学生到国家黑客)。其中一些库(如 Struts、Log4J、Spring)非常受欢迎,以至于它们被嵌入到全球数百万个应用程序中。几年前,名为 Equifax 的信用评级机构正在使用易受攻击的 Struts 版本,并丢失了数亿美国人的个人财务数据。结果,他们被罚款超过 4 亿美元。这很严重。
处理这两个问题的最佳方法是使您的开发实践现代化,以包括帮助您检测和修复这些类型的问题的自动化工具。 Contrast 的安全代码平台适用于 Java、JavaScript .NET、Go、Ruby、Python、Scala 和 Kotlin,因此,如果您使用这些流行技术中的任何一种,我们很乐意帮助您实现工具现代化并围绕自动化构建程序这个的。
嘿史蒂夫威尔逊!我很好奇,什么是SBOM?它们会影响安全系统吗?
Sara Pinto,感谢您询问 SBOM。现在是一个如此有趣和热门的领域!这实际上是称为软件供应链安全的更大主题的一部分。正如该线程的其他一些问题所指出的,现代应用程序中的大部分代码都不是由公司自己的开发人员编写的。它来自第三方(通常是开源的)。不久前,一家名为 Solar Winds 的软件供应商遭到黑客攻击。这对太阳风不利,但更糟糕的是,Solar Winds 构建的代码被嵌入到许多其他公司甚至政府的云和数据中心环境中。
知道这一点后,攻击 SolarWinds 的黑客不仅窃取了 SolarWinds 的信息,他们还利用这个机会在 SolarWind 的软件中设置了后门,这些软件随后将被许多其他公司嵌入。探索是巨大的,它导致了一个想法,即您必须跟踪自己的代码,以及您从其他地方获得的代码。整个过程必须从头到尾都是安全的,这就是所谓的软件供应链安全。
SBOM 代表软件材料清单。 SBOM 是代码库中存在的所有开源和第三方组件的列表,以及管理这些组件的所有许可证。把它想象成食品盒侧面的营养标签。它可以帮助消费者了解食物中的成分,以便他们可以使用它来确保食物对他们来说是安全和健康的。
SBOM 可以提高软件市场的透明度,如果发现漏洞,还可以让开发人员迅速采取行动。最近的网络安全行政命令指出,应该要求 SBOM,NTIA 为 SBOM 必备品发布了“SBOM 的最低要素”,其中许多点只是在拜登最近关于我们国家网络安全的声明和随附的情况说明书中进一步强调.
此外,Gartner 预测,到 2025 年,60% 的构建或采购关键基础设施软件的组织将在其软件工程实践中强制要求和标准化 SBOM。尽管这些是保护现代应用程序(包括无服务器)的重要第一步,但开发人员和安全团队仍然需要确保他们的应用程序安全,而这一责任落在了 DevSecOps 团队身上。
Steve Wilson,随着 Web3 的发展,您是否考虑为 web3 创建安全选项的可能性?
Mónica Freitas,感谢您提出大量 Web3 安全问题。这是一个引人入胜的话题,也是一个相当广泛的话题。我会尝试添加我的观点。首先,我们必须定义 Web3。
在流行文化中,Web3 的理念主要是交易奇怪的数字艺术作品。关于庞氏骗局和欺诈的讨论不断。但我认为 Web3 的概念很吸引人。
当你把它全部剥离时,Web3 是一组大胆的尝试(我相信很多人会失败),从头开始重建大部分互联网。为什么我们需要这样做?嗯,这真的是关于安全和信任!
互联网和位于其之上的万维网是由学者为学者建立的。它们旨在开放信息、推进科学技术和促进思想交流。从这个意义上说,互联网/网络是人类历史上最成功的尝试。
然而,由于它的性质,它缺少一个关键概念——信任!我怎么知道你是谁?我怎么知道你拥有什么?我怎么知道你有权获得什么?这些都不是一开始就内置在互联网中的。叠加在上面的所有东西都是脆弱的并且是集中控制的。我怎么知道你拥有什么?我问你的银行/信用卡公司。我怎么知道你是谁?哇,直到今天,这在互联网上几乎是一个完全未解决的问题!
Web3 倾向于从比特币/加密货币开创的概念开始——以区块链为核心。大约四年前,我发现我十几岁的女儿和她的朋友们正在使用免费的 VPN 服务来穿越高中防火墙,这样他们就可以在学校观看 Netflix。与其生气,我发现这是与她就安全和密码学展开对话的好方法(NERD DAD ALERT!)。我们不知何故开始了一场奇妙的冒险,挖掘以太坊并学习区块链。您可以在这里阅读我们的一些冒险经历。
这使我个人真正深入了解了区块链的工作原理。在某些方面,它是计算机科学的奇迹,在某些方面,它是一场工程噩梦,但它开创了一套新的概念,说明如何在没有中央权威的情况下分配信任。这就是web3的核心!如果中间没有第三方机构告诉我,我怎么知道你是谁以及你拥有什么(在特定情况下)?
如果您有兴趣阅读我对区块链优缺点的看法,可以查看这篇文章。它已经有几年的历史了,但这里的核心概念发展得足够慢,以至于它都在很大程度上与讨论相关。
所以,现在让我们开始吧!我会告诉想要深入研究 web3 安全的人什么?
首先,在较小的区块链中存在引人注目的安全故障实例。区块链信任通常基于共识投票,如果你没有临界质量,那么有人可以拥有超过 50% 的选票,你就有麻烦了。但是,我不认为这对于当今关注 Web3 的开发人员来说是最重要的话题。
当我回顾近年来围绕 Web3/NFT/Crypto 发生的重大安全事件时,它们与核心区块链无关。它们围绕着公司代码/基础设施的 Web2 部分,仍然将世界粘合在一起。从长远来看(从几十年的角度来看),Web3 游戏是用将信任作为核心组件的东西取代互联网的基础。这可能会发生,这是值得称赞的,但还有很长的路要走。
今天,我们拥有诸如 IPv4/6、SSL、HTML、JavaScript、REST、AppServer、开源库和 SQL 数据库之类的东西,它们将世界联系在一起(以及区块链/web3 技术的孤岛)。如果您正在运行 NFT 交换(或类似的东西),那么我会花费尽可能多(或更多)的时间来担心我的世界中的 Web2 部分,它是我和我的客户/合作伙伴之间的粘合剂。它容易受到我们之前在这里讨论过的所有相同应用程序安全概念的影响。您需要一个出色的 DevSecOps 程序和平台。其中大部分应该看起来类似于信用卡处理器或主要银行。对比在这里可以提供帮助。
如果您可以将您的 Web2“粘合剂”硬化到与大型银行相同的水平,那么您可以花时间担心如何在 Web3 世界中脱颖而出。这是激动人心的时刻。我迫不及待地想看看这会如何发展。
如果您想就这个话题进行更多讨论,请告诉我。我很想聊天!
Steve Wilson,我是所有这些软件安全标准的新手。你能详细说明一下吗?我应该知道什么?
Sara Pinto,感谢关于软件安全标准的问题。哇!你刚刚谈到了一个非常重要的话题。
大致有两种类型的标准:合同/商业和法定标准。商业标准可以帮助您开展业务。遵守这些标准之一可能会写入合同。例如,您的客户可能要求您遵守称为 SOC2 的标准,并定期接受审核以证明这一点。
另一方面,为了向美国政府销售云计算服务,您必须遵守一组称为 FedRAMP 的标准(这是“法律规定的”,因此被视为法定要求)。
如果您经营的是一家软件/SaaS 公司,这两个示例都很有趣且很重要。但是,对于个人开发人员来说,它们确实是抽象的。例如,这些标准包括许多远远超出“软件”的项目。一个很好的例子是,您是否为所有员工进行了足够的背景调查和基本的安全培训?
对于软件开发人员来说,有更细粒度的标准可以更深入地了解您可能需要担心的细节。这是您旅途中开始探索的有趣事物的部分列表!请注意,有些要求是技术要求,有些要求是您用于构建软件的过程。
网络安全行政命令 14028
PCI SSF(替换 PA-DSS)
OWASP
NIST
CISA
管理委员会
隐私(安全是隐私的前提
其他
这对每个人来说都超级有趣。感谢您的加入!我将在一天的剩余时间里观看这个频道,但如果这是这个话题的结尾,我会留给你一些我一直在努力的东西。希望你喜欢它!
感谢您加入我们史蒂夫威尔逊,以及您深思熟虑的回答。我们喜欢你在这里!