Context: The IoT system infrastructure platform facility vulnerability attack has become the main battlefield of network security attacks. Most of the traditional vulnerability mining methods rely on vulnerability detection tools to realize vulnerability discovery. However, due to the inflexibility of tools and the limitation of file size, its scalability It is relatively low and cannot be applied to large-scale power big data fields. Objective: The goal of the research is to intelligently detect vulnerabilities in source codes of high-level languages such as C/C++. This enables us to propose a code representation of sensitive sentence-related slices of source code, and to detect vulnerabilities by designing a distributed deep ensemble learning model. Method: In this paper, a new directional vulnerability mining method of parallel ensemble learning is proposed to solve the problem of large-scale data vulnerability mining. By extracting sensitive functions and statements, a sensitive statement library of vulnerable codes is formed. The AST stream-based vulnerability code slice with higher granularity performs doc2vec sentence vectorization on the source code through the random sampling module, obtains different classification results through distributed training through the Bi-LSTM trainer, and obtains the final classification result by voting. Results: This method designs and implements a distributed deep ensemble learning system software vulnerability mining system called DCDetector. It can make accurate predictions by using the syntactic information of the code, and is an effective method for analyzing large-scale vulnerability data. Conclusion: Experiments show that this method can reduce the false positive rate of traditional static analysis and improve the performance and accuracy of machine learning.
translated by 谷歌翻译
随着软件量表和复杂性的快速增长,将大量错误报告提交到错误跟踪系统中。为了加快缺陷维修的速度,需要对这些报告进行准确的分类,以便可以将其发送给适当的开发人员。但是,现有的分类方法仅使用错误报告的文本信息,从而导致其性能较低。为了解决上述问题,本文提出了一种用于错误报告的新自动分类方法。创新是,当对错误报告进行分类时,除了使用报告的文本信息外,还考虑了报告的意图(即建议或解释),从而提高了分类的性能。首先,我们从四个生态系统(Apache,Eclipse,Gentoo,Mozilla)收集错误报告,并手动注释它们以构建实验数据集。然后,我们使用自然语言处理技术来预处理数据。在此基础上,BERT和TF-IDF用于提取意图的功能和多个文本信息。最后,这些功能用于训练分类器。对五个分类器(包括k-nearest邻居,天真的贝叶斯,逻辑回归,支持向量机和随机森林)的实验结果表明,我们提出的方法可实现更好的性能,其F量度从87.3%达到95.5%。
translated by 谷歌翻译
深度学习在各种软件工程任务中广泛使用,例如,节目分类和缺陷预测。虽然该技术消除了特征工程所需的过程,但源代码模型的构建显着影响了这些任务的性能。最近的作品主要集中在通过引入从CFG提取的上下文依赖项来补充基于AST的源代码模型。但是,所有这些都关注基本块的表示,这是上下文依赖性的基础。在本文中,我们集成了AST和CFG,并提出了一种嵌入了分层依赖项的新型源代码模型。基于此,我们还设计了一种神经网络,这取决于图表关注机制。特殊地,我们介绍了基本块的句法结构,即其对应的AST,在源代码模型中提供足够的信息并填补间隙。我们在三种实际软件工程任务中评估了该模型,并将其与其他最先进的方法进行了比较。结果表明,我们的模型可以显着提高性能。例如,与最佳性能的基线相比,我们的模型将参数的比例降低了50 \%并实现了对程序分类任务的准确性的4 \%改进。
translated by 谷歌翻译
越来越多的工作已经认识到利用机器学习(ML)进步的重要性,以满足提取访问控制属性,策略挖掘,策略验证,访问决策等有效自动化的需求。在这项工作中,我们调查和总结了各种ML解决不同访问控制问题的方法。我们提出了ML模型在访问控制域中应用的新分类学。我们重点介绍当前的局限性和公开挑战,例如缺乏公共现实世界数据集,基于ML的访问控制系统的管理,了解黑盒ML模型的决策等,并列举未来的研究方向。
translated by 谷歌翻译
尽管不断努力提高代码搜索的有效性和效率,但仍未解决两个问题。首先,编程语言具有固有的牢固结构链接,并且代码的特征是文本表单将省略其中包含的结构信息。其次,代码和查询之间存在潜在的语义关系,跨序列对齐代码和文本是具有挑战性的,因此在相似性匹配期间,向量在空间上保持一致。为了解决这两个问题,在本文中,提出了一个名为CSSAM的代码搜索模型(代码语义和结构注意匹配)。通过引入语义和结构匹配机制,CSSAM有效提取并融合了多维代码功能。具体而言,开发了交叉和残留层,以促进代码和查询的高纬度空间比对。通过利用残差交互,匹配模块旨在保留更多的代码语义和描述性功能,从而增强了代码及其相应查询文本之间的附着力。此外,为了提高模型对代码固有结构的理解,提出了一个名为CSRG的代码表示结构(代码语义表示图),用于共同表示抽象语法树节点和代码的数据流。根据两个包含540K和330K代码段的公开可用数据集的实验结果,CSSAM在两个数据集中分别在获得最高的SR@1/5/10,MRR和NDCG@50方面大大优于基本线。此外,进行消融研究是为了定量衡量CSSAM每个关键组成部分对代码搜索效率和有效性的影响,这为改进高级代码搜索解决方案提供了见解。
translated by 谷歌翻译
基于变压器的大型语言模型在自然语言处理中表现出色。通过考虑这些模型在一个领域中获得的知识的可传递性,以及自然语言与高级编程语言(例如C/C ++)的亲密关系,这项工作研究了如何利用(大)基于变压器语言模型检测软件漏洞以及这些模型在漏洞检测任务方面的良好程度。在这方面,首先提出了一个系统的(凝聚)框架,详细介绍了源代码翻译,模型准备和推理。然后,使用具有多个漏洞的C/C ++源代码的软件漏洞数据集进行经验分析,该数据集对应于库功能调用,指针使用,数组使用情况和算术表达式。我们的经验结果证明了语言模型在脆弱性检测中的良好性能。此外,这些语言模型具有比当代模型更好的性能指标,例如F1得分,即双向长期记忆和双向封闭式复发单元。由于计算资源,平台,库和依赖项的要求,对语言模型进行实验始终是具有挑战性的。因此,本文还分析了流行的平台,以有效地微调这些模型并在选择平台时提出建议。
translated by 谷歌翻译
基于语义相似性的代码克隆检测方法在软件工程任务中具有重要价值(例如,软件演进,软件重用)。传统的代码克隆检测技术更加注重语法级别的代码的相似性,并且不太注重代码的语义相似性。结果,忽略语义中类似的候选代码。要解决此问题,我们提出了一种基于语义相似性的代码克隆检测方法。通过将代码视为连续发生的一系列相互依存事件,我们设计了一个模型即欧欧,基于事件嵌入和事件依赖性编码代码语义信息。 EDAM模型使用事件嵌入方法来模拟程序语句的执行特征以及所有语句之间的数据依赖信息。以这种方式,我们可以将程序语义信息嵌入到向量中,并使用矢量来检测语义中类似的代码。实验结果表明,我们的EDAM模型的性能优于用于码克隆检测的最先进的开源模型。
translated by 谷歌翻译
文本分类在许多实际应用中起着重要作用。在现实世界中,数据集非常小。大多数现有方法采用预训练的神经网络模型来处理这种数据集。但是,这些方法要么很难在移动设备上部署,因此它们的输出尺寸较大,或者无法完全提取短语和条款之间的深层语义信息。本文提出了一个基于多模型的深度学习框架,用于使用不平衡且极其小的数据集,用于短文本多类分类。我们的框架主要包括五层:编码器层使用Distilbert获得上下文敏感的动态词向量,这些词向量很难在传统的功能工程方法中表示。由于该层的变压器部分是蒸馏的,因此我们的框架被压缩。然后,我们使用接下来的两层提取深层语义信息。编码器层的输出发送到双向LSTM网络,并以单词和句子级别的LSTM层次提取特征矩阵,以获得细粒的语义表示。之后,最大式层将特征矩阵转换为较低维矩阵,仅保留明显的特征。最后,将特征矩阵视为完全连接的软磁层的输入,该输入包含一个可以将预测的线性向量转换为输出值的函数,作为每个分类中文本的概率。对两个公共基准测试的广泛实验证明了我们提出的方法对极小的数据集的有效性。它在精确,召回,准确性和F1得分方面保留最先进的基线性能,以及通过模型大小,训练时间和收敛时期,我们可以得出结论,可以更快,更轻松地部署我们的方法在移动设备上。
translated by 谷歌翻译
随着文献资源的丰富,研究人员面临着信息爆炸和知识过载的不断增长的问题。为了帮助学者检索文学并成功获得知识,澄清学术文学中内容的语义结构已成为基本的研究问题。在识别学术文章中章节的结构功能的研究中,只有几项研究使用了深度学习模型,并探索了特征输入的优化。这限制了研究任务深度学习模型的应用,优化潜力。本文将ACL会议的文章作为语料库。我们采用传统的机器学习模型和深度学习模型,基于各种特征输入构建分类器。实验结果表明,(1)与章节内容相比,章节标题更有利于识别学术文章的结构功能。 (2)相对位置是建立传统模型的有价值的功能。 (3)受到(2)的启发,本文进一步将上下文信息引入深度学习模型,取得了显着的结果。同时,我们的模型在包含200个采样的非训练样本的开放式测试中显示出良好的迁移能力。近五年我们还基于表演模型的最佳实践,并对整体语料库进行了时间序列分析,近五年注释了ACL主要会议文件。这项工作通过多个比较实验探索并总结了此任务的实际功能和模型,并为相关文本分类任务提供了参考。最后,我们表示当前模型的局限性和缺点以及进一步优化的方向。
translated by 谷歌翻译
仇恨言论是一种在线骚扰的形式,涉及使用滥用语言,并且在社交媒体帖子中通常可以看到。这种骚扰主要集中在诸如宗教,性别,种族等的特定群体特征上,如今它既有社会和经济后果。文本文章中对滥用语言的自动检测一直是一项艰巨的任务,但最近它从科学界获得了很多兴趣。本文解决了在社交媒体中辨别仇恨内容的重要问题。我们在这项工作中提出的模型是基于LSTM神经网络体系结构的现有方法的扩展,我们在短文中适当地增强和微调以检测某些形式的仇恨语言,例如种族主义或性别歧视。最重要的增强是转换为由复发性神经网络(RNN)分类器组成的两阶段方案。将第一阶段的所有一Vs式分类器(OVR)分类器的输出组合在一起,并用于训练第二阶段分类器,最终决定了骚扰的类型。我们的研究包括对在16K推文的公共语料库中评估的第二阶段提出的几种替代方法的性能比较,然后对另一个数据集进行了概括研究。报道的结果表明,与当前的最新技术相比,在仇恨言论检测任务中,所提出的方案的分类质量出色。
translated by 谷歌翻译
恶意软件系列的分类对于全面了解他们如何感染设备,计算机或系统的全面了解至关重要。因此,恶意软件识别使安全研究人员和事件响应者能够采取防止恶意软件的预防措施并加速缓解。由于这些序列代表恶意软件的行为,恶意软件由恶意软件制作的API呼叫序列是广泛利用的机器和深度学习模型的特征。但是,传统的机器和深度学习模型仍然无法捕获API呼叫之间的序列关系。另一方面,基于变压器的模型作为整体过程序列,并且由于多针注意机制和位置嵌入而学习API调用之间的关系。我们的实验表明,具有一个变压器块层的变压器模型超越了广泛使用的基础架构,LSTM。此外,伯特或犬,预先训练的变压器模型,在根据评估指标,F1分数和AUC分数分类高度不平衡恶意软件系列方面表现优于分类高度不平衡的恶意软件系列。此外,拟议的基于袋的随机变压器森林(RTF),伯特或犬的集合,已经达到了四个数据集中的三个,特别是最先进的F1 - 在一个常用的基准数据集中得分为0.6149。
translated by 谷歌翻译
近年来,随着传感器和智能设备的广泛传播,物联网(IoT)系统的数据生成速度已大大增加。在物联网系统中,必须经常处理,转换和分析大量数据,以实现各种物联网服务和功能。机器学习(ML)方法已显示出其物联网数据分析的能力。但是,将ML模型应用于物联网数据分析任务仍然面临许多困难和挑战,特别是有效的模型选择,设计/调整和更新,这给经验丰富的数据科学家带来了巨大的需求。此外,物联网数据的动态性质可能引入概念漂移问题,从而导致模型性能降解。为了减少人类的努力,自动化机器学习(AUTOML)已成为一个流行的领域,旨在自动选择,构建,调整和更新机器学习模型,以在指定任务上实现最佳性能。在本文中,我们对Automl区域中模型选择,调整和更新过程中的现有方法进行了审查,以识别和总结将ML算法应用于IoT数据分析的每个步骤的最佳解决方案。为了证明我们的发现并帮助工业用户和研究人员更好地实施汽车方法,在这项工作中提出了将汽车应用于IoT异常检测问题的案例研究。最后,我们讨论并分类了该领域的挑战和研究方向。
translated by 谷歌翻译
Network intrusion detection systems (NIDSs) play an important role in computer network security. There are several detection mechanisms where anomaly-based automated detection outperforms others significantly. Amid the sophistication and growing number of attacks, dealing with large amounts of data is a recognized issue in the development of anomaly-based NIDS. However, do current models meet the needs of today's networks in terms of required accuracy and dependability? In this research, we propose a new hybrid model that combines machine learning and deep learning to increase detection rates while securing dependability. Our proposed method ensures efficient pre-processing by combining SMOTE for data balancing and XGBoost for feature selection. We compared our developed method to various machine learning and deep learning algorithms to find a more efficient algorithm to implement in the pipeline. Furthermore, we chose the most effective model for network intrusion based on a set of benchmarked performance analysis criteria. Our method produces excellent results when tested on two datasets, KDDCUP'99 and CIC-MalMem-2022, with an accuracy of 99.99% and 100% for KDDCUP'99 and CIC-MalMem-2022, respectively, and no overfitting or Type-1 and Type-2 issues.
translated by 谷歌翻译
软件测试可能是一个漫长且昂贵的过程,尤其是如果无法测试的软件进行测试。重构技术可以通过改善影响可检验性的软件指标来增强可检验性。在构建回归模型学习如何将计算的源代码计算指标与其可检验性相关联的指标时,确定了指标。我们确定了15个软件指标,在解释我们的可检测性预测模型的同时,高度影响可检验性。我们使用42个Java类的实验表明,除了改善其他一些质量属性外,改善这15个指标的重构平均可以提高可测试性15.57%。我们的可测试性预测模型经过训练,可以映射源代码指标,以测试有效性和效率,作为可测试软件的两种重要成分。随着测试套件获得的覆盖范围的增加,测试有效性会提高。另一方面,随着测试套件的大小增加,测试效率会降低。本文提供了一个数学模型,以根据测试套件的大小和覆盖范围来计算类可检验性。我们使用此数学模型来计算可测试性作为我们可检测性预测模型的目标。数学模型要求执行正在测试的类以计算测试覆盖范围,而我们的回归模型在静态上测量了测试性。在测试性方面的测试结果预测应在测试之前,以避免不必要的成本。我们的可测试性预测模型已在23,886个Java类和262个软件指标上进行了培训和测试。学习的模型以R2为0.68,平均平方误差为0.03,可预测可验证性。
translated by 谷歌翻译
Decompilation aims to transform a low-level program language (LPL) (eg., binary file) into its functionally-equivalent high-level program language (HPL) (e.g., C/C++). It is a core technology in software security, especially in vulnerability discovery and malware analysis. In recent years, with the successful application of neural machine translation (NMT) models in natural language processing (NLP), researchers have tried to build neural decompilers by borrowing the idea of NMT. They formulate the decompilation process as a translation problem between LPL and HPL, aiming to reduce the human cost required to develop decompilation tools and improve their generalizability. However, state-of-the-art learning-based decompilers do not cope well with compiler-optimized binaries. Since real-world binaries are mostly compiler-optimized, decompilers that do not consider optimized binaries have limited practical significance. In this paper, we propose a novel learning-based approach named NeurDP, that targets compiler-optimized binaries. NeurDP uses a graph neural network (GNN) model to convert LPL to an intermediate representation (IR), which bridges the gap between source code and optimized binary. We also design an Optimized Translation Unit (OTU) to split functions into smaller code fragments for better translation performance. Evaluation results on datasets containing various types of statements show that NeurDP can decompile optimized binaries with 45.21% higher accuracy than state-of-the-art neural decompilation frameworks.
translated by 谷歌翻译
恢复程序的呼叫图对于基于流程间分析任务和应用程序至关重要。核心挑战是识别间接呼叫的目标(即,间接分支机构)。由于二进制文件中的信息丢失,如果目标程序以二元形式为二元形式,则变得更具挑战性。二进制文件的现有间接Callee识别解决方案都具有高误报和负面,使呼叫图不准确。在本文中,我们提出了一种基于暹罗神经网络的新解决方案,受到质疑答案应用的进步的启发。关键洞察力是,神经网络可以学习通过理解其上下文,即附近呼叫和分支机构的指示是间接代表的潜在目标。在此洞察力之后,我们首先预处理目标二进制文件,以提取电话和分支的上下文。然后,我们构建适用于汇编语言的自定义自然语言处理(NLP)模型。此外,我们收集了丰富的呼叫和分支,并将其上下文与NLP模型嵌入,然后培训暹罗网络和分类器以回答电呼叫路上的问题。我们已经实施了Inclelee的原型,并在几组目标上进行了评估。评价结果表明,我们的解决方案可以将手段与F1措施相匹配93.7%,召回的93.8%,精度为93.5%,比最先进的解决方案好得多。为了展示其有用性,我们将iCallee应用于两个特定的应用 - 二进制代码相似性检测和二进制程序硬化,并发现它可以大大提高最先进的解决方案。
translated by 谷歌翻译
如今,随着数字银行业务已成为常态,信用卡的使用已变得很普遍。随着这一增加,信用卡中的欺诈也对银行和客户都有一个巨大的问题和损失。正常的欺诈检测系统无法检测欺诈,因为欺诈者使用新技术出现欺诈。这创造了使用基于机器学习的软件来检测欺诈的需求。当前,可用的机器学习软件仅着眼于检测欺诈的准确性,但不关注检测的成本或时间因素。这项研究重点是银行信用卡欺诈检测系统的机器学习可伸缩性。我们已经比较了新提出的技术可用的现有机器学习算法和方法。目的是证明,使用较少的位训练机器学习算法将导致更可扩展的系统,这将减少时间,并且实施成本也较低。
translated by 谷歌翻译
深度学习方法的最新突破引发了人们对基于学习的错误探测器的兴趣。与传统的静态分析工具相比,这些错误检测器是直接从数据中学到的,因此更容易创建。另一方面,它们很难训练,需要大量数据,而这些数据不容易获得。在本文中,我们提出了一种称为Meta Bug检测的新方法,该方法比现有基于学习的错误探测器具有三个至关重要的优势:Bug-Type通用(即,能够捕获在培训期间完全没有观察到的错误类型),可以自我解释(即能够在没有任何外部可解释方法的情况下解释其自身的预测)和样本有效(即,比标准错误检测器所需的培训数据要少得多)。我们的广泛评估表明,我们的元错误检测器(MBD)有效地捕获了各种错误,包括NULL指针解除,阵列索引外部漏洞,文件句柄泄漏甚至是并发程序中的数据竞赛;在此过程中,MBD还大大优于几个值得注意的基线,包括Facebook推断,一种著名的静态分析工具和FICS,即最新的异常检测方法。
translated by 谷歌翻译
电子邮件是通信最广泛的方法之一,数以百万计的人和企业每天依靠它来交流和分享知识和信息。然而,近年来,电子邮件用户的增长量增加了垃圾邮件的急剧增加。适当地为个人和公司进行处理和管理电子邮件变得越来越困难。本文提出了一种用于电子邮件垃圾邮件检测的新技术,该技术基于卷积神经网络,封闭式复发单元和注意机制的组合。在系统培训期间,网络选择性地关注电子邮件文本的必要部分。卷积层的用法是通过层次表示提取更有意义,抽象和可推广的特征,这是本研究的主要贡献。此外,此贡献还包括交叉数据集评估,从而使模型培训数据集产生了更多独立的绩效。根据跨数据库评估结果,该提出的技术通过使用时间卷积来推动基于注意力的技术的结果,这使我们使用了更灵活的接收场大小。将建议的技术的发现与最先进的模型的发现进行了比较,并表明我们的方法表现优于它们。
translated by 谷歌翻译
在本文中,我们解决了深入学习的软件漏洞自动修复问题。数据驱动漏洞修复的主要问题是已知确认漏洞的少数现有数据集仅由几千例组成。然而,培训深度学习模型通常需要数十万例的例子。在这项工作中,我们利用了错误修复任务和漏洞修复任务的直觉相关,并且可以传输来自错误修复的知识可以传输到修复漏洞。在机器学习界中,这种技术称为转移学习。在本文中,我们提出了一种修复名为Vreepair的安全漏洞的方法,该方法是基于转移学习。 vreepair首先在大型错误修复语料库上培训,然后在漏洞修复数据集上调整,这是一个较小的数量级。在我们的实验中,我们表明,仅在错误修复语料库上培训的模型可能已经修复了一些漏洞。然后,我们证明转移学习改善了修复易受攻击的C功能的能力。我们还表明,转移学习模型比具有去噪任务训练的模型更好,并在漏洞固定任务上进行微调。总而言之,本文表明,与在小型数据集上的学习相比,转移学习适用于修复C中的安全漏洞。
translated by 谷歌翻译