2025, 36(11):4893-4905. DOI: 10.13328/j.cnki.jos.007383 CSTR: 32375.14.jos.007383
摘要:随机优化算法是机器学习中处理大规模数据和复杂模型的重要方法. 其中, 方差缩减方法(如STORM算法)因其在随机非凸优化问题中能够实现最优的$ {\mathrm{O}}\left({T}^{-1/3}\right) $收敛速率而受到广泛关注. 然而, 传统的方差缩减方法通常需要依赖特定的问题参数(如光滑系数、噪声方差和梯度上界)来设置学习率和动量, 使得它们在实际应用中难以直接使用. 为了解决这一问题, 提出了一种基于归一化的自适应方差缩减方法, 该方法无需预先知道问题参数, 仍然能够实现最优的收敛速率. 与现有的自适应方差缩减方法相比, 所提方法具有以下显著优势: (1)无需依赖额外假设, 如梯度有界、函数值有界或极大的初始批量大小; (2)实现了最优的$ {\mathrm{O}}\left({T}^{-1/3}\right) $收敛速率, 不包含额外的$ \mathrm{O}\left(\mathrm{log}T\right) $项; (3)证明过程简洁明了, 便于推广到其他随机优化问题. 最后, 通过数值实验将该方法与其他方法进行了对比, 验证了其优越性.
2025, 36(11):4906-4952. DOI: 10.13328/j.cnki.jos.007376 CSTR: 32375.14.jos.007376
摘要:软件漏洞是软件中易于被攻击利用的代码片段, 确保软件不易受到攻击是软件开发中必须重视的安全性需求. 软件漏洞预测是指对软件代码进行分析预测, 从而及时找出潜在的漏洞. 深度学习驱动的软件漏洞预测是近年来一个热门的研究领域, 时间跨度大、研究数目众多、研究成果丰厚. 为梳理相关研究成果、总结研究热点, 对2017–2024年间发表的151篇深度学习驱动的软件漏洞预测相关的文献进行综述, 总结相关文献的研究问题、进展以及遇到的问题与挑战等内容, 为后续研究提供参考.
2025, 36(11):4953-4974. DOI: 10.13328/j.cnki.jos.007356 CSTR: 32375.14.jos.007356
摘要:自从比特币诞生以来, 区块链技术在许多领域产生了重大的影响. 然而, 异构、孤立的区块链系统之间缺乏有效的通信机制, 限制了区块链生态的长远发展. 因此, 跨链技术迅速发展并成为了新的研究热点. 由于区块链的去中心化本质和跨链场景的复杂性, 跨链技术面临巨大的安全风险. IBC协议是目前最广泛使用的跨链通信协议之一. 对IBC协议进行形式化分析, 以期帮助开发者更可靠地设计和实现跨链技术. 使用基于时序逻辑的规约语言TLA+对IBC协议进行形式化建模, 并使用模型检测工具TLC验证IBC协议应满足的重要性质. 通过对验证结果深入分析, 发现一些影响数据包传输和代币转移正确性的重要问题, 并提出建议来消除相关安全风险. 这些问题已经向IBC开发者社区汇报, 其中大部分得到确认.
2025, 36(11):4975-4989. DOI: 10.13328/j.cnki.jos.007362 CSTR: 32375.14.jos.007362
摘要:最长公共子序列(longest common subsequence, LCS)是一种衡量代码相似度的可行指标. 然而, 经典LCS算法的时间复杂度较高, 难以应对大型数据集, 并且, 由于代码文本序列中的词(token)本质为一种基于离散表示的编码, 直接使用LCS算法无法有效识别文本不同但语义相似的代码片段中的关键语义. 针对这两方面的不足, 提出一种面向LCS的嵌入方法, 将代码间的LCS计算转换为代码低维稠密嵌入向量间的数值运算, 并可以利用近似最近邻算法进一步加速其计算. 为此, 设计了一个可嵌入的基于LCS的距离度量方法, 实验证明这种代码度量在提取函数关键语义的表现上优于对比嵌入工具使用的基于文本的距离或基于树的距离. 同时, 为了在嵌入过程中有重点地保留代码的关键语义, 构建了两种损失函数和相应的训练集, 识别文本上不同但语义上相似的代码元素, 使模型在检测复杂代码克隆时有更好的表现. 实验证明了该方法拥有很强的可扩展性, 且其对复杂克隆的检测能力也保持在很高水平. 将该技术应用于相似缺陷的识别, 上报了23个未知缺陷, 这些缺陷已被开发人员在实际项目中确认, 其中有些复杂缺陷是难以被基于文本的LCS算法检出的.
2025, 36(11):4990-5007. DOI: 10.13328/j.cnki.jos.007368 CSTR: 32375.14.jos.007368
摘要:Falcon作为一种后量子数字签名算法, 被选为美国国家标准与技术研究院(National Institute of Standards and Technology, NIST)首批标准化方案之一. Falcon的核心算法在实际实现中很容易出错,引发可能的密码学误用问题. 对 Falcon 核心函数进行形式化验证, 以确保其正确性是非常重要的. 在过去 10 年中,计算机辅助密码学领域将形式化方法引入了密码学工程. 这使得高性能密码实现具有了强有力的函数正确性和特定实现安全性属性的形式化保证. 贡献包括: (1) 构建了完整的证明框架, 通过形式化验证方法, 成功弥合了 Falcon 的实际代码实现与数学描述之间的差距; (2) 在 EasyCrypt 证明体系中验证了 Falcon 中的 Montgomery 模乘、NTT 算法、FFT 算法的正确性, 并对整数高斯采样算法的正确性证明方法进行了探索; (3) 给出及优化了基于 Jasmin 混合编程的 Falcon 签名与验证实现.
2025, 36(11):5008-5030. DOI: 10.13328/j.cnki.jos.007369 CSTR: 32375.14.jos.007369
摘要:随着编程命名规范的普及和自描述代码的深入实践, 传统与代码字面相似的摘要性代码注释逐渐失去开发者的青睐. 开发者更关注在理解和维护代码过程中能够提供额外信息的补充性代码注释. 但是, 补充性代码注释的生成往往需要代码之外的额外信息源, 且注释中呈现的补充内容复杂多样, 给现有工作带来很大的挑战. 将软件开发中开发者之间的Issue交流记录作为额外信息源, 提出一种基于Issue检索增强大语言模型的补充性代码注释生成方法. 该方法首先将Issue中的代码补充信息整理分类为5种类型, 再利用大语言模型从代码提交时所关联的Issue中检索出包含潜在类型补充信息的语句, 随后根据相应语句进行注释生成. 进一步, 该方法通过分析生成注释的代码相关性和Issue可验证性, 能较好地过滤生成注释中潜在的幻觉. 在两个主流大语言模型ChatGPT和GPT-4o上进行了实验. 实验结果表明, 所提方法能够将ChatGPT生成注释对于人工补充性注释的覆盖率从33.6%提升至72.2%, 将GPT-4o生成注释对于人工补充性注释的覆盖率从35.8%提升至88.4%, 显著地提升了补充性代码注释的生成效果. 同时, 所提方法所生成的注释相比现有方法能够明显提供更多对开发者有帮助的额外信息, 从而对开发者在理解一些复杂代码时具有十分重要的价值.
2025, 36(11):5031-5044. DOI: 10.13328/j.cnki.jos.007374 CSTR: 32375.14.jos.007374
摘要:属性图越来越多地用于描述带有关联关系的数据, 其异常检测日益受到关注. 由于属性图具有属性信息丰富、结构信息复杂等特点, 存在全局、结构和社区等多种类型的异常, 且异常特性往往隐藏于图的深度结构信息中, 现有方法仍存在结构信息丢失、异常节点检测困难等问题. 结构信息论使用编码树表示数据中的层次关系、通过最小化结构熵生成不同层次之间的关联, 可有效度量图中所蕴含的实质结构, 研究基于结构熵的属性图异常检测方法. 首先, 综合考虑属性图的结构和属性信息, 通过最小化图的结构熵, 构造属性图的K维编码树, 以描述其中的层次社区结构. 然后, 充分利用编码树中的节点属性和层次社区信息, 基于节点间的欧氏距离和连接程度, 设计结构异常和属性异常的评分机制, 从而确定属性图中的异常节点、检测多种类型的异常. 在多个属性图数据集上对所提方法进行对比测试, 实验结果表明, 所提方法能有效检测属性图的各类异常且显著优于现有方法.
曹思聪,孙小兵,薄莉莉,吴潇雪,李斌,陈厅,罗夏朴,张涛,刘维
2025, 36(11):5045-5061. DOI: 10.13328/j.cnki.jos.007375 CSTR: 32375.14.jos.007375
摘要:软件漏洞威胁着现实世界系统的安全. 近年来, 基于学习的漏洞检测方法(尤其是基于深度学习的方法)由于其从大量漏洞样本中挖掘隐式漏洞特征的显著优势, 得到了广泛的研究. 然而, 由于不同类型漏洞之间的特征差异和数据分布不平衡问题, 现有基于深度学习的漏洞检测方法难以准确识别具体的漏洞类型. 因此, 提出一种基于深度学习的多类型漏洞检测方法MulVD. MulVD构建了一种新型的结构感知图神经网络(SA-GNN), 它可以自适应地为不同类型的漏洞提取局部典型的漏洞模式, 并在不引入噪声的情况下重新平衡数据分布. 检验所提方法在二分类和多分类漏洞检测任务中的有效性. 实验结果表明, MulVD显著提高了现有基于深度学习的漏洞检测技术的性能.
2025, 36(11):5062-5081. DOI: 10.13328/j.cnki.jos.007379 CSTR: 32375.14.jos.007379
摘要:近年来, 基于深度学习的漏洞检测模型展示了令人印象深刻的漏洞检测能力. 通过对源代码的变量重命名实现扰动从而逃逸漏洞检测模型的对抗攻击已被广泛研究, 然而, 能否通过对源代码进行更多的扰动以提升对漏洞检测模型对抗攻击的效果并未被充分调研. 采用针对源代码的多种同义转换算子对其进行扰动, 并提出一种基于遗传算法的组合优化策略, 选择一组适应度最高的源代码同义转换算子, 以指导生成可以逃脱漏洞检测的对抗代码段. 在一个名为NonVulGen (无漏洞代码生成器, non vulnerability generator)的框架中实现了上述方法, 采用生成的对抗代码段对基于深度学习的漏洞检测模型进行评估. 考虑了最新提出的多种深度学习漏洞检测模型, 在攻击基于CodeBERT的漏洞检测模型时所提方法可以实现91.38%的平均攻击成功率, 在攻击基于GraphCodeBERT的漏洞检测模型时可以实现93.65%的平均攻击成功率, 以上结果相较于最先进的基线模型平均提升了28.94%和15.52%. 为了检验所提攻击方法的泛化能力, 攻击Devign、ReGVD和LineVul等常见漏洞检测模型, 平均攻击成功率分别为98.88%、97.85%和92.57%. 实验结果表明, 基于深度学习的漏洞检测模型无法有效区分由NonVulGen生成的对抗代码段. 进一步地, 基于训练数据生成的对抗代码段重训练漏洞检测模型, 在CodeBERT, GraphCodeBERT, Devign, ReGVD以及LineVul模型上攻击成功率均大幅度下降, 分别下降96.83%, 97.12%, 98.79%, 98.57%, 以及97.94%. 因此, 研究揭示基于深度学习漏洞检测模型存在亟待关注的对抗攻击问题并呼吁在发布漏洞检测模型之前做好模型加固工作.
2025, 36(11):5082-5101. DOI: 10.13328/j.cnki.jos.007380 CSTR: 32375.14.jos.007380
摘要:随着开源软件的广泛普及和迅速发展, 对开源软件项目的维护工作成为软件开发周期中的一个关键环节. 作为全球范围内代表性的开发者社区, GitHub往往在同一领域有着大量功能相似的软件项目仓库, 导致用户在选择合适的项目仓库进行使用或进一步开发时面临挑战, 因此协助用户准确识别项目仓库的维护状态具有重要的现实意义. 然而, GitHub平台并未提供可以直接衡量项目仓库维护状态的信息. 提出一个基于机器学习的项目仓库维护状态自动识别方法, 设计实现一套基于机器学习的分类模型GitMT, 通过有效整合动态时间序列特征和描述性特征, 可以实现项目仓库“活跃”与“未维护”状态的准确识别. 经过一系列基于大规模真实数据的实验验证, GitMT在项目仓库维护状态的识别任务中AUC值达到了0.964. 此外, 还构建一个以软件项目仓库维护状态为中心的开源数据集——GitMT Dataset: https://doi.org/10.7910/DVN/OJ2NI3.
2025, 36(11):5102-5117. DOI: 10.13328/j.cnki.jos.007387 CSTR: 32375.14.jos.007387
摘要:小程序需要为用户提供隐私声明, 告知要使用的隐私信息种类和目的. 代码与隐私声明不一致的小程序可能会欺骗用户导致用户隐私泄露. 现有一致性检测方法中, 将二者转为预设的标签进行一致性判断的方法会损失信息导致漏报, 而仅依靠代码分析的方法也难以应对混淆处理的小程序代码. 针对上述问题, 提出基于语义分析的小程序代码与隐私声明一致性检测方法, 根据定制化污点分析结果提取代码行为, 使用代码语言处理模型将敏感资源使用代码表示为自然语言, 结合隐私声明中资源使用目的, 人工检测与代码行为的一致性. 实验结果表明, 污点分析模块覆盖小程序接口的全部3种数据返回方式和4种常见数据流, 较同类方法提升小程序敏感行为发现能力; 在上万个小程序语义分析中, 发现高频调用接口的部分行为存在隐私泄露风险, 识别出真实环境中代码与隐私声明不一致的小程序.
2025, 36(11):5118-5133. DOI: 10.13328/j.cnki.jos.007321 CSTR: 32375.14.jos.007321
摘要:视觉-语言预训练(visual-language pre-training, VLP)旨在通过在大规模图像-文本多模态数据集上进行学习得到强大的多模态表示. 多模态特征融合、对齐是多模态模型训练的关键挑战. 现有的大多数视觉-语言预训练模型对于多模态特征融合、对齐问题主要方式是将提取的视觉特征和文本特征直接输入至Transformer 模型中. 通过Transformer模型中的attention模块进行融合, 由于attention机制计算的是两两之间的相似度, 因而该方法难以实现多元实体间的对齐. 鉴于超图神经网络的超边具有连接多个实体、编码高阶实体相关性的特性, 进而实现多元实体间关系的建立. 提出基于超图神经网络的多元实体对齐的视觉-语言多模态模型预训练方法. 该方法在Transformer 多模态融合编码器中引入超图神经网络学习模块学习多模态间多元实体的对齐关系以增强预训练模型中多模态融合编码器实体对齐能力. 在大规模图像-文本数据集上对所提视觉-语言预训练模型进行预训练并在视觉问答、图文检索、视觉定位以及自然语言视觉推理多个视觉-语言下游任务上进行微调实验, 实验结果表明所提方法相比于baseline方法在多个下游任务中性能均有提升, 其中在NLVR2任务上相比baseline方法准确率提升1.8%.
2025, 36(11):5134-5157. DOI: 10.13328/j.cnki.jos.007322 CSTR: 32375.14.jos.007322
摘要:网络信息来源众多、鱼龙混杂, 及时、准确地判断其是否为谣言是社交媒体认知域研究的关键问题. 先前的研究大多侧重于谣言的文本内容、用户特征或局限于传播模式中的固有特征, 忽略了用户参与事件讨论而产生的群体情绪及其产生且隐藏于谣言传播的情绪稳态特征的关键线索. 提出一种以群体情绪稳态为导向, 融合时序和空间稳态特征的社交网络谣言检测方法, 该方法基于谣言传播中的文本特征和用户行为, 将群体情绪的时序与空间关系稳态化特征相结合, 能够实现较强的表达能力和检测精度. 具体地, 该方法以用户对某事件或话题态度的情绪关键词作为基础, 利用递归神经网络构建时序关系的情绪稳态特征, 使群体情绪具有表达能力较强的时间一致性特征, 可以反映群体情绪随时间的趋同效应; 利用异构图神经网络建立用户与关键词、文本与关键词之间联系, 使群体情绪具有空间关系的细粒度群体情绪稳态特征; 最后, 将两类局部稳态特征进行融合, 具备全局性且提高了特征表达, 进一步分类可获得谣言检测结果. 所提方法运行于两个国际公开且被广泛使用的推特数据集上, 其准确率较基线中性能最好方法分别提高了3.4%和3.2%, T-F1值较基线中性能最好方法分别提高了3.0%和1.8%, N-F1值较基线中性能最好方法分别提高了2.7%和2.3%, U-F1值较基线中性能最好方法分别提高了2.3%和1.0%.
2025, 36(11):5158-5177. DOI: 10.13328/j.cnki.jos.007367 CSTR: 32375.14.jos.007367
摘要:由于语言表述的多样性和复杂性, 事件共指关系有时是通过事件描述之间潜在的关联性体现的. 已有方法大多仅基于触发词、论元等事件内部信息采用语义相似度计算方法进行事件共指消解, 难以处理上述问题. 为此, 提出了一种外部知识增强的事件共指消解方法, 通过运用大语言模型生成共指相关外部知识(主要包括篇章连贯性、逻辑关系知识和常识背景知识)来发现共指事件之间的潜在联系. 首先, 运用超大语言模型ChatGPT构造包含外部知识的训练数据. 然后, 在数据上指令微调FlanT5等基础大语言模型, 使其学习到生成共指相关外部知识的能力. 最后, 运用微调后的大语言模型生成文档级事件摘要和思维链风格的共指推理路径, 结合事件内部信息和外部知识预测共指. 在KBP数据集上的实验结果显示, 该方法的性能优于当前先进的基线模型.
2025, 36(11):5178-5196. DOI: 10.13328/j.cnki.jos.007370 CSTR: 32375.14.jos.007370
摘要:知识图谱作为结构化的知识表示形式, 在医疗领域具有广泛应用. 实体对齐, 即识别不同图谱中的等价实体, 是构建大规模知识图谱的基础步骤. 尽管已有大量研究关注此问题, 但主要集中在两个图谱的对齐任务上, 一般通过捕捉实体语义和图谱结构信息生成实体的向量表示, 之后计算向量相似度以确定等价实体. 在发现多源图谱对齐过程中存在对齐错误传递的问题的基础上, 考虑到医疗场景对实体对齐的准确性要求较高, 设计综合实体语义和本体信息的多源中文医疗知识图谱实体对齐方法(MSOI-Align). 该方法首先将多个图谱进行两两组合, 利用表示学习生成实体向量表示, 并且综合实体名称的相似度和本体一致性约束, 借助大语言模型筛选得到候选实体集合. 随后, 基于三元闭包理论结合大语言模型对候选实体集合进行自动化的对齐错误传递识别与纠正. 在4个中文医疗知识图谱上的实验结果表明, MSOI-Align方法显著提升了实体对齐任务的精确性, 与最优的基准方法相比, Hits@1指标从0.42提升至0.92. 融合后的知识图谱CMKG包含13类本体、19万实体和约70万三元组. 考虑到版权限制, 开源了受限图谱外的另外3个图谱融合的结果——OpenCMKG.
2025, 36(11):5197-5212. DOI: 10.13328/j.cnki.jos.007371 CSTR: 32375.14.jos.007371
摘要:实体对齐(entity alignment, EA)旨在寻找不同知识图谱(knowledge graph, KG)中等价实体. 目前, 基于嵌入的EA方法存在以下局限性. 首先, KG中的异构结构没有完全建模. 其次, 文本信息的使用受限于词嵌入. 第三, 对齐推理算法缺乏探索. 针对上述限制, 提出基于异构图注意力网络的实体对齐方法(heterogeneous graph attention network for entity alignment, HGAT-EA). HGAT-EA包括两个通道, 一个用于学习结构嵌入, 另一个用于学习字符级语义嵌入. 第1个通道采用异构图注意力网络(heterogeneous graph attention network, HGAT). HGAT充分利用了异构结构和关系三元组来学习实体嵌入. 第2个通道是利用字符级字面量来学习字符级语义嵌入. HGAT-EA通过多通道考虑多个视图, 并通过HGAT充分利用异构结构. HGAT-EA考虑了3种不同的对齐推理算法. 实验结果证明了该方法的有效性, 进一步结合实验结果对HGAT-EA的不同组件进行详细分析, 并给出相应的结论.
2025, 36(11):5213-5226. DOI: 10.13328/j.cnki.jos.007373 CSTR: 32375.14.jos.007373
摘要:汉语成语作为汉语写作的重要组成部分, 具有凝练的表现力和深厚的文化内涵. 它们通常是经过长期使用而固定下来的词组或短句, 来源广泛, 含义相对固定. 然而, 由于汉字的形意属性和汉语词汇、语义的古今变迁, 成语的字面意思与实际含义往往存在偏差, 呈现出特有的非组合性特点, 这种特点使得成语在使用过程中极易产生误用现象, 研究显示, 某些成语的误用率甚至高达 98.6%. 与其他语言不同, 汉语成语的误用通常不会导致词法或语法错误, 因此传统的拼写或语法错误检测方法无法有效识别成语误用. 一种直观的方法是将成语的释义融入模型中, 但是简单的拼接释义会导致句子过长难以处理和知识噪声等问题. 为了解决这一问题, 提出一种基于释义知识浮动注入的模型. 该模型通过引入可学习的权重因子来控制知识注入, 并探讨有效的释义知识注入策略. 为了验证模型的有效性, 构建一套针对汉语成语误用诊断的数据集. 实验结果显示, 该模型在所有测试集上均取得了最优效果, 特别是在长文本多成语的复杂场景中, 性能比基线模型提高了 12.4%–13.9%, 同时训练速度提升了 30%–40%, 测试速度提升了 90%. 这证明了所提出的释义知识浮动注入模型不仅有效融合了成语释义特征, 还显著降低了成语释义拼接对模型处理能力和效率的负面影响, 从而提升了成语误用诊断的性能, 并增强了模型处理多成语和长释义等复杂场景的能力.
2025, 36(11):5227-5240. DOI: 10.13328/j.cnki.jos.007381 CSTR: 32375.14.jos.007381
摘要:未来水质预测任务根据各个观测节点的历史水质数据及相应的拓扑位置关系, 预测未来水质变化情况, 是图神经网络辅助环境保护的重要任务之一. 然而, 采集数据的数值和节点间的拓扑结构均存在噪声, 且噪声存在耦合现象. 同时, 污染物流向的不同导致数值噪声与结构噪声的耦合现象更为复杂难以解耦. 因此, 提出了一种基于趋势感知图神经网络的耦合噪声水质预测方法: 1)利用历史水质数据趋势特征, 挖掘原始水质数据指标的局部相互关系, 构建多种潜在的水系拓扑结构, 分离结构噪声; 2)利用构建的邻接矩阵与原始数据挖掘时空特征, 分离数值噪声. 最终, 根据潜在结构构建前后图网络节点表征一致性聚合水质预测结果. 实验结果表明, 所提方法在真实数据集上比当前最优方法表现更好, 且给出的水系潜在拓扑结构符合真实情况. 代码和数据可在GitHub上访问: https://github.com/aTongs1/TaGNN.
2025, 36(11):5241-5273. DOI: 10.13328/j.cnki.jos.007378 CSTR: 32375.14.jos.007378
摘要:随着嵌入式技术、移动计算技术、物联网等的快速发展和广泛应用, 越来越多的感知设备渗透到人们的日常生活中, 例如智能手机、摄像头、智能手环、智能路由器、耳机等, 这些设备上的传感器可以采集与人们的活动、健康、社交等息息相关的个人信息, 催生了一类新的感知应用-以人为中心的感知(human-centric sensing). 与传统的感知方法, 如可穿戴设备感知技术、计算机视觉感知技术、无线信号感知技术等相比, 基于毫米波信号的感知技术具有高感知精度、非视距、被动感知(无须携带传感器)、高时空分辨率、易部署、良好环境鲁棒性等一系列优势. 基于毫米波的感知技术成为近年来学术界和工业界研究热点, 能够实现对人体活动、体征等信息的非接触式细粒度感知. 因此, 在重新梳理相关研究的基础上, 分析基于毫米波的人体感知技术兴起的背景和研究意义, 总结现有基于毫米波人体感知应用工作和技术, 包括人体跟踪和定位、运动识别、生物测量和人体成像, 并介绍目前常用的公开数据集. 最后, 讨论潜在的研究挑战以及展望了未来的方向, 实现精准、泛在、稳定的人体感知.
2025, 36(11):5274-5295. DOI: 10.13328/j.cnki.jos.007385 CSTR: 32375.14.jos.007385
摘要:随着云计算、移动互联网和人工智能等网络应用的快速发展, 网络攻击和威胁日益增多和复杂化, 这要求网络安全防御技术能够有效地防御网络攻击, 保障关键基础设施网络的安全. 传统基于专有中间件的防御技术能够通过专有硬件实现高性能, 然而这些防御措施成本高昂, 部署新的防御通常需要升级设备. 基于软件的防御技术非常灵活, 但是基于软件的数据包处理会导致较高的性能开销. 可编程交换机的出现则为网络安全防御带来了新的契机, 由于其在灵活性和性能上的显著优势, 基于可编程交换机的网络安全研究已经成为近期的研究热点之一. 首先回顾可编程交换机的起源和架构, 然后深入探讨其相关特性在网络安全防御中的应用和优势, 包括易于管理、低成本、高灵活性和高性能. 接着, 从网络安全防御的基本三元组即预防、检测和响应的角度出发, 系统阐述了利用可编程交换机进行网络安全防御的技术, 包括访问控制、网络扫描、网络混淆、深度数据包检查、DDoS检测与防御、智能数据平面等多个方面, 并且分析了这些技术的设计理念、实现机制和潜在局限性. 最后, 对基于可编程交换机的网络安全研究的未来发展方向进行了展望.
2025, 36(11):5296-5333. DOI: 10.13328/j.cnki.jos.007386 CSTR: 32375.14.jos.007386
摘要:日常民事纠纷中合同类案件占比高, 数量多. 传统纸质合同存在的查阅困难、管理不便等问题, 已经严重影响了合同执行和纠纷处理的效率. 作为一种执行合同条款的计算机协议, 智能合约凭借其自动化执行, 去中心化和不可篡改的优势, 为法律合同的执行处理提供了新的可能. 但智能合约依赖于严格的编程逻辑, 缺乏法律解释的灵活性, 一旦部署后难以动态调整, 限制了合同参与方的意愿, 在法律适用性和约束力方面仍存在不确定性. 因此, 基于法律合同和智能合约的差异对比提出了文法要求、非赋权原则、有效性审查和安全性准则四大原则, 为具有法律效力的智能合约生成和执行提供了理论框架. 此外, 还设计了满足四大原则的智能合约转化与验证模型, 该模型能够对以过渡系统为表现形式的法律合同进行增强处理, 防止重入攻击, 并将基础和额外增加的规范转换为计算树逻辑验证安全属性, 通过验证的合同可以自动转化为智能合约. 在整体流程中, 模型始终遵循四大原则, 因此转化后的智能合约符合现行法律要求, 可被视为法律合同. 在实验验证部分, 采用一个简化的买卖合同作为案例, 展示其初始、增强过渡系统模型, 部分验证属性结果和最终生成的Solidity智能合约代码, 并在前置处理中通过采集64616篇合同数据共构建包含270592条样本的高质量数据集, 同时在一致性判定实验中验证了模型性能, R@1、R@5、R@10分别达到90.27%、97.91%和99.30%, 证明了模型的准确性和可靠性. 结论表明, 提出的四大原则可行性强, 转化验证模型能够解决纸质合同处理的繁琐问题, 提升法律合同执行和管理的便捷性和灵活性, 同时帮助智能合约获得法律保障, 有效规避潜在风险.
2025, 36(11):5334-5355. DOI: 10.13328/j.cnki.jos.007384 CSTR: 32375.14.jos.007384
摘要:为了满足航空器经济性的制造需求, 降低航空器内部的有效载荷, 使用无线代替有线已经成为机载网络转型升级的重要方向, 然而传统无线技术难以满足机载网络中时间敏感业务的实时性传输需求. 因此, 通过明确机载无线通信网络(airborne wireless communication network, AWCN)的应用特点, 设计了AWCN结合机载骨干交换网络的混合拓扑架构; 综合考虑了节点无冲突、信道无干扰、路径依赖与端到端时延需求, 构建了时间触发的AWCN确定性调度应该满足的一阶逻辑形式; 理论分析了不同信道数量下完成调度所需要的最少时隙数量与制约端到端时延的主要因素, 并证明了稳态时数据流在网关处的信息年龄期望值; 设计了基于整数规划的调度方法, 并针对大规模网络中决策变量多、约束之间耦合性高而导致的求解效率低的缺陷, 提出了一种增量式求解策略. 最后, 通过实验验证了确定性调度模型与理论分析的有效性, 并讨论了不同调度影响因子对数据流总时延与调度规模的影响.
2025, 36(11):5356-5385. DOI: 10.13328/j.cnki.jos.007377 CSTR: 32375.14.jos.007377
摘要:定时器是操作系统延迟任务调度与执行的驱动器, 具有运行在原子上下文和异步执行的特性, 可以在任何时刻与不同的线程并发执行, 如果开发人员不能考虑到所有多线程交错的场景, 则可能引入多种类型的并发错误, 对操作系统安全产生严重威胁. 定时器并发错误不仅涉及多线程交错, 还涉及定时器处理程序的延迟执行与重复调度, 比普通的并发错误更难发现, 目前还没有工具可以有效地检测此类错误. 总结3种定时器并发错误类型, 即定时器睡眠错误、定时器死锁错误和僵尸定时器错误. 为有效地对错误进行检测, 首先通过指针分析, 提取内核中所有与定时器有关的功能模块, 避免对无关代码进行分析提高检测效率; 然后构建上下文敏感、路径敏感和流敏感的过程间控制流图, 为后续分析奠定基础; 最后综合应用函数调用图遍历、锁集分析、指向分析、控制流分析等静态分析技术, 设计针对3种定时器并发错误的检测算法. 为评估算法的有效性, 在Linux 5.15内核中共发现了328个真实定时器并发错误, 向Linux内核社区提交了56个补丁, 截至目前, 49个补丁已经合并到Linux内核主线, 295个错误被确认和修复, 申请了14个CVE编号, 说明了所提方法的有效性. 最后通过对比实验对算法的性能、漏报与误报情况进行了系统分析, 并总结3种定时器并发错误的修复方法.

