首页> 外文学位 >Interactive programming support for secure software development.
【24h】

Interactive programming support for secure software development.

机译:交互式编程支持安全软件开发。

获取原文
获取原文并翻译 | 示例

摘要

Software vulnerabilities originating from insecure code are one of the leading causes of security problems people face today. Unfortunately, many software developers have not been adequately trained in writing secure programs that are resistant from attacks violating program confidentiality, integrity, and availability, a style of programming which I refer to as secure programming. Worse, even well-trained developers can still make programming errors, including security ones. This may be either because of their lack of understanding of secure programming practices, and/or their lapses of attention on security.;Much work on software security has focused on detecting software vulnerabilities through automated analysis techniques. While they are effective, they are neither sufficient nor optimal. For instance, current tool support for secure programming, both from tool vendors as well as within the research community, focuses on catching security errors after the program is written. Tools such as static and dynamic analyzers work in a similar way as early compilers: developers must first run the tool, obtain and analyze results, diagnose programs, and finally fix the code if necessary. Thus, these tools tend to be used to find vulnerabilities at the end of the development lifecycle. Their popularity, however, does not guarantee utilization; other business priorities may take precedence. Moreover, using such tools often requires some security expertise, thus can be costly. What is worse, these approaches exclude programmers from the security loop, and therefore, do not discourage them from continuing to write insecure code.;In this dissertation, I investigate an approach to increasing developer awareness and promoting good practices of secure programming by interactively reminding programmers of secure programming practices in situ, helping them to either close the secure programming knowledge gap or overcome attention/memory lapses. More specifically, I designed two techniques to help programmers prevent common secure coding errors: interactive code refactoring and interactive code annotation. My thesis is that by providing effective reminder support in a programming environment, e.g. modern IDE, one can effectively reduce common security vulnerabilities in software systems.;I have implemented interactive code refactoring as a proof-of-concept plugin for Eclipse and Java. Extensive evaluation results show that this approach can detect and address common web application vulnerabilities, it can also serve as an effective aid for programmers in writing secure code. My approach can also effectively complement existing software security best practices and significantly increase developer productivity. I have also implemented interactive code annotation, and conduct user studies to investigate its effectiveness and impact on developers' programming behaviors and awareness towards writing secure code.
机译:源于不安全代码的软件漏洞是当今人们面临的安全问题的主要原因之一。不幸的是,许多软件开发人员在编写安全程序方面没有得到足够的培训,这些程序可以抵抗违反程序机密性,完整性和可用性的攻击,这种编程风格被称为安全编程。更糟糕的是,即使训练有素的开发人员仍然会犯编程错误,包括安全性错误。这可能是由于他们缺乏对安全编程实践的理解和/或对安全性的关注不足。关于软件安全性的许多工作都集中在通过自动化分析技术检测软件漏洞上。虽然有效,但它们既不充分也不是最优的。例如,工具供应商以及研究团体内部对安全编程的最新工具支持都集中在编写程序后捕获安全错误。静态和动态分析器之类的工具与早期编译器的工作方式相似:开发人员必须首先运行该工具,获取和分析结果,诊断程序,最后在必要时修复代码。因此,这些工具往往在开发生命周期的末尾用于发现漏洞。但是,它们的普及并不能保证其利用率。其他业务优先级可能会优先。而且,使用这样的工具通常需要一些安全专业知识,因此可能是昂贵的。更糟糕的是,这些方法将程序员排除在安全性循环之外,因此,不阻止他们继续编写不安全的代码。在本文中,我研究了一种通过交互提醒来提高开发人员意识并促进安全编程的良好做法的方法。程序员就地执行安全编程实践,帮助他们缩小安全编程知识鸿沟或克服注意力/记忆缺失。更具体地说,我设计了两种技术来帮助程序员防止常见的安全编码错误:交互式代码重构和交互式代码注释。我的论点是,通过在编程环境中提供有效的提醒支持,例如现代IDE,可以有效地减少软件系统中的常见安全漏洞。;我已经实现了交互式代码重构,作为Eclipse和Java的概念验证插件。广泛的评估结果表明,该方法可以检测和解决常见的Web应用程序漏洞,也可以为程序员编写安全代码提供有效的帮助。我的方法还可以有效地补充现有的软件安全最佳实践,并显着提高开发人员的生产率。我还实现了交互式代码注释,并进行了用户研究,以研究其有效性以及对开发人员的编程行为和对编写安全代码的意识的影响。

著录项

  • 作者

    Xie, Jing.;

  • 作者单位

    The University of North Carolina at Charlotte.;

  • 授予单位 The University of North Carolina at Charlotte.;
  • 学科 Information Technology.;Computer Science.
  • 学位 Ph.D.
  • 年度 2012
  • 页码 179 p.
  • 总页数 179
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号