Reliable Hierarchical Operating System Fingerprinting via Conformal Prediction
本文引入并评估了两种结构化符合预测策略——层级式 CP(Level-wise CP)与基于投影的 CP(Projection-based CP),旨在通过展示前者更紧凑、更符合人类直觉的预测集与后者更具结构一致性、更符合策略要求的预测集之间存在的根本权衡,来解决操作系统指纹识别中扁平化分类的局限性。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下你是一名数字侦探,正试图弄清楚互联网上正在与你交谈的电脑究竟是什么类型的。它是一台 Windows 笔记本电脑、一部 Android 手机,还是一台 Linux 服务器?这种侦探工作被称为“操作系统指纹识别”(OS fingerprinting)。通常,侦探们会观察这些计算机发送消息时的一些微小且独特的特征——比如它们开始握手的方式,或者它们数据包的大小。但问题在于,互联网是一个混乱的地方。有时,线索是模糊的。一个标准的侦探可能会自信满满地大喊:“它绝对是 Android!”但实际上它可能是一部 iPhone。在涉及高风险的安全领域,这种自信的错误可能是灾难性的。
为了解决这个问题,科学家们使用了一种数学工具——“符合预测”(Conformal Prediction)。与其把它看作是一个给出单一答案的预言水晶球,不如把它看作是一个安全网。它不说是“它是 X”,而是说“它几乎可以肯定属于 X、Y 或 Z 中的一种”。这提供了一个保证:如果你将你的安全网设置为捕捉 95% 的情况,那么无论数据变得多么奇怪,它都能在 95% 的时间内成功捕捉到目标。但这里有一个陷阱:操作系统不仅仅是一个平铺的名称列表;它们是一个家族树。Windows 是祖辈,Windows 10 是父辈,而 Windows 10 22H2 是子辈。如果你的安全网说“它是 Mac”,但同时也说“它是 Windows 10”,那就是一个逻辑混乱。本文探讨了如何构建一个尊重家族树的安全网,确保如果你猜中了某个子辈,你也同时猜中了正确的父辈。
家族树问题
在网络安全领域,识别操作系统(OS)就像仅仅通过脚步声来识别人群中的某个人。你可能会听到沉重的靴子声(Windows)、轻盈的运动鞋声(Linux),或者某种特定品牌的跑步鞋声(Android)。传统上的安全系统表现得像是一个固执己见的侦探,指着一个人说:“那就是嫌疑人!”但如果侦探错了,整个安全计划就会失败。
本文的作者意识到,操作系统具有天然的层级结构,就像一棵家族树。在顶端,有像“Windows”或“Linux”这样的大类家族。其下是主要版本,如“Windows 10”或“Ubuntu 20.04”。在最底层,则是具体的次要版本,如“Windows 10 22H2”。问题在于,标准的“安全网”方法(符合预测)通常将每个操作系统视为列表中相互独立的、无关的项目。如果你要求它们进行猜测,它们可能会给你一个包含“Windows 10”和“Android 11”的列表,却忘了包含“Windows”家族;或者更糟的是,它们可能说家族是“Android”,但具体版本却是“Windows 10”。这就像是在说:“这个动物是狗,但它也是一只猫。”这毫无逻辑。
构建安全网的两种方式
研究人员使用来自一所大学的超过 10 万条真实网络流量记录,测试了两种不同的策略来修复这种逻辑混乱。他们想看看哪种方法能在不至于过于笼统的情况下,给出一个安全且逻辑严密的可能性列表。
策略 1:独立猜测者(层级式 CP)
想象你有三个不同的侦探在处理同一个案件。一个侦探只看家族名称,另一个只看主要版本,第三个只看次要版本。他们彼此互不沟通。
- 运作方式: 每个侦探各自独立地构建他们的安全网。
- 结果: 这种方法非常精准。它会给你非常小且具体的列表。如果家族侦探确定是“Windows”,那么列表就会很小。
- 缺陷: 因为他们互不沟通,所以有时会产生矛盾。家族侦探可能说“它是 Linux”,而次要版本侦探却说“它是 Windows 10”。在他们的测试中,这导致了大约 30% 到 40% 的“层级不一致率”(HIR)。它很高效,但在逻辑上是破碎的。
策略 2:向上投影器(基于投影的 CP)
现在,想象你只有一个侦探,他观察最微小的细节(次要版本),然后沿着家族树向上工作。
- 运作方式: 侦探找到具体的叶子节点(例如“Windows 10 22H2”),然后说:“好吧,如果是这个,那么它也必须是‘Windows 10’和‘Windows’。”他将答案向上投影以填补空白。
- 结果: 这种方法在逻辑上是完美的。其“层级不一致率”正好为零。你永远不会得到一个“家族是 Windows 但子辈是 Android”的结果。
- 缺陷: 它稍微保守一些。因为它必须包含特定猜测的所有可能父辈,所以在顶层(家族层级)的列表会变大。如果侦探对具体版本不确定,整个家族树都会被纳入安全网,从而使顶层的列表变得不够精确。
巨大的权衡
本文的主要发现是,在高效性(小而精密的列表)与一致性(逻辑完美的列表)之间存在着根本性的权衡。
- 如果你需要人类阅读结果: “独立猜测者”(层级式 CP)更好。人类分析师可以看一眼显示“家族:Windows,版本:Android 11”的列表,并意识到:“噢,机器对版本产生了困惑,但它肯定属于 Windows。”他们可以用大脑来修正错误。
- 如果你需要计算机做出决策: “向上投影器”(基于投影的 CP)是赢家。自动化系统无法处理矛盾。如果命令计算机“拦截 Android”,但列表显示“家族:Windows”,计算机就会陷入僵局。投影法保证了列表始终合乎逻辑,即使列表会稍长一些。
他们的发现
研究人员进行了 50 次测试以确保万无一失。他们发现,当设定为该目标时,两种方法都成功捕捉到了正确答案至少 95% 的情况,证明了这些安全网是有效的。然而,“独立”方法产生的家族层级列表要小 10-20%,但逻辑上是混乱的。“投影”方法产生的列表在逻辑上是完美的,但由于必须考虑到每一种可能性,其家族层级的列表会稍大一些。
最后,论文指出,并没有所谓的单一“最佳”方法。这取决于谁在使用这个答案。如果是由人类进行取证工作,那么那个虽然混乱但精准的方法是可以接受的。但如果是一个机器人正在拦截网络访问,它需要那个完美逻辑化、虽然稍长一点的列表,以避免犯下愚蠢的错误。作者已将其代码和数据公开,以便他人可以在自己的网络上尝试这些方法,从而帮助构建一个让我们能准确了解所面对之物的更安全的互联网。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。