2024 Let's GoSSIP
Let's GoSSIP 是由上交主办、蜚语科技赞助的暑期学校(惯例是从“大暑”节气那一天起),面向社会开放。暑校的形式是上交邀请国内外知名的安全研究团队,为学员举办讲座,力争在短短五天内让学员疯狂 hacking,感受安全研究的魅力!
Last updated
Let's GoSSIP 是由上交主办、蜚语科技赞助的暑期学校(惯例是从“大暑”节气那一天起),面向社会开放。暑校的形式是上交邀请国内外知名的安全研究团队,为学员举办讲座,力争在短短五天内让学员疯狂 hacking,感受安全研究的魅力!
Last updated
2024 暑校是 Let's GoSSIP 的第十年,也是以实践为主旨的第一年,整个活动贯彻落实“纸上得来终觉浅,绝知此事要躬行”的思想,所以今年特别 crazy🪄
ps,相关通知均在“安全研究GoSSIP”微信公众号上发布(好消息是学生参加暑校费用减半~)
July 22,硬件安全攻防实践,南方科大张锋巍团队
参考资料:
任何一个系统都是分级别的
EL3 作为状态过渡的桥梁
打破权限隔离的方法是滥用调试接口(ps,high-level 来说 debug 分为入侵与非入侵两种,入侵意味着可以中断 / 控制调试目标)
Arm debug designer 认为被调试状态下的 TARGET 从低权限提权到高权限是一个合法的行为,或者说 designer suppose 这不是 arm 该管的事,应该是 SoC 该管的事(前提,调试 HOST 需要具备 EL1 权限)
Arm 提供了一种新颖的 debug 方式:Inter-processor Debugging,可以绕过物理接触(类似找旁站),就不需要 JTAG,但要求必须能控制多核设备中的某一个核(这个前提似乎有点苛刻?)
实验器材:
Raspberry Pi 3 model B+, a TF card with a corresponding USB connector, a power supply, and serial cables
根据实验指导,将给定镜像通过 Win32 磁盘映像工具写入 SD 卡(能独自发现这个”U盘“的用处也是很赞/了,第一次见读卡器www):
通过查阅树莓派相关网站和自带的纸质手册,才弄懂应该怎么插 SD 卡(被自己又菜到了hhh
根据指导与配图,进行连线
安装驱动:
检测不到 COM 可能有两个原因,一个是驱动未安装(安装后需重启、其他设备、隐藏设备、安装旧版本等方法均不起作用),另一个是物理电路连接不稳定
今天遇到的问题有两个:第一,驱动安装不了,80% 时间耗费在这里了,导致实验基本没有做,但是我觉得并不亏,因为自己还是坚持下来没有直接摆,帮助自己建立自信,以后才能成为一名真正的工程师;第二,不熟悉树莓派及相关配件,看着就直接干懵逼了(e.g. SD 卡烧录,但是通过大胆猜测小心求证解决了,很开心)。后面在意识到主机驱动有问题的情况下,产生放弃的想法。在请求别人帮助后,提示可以去试试用显示屏,看着树莓派 + 显示屏 + 鼠标 + 笔记本,没理清楚配置之间的逻辑关系,只能在那傻傻发呆,后面才意识过来可以把鼠标和显示屏接在树莓派上,在显示屏没有键盘接口的情况下,找工作人员与朋友借键盘(特别像第一天去实习,自己甚至都不懂怎么装电脑,该拿什么线)🤣
July 23,从安全视角认识计算机系统,浙大常瑞团队
(介绍浙大的教学体系这一点,与本次暑校活动的相关性太差了,没有考虑受众,这种报告应该是给同行老师 / 向上汇报的,而不是给学生讲的;给的实验难度分布太不合理了,简单又太简单,困难又太过困难,压根没认真准备
参考资料:
视角:硬件 CPU、OS、程序员
考虑功耗、性能之间的 balance
非安全是指使用该工具对程序员有很高的要求
介绍了一下工作 Atlas(背景:Android 测试有闭源 + 跨语言测试两个难点),但没有听出 insight 的亮点
形式化验证
来源:安全跟不上代码膨胀的速度,所以只能去 check
特点:无二义性、严格
作用:高度的抽象带来通用性
经过形式化验证的代码!=绝对正确,有可能建模本身并不完整
被过分裁剪以至于过于简单,四行 C 代码结束了
对应实验工程量太大,同时没有 lab 指南,不知道该干什么,skip
卷积在数学上是两个变量在某范围内相乘后求和的结果
此项目为浙大一年半计算机系统课程的终极大作业,难度极高,skip
July 24,AI安全攻防Lab,复旦潘旭东团队
(啥都不会,毫无头绪,坐牢一整天
训练 AI 模型:
训练数据
对抗样本生成
key 在于找到能够提高误分类概率的微小扰动
分类:无目标攻击、有目标攻击
防御:降噪、聚类
根据 pytorch 的实验指导,正常训练一个模型
tip:在有多个版本的 python 情况下,默认 pip 不一定能给相应 python 装上 package,python -m pip
安装对应 python package
现在要干啥?生成对抗样本。怎么生成对抗样本?利用 FGSM 代码生成。找卡车图像,然后用模型去识别,能让模型错误预测就行了
扩展:DAN failed in GPT 4o && Gemini
类似于后门,让模型决策边界发生偏移
例如:标签反转、固定 Patch 投毒、干净标签攻击(Victim 与 Base 混合训练)
label flipping:
随机选取一部分训练集修改其标签,保存模型并在测试集上测试证明有效(降低模型的准确率)
修改某一特定类标签,保存模型并在训练集上进行集中测试,统计 success rate,证明有效
BadNet:
制作 trigger
选取少量样本展示添加 trigger 后的效果
在干净数据集上进行检验,测试后门的隐蔽性
进行投毒后再测试
干净样本攻击:
重要问题:
能否偷到模型原始训练数据?
能否推断某个数据是否存在某数据集中?
能否窃取模型的参数、架构、超参?
方法:梯度匹配
将真实梯度与虚假梯度的差作为损失函数,通过迭代的方法尝试求解最小值,过程类似于将计算性问题转化成判定性问题
July 25,互联网基础设施安全实践,清华段海新团队(qianxin)
(今天非常有意思,很开心的一天,虽然又是小白被虐暴的剧情hhh
THU NISL 一系列成果(亚洲第一世界第三)
利用掌握的安全分析知识,对此次事件进行分析,提交事件分析报告,尝试分析出攻击者的攻击手法、途径、残留样本、连接的C2、攻击者真实IP等所有与此次事件相关的线索,揪出幕后的攻击者!
DataCon 7.25由于本实验为内部实验,所以不公开相应 WP
July 26,安全漏洞的时空穿越之旅,上交李卷孺团队
(时间太紧凑了,没给时间做
Smashing The Stack For Fun And Profit
抛开所有的理论,返璞归真,想想计算机不就是去一个地方取值,译码后执行,如此循环往复(计算机只有 n 个寄存器的记忆)
如何提高性能?
把不会 C 的拉出去枪毙
不行就把 C 写得不好的拉出去枪毙
Morris Worm,1988/11/2,邮件提权、口令爆破、.rhosts feature
Bill Joy,UCB,1978,BSD
Ariel Futoransky,deattack.c,整数溢出导致越界写
So, we have 512 bytes of data, 16 bytes of stack frame to zero out, and 4 bytes for PC. That means 532 bytes total.
参考资料:
上古时代的计算机程序 C 占一大半,写 C 是一种浪漫。收获:增添了历史的视角去看计算机,不管是语言还是库的实现,在不同历史阶段是不同的
参考资料: