PartiSan: Fast and Flexible Sanitization via Run-Time Partitioning

被引:10
|
作者
Lettner, Julian [1 ]
Song, Dokyung [1 ]
Park, Taemin [1 ]
Larsen, Per [1 ]
Volckaert, Stijn [1 ]
Franz, Michael [1 ]
机构
[1] Univ Calif Irvine, Irvine, CA 92697 USA
基金
美国国家科学基金会;
关键词
Security; Privacy; Software security; Application security;
D O I
10.1007/978-3-030-00470-5_19
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Sanitizers can detect security vulnerabilities in C/C++ code that elude static analysis. Current practice is to continuously fuzz and sanitize internal pre-release builds. Sanitization-enabled builds are rarely released publicly. This is in large part due to the high memory and processing requirements of sanitizers. We present PartiSan, a run-time partitioning technique that speeds up sanitizers and allows them to be used in a more flexible manner. Our core idea is to partition the execution into sanitized slices that incur a run-time overhead, and "unsanitized" slices running at full speed. With PartiSan, sanitization is no longer an all-or-nothing proposition. A single build can be distributed to every user regardless of their willingness to enable sanitization and the capabilities of their host system. PartiSan enables application developers to define their own sanitization policies. Such policies can automatically adjust the amount of sanitization to fit within a performance budget or disable sanitization if the host lacks sufficient resources. The flexibility afforded by run-time partitioning also means that we can alternate between different types of sanitizers dynamically; today, developers have to pick a single type of sanitizer ahead of time. Finally, we show that run-time partitioning can speed up fuzzing by running the sanitized partition only when the fuzzer discovers an input that causes a crash or uncovers new execution paths.
引用
收藏
页码:403 / 422
页数:20
相关论文
共 50 条
  • [1] Run-time Machine Learning for HEVC/H.265 Fast Partitioning Decision
    Momcilovic, Svetislav
    Roma, Nuno
    Sousa, Leonel
    Milentijevic, Ivan
    [J]. 2015 IEEE INTERNATIONAL SYMPOSIUM ON MULTIMEDIA (ISM), 2015, : 347 - 350
  • [2] Run-time adaptive Flexible Instruction Processors
    Seng, S
    Luk, W
    Cheung, PYK
    [J]. FIELD-PROGRAMMABLE LOGIC AND APPLICATIONS, PROCEEDINGS: RECONFIGURABLE COMPUTING IS GOING MAINSTREAM, 2002, 2438 : 545 - 555
  • [3] A run-time partitioning algorithm for RTOS on reconfigurable hardware
    Götz, M
    Rettberg, A
    Pereira, CE
    [J]. EMBEDDED AND UBIQUITOUS COMPUTING - EUC 2005, 2005, 3824 : 469 - 478
  • [4] Fast run-time reconfiguration for SEU injection
    de Andrés, D
    Albaladejo, J
    Lemus, L
    Gil, P
    [J]. DEPENDABLE COMPUTING - EDCC-5, PROCEEDINGS, 2005, 3463 : 230 - 245
  • [5] A method for fast hardware specialization at run-time
    Bruneel, Karel
    Bertels, Peter
    Stroobandt, Dirk
    [J]. 2007 INTERNATIONAL CONFERENCE ON FIELD PROGRAMMABLE LOGIC AND APPLICATIONS, PROCEEDINGS, VOLS 1 AND 2, 2007, : 35 - 40
  • [6] Out-of-Core Edge Partitioning at Linear Run-Time
    Mayer, Ruben
    Orujzade, Kamil
    Jacobsen, Hans-Arno
    [J]. 2022 IEEE 38TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING (ICDE 2022), 2022, : 2629 - 2642
  • [7] The interplay of run-time estimation and granularity in HW/SW partitioning
    Henkel, J
    Ernst, R
    [J]. FOURTH INTERNATIONAL WORKSHOP ON HARDWARE/SOFTWARE CO-DESIGN (CODES/CASHE '96), PROCEEDINGS, 1996, : 52 - 58
  • [8] Netlist partitioning for FPGA-based run-time reconfiguration
    Dueck, S
    Kinsner, W
    [J]. IEEE CCEC 2002: CANADIAN CONFERENCE ON ELECTRCIAL AND COMPUTER ENGINEERING, VOLS 1-3, CONFERENCE PROCEEDINGS, 2002, : 584 - 590
  • [9] RUN-TIME ISSUES IN PROGRAM PARTITIONING ON DISTRIBUTED-MEMORY SYSTEMS
    PANDE, S
    AGRAWAL, DP
    [J]. CONCURRENCY-PRACTICE AND EXPERIENCE, 1995, 7 (05): : 429 - 454
  • [10] Reliability properties of models for flexible design and run-time analysis
    Berzins, Luqi V.
    Musial, P. M.
    [J]. COMPOSITION OF EMBEDDED SYSTEMS: SCIENTIFIC AND INDUSTRIAL ISSUES, 2007, 4888 : 207 - 219