FMitF: Track II: Automated Verification for Assembly Implementations of Cryptography Libraries

FMITF:轨道 II:密码库汇编实现的自动验证

基本信息

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

项目摘要

Mainstream libraries for cryptography, like OpenSSL and BoringSSL, contain several thousand lines of manually optimized assembly code for high performance. Bugs in these systems are unfortunately somewhat common. This project develops techniques and a tool, CASM-Verify, to automatically check the equivalence of highly optimized assembly implementations of cryptographic algorithms against unoptimized reference versions of these algorithms in order to ensure that bugs are not introduced during the optimization process. The project's novelty is in decomposing the equivalence checking problem into several small sub-problems using a combination of concrete and symbolic evaluation. The project aims to improve the assurance of widely used cryptography libraries with usable equivalence checking tools. The project also will educate graduate and undergraduate students and practitioners on various formal tools and techniques.The software developed as part of this project takes a given a reference and an optimized implementation, and concretely execute the two implementations on randomly generated inputs and identifies likely equivalent variables. Subsequently, it uses symbolic verification using satisfiability modulo theory solvers to determine whether the identified variables are indeed equivalent. Further, it decomposes the original query into small sub-queries using a collection of optimizations for memory accesses. To enable the usage of these ideas by mainstream developers, this project explores the following directions: (1) support Qhasm and Jasmin languages for high-speed cryptography, (2) support reasoning about large integer arithmetic, and (3) verify constant-time properties of assembly implementations.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.
主流密码学库,如OpenSSL和BoringSSL,包含数千行手动优化的汇编代码,以实现高性能。不幸的是,这些系统中的错误在某种程度上是常见的。该项目开发了技术和工具CASM-Verify,以自动检查高度优化的加密算法汇编实现与这些算法的未优化参考版本的等价性,以确保在优化过程中不会引入错误。该项目的创新之处在于使用具体和符号评估的组合将等价性检查问题分解为几个小的子问题。该项目旨在通过可用的等价性检查工具来提高广泛使用的密码库的安全性。该项目还将对研究生、本科生和实践者进行各种形式工具和技术的教育。作为该项目的一部分开发的软件采用给定的参考和优化的实现,并在随机生成的输入上具体执行这两个实现,并确定可能的等价变量。随后,它使用符号验证使用可满足性模理论求解器来确定识别的变量是否确实等价。此外,它使用一组针对内存访问的优化将原始查询分解为较小的子查询。为了使主流开发人员能够使用这些想法,该项目探索了以下方向:(1)支持用于高速密码学的Qhasm和Jasmin语言,(2)支持关于大整数算术的推理,以及(3)验证汇编实现的常量时间属性。该奖项反映了NSF的法定使命,并通过使用基金会的智力优势和更广泛的影响审查标准进行评估,被认为值得支持。

项目成果

期刊论文数量(6)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)
Approximating trigonometric functions for posits using the CORDIC method
使用 CORDIC 方法近似三角函数
Parallel Shadow Execution to Accelerate the Debugging of Numerical Errors
并行影子执行加速数值错误的调试
One polynomial approximation to produce correctly rounded results of an elementary function for multiple representations and rounding modes
Debugging and detecting numerical errors in computation with posits
An approach to generate correctly rounded math libraries for new floating point variants
  • DOI:
    10.1145/3434310
  • 发表时间:
    2021-01
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Jay P. Lim;Mridul Aanjaneya;John L. Gustafson;Santosh Nagarakatte
  • 通讯作者:
    Jay P. Lim;Mridul Aanjaneya;John L. Gustafson;Santosh Nagarakatte
{{ 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 }}

Santosh Nagarakatte其他文献

Termination-Checking for LLVM Peephole Optimizations
LLVM 窥孔优化的终止检查
Alive-FP: Automated Verification of Floating Point Based Peephole Optimizations in LLVM
Alive-FP:LLVM 中基于浮点的窥孔优化的自动验证
  • DOI:
  • 发表时间:
    2016
  • 期刊:
  • 影响因子:
    0
  • 作者:
    David Menendez;Santosh Nagarakatte;Aarti Gupta
  • 通讯作者:
    Aarti Gupta
On-the-fly Data Race Detection with the Enhanced OpenMP Series-Parallel Graph
使用增强型 OpenMP 系列并行图进行动态数据竞争检测
  • DOI:
  • 发表时间:
    2020
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Nader Boushehrinejadmoradi;Adarsh Yoga;Santosh Nagarakatte
  • 通讯作者:
    Santosh Nagarakatte
Alive-Infer: data-driven precondition inference for peephole optimizations in LLVM
Alive-Infer:LLVM 中窥孔优化的数据驱动前提条件推理
Hardware-Enforced Comprehensive Memory Safety
硬件强制的全面内存安全
  • DOI:
  • 发表时间:
    2013
  • 期刊:
  • 影响因子:
    3.6
  • 作者:
    Santosh Nagarakatte;Milo M. K. Martin;Steve Zdancewic
  • 通讯作者:
    Steve Zdancewic

Santosh Nagarakatte的其他文献

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

{{ truncateString('Santosh Nagarakatte', 18)}}的其他基金

Collaborative Research: DOE/NSF Workshop on Correctness in Scientific Computing
合作研究:DOE/NSF 科学计算正确性研讨会
  • 批准号:
    2319661
  • 财政年份:
    2023
  • 资助金额:
    $ 10万
  • 项目类别:
    Standard Grant
SHF:Small:Techniques for Generating Correctly Rounded Math Libraries
SHF:Small:生成正确舍入的数学库的技术
  • 批准号:
    2110861
  • 财政年份:
    2021
  • 资助金额:
    $ 10万
  • 项目类别:
    Standard Grant
SHF: Small: Formalisms, Implementations, and Verification Procedures for Alternatives to Floating Point
SHF:小:浮点替代方案的形式主义、实现和验证程序
  • 批准号:
    1908798
  • 财政年份:
    2019
  • 资助金额:
    $ 10万
  • 项目类别:
    Standard Grant
CAREER: Semantics, Abstractions, and Tools for a Pragmatic Verified LLVM Compiler
职业:经过验证的实用 LLVM 编译器的语义、抽象和工具
  • 批准号:
    1453086
  • 财政年份:
    2015
  • 资助金额:
    $ 10万
  • 项目类别:
    Continuing Grant
PLDI 2015 Travel Support
PLDI 2015 旅行支持
  • 批准号:
    1538838
  • 财政年份:
    2015
  • 资助金额:
    $ 10万
  • 项目类别:
    Standard Grant
PLDI 2014 Travel Support
PLDI 2014 旅行支持
  • 批准号:
    1430129
  • 财政年份:
    2014
  • 资助金额:
    $ 10万
  • 项目类别:
    Standard Grant
SaTC: Hardware-Assisted Methods for Operating System Integrity
SaTC:操作系统完整性的硬件辅助方法
  • 批准号:
    1441724
  • 财政年份:
    2014
  • 资助金额:
    $ 10万
  • 项目类别:
    Standard Grant

相似国自然基金

离散动力系统余维 3 退化的强共振分岔理论
  • 批准号:
  • 批准年份:
    2025
  • 资助金额:
    0.0 万元
  • 项目类别:
    省市级项目
低轨道星间激光通信光纤放大器
  • 批准号:
  • 批准年份:
    2025
  • 资助金额:
    0.0 万元
  • 项目类别:
    省市级项目
温度与徐变耦合作用下无砟轨道-简支梁体系变形演化机理与预测
  • 批准号:
    QN25E080047
  • 批准年份:
    2025
  • 资助金额:
    0.0 万元
  • 项目类别:
    省市级项目
城轨交通弹性车轮研制及应用
  • 批准号:
    2025JK2070
  • 批准年份:
    2025
  • 资助金额:
    0.0 万元
  • 项目类别:
    省市级项目
面向轨道交通智能监测系统的低频能量收集技术研究
  • 批准号:
  • 批准年份:
    2025
  • 资助金额:
    0.0 万元
  • 项目类别:
    省市级项目
少样本条件下基于声发射的道岔区轨道 损伤识别研究
  • 批准号:
  • 批准年份:
    2025
  • 资助金额:
    10.0 万元
  • 项目类别:
    省市级项目
