如何选择安全研究主题
James Kettle
研究总监
@albinowax
发布时间: 2023年6月14日 13:09 UTC
更新时间: 2025年4月10日 08:27 UTC
如何选择研究主题?这是我被问得最多的问题,可能是因为选择主题本身就是一个令人望而生畏的前景。在这篇文章中,我将从个人角度探讨如何选择安全研究主题。作为一个案例研究,我将使用《粉碎状态机:Web竞态条件的真正潜力》。
最难的部分
在开始之前,我应该提到,我坚信选择主题并不是Web安全研究中最难的部分。我和很多人交流过,他们有很多酷炫的想法,但从未尝试去执行。在极少数情况下,有人提到的研究想法我认为从一开始就注定失败,但很明显,尝试它仍然会为他们提供重要的学习经验——这 hardly 是一个糟糕的结果。
事实上,我认为想出研究想法也不是难事。一旦你开始研究,你可能会发现你探索的每个主题都会让你想到另外三个项目。我认为研究中最难的部分是知道何时放弃,何时继续推进。
快速失败
当我评估一个主题时,我的主要标准是,在我有足够信息决定是放弃还是继续之前,我需要投入多少时间。知道何时放弃一个主题、何时继续推进,对于研究来说是一项极其宝贵的技能,值得在开始之前仔细思考。
今年,我想探索的攻击概念最初看起来需要大量的前期时间投入。然而,我找到了一个捷径——如果我能构建一个易受攻击且相当真实的测试网站,那将证明这个概念值得追求。我构建了网站,很快发现攻击概念极不现实,并迅速转向了另一个概念。
第二个概念显示出足够的潜力,让我浪费了六周时间,然后也失败了。在寻找第三个概念时,竞态条件是一个有吸引力的主题,因为我已经从之前的项目中拥有了强大的工具。这意味着只需要大约一天的时间来调整工具,以及一两周的手动测试,看看我能否在野外发现一些重要的东西。我在不到一周的时间内发现了一个新颖的高影响力漏洞,这巩固了我对这个主题的承诺。
恐惧因素
我喜欢研究让我害怕的主题。恐惧是一个很好的指标,表明有些事情我没有完全理解,以及我不知道如何应对的挑战。竞态条件在这方面提供了很多,我在摘要中将其放在最前面和最中心的位置:
长期以来,Web竞态条件攻击一直专注于少数几种场景。由于棘手的工作流程、缺失的工具以及简单的网络抖动隐藏了除最琐碎、最明显的例子之外的所有内容,它们的真正潜力被掩盖了。在本课程中,我将介绍多种新的竞态条件类别,远远超出你可能已经熟悉的限制溢出漏洞……[阅读完整摘要]
直接影响与受众影响
作为一名安全专业人士,很容易根据直接影响来评估一个研究项目的影响。例如,多年来,我在某个流行的CDN中看到了一系列严重缺陷,我怀疑如果我直接针对它,我可以找到多种方法来接管所有客户的网站——这是Web的相当一部分。就直接影响而言,这将是相当不错的。
但当你提交给Black Hat时,他们会要求你为观众指定“三个可操作的要点”。我假设的CDN攻击演讲将如何回答这个问题?唯一需要的行动将来自那个唯一的CDN供应商——实际上,我只是在讲一个战争故事。这些可能很有趣和鼓舞人心,但这不是我的目标。
我试图选择一个主题,让观众能够带走新颖的攻击技术,以及任何使它们实际应用所需的工具或方法。
适用的受众
在过去的五年里,我的研究一直专注于HTTP请求走私和Web缓存中毒。由于我对这个主题很熟悉,直接在此基础上进行进一步研究变得相对容易,并且我始终意识到多个有前途的想法。
然而,在为去年的浏览器驱动的反同步攻击创建演示文稿时,我敏锐地意识到,它要求观众拥有异常多的先验技术知识。在少量近期研究的基础上进行构建通常效果很好,因为你可以自己总结。然而,在大量近期研究的基础上进行构建意味着,任何不熟悉的观众都会挣扎,总体上更少的人会受益。
今年,通过专注于竞态条件——一个近期发展最少的主题——我能够开始构建一个大多数与会者都会熟悉的基础。相对于去年的演讲,你可以期待这次演讲既有专家更大的潜力,又有大众更大的可访问性。
现有技能集与个人发展
我改变研究重点远离请求走私还有第二个更个人的原因。我预计请求走私在未来几年还会产生好的研究,但就像任何主题一样,在某个时候它会枯竭。如果我保持对这个主题的独家关注,我有可能变得过度专业化,并在主题停止产生成果时陷入困境。我故意选择竞态条件来避免这种过度专业化的风险,尽管我认为这比做更多的请求走私探索风险更大。个人发展是研究中一个巨大且容易被忽视的部分。我很少在几个月内重复我的演示文稿,原因相同——如果你花时间一遍又一遍地分享相同的演示文稿,你就是在牺牲新颖的研究时间。
也就是说,这里需要有一个平衡——如果你有专业知识,那将让你在某些主题上具有优势。竞态条件从一开始就吸引了我,因为我观察到低级别的HTTP怪癖可以增强这些攻击,并且我在尝试利用响应队列中毒时也在野外观察到它们。
结论
没有主题是完美的;这次演示的案例研究比平时少,因为完全自动化检测这些漏洞是不切实际的。另一方面,这留下了大量漏洞,观众只需应用方法就可以找到。
最终,我认为过度思考主题选择是一个陷阱。节省你的精力用于研究本身——你会需要它的!如果你觉得这有用,你可能也会喜欢《所以你想成为一名Web安全研究员》和演示文稿《狩猎难以捉摸的漏洞》。如果你有任何想法或疑问,请随时在Twitter或LinkedIn上联系我。希望我能在演示中亲自见到你们中的一些人!