TWC: Medium: Collaborative: Developer Crowdsourcing: Capturing, Understanding, and Addressing Security-related Blind Spots in APIs

TWC:媒介:协作:开发者众包:捕获、理解和解决 API 中与安全相关的盲点

基本信息

  • 批准号:
    1513055
  • 负责人:
  • 金额:
    $ 38.28万
  • 依托单位:
  • 依托单位国家:
    美国
  • 项目类别:
    Standard Grant
  • 财政年份:
    2015
  • 资助国家:
    美国
  • 起止时间:
    2015-09-01 至 2019-08-31
  • 项目状态:
    已结题

项目摘要

Despite an emphasis the security community places on the importance of producing secure software, the number of new security vulnerabilities in software increases every year. This research is based on the assumption that software vulnerabilities are caused by misunderstandings, or lack of knowledge, called blind spots, which the developers experience while they are building systems. When building systems, developers often focus more on functional requirements than on non-functional ones, such as security. Thus, they can make design decisions that prioritize functionality without noticing the security vulnerabilities these decisions create. Today, developers often have no access to effective software tools that highlight these vulnerabilities during development. This research identifies common developer blind spots with the goal of building and evaluating practical software tools that help prevent blind spots during development and detect vulnerabilities in deployed software.To capture developers' reasoning when faced with blind spots, and to identify common blind spot characteristics, this research converts several identified blind spots into programming puzzles, and conducts a user study with developers solving these puzzles. Statistical analysis of the developers' answers identifies common characteristics among blind spots, and the observations of developers' behaviors guide the creation of tools to automatically detect blind spots and to warn developers about them as developers experience them. The tools have two complementary goals: (1) prevent blind spots from occurring by cueing developers on-the-spot about potential blind spots as they write code, and (2) identify software vulnerabilities in existing applications by detecting code that may have been written as a result of a blind spot. This research evaluates these newly developed tools in the context of a user study with developers, producing the following outcomes: (1) understanding of blind spots in application programming interfaces (APIs), and of developers' attentional and decision processes when writing code using APIs, (2) understanding of how to notify, without habituation and annoyance, developers on-the-spot about blind spots so that relevant security information is used by developers while writing code, (3) creation of open-source, publicly available developer tools that notify developers about blind spots and facilitate detection of vulnerabilities caused by blind spots, and (4) development of guidelines for better API design to minimize blind spots by considering developers' attentional and decision processes. This research addresses an important gap in secure software development by incorporating the human factor of the development process. This is particularly crucial given our society's increasing dependence on software applications.
尽管安全社区强调生产安全软件的重要性,但软件中新的安全漏洞的数量每年都在增加。这项研究是基于这样的假设,即软件漏洞是由误解或缺乏知识造成的,称为盲点,开发人员在构建系统时会遇到这些盲点。在构建系统时,开发人员通常更关注功能性需求,而不是非功能性需求,例如安全性。因此,他们可以做出优先考虑功能的设计决策,而不会注意到这些决策产生的安全漏洞。今天,开发人员通常无法获得有效的软件工具,在开发过程中突出这些漏洞。本研究以开发人员的共同盲点为研究对象,旨在构建和评估实用的软件工具,以帮助开发人员在开发过程中预防盲点,并检测已部署软件中的漏洞。为了捕捉开发人员在面对盲点时的推理,并确定共同盲点的特征,本研究将几个已识别的盲点转换为编程难题,并与解决这些难题的开发人员进行用户研究。对开发人员答案的统计分析确定了盲点中的共同特征,对开发人员行为的观察指导了工具的创建,以自动检测盲点,并在开发人员遇到盲点时警告开发人员。这些工具有两个互补的目标:(1)通过在开发人员编写代码时提示他们潜在的盲点来防止盲点的发生,以及(2)通过检测可能由于盲点而编写的代码来识别现有应用程序中的软件漏洞。这项研究在与开发人员进行用户研究的背景下评估了这些新开发的工具,产生了以下结果:(1)了解应用程序编程接口(API)中的盲点,以及开发人员在使用API编写代码时的注意力和决策过程,(2)了解如何通知,而不习惯和烦恼,开发人员在现场了解盲点,以便开发人员在编写代码时使用相关的安全信息,(3)创建开源的、公开可用的开发人员工具,其通知开发人员盲点并促进检测由盲点引起的漏洞,以及(4)制定更好的API设计指南,通过考虑开发人员的注意力和决策过程,最大限度地减少盲点。这项研究解决了一个重要的差距,在安全的软件开发,将开发过程中的人为因素。鉴于我们的社会对软件应用程序的依赖性越来越大,这一点尤为重要。

