0.7毫秒"偷"走你的校园网密码 —— 一块FPGA板子的"闪电战"
引言
同学们,想象这样一个场景:
你坐在图书馆,打开电脑,像往常一样点了"宽带连接"。弹出"正在连接"的提示,几秒钟后……连上了。
看起来一切正常。
但你不知道的是:你的账号和密码,刚刚被旁边桌子上那块巴掌大的FPGA开发板,用0.7毫秒的速度截获了。
没有弹窗,没有报警,没有任何异常。
这不是电影。这是我们实验室做的一个真实的教学演示实验。

第一幕:一场不公平的"赛跑"
要理解这个实验,我们先来看看每次"拨号上网"的时候,你的电脑到底在干什么。
当你点击"宽带连接",电脑会用一种叫 PPPoE 的协议跟校园网服务器"握手"。这个过程就像在食堂排队打饭:
🎤 你的电脑(大喊):"有没有服务器在?我要上网!"
(这一喊,就是所谓的 PADI 广播帧——全网都能听到)🏪 校园网服务器:"我在!来我这边办手续!"
(回复一个 PADO 帧)💻 你的电脑:"好,我选你!"(发送 PADR)
🏪 服务器:"连接建立!报上用户名和密码吧。"(发送 PADS)
问题来了:你的电脑喊的时候,全网络都能听到。
如果有人比真正的服务器更快地回一句"我在!"——你的电脑就会和这个"冒牌货"建立连接,然后把密码乖乖交出去。
这就是一场"赛跑"。谁先到,谁就赢。





第二幕:为什么FPGA能赢?
校园网服务器是一台运行 Linux 的计算机。接收到你的广播后,数据要经过:网卡驱动 → 操作系统协议栈 → 用户态程序 → 再原路返回。一来一回,即使有缓存也要1.6毫秒,没缓存更是要20毫秒。
而我们的FPGA呢?
FPGA是纯硬件。没有操作系统,没有驱动程序,没有"等CPU排队"。数据从网线进来,经过硬件状态机直接处理,组好回复帧就从另一个口发出去。整个过程:
0.7毫秒。
这就好比:服务器是一位经验丰富但动作稳重的大厨,要看菜单、找食材、起锅烧油;而FPGA是一台已经把所有食材摆好的自动炒菜机——食材一到,毫秒级出菜。
| 0.7 ms | ||
| 否 | ||
| 天然并行 |
服务器还没反应过来,FPGA已经发完了回复,你的电脑已经"上钩"了。
第三幕:然后呢?密码就这么被"偷"了?
握手成功后,就进入了"Session阶段"。这时候假服务器(FPGA)会告诉你的电脑:"请用 PAP协议 验证身份。"
PAP 是什么?它是最古老、最简单的认证方式——用户名和密码直接明文发送。就像写在一张纸上递过去,谁都能看。
电脑乖乖地把你的学号和密码用明文发了出来。FPGA收到后,通过串口传给上位机软件——屏幕上赫然显示:
用户名:202312345
密码:woshidaxuesheng666全程不到一秒。
第四幕:硬件的代码长什么样?
你可能好奇:纯硬件怎么处理这么复杂的网络协议?
答案是:状态机。
我们用 Verilog 硬件描述语言写了一个五状态的"有限状态机"(FSM),像极了一位训练有素的门卫,按步骤接待每一位"访客":
IDLE → 等待攻击指令
↓
PADI → 监听广播,提取客户端MAC地址
↓
PADO → 发送伪造回复("我是服务器")
↓
PADR → 等待客户端确认
↓
PADS → 发送会话确认,分配会话ID
↓
LCP_START → 进入LCP协商,强制PAP认证每个状态只做一件事,每件事只需要几个时钟周期。在125MHz的工作频率下,一个时钟周期才8纳秒。这就是硬件的速度——不讲道理的快。


