云应用时代产生了新的加密漏洞。很多公司至今仍忽视存储数据加密工作,但存储数据的加密确实很直观易行。传输中数据的加密也是如此。那么正在使用中的数据又该怎么加密呢?
云应用总得看得到明文形式的数据才可以进行数据处理。这就意味着,握有该应用环境访问权的攻击者或内部人可以偷看到这些数据。幽灵和熔断恶意软件利用的就是此类安全漏洞。
此前,公司企业避免此类漏洞的唯一方法,是在客户端运行应用,而云端仅用作存储。如今则涌现出了几个从硬件和软件层面解决该问题的技术。谷歌。微软和IBM都已经部署或正在使用此类解决方案。还有几家初创公司正在研究解决这方面的特定用例。
这是一个真正新兴的领域,以至于都还没出现任何对市场规模的评估。前景看好,但市场尚未成熟。
芯片上的安全飞地
手机上早已广为应用安全飞地来存储关键身份验证及支付信息。安全飞地的理念是,加密数据进入到受保护的飞地进行解密和处理,完工后再加上密才出飞地。因为是硬件加密,速度和可靠性都有保障。
支持云计算的芯片也有类似技术,英特尔、ARM和AMD都有,名为可信执行环境。AMD有其安全执行环境(SEE),ARM的是可信区域(TrustZone),英特尔是软件保护扩展(SGX)。
操作系统动不了飞地。即便操作系统中存在零日漏洞,飞地也是安全的。即便恶意内部人能访问系统,飞地还是安全的。即便物理攻击者掌握了所有内存,运行时加密依然牢不可破——因为飞地是嵌入到CPU中的。
安全公司Fortanix的平台可以让现有应用访问安全飞地。应用需要数据的时候,数据会被成块解密出来。在应用看来就是在明文数据上操作——当程序需要使用数据时数据总是很神奇地即时可用。
除了通用应用框架,Fortanix还提供预构建的解决方案,包括一个密钥管理设备和一个数据库产品。2018年6月20日,该公司推出了一款支持Python和R语言应用程序的分析产品,让以Python和R语言为主的人工智能及机器学习应用在云端训练时无惧底层数据安全破坏风险,有助于解决AI工作负载的数据隐私难题。
GeneTank公司之前使用基于软件的运行时安全——同态加密,现在便可利用Fortanix的运行时加密( Runtime Encryption )来为基因医疗算法和AI服务提供安全透明的环境了。
Fortanix的另一早期采纳者是iExec,这是家以基于区块链的云计算来提升AI效率的公司。这家公司将使用Fortanix的运行时加密技术来保护其平台上的App。
Fortanix可以支持其他芯片集,但目前主要落脚在 Intel SGX 上,因为 Intel SGX 是该领域中的领头羊,且拥有最广泛的供应商支持。IBM则在去年12月宣布其 Data Guard 服务与Fortanix达成协作,如今已开始接受早期注册。
IBM计划为MySQL、Nginx、 Forgerock OpenDJ、OpenStack Barbican 和软件密钥管理器提供初步支持,Docker注册已备好。另外,公司企业还可运用Fortanix的工具包来转换自有应用。
微软的Azure机密计算也采用 Intel SGX 技术。上个月,微软宣布其Azure美国东区可以使用带SGX的 Intel Xeon 处理器了。微软目前还在研发软件开发工具和API以方便开发人员使用 Intel SGX 硬件。
同样是在上月,谷歌携开源安全应用开发框架Asylo加入竞争,其开发出的应用采用 Intel SGX 之类可信执行环境。安全供应商Gemalto已开始打造利用该新技术的工具——SafeNet,一款基于云的密钥管理服务。
以服务形式提供密钥管理的另一家公司是Equinix。与IBM类似,Equinix将Fortanix作为基础技术,且其服务在去年秋天发布时是市场上首款基于 Intel SGX 的主流产品。
如今,约60%的公司企业在尝试Equinix的服务,用例各种各样,有用来加密信用卡信息的,有用来做数据库密钥加密的。
亚马逊方面尚未传来任何有关 Intel SGX 使用的消息,但目前下定论还为时过早。Intel SGX 正被越来越多的公司企业采纳,运行时加密在不远的将来将成为行业标准。
安全飞地的弱点
基于硬件的安全飞地在数据容量上有限制,可能会增加处理延时。更重要的是,在云端运行应用的客户通常不知道云平台提供商到底用的是哪种硬件。云提供商若能提供可自动适应硬件的应用环境,那这个问题就能得到解决。
安全飞地还不能防护应用本身受到入侵。举个例子,如果黑客搞到了合法凭证或发现了代码漏洞,就能通过应用触及数据。代码本身若不健壮,任何软件解决方案都挡不住攻击袭来。
另外,安全飞地本身的完整性也存有问题。俄亥俄州的研究人员最近演示了名为的SgXSpectre的 Intel SGX 漏洞。该漏洞类似幽灵,当飞地代码的分支预测可被飞地之外的程序影响,该飞地程序的控制流就会被短时切换去执行可致缓存状态变化可见的指令。换句话说,该漏洞能令攻击者读取飞地中的未加密数据。
基于软件的云计算安全方法
基于软件的方法主要是尽量将工作移到云端进行而不解密数据,主要有两种实现方式:同态加密和多方计算。
同态加密可以不需要先解密数据就执行计算或搜索,但执行速度会特别慢。
多方计算是把计算任务分解成多份,在不同服务器上分别执行,任何一台服务器都拿不全未加密数据。这种方式比同态加密执行更快,但仍慢于基于硬件的安全方法。延时主要是由额外的通信负担增加的。
Inpher公司同时涉猎多方计算和同态加密两种方法,其商业商品Xor使用多方计算处理基于云的安全分析,并另有一个开源同态加密库。
同态加密方法的速度太慢,所以该公司的商业产品还是采用了多方计算方法。
Inpher为常见分析平台及语言(如 Tensor Flow、Python和R)提供了一套连接器;Hadoop集群、SQL数据库,甚至文本文件之类常见数据存储方法也有相应的连接器可用。对Inpher的产品而言,数据存储方式无关紧要,其产品全权托管了数据处理方式的重构,终端用户无需操心所用加密的复杂性。
Inpher客户包括荷兰国际集团比利时银行( ING Belgium )和法国国防承包商Thales。后者在4月宣布了与Inpher的合作伙伴关系,将使用其安全分析进行预测性维护。目前很难找出公开宣称使用运行时加密的公司,不仅仅是因为该技术还非常新,也在于其实现会很困难。
无论是同态加密还是多方计算,都要求有新的应用逻辑,但不是所有的程序都可以转向此类计算。
因此,大多数供应商当前提供的是非常特定的解决方案。比如说,Galois公司的道德安全信息披露框架(FIDES)能让研究人员在看不到原始数据的情况下访问加密数据集,但却只有使用被禁的查询参数才能得到结果。
Galois正与美国国土安全部(DHS)合作,尝试对数据施以访问控制,令数据在使用过程中也保持加密状态。美国国防部也与Galois有类似合作。
另一家供应商,曾名为 Dyadic Security 的 Unbound Tech,提供基于软件的安全密钥管理器,作为硬件安全模块的替代。该管理器使用多方计算,密钥既不存于内存,也不保存在同一个地方,而是放到多个位置上分别对数据进行计算。
Unbound Tech 专注于非常具体的应用,让客户无需重写其应用程序。这就是个即插即用的安全方案。试用过该公司产品的企业表达了订购意愿。
Unbound还计划提供安全数据库访问,这也是基于软件的运行时加密的又一常见用例。通常来讲,该领域的供应商提供的产品位于客户自身应用和标准数据库(如SQL)之间。
如果客户的应用程序完全依赖数据库进行数据检索和处理,那么客户就可利用现成的运行时加密而无需任何重构。如果客户应用从数据库取出数据再以自身内部逻辑进行处理,那再转换为同态加密或多方计算就难得多了。世界上所有产品都不会直接接受一个C程序,总要转换加密协议的。
Baffle公司已经推出了使用多方计算的数据库安全访问产品。他们在应用和数据库之间插入了一层,并没有对应用做出任何改动。
用基于软件的运行时加密替代 Intel SGX 这样的硬件方法,其好处是不依赖于特定硬件。但随着 Intel SGX 应用的推广,Baffle可能也会运用SGX。
与该领域其他供应商类似,Baffle也是相对较年轻的公司。该公司去年才宣布支持SQL,去年秋天宣布支持AWS和Azure,并在6月4日宣称支持通配符搜索功能。Baffle拥有约12家金融服务和医疗保健行业的客户,产品部署分处不同阶段。
Baffle的主要竞争对手之一是Enveil——一家国防工业出身的公司。Enveil成立于2016年,宣称发现了能让同态加密足够快的秘密方法。其CEO称:“我们在联邦政府做出了重大突破,被认证为国家级应用。我们将同态加密带入了实用,可以非常容易地接入任何类型的应用程序,客户无需改变用户体验,也无需切换数据存储方式,甚至数据加密方法都不用变。”
Enveil基于具体案例分析为客户提供基准数据,但并不公开这一基准。Enveil的技术可用于多种类型的应用程序,但大多数人都用于搜索和分析。
基于软件的运行时加密供应商
提供基于软件的运行时加密产品的供应商一直在增加,比如下面几个:
- Baffle:多方计算用于安全数据库访问
- Duality:同态加密用于云分析
- Enveil:同态加密用于基于云的分析和搜索,并有 Intel SGX 系基于硬件的安全飞地
- Inpher:多方计算用于分析,并有开源同态加密库
- Partisia:多方计算用于在线竞拍
- Sepior:多方计算用于密钥管理
- Sharemind:多方计算用于欺诈检测
- UnBound:多方计算用于密钥管理
- CryptoExperts:专精于同态加密项目的咨询公司
- Galois:专精于多方计算项目的咨询公司
运行时加密会成为一项产业还是仅仅是一个功能呢?
不是每家公司都想采用运行时加密,其中还有些取舍平衡问题,比如会割裂应用,会离散功能等等。
不过,对SaaS供应商来说,运行时加密可作为一项非常有用的功能提供给特别注重安全的客户。运行时加密就是种功能,不是一项产业。
运行时加密作为由大型云平台或网络安全供应商提供的功能可能更有意义。网络安全巨头Gemalto和Thales的并购一旦完成,该领域可能还会见证更多并购。
同时,在迈向运行时加密之前,公司企业还有很多其他安全问题需要处理。终端用户一侧并没有对运行时加密投以太多关注。
声明:本文来自安全牛,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。