联网设备的普及从根本上改变了现代网络基础设施。根据最新预测,到2027年,联网设备的数量将达到约300亿台[1]。然而,这种指数级增长也带来了重大的网络安全威胁。例如,Mirai僵尸网络通过利用特定设备的漏洞入侵了数百万台网络摄像头和路由器,随后发起了大规模的分布式拒绝服务攻击[2]。另一个关键例子是“BlackIoT”研究,该研究表明,由受损的高功率物联网设备组成的僵尸网络可以攻击电网,可能导致大规模停电[3]。鉴于这些严重后果,准确识别设备属性(类型、品牌、产品)已成为安全评估以及更广泛网络应用的关键前提。具体来说,细粒度设备识别对于构建准确的设备档案[4]、[5]和实现基于设备类型的动态网络管理政策[6]至关重要。此外,它还直接服务于威胁情报流程,其中需要精确的产品信息来将资产与新兴漏洞(CVEs)相关联,并实时降低风险[7]、[8]。
为了应对这一迫切需求,设备识别研究主要沿着两种途径发展:传统的指纹识别方法和数据驱动技术。第一种方法基于手动策划的规则集和静态指纹数据库[9]、[10]、[11]、[12]、[13]、[14]、[15]、[16]。这些方法将服务探测期间返回的文本响应(设备信息)与已知签名进行匹配,以确定设备的属性。虽然对已知设备有效,但这种方法的有效性受到其静态设计的根本限制。具体来说,它只能识别那些已经明确创建了指纹的设备,对新产品、固件变体或定制实现无法识别。此外,依赖手动策划造成了严重的可扩展性瓶颈,因为专家必须单独分析并为每个新设备创建指纹——这一任务无法跟上设备增长的步伐。为了克服手动指纹识别的刚性,出现了第二种方法,该方法利用数据驱动技术,从传统的机器学习[19]、[20]、[21]、[22]到最近的深度学习方法[5]、[23]、[24]、[25]、[26]、[27]、[28]、[29]。这些方法试图从大量设备响应数据中学习通用模式。然而,尽管它们具有更大的灵活性,但这些方法也有自己的关键依赖性:训练数据。模型只能可靠地识别在训练期间有充分代表的设备类型和品牌,遇到以前未见过的设备时性能会大幅下降。因此,这两种方法都有一个共同的弱点:它们无法适应新设备的持续出现和现有设备的动态演变,随着物联网生态系统以前所未有的速度扩张,这一限制变得越来越严重。
鉴于这一根本的泛化障碍,大型语言模型(LLMs)的最新出现提供了一种有前景的新方法。像GPT-4[30]和Llama-3[31]这样的模型展示了出色的零样本推理能力,使它们能够通过深入的语义理解来理解和解释以前未见过的内容。这一固有能力理论上使它们能够克服先前方法的静态限制。与依赖精确匹配的基于规则的系统或受固定特征空间限制的传统机器学习模型不同,LLMs可以利用其广泛的世界知识来解释不熟悉的设备信息格式并推断设备属性。然而,从这种通用潜力转变为专门且可靠的识别工具并非易事。我们的初步实验表明,将通用LLMs直接应用于设备识别面临三个必须解决的关键挑战。
挑战1:设备信息包含高度专业化的 semantics,与用于训练通用LLMs的自然语言语料库[25]有很大不同。这些信息整合了特定协议的字段、品牌缩写、产品标识符和技术术语,违反了标准的语言模式。因此,通用LLMs在遇到不熟悉的设备信息格式时往往会错误解释关键设备指标或生成错误的属性。
挑战2:最先进的LLMs的计算要求对大规模设备识别提出了相当大的可扩展性挑战[32]、[33]、[34]。通过具有数百亿参数的LLMs处理数百万条设备信息会带来高昂的计算成本。此外,这些模型生成的复杂推理链虽然可能更准确,但进一步加剧了延迟和资源消耗问题。
挑战3:现实世界中的设备信息经常包含不完整或模糊的信息[26]。诸如品牌名称或产品编号等重要属性可能缺失或被混淆。如果没有外部知识来源或专门的推理策略,即使是复杂的LLMs也难以准确推断缺失的属性。
为了解决这些挑战,我们提出了NetID-GPT,这是一个专为大规模联网设备识别设计的基于推理的端到端LLM框架。该框架基于Llama-3-8B-Instruct[35],并进行了任务特定的微调,整合了三个协同工作的组件,从而解决了这些问题,使LLMs能够克服现有方法的泛化障碍。
首先,通过“长信息压缩分析”(CLBA)解决了专门设备语义和高昂计算成本的双重挑战。该组件采用两阶段知识蒸馏过程,使用强大的教师模型生成然后压缩专家级别的推理链。这种方法不仅为我们的微调模型提供了准确解释设备信息的领域知识,还实现了推理令牌减少71%,使其能够在互联网规模上实际应用。
此外,我们的框架通过“超出上下文的分块和整合”(CICEB)保持了半结构化数据的结构和语义完整性。CICEB的核心创新是其基于结构的分割策略,能够智能地在逻辑边界处分割信息,确保输入模型的每个部分都是语法完整且连贯的单元。
最后,为了克服信息不完整或模糊的问题,NetID-GPT配备了“缺失设备属性检索”(RADA)模块。该模块通过从精心策划的本地知识库和实时网络搜索API中获取外部知识来补充缺失的品牌或产品名称。这种检索机制在现实世界场景中至关重要,分别使品牌和类型识别的F1分数提高了16.09%和20.15%。
我们的主要贡献如下:
•我们介绍了NetID-GPT,这是一个专为网络设备识别设计的基于推理的端到端LLM框架。通过用蒸馏的领域知识微调模型,我们的方法能够准确解释通用LLMs经常误解或无法正确解析的协议信息。
•我们开发了CLBA,这是一种两阶段蒸馏策略,可以在大幅降低计算成本的同时保持专家推理。通过系统地压缩推理链,我们的方法在不牺牲识别准确性的情况下将推理令牌减少了71%,从而解决了在互联网规模上部署LLMs的关键挑战。
•我们设计了一个双组件系统来处理现实世界设备信息的固有限制。CICEB组件通过结构感知的分割确保了信息的完整提取,而RADA模块通过整合外部知识源来恢复缺失的属性。这两个组件共同使得即使在信息不完整或碎片化的情况下也能实现准确识别。
•我们进行了全面的实验,证明NetID-GPT在所有识别层面上的F1分数均超过95%,优于传统的设备识别方法和最先进的LLMs,同时支持23种协议和587个设备品牌。
•通过对从实际互联网扫描中收集的200,000条设备信息进行实际部署,我们验证了我们方法的实际有效性。NetID-GPT成功识别了193个品牌和31种类型的7,917个不同产品,精确度超过95%,证明了其在处理多样化和噪声较大的现实世界数据时的稳健性。