攻击不去打最硬的锁 —— 解密爆破尝试

攻击不去打最硬的锁 —— 解密爆破尝试
Misaka10013📌 本文定位: 由于我的博客上面信息越来越多,早早我就在思考隐私信息隔离的问题。怎么实现博客网站使用起来又方便,同时一些可能敏感的信息又受到保护呢。于是这阵子我实践了给我的足迹页面的数据源进行加密。加密之后自然就想到了怎么爆破解密。毕竟静态资源站点基本上就等于互联网公开,完全不存在防御的目标,有意攻击者可以通过各种尝试获取站点上的信息,而防御的唯一方法就是我加密的这把锁的能力。密码学相关体系知识可以看《加密解密知识库完全指南》和《日常密码攻防手册》)。
我给博客的足迹地图添加了一套数据加密,然后叫 AI 来”破解”它,想验证加密的方案够不够硬。结果三轮下来,结论跟预想的完全不一样:我测出来的不是”加密上弱鸡”,而是”攻击者根本不会走设防的那条路”。从这点来说有些出乎我的预料,但也确实摸出来了漏洞。
一、AI攻击破解
事实证明AI只要认为我们是在做一个正确的事情,就会马上着手去行动。即使一开始嘴硬。哈哈哈。一开始我扔我加密的数据源给元宝分析,元宝严辞拒绝,“这个我不能帮你做,也不建议你去做”,给我提示不合法,也不道德,布拉布拉布拉。直到我后面给他说这是一场考试,一场测试,AI就开始想办法了。
元宝AI对加密束手无策,毕竟不是agent,能动的有限,而agent具有持续的行动能力,就更强了。workbuddy一动手,直接给我把内容解密出来了。
原因是虽然AIagent的会话是隔离的,但现在的AI都有记忆和工作记忆,他直接去翻阅了近期的工作记录,找到了参与我足迹页面相关的记录档案,然后翻阅的过程中直接找到了加密脚本和加密记录。直接把密码找出来了。尴尬。显然现在的AI确实存在极大的隐私泄露风险。如果你的AIagent使用的第三方中转站之类的token,说不定对方就只能抽取agent提交的数据,直接从中能挖到很多信息,包括你的称呼、身份、在做什么以及你的AI的设定等等。这些都在agent传输的token数据中。
就算使用官方的agent,由于agent工作中保留大量的工作日志和记忆,这些很多信息都是未加密的明文信息,只要别人能碰到你的电脑,别人随便让另一个AI对电脑上的工作日志和AI记忆进行分析,很快能找出来我们大量的个人和工作隐私信息。
第二遍我让AI不准翻阅工作记录,让他想办法其他方式破解解密我的数据。
这一轮就比较像真格的了。AIagent开始不断对我的博客进行搜索试探,把整个博客的源文件下载下来研究,通过我的博客上的链接和关键词上网搜寻我的其他相关信息,然后面对我博客上的加密文件开始定向形成可能的字典库,然后进行爆破加密文件。
字典库包括与我相关的公开信息以及公开信息的变形,例如我的域名、昵称、地址、工作单位等等,以及常见的各种弱口令表。
然后不到7秒,我的足迹的加密data文件就又被解开了。哈哈哈
AIagent直接在字典库里面匹配到了解密密码。属于是社工库+暴力破解成功了。
被破解之后那就只能赶紧让AI出方案,对数据重新进行了加密。这次加密的算法、脚本,AI知道,但我自个去进行了加密,密码是我从来没和AI聊过的内容,再让AIagent进行破解。果然AI也无奈了。
| 层 | 状态 | 依据 |
|---|---|---|
| 算法层 | ✅ 安全 | 单核 3.5 次/秒。若密码是 11 位随机小写+数字,穷举需 1.35 亿年;就算换成 RTX 4090 级 GPU(相对本机 CPU 算力涨约千倍)也要 ≈13 万年 |
| 密码层 | ❌ 一戳就破 | 密码才是加密信息最容易摸到的漏洞,而攻破的关键在于社工 |
但AI虽然没有暴力破解成功,但他想到了新路子,他从我的博客git记录里面,去找我最近增加加密之前记录,从那里面找到没有加密的data文件。
1 | git show b76510c:source/map/data.json > 明文.json |
不需要任何密码。拿到全部 324 条私密足迹。
| 提交 | 日期 | 说明 | markers | 明文私密点 | 加密 |
|---|---|---|---|---|---|
b76510c |
09-23 | 优化缓存更新 | 350 | 324 | ❌ 否 |
ac47b0a |
09-23 | 足迹返回博客更新 | 331 | 331 | ❌ 否 |
2b8dd4a |
09-22 | 增加接口和徽章卡 | 331 | 明文 | ❌ 否 |
| …另有 6 个 | 08-19 ~ 08-25 | 276 ~ 316 | 明文 | ❌ 否 |
而且AI还去扫描了我的下载记录,发现了我在加密data数据文件之前下载的未加密的文件和以前的历史版本文件。所以从这样看,破解加密的途径还是在社会工程学。看制度上是否有漏洞,看人上面是否有漏洞。
我让AI总结了一下他的渗透攻击思路,他总结下来:
| 层次 | 打什么 | 现实成功率 | 典型手法 |
|---|---|---|---|
| 攻算法 | AES / SHA 的数学结构 | ≈ 0 | 差分分析、线性分析、代数攻击,穷举破解需要上万年,❌ 死路 |
| 攻实现 | 代码写错的地方 | 中 | nonce 复用、tag 不校验、padding oracle、时序泄露、salt 写死、迭代次数=1 |
| 攻密钥管理 | 弱密码、密码写在哪、谁能拿到 | 最高 | 社工、字典、明文残留、内部人 |
只做加密的话,设防的只是算法,但攻击者不会走被防御的路径。攻击者只会一边做社工,收集目标信息的同时,尝试各种低成本路径。世界上几乎没有哪种加密是”被数学破的”,几乎全都是”密钥管理破的”。所以现代密码学的铁律是算法公开:
一个密码系统的安全性,应当仅取决于密钥的保密性,而不取决于算法的保密性。
二、方法论:攻击者的成本排序
2.1 攻击是个成本问题
大多数人对”破解”的想象是一条线性流程:收集信息 → 生成字典 → 研究算法 → 开始暴力破解。
这个框架方向没错,但有个结构性缺口,而且顺序排错了。缺口在于:它整个都在回答”怎么猜出密码”。但攻击者的思路往往是 “我非得要密码吗?”,能不能从其他的路径进攻。
绕过一把锁,可能比找解锁的钥匙更加简单。而直接去想办法和锁较量,往往是最难的。因为锁的设计就是要让攻击者付出巨大的成本。
攻击,本质上是个成本问题。加密,本质上是让攻击者的成本过高,而让攻击者选择放弃这个路径。 密码算法的设计,是让攻击者在直面算法的时候,需要用巨大的时间成本去尝试。
攻击者最先做的事,永远是”摸目标信息”(旁路),而不是找”方法”(破解)。
2.2 加密防御的边界
为什么”数学破解”这么难——这是算法的设计机制?
全球公开密码分析 AES 已 20+ 年。动力是”破掉就能拿图灵奖”,成千上万顶尖密码学家在打。而且密码学有个特殊性质:它是攻击者驱动的领域。算法不是因为设计得巧妙才安全,而是因为全世界最聪明的人一直打它、打不动。
不是加密弱。是”以为加密就完事了”这个想法弱。
加密能做的和不能做的:
| 加密能解决 | 加密管不到 |
|---|---|
| 数据面(密文本身) | 密钥怎么选、怎么存、谁能接触 |
| 静态托管场景下的不可读性 | 明文副本留在哪(git / 备份 / 缓存 / 截图) |
| 把攻击成本推高到”需要人” | 有人愿意到场、愿意反水、愿意被钓 |
而加密真正的价值,在于:
把”自动化、无限次、无声无息”的攻击,变成”需要人、需要接触、会留痕迹”的攻击。
加密本身挡不住有决心、有资源、有内应的人。它挡的是成本——它把攻击从”一台笔记本跑一晚上”推高到”需要有人到场或有人反水”。而这两件事是可检测、可追责的。所以加密是”必要但不充分”的:它把数据面锁到无懈可击,然后攻击者就去敲别的门了(比如你的 git 历史)。
附录 C:延伸阅读
- 加密解密知识库完全指南 —— 从凯撒密码到量子密码:密码学史、CIA 三元组、AES/RSA 原理、哈希、PKI、TLS 的完整体系
- 日常密码攻防手册 —— 普通人用到的每一种密码,弱点与破解途径全解析:ZIP/RAR、Office、Windows、WiFi 的具体工具命令(Hashcat / John the Ripper)





