作者:
(1)Zane Weissman,伍斯特理工学院,美国马萨诸塞州伍斯特市{[email protected]};
(2)Thomas Eisenbarth,德国吕贝克大学 {[email protected]};
(3)Thore Tiemann,德国吕贝克大学{[email protected]};
(4)Berk Sunar,伍斯特理工学院,美国马萨诸塞州伍斯特市{[email protected]}。
我们提出了两种适用于基于 Firecracker 的无服务器云系统的威胁模型:
(1) 用户对用户模型(图 3):恶意用户在 Firecracker VM 中运行沙盒中的任意代码,并尝试泄露数据、注入数据或以其他方式获取有关其他用户的沙盒应用程序的信息或控制权。在这个模型中,我们考虑
(a)按时间片共享硬件,两个用户的实例在 CPU 核心上轮流执行,
(b) 物理共置,其中两个用户的代码在以某种方式共享的硬件上同时运行(例如,如果启用了 SMT,则同一个 CPU 上的两个核心或同一个核心中的两个线程)。
(2) 用户到主机模型(图 4):恶意用户以主机系统的某些组件为目标:Firecracker VMM、KVM 或主机系统内核的另一部分。对于这种情况,我们仅考虑按时间分片共享硬件资源。这是因为主机仅在来宾用户的 VM 退出时执行代码,例如由于必须由主机内核或 VMM 处理的页面错误。
对于这两种模型,我们假设恶意用户能够控制其应用程序的运行时环境。在我们的模型中,恶意用户不拥有客户机内核权限。因此,这两种模型授予攻击者的权限略少于 [1] 假设的模型,其中客户机内核由 VMM 选择和配置,但假设在运行时受到损害。相反,我们模型中攻击者的能力与 AWS Lambda 和 Fargate 中 Firecracker 部署中授予用户的能力相匹配。