边缘计算中的AWS Lambda问题与安全解决方案

本文探讨了AWS Lambda在边缘计算环境中的局限性,并提出了一种名为偏执状态化Lambda的联合FaaS框架,通过安全并发层和DataCapsules技术实现安全的状态化函数执行,在吞吐量和延迟方面均有显著提升。

相关工作

当前的FaaS框架

现有的基于云的FaaS实现,如AWS Lambda[8]或OpenFaaS[32],未能充分利用网络边缘的计算资源。尝试将此类框架部署到边缘(如Akamai[4])无法满足边缘计算所需的安全保证。S-FaaS[5]、Clemmys[42]使用TEE和加密认证来保护执行的机密性。对于所有上述FaaS框架,它们不支持状态化FaaS执行[38]。

使用TEE的安全执行

PSL的动机源于分布式工作器可以在单个主机上的TEE中安全运行的愿景,这使得多个安全区之间的通信安全和效率成为一个逻辑研究问题。这一愿景得到了各种可用容器服务和平台的支持,例如支持TEE的容器服务,如GrapheneSGX[43]、Scone[7]和Occlum[34],以及硬件TEE平台[27]、Elasticlave[46]和Penglai[16]。Snort[26]是一个安全区内入侵检测框架,也使用循环缓冲区进行通信。我们注意到我们的方法与Snort的不同之处在于,他们使用循环缓冲区来转换DPDK中的大页,而我们的循环缓冲区设计是为了消除ecalls/ocalls中的上下文切换。

基于TEE的KVS

现有的基于TEE的KVS设计主要关注单TEE持久性和性能优化。ShieldStore[25]通过在安全区外进行大部分处理来解决SGXv1的128MB限制。每个键值对在离开安全区时都会被加密并用签名保护,KVS的主要数据结构也存储在安全区外。安全区内的KVS服务器通过从不可信内存中获取加密的键值对来处理来自安全区外客户端的查询。Speicher[9]和DiskShield[3]在安全区内实现安全存储,使得TEE可以安全地与主机的底层存储交换数据。SCL和Speicher[9]都使用基于LSM的结构来实现持久性,但SCL进一步将存储的数据块集成为DataCapsule哈希链的一部分,并实现高效的安全区间通信。SCL所需的TCB比Speicher小得多。EnclaveCache[10]和Omega[14]支持共享的内存中KVS缓存,但不支持来自不同主机的安全区之间的通信。

结论

我们介绍了偏执状态化Lambda(Paranoid Stateful Lambdas),一个用于在云和边缘计算环境中安全执行状态化计算的联合FaaS框架。我们通过利用DataCapsules(一种加密强化的区块链)的特性和扩展,重点关注PSL的安全和通信方面。我们提出了一种抽象,即安全并发层(Secure Concurrency Layer),为安全区提供安全性和最终一致性,并讨论了其持久性和容错语义。在我们的端到端基准测试中,SCL的吞吐量比未优化的基线高出81倍,延迟降低了2.08倍。我们的系统吞吐量随Lambda数量的增加而线性扩展,并且我们的Lambda任务可以在0.61秒内分派到经过认证的工作器。

致谢

我们感谢Anoop Jaishankar就Asylo认证进行的深入讨论。本材料基于NSF/VMware边缘计算数据基础设施合作伙伴关系(ECDI)和NSF奖项1838833支持的工作。本材料中表达的任何观点、发现、结论或建议均为作者的观点,不一定反映赞助方的观点。

参考文献

