区块链应用系统若干脆弱性分析与评测
摘要 | 第5-7页 |
ABSTRACT | 第7-8页 |
第一章 绪论 | 第11-16页 |
1.1 区块链的概念 | 第11-12页 |
1.2 区块链安全现状 | 第12-13页 |
1.3 区块链安全研究现状 | 第13-14页 |
1.4 论文结构与主要内容 | 第14-16页 |
第二章 区块链生态系统面临的安全威胁 | 第16-32页 |
2.1 共识与奖励机制 | 第16-19页 |
2.1.1 拜占庭将军问题 | 第17-18页 |
2.1.2 针对共识的攻击方法 | 第18-19页 |
2.2 区块链应用安全 | 第19-25页 |
2.2.1 电子货币钱包与交易所 | 第19-22页 |
2.2.2 交易所Web安全 | 第22-24页 |
2.2.3 电子货币钱包应用安全 | 第24-25页 |
2.3 智能合约安全 | 第25-30页 |
2.3.1 整数溢出 | 第25-26页 |
2.3.2 重入攻击 | 第26-27页 |
2.3.3 拒绝服务 | 第27-28页 |
2.3.4 变量覆盖 | 第28页 |
2.3.5 短地址攻击 | 第28-29页 |
2.3.6 蜜罐合约 | 第29-30页 |
2.4 区块链安全技术 | 第30-31页 |
2.5 本章小结 | 第31-32页 |
第三章 区块链系统的攻击 | 第32-45页 |
3.1 比特币钱包木马分析 | 第32-36页 |
3.1.1 Burp Suite抓包 | 第33-34页 |
3.1.2 JEB逆向源代码 | 第34-35页 |
3.1.3 JD-GUI逆向jar包 | 第35页 |
3.1.4 漏洞危害分析 | 第35-36页 |
3.2 某交易所漏洞分析与利用 | 第36-38页 |
3.2.1 漏洞描述 | 第36-37页 |
3.2.2 挖掘过程 | 第37页 |
3.2.3 漏洞分析 | 第37-38页 |
3.2.4 漏洞影响 | 第38页 |
3.2.5 漏洞防御 | 第38页 |
3.3 智能合约的攻击与利用 | 第38-44页 |
3.3.1 EVM反编译软件Porosity | 第38-40页 |
3.3.2 手工逆向智能合约 | 第40-41页 |
3.3.3 机器学习预测属性表达 | 第41-44页 |
3.3.4 利用方式 | 第44页 |
3.4 本章小结 | 第44-45页 |
第四章 智能合约代码审计 | 第45-61页 |
4.1 代码审计原理 | 第45-47页 |
4.1.1 静态分析 | 第45页 |
4.1.2 动态分析 | 第45-46页 |
4.1.3 自动化代码审计工具 | 第46-47页 |
4.1.4 源代码审计的价值与意义 | 第47页 |
4.2 Oyente智能合约代码审计工具 | 第47-49页 |
4.2.1 Oyente代码审计原理 | 第47页 |
4.2.2 Oyente框架与模块 | 第47-49页 |
4.3 Oyente扩展 | 第49-56页 |
4.3.1 变量覆盖漏洞检测 | 第49-52页 |
4.3.2 隐藏源代码检测 | 第52-55页 |
4.3.3 孤立分支代码块检测 | 第55页 |
4.3.4 危险函数调用检测 | 第55-56页 |
4.4 Oyente评测 | 第56-60页 |
4.4.1 测试样本 | 第56-57页 |
4.4.2 代码审计结果 | 第57页 |
4.4.3 准确性分析 | 第57-60页 |
4.5 本章小结 | 第60-61页 |
第五章 总结与展望 | 第61-63页 |
5.1 本论文工作总结 | 第61页 |
5.2 进一步研究及展望 | 第61-63页 |
参考文献 | 第63-66页 |
附录 | 第66-70页 |
致谢 | 第70-71页 |
作者攻读学位期间发表的学术论文目录 | 第71页 |