Modular Information Flow through Ownership

被引:3
作者
Crichton, Will [1 ]
Patrignani, Marco [2 ]
Agrawala, Maneesh [1 ]
Hanrahan, Pat [1 ]
机构
[1] Stanford Univ, Stanford, CA 94305 USA
[2] Univ Trento, Trento, Italy
来源
PROCEEDINGS OF THE 43RD ACM SIGPLAN INTERNATIONAL CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '22) | 2022年
关键词
information flow; ownership types; rust;
D O I
10.1145/3519939.3523445
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Statically analyzing information flow, or how data influences other data within a program, is a challenging task in imperative languages. Analyzing pointers and mutations requires access to a program's complete source. However, programs often use pre-compiled dependencies where only type signatures are available. We demonstrate that ownership types can be used to soundly and precisely analyze information flow through function calls given only their type signature. From this insight, we built Flowistry, a system for analyzing information flow in Rust, an ownership-based language. We prove the system's soundness as a form of noninterference using the Oxide formal model of Rust. Then we empirically evaluate the precision of Flowistry, showing that modular flows are identical to whole-program flows in 94% of cases drawn from large Rust codebases. We illustrate the applicability of Flowistry by using it to implement prototypes of a program slicer and an information flow control system.
引用
收藏
页码:1 / 14
页数:14
相关论文
共 50 条
  • [31] Algebra for Quantitative Information Flow
    McIver, A. K.
    Morgan, C. C.
    Rabehaja, T.
    RELATIONAL AND ALGEBRAIC METHODS IN COMPUTER SCIENCE, RAMICS 2017, 2017, 10226 : 3 - 23
  • [32] Probabilistic Information Flow Security
    Gruska, Damas P.
    FUNDAMENTA INFORMATICAE, 2008, 85 (1-4) : 173 - 187
  • [33] Information Flow Monitor Inlining
    Chudnov, Andrey
    Naumann, David A.
    2010 23RD IEEE COMPUTER SECURITY FOUNDATIONS SYMPOSIUM (CSF), 2010, : 200 - 214
  • [34] Modalities, Cohesion, and Information Flow
    Kavvos, G. A.
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2019, 3 (POPL):
  • [35] Journal information flow in nanotechnology
    Andrievski, Rostislav A.
    Klyuchareva, Svetlana V.
    JOURNAL OF NANOPARTICLE RESEARCH, 2011, 13 (12) : 6221 - 6230
  • [36] Information-flow Interfaces
    Bartocci, Ezio
    Ferrere, Thomas
    Henzinger, Thomas A.
    Nickovic, Dejan
    da Costa, Ana Oliveira
    FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING, FASE 2022, 2022, 13241 : 3 - 22
  • [37] Waste in value streams caused by information flow: An analysis of information flow barriers and possible solutions
    Hartmann, Lukas
    Metternich, Joachim
    PROCEEDINGS OF THE 5TH INTERNATIONAL CONFERENCE ON SYSTEM-INTEGRATED INTELLIGENCE (SYSINT 2020): SYSTEM-INTEGRATED INTELLIGENCE - INTELLIGENT, FLEXIBLE AND CONNECTED SYSTEMS IN PRODUCTS AND PRODUCTION, 2020, 52 : 121 - 126
  • [38] Analysis of the Information Flow within the Information System of Car Parks
    Nesic, Zoran
    Ljubic, Leon
    Radojicic, Miroslav
    Vasovic, Jasmina Vesic
    ACTA POLYTECHNICA HUNGARICA, 2015, 12 (03) : 73 - 86
  • [39] Information science as platform to enhance information flow studies in organizations
    Martinez Musino, Celso
    E-CIENCIAS DE LA INFORMACION, 2012, 2 (01):
  • [40] RFID-based synchronization of information flow and material flow
    Mechanical and Electrical Engineering College, South West Petroleum University, Chengdu, Sichuan 610500, China
    不详
    J. Adv. Manuf. Syst., 2008, 2 (271-274): : 271 - 274