ARCHERR: Runtime environment driven program safety

被引:0
|
作者
Chinchani, R [1 ]
Iyer, A [1 ]
Jayaraman, B [1 ]
Upadhyaya, S [1 ]
机构
[1] SUNY Buffalo, Buffalo, NY 14260 USA
关键词
D O I
暂无
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Parameters of a program's runtime environment such as the machine architecture and operating system largely determine whether a vulnerability can be exploited. For example, the machine word size is an important factor in an integer overflow attack and likewise the memory layout of a process in a buffer or heap overflow attack. In this paper, we present an analysis of the effects of a runtime environment on a language's data types. Based on this analysis, we have developed Archerr, an automated one-pass source-to-source transformer that derives appropriate architecture dependent runtime safety error checks and inserts them in C source programs. Our approach achieves comprehensive vulnerability coverage against a wide array of program-level exploits including integer overflows/underflows. We demonstrate the efficacy of our technique on versions of C programs with known vulnerabilities such as Send-mail. We have benchmarked our technique and the results show that it is in general less expensive than other well-known runtime techniques, and at the same time requires no extensions to the C programming language. Additional benefits include the ability to gracefully handle arbitrary pointer usage, aliasing, and typecasting.
引用
收藏
页码:385 / 406
页数:22
相关论文
共 50 条
  • [21] Abstracting Runtime Heaps for Program Understanding
    Marron, Mark
    Sanchez, Cesar
    Su, Zhendong
    Fahndrich, Manuel
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2013, 39 (06) : 774 - 786
  • [22] A new program-driven parallel machine simulation environment
    Chen, PZ
    Chen, SN
    JOURNAL OF INFORMATION SCIENCE AND ENGINEERING, 2000, 16 (02) : 201 - 224
  • [23] Architectural Patterns for Handling Runtime Uncertainty of Data-Driven Models in Safety-Critical Perception
    Gross, Janek
    Adler, Rasmus
    Klaes, Michael
    Reich, Jan
    Joeckel, Lisa
    Gansch, Roman
    COMPUTER SAFETY, RELIABILITY, AND SECURITY, SAFECOMP 2022, 2022, 13414 : 284 - 297
  • [24] Multiple dispatch in reflective runtime environment
    Kumar, Rajeev
    Agrawal, Vikram
    COMPUTER LANGUAGES SYSTEMS & STRUCTURES, 2007, 33 (02) : 60 - 78
  • [25] Model-driven Design-Runtime Interaction in Safety Critical System Development: an Experience Report
    Eramo, Romina
    de Kerchove, Florent Marchand
    Colange, Maximilien
    Tucci, Michele
    Ouy, Julien
    Bruneliere, Hugo
    Di Ruscio, Davide
    JOURNAL OF OBJECT TECHNOLOGY, 2019, 18 (02):
  • [26] Native Runtime Environment for Internet of Things
    Manea, Valentina
    Carabas, Mihai
    Mogosanu, Lucian
    Gheorghe, Laura
    ADVANCED COMPUTATIONAL METHODS FOR KNOWLEDGE ENGINEERING, 2015, 358 : 381 - 390
  • [27] A Reversible Runtime Environment for Parallel Programs
    Ikeda, Takashi
    Yuen, Shoji
    REVERSIBLE COMPUTATION (RC 2020), 2020, 12227 : 272 - 279
  • [28] A runtime monitoring environment for mobile java
    Istituto di Informatica e Telematica Consiglio Nazionale delle Ricerche, Pisa, Italy
    不详
    不详
    IEEE Int. Conf. Softw. Test. Verif. Validation Workshop, ICSTW, 2008, (270-278):
  • [29] A runtime support environment for mobile agents
    Chen, Bo
    Cheng, Harry H.
    DETC 2005: ASME INTERNATIONAL DESIGN ENGINEERING TECHNICAL CONFERENCES AND COMPUTERS AND INFORMATION IN ENGINEERING CONFERENCE, 2005, VOL 4, 2005, : 37 - 46
  • [30] Runtime Verification of C Memory Safety
    Rosu, Grigore
    Schulte, Wolfram
    Serbanuta, Traian Florin
    RUNTIME VERIFICATION, 2009, 5779 : 132 - +