21个解决方案总结 (LB: 0.894)
21个解决方案总结 (LB: 0.894)
作者:Vasilis Konstantakos
发布时间:2022-09-12
大家好,
首先,我要感谢主办方组织了这样一场精彩(且让人上瘾!)的比赛,并一直陪伴我们在 Discord 上度过这段时间!这确实是一次非常独特且富有教育意义的经历,尤其是因为这是我第一次参加夺旗赛(CTF)形式的比赛。这也是一次非常愉快的经历;嗯,除了一个例外(是的,我说的就是你,树懒/Sloth)!
我想在这里总结一下我对所有挑战的解决方法,并在必要的地方附上相应的代码。希望能有所帮助。
- Math(数学):我只是使用了 DBSCAN 和 PCA 来寻找每个子任务的簇和维度 [代码]。
- Hotdog and Hotterdog(热狗):对于第一个挑战,我将一张热狗图片叠加在 Chester 上;对于第二个挑战,我使用通用的梯度攻击(以 InceptionV3 和 MobileNet 为代理模型)来欺骗网络 [代码]。
- Bad to good(坏变好):我在这里没有找到很好的自动化解决方案。在 DBSCAN 聚类结果的指导下,我尝试为不同的学生调整不同的数值 [代码]。
- Baseball(棒球):尝试了具有不同边界的不同分布,以了解每个球员的投球情况。然后尝试手动模仿 Henry 的投球 [代码]。
- DeepFake(深度伪造):使用预训练的一阶运动模型(First Order Motion Model)快速生成了一段 DeepFake 视频 [代码]。
- Honor Student(荣誉学生):简单地将 F 修改得看起来像 A [代码]。
- Theft and Salt(盗窃与盐):使用 ART 库分别对通用模型或提供的模型执行梯度攻击。
- Token(令牌):检查可能“欺骗”(不同步)分词器的关键词(例如 SECRET、BLANK 及相应的词干)[代码]。
- WAF(Web应用防火墙):尝试了这里的各种漏洞利用代码,直到找到合适的一个;然后利用空格绕过了它 [代码]。
- Inference(推理):使用 Kaggle 手写字符数据集尝试各种字母,直到获得非常易于管理的搜索空间。然后在循环中尝试组合 [代码]。
- Forensics(取证):仅查看模型摘要 [代码]。
- Leakage(泄露):使用提供的模型,从用户名开始逐字符生成预测 [代码]。
- Murderbot(谋杀机器人):训练了多个分类器,并以它们的加权平均值作为最终预测 [代码]。
- Wi-Fi:可视化解决方案:提取 token,将其绘制在不同的嵌入空间中,沿着路径追踪,最终拿到了 flag [代码]。
- Crop1(裁剪1):使用带有 Optuna 的贝叶斯优化来最小化评分函数。遗传算法也能解决问题。
- Crop2(裁剪2):??(尝试了一些模型反转攻击和投毒逆向工程,但未成功)。
- Sloth(树懒):我不想谈论这个……([