[1] Cloc. http://cloc.sourceforge.net/. 访问日期:2021-05-1。 [2] Olzhas Adiyatov和Atakan Varol。基于快速探索随机树的内存高效运动规划。第354–359页,2013年8月。 [3] Jinwoo Ahn、Junghee Lee、Yungwoo Ko、Donghyun Min、Jiyun Park、Sungyong Park和Youngjae Kim。DiskShield:一种用于Intel SGX的数据防篡改存储。见第15届ACM亚洲计算机与通信安全会议论文集,第799–812页,2020年。 [4] Akamai。Akamai无服务器边缘。https://www.akamai.com/us/en/products/performance/serverless-computing-edgeworkers.jsp。 [5] Fritz Alder、N Asokan、Arseny Kurnikov、Andrew Paverd和Michael Steiner。S-faas:使用Intel SGX的可信和可问责的函数即服务。见2019年ACM SIGSAC云计算安全研讨会会议论文集,第185–199页,2019年。 [6] Andreas M. Antonopoulos。Mastering Bitcoin。O’Reilly Media,2017年。 [7] Sergei Arnautov、Bohdan Trach、Franz Gregor、Thomas Knauth、Andre Martin、Christian Priebe、Joshua Lind、Divya Muthukumaran、Dan O’Keeffe、Mark Stillwell等。SCONE:使用Intel SGX的安全Linux容器。见第12届USENIX操作系统设计与实现研讨会(OSDI 16),第16卷,第689–703页。USENIX Association,2016年11月。

[9] Maurice Bailleu、Jorg Thalheim、Pramod Bhatotia、Christof Fetzer、Michio Honda和Kapil Vaswani。Speicher:使用屏蔽执行保护基于LSM的键值存储。见第17届USENIX文件与存储技术会议(FAST 19),第173–190页,2019年。 [10] Lixia Chen、Jian Li、Ruhui Ma、Haibing Guan和HansArno Jacobsen。EnclaveCache:使用Intel SGX在多租户云中的安全可扩展键值缓存。见第20届国际中间件会议论文集,Middleware ‘19,第14–27页,纽约,美国,2019年。Association for Computing Machinery。 [11] Sanchuan Chen、Xiaokuan Zhang、Michael K. Reiter和Yinqian Zhang。使用déjà vu检测屏蔽执行中的特权侧信道攻击。见2017年ACM亚洲计算机与通信安全会议论文集,ASIA CCS ‘17,第7–18页,纽约,美国,2017年。Association for Computing Machinery。 [12] Alexander Conway、Abhishek Gupta、Vijay Chidambaram、Martin Farach-Colton、Richard Spillane、Amy Tai和Rob Johnson。Splinterdb:为NVMe键值存储缩小带宽差距。见2020年USENIX年度技术会议(USENIX ATC 20),第49–63页,2020年。 [13] Intel Corporation。Intel(r) software guard extensions sdk for linux* os。https://download.01.org/intel-sgx/linux-1.8/docs/Intel_SGX_SDK_Developer_Reference_Linux_1.8_Open_Source.pdf,2017年。 [14] Claudio Correia、Miguel Correia和Luıs Rodrigues。Omega:面向边缘的安全事件排序服务。见2020年第50届IEEE/IFIP国际可靠系统与网络会议(DSN),第489–501页。IEEE,2020年。 [15] Victor Costan和Srinivas Devadas。Intel sgx详解。IACR Cryptol. ePrint Arch.,2016(86):1–118,2016年。 [16] Erhu Feng、Xu Lu、Dong Du、Bicheng Yang、Xueqiang Jiang、Yubin Xia、Binyu Zang和Haibo Chen。鹏莱安全区中的可扩展内存保护。2021年。 [17] Fetch Robotics。Fetch研究机器人。http://fetchrobotics.com/research/。 [18] Sadjad Fouladi、Riad S Wahby、Brennan Shacklett、Karthikeyan Vasuki Balasubramaniam、William Zeng、Rahul Bhalerao、Anirudh Sivaraman、George Porter和Keith Winstein。编码,快与慢:使用数千个微小线程进行低延迟视频处理。见第14届USENIX网络系统设计与实现研讨会(NSDI 17),第363–376页,2017年。 [19] Pedro Garcia Lopez、Alberto Montresor、Dick Epema、Anwitaman Datta、Teruo Higashino、Adriana Iamnitchi、Marinho Barcellos、Pascal Felber和Etienne Riviere。以边缘为中心的计算:愿景与挑战。ACM SIGCOMM计算机通信评论,45(5):37–42,2015年。 [20] Kourosh Gharachorloo、Daniel Lenoski、James Laudon、Phillip Gibbons、Anoop Gupta和John Hennessy。可扩展共享内存多处理器中的内存一致性和事件排序。见ISCA。ACM,1990年。 [21] Google。Asylo。https://asylo.dev/。访问日期:2021-05-1。 [22] Google。Asylo socket。https://asylo.dev/docs/reference/runtime.html。访问日期:2021-05-1。 [23] Jeffrey Ichnowski、William Lee、Victor Murta、Samuel Paradis、Ron Alterovitz、Joseph E Gonzalez、Ion Stoica和Ken Goldberg。雾机器人算法:使用Lambda无服务器计算的分布式运动规划。见2020年IEEE国际机器人与自动化会议(ICRA),第4232–4238页,2020年。 [24] Sertac Karaman和Emilio Frazzoli。基于采样的最优运动规划算法,2011年。 [25] Taehoon Kim、Joongun Park、Jaewook Woo、Seungheun Jeon和Jaehyuk Huh。Shieldstore:使用SGX的屏蔽内存键值存储。见第14届EuroSys会议论文集,EuroSys ‘19,纽约,美国,2019年。Association for Computing Machinery。 [26] Dmitrii Kuvaiskii、Somnath Chakrabarti和Mona Vij。使用Intel软件保护扩展(Intel SGX)的Snort入侵检测系统。arXiv预印本arXiv:1802.00508,2018年。 [27] Dayeol Lee、David Kohlbrenner、Shweta Shinde、Dawn Song和Krste Asanovic。Keystone:构建TEE的开放框架。arXiv预印本arXiv:1907.10119,2019年。 [28] Microsoft。Openenclave switchless。https://github.com/openenclave/openenclave/tree/master/samples/switchless。访问日期:2021-05-1。 [29] Nitesh Mor、Richard Pratt、Eric Allman、Kenneth Lutz和John Kubiatowicz。全局数据平面:边缘计算中安全数据的联合愿景。见2019年IEEE第39届国际分布式计算系统会议(ICDCS),第1652–1663页。IEEE,2019年。 [30] Satoshi Nakamoto。比特币:一种点对点电子现金系统。技术报告,Manubot,2019年。 [31] Oleksii Oleksenko、Bohdan Trach、Robert Krahn、Mark Silberstein和Christof Fetzer。Varys:保护SGX安全区免受实际侧信道攻击。见2018年USENIX年度技术会议(USENIX ATC 18),第227–240页,马萨诸塞州波士顿,2018年7月。USENIX Association。 [32] OpenFaaS。Openfaas。https://www.openfaas.com/。 [33] Vaishaal Shankar、Karl Krauth、Qifan Pu、Eric Jonas、Shivaram Venkataraman、Ion Stoica、Benjamin Recht和Jonathan Ragan-Kelley。Numpywren:无服务器线性代数。arXiv预印本arXiv:1810.09679,2018年。 [34] Youren Shen、Hongliang Tian、Yu Chen、Kang Chen、Runji Wang、Yi Xu、Yubin Xia和Shoumeng Yan。Occlum:在Intel SGX的单个安全区内安全高效的多任务处理。见第25届国际编程语言与操作系统架构支持会议论文集,第955–970页,2020年。 [35] Weisong Shi、Jie Cao、Quan Zhang、Youhuizi Li和Lanyu Xu。边缘计算:愿景与挑战。IEEE物联网期刊,3(5):637–646,2016年。 [36] Ming-Wei Shih、Sangho Lee、Taesoo Kim和Marcus Peinado。T-sgx:消除针对安全区程序的受控信道攻击。2017年1月。 [37] Shweta Shinde、Zheng Leong Chua、Viswesh Narayanan和Prateek Saxena。防止页故障泄露你的秘密。见第11届ACM亚洲计算机与通信安全会议论文集,ASIA CCS ‘16,第317–328页,纽约,美国,2016年。Association for Computing Machinery。arXiv:2001.04592,2020年。 [38] Vikram Sreekanti、Chenggang Wu、Xiayue Charles Lin、Johann Schleier-Smith、Jose M Faleiro、Joseph E Gonzalez、Joseph M Hellerstein和Alexey Tumanov。Cloudburst:状态化函数即服务。arXiv预印本。 [39] Ajay Kumar Tanwani、Nitesh Mor、John Kubiatowicz、Joseph E. Gonzalez和Ken Goldberg。一种雾机器人方法用于深度机器人学习:应用于表面清理中的物体识别和抓取规划。见IEEE国际机器人与自动化会议论文集,ICRA,2019年5月。 [40] Facebook Database Engineering Team。Rocksdb:用于闪存和RAM存储的持久键值存储。https://rocksdb.org/,2021年5月。访问日期:2021-05-25。 [41] Nan Tian、Ajay Kumar Tanwani、Ken Goldberg和Somayeh Sojoudi。使用运动分割和合成减轻基于云的遥操作中的网络延迟。见国际机器人研究研讨会论文集,ISRR,2019年10月。 [42] Bohdan Trach、Oleksii Oleksenko、Franz Gregor、Pramod Bhatotia和Christof Fetzer。Clemmys:实现FaaS中的安全远程执行。见第12届ACM国际系统与存储会议论文集,第44–54页,2019年。 [43] Chia-Che Tsai、Donald E Porter和Mona Vij。Graphene-sgx:用于SGX上未修改应用程序的实用库操作系统。见2017年USENIX年度技术会议(USENIX ATC 17),第645–658页,2017年。 [44] Rob van der Meulen。边缘计算对基础设施和运营领导者的意义。shorturl.at/evwD0。 [45] Ofir Weisse、Valeria Bertacco和Todd Austin。使用hotcalls恢复丢失的周期:SGX安全区的快速接口。ACM SIGARCH计算机架构新闻,45(2):81–93,2017年。 [46] Zhijingcheng Yu、Shweta Shinde、Trevor E Carlson和Prateek Saxena。Elasticlave:安全区的高效内存模型。arXiv预印本arXiv:2010.08440,2020年。 [47] Lixia Zhang、Alexander Afanasyev、Jeffrey Burke、Van Jacobson、kc claffy、Patrick Crowley、Christos Papadopoulos、Lan Wang和Beichuan Zhang。命名数据网络。ACM SIGCOMM计算机通信评论,44(3):66–73,2014年7月。 [48] Zibin Zheng、Shaoan Xie、Hongning Dai、Xiangping Chen和Huaimin Wang。区块链技术概述:架构、共识和未来趋势。见IEEE国际大数据大会(BigData Congress),第557–564页。IEEE,2017年。

作者

(1) Kaiyuan Chen, 加州大学伯克利分校 (kych@berkeley.edu); (2) Alexander Thomas, 加州大学伯克利分校 (alexthomas@berkeley.edu); (3) Hanming Lu, 加州大学伯克利分校 (hanming_lu@berkeley.edu); (4) William Mullen, 加州大学伯克利分校 (wmullen@berkeley.edu); (5) Jeff Ichnowski, 加州大学伯克利分校 (jeffi@berkeley.edu); (6) Rahul Arya, 加州大学伯克利分校 (rahularya@berkeley.edu); (7) Nivedha Krishnakumar, 加州大学伯克利分校 (nivedha@berkeley.edu); (8) Ryan Teoh, 加州大学伯克利分校 (ryanteoh@berkeley.edu); (9) Willis Wang, 加州大学伯克利分校 (williswang@berkeley.edu); (10) Anthony Joseph, 加州大学伯克利分校 (adj@berkeley.edu); (11) John Kubiatowicz, 加州大学伯克利分校 (kubitron@berkeley.edu)。

本论文可在arxiv上获取,遵循CC BY 4.0 DEED许可。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计