Merlin: Specification Inference for Explicit Information Flow Problems

被引:33
|
作者
Livshits, Benjamin
Nori, Aditya V.
Rajamani, Sriram K.
Banerjee, Anindya
机构
关键词
Security analysis tools; Specification inference;
D O I
10.1145/1542476.1542485
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
The last several years have seen a proliferation of static and run-time analysis tools for finding security violations that are caused by explicit information flow in programs. Much of this interest has been caused by the increase in the number of vulnerabilities such as cross-site scripting and SQL injection. In fact, these explicit information flow vulnerabilities commonly found in Web applications now outnumber vulnerabilities such as buffer overruns common in type-unsafe languages Such as C and C++. Tools checking for these vulnerabilities require a specification to operate. In most cases the task of providing such a specification is delegated to the user. Moreover, the efficacy of these tools is only as good as the specification. Unfortunately, writing a comprehensive specification presents a major challenge: parts of the specification are easy to miss, leading to missed vulnerabilities; similarly, incorrect specifications may lead to false positives. This paper proposes MERLIN, a new approach for automatically inferring explicit information flow specifications from program code. Such specifications greatly reduce manual labor, and enhance the quality of results, while using tools that check for security violations caused by explicit information flow. Beginning with a data propagation graph, which represents interprocedural flow of information in the program, MERLIN aims to automatically infer an information flow specification. MERLIN models information flow paths in the propagation graph using probabilistic constraints. A naive modeling requires an exponential number of constraints, one per path in the propagation graph. For scalability, we approximate these path constraints using constraints on chosen triples of nodes, resulting in a cubic number of constraints. We characterize this approximation as a probabilistic abstraction, using the theory of probabilistic refinement developed by McIver and Morgan. We solve the resulting system of probabilistic constraints using factor graphs, which are a well-known structure for performing probabilistic inference. We experimentally validate the MERLIN approach by applying it to 10 large business-critical Web applications that have been analyzed with CAT.NET, a state-of-the-art static analysis tool for.NET. We find a total of 167 new confirmed specifications, which result in a total of 322 additional vulnerabilities across the 10 benchmarks. More accurate specifications also reduce the false positive rate: in our experiments, MERLIN-inferred specifications result in 13 false positives being removed; this constitutes a 15% reduction in the CAT.NET false positive rate on these 10 programs. The final false positive rate for CAT.NET after applying MERLIN in our experiments drops to under 1%.
引用
收藏
页码:75 / 86
页数:12
相关论文
共 50 条
  • [1] Merlin: Specification Inference for Explicit Information Flow Problems
    Livshits, Benjamin
    Nori, Aditya V.
    Rajamani, Sriram K.
    Banerjee, Anindya
    ACM SIGPLAN NOTICES, 2009, 44 (06) : 75 - 86
  • [2] Analyzing Explicit Information Flow
    Rajamani, Sriram K.
    INFORMATION SYSTEMS SECURITY, 2010, 6503 : 1 - 2
  • [3] Information flow inference for free
    Pottier, F
    Conchon, S
    ACM SIGPLAN NOTICES, 2000, 35 (09) : 46 - 57
  • [4] Information flow inference for ML
    Pottier, F
    Simonet, V
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2003, 25 (01): : 117 - 158
  • [5] Information flow inference for ML
    Pottier, F
    Simonet, V
    ACM SIGPLAN NOTICES, 2002, 37 (01) : 319 - 330
  • [6] Information entropy in cosmological inference problems
    Pinho, Ana Marta
    Reischke, Robert
    Teich, Marie
    Schafer, Bjoern Malte
    MONTHLY NOTICES OF THE ROYAL ASTRONOMICAL SOCIETY, 2021, 503 (01) : 1187 - 1198
  • [7] Information geometry in cosmological inference problems
    Giesel, Eileen
    Reischke, Robert
    Schaefer, Bjoern Malte
    Chia, Dominic
    JOURNAL OF COSMOLOGY AND ASTROPARTICLE PHYSICS, 2021, (01):
  • [8] Making Information Flow Explicit in HiStar
    Zeldovich, Nickolai
    Boyd-Wickizer, Silas
    Kohler, Eddie
    Mazieres, David
    COMMUNICATIONS OF THE ACM, 2011, 54 (11) : 93 - 101
  • [9] Making information flow explicit in HiStar
    Zeldovich, Nickolai
    Boyd-Wickizer, Silas
    Kohler, Eddie
    Mazieres, David
    USENIX ASSOCIATION 7TH USENIX SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION, 2006, : 263 - +
  • [10] On Geometry of Information Flow for Causal Inference
    Surasinghe, Sudam
    Bollt, Erik M.
    ENTROPY, 2020, 22 (04)