CAREER: Efficient Fuzzing with Neural Program Smoothing
职业:通过神经程序平滑进行高效模糊测试
基本信息
- 批准号:1845995
- 负责人:
- 金额:$ 47.6万
- 依托单位:
- 依托单位国家:美国
- 项目类别:Continuing Grant
- 财政年份:2019
- 资助国家:美国
- 起止时间:2019-05-01 至 2024-04-30
- 项目状态:已结题
- 来源:
- 关键词:
项目摘要
Fuzzing is an automated software testing technique that involves feeding a stream of invalid, unexpected, or rare data as inputs to a computer program for discovering bugs leading to crashes, assertion failures, or memory corruption. Fuzzing is the de facto standard technique for finding software vulnerabilities. However, despite their tremendous promise, popular fuzzers, especially for large programs, often tend to get stuck trying redundant test inputs and struggle to find security vulnerabilities hidden deep into the program logic. To find interesting test inputs, most popular fuzzers use evolutionary algorithms, which start from a set of inputs, apply random mutations and crossovers on these inputs to generate new inputs, and apply a fitness function (e.g., achieved code coverage) to select the most promising new inputs for the next set of mutations. The key insight of this research is that an approach using continuous optimization techniques can do better, by more efficiently using the structure of the underlying functions (e.g., gradients or higher-order derivatives). The key benefit of this approach is that continuous gradient-guided optimization can efficiently generate new promising inputs with a few targeted mutations based on the gradient value and the step size rather than random unguided mutations used in evolutionary techniques. Gradient-guided optimizations have already been shown to significantly outperform evolutionary techniques in popular tasks like training of neural networks. Better fuzzers will significantly improve the security, reliability, and robustness of critical infrastructure software used by billions of users across the world. Data and tools will be made available through open source. Curriculum and training will be developed to disseminate the results. This project will develop a set of novel techniques and tools that will enable fuzzers to fully exploit the power of continuous optimization techniques like gradient descent. One of the key challenges behind applying continuous optimization for fuzzing is that real-world program behaviors often contain many discontinuities and thus are not directly amenable to smooth optimization. Therefore, the target programs must be smoothed before performing continuous optimization. This project will develop a new technique involving surrogate neural networks and graybox instrumentation that will automatically learn smooth approximations of discontinuous program behaviors. This project will further use global optimization schemes like branch-and-bound and cutting plane algorithms to avoid getting stuck at local optima due to the non-convexity of the target program.This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.
Fuzzing是一种自动化软件测试技术,涉及将无效,意外或稀有数据作为输入流,以发现计算机程序,以发现导致崩溃,断言失败或内存损坏的错误。模糊是用于查找软件漏洞的事实上的标准技术。 然而,尽管他们巨大的希望,但流行的模糊器,尤其是对于大型程序,通常会被卡住,试图尝试冗余测试输入,并难以找到隐藏在程序逻辑中的安全漏洞。为了找到有趣的测试输入,大多数流行的模糊器都使用进化算法,这些算法从一组输入开始,在这些输入上应用随机突变和交叉来生成新的输入,并应用健身函数(例如,已实现的代码覆盖率),以选择下一组突变的最有希望的新投入。这项研究的关键见解是,使用连续优化技术的方法可以通过更有效地使用基础功能的结构(例如梯度或高阶导数)来做得更好。 这种方法的关键优势在于,连续梯度引导的优化可以根据梯度值和步长大小而不是进化技术中使用的随机非引导突变,从而有效地产生新的有希望的输入。梯度指导的优化已经显示出在流行任务(例如培训神经网络)中的进化技术明显优于进化技术。更好的模糊器将大大提高全球数十亿用户使用的关键基础架构软件的安全性,可靠性和鲁棒性。数据和工具将通过开源提供。课程和培训将开发以传播结果。该项目将开发一系列新颖的技术和工具,使模糊器能够充分利用连续优化技术(如梯度下降)的力量。将连续优化应用于模糊的关键挑战之一是,现实世界的程序行为通常包含许多不连续性,因此不能直接适合平稳优化。因此,必须在执行连续优化之前对目标程序进行平滑。该项目将开发一种涉及替代神经网络和灰色框架仪器的新技术,该技术将自动学习不连续的程序行为的平滑近似值。该项目将进一步使用全球优化方案,例如分支机构和切割平面算法,以避免由于目标计划的非共同点而陷入本地Optima。该奖项反映了NSF的法定任务,并被认为是值得通过基金会的知识分子优点和更广泛的影响审查标准来通过评估来通过评估来获得支持的。
项目成果
期刊论文数量(0)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)
数据更新时间:{{ journalArticles.updateTime }}
{{
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 }}
Suman Jana其他文献
Accurate Data Race Prediction in the Linux Kernel through Sparse Fourier Learning
通过稀疏傅里叶学习在 Linux 内核中准确预测数据竞争
- DOI:
- 发表时间:
2024 - 期刊:
- 影响因子:0
- 作者:
Gabriel Ryan;Burcu Cetin;Yongwhan Lim;Suman Jana - 通讯作者:
Suman Jana
Mathematical modeling of impulse island controller to safely store the energy from high‐voltage lightning impulse
安全存储高压雷电冲击能量的冲击岛控制器数学模型
- DOI:
10.1002/est2.325 - 发表时间:
2022 - 期刊:
- 影响因子:3.2
- 作者:
Suman Jana;P. Biswas;Chiranjit Sain - 通讯作者:
Chiranjit Sain
Analysis of Realtime Inverter for Kite Energy System Using TI -C2000 Microcontroller
采用TI -C2000微控制器的风筝能源系统实时逆变器分析
- DOI:
10.1109/epetsg.2018.8658970 - 发表时间:
2018 - 期刊:
- 影响因子:0
- 作者:
R. Castelino;Suman Jana;P. Biswas - 通讯作者:
P. Biswas
Integration of supercapacitive storage in renewable energy system to compare the response of two level and five level inverter with RL type load
可再生能源系统中超级电容存储的集成比较二级和五级逆变器与RL型负载的响应
- DOI:
10.1063/1.5032071 - 发表时间:
2018 - 期刊:
- 影响因子:0
- 作者:
Suman Jana;P. Biswas;Upama Das - 通讯作者:
Upama Das
Suman Jana的其他文献
{{
item.title }}
{{ item.translation_title }}
- DOI:
{{ item.doi }} - 发表时间:
{{ item.publish_year }} - 期刊:
- 影响因子:{{ item.factor }}
- 作者:
{{ item.authors }} - 通讯作者:
{{ item.author }}
{{ truncateString('Suman Jana', 18)}}的其他基金
Collaborative Research: SaTC: CORE: Small: Machine Learning for Cybersecurity: Robustness Against Concept Drift
协作研究:SaTC:核心:小型:网络安全机器学习:针对概念漂移的稳健性
- 批准号:
2154874 - 财政年份:2022
- 资助金额:
$ 47.6万 - 项目类别:
Continuing Grant
SaTC: CORE: Medium: Collaborative: Towards Trustworthy Deep Neural Network Based AI: A Systems Approach
SaTC:核心:媒介:协作:迈向基于可信深度神经网络的人工智能:一种系统方法
- 批准号:
1801426 - 财政年份:2018
- 资助金额:
$ 47.6万 - 项目类别:
Standard Grant
TWC: Small: Collaborative: Automated Detection and Repair of Error Handling Bugs in SSL/TLS Implementations
TWC:小:协作:自动检测和修复 SSL/TLS 实现中的错误处理错误
- 批准号:
1617670 - 财政年份:2016
- 资助金额:
$ 47.6万 - 项目类别:
Standard Grant
相似国自然基金
新技术、新商业在非相关领域的溢出影响:高效性、透明性、模糊性、便利性重塑消费者行为
- 批准号:72172059
- 批准年份:2021
- 资助金额:48 万元
- 项目类别:面上项目
面向复杂多样模糊的准确高效图像模糊检测与评估方法
- 批准号:
- 批准年份:2020
- 资助金额:54 万元
- 项目类别:面上项目
模糊随机双层规划的精确建模及高效算法研究
- 批准号:61602010
- 批准年份:2016
- 资助金额:20.0 万元
- 项目类别:青年科学基金项目
高效稳定的流动与传热压力修正算法的构建及推广
- 批准号:51106049
- 批准年份:2011
- 资助金额:26.0 万元
- 项目类别:青年科学基金项目
基于粒计算的海量数据挖掘理论与高效算法研究
- 批准号:60573068
- 批准年份:2005
- 资助金额:23.0 万元
- 项目类别:面上项目
相似海外基金
Recyclable, smart and highly efficient wire-shaped solar cells waved portable/wearable electronics
可回收、智能、高效的线形太阳能电池挥舞着便携式/可穿戴电子产品
- 批准号:
24K15389 - 财政年份:2024
- 资助金额:
$ 47.6万 - 项目类别:
Grant-in-Aid for Scientific Research (C)
Efficient and unbiased estimation in adaptive platform trials
自适应平台试验中的高效且公正的估计
- 批准号:
MR/X030261/1 - 财政年份:2024
- 资助金额:
$ 47.6万 - 项目类别:
Research Grant
Electro-fermentation process design for efficient CO2 conversion into value-added products
电发酵工艺设计可有效地将二氧化碳转化为增值产品
- 批准号:
EP/Y002482/1 - 财政年份:2024
- 资助金额:
$ 47.6万 - 项目类别:
Research Grant
RII Track-4:NSF: HEAL: Heterogeneity-aware Efficient and Adaptive Learning at Clusters and Edges
RII Track-4:NSF:HEAL:集群和边缘的异质性感知高效自适应学习
- 批准号:
2327452 - 财政年份:2024
- 资助金额:
$ 47.6万 - 项目类别:
Standard Grant