# 从零到第一个 0day!
首先,我们将重点了解技术:二进制分析、搜索各种类型的漏洞和调试。我们 “咬” 住实际的模糊测试和错误,这些错误和错误让程序员由于其不确定性的发生而彻夜难眠。参与者将学习分析应用程序弱点、编写语法和获取测试语料库的技术,以保证令人兴奋的结果。
了解错误搜寻的各个方面后,就需要自动化漏洞分析和调试方法,以确保快速找到有缺陷的代码元素。
培训重点是 x86 /x64 架构,以及处理各种格式(文本、二进制)数据的攻击项目、Windows 和 Linux 平台上的网络模糊测试。
# 课程内容
- 为什么要寻找安全漏洞?
- 为什么值得使用模糊器和自动化方法?
- 软件中最常见的安全问题和缓解机制
- 漏洞类别
- 保护机制
- 漏洞研究工作流程
- 八个模糊测试法则
- 模糊器的底层和许多模糊器的名字
- 引导模糊测试
- 愚蠢的模糊测试
- 智能模糊测试
- 基于变异的模糊测试
- 基于生成的模糊测试
- 专门从事模糊测试的虚拟机管理程序
- 模糊测试 = 使用 DeepState 进行单元测试?
- 防绒毛
- GNU / Linux 上的模糊测试简介
- 如何找到有前途的组件进行攻击?
- 代码覆盖率的演变和测试
- 幻数和模糊器 - 如何处理?
- 生成并手动创建具有更好代码覆盖率的测试用例
- 白盒攻击
- 澳大利亚橄榄球联盟 ++
- 红法兹
- LibFuzzer - 功能级别测试
- 编写你的 LibFuzzer 模糊器
- 来自 Google 的 ClusterFuzz 和 OSS-Fuzz
- 模糊测试 C# 和 Python 项目
- 灰盒攻击
- 对灰盒的攻击是什么?
- AFL 智能
- 黑盒攻击
- AFL++ 和 honggfuzz 以及 QEMU
- Windows 上的模糊测试简介
- Windows 和 Linux 上的模糊测试之间的差异
- 赢 AFL
- 模糊测试的其他维度
- 使用 Pythia 进行 ROI 预测 - 模糊测试何时停止获得回报?
- 没有网络的网络模糊测试?是的当然!
- 与符号 / Concolic 执行的混合模糊测试
- 人工智能为漏洞搜寻服务
- 大规模模糊测试
- 模糊驱动开发
- 模糊管理器
- FuzzManager 与 AFL / Honggfuzz / LibFuzzer 的集成
- FuzzManager 的代码覆盖率测试
- 使用签名对重复项进行分组
- 静态代码分析
- 已经 2020 年了,还值得吗?
- cppcheck 与 Clang 静态分析器
- 验证 AFLGo 发现的问题
- 静态分析作为手动代码审查的第一步?
- 让漏洞报告再次变得伟大!
- 漏洞分析
- 消毒剂(ASAN、MSAN、UBSAN、TSAN)
- 瓦尔格林德
- 记忆博士
- 可靠的漏洞报告应包含哪些内容?
- 一些有趣的漏洞案例的基础知识
- 确定错误的严重性
- 如何尽可能高效、无痛地完成它?
- 处理非确定性代码故障
- 使用 RR 进行调试
- 漏洞分析
# 目标听众
- IT 安全专家和渗透测试人员、程序员和测试人员;
- IT 安全研究人员;
- IT 安全解决方案提供商;
- IT 安全爱好者;
- 每个正在考虑从事攻击性应用程序安全领域职业的人!
# 先决条件
- C / C++ 或 Python 编程基础知识;
- GNU\Linux 和 Windows 系列操作系统的基础知识;
- 自己的电脑:
- 64 位 Windows 或 GNU/Linux 操作系统(最好是 Debian 或 Ubuntu);
- 安装 VirtualBox 和 Docker 软件;
- 最低 8 GB RAM,建议 16+ GB;
- 至少 2 核处理器;
- 至少 50GB 可用磁盘空间;
# 主要要点
# 本次课程将教您...
- 漏洞类别的特征及其防御方法;
- 自动错误搜索技术和选择业界最佳工具来发现漏洞(黑盒、灰盒、白盒);
- 二元分析基础知识;
- 分析并自动分析发现的漏洞;
- 在多个层面上调整(网络、文件、二进制文件)和扩展模糊测试过程:模糊器、操作系统和工具;
- 为选定的开源项目编写模糊器;
- 准备实施模糊驱动开发方法;