SaTC: CORE: Small: Sound Automatic Exploit Generation

SaTC:核心:小:声音自动漏洞利用生成

基本信息

项目摘要

Modern society relies on computer software. Security vulnerabilities in software systems pose a serious threat as vulnerabilities are increasingly exploited to leak users' confidential data, leak computer systems' privileged information, and hijack computer systems to create malicious behaviors, among others. Current techniques for detecting exploitable software vulnerabilities lack a mathematical basis in that they cannot prove soundness of detected exploits or prove the absence of classes of exploits. The project will develop techniques that can establish the presence of a class of memory-related exploitable software vulnerabilities. Thus, if a given software has such vulnerabilities, the project's techniques are guaranteed to detect them. The project targets legacy software systems for which source codes may not be fully available, and therefore targets their binary codes. The project's methodology involves translating the binary code to a model that permits relatively easier reasoning of the code's exploitable vulnerabilities. On such a model, the methodology's algorithms compute initial program values that can result in the code's exploitable vulnerabilities to manifest, if there exist such values. Each step of the methodology is mathematically proven correct in a theorem-prover, a software tool that allows mathematically proving properties of algorithms. The project's techniques will be applied to industrial-strength production software systems to detect exploitable vulnerabilities and thereby demonstrate the techniques' effectiveness. The project's results will be broadly disseminated through publications of the results in the relevant software security literature and open sourcing the project's tool implementations. Security vulnerabilities in software systems pose a serious threat to modern society. Existing techniques for detecting exploitable software vulnerabilities are largely non-formal. That is, current exploit detection techniques do not provably establish the presence of exploits (if they exist). The project's objective is to develop formal techniques and toolchains that can prove the presence of a class of memory corruption-related exploits, and targets legacy (binary) software systems for which source codes may not be fully available. The project formulates exploit detection as a reachability problem: computing initial program states that are provably guaranteed to reach exploitable program states in some execution of the program. The project uses program logic triples, a variant of Hoare Logic triples, that formally defines the relation between the reachability of exploit states and the preconditions which allow them to occur. This relation is then used to compute the search space of preconditions. The project's methodology involves lifting the binary code to a high-level model that is provably over-approximative in that the model subsumes programmer-intended as well as unintended code behaviors. The lifted model is then instrumented with assertions that describe a class of memory corruption-related exploits. Preconditions that populate the search space of exploit states are then computed. The methodology's steps are proven correct in a theorem prover, which enables provably establishing the presence of exploits. The project's toolchain will be applied to industrial-strength production software systems as application case studies. The project's results will be broadly disseminated through publications of the results in the relevant software security literature and open sourcing the project's tool implementations. Additionally, they will be integrated into popular Integrated Development Environments and decompilers, and into a graduate course at Virginia Tech.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.
现代社会依赖于计算机软件。软件系统中的安全漏洞构成严重威胁,因为漏洞越来越多地被利用来泄露用户的机密数据、泄露计算机系统的特权信息以及劫持计算机系统以产生恶意行为等。用于检测可利用的软件漏洞的当前技术缺乏数学基础,因为它们不能证明检测到的利用的可靠性或证明不存在利用的类别。该项目将开发技术,可以确定存在一类与内存相关的可利用软件漏洞。因此,如果一个给定的软件有这样的漏洞,该项目的技术保证检测到它们。该项目针对的是源代码可能无法完全提供的遗留软件系统,因此针对的是其二进制代码。该项目的方法包括将二进制代码转换为一个模型,该模型允许相对更容易地推理代码的可利用漏洞。在这样的模型上,该方法的算法计算初始程序值,如果存在此类值,则这些值可能导致代码的可利用漏洞显现。该方法的每一步都在定理证明器中被数学证明是正确的,定理证明器是一种允许数学证明算法属性的软件工具。该项目的技术将应用于工业强度的生产软件系统,以检测可利用的漏洞,从而证明该技术的有效性。该项目的成果将通过在相关软件安全文献中公布成果和开放该项目工具实施的来源而得到广泛传播。软件系统中的安全漏洞对现代社会构成严重威胁。用于检测可利用的软件漏洞的现有技术在很大程度上是非正式的。也就是说,当前的漏洞利用检测技术不能证明漏洞利用的存在(如果它们存在的话)。该项目的目标是开发正式的技术和工具链,可以证明存在一类内存损坏相关的漏洞,并针对源代码可能无法完全提供的遗留(二进制)软件系统。该项目将漏洞利用检测制定为可达性问题:计算可证明保证在程序的某些执行中达到可利用程序状态的初始程序状态。该项目使用程序逻辑三元组,Hoare逻辑三元组的变体,正式定义了利用状态的可达性和允许它们发生的先决条件之间的关系。然后,这个关系被用来计算前提条件的搜索空间。该项目的方法包括将二进制代码提升到一个高级模型,该模型可证明是过度近似的,因为该模型包含程序员预期的和非预期的代码行为。然后,使用描述一类与内存损坏相关的漏洞的断言对提升的模型进行仪表化。然后计算填充利用状态的搜索空间的前提条件。该方法的步骤在定理证明器中被证明是正确的,这使得可以证明地建立漏洞的存在。该项目的工具链将作为应用案例研究应用于工业强度的生产软件系统。该项目的成果将通过在相关软件安全文献中公布成果和开放该项目工具实施的来源而得到广泛传播。此外,它们将被集成到流行的集成开发环境和反编译器中,并被集成到弗吉尼亚理工大学的研究生课程中。该奖项反映了NSF的法定使命,并被认为值得通过使用基金会的知识价值和更广泛的影响审查标准进行评估来支持。

