一句话:提出一种轻量级类型与效应系统,在编译期检测云代码中易受机器镜像狙击攻击的请求,并可证明无此类漏洞。
机器镜像狙击是云计算代码中一种难以检测的安全漏洞:开发者以编程方式初始化机器时需指定机器镜像(操作系统与文件系统),若未将搜索范围限制在本组织可控的镜像内,攻击者便可向公共数据库注入名称相似的恶意镜像,从而被误选。本文提出一种轻量级的类型与效应系统,用于检测发往云提供商的、易受镜像狙击攻击的请求,或证明代码库中不存在此类脆弱请求。作者针对初始化 Amazon Web Services 机器的 Java 程序实现了原型,并在 500 多个代码库上进行了评估,共检测出 14 个脆弱请求,仅有 3 个误报,表明该方法在真实代码中具有较好的实用性与准确性。
Machine image sniping is a difficult-to-detect security vulnerability in cloud computing code. When programmatically initializing a machine, a developer specifies a machine image (operating system and file system). The developer should restrict the search to only those machine images which their organization controls: otherwise, an attacker can insert a similarly-named malicious image into the public database, where it might be selected instead of the image the developer intended. We present a lightweight type and effect system that detects requests to a cloud provider that are vulnerable to an image sniping attack, or proves that no vulnerable request exists in a codebase. We prototyped our type system for Java programs that initialize Amazon Web Services machines, and evaluated it on more than 500 codebases, detecting 14 vulnerable requests with only 3 false positives.
DOI 原文 ·
@inproceedings{paperbot5327,
title = {Compile-Time Detection of Machine Image Sniping},
author = {Martin Kellogg},
booktitle = {ASE},
year = {2019},
doi = {10.1109/ase.2019.00154}
}