无服务器应用部署在云平台上,被设计为仅使用任务所需的计算资源。它们只在需要时出现,任务结束后即消失。如果你希望最大限度地提高性能,同时将云环境中的开销降到最低,那么它们是非常棒的选择。虽然无服务器应用具有体积小、速度快且寿命短的特点,但是它们也给安全团队带来了新的挑战。
目前,网络安全行业的主要精力仍是全力应对小巧且易于部署的容器所带来的安全挑战。由于许多容器可以在单个虚拟机中运行,彼此间相隔离,所以它们比以前的应用部署选项更加便宜且更加灵活。
容器与无服务器应用(也被称为云函数)或是亚马逊Lambda函数没有什么关系。亚马逊和IBM于2014年发布了首个云函数计算服务,随后谷歌和微软在2016年也推出了自己的相应服务。与容器相比,云函数更小、更轻,甚至寿命也更短。这导致安全团队也更难以确保它们的安全。
至少在容器中还能安装主要应用和一些安全软件,如日志记录或恶意软件保护工具。但是在云函数中只有一个函数,不能安装其他东西。我们只能在云端运行几行代码。与任何新技术一样,无服务器应用的安全性也是在事后才被考虑到。许多开发人员盲目地认为基础设施提供商会确保云函数的安全。
风险不明且缺乏相关的专业知识
E a s t w i n d N e t w o r k s首席安全和战略官Robert Huber指出,目前缺乏无服务器安全专业知识的不仅仅是企业开发团队,整个行业也是如此。他说:“很少有网络安全专业人员能够从技术层面理解微服务和云计算。更令人不安的是,大多数组织机构没有专门的网络专业人员,而通常这些网络专业人员都具备可降低环境中风险的必备技能。现在又出现了无服务器应用。”
Huber还指出,关于这一新技术所面临的全部网络风险,目前还没有可靠信息,而来自安全厂商的支持也是非常不成熟的。因此企业在考虑无服务器的投资回报率时应当保持谨慎。
虽然安全软件商迈克菲称,无服务器架构可以将某些操作的成本降低十倍,但是这一评估是在全面了解安全风险之前做出的。迈克菲也指出,无服务器应用的灵活计费模式本身就是一种安全风险。因为应用会很自然地根据流量进行扩展和计费,所以分布式拒绝服务(DDoS)攻击会触及这一重要问题。
可快速大规模部署的小型函数在数量上正变得越来越多,并且会在网络中彼此通信,这也导致攻击面变得越来越大,这就成了一个严重的问题。迈克菲认为,无服务器应用将成为2018年新五大威胁之一。
无服务器安全陷阱
决定冒险的企业应该留意潜在的盲点。Aqua Security的联合创始人兼首席技术官Amir Jerbi说:“我们看到了一个巨大的教育差距,尤其是对那些刚刚开始尝试这一新技术的公司而言。”
借助无服务器基础设施架构,云服务提供商可以处理所有的环境安全问题。客户只需带上他们的应用程序。这乍一听似乎无服务器是安全领域向前迈出的一大步,但企业需要了解基础设施提供商负责的范围,以及如何充分利用所有的安全功能,例如人员如何被授权在他们的付费账户中启用新的函数以及可以对哪些东西进行监控。
Jerbi表示:“他们需要了解如何限制访问,能够获得哪些原生工具,以及自己缺少什么。总体而言,由于转向无服务器函数,网络安全应该会得到改善,因为基础设施提供商可以完全控制环境,并且可以为用户提供大量安全保护。你自己的团队不再需要知道如何处理它们。”
云提供商将强化环境,确保所有东西都是最新和最安全的版本,以及所有补丁均已被打上。伦敦数字自动化信息公司Eggplant的首席技术官Antony Edwards说:“无服务器几乎消除了目前入侵的主要渠道——未打补丁的服务器。这些服务器正在使用具有已知漏洞的二进制文件,因为它们没有对相关漏洞进行最新的安全更新。目前大多数情况下,绝大多数的成功入侵都与已知漏洞有关。”
极大的灵活性带来了巨大的责任
无服务器应用或云函数可以在极短的时间内出现和消失,应用可以平稳且经济高效地扩展。Edwards说,它们非常适合那些围绕微服务构建起来的应用。不幸的是,它们也为企图滥用这些应用的攻击者提供了更多的机会。
由于开发人员不需要担心底层基础架构,因此他们会在没有传统安全审查流程的情况下快速推出应用,这导致应用本身可能会出现更多漏洞。由于无服务器应用是小型的独立函数,所以攻击者有更多机会尝试提升权限或利用未妥善管理的应用程序相关性。此外,攻击者还可以利用窃取的证书获得数据的访问权。
开发人员应确保数据库访问有严格的限制措施。Edwards说:“要避免人人都能访问你的数据库,甚至是读取访问权限,取而代之的是只将访问权限给予最需要它们的人和系统。”
另一方面,无服务器应用允许更为精细的管理,因此开发人员可以更为精准地定制访问控制权。云安全公司Edgewise Networks的联合创始人兼首席执行官Peter Smith认为,如何管理是开发人员转向无服务器应用时遇到的最大挑战。他说:“控制这些服务之间的相互访问是一项重大挑战,需要一种新的访问管理模式。”
这个问题的影响范围有多大呢?答案是相当大。据无服务器安全公司PureSec在4月份发布的报告显示,21%的开源无服务器项目至少有一个严重漏洞或配置错误,6%存在诸如在公开访问位置存放API密钥的问题。该公司认为,目前存在的五大主要问题是数据注入、认证失效、不安全配置、权限过高和监控不足。
这对人类来说可能是一个极大的挑战,以至于根本无法处理。这时可能需要大规模利用人工智能(AI)进行处理。Smith说:“新的方法可以通过使用机器学习分析无服务器组件相关性来限制攻击面,以及通过自动生成最低网络控制来降低风险。”以采用自动化和可扩展的方式实现只在可信的组件之间进行必要的访问。
除了信任,还需要验证
所有主要的云提供商现在都有无服务器产品。其中,如亚马逊的AWS Lambda函 数、 微 软 的Azure函数,谷歌和IBM的Cloud Functions。
尽管产品众多,但是用户无法一直准确地知道底层基础设施架构是什么,它是如何工作的,以及如何确保安全。在某种程度上,这是厂商故意为之。如果公众能够访问这些信息,那么对于黑客来说也是如此。这也意味着企业必须要对许多东西采取信任的态度。
Kudelski Security 解决方案架构主管Bo Lane称,理论上,无服务器函数运行在孤立的环境中,但是它们仍然是与多个客户共享的硬件和计算环境。另外,客户不能在该环境中安装自己的安全工具,这就造成了严重的限制。Lane问道:“你如何监视函数中的输入和输出?你如何监控正在进行的恶意活动?你需要在本地环境或虚拟机上部署许多工具,但是又无法部署这些工具。企业客户需要了解基础设施提供商能够提供哪些工具。”
另一种选择是使用像Apache OpenWhisk 这 样的平台创建自己的无服务器环境。事实上,这是IBM云函数解决方案 Bluemix OpenWhisk所基于的平台。其他的选项还包括Fission、IronFunctions和Gestalt。
企业也可以从内部监控函数的性能。例如,专注于应用层的安全厂商FairWarning的创始人兼首席执行官Kurt Long说:“我们会在应用内部设置审计函数。如果是自研应用程序,那么它们会有审计跟踪。”
所有的基本要素仍然适用,不管应用如何部署。他说:“在无服务器应用中,仍然有数据需要保护,仍然有业务功能需要实现,人们也必须要访问服务。有些事情不会改变。”
从应用首次构建时就开始建立安全性比任何时候都更加重要。红帽JBoss的工程副总裁兼首席技术官Mark Little表示:“安全性不应该在应用开发完成后才考虑。”然而,在实践中,目前还没有关于基础设施漏洞的具体信息,也不清楚应用安全性随着向无服务器应用的过渡会变得更好还是更糟。Little说:“函数即服务目前正在被过度炒作。“开发人员对使用它们很感兴趣。对于开发人员不断尝试这一新技术或是在生产中使用它们,我们还没有什么很好的意见。”
据Sumo Logic去年秋季对1500名运行云应用的客户展开的调查显示,使用AWS Lamdba的人数已经从2016年的12%增长至了2017年的23%,翻了近一倍。
以后的增长率可能会出现大幅增长。据Cloudability称,AWS Lambda上无服务器函数的增长率由2017年第一季度的100%激增到了第四季度的667%。它们将很快成为一个非常庞大且攻击目标丰富的环境。
本文作者Maria Korolov在过去20年内长期关注新兴技术和新兴市场。
原文网址
https://www.csoonline. com/article/3277965/cloudsecurity/cloud-functionsp r e s e n t - n e w - s e c u r i t y challenges.html