如何选择安全研究课题:从恐惧因素到实战案例

本文分享了作者选择网络安全研究课题的实用策略,包括快速失败原则、恐惧因素利用、受众影响评估,以及个人技能发展与专业平衡,并以竞态条件漏洞研究为案例进行深入解析。

如何选择安全研究课题

James Kettle
研究总监
@albinowax

发布时间: 2023年6月14日 13:09 UTC
更新时间: 2025年4月10日 08:27 UTC

如何选择研究课题?这是我被问得最多的问题,可能是因为选择课题本身就是一个令人望而生畏的前景。在这篇文章中,我将从个人角度探讨如何选择安全研究课题,并以《粉碎状态机:Web竞态条件的真正潜力》作为案例研究。

最困难的部分

在开始之前,我需要说明,我坚信选择课题并不是Web安全研究中最困难的部分。我与许多有酷炫想法但从未尝试执行的人交谈过。在极少数情况下,有人提到一个我认为从一开始就注定失败的研究想法,但很明显,尝试它仍然会为他们提供重要的学习经验——这绝不是糟糕的结果。

事实上,我认为提出研究想法也不是困难的部分。一旦你开始研究,你可能会发现探索的每个主题都会让你产生三个以上项目的想法。我认为研究中最困难的部分是知道何时放弃,何时继续推进。

快速失败

当我评估一个课题时,我的主要标准是我需要投入多少时间才能获得足够的信息来决定是放弃还是继续。知道何时放弃一个课题、何时推进是研究中极其宝贵的技能,值得在开始前深思熟虑。

今年,我想探索的攻击概念最初看起来需要大量的前期时间投入。然而,我找到了一个捷径——如果我能构建一个易受攻击且相当真实的测试网站,那将证明这个概念值得追求。我构建了网站,很快发现攻击概念极不现实,并迅速转向另一个概念。

第二个概念显示出足够的希望,让我浪费了六周时间,然后也失败了。当寻找第三个概念时,竞态条件是一个有吸引力的主题,因为我已经从之前的项目中拥有了强大的工具。这意味着只需要大约一天的时间来调整工具,以及一两周的手动测试,看看我能否在野外发现一些重要的东西。我在不到一周的时间内发现了一个新颖的高影响漏洞,这巩固了我对这个主题的承诺。

恐惧因素

我喜欢研究让我害怕的主题。恐惧是我不完全理解某事、以及我不知道如何应对挑战的极好指标。竞态条件在这方面提供了大量内容,我在摘要中将其置于前沿和中心:

长期以来,Web竞态条件攻击一直专注于极少数场景。由于复杂的工作流程、缺失的工具以及简单的网络抖动隐藏了除最琐碎、最明显的例子之外的所有内容,它们的真正潜力被掩盖了。在本课程中,我将介绍多个新的竞态条件类别,远远超出你可能已经熟悉的限制超限漏洞…[阅读完整摘要]

直接影响与受众影响

作为安全专业人员,很容易根据直接影响来评估研究项目的影响。例如,多年来我在某个流行的CDN中看到了一系列严重缺陷,我怀疑如果我直接针对它,我可以找到多种方法来接管所有客户网站——这是Web的相当大一部分。就直接影响而言,这将相当不错。

但当你提交给Black Hat时,他们会要求你为观众指定“三个可操作的要点”。我假设的CDN破解演讲将如何回答这个问题?唯一需要的行动将来自那个唯一的CDN供应商——实际上我只是在讲一个战争故事。这些可能很有趣和鼓舞人心,但这不是我的目标。

我尝试选择一个主题,让观众能够带走新颖的攻击技术,以及任何使它们实际应用所需的工具或方法。

适用受众

在过去的五年中,我的研究一直专注于HTTP请求走私和Web缓存投毒。由于我精通这个主题,直接在此基础上进行进一步研究变得相对容易,并且我始终意识到多个有前途的想法。

然而,在为去年的浏览器驱动的反序列化攻击创建演示时,我敏锐地意识到它要求观众拥有异常多的先验技术知识。基于少量近期研究通常效果很好,因为你可以自己总结。然而,基于大量近期研究意味着任何不熟悉的观众都会挣扎,总体上更少的人会受益。

今年,通过专注于竞态条件——一个近期发展最少的主题——我能够开始构建大多数与会者熟悉的基础。相对于去年的演讲,你可以期待这次演讲既有专家更大的潜力,也有大众更大的可访问性。

现有技能集与个人发展

我改变研究重点远离请求走私还有第二个更个人的原因。我预计请求走私在未来几年会继续产生良好的研究,但就像任何主题一样,在某个时候它会枯竭。如果我保持对这个主题的独家关注,我有可能过度专业化,并在主题停止产生成果时陷入困境。我故意选择竞态条件来避免这种过度专业化风险,尽管我认为这比做更多请求走私探索风险更大。个人发展是研究中巨大且容易被忽视的部分。我很少在几个月内重复我的演示也是出于同样的原因——如果你花时间一遍又一遍地分享相同的演示,你就是在牺牲新颖的研究时间。

也就是说,这里需要平衡——如果你有专业知识,那将让你在某些主题上具有优势。竞态条件从一开始就吸引了我,因为我观察到低层HTTP怪癖可以增强这些攻击,并且我在尝试利用响应队列投毒时也在野外观察到它们。

结论

没有主题是完美的;这次演示的案例研究比平时少,因为完全自动化检测这些漏洞是不现实的。另一方面,这留下了大量漏洞,观众只需应用方法就可以找到。

最终,我认为过度思考主题选择是一个陷阱。节省你的精力用于研究本身——你会需要它!如果你觉得这有用,你可能也会喜欢《所以你想成为Web安全研究员》和演示《狩猎难以捉摸的漏洞》。如果你有任何想法或疑问,请随时在Twitter或LinkedIn上联系我。希望我也会在演示中见到你们中的一些人!

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计