Testing noninterference, quickly

被引:14
|
作者
Hritcu, Catalin [1 ]
Lampropoulos, Leonidas [2 ]
Spector-Zabusky, Antal [2 ]
De Amorim, Arthur Azevedo [2 ]
Denes, Maxime [3 ]
Hughes, John [4 ]
Pierce, Benjamin C. [2 ]
Vytiniotis, Dimitrios [5 ]
机构
[1] Inria Paris, Prosecco Team, Paris, France
[2] Univ Penn, Dept Comp & Informat Sci, 200 S 33Rd St, Philadelphia, PA 19104 USA
[3] Inria Paris, Gallium Team, Paris, France
[4] Chalmers Univ, Comp Sci & Engn, Gothenburg, Sweden
[5] Microsoft Res, Programming Principles & Tools Grp, Cambridge, England
基金
美国国家科学基金会;
关键词
SECURE INFORMATION-FLOW;
D O I
10.1017/S0956796816000058
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Information-flow control mechanisms are difficult both to design and to prove correct. To reduce the time wasted on doomed proof attempts due to broken definitions, we advocate modern random-testing techniques for finding counterexamples during the design process. We show how to use QuickCheck, a property-based random-testing tool, to guide the design of increasingly complex information-flow abstract machines, leading up to a sophisticated register machine with a novel and highly permissive flow-sensitive dynamic enforcement mechanism that is sound in the presence of first-class public labels. We find that both sophisticated strategies for generating well-distributed random programs and readily falsifiable formulations of noninterference properties are critically important for efficient testing. We propose several approaches and evaluate their effectiveness on a collection of injected bugs of varying subtlety. We also present an effective technique for shrinking large counterexamples to minimal, easily comprehensible ones. Taken together, our best methods enable us to quickly and automatically generate simple counterexamples for more than 45 bugs. Moreover, we show how testing guides the discovery of the sophisticated invariants needed for the noninterference proof of our most complex machine.
引用
收藏
页数:62
相关论文
共 50 条
  • [1] Testing Noninterference, Quickly
    Hritcu, Catalin
    Hughes, John
    Pierce, Benjamin C.
    Spector-Zabusky, Antal
    Vytiniotis, Dimitrios
    de Amorim, Arthur Azevedo
    Lampropoulos, Leonidas
    ACM SIGPLAN NOTICES, 2013, 48 (09) : 455 - 468
  • [2] QUICKLY ALIGNED FOUCAULT TESTING APPARATUS
    WILSON, GL
    SKY AND TELESCOPE, 1972, 43 (03): : 183 - &
  • [3] Noninterference
    Podmore, W
    NEW SCIENTIST, 2000, 166 (2233) : 64 - 64
  • [4] Noninterference for Free
    Bowman, William J.
    Ahmed, Amal
    ACM SIGPLAN NOTICES, 2015, 50 (09) : 101 - 113
  • [5] TESTING POWER-SUPPLIES QUICKLY AND CHEAPLY
    TATAPUDI, L
    ELECTRONICS-US, 1972, 45 (23): : 121 - +
  • [6] Distributed Noninterference
    Matos, Ana Almeida
    Cederquist, Jan
    2014 22ND EUROMICRO INTERNATIONAL CONFERENCE ON PARALLEL, DISTRIBUTED, AND NETWORK-BASED PROCESSING (PDP 2014), 2014, : 760 - 764
  • [7] Noninterference for Free
    Bowman, William J.
    Ahmed, Amal
    PROCEEDINGS OF THE 20TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON FUNCTIONAL PROGRAMMING (ICFP'15), 2015, : 101 - 113
  • [8] Reactive Noninterference
    Bohannon, Aaron
    Pierce, Benjamin C.
    Sjoeberg, Vilhelm
    Weirich, Stephanie
    Zdancewic, Steve
    CCS'09: PROCEEDINGS OF THE 16TH ACM CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2009, : 79 - 90
  • [9] A NONINTERFERENCE MONITORING AND REPLAY MECHANISM FOR REAL-TIME SOFTWARE TESTING AND DEBUGGING
    TSAI, JJP
    FANG, KY
    CHEN, HY
    BI, YD
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1990, 16 (08) : 897 - 916
  • [10] An inexpensive and quickly made instrument for testing relative humidity
    Shippy, WB
    BOTANICAL GAZETTE, 1929, 87 : 152 - 156