项目成果

期刊论文数量(1)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)
Low-Level Reachability Analysis Based on Formal Logic
基于形式逻辑的低层可达性分析
  • DOI:
  • 发表时间:
    2023
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Naus, Nico;Verbeek, Freek;Schoolderman, Marc;Ravindran, Binoy
  • 通讯作者:
    Ravindran, Binoy
{{ 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 }}

Binoy Ravindran其他文献

Resource Management Middleware for Dynamic, Dependable Real-Time Systems
  • DOI:
    10.1023/a:1008141921230
  • 发表时间:
    2001-01-01
  • 期刊:
  • 影响因子:
    1.300
  • 作者:
    Binoy Ravindran;Lonnie Welch;Behrooz Shirazi
  • 通讯作者:
    Behrooz Shirazi
An Automatic Presence Service for Low Duty-Cycled Mobile Sensor Networks
  • DOI:
    10.1007/s11036-011-0326-2
  • 发表时间:
    2011-06-18
  • 期刊:
  • 影响因子:
    2.000
  • 作者:
    Shouwen Lai;Binoy Ravindran
  • 通讯作者:
    Binoy Ravindran
On scheduling garbage collector in dynamic real-time systems with statistical timing assurances
  • DOI:
    10.1007/s11241-006-9011-0
  • 发表时间:
    2007-04-15
  • 期刊:
  • 影响因子:
    1.300
  • 作者:
    Hyeonjoong Cho;Chewoo Na;Binoy Ravindran;E. Douglas Jensen
  • 通讯作者:
    E. Douglas Jensen

Binoy Ravindran的其他文献

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

{{ truncateString('Binoy Ravindran', 18)}}的其他基金

CNS Core: Small: Rethinking Runtime Software Security Hardening in the Context of Hybrid Instruction Set Architecture
CNS 核心:小型:重新思考混合指令集架构背景下的运行时软件安全强化
  • 批准号:
    2127491
  • 财政年份:
    2021
  • 资助金额:
    $ 60万
  • 项目类别:
    Standard Grant
CSR: Small: Scalable Transactional Replication: Theory, Protocols, and Middleware Systems
CSR:小型:可扩展事务复制:理论、协议和中间件系统
  • 批准号:
    1523558
  • 财政年份:
    2015
  • 资助金额:
    $ 60万
  • 项目类别:
    Standard Grant
CSR: Small: Fault-Tolerant Distributed Software Transactional Memory: Theory, Protocols, and Java Package
CSR:小型:容错分布式软件事务内存:理论、协议和 Java 包
  • 批准号:
    1217385
  • 财政年份:
    2012
  • 资助金额:
    $ 60万
  • 项目类别:
    Standard Grant
CSR: Small: Nested Distributed Software Transactional Memory: Protocols, Mechanisms, and Java Package
CSR:小型:嵌套分布式软件事务内存:协议、机制和 Java 包
  • 批准号:
    1116190
  • 财政年份:
    2011
  • 资助金额:
    $ 60万
  • 项目类别:
    Standard Grant
SHF:Small: Scalable Synchronization for Distributed Embedded Real-Time Systems
SHF:Small:分布式嵌入式实时系统的可扩展同步
  • 批准号:
    0915895
  • 财政年份:
    2009
  • 资助金额:
    $ 60万
  • 项目类别:
    Continuing Grant

相似国自然基金

胆固醇羟化酶CH25H非酶活依赖性促进乙型肝炎病毒蛋白Core及Pre-core降解的分子机制研究
  • 批准号:
    82371765
  • 批准年份:
    2023
  • 资助金额:
    50 万元
  • 项目类别:
    面上项目
锕系元素5f-in-core的GTH赝势和基组的开发
  • 批准号:
    22303037
  • 批准年份:
    2023
  • 资助金额:
    30 万元
  • 项目类别:
    青年科学基金项目
基于合成致死策略搭建Core-matched前药共组装体克服肿瘤耐药的机制研究
  • 批准号:
  • 批准年份:
    2022
  • 资助金额:
    52 万元
  • 项目类别:
鼠伤寒沙门氏菌LPS core经由CD209/SphK1促进树突状细胞迁移加重炎症性肠病的机制研究
  • 批准号:
  • 批准年份:
    2022
  • 资助金额:
    30 万元
  • 项目类别:
    青年科学基金项目
肌营养不良蛋白聚糖Core M3型甘露糖肽的精确制备及功能探索
  • 批准号:
    92053110
  • 批准年份:
    2020
  • 资助金额:
    70.0 万元
  • 项目类别:
    重大研究计划
Core-1-O型聚糖黏蛋白缺陷诱导胃炎发生并介导慢性胃炎向胃癌转化的分子机制研究
  • 批准号:
    81902805
  • 批准年份:
    2019
  • 资助金额:
    20.5 万元
  • 项目类别:
    青年科学基金项目
原始地球增生晚期的Core-merging大碰撞事件:地核增生、核幔平衡与核幔边界结构的新认识
  • 批准号:
    41973063
  • 批准年份:
    2019
  • 资助金额:
    65.0 万元
  • 项目类别:
    面上项目
RBM38通过协助Pol-ε结合、招募core调控HBV复制
  • 批准号:
    31900138
  • 批准年份:
    2019
  • 资助金额:
    24.0 万元
  • 项目类别:
    青年科学基金项目
CORDEX-CORE区域气候模拟与预估研讨会
  • 批准号:
    41981240365
  • 批准年份:
    2019
  • 资助金额:
    1.5 万元
  • 项目类别:
    国际(地区)合作与交流项目

相似海外基金

SaTC: CORE: Small: An evaluation framework and methodology to streamline Hardware Performance Counters as the next-generation malware detection system
SaTC:核心:小型:简化硬件性能计数器作为下一代恶意软件检测系统的评估框架和方法
  • 批准号:
    2327427
  • 财政年份:
    2024
  • 资助金额:
    $ 60万
  • 项目类别:
    Continuing Grant
Collaborative Research: NSF-BSF: SaTC: CORE: Small: Detecting malware with machine learning models efficiently and reliably
协作研究:NSF-BSF:SaTC:核心:小型:利用机器学习模型高效可靠地检测恶意软件
  • 批准号:
    2338301
  • 财政年份:
    2024
  • 资助金额:
    $ 60万
  • 项目类别:
    Continuing Grant
Collaborative Research: NSF-BSF: SaTC: CORE: Small: Detecting malware with machine learning models efficiently and reliably
协作研究:NSF-BSF:SaTC:核心:小型:利用机器学习模型高效可靠地检测恶意软件
  • 批准号:
    2338302
  • 财政年份:
    2024
  • 资助金额:
    $ 60万
  • 项目类别:
    Continuing Grant
SaTC: CORE: Small: NSF-DST: Understanding Network Structure and Communication for Supporting Information Authenticity
SaTC:核心:小型:NSF-DST:了解支持信息真实性的网络结构和通信
  • 批准号:
    2343387
  • 财政年份:
    2024
  • 资助金额:
    $ 60万
  • 项目类别:
    Standard Grant
NSF-NSERC: SaTC: CORE: Small: Managing Risks of AI-generated Code in the Software Supply Chain
NSF-NSERC:SaTC:核心:小型:管理软件供应链中人工智能生成代码的风险
  • 批准号:
    2341206
  • 财政年份:
    2024
  • 资助金额:
    $ 60万
  • 项目类别:
    Standard Grant
Collaborative Research: SaTC: CORE: Small: Towards Secure and Trustworthy Tree Models
协作研究:SaTC:核心:小型:迈向安全可信的树模型
  • 批准号:
    2413046
  • 财政年份:
    2024
  • 资助金额:
    $ 60万
  • 项目类别:
    Standard Grant
SaTC: CORE: Small: Socio-Technical Approaches for Securing Cyber-Physical Systems from False Claim Attacks
SaTC:核心:小型:保护网络物理系统免受虚假声明攻击的社会技术方法
  • 批准号:
    2310470
  • 财政年份:
    2023
  • 资助金额:
    $ 60万
  • 项目类别:
    Standard Grant
SaTC: CORE: Small: Study, Detection and Containment of Influence Campaigns
SaTC:核心:小型:影响力活动的研究、检测和遏制
  • 批准号:
    2321649
  • 财政年份:
    2023
  • 资助金额:
    $ 60万
  • 项目类别:
    Standard Grant
Collaborative Research: SaTC: CORE: Small: Investigation of Naming Space Hijacking Threat and Its Defense
协作研究:SaTC:核心:小型:命名空间劫持威胁及其防御的调查
  • 批准号:
    2317830
  • 财政年份:
    2023
  • 资助金额:
    $ 60万
  • 项目类别:
    Continuing Grant
Collaborative Research: SaTC: CORE: Small: Towards a Privacy-Preserving Framework for Research on Private, Encrypted Social Networks
协作研究:SaTC:核心:小型:针对私有加密社交网络研究的隐私保护框架
  • 批准号:
    2318843
  • 财政年份:
    2023
  • 资助金额:
    $ 60万
  • 项目类别:
    Continuing Grant
{{ showInfoDetail.title }}

作者:{{ showInfoDetail.author }}

知道了