3D打印在轨道交通装备阀体绝缘件制造中的应用研究
  • 批准号:
  • 批准年份:
    2025
  • 资助金额:
    0.0 万元
  • 项目类别:
    省市级项目
轨道车辆智能维保机器人系统的开发与应用研究
  • 批准号:
  • 批准年份:
    2025
  • 资助金额:
    0.0 万元
  • 项目类别:
    省市级项目
拟声子晶体沥青混合料在轨道结构中的耦合减振机理与调控技术研究
  • 批准号:
  • 批准年份:
    2025
  • 资助金额:
    0.0 万元
  • 项目类别:
    省市级项目
轨道振动能量驱动的钢轨波磨自感知监测与演变规律研究
  • 批准号:
  • 批准年份:
    2025
  • 资助金额:
    0.0 万元
  • 项目类别:
    省市级项目

相似海外基金

FMitF: Track II: Educating Developers about Ownership in Rust
FMITF:轨道 II:对开发人员进行 Rust 所有权教育
  • 批准号:
    2319014
  • 财政年份:
    2023
  • 资助金额:
    $ 10万
  • 项目类别:
    Standard Grant
FMitF: Track II: SMT-Based Reachability Analyzer of NGAC Policies
FMitF:轨道 II:NGAC 策略的基于 SMT 的可达性分析器
  • 批准号:
    2318891
  • 财政年份:
    2023
  • 资助金额:
    $ 10万
  • 项目类别:
    Standard Grant
Collaborative Research: FMitF: Track II: Cross-Language Support for Runtime Verification
合作研究:FMitF:轨道 II:运行时验证的跨语言支持
  • 批准号:
    2319473
  • 财政年份:
    2023
  • 资助金额:
    $ 10万
  • 项目类别:
    Standard Grant
FMitF: Track II: Bringing Verification-Aware Languages and Federated Authentication to Enable Secure Computing for Scientific Communities
FMITF:轨道 II:引入验证感知语言和联合身份验证,为科学界提供安全计算
  • 批准号:
    2319190
  • 财政年份:
    2023
  • 资助金额:
    $ 10万
  • 项目类别:
    Standard Grant
FMitF: Track II: Cybolic: a symbolic execution technique and tool for analyzing CMake build scripts
FMITF:轨道 II:Cybolic:用于分析 CMake 构建脚本的符号执行技术和工具
  • 批准号:
    2319131
  • 财政年份:
    2023
  • 资助金额:
    $ 10万
  • 项目类别:
    Standard Grant
Collaborative Research: FMitF: Track II: Cross-Language Support for Runtime Verification
合作研究:FMitF:轨道 II:运行时验证的跨语言支持
  • 批准号:
    2319472
  • 财政年份:
    2023
  • 资助金额:
    $ 10万
  • 项目类别:
    Standard Grant
Collaborative Research: FMitF: Track II: Enhancing the Neural Network Verification (NNV) Tool for Industrial Applications
合作研究:FMitF:轨道 II:增强工业应用的神经网络验证 (NNV) 工具
  • 批准号:
    2220418
  • 财政年份:
    2022
  • 资助金额:
    $ 10万
  • 项目类别:
    Standard Grant
Collaborative Research: FMitF: Track II: Enhancing the Neural Network Verification (NNV) Tool for Industrial Applications
合作研究:FMitF:轨道 II:增强工业应用的神经网络验证 (NNV) 工具
  • 批准号:
    2220426
  • 财政年份:
    2022
  • 资助金额:
    $ 10万
  • 项目类别:
    Standard Grant
FMitF: Track II: Usability, Scalability, and Deployment Improvement of VerioT
FMITF:轨道 II:VerioT 的可用性、可扩展性和部署改进
  • 批准号:
    2124225
  • 财政年份:
    2021
  • 资助金额:
    $ 10万
  • 项目类别:
    Standard Grant
FmitF: Track II: KeenEye: Enhancing Scenario Exploration
FmitF:轨道 II:KeenEye:增强场景探索
  • 批准号:
    2123341
  • 财政年份:
    2021
  • 资助金额:
    $ 10万
  • 项目类别:
    Standard Grant
{{ showInfoDetail.title }}

作者:{{ showInfoDetail.author }}

知道了