项目成果

期刊论文数量(1)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)
Automatically Generating Precise Oracles from Structured Natural Language Specifications
{{ item.title }}
{{ item.translation_title }}
  • DOI:
    {{ item.doi }}
  • 发表时间:
    {{ item.publish_year }}
  • 期刊:
  • 影响因子:
    {{ item.factor }}
  • 作者:
    {{ item.authors }}
  • 通讯作者:
    {{ item.author }}

数据更新时间:{{ journalArticles.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ monograph.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ sciAawards.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ conferencePapers.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ patent.updateTime }}

Yuriy Brun其他文献

Reducing Feedback Delay of Software Development Tools via Continuous Analysis
通过持续分析减少软件开发工具的反馈延迟
Speculative analysis of integrated development environment recommendations
集成开发环境建议的推测分析
Shedding light on distributed system executions
揭示分布式系统执行
  • DOI:
  • 发表时间:
    2014
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Jenny Abrahamson;Ivan Beschastnikh;Yuriy Brun;Michael D. Ernst
  • 通讯作者:
    Michael D. Ernst
Nondeterministic polynomial time factoring in the tile assembly model
  • DOI:
    10.1016/j.tcs.2007.07.051
  • 发表时间:
    2008-04
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Yuriy Brun
  • 通讯作者:
    Yuriy Brun
Software Fault Identification via Dynamic Analysis and Machine Learning
通过动态分析和机器学习识别软件故障
  • DOI:
  • 发表时间:
    2003
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Yuriy Brun
  • 通讯作者:
    Yuriy Brun

Yuriy Brun的其他文献

{{ item.title }}
{{ item.translation_title }}
  • DOI:
    {{ item.doi }}
  • 发表时间:
    {{ item.publish_year }}
  • 期刊:
  • 影响因子:
    {{ item.factor }}
  • 作者:
    {{ item.authors }}
  • 通讯作者:
    {{ item.author }}

{{ truncateString('Yuriy Brun', 18)}}的其他基金

SHF: Small: Toward Fully Automated Formal Software Verification
SHF:小型:迈向全自动形式软件验证
  • 批准号:
    2210243
  • 财政年份:
    2022
  • 资助金额:
    $ 38.28万
  • 项目类别:
    Standard Grant
SHF: Medium: Fairness in Software Systems
SHF:中:软件系统的公平性
  • 批准号:
    1763423
  • 财政年份:
    2018
  • 资助金额:
    $ 38.28万
  • 项目类别:
    Continuing Grant
EAGER: Exploring the Feasibility of Software Testing Techniques to Evaluate Fairness Algorithms in Software Systems
EAGER:探索软件测试技术评估软件系统公平算法的可行性
  • 批准号:
    1744471
  • 财政年份:
    2017
  • 资助金额:
    $ 38.28万
  • 项目类别:
    Standard Grant
SHF: Medium: Collaborative Research: Semi and Fully Automated Program Repair and Synthesis via Semantic Code Search
SHF:媒介:协作研究:通过语义代码搜索进行半自动化和全自动程序修复和合成
  • 批准号:
    1564162
  • 财政年份:
    2016
  • 资助金额:
    $ 38.28万
  • 项目类别:
    Continuing Grant
CAREER: Improving Software Quality using Dynamically Inferred Models
职业:使用动态推断模型提高软件质量
  • 批准号:
    1453474
  • 财政年份:
    2015
  • 资助金额:
    $ 38.28万
  • 项目类别:
    Continuing Grant
SHF: EAGER: Collaborative Research: Demonstrating the Feasibility of Automatic Program Repair Guided by Semantic Code Search
SHF:EAGER:协作研究:展示语义代码搜索引导的自动程序修复的可行性
  • 批准号:
    1446683
  • 财政年份:
    2014
  • 资助金额:
    $ 38.28万
  • 项目类别:
    Standard Grant
