我们提出了Homi,这是一种通过仅维持少数有前途的状态来增强符号执行的新技术。实际上,符号执行通常在担心失去重要状态的情况下保持尽可能多的状态。在本文中,我们表明,只有一小部分国家在增加代码覆盖范围或达到错误点方面起着重要作用。基于这一观察结果,Homi旨在最大程度地减少状态总数,同时在符号执行过程中保持有前途的状态。我们通过一种学习算法来确定有希望的状态,该算法根据测试过程中积累的数据不断更新概率修剪策略。实验结果表明,HOMI大大增加了代码覆盖范围以及在开源C程序中查找Klee的错误的能力。
Wu-chang Feng 开发了夺旗 (CTF) 游戏和代码实验室,用于教授 Web 应用程序开发、云安全、区块链漏洞、逆向工程、模糊测试和符号执行。Fang Song 研究后量子密码学(保护现有密码系统免受量子攻击)和量子密码学(通过量子信息实现新功能)、量子算法、计算复杂性和理论计算机科学。Charles Wright 专注于系统安全和应用密码学,包括高效加密数据库的技术以及在执法部门需要访问加密数据时最大程度保护隐私的技术。
human path prediction experiments with realistic perception, contributing a novel error correction module • Leveraged Unity for scene recreation and deep generative modeling for multi-modal, variational predictions TrajAir Aug 2021 – May 2022 • Researched machine learning methods for predicting aircraft trajectories in non-towered airspaces • Utilized clustering and vector field methods to capture movement patterns and infer pilot intent University of密歇根州EFES实验室|密歇根州安阿伯,2019年9月 - 2020年5月•设计和构建了一个系统,可以通过使用符号执行来查找应用程序中的持续记忆错误•在Oracle的NVM直接框架上进行LED调查和实验,发现和报告23个新错误专业经验stack AV |宾夕法尼亚州匹兹堡,2024年3月 - 2024年8月研究软件工程师实习生
我们介绍了使用各种实现技术和语言构建的裸机服务器的验证,该技术根据机器代码,网络数据包和椭圆形曲线密码学的数学规范来针对全系统输入输出规范。我们在整个堆栈中使用了非常不同的形式性技术,范围从计算机代数,符号执行和验证条件生成到对功能程序的交互式验证,包括用于C类和功能性语言的编译器。所有这些组件规格和特定于领域的推理技术都是针对COQ证明助手中常见的基础定义和合理的。连接这些组件是一种基于功能程序和简单对象的断言,无所不知的程序执行和基本分离逻辑,用于内存布局。此设计使我们能够将组件以最高级别的正确性定理汇总在一起,而无需理解或信任内部接口和工具而可以进行审核。我们的案例研究是一款简单的加密服务器,用于通过公开验证的网络消息翻转一些状态,其证明显示了总功能正确性,包括内存使用方面的静态界限。本文还描述了我们使用的特定验证工具的经验,以及对我们经历的工具和任务组合之间经历的生产力差异的原因的详细分析。
可满足性模理论 (SMT) 求解器是许多技术的核心引擎,例如符号执行。因此,确保 SMT 求解器的稳健性和正确性至关重要。虽然模糊测试是一种确保 SMT 求解器质量的有效方法,但我们观察到之前的模糊测试工作仅侧重于生成各种一阶公式作为输入,而忽略了 SMT 求解器的算法配置空间,这导致许多深藏不露的错误未被及时报告。在本文中,我们提出了 Falcon,一种同时探索公式空间和配置空间的模糊测试技术。将这两个空间结合起来会显著扩大搜索空间,使有效检测错误变得更加困难。我们通过利用两个空间之间的相关性来减少搜索空间,并引入自适应变异策略来提高搜索效率,从而解决了这个问题。经过六个月的广泛测试,Falcon 在两款最先进的 SMT 求解器 CVC4 和 Z3 中发现了 518 个已确认的错误,其中 469 个已经修复。与两款最先进的模糊测试器相比,Falcon 在 24 小时的测试中检测到了 38 个和 44 个以上的错误,并且覆盖率大幅提高。
软件Main Developper我在博士学位期间开发的工具及其实验评估都是在GitHub上开源的。binsec/rel:密码恒定时和秘密射击的二进制级符号分析仪。对308个Cryprograper二进制的实验评估。可在以下网址提供:https://github.com/binsec/rel和https://github.com/binsec/rel_bench binsec/haunted:二进制分析仪:检测Spectre-Pht和Spectre-Spectre-Stl漏洞。对小测试用例和5个加密原始物的实验评估。可用:https://github.com/binsec/haunted和https://github.com/binsec/binsec/haunted_bench properties vs.编译器:可扩展的框架,以检查多个编译器设置中恒定时间和秘密的保存。应用:分析恒定时间的总计4148个二进制文件和1156个二进制文件用于秘密呼吸。可在以下网址提供:https://github.com/binsec/rel_bench/tree/main/main/properties_vs_compilers spectre-stl litmus测试:一组由社区重复使用的Spectre-Spectre-stl的小测试用例。可在以下网址提供:https://github.com/binsec/haunted_bench/blob/master/src/src/litmus-stl/programs/spectrev4.c贡献者proteus:可扩展的RISC-V CPU用于硬件安全功能开发。特别是,我为潜在安全性扩展提供了贡献,该扩展为恒定时间程序提供了安全的推测。proteus可从https://github.com/proteus-core and Prospect提供,请访问https://github.com/proteus-core/prospect pandora:符号执行工具,用于验证Intel SGX Enclave Shielt runtimes。可在以下网址提供:https://github.com/pandora-tee加密基准:统一基准测试以比较