软件系统安全保障小组工作开源汇总


为了更好地进行学术同行交流,小组近期整理开源了32项无合作方限制的研究成果工具代码,涵盖了协议测试、数据库测试、区块链系统测试、浏览器测试、恶意软件检测、系统及应用防护、操作系统测试、深度学习系统测试、应用模糊测试等多个领域。

以下是项目的简介:

协议模糊测试

1. Polar

一个能够自动化抽取协议中的功能码等关键信息,并将其充分利用于模糊测试,加速模糊测试进程并有效提升代码覆盖率和漏洞检测效率的通用的模糊测试框架。

项目链接:https://github.com/THU-WingTecher/Polar

相关论文:

  • Polar: Function Code Aware Fuzz Testing of ICS Protocol (EMSOFT 2019 Best paper candidate) [PDF]

 

2. Peach*

该工作从工业控制网络协议的特点出发,提出了将代码覆盖率引入Peach并以此为导向进行种子选取和拆分,进而改进Peach生成策略的思想。

项目链接:https://github.com/THU-WingTecher/PeachStar

相关论文:

  • ICS Protocol Fuzzing: Coverage Guided Packet Crack and Generation (DAC 2020) [PDF]

 

3. Charon

该工作提出了跨状态指导的工控协议模糊策略,同时利用轻量级的程序状态推断技术,避免了在协议模糊测试时的频繁重启,改善了针对工控协议的模糊测试效率。

项目链接:https://github.com/THU-WingTecher/Charon

相关论文:

  • Vulnerability Detection of ICS Protocols Via Cross-State Fuzzing(EMSOFT 2022)[PDF]

 

数据库模糊测试

4. Sedar

一种通过跨数据库的测例迁移来获取数据库模糊测试的高质量初始种子的方法。

项目链接:https://github.com/THU-WingTecher/Sedar

相关论文:

  • Sedar: Obtaining High-Quality Seeds for DBMS Fuzzing via Cross-DBMS SQL Transfer (ICSE 2023) [PDF]

 

区块链/分布式系统测试️

5. CLFuzz

一个语义感知的密码算法模糊测试工具。CLFuzz可以自动化地提取密码算法相关的语义信息,包括输入数据规范约束和被测算法函数签名等,并据此生成的高质量测试输入。

项目链接:https://github.com/THU-WingTecher/CLFuzz

相关论文:

  • CLFuzz: Vulnerability Detection of Cryptographic Algorithm Implementation via Semantic-Aware Fuzzing (TOSEM 2023) [PDF]

 

6. Tokeer

一个基于datalog分析引擎检测ERC合约后门风险与智能合约中的Rug Pull风险的工具。

项目链接:https://github.com/THU-WingTecher/Tokeer

相关论文:

  • Stop Pulling my Rug: Exposing Rug Pull Risks in Crypto Token to Investors (ICSE 2024) [PDF]
  • Pied-Piper: Revealing the Backdoor Threats in Ethereum ERC Token Contracts (TOSEM 2022) [PDF]

 

7. LOKI

该工作基于4种新的共识失败漏洞的检测oracle,检测伪装节点的区块链共识协议漏洞。

项目链接:https://github.com/THU-WingTecher/LOKI

相关论文:

  • LOKI: State-Aware Fuzzing Framework for the Implementation of Blockchain Consensus Protocols (NDSS 2023) [PDF]
  • Tyr: Finding Consensus Failure Bugs in Blockchain System with Behaviour Divergent Model (S&P 2023) [PDF]

 

8. Phoenix

一款面向区块链系统的混沌测试和复现的框架。

项目链接:https://github.com/THU-WingTecher/Phoenix

相关论文:

  • Phoenix: Detect and Locate Resilience Issues in Blockchain via Context-Sensitive Chaos (CCS 2023) [PDF]

 

9. Pluto

一种针对跨合约场景下的区块链智能合约漏洞检测工具。

项目链接:https://github.com/THU-WingTecher/Pluto

相关论文:

  • Pluto: Exposing Vulnerabilities in Inter-Contract Scenarios (TSE 2021) [PDF]

 

10. SCStudio

一个智能合约集成开发测试环境,从基于安全加固的代码推荐和基于集成测试的漏洞扫描两个角度出发保障合约安全。

项目链接:https://github.com/THU-WingTecher/SCStudio

相关论文:

  • Making Smart Contract Development More Secure and Easier (ESEC/FSE 2021) [PDF]
  • SCStudio: A Secure and Efficient Integrated Development Environment for Smart Contracts (ISSTA 2021 demo) [PDF]

 

11. EVMFuzzer

一个针对以太坊虚拟机(EVM)的缺陷挖掘工具。

项目链接:https://github.com/THU-WingTecher/EVMFuzzer

相关论文:

  • EVMFuzzer: Detect EVM Vulnerabilities via Fuzz Testing (FSE 2019 demo) [PDF]

 

浏览器模糊测试

12. Minerva

通过利用API干扰关系来检测浏览器API错误,以减少冗余并提高覆盖浏览器模糊测试工具。

项目链接:https://github.com/THU-WingTecher/SaGe-Browser-Fuzzer

相关论文:

  • Minerva: Browser API Fuzzing with Dynamic Mod-Ref Analysis (ESEC/FSE 2022 Distinguished paper award) [PDF]

 

13. SaGe

从W3C规范中抽取出完整的上下文无关文法,从而生成高质量测试用例的浏览器测试工具。

项目链接:https://github.com/THU-WingTecher/Minerva

相关论文:

  • Towards Better Semantics Exploration for Browser Fuzzing (OOPSLA 2023) [PDF]

 

恶意软件检测

14. Animagus

一种基于模仿的勒索软件攻击,以帮助现有的检测技术认识到其特征工程的局限性并帮助提升它们的检测策略。

项目链接:https://github.com/THU-WingTecher/Animagus

相关论文:

  • Limits of I/O Based Ransomware Detection: An Imitation Based Attack (S&P 2023) [PDF]

 

15. MarauderMap

这个工作系统性地分析了勒索软件对计算机设备用户空间和系统空间数据的破坏手法和影响范围。

项目链接:https://github.com/THU-WingTecher/MarauderMap

相关论文:

  • An Empirical Study of Data Disruption by Ransomware Attacks (ICSE 2024) [PDF]

 

系统及应用防护

16. DynBox

一个针对程序系调用权限的动态紧缩工具。

项目链接:https://github.com/THU-WingTecher/DynBox

相关论文:

  • Building Dynamic System Call Sandbox with Partial Order Analysis (OOPSLA 2023) [PDF]

 

17. DeseriGuard

该工作针对JAVA程序上的反序列化攻击提出了一种新的防护技术,来帮助开发者更好地防护他们的应用程序。

项目链接:https://github.com/THU-WingTecher/DeseriGuard

相关论文:

  • Automatic Policy Synthesis and Enforcement for Protecting Untrusted Deserialization (NDSS 2023) [PDF]

 

操作系统模糊测试

18. Rtkaller

该工作针对实时操作系统的模糊测试优化展开研究,根据实时操作系统注重调度能力和实时性的特点,提出一个增强的实时操作系统漏洞检测工具。

项目链接:https://github.com/THU-WingTecher/Rtkaller

相关论文:

  • State-aware Task Generation for RTOS Fuzzing (EMSOFT 2021) [PDF]

 

19. Horus

通过宿主机端通过固定stub结构体和快速传输方法,绕过原有的传输机制从而直接读写虚拟机内的相关数据,从而大幅度提高访问效率,降低运行时开销,并相应地提高内核模糊测试性能。

项目链接:(WIP) https://github.com/THU-WingTecher/Horus

相关论文:

  • Horus: Accelerating Kernel Fuzzing Through Efficient Host-VM Memory Access Procedures (TOSEM 2023) [PDF]

 

20. Healer

该工作提出动态关系学习算法来提取任意两个系统调用之间的影响关系,并使用学习到的影响关系来引导调用序列的生成和变异,从而提高生成输入的质量、加速内核模糊测试。

项目链接:https://github.com/THU-WingTecher/healer

相关论文:

  • HEALER: Relation Learning Guided Kernel Fuzzing (SOSP 2021) [PDF]

 

21. Saturn

一种 Host 和 Gadget 侧协同作用的 USB 驱动模糊测试工具。

项目链接:https://github.com/THU-WingTecher/Saturn

相关论文:

  • Saturn: Host-Gadget Synergistic USB Driver Fuzzing (S&P 2023) [PDF]

 

深度学习系统测试

22. AdvDoor

一种综合现有的对抗攻击来构建肉眼不可见的定向通用扰动生成工具。

项目链接:https://github.com/THU-WingTecher/AdvDoor

相关论文:

  • AdvDoor: Adversarial Backdoor Attack of Deep Learning System (ISSTA 2022) [PDF]

 

23. CoopHance

该工作提出了一种针对对抗样本的鲁棒性增强工具,以帮助开发者增提升深度学习系统的鲁棒性。

项目链接:https://github.com/THU-WingTecher/CoopHance

相关论文:

  • CoopHance: Cooperative Enhancement for Robustness of Deep Learning Systems (ISSTA 2021) [PDF]

 

24. DLFuzz

一个利用神经网络覆盖率指导深度学习模型测试的对抗样本生成工具。

项目链接:https://github.com/THU-WingTecher/DLFuzz

相关论文:

  • DLFuzz: Differential Fuzzing Testing of Deep Learning Systems (ESEC/FSE 2023) [PDF]

 

应用模糊测试

25. Enfuzz

该工作借鉴集成学习的思想,将不同的模糊测试器进行集成,共享信息,发挥每个模糊测试器的优势,旨在对传统软件进行更高效的模糊测试任务。

项目链接:https://github.com/THU-WingTecher/EnFuzz

相关论文:

  • EnFuzz: Ensemble Fuzzing with Seed Synchronization among Diverse Fuzzers (Security 2019) [PDF]

 

26. PAFL

一种通过利用高效的引导信息同步和任务分割将现有的单模式模糊测试优化扩展到工业并行模式的工具。

项目链接:https://github.com/THU-WingTecher/PAFL

相关论文:

  • PAFL: Extend Fuzzing Optimizations of Single Mode to Industrial Parallel Mode (ESEC/FSE 2018) [PDF]

 

27. SAFL

一个高效的模糊测试工具,增强了合格种子生成和高效覆盖率导向的变异功能。

项目链接:https://github.com/THU-WingTecher/SAFL

相关论文:

  • SAFL: Increasing and Accelerating Testing Coverage with Symbolic Execution and Guided Fuzzing (ICSE 2018 demo) [PDF]

 

28. DeepFuzzer

该论文综合采用了高质量的初始输入种子生成,平衡的输入种子选择和混合的输入种子突变以加速灰盒模糊测试。

项目链接:https://github.com/THU-WingTecher/deepfuzz

相关论文:

  • DeepFuzzer: Accelerated Deep Greybox Fuzzing (TDSC 2019) [PDF]

 

29. WINGFUZZ

一种基于数据覆盖率高效的引导模糊测试的工具。

项目链接:https://github.com/THU-WingTecher/wingfuzz

 

30. DAISY

该工具首先运行调用了待测库的程序,并从中提取出待测库的对象使用序列;然后将提取到的所有序列合并为一个;最后根据合并后的序列生成模糊测试驱动。

项目链接:https://github.com/THU-WingTecher/daisy

相关论文:

  • DAISY: Effective Fuzz Driver Synthesis with Object Usage Sequence Analysis (ICSE 2023 SEIP) [PDF]

 

31. VulSeeker

一个基于语义学习的跨平台二进制漏洞搜索工具。

项目链接:https://github.com/THU-WingTecher/VulSeeker

相关论文:

  • VulSeeker: A Semantic Learning Based Vulnerability Seeker for Cross-platform binary (ASE 2018 demo) [PDF]

 

32. VisFuzz

一种通过实时可视化更好地理解和介入模糊测试过程的交互式工具。

项目链接:https://github.com/THU-WingTecher/VisFuzz

相关论文:

  • VisFuzz: Understanding and Intervening Fuzzing with Interactive Visualization (ASE 2019 demo) [PDF]