把握好这6种学术文章研究范式,还愁发不了核心期刊吗

核心提示每一篇论文背后都有一个独特的故事,但它们产生的方式往往可以归类为几种范式。以下我将提供6种研究思路的范式,并通过具体的例子加以说明。注意这些范式可能并非完全契合。它们只是一些简单的方式,用来展示一个研究思路是如何产生的。一旦你掌握了其中某几

每一篇论文背后都有一个独特的故事,但它们产生的方式往往可以归类为几种范式。

以下我将提供6种研究思路的范式,并通过具体的例子加以说明。注意这些范式可能并非完全契合。它们只是一些简单的方式,用来展示一个研究思路是如何产生的。一旦你掌握了其中某几个范式,想出新的研究思路将是小菜一碟。

范式1:填补空白

这是我大学期间,在微软的Harry Shum博士关于研究的报告上听到的一个简单的范式。这个想法在概念上其实很简单。

读几篇关于某一主题的论文,记下这些论文在系统、方法、技术、数据集等方面提供的前提假设、证明支撑/属性特点等方面的差异,即下面所提到的“维度”,然后画一张表来进行“维度”比较。

找到其中的“空白”,即未被考虑或涉足的部分,这些都是潜在的新的研究思路。

表1 填补空白范式示例

以对抗机器学习领域为例,许多研究人员最初关注的是图像。例如,如何扰乱一张猫的照片,使它被错误地识别为香蕉。很快,其他领域诸如视频、音频和恶意软件也被拿来做对抗研究。

另一个简单的例子是:研究人员可能已经应用静态分析技术来自动发现某些类型的漏洞,但还没有人应用动态分析技术来做这件事。接下来,你可以调研静态分析与动态分析在发现特定类型漏洞上的优缺点。

当然,现实中也存在各种类型的静态分析和动态分析技术。你可以制作一个更为细粒度的表格来发现更多的“空白”部分。同样地,如果你已经对某种特定类型的漏洞进行过研究,还可以对其他不同类型的漏洞进行研究。

成功应用此范式的关键是绘制出该对比空间中存在的“维度”。你研究得越深,就越有可能找到可以被研究的“空白”部分。例如,你必须熟悉不同种类的程序分析技术,然后才能绘制出一张表格并确定某个特定的技术并没有被用来解决过某个问题。同样地,你需要了解不同类型的漏洞。

识别“维度”通常有两种常用的方法。第一种方法,广泛阅读大量论文,寻找类似主题论文之间的差异。相信我,当有一天需要用到相关的论文知识时,这将会很方便。

另一种方法,阅读综述文章,因为它们通常已经在多个“维度”上进行了总结梳理。在网络安全领域,IEEE安全与隐私会议每年以知识体系化的形式接收并发表若干篇论文。如果你感兴趣的话,它们绝对值得一读。

范式2:扩充延伸

这是“填补空白”范式的自然递进。正如上文所提到的,绘制空间中一些好的“维度”可能是最具挑战性的一步。但是,如果你在某个方向已经有了一些研究思路,就可以从特别的角度看到别人不容易找到的“维度”。

我们发表在USENIX Security 2016上进行TCP侧信道攻击的论文“Off-Path TCP Exploits:Global Rate Limit Considered Dangerous”就是基于这种范式驱动的。

我们之前的工作,对攻击条件要求非常高,即假设一个非特权级别的恶意软件已经安装在受害者的智能手机上。

而这篇论文则努力减轻对这样要求苛刻条件的依赖,这也使得我们发现了一个全新的攻击侧信道。实际上,我已经基本绘制出了关于攻击需求的“维度”,即“攻击需求:恶意软件丨防火墙丨无”。

我们发表在CCS 2020的论文“DNS Cache Poisoning Attack Reloaded:Revolutions with Side Channels”也属于这一类。这是另一篇侧信道文章,在文中我们将侧信道经验从TCP迁移到UDP,漏洞的利用本质其实是非常相似的。

实际上,这两篇文章是在Linux内核实现中寻找TCP/UDP套接字之间的共享资源。所以这里的“维度”是关于不同类型的网络协议。

范式3:造锤找钉

该范式也是在Harry的演讲中学到的,我将其归纳进行介绍。

概括性的想法是,如果你拥有独一无二的专业知识、技术、系统、甚至数据集,你就可以充分利用它们寻找有趣的问题来进行解决。

例如,密歇根大学Peter Chen教授的团队在虚拟机方向拥有充足的专业知识,并且开发了许多有趣的应用程序。如果我没记错的话,Peter的团队构建了世界上第一个完整的虚拟机记录和重播功能。这对于调试、入侵追踪具有十分重要的作用,该领域已经发表许多高质量的论文。

我的团队也在网络侧信道方向发表了一系列论文,从起始于2012年的TCP到2020年的UDP和DNS方向。

在这个过程中我们掌握了关于发现网络侧信道充足的专业知识。网络侧信道是一个公认的小领域,没有太多的竞争。通过这种方式积累专业知识的好处是,一旦你深入到某一个主题中,你就会更容易找到新的问题来解决。

在网络安全领域中,UCSB大学研究人员开发的名为Angr的系统也值得一提。Angr是现今技术最为成熟的二进制分析框架,最初是为DARPA计算机网络挑战大赛开发的。

自2016年论文发表以来,该系统一直是开源的。由于它的工程设计和开发都十分完善,很快就在学术界和工业界中流行起来。事实上,我们也在一些项目中使用了它。作者自己也利用该工具为多种安全应用构建了后续项目。

最后一个例子是关于数据集的,即UCSD大学的应用互联网数据分析中心。CAIDA的研究人员开发并部署了若干个基础测量设施,持续运行着多个互联网测量项目,收集大量的互联网数据。由于其他研究人员并未拥有这些数据,他们能够基于这些大量的独特的数据集展开很多有趣的测量研究。

在我看来,尽管这是一种很好的研究方式,有一定的影响力并且可持续研究,但并不一定适用于所有人。首先,构建专门知识、系统或基础设施直到开始有收益,可能会非常耗时。其次,这类计划有时需要整个团队来进行构想、计划和组织。最后,只有少数群体主导着一个领域,除非你有独特的视角,否则要超越他们是非常困难的。换句话说,如果你能找到很多人需要的东西,但目前还没有好的解决方案,那么它可能是值得考虑的。

范式4:以小见大

一个研究想法通常从一些微小或偶然的发现开始,而你需要将这个想法深入研究以确定其是否足以支撑一篇可被发表的文章。确认是否需要深入研究或投入多少时间进行深入研究是需要技巧的。

根据我的经验,下述信号预示着这个想法或许是值得深入研究的:1.当你第一次发现该现象时,你觉得这个现象是如此有趣、如此让你惊喜;2.当你深入挖掘时,你发现这一现象背后有深层次的解释;3.你能发现与之类似的现象。

以我所在团队发表在CCS 2016上的论文“Android ION Hazard:the Curse of Customizable Memory Management System”为例,在测试安卓系统上可能被潜在的恶意程序利用的接口时,我的学生Hang偶然发现了一个有趣的设备文件“/dev/ion”:该接口允许任何应用程序在“预先存在的堆”中分配内存并将其映射至用户空间。

令人惊讶的是,我们发现该接口所返回的内存并未被“清零”,即能看到该片内存的使用者之前存储在内存中的数据。

这意味着我们发现了一个信息泄露的漏洞,尽管该漏洞类型已经存在而且漏洞自身并不能直接形成一个研究项目,但进一步的研究发现严重性远不止于此:该接口的引入暴露了操作系统内核所使用的内存。

确认这一点是基于如下事实:与被设计用来与用户态软件交互的接口不同,出于性能考虑这类内部接口不会主动将重新分配的内存清零。更糟糕的是,不同的安卓智能手机对“/dev/ion”有其自定义的实现这也意味着该接口存在着更大的研究空间。

范式5:推陈出新

你可能会想:如何才能找到这些细微的想法?方法之一便是复现前人论文的成果。

事实上,论文中的结果和你所复现的结果可能并非完全一致。其背后的原因可能是:1.作者无意中所犯下的错误;2.结果本身便不是能够百分之百复现的,如对某些随时间变化的互联网现象的测量;3.论文中提出方法的基准有失偏颇或数据集相对片面。

事实上,前人工作的局限意味着提升的空间。即使你设法按照预期百分之百地复现出了论文中相同的结果,在复现中你也可能得到全新的灵感。

对于上述范式,在由清华大学牵头、我所在的团队深度参与的发表在USENIX Security 2020的论文“Poison Over Troubled Forwarders:A Cache Poisoning Attack Targeting DNS Forwarding Devices”的相关研究中,学生曾被要求复现CCS 2018的论文“Domain Validation++ For MitM-Resilient PKI”。

CCS2018的文章使用了一种特殊的测量手段来展示其所提到的攻击方法的普适性。有趣的是,复现的结果要比原文所展示的结果消极许多。对造成这一消极结果的原因的深入挖掘促成了一种可以绕过现有防范体系的新的攻击方法的提出。

范式6:外部资源一一

从工业界与新闻信息中吸取营养

对于网络安全这种实践性较强的领域,与业内人士建立联系、了解其需求和痛点可能会给你的研究带来全新思路。

相比学术界,工业界拥有更多的资源,但其思维方式与处理技术问题的优先级却和学术界有所不同:工业界通常强调抗拒风险,对方案的可靠性要求较高。

而学术界的好处是:探索性的工作是被允许的,不会要求一次性地解决所有的问题。如果解决某个问题,某种意义上甚至可以自己定义“解决”的标准。如果你正在研究一个行业中亟待解决的问题,并且对该问题尚无完善的解决方案,那么对这个研究项目来说,其“成功”门槛会大为降低。

我个人经常会从外部资源得到的灵感中获益。几年前,通过与业内人士的交谈,我发现软件的“打补丁”流程中存在着巨大的问题。

以Linux和安卓内核为例,当一个补丁被提交到上游Linux内核中时,下游内核分支的维护者需要手动检查这些补丁是否需要“应用”到他们的内核。这是一个耗时且容易出错的过程,重要的安全补丁可能会延迟应用甚至直接丢失。

更糟糕的是,下游内核分支的使用者很难对内核分支的补丁情况进行审核。以安卓为例,绝大多数内核分支供应商并不提供其源代码的完整提交记录。这促使了自动化测试二进制内核中是否存在补丁的工具的开发,该项工作被发表在USENIX Security 2018上“Precise and Accurate Patch Presence Test for Binaries”。

随后,我们完善了该工具,并在USENIX Security 2021上发表了另一篇论文“An Investigation of the Android Kernel Patch Ecosystem”,进一步研究了补丁传播缓慢的根本原因。

而新闻作为另外一个外部资源,同样能够给人带来灵感。事实上,我从几位教授那里学到了这一点,他们使用推特作为其科技新闻源。我们做的一个有趣的项目就是这样从“民情”中得到了启发,这项工作发表在CCS 2015“Android Root and its Providers:A Double-Edged Sword”。

当时“root”安卓手机很流行,用户借此自定义操作系统并解锁非“root”时无法实现的新功能。在这样的需求下,许多“一键root”应用程序被开发出来,而这些应用程序所适配的手机型号种类繁多。“一键root”本质上是对手机操作系统内核所发起的攻击。

我不禁思考,“一键root”应用程序的开发者究竟掌握了多少能够提升权限的漏洞?其中是否存在未被公开的漏洞?攻击者是否能够窃取这些漏洞并发动攻击?经研究发现,这些root应用程序中有一部分是由业内顶级黑客开发的,其可利用的漏洞超过100种,而攻击者确实能够通过某些手段窃取并利用这些漏洞,这是非常可怕的。

网络安全研究中特有的其他范式:

1.对抗性研究。由于安全在本质上是攻防对抗,你总是可以尝试攻破现有的防御机制或者针对已有的攻击技术建立防御方案。实际上,我经常看到一篇新奇的攻击论文发表后,相关的防御论文尾随其后。

2.流程自动化。许多系统安全分析总是需要一些手工操作,至少在某些设置中是这样。使这些过程自动化起来的应用技术,如程序分析,具有重要的研究价值。这可能是一种在网络安全之外但在系统安全中非常常见的范式。

还有一些其他的范式没有提到,我鼓励你去思考一篇论文的思路是如何产生的,一有机会就和作者交谈,并关注你喜欢的研究人员,在他们的论文中寻找研究思路。我相信你会在某一时刻走向你自己的研究之路!

*本文截取自《如何在计算机应用领域寻找研究想法?》,内容有所删减

声明:版权归原作者所有,本文旨在分享,如涉及版权问题请及时联系我们,我们将第一时间处理。感谢您的阅读。

西安优学电子信息技术有限公司

电话:029-81876856

网址:http://www.ulearn.cc

地址:西安市高新区科技三路融城云谷A座8层

#扫码关注我们#

全力打造智慧教育品牌

 
友情链接
鄂ICP备19019357号-22