第五幕:芯片设计师的灵魂三问 —— PPA
看完攻击过程,你可能觉得"酷是酷,但这跟IC设计有什么关系?"
关系大了。IC设计有一个永恒的灵魂三角:PPA —— Performance(性能)、Power(功耗)、Area(面积)。
这个PPPoE实验,恰恰是PPA的一个有生死线的实战案例。
P — Performance:快不够就输
这不是一个"能跑就行"的设计。如果 FPGA 响应比服务器慢哪怕 0.1ms,攻击就失败了。
• 当前 Fmax = 125MHz,响应 0.7ms → 攻击成功 • 如果关键路径太长,Fmax 掉到 80MHz → 响应膨胀到 1.1ms → 逼近红线 • 如果服务器升级到 0.5ms → 必须 pipeline 优化,把延迟压到 0.3ms
这就是"性能"在现实中的含义:不是跑分越高越好,而是有一条"不及格线"摆在那里。
就像华为被禁售 EUV 光刻机后,用 7nm DUV 多次曝光硬扛——不是追求极限性能,而是够不够用。
P — Power:从实验室到产品
当前FPGA实现功耗约1.5W。听起来不多?
但如果这个设计要部署到卫星上做网络入侵检测(星载场景),功耗预算只有100mW——你需要:
• 空闲时 clock gating(设计99%时间在等待PADI) • 帧缓存从寄存器改为 SRAM(576-bit register → BRAM) • 如果流片为28nm ASIC,功耗可以降到30~80mW
同一个功能,从"能用"到"能卖",功耗可以差50倍。 这就是为什么IC设计师值钱。
A — Area:资源就是钱
当前设计用了约2000个LUT。能不能更少?
每一个优化都是 trade-off。 省面积可能掉性能,提性能可能涨功耗。芯片设计师的日常,就是在这个三角形里找到最优平衡点。
这跟英伟达的 H100 vs H20 一个道理:功能一样,PPA 不同——一个卖10万美元,一个只能卖1万。
第六幕:手机连 WiFi 也会中招吗?
有同学会问:我用的是手机连 WiFi,又不插网线,这攻击能打到我吗?
答案是:看你们学校用什么认证方式。
如果你的校园网是"连上WiFi后还要拨号"(很多学校确实如此)——恭喜,你的 PADI 广播帧会被 AP 桥接到有线侧,FPGA 照样能抓到。手机、笔记本、平板,一个都跑不掉。
如果你的校园网用的是 WPA2-Enterprise(连 WiFi 时直接输入学号密码)——那你是安全的。因为整个过程根本不走 PPPoE 协议,FPGA 监听不到任何东西。
更进阶的玩法:如果 AP 做了隔离(FPGA 收不到 WiFi 用户的广播),攻击者可以用一个 ¥50 的路由器发射一个同名假热点(安全圈叫"Evil Twin")。你的手机会自动连接信号更强的那个——然后你的 PPPoE 拨号请求就直达 FPGA 了。
为什么不干脆在 FPGA 上直接做一个 WiFi? 因为 802.11 协议的硬件复杂度是以太网的 25~50 倍(OFDM 调制 + CSMA/CA + WPA2 加解密),还需要额外的射频芯片。花 50 倍的面积和功耗,只为替代一个 ¥50 的路由器——这笔 PPA 账怎么算都不划算。
这就是工程师的智慧:让每个模块做它最擅长的事。 FPGA 做高速帧处理,路由器做无线接入。分工合作,成本最低。
第七幕:如何防御?
看到这里,你可能已经开始担心自己的密码了。别慌,现代校园网早就不用 PAP 了。
现在主流的认证方式是 CHAP(Challenge Handshake Authentication Protocol)或 EAP,它们不会直接传输密码,而是用"挑战-应答"的方式验证身份——就算被截获,攻击者拿到的也只是一串无法逆向的哈希值。
这个实验告诉我们三件事:
1. 协议设计很重要。一个不安全的认证机制(PAP),可以被硬件级别的攻击轻松攻破。 2. 了解攻击,才能更好地防御。 知道"坏人"怎么做,才能设计出更坚固的系统。 3. PPA 不是课本概念,而是生死线。 快 0.1ms 就成功,慢 0.1ms 就失败——IC设计的每一个trade-off都是真金白银。
这个实验能教给你什么?
如果你是通信/电子信息/计算机专业的学生,这个实验覆盖了你课堂上学的好几门课的知识:
| 集成电路设计 | PPA三维分析:Fmax是性能红线、clock gating降功耗、FSM编码/FIFO深度决定面积 |
这不是做个LED闪烁就结束的实验课。 这是一个完整的、能跑在真实网络上的系统。你能亲眼看到自己写的Verilog代码"偷"到了密码——这种成就感,只有动手做过的人才懂。

最后:想不想亲手试试?
这个项目来自全国大学生FPGA创新设计竞赛的参赛作品。我们已经把它改造成了教学实验——
• 演示模式(30分钟):跑一遍仿真,看波形里完整的协议交互过程 • 进阶模式(4~6学时):自己综合下板,在实验室搭建真实攻防环境
我们的"通信芯片设计基础"课程实验体系中,已经有亚稳态随机数发生器、FSM 编码 PK、跨工艺 STA 对比等精心设计的关卡。而这个 PPPoE 实验,将作为 L8 选修关卡,带你从"写代码点亮LED"跨越到"用硬件搞网络攻防"。
硬件不只是焊电路板。硬件可以比软件快30倍。硬件的每一个bit都是PPA的trade-off。硬件可以做你从未想过的事情。
如果你觉得"桌上摆一块开发板太明显了"——没错,高级玩法是把这套逻辑做进一张PCIe网卡里,插到电脑上看起来就像一台普通PC。但这里面又是一道PPA题:PCIe接口要多花3倍面积、5倍功耗,却不会让攻击快哪怕0.01ms。值不值?什么时候值?这就是IC设计师天天在做的决策。
当然,还有第二层攻击,比如你想让凌晨还在宿舍打游戏大喊大叫的舍友下线,还有第三层DDoS共计,不断地向服务器报告下面有网络故障,于是整栋楼就断网了。。。这些都可以使用一块便宜的FPGA就能实现。
下节课见。
完整演示视频如下:
尾注
本实验仅供教学演示和网络安全研究。所有演示在隔离实验环境中进行,严禁用于任何未授权场景。
参考项目:第五届全国大学生FPGA创新设计竞赛 · 0959-师兄皇朝队
课程:通信芯片设计基础 | 任课教师:潘伟涛
END
往期精选


FPGA技术江湖广发江湖帖
无广告纯净模式,给技术交流一片净土,从初学小白到行业精英业界大佬等,从军工领域到民用企业等,从通信、图像处理到人工智能等各个方向应有尽有,QQ微信双选,FPGA技术江湖打造最纯净最专业的技术交流学习平台。
FPGA技术江湖微信交流群

加群主微信,备注姓名+公司/学校+岗位/专业进群
FPGA技术江湖QQ交流群

备注姓名+公司/学校+岗位/专业进群
