软件与系统安全第二次上机
AFL模糊测试实验软件系统安全的第二次实验是基于 google 的 AFL 框架下的 Fuzzing 模糊测试。属于实战应用型实验,依然是搭建环境最折磨的那种实验。
实验环境Ubuntu 22.04-64bit 虚拟机
Python 2.7及以上版本
实验准备
下载安装AFL,在github下载的源码,make之后可以正常使用 afl-fuzz 和 afl-gcc
在qemu_mode目录下构建AFL-Qemu.这一步出现了很多问题,解决方法参考文献。
下载本次实验的目标程序集 coreutils-9.1 (GNU核心实用程序)
实验步骤实验大体分为两个模块,分别是基于编译器和AFL-Qemu的目标程序动态插桩。
基于编译器的目标程序插桩第一步:使用afl-gcc,生成coreutils的每个二进制程序
进入coreutils的目录,带参数 CC = afl-gcc 执行。
$ ./configure CC=afl-gcc
然后原地make,生成coreutils的二进制程序集,结果都放在src目录下。
第二步,为coreutils其中的特定程序确定输入种子
coreutil ...
信息与内容安全第一次实验
前言 由于本人学识尚浅,对于人工智能和机器学习这部分了解不多,故本实验单纯为复现性实验,并没有什么技术含量,可以看成一次简单的实验记录 :)
第一次实验是对前十次课程内容总结归纳之后的应用性实验,包括时下对抗机器学习最流行的FGSM算法实现和贴近实际场合的虚假人脸识别问题。本次实验工作环境全程在 Ubuntu22.04 和 PyTorch 2.0 下完成,涉及代码部分全部使用Python实现,兼以代码注释和实验结果文字说明。
对抗样本攻击实验题目简述:根据PyTorch官网下的Adversarial Example Generation章节内容,完整实现FGSM算法对MNIST分类器的扰乱。
攻击原理 对于上下文,有许多类别的对抗性攻击,每个类别都有攻击者知识的不同目标和假设。然而,在一般来说,总体目标是增加最少的扰动到输入数据以导致所需的错误分类。有攻击者知识的几种假设,其中两种 分别是:白盒和黑盒。白盒攻击假定攻击者完全了解和访问模型,包括 架构、输入、输出和权重。黑盒攻击假设攻击者只能访问模型的输入和输出,并且对底层架构或权重一无所知。有还有几种类型的目 ...
现代密码学大作业:RSA大礼包
RSA 大礼包解题报告 由于之前根本没有学过密码分析学的相关知识,自身主攻方向也不在密码学,所以这些东西都只能现学现用。
根据群里dbt和群友给出的提示,算是有了一个比较明确的解题方向。那么就一步一步开始吧。
首先我找到了一个老学长的博客,可以从他那里学到一点东西背景知识。
攻击方法
破解模数
破译明文
费马分解
Frame10
Frame10
Pollard p-1 分解
Frame2、6、19
Frame2、6、19
低加密指数攻击
无
Frame3、8、12、16、20
公共模数攻击
无
Frame0、4
因数碰撞
Frame1、18
Frame1、18
猜测明文攻击
无
Frame5、7、9、11、13、14、15、17
随机数发生器攻击
Frame0、3、4、5、7、8、9、11、12、13、14、15、16、17、20
验证全部明文正确性
看完赛题说明,可以发现本题中的RSA体系使用的是最原始的教科书式RSA,没有经过哈希的RSA肯定的是不符合加密标准的,这也是最根本的问题。同时通信人Alice可能重复发送明文片段的 ...
软件与系统安全第一次上机
1.前置作业 第一次上机的作业是栈溢出实验和shellcode编写。在此之前有一个栈溢出的demo放在课堂资料里面,稍微看了一眼,对于栈溢出的具体实现细节还不是很熟悉,所以我想先在自己电脑上复现demo漏洞利用的过程。所以这个过程我称之为前置任务:D
分析 首先来看需要利用的程序 stack.c:
很明显的没有数组边界检查,在strcpy过程中可以把cookie填满,并且在返回时跳转到一段shellcode中,实现提权。并且这个示例还很贴心的放出了getenv函数,经过搜索可以了解到getenv返回环境变量值,也就是说可以在EGG这个环境变量处存放最核心的shellcode地址,实现栈溢出。
Shellcode构造**int shell() { *asm(“* *needle: jmp gofar\n* *goback: pop %rdi\n* *xor %rax, %rax\n* *movb $0x3b, %al\n* *xor %rsi, %rsi\n* *xor %rdx, %rdx\n* *syscall\n* gofar: call goback\n** **.s ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment