硬件与系统安全 · 新加坡国立大学计算机学院
我们研究计算机底层的安全性与正确性:发现硬件与系统深处的漏洞,并构建抵御这些漏洞的防御机制。
成员
加入我们新闻
全部新闻小游戏
游戏背后的研究四个小游戏,每个对应一个研究方向,有关卡、商店和每日芯片。默认开启音效,可用按钮关闭。
模糊测试与验证
信息流追踪
形式化验证
DRAM 与 Rowhammer
漏洞从芯片里爬出来,沿着电路板往下走。测试框架会自动开火:控制它移动,连续击杀叠加倍率,接住漏洞掉落的道具。芯片的时钟走完并击败勘误 Boss,这颗芯片就算测完。每颗芯片都会带来新的布局、新的漏洞种类,以及一个用点数购买框架升级的商店。漏掉的漏洞会扣分,每漏掉五个还会扣一条命。
发现的漏洞
连击
芯片
时间
生命
在流片之前找出漏洞。
用方向键或拖动来操控,空格键重启电源。
拖动来操控测试台。点击框内的“重启电源”清空棋盘。
测试框架崩溃了。
逃脱
第 {n} 波,共 {m} 波
勘误已修复
散射
护盾已开启
连发
重启电源
无人机扫射
重启电源 +1
本芯片已消灭 {n} 个漏洞
勘误未修就出货:−1 条命
漏掉了:−150
{name} 被突破:−{n}
未被突破的模块:{n}/{m} · 商店 {p}% 折扣
芯片完好无损
测试框架崩溃
第 {n}/{m} 颗芯片测完
流片!芯片已签核。
8 颗芯片直到流片
第 {n} 颗芯片,共 {m} 颗
带着漏洞出货:−1 条命
新漏洞:毛刺又快又跳
新漏洞:Rowhammer 横扫并投下故障
新漏洞:Spectre 时隐时现
新漏洞:蠕虫要击中五次
新漏洞:拟态虫伪装成巧克力
超频
巧克力翅膀
针
磁铁
备用核心
复位键
启动护盾
僚机
勘误表
齐射
冷却液
加力燃烧
真空吸取
炮塔
调试器
追踪弹
双管
降频
重型弹药
回流焊
备用裸片
冷冻炸弹
自检
战利品感应
稳手
弹药带
覆盖率奖励
备用裸片:再多一条命
射击更快。
始终三发扇形射击。
子弹多穿透一只虫。
附近的道具向你飘来。
再多一条命。
每块芯片多一枚炸弹。
每块芯片开局自带护盾。
一架在你身旁开火的无人机。
首领受到的伤害增加一半。
每第四轮齐射呈扇形。
电压跌落和抖动的持续时间减半。
移动速度提高四分之一。
所有道具都向你飘来。
底边的炮塔自动开火。
装甲虫受到双倍伤害。
子弹会转向最近的虫。
两发子弹并排射出。
虫的爬行速度降低百分之十五。
对硬虫多造成一点伤害。
护盾破碎后二十秒内恢复。
每局一次,最后一条命会回来。
炸弹让幸存者冻结两秒。
每块芯片结束时恢复一条命。
道具掉落频率翻倍。
连击在虫逃脱后保留。
每找到十五只虫得一枚炸弹。
每只虫多得百分之三十的分数。
火力
测试台
团队
时钟门控
电压跌落
漏洞风暴
九头虫分裂了
巨人猛砸
电压尖峰:快速射击
调试窗口:漏洞减速并现形
缓存抖动:漏洞加速
硅彩票
故障注入
一只金色漏洞!
金色漏洞已消灭
有装甲
暴露了
勘误首领
九头虫
海森堡漏洞
Rowhammer 巨人
竞争条件
缓冲区溢出
随货出厂的漏洞
斩一生二
不看时才出现
重击裸片
两个线程,一把锁
多出一个字节
你会在勘误表里找到我。第 40 页。
每修一个,就多两个。
接上调试器,我就消失。
我锤过的每一行都会翻转。
先到锁的赢。两个都是我。
0xFF,再加一。
已归档为已修复。
再没有头能长了。
被观测。塌缩了。
彻底刷新了。
已串行化。
边界已检查。
交汇
缓冲区已满
它每次齐射后会短暂暴露:那时开火
它的分身在保护它:先消灭蠕虫
只有它现身时才能打中
只有它在边缘转身时才脆弱
两名跑者交汇时它才暴露:射击交汇点
趁缓冲区满而未溢出时打它
稳手
厚皮
快脚
长引信
砍价
已流片
后硅阶段
探针
捕网
拾取员
它每隔几秒标记一只虫:被标记的虫分数翻倍
它会接住即将逃脱的虫,然后需要片刻恢复
它会把你够不到的道具送过来
{name}加入测试台
已标记 ×2
已捕获
已拾取
硅片从晶圆厂回来了。看看会爬出什么。
把测试台开到甲虫下方,它会自动开火。
虫子会掉落零件。开过去捡起来。
每一波都更快。顶部的横条是这颗芯片的时钟。
第一只虫已消灭。连续消灭可获得倍率。
有一只溜过去了。逃掉五只就会带着漏洞出货。
裸片下面有什么大家伙在动。
勘误来了。盯住它暴露的那一刻。
勘误表已更新。先出货,再改版。
改版了。新布局,新虫子,我还叫来了帮手。
从这颗芯片起甲虫会吐出故障。躲开那些叉。
流片已过半。从这里开始有装甲虫:六边形意味着等待。
拟态虫看起来像巧克力。会动的就打。
最后一颗芯片。离流片只差一个勘误。
流片了。去庆祝吧。
数据值离开核心,沿着芯片的连线流向端口,其中一些是机密。从顶部的工具栏选一种塔,点击棋盘放置:追踪器和嗅探器标记范围内的污点值,但只能存几次标记,用完要点击清空。清洗炮塔直接清掉一个值再充能,信标减慢值,冲刷器给周围的追踪器补满标记。每一波开始前都有建造阶段。污点值会往覆盖薄弱处走,成群到来,后期还会干扰周围的追踪器。少量手动清洗留作应急。每一波都会更多,并开放商店。
已捕获
连击
波次
剩余泄露次数
剩余值
守住端口。
在工具栏选一座塔,点击棋盘放置。点击污点值可手动清洗。点击一座塔打开它的菜单。
在工具栏选一座塔,按住棋盘放置。点击污点值来清洗。建造阶段可以拖动塔。
泄露了。
泄漏
第 {n}/{m} 波已守住
芯片已守住。
10 波守住芯片
第 {n} 波,共 {m} 波
追踪器已放置
追踪器已满
点数不够
在导线上
离另一座塔太近
远离核心和端口
超出边界
放在这里
放在这里
点击它该站的位置
升阶
出售
移动
已出售:+{n}
已移动
已移动:点击清空
拖动塔可免费移动
手动清洗
没有手动清洗次数了
已清空
标记用完:点击清空
泄露!
污点扩散
分裂!
幸运一击
手动清洗
已无污点
连续捕获 {n} 个
+1 次手动清洗
派遣无人机
新:装甲值需要三次标记,坦克值六次
新:隐形值与伪装值,只有靠近追踪器或嗅探器才能看见
新:分裂值、蜂群值与冲刺值
新:载体值、幻影值,以及需要嗅探器解开的加密值
新:干扰值冻结塔,水蛭值抽干塔
新:治疗值会抹去周围的标记
新:炸弹值会抽干周围的塔
Rootkit 已清除
木马现形
蠕虫已清除
木马已清除
幽灵已清除
键盘记录器已清洗
记录中
电源毛刺:缓冲区下降
固件更新:所有塔已清空
泄漏警报:污点值冲刺
审计:手动清洗已补满
迷雾:所有值看起来一样
蠕虫
木马
幽灵
Rootkit
键盘记录器
一节一节来
看起来干净,直到不再干净
永远不在你以为的那根线上
掌控整颗裸片
记录你的每一次点击
随便标记我的尾巴吧。
放我过去吧。我很干净。
哪根线?错了。
你的塔还没建,我就在这儿了。
那一下我看见了。这一下也是。
从头部切断。
在端口前被揭穿。
被钉住了。
从 ring 0 被驱逐。
日志已清除。
先清洗头部:它活着时各节都有装甲
它现形后会变慢:那时集中火力
它跳跃后会短暂实体化:那时标记它
它靠虫群回血:先清洗虫群
它会跳到你点击的位置并短暂记录:在你的塔附近点击
Rootkit 从虫群中恢复
已解密
爆炸:塔被抽干
已升阶
已是最高阶
老兵
+{n} 比特
万能钥匙:所有塔已清空
巡逻无人机
深缓存
训练营
备用手套
快速清空
备用端口
批量采购
幸运一击
端口守卫
超频
自动清空
冰冷之手
赏金
金库
天线
金库:不损失生命
操练
狙击教条
冲刷冲击
加特林教条
快手
过路费
全额退款
启动资金
抗干扰
深度标记
自由搬迁
警报抑制器
一架巡逻、标记并冲刷的无人机。
塔多容纳一个标记。
塔的射程更远。
多一次清洗次数。
冲刷即时完成。
再多一条命。
塔的价格降低四分之一。
更多战利品,且每十秒一份礼物。
每个端口的守卫每波清洗一个值。
塔的标记速度提高四分之一。
空塔六秒后自行冲刷。
清洗会减缓周围的值。
战利品掉落频率翻倍。
每波的第一次泄漏不扣命。
所有塔的射程略微增加。
塔更快成为老兵。
射程更远,标记更慢。
冲刷会减缓附近被污染的值。
标记更快,射程更短。
次数恢复更快。
每次拦截多得四分之一的分数。
出售塔可全额返还。
每波开始时获得分数。
干扰器无法干扰你的塔。
装甲值少需一个标记。
搬动塔时保留其标记。
警报持续时间减半。
端口守卫拦下了它
塔
手动
团队
{n} 秒后来值
锐眼
深口袋
大缓存
稳手
砍价
猎犬
审计员
信使
它沿导线奔跑,对隐身和伪装的值吠叫,让它们变慢
它会定期补满最空的塔
它替你收集战利品
{name}加入巡逻队
汪:已现形
已审计:已补满
轨迹在状态空间中每周期前进一个状态,永不停歇。切换车道去收集断言,躲开不可达状态、边界墙以及追猎轨迹的反例;跳跃可以越过一个状态。求解预算不断流逝,每个断言都会补充它;超时会损失一条轨迹。收集足够的断言即可证明一个边界并打开商店;每个边界都更快,并带来新的花样。
断言
连击
边界
剩余轨迹
预算
展开轨迹。
方向键或点击轨迹两侧换道,空格键或点击轨迹跳跃。按住下方向键刹车。
点击轨迹两侧换道,点击轨迹跳跃。按住框内的“刹车”减速。
轨迹用完了。
丢失的轨迹
第 {n} 个边界,共 {m} 个
不可达状态
反例已解决
第 {n}/{m} 个边界已证明
所有边界已证明。
10 个边界待证明
新花样:虫洞
新:只留一个缺口的边界墙
新:伪反例,无害
新:状态爆炸
求解器超时:−1 条轨迹
被反例抓住
伪反例
引理:护盾开启
覆盖点
虫洞跳跃
跳跃
刹车
下一行
+{n} s
状态爆炸
求解器提示:安全车道发光
截止期限:预算快速流失
引理雨
反例
循环
对手求解器
抽象
状态爆炸
在它扑来时跳跃,就能伤到它
在环扫过时跳穿它
在它眼皮底下抢先证明它要偷的断言
趁它处于抽象态时穿过,或者跳过去
每证明一条断言都能压制它
双生
狂乱
四个状态
双重循环
留下障碍
召唤反例
更宽,留有缺口
崩塌
连锁反应
熔毁
{name}加入了这次运行
{name} 第 {n} 级
重启中
已证明
诱饵:反例已被压制
神谕:求解器在思考
反例已被驳回
循环已打破
已甩开对手
抽象已精化
爆炸已遏制
那条失败的轨迹
绕啊绕
每条断言都比你快
三条道,没有状态
二的 N 次方
我只需要一条路径。
每个周期,同样的状态。
我会先证明它。
太粗糙抓不住,太宽阔过不去。
状态比你的周期还多。
没有路径了。
彻底打破。
先证明了。
被精化掉了。
已被约束。
弱点
被偷走
甩开
扑击!
非确定性
非确定性转向
新:反例会追猎轨迹
幽灵穿越
已修剪
立即修剪
备用轨迹
分频器
幽灵穿越
修剪机器人
长跳
磁铁
求解预算
引理库
证明器
诱饵轨迹
神谕
见证者
不变式
检查点
覆盖赏金
透镜
快速跳跃
韧性
检查点:预算已恢复
快速转向
深边界
浅边界
风暴锚
证明之锤
集结
宽幅修剪
快速修剪
幸运行
再多一条命。
轨迹运行更慢。
跳跃距离更远。
附近的断言会飘入你的车道。
预算多五秒。
一个护盾,跨边界保留。
每个边界可免除一次崩溃。
修剪可清除前方车道。
一个在前方收集断言的证明器。
两条车道外的诱饵会压扁虫。
危险来临时让时间变慢的预言机。
跟在身后收集引理和覆盖点的见证者。
每二十秒自动生成一个护盾。
每个边界的第一次超时被免除。
覆盖点的分值翻倍。
看穿非确定性。
跳跃冷却更快。
连击在崩溃后保留。
变道更快。
断言分值增加一半,但速度更快。
更慢,但断言分值更低。
状态爆炸的持续时间减半。
首领受到的伤害增加一半。
同伴重启速度翻倍。
修剪也清除相邻车道。
修剪冷却更快。
每行带有更多断言和引理。
不变式:护盾开启
求解器
轨迹
同伴
黄金
黄金断言已证明
+1 次幽灵穿越
慢时钟
备用轨迹
急转弯
幸运
砍价
攻击者敲打 DRAM 存储体中的行,把相邻的行加热到比特翻转。在行过热之前刷新它。你有三次刷新,每次一秒后恢复。守住一个存储体四十秒即可过关,并打开商店。
刷新次数
险情
存储体
时间
剩余翻转次数
守住每一行。
点击某一行或按其数字来刷新。刷新用完时,点击可将该行排队。空格键爆发刷新。
点击某一行来刷新。刷新用完时,点击可将该行排队。爆发刷新按钮在框内。
比特翻转了。
险情
已刷新
比特翻转!
好险
本 bank 已有 {n} 次险情
+1 次 ECC 纠错
爆发刷新
新攻击者:{name}
锤子
短跑手
螃蟹
双锤
隐形锤
随机跳跃
跳得快,打得轻
逐行爬行,打得重
从两侧夹击同一行
每次跳跃后隐身
风扇
金丝雀
哨兵
它给最热的一行降温
某一行过热时它会鸣叫,还会啄掉锤子的隐身
落在它旁边的锤子会被弹开
{name}加入存储体
存储体扩容:+{n} 行
接下来:{name} · {s} 秒
更多行
黄金行
啾!
被弹开
充能中
没有刷新额度了
已排队 {n}
已取消排队
第 {n}/{m} 个 bank 已守住
内存已守住。
10 个 bank 要守住
第 {n} 个 bank,共 {m} 个
新花样:双侧敲打
新花样:热量波及两行之外
新花样:攻击者跳动后会隐身
ECC 已纠正
TRR 机器人刷新了一行
锤王已被驱逐
压机已驱逐
幻影已驱逐
热尖峰
冷却爆发:令牌已补满
电压跌落:刷新要花两个令牌
ECC 清洗:+1 次纠错
行重映射:两行互换
黄金行:保持低温
黄金行保持了低温
黄金行失守
锤王
压机
幻影
锤得最狠
一次三行
只在出击时现身
每一行都归我锤。
能锤三行,何必只锤一行。
刷新你看不见的东西吧。
已退位。
被压扁了。
现形了。
有护盾
它落地后会短暂暴露:那时刷新它旁边的一行
它每次重击后会休息:那时刷新它下面的一行
它出击时会现身:那时刷新它旁边的一行
机器人扫刷
额外额度
快充
ECC
涡轮爆发
备用存储体
TRR 机器人
传感器
冷却器
清洗器
长队列
超频驱动
装甲行
隔热罩
散热片
抗压降
热手
眩晕之锤
慢燃
深度冷却
散热强化
早期预警
金鼻子
快速扫描
双重扫描
首领减速
限速
连锁刷新
多一个令牌。
令牌恢复更快。
每个存储体多吸收一次位翻转。
爆发冷却更快。
再多一条命。
一个冷却最热行的 TRR 机器人。
看到锤子下一次落在哪里。
行升温速度降低百分之十。
每十五秒一次 ECC 充能。
最多可排队五行。
爆发让锤子冻结两秒。
弱行能多承受一点热量。
热尖峰的热度减半。
预装一个散热片。
压降不再使成本翻倍。
令牌更快,但行升温略快。
在锤子下刷新会将其眩晕。
行升温更慢,但令牌恢复也更慢。
刷新对相邻行的冷却效果翻倍。
散热片将热量减至三分之一。
行更早发出警告。
黄金行的分值翻倍。
机器人扫描更频繁。
机器人每次扫描多冷却一行。
首领跳跃更慢。
锤子跳跃更慢。
快速连续刷新有额外分数。
控制器
内存
机器人
已安装散热片
冷手
厚墙
备用保险丝
快速爆发
砍价
得分0
发现的漏洞0
连击×1
芯片1
生命3
时间0:40
最高分0
等级Lv 1
新纪录!
全部通关
{name}即将到来
前方有{name}
这一波之后是{name}
{name}被激怒了
第 {n} 阶段:{name}
第 {n} 阶段,共 3 阶段
{name} 第 {n} 级
点击跳过
未解锁
已满级
需要{name}
点击一个节点查看。买下后线路会亮起。
第 {n} 级,共 {m} 级
与{name}二选一
已过半程
还剩 {n} 个值
还差 {n} 个断言
你败给了{name}。{hint}
继续 · {level}
重新开始
已恢复进度
最佳:第 {n} 关,共 {m} 关 · 击败首领 {b} 个
第 {n} 个游戏,共 4 个 · {name}
对,这是个游戏。按“开始玩”,我边玩边讲。
四个游戏,每个对应一个研究方向。先玩这个。
漏洞、污点、证明和 DRAM。选个标签,按“开始玩”。
在下方花费点数,然后按“继续” · {n}
点一个特长继续 · {n}
最远
连击漂亮
火力全开
势不可挡
{n} 点
点数:{n}
{n} 点
Lv {n}
升级!
第 {n} 级
选一个特长
点数花得值,漏洞找得快。
审稿人二号说测试框架没问题。审稿人二号错了。
这里的一切都经过同行评审。评审人是我。
概不退款。流片就是最终版。
好眼光。大概吧。
成交。别去看勘误表。
那是我最喜欢的一件。另一件也是。
合作愉快。小心那口咬痕。
芯片还是出货了。它们总会出货。
那是个反例。写进论文吧。
漏洞总会有的。问问任何一张勘误表。
硅片不讲情面。咖啡有点用。
升职了。文书工作在你桌上。
升级了。还是没有终身教职。
已经更强了。选得明智些。
实习生
博士生
博士后
教授
荣休教授
实验室等级:{rank} · {xp} XP · {n}/4 个游戏超过第 5 关
已解锁:{name}
模糊测试经费
追踪器僚机
散热证明
巧克力轨迹
秘密已解锁
点击页面顶部的大芯片七次
巧克力模式
巧克力模式已关闭
今日芯片 · {date}
命名自
小游戏
在 ChocoLab(新加坡国立大学计算机学院)游玩







