中文

Groundhog:FaaS中的高效请求隔离

密码学与安全 2022-05-24 v1

摘要

安全性是函数即服务(FaaS)提供商的核心职责。主流做法是让每个函数在各自容器中执行,以隔离不同函数的并发执行。然而,同一函数的连续调用通常复用前一次调用的运行时状态,以避免调用函数时的容器冷启动延迟。尽管高效,这种容器复用对代表不同权限用户或管理域调用的函数存在安全隐患:函数实现、第三方库或语言运行时的漏洞可能将私有数据从一次函数调用泄露至同一函数的后续调用。Groundhog通过每次调用后高效回退至不含任何私有数据的干净状态,来隔离函数的顺序调用。该系统利用了典型FaaS平台的两个特性:每个容器一次至多执行一个函数,且合法函数不在调用间保留状态。这使得Groundhog能够以与编程语言/运行时无关、且无需修改现有函数、库、语言运行时或OS内核的方式,在调用间高效快照与恢复函数状态。我们描述了Groundhog的设计及其在OpenWhisk(一种流行的生产级开源FaaS框架)中的实现。在三个现有基准套件上,相对于复用容器与运行时状态的不安全基线,Groundhog以端到端延迟(中位数:1.5%,95分位:7%)与吞吐量(中位数:2.5%,95分位:49.6%)的适度开销实现了顺序调用的隔离。

关键词

引用

@article{arxiv.2205.11458,
  title  = {Groundhog: Efficient Request Isolation in FaaS},
  author = {Mohamed Alzayat and Jonathan Mace and Peter Druschel and Deepak Garg},
  journal= {arXiv preprint arXiv:2205.11458},
  year   = {2022}
}