开源代码被认为是现代软件开发中的常见实践。但是,重复使用其他代码使坏演员可以访问广泛的开发商社区,因此依靠它的产品。这些攻击被归类为供应链攻击。近年来,越来越多的供应链攻击在软件开发过程中利用开源的供水,转移下载和安装程序,无论是自动或手册。多年来,已经发明了许多用于检测脆弱包装的方法。但是,在软件包中检测恶意代码并不常见。这些检测方法可以广泛地分为使用(动态)并且不使用(静态)代码执行的分析。在这里,我们使用变压器(MSDT)算法介绍了恶意源代码检测。 MSDT是一种基于深度学习方法的新型静态分析,该方法检测到现实世界中的代码注入案例到源代码软件包。在这项研究中,我们使用了具有超过600,000个不同功能的MSDT和一个数据集来嵌入各种功能,并将群集算法应用于生成的向量,从而通过检测异常值来检测恶意功能。我们通过进行广泛的实验来评估MSDT的性能,并证明我们的算法能够检测到具有precision@k值最高为0.909的恶意代码的功能。
translated by 谷歌翻译
自动日志文件分析可以尽早发现相关事件,例如系统故障。特别是,自我学习的异常检测技术在日志数据中捕获模式,随后向系统操作员报告意外的日志事件事件,而无需提前提供或手动对异常情况进行建模。最近,已经提出了越来越多的方法来利用深度学习神经网络为此目的。与传统的机器学习技术相比,这些方法证明了出色的检测性能,并同时解决了不稳定数据格式的问题。但是,有许多不同的深度学习体系结构,并且编码由神经网络分析的原始和非结构化日志数据是不平凡的。因此,我们进行了系统的文献综述,概述了部署的模型,数据预处理机制,异常检测技术和评估。该调查没有定量比较现有方法,而是旨在帮助读者了解不同模型体系结构的相关方面,并强调未来工作的开放问题。
translated by 谷歌翻译
Machine Learning for Source Code (ML4Code) is an active research field in which extensive experimentation is needed to discover how to best use source code's richly structured information. With this in mind, we introduce JEMMA, an Extensible Java Dataset for ML4Code Applications, which is a large-scale, diverse, and high-quality dataset targeted at ML4Code. Our goal with JEMMA is to lower the barrier to entry in ML4Code by providing the building blocks to experiment with source code models and tasks. JEMMA comes with a considerable amount of pre-processed information such as metadata, representations (e.g., code tokens, ASTs, graphs), and several properties (e.g., metrics, static analysis results) for 50,000 Java projects from the 50KC dataset, with over 1.2 million classes and over 8 million methods. JEMMA is also extensible allowing users to add new properties and representations to the dataset, and evaluate tasks on them. Thus, JEMMA becomes a workbench that researchers can use to experiment with novel representations and tasks operating on source code. To demonstrate the utility of the dataset, we also report results from two empirical studies on our data, ultimately showing that significant work lies ahead in the design of context-aware source code models that can reason over a broader network of source code entities in a software project, the very task that JEMMA is designed to help with.
translated by 谷歌翻译
代码克隆是实现类似功能的代码段对。克隆检测是自动源代码理解的基本分支,在重构建议,窃检测和代码摘要中具有许多应用程序。克隆检测的一个特别有趣的案例是检测语义克隆,即具有相同功能但实现方面有显着差异的代码段。检测语义克隆的一种有希望的方法是对比度学习(CL),这是一种在计算机视觉中流行的机器学习范式,但尚未用于代码处理。我们的工作旨在评估最受欢迎的CL算法以及两个任务上的三个源代码表示形式。第一个任务是代码克隆检测,我们在包含104个算法的实现的POJ-104数据集上进行了评估。第二个任务是窃检测。为了评估此任务上的模型,我们介绍了CodeTransFormator,这是用于转换源代码的工具。我们使用它来创建一个基于竞争性编程解决方案模仿窃代码的数据集。我们为这两项任务培训了九个模型,并将其与现有的六种方法进行了比较,包括传统工具和现代培训的神经模型。我们评估的结果表明,提议的模型在每个任务中都具有多样性,但是基于图的模型的性能通常高于其他模型。在CL算法中,SIMCLR和SWAV带来更好的结果,而MoCo是最强大的方法。我们的代码和训练有素的模型可在https://doi.org/10.5281/zenodo.6360627,https://doi.org/10.5281/zenodo.5596345获得。
translated by 谷歌翻译
大多数自动化软件测试任务可以从测试用例的抽象表示中受益。传统上,这是通过基于测试案例的代码覆盖范围来完成的。规范级别的标准可以替换代码覆盖范围以更好地表示测试用例的行为,但通常不具有成本效益。在本文中,我们假设测试用例的执行痕迹可以使其在自动测试任务中抽象其行为的好选择。我们提出了一种新颖的嵌入方法Test2VEC,该方法将测试执行映射到潜在空间。我们在测试案例的优先级(TP)任务中评估了此表示形式。我们的默认TP方法基于嵌入式向量与历史失败测试向量的相似性。我们还根据测试向量的多样性研究了一种替代方案。最后,我们提出了一种决定给定测试套件的方法,以决定选择哪种TP。该实验基于几个真实和种子故障,具有超过一百万个执行痕迹。结果表明,就第一个失败测试案例(FFR)的中位数等级而言,我们提议的TP将最佳替代品提高了41.80%。就中位数APFD和中位数归一化FFR而言,它的表现优于传统代码覆盖范围的方法25.05%和59.25%。
translated by 谷歌翻译
医学事物互联网(IOMT)允许使用传感器收集生理数据,然后将其传输到远程服务器,这使医生和卫生专业人员可以连续,永久地分析这些数据,并在早期阶段检测疾病。但是,使用无线通信传输数据将其暴露于网络攻击中,并且该数据的敏感和私人性质可能代表了攻击者的主要兴趣。在存储和计算能力有限的设备上使用传统的安全方法无效。另一方面,使用机器学习进行入侵检测可以对IOMT系统的要求提供适应性的安全响应。在这种情况下,对基于机器学习(ML)的入侵检测系统如何解决IOMT系统中的安全性和隐私问题的全面调查。为此,提供了IOMT的通用三层体系结构以及IOMT系统的安全要求。然后,出现了可能影响IOMT安全性的各种威胁,并确定基于ML的每个解决方案中使用的优势,缺点,方法和数据集。最后,讨论了在IOMT的每一层中应用ML的一些挑战和局限性,这些挑战和局限性可以用作未来的研究方向。
translated by 谷歌翻译
在设计基于AI的系统中,有蓬勃发展的兴趣,以帮助人类设计计算系统,包括自动生成计算机代码的工具。这些最值得注意的是,以第一个自我描述的“Ai对程序员”,GitHub Copilot,一种在开源GitHub代码上培训的语言模型。但是,代码通常包含错误 - 因此,鉴于Copilot处理的大量未曝避代码,肯定是语言模型将从可利用的错误代码中学到。这提出了对Copilot代码捐助的安全的担忧。在这项工作中,我们系统地调查了可能导致Github CopIlot推荐不安全代码的普遍存在和条件。为了执行此分析,我们提示CopIlot在与高风险CWE相关的方案中生成代码(例如,从吉利的“前25名”列表中的方案)。我们探索了三个不同代码生成轴上的Copilot的表现 - 检查它如何表现为特定的弱点多样性,提示的多样性以及域的多样性。总共生产89个不同的Copilot方案,以完成,生产1,689个计划。其中,我们发现大约40%的脆弱。
translated by 谷歌翻译
我们呈Anubis,一个基于高效的机器学习的APT检测系统。我们的Anubis设计哲学涉及两个主要成分。首先,我们打算通过网络响应团队有效利用Anubis。因此,预测解释性是Anubis设计的主要焦点之一。其次,Anubis使用系统来源图来捕获因果关系,从而实现高检测性能。在Anubis的预测能力的核心,有一个贝叶斯神经网络,可以说明它在预测中有多自信。我们评估Anubis对最近的APT数据集(DARPA OPTC),并显示Anubis可以检测到具有高精度的APT活动的恶意活动。此外,Anubis了解高级模式,允许它解释其对威胁分析师的预测。可解释的攻击故事重建的高预测性能使Anubis成为企业网络防御的有效工具。
translated by 谷歌翻译
Recent studies show that, despite being effective on numerous tasks, text processing algorithms may be vulnerable to deliberate attacks. However, the question of whether such weaknesses can directly lead to security threats is still under-explored. To bridge this gap, we conducted vulnerability tests on Text-to-SQL, a technique that builds natural language interfaces for databases. Empirically, we showed that the Text-to-SQL modules of two commercial black boxes (Baidu-UNIT and Codex-powered Ai2sql) can be manipulated to produce malicious code, potentially leading to data breaches and Denial of Service. This is the first demonstration of the danger of NLP models being exploited as attack vectors in the wild. Moreover, experiments involving four open-source frameworks verified that simple backdoor attacks can achieve a 100% success rate on Text-to-SQL systems with almost no prediction performance impact. By reporting these findings and suggesting practical defences, we call for immediate attention from the NLP community to the identification and remediation of software security issues.
translated by 谷歌翻译
可提供许多开源和商业恶意软件探测器。然而,这些工具的功效受到新的对抗性攻击的威胁,由此恶意软件试图使用例如机器学习技术来逃避检测。在这项工作中,我们设计了依赖于特征空间和问题空间操纵的对抗逃避攻击。它使用可扩展性导向特征选择来最大限度地通过识别影响检测的最关键的特征来最大限度地逃避。然后,我们将此攻击用作评估若干最先进的恶意软件探测器的基准。我们发现(i)最先进的恶意软件探测器容易受到简单的逃避策略,并且可以使用现成的技术轻松欺骗; (ii)特征空间操纵和问题空间混淆可以组合起来,以便在不需要对探测器的白色盒子理解的情况下实现逃避; (iii)我们可以使用解释性方法(例如,Shap)来指导特征操纵并解释攻击如何跨多个检测器传输。我们的调查结果阐明了当前恶意软件探测器的弱点,以及如何改善它们。
translated by 谷歌翻译
内幕威胁是昂贵的,难以检测,不幸的是发生在发生。寻求改善检测此类威胁,我们开发了新颖的技术,使我们能够提取强大的特征,产生高质量的图像编码,以及增加攻击向量,以获得更大的分类功率。结合,它们形成计算机视觉用户和实体行为分析,一种从地上设计的检测系统,以提高学术界的进步,并减轻防止工业先进模型的问题。该拟议的系统击败了学术界和工业中使用的最先进方法。
translated by 谷歌翻译
恶意应用程序(尤其是针对Android平台的应用程序)对开发人员和最终用户构成了严重威胁。许多研究工作都致力于开发有效的方法来防御Android恶意软件。但是,鉴于Android恶意软件的爆炸性增长以及恶意逃避技术(如混淆和反思)的持续发展,基于手动规则或传统机器学习的Android恶意软件防御方法可能无效。近年来,具有强大功能抽象能力的主要研究领域称为“深度学习”(DL),在各个领域表现出了令人信服和有希望的表现,例如自然语言处理和计算机视觉。为此,采用深度学习技术来阻止Android恶意软件攻击,最近引起了广泛的研究关注。然而,没有系统的文献综述着重于针对Android恶意软件防御的深度学习方法。在本文中,我们进行了系统的文献综述,以搜索和分析在Android环境中恶意软件防御的背景下采用了如何应用的。结果,确定了涵盖2014 - 2021年期间的132项研究。我们的调查表明,尽管大多数这些来源主要考虑基于Android恶意软件检测的基于DL,但基于其他方案的53项主要研究(40.1%)设计防御方法。这篇综述还讨论了基于DL的Android恶意软件防御措施中的研究趋势,研究重点,挑战和未来的研究方向。
translated by 谷歌翻译
机器学习是一个人工智能(AI)的领域,对于几个关键系统来说变得至关重要,使其成为威胁参与者的良好目标。威胁参与者利用不同的策略,技术和程序(TTP),以防止机器学习(ML)系统的机密性,完整性和可用性。在ML周期期间,他们将对抗性TTP利用为毒数据和基于ML ML的系统。近年来,已经为传统系统提出了多种安全惯例,但它们不足以应对基于ML的系统的性质。在本文中,我们对针对基于ML的系统的威胁进行了实证研究,旨在了解和表征ML威胁的性质并确定常见的缓解策略。该研究基于MITER的ATLAS数据库,AI事件数据库和文献的89个现实世界ML攻击方案。从GitHub搜索和Python包装咨询数据库中的854毫升存储库,根据其声誉选择。 AI事件数据库和文献的攻击用于识别Atlas中未记录的漏洞和新类型的威胁。结果表明,卷积神经网络是攻击情景中最有针对性的模型之一。最大漏洞突出的ML存储库包括TensorFlow,OpenCV和笔记本。在本文中,我们还报告了研究的ML存储库中最常见的漏洞,最有针对性的ML阶段和模型,是ML阶段和攻击方案中最常用的TTP。对于红色/蓝色团队,该信息尤其重要,以更好地进行攻击/防御,从业人员在ML开发过程中防止威胁以及研究人员开发有效的防御机制。
translated by 谷歌翻译
机器学习(ML)代表了当前和未来信息系统的关键技术,许多域已经利用了ML的功能。但是,网络安全中ML的部署仍处于早期阶段,揭示了研究和实践之间的显着差异。这种差异在当前的最新目的中具有其根本原因,该原因不允许识别ML在网络安全中的作用。除非广泛的受众理解其利弊,否则ML的全部潜力将永远不会释放。本文是对ML在整个网络安全领域中的作用的首次尝试 - 对任何对此主题感兴趣的潜在读者。我们强调了ML在人类驱动的检测方法方面的优势,以及ML在网络安全方面可以解决的其他任务。此外,我们阐明了影响网络安全部署实际ML部署的各种固有问题。最后,我们介绍了各种利益相关者如何为网络安全中ML的未来发展做出贡献,这对于该领域的进一步进步至关重要。我们的贡献补充了两项实际案例研究,这些案例研究描述了ML作为对网络威胁的辩护的工业应用。
translated by 谷歌翻译
在本文中,我们解决了深入学习的软件漏洞自动修复问题。数据驱动漏洞修复的主要问题是已知确认漏洞的少数现有数据集仅由几千例组成。然而,培训深度学习模型通常需要数十万例的例子。在这项工作中,我们利用了错误修复任务和漏洞修复任务的直觉相关,并且可以传输来自错误修复的知识可以传输到修复漏洞。在机器学习界中,这种技术称为转移学习。在本文中,我们提出了一种修复名为Vreepair的安全漏洞的方法,该方法是基于转移学习。 vreepair首先在大型错误修复语料库上培训,然后在漏洞修复数据集上调整,这是一个较小的数量级。在我们的实验中,我们表明,仅在错误修复语料库上培训的模型可能已经修复了一些漏洞。然后,我们证明转移学习改善了修复易受攻击的C功能的能力。我们还表明,转移学习模型比具有去噪任务训练的模型更好,并在漏洞固定任务上进行微调。总而言之,本文表明,与在小型数据集上的学习相比,转移学习适用于修复C中的安全漏洞。
translated by 谷歌翻译
Web应用程序防火墙(WAF)如今扮演着不可或缺的角色,以保护Web应用程序免受SQL注入,XML注入和PHP注射等各种恶意注射攻击的影响。但是,鉴于注射攻击的复杂性不断发展,调整WAF的复杂性越来越复杂,确保WAF没有注射脆弱性是一项挑战,这样它将阻止所有恶意注射攻击而不会错误地影响合法信息。因此,自动测试WAF是及时且必不可少的任务。在本文中,我们提出了Danuoyi,这是一种自动注射测试工具,同时生成了对WAF上多种注射攻击的测试输入。我们的基本思想来自自然语言处理域中的跨语性翻译。特别是,不同类型的注射攻击的测试输入在句法上是不同的,但在语义上可能是相似的。因此,跨多种编程语言共享语义知识可以刺激更复杂的测试输入的产生,并发现WAF的注入脆弱性,原本很难找到。为此,在Danuoyi中,我们使用多任务学习来训练多个注射翻译模型,该学习将任何一对注射攻击之间的测试输入转换。然后,该模型由新型的多任务进化算法使用,以共同进化测试输入,以通过每一代人的共享交配池和特定于域的突变算子促进不同类型的注射攻击。我们对三个现实世界中的开源WAF和六种注射攻击进行了实验,结果表明,Danuoyi的生成高达3.8倍和5.78倍的有效测试输入(即,绕过基础WAF)比其最新的测试输入更大。 ART单项任务以及基于语法的注射结构。
translated by 谷歌翻译
随着数字时代的出现,由于技术进步,每天的任务都是自动化的。但是,技术尚未为人们提供足够的工具和保障措施。随着互联网连接全球越来越多的设备,确保连接设备的问题以均匀的螺旋速率增长。数据盗窃,身份盗窃,欺诈交易,密码妥协和系统漏洞正在成为常规的日常新闻。最近的人工智能进步引起了网络攻击的激烈威胁。 AI几乎应用于不同科学和工程的每个领域。 AI的干预不仅可以使特定任务自动化,而且可以提高效率。因此,很明显,如此美味的传播对网络犯罪分子来说是非常开胃的。因此,传统的网络威胁和攻击现在是``智能威胁''。本文讨论了网络安全和网络威胁,以及传统和智能的防御方式,以防止网络攻击。最终,结束讨论,以潜在的潜在前景结束讨论AI网络安全。
translated by 谷歌翻译
积极的安全方法,例如对手仿真,利用有关威胁行为者及其技术的信息(网络威胁智能,CTI)。但是,大多数CTI仍然以非结构化的形式(即自然语言),例如事件报告和泄漏的文件。为了支持主动的安全工作,我们介绍了一项有关使用机器学习(ML)自动将非结构化CTI自动分类为攻击技术的实验研究。我们为CTI分析的两个新数据集做出了贡献,并评估了几种ML模型,包括传统和深度学习模型。我们介绍了几个课程,了解了ML在此任务中的执行方式,哪些分类器在哪些条件下(这是分类错误的主要原因)以及CTI分析的未来挑战。
translated by 谷歌翻译
越来越多的工作已经认识到利用机器学习(ML)进步的重要性,以满足提取访问控制属性,策略挖掘,策略验证,访问决策等有效自动化的需求。在这项工作中,我们调查和总结了各种ML解决不同访问控制问题的方法。我们提出了ML模型在访问控制域中应用的新分类学。我们重点介绍当前的局限性和公开挑战,例如缺乏公共现实世界数据集,基于ML的访问控制系统的管理,了解黑盒ML模型的决策等,并列举未来的研究方向。
translated by 谷歌翻译
The automation of an increasingly large number of software engineering tasks is becoming possible thanks to Machine Learning (ML). One foundational building block in the application of ML to software artifacts is the representation of these artifacts (e.g., source code or executable code) into a form that is suitable for learning. Many studies have leveraged representation learning, delegating to ML itself the job of automatically devising suitable representations. Yet, in the context of Android problems, existing models are either limited to coarse-grained whole-app level (e.g., apk2vec) or conducted for one specific downstream task (e.g., smali2vec). Our work is part of a new line of research that investigates effective, task-agnostic, and fine-grained universal representations of bytecode to mitigate both of these two limitations. Such representations aim to capture information relevant to various low-level downstream tasks (e.g., at the class-level). We are inspired by the field of Natural Language Processing, where the problem of universal representation was addressed by building Universal Language Models, such as BERT, whose goal is to capture abstract semantic information about sentences, in a way that is reusable for a variety of tasks. We propose DexBERT, a BERT-like Language Model dedicated to representing chunks of DEX bytecode, the main binary format used in Android applications. We empirically assess whether DexBERT is able to model the DEX language and evaluate the suitability of our model in two distinct class-level software engineering tasks: Malicious Code Localization and Defect Prediction. We also experiment with strategies to deal with the problem of catering to apps having vastly different sizes, and we demonstrate one example of using our technique to investigate what information is relevant to a given task.
translated by 谷歌翻译