首页> 外文OA文献 >Automatic detection of safety and security vulnerabilities in open source software
【2h】

Automatic detection of safety and security vulnerabilities in open source software

机译:自动检测开源软件中的安全漏洞

代理获取
本网站仅为用户提供外文OA文献查询和代理获取服务,本网站没有原文。下单后我们将采用程序或人工为您竭诚获取高质量的原文,但由于OA文献来源多样且变更频繁,仍可能出现获取不到、文献不完整或与标题不符等情况,如果获取不到我们将提供退款服务。请知悉。

摘要

Growing software quality requirements have raised the stakes on software safety and security. Building secure software focuses on techniques and methodologies of design and implementation in order to avoid exploitable vulnerabilities. Unfortunately, coding errors have become common with the inexorable growth tendency of software size and complexity. According to the US National Institute of Standards and Technology (NIST), these coding errors lead to vulnerabilities that cost the US economy $60 billion each year. Therefore, tracking security and safety errors is considered as a fundamental cornerstone to deliver software that are free from severe vulnerabilities. The main objective of this thesis is the elaboration of efficient, rigorous, and practical techniques for the safety and security evaluation of source code. To tackle safety errors related to the misuse of type and memory operations, we present a novel type and effect discipline that extends the standard C type system with safety annotations and static safety checks. We define an inter-procedural, flow-sensitive, and alias-sensitive inference algorithm that automatically propagates type annotations and applies safety checks to programs without programmers' interaction. Moreover, we present a dynamic semantics of our C core language that is compliant with the ANSI C standard. We prove the consistency of the static semantics with respect to the dynamic semantics. We show the soundness of our static analysis in detecting our targeted set of safety errors. To tackle system-specific security properties, we present a security verification framework that combines static analysis and model-checking. We base our approach on the GCC compiler and its GIMPLE representation of source code to extract model-checkable abstractions of programs. For the verification process, we use an off-the-shelf pushdown system model-checker, and turn it into a fully-fledged security verification framework. We also allow programmers to define a wide range of security properties using an automata-based specification approach. To demonstrate the efficiency and the scalability of our approach, we conduct extensive experiments and case studies on large scale open-source software to verify their compliance with a representative set of the CERT standard secure coding rules.
机译:不断提高的软件质量要求已经提高了软件安全性的风险。构建安全软件的重点是设计和实现的技术和方法,以避免可利用的漏洞。不幸的是,随着软件大小和复杂性的不可阻挡的增长趋势,编码错误已变得很普遍。根据美国国家标准技术研究院(NIST)的数据,这些编码错误导致的漏洞每年给美国经济造成600亿美元的损失。因此,跟踪安全性和安全性错误被认为是交付没有严重漏洞的软件的基本基石。本文的主要目的是阐述用于源代码安全性和评估的有效,严格和实用的技术。为了解决与滥用类型和存储操作有关的安全错误,我们提出了一种新颖的类型和效果规程,该规程通过安全注释和静态安全检查扩展了标准C类型系统。我们定义了一种过程间,流敏感和别名敏感的推理算法,该算法可自动传播类型注释,并在程序不参与程序员的情况下将安全检查应用于程序。此外,我们提出了符合ANSI C标准的C核心语言的动态语义。我们证明了静态语义相对于动态语义的一致性。我们在检测目标安全错误集中显示出静态分析的合理性。为了解决特定于系统的安全性问题,我们提出了一个结合了静态分析和模型检查的安全性验证框架。我们的方法基于GCC编译器及其源代码的GIMPLE表示,以提取程序的模型可检查抽象。在验证过程中,我们使用了现成的下推式系统模型检查器,并将其转变为成熟的安全性验证框架。我们还允许程序员使用基于自动机的规范方法来定义各种安全属性。为了证明我们方法的效率和可扩展性,我们在大型开源软件上进行了广泛的实验和案例研究,以验证它们是否符合一组具有代表性的CERT标准安全编码规则。

著录项

  • 作者

    Tlili Syrine;

  • 作者单位
  • 年度 2009
  • 总页数
  • 原文格式 PDF
  • 正文语种 en
  • 中图分类

相似文献

  • 外文文献
  • 中文文献
  • 专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号