软件与系统安全 - AFL 模糊测试实验
对 Coreutils 软件集合使用 AFL 进行模糊测试,撰写测试报告
在报告中详述:
(1)自己的整个实验过程(附必要截图)。
(2)第“三、1(2)”步骤的两种输入种子构造方法,对于 fuzzing 结果的影响(是否有影响?如果有,对最终获得的路径数量、路径数增长的速度等方面的具体影响)。
(3)第“三、1”基于编译插桩的 fuzzing 与第“三、2”的基于 Qemu 动态插桩的 fuzzing,从基本原理和实验效果两方面的差异。
栈溢出利用的分析
进行以下文献阅读、实验操作和代码(指令)分析,撰写分析报告。
- 阅读 buffer_overflow.pdf 的第 4.1~4.7 节,理解栈溢出攻击的原理。
- 按照 README,运行 exploit 程序,生成 badfile。利用 xxd 分析 badfile,
同时分析 exploit.c 源代码,理解并解释为什么程序能够生成 badfile 的内容。- 按照 README 运行 stack 程序,实施栈溢出利用,观察 shellcode 的执行
效果。- 详细分析 stack.asm 中的 main 函数及 bof 函数对应的汇编指令序列,画出
从 main 起始到调用 bof 函数执行、再到返回 main 的过程中关键的栈状态。解释
这些关键的栈状态,说明栈溢出攻击是如何实现的。(需要画出并解释的栈状态
包括但不限于:call fread 后,call bof 前,bof 内 call strcpy 前,bof 内 call strcpy
后,bof 内 ret 前,从 bof 返回 main 后)。
注:要求自己画栈状态,禁止从阅读材料中复制。提交要求:
截止时间:4 月 17 日 23:59:59。
形式:分析报告(word 或 pdf),内含以上要求的分析内容、关键栈状态图
(不限画图软件,但必须自己画,粘贴到报告中)和对攻击过程的解释。
提交到助教邮箱(见第一次课“intro.pdf”),邮件标题:“[学号]姓名 - 软件与
系统安全作业 1”。
摘要:根据 PyTorch 官网教程中 Adversarial Example Generation 章节内容,完整实现 Fast Gradient Sign Attack (FGSM) 算法。
根据 PyTorch 官网教程中 Adversarial Example Generation 章节内容,完整实现 Fast Gradient Sign Attack (FGSM) 算法。
网址:https://pytorch.org/tutorials/beginner/fgsm_tutorial.html
摘要:在此次实验中,先尝试了自己手动搭建了一个 CNN 进行虚假人脸的分类实验,但发现有训练速度慢准确率低等缺点。所以尝试使用已有的模型(resnet-18)和预训练的参数进行迁移学习,包括尝试了直接把卷积层借用为固定特征提取器和 Fine-tuning 的方法,大大提高了训练速度与最终结果的准确率。
给定一个人脸数据集,其中包含 1999 张真实人脸,1999 张虚假人脸。将其中 500 张真实人脸和 500 张虚假人脸作为训练集,其余作为测试集。
根据给定数据集训练训练一个虚假人脸检测器,该检测器本质就是一个二分类分类器。要求利用 Pytorch 框架任意设计一种神经网络模型进行分类,分类准确率越高越好 (分类准确率和得分不相关)。
XKCD 一些有趣的收集