Travel Grant for Future of Software Engineering 2013 Symposium
2013 年软件工程未来研讨会旅费补助
  • 批准号:
    1341994
  • 财政年份:
    2013
  • 资助金额:
    $ 38.28万
  • 项目类别:
    Standard Grant

相似海外基金

TWC SBE: Medium: Collaborative: Brain Hacking: Assessing Psychological and Computational Vulnerabilities in Brain-based Biometrics
TWC SBE:媒介:协作:大脑黑客:评估基于大脑的生物识别技术中的心理和计算漏洞
  • 批准号:
    1840790
  • 财政年份:
    2018
  • 资助金额:
    $ 38.28万
  • 项目类别:
    Continuing Grant
TWC: Medium: Collaborative: Black-Box Evaluation of Cryptographic Entropy at Scale
TWC:媒介:协作:大规模密码熵的黑盒评估
  • 批准号:
    1937622
  • 财政年份:
    2018
  • 资助金额:
    $ 38.28万
  • 项目类别:
    Standard Grant
TWC SBE: Medium: Collaborative: Building a Privacy-Preserving Social Networking Platform from a Technological and Sociological Perspective
TWC SBE:媒介:协作:从技术和社会学角度构建保护隐私的社交网络平台
  • 批准号:
    1855391
  • 财政年份:
    2018
  • 资助金额:
    $ 38.28万
  • 项目类别:
    Standard Grant
TWC: Medium: Collaborative: Systems, Tools, and Techniques for Executing, Managing, and Securing SGX Programs
TWC:媒介:协作:用于执行、管理和保护 SGX 程序的系统、工具和技术
  • 批准号:
    1834213
  • 财政年份:
    2018
  • 资助金额:
    $ 38.28万
  • 项目类别:
    Standard Grant
TWC: Medium: Collaborative: Efficient Repair of Learning Systems via Machine Unlearning
TWC:媒介:协作:通过机器取消学习有效修复学习系统
  • 批准号:
    1854000
  • 财政年份:
    2018
  • 资助金额:
    $ 38.28万
  • 项目类别:
    Standard Grant
TWC: Medium: Collaborative: Seal: Secure Engine for AnaLytics - From Secure Similarity Search to Secure Data Analytics
TWC:媒介:协作:Seal:AnaLytics 的安全引擎 - 从安全相似性搜索到安全数据分析
  • 批准号:
    1929901
  • 财政年份:
    2018
  • 资助金额:
    $ 38.28万
  • 项目类别:
    Standard Grant
TWC: TTP Option: Medium: Collaborative: MALDIVES: Developing a Comprehensive Understanding of Malware Delivery Mechanisms
TWC:TTP 选项:中:协作:马尔代夫:全面了解恶意软件传播机制
  • 批准号:
    1748127
  • 财政年份:
    2017
  • 资助金额:
    $ 38.28万
  • 项目类别:
    Standard Grant
TWC SBE: Medium: Collaborative: Dollars for Hertz: Making Trustworthy Spectrum Sharing Technically and Economically Viable
TWC SBE:媒介:协作:赫兹美元:使值得信赖的频谱共享在技术上和经济上可行
  • 批准号:
    1801986
  • 财政年份:
    2017
  • 资助金额:
    $ 38.28万
  • 项目类别:
    Standard Grant
TWC SBE: Medium: Collaborative: Brain Hacking: Assessing Psychological and Computational Vulnerabilities in Brain-based Biometrics
TWC SBE:媒介:协作:大脑黑客:评估基于大脑的生物识别技术中的心理和计算漏洞
  • 批准号:
    1564104
  • 财政年份:
    2016
  • 资助金额:
    $ 38.28万
  • 项目类别:
    Continuing Grant
TWC: Medium: Collaborative: New Protocols and Systems for RAM-Based Secure Computation
TWC:媒介:协作:基于 RAM 的安全计算的新协议和系统
  • 批准号:
    1562888
  • 财政年份:
    2016
  • 资助金额:
    $ 38.28万
  • 项目类别:
    Standard Grant
{{ showInfoDetail.title }}

作者:{{ showInfoDetail.author }}

知道了