How Machine Learning Is Solving the Binary Function Similarity Problem

【论文阅读】How Machine Learning Is Solving the Binary Function Similarity Problem 时间:2022.8 作者:Andrea Marcelli, Mariano Graziano , Xabier Ugarte-Pedrero, Yanick Fratantonio , Mohamad Mansouri and Davide Balzarotti(思科,欧洲电信学院) 会议:usenix 2022 ABSTRACT人们会期望到现在为止,对于二进制相似性问题的研究,其有可能回答一些研究问题,这些问题超出了论文中提出的非常具体的技术,可以推广到整个研究领域。不幸的是,这个目标受到许多挑战,从可重复性问题到研究结果的不透明性,阻碍了研究有意义和有效地进展。 在本文,我们开始着手于对state-of-the-art做这个领域的第一个测试性研究。 首先,我们系统化了现存的研究成果; 我们选定了一些相关方法,这些方法代表了三个不同研究社区最近提出的各种解决方案; 针对现有的方案,我们重构了方法并构建了新的数据集,以便实现更为公平的对比效果。

阅读全文

IFAttn-Binary code similarity analysis based on interpretable features with attention

【论文阅读】IFAttn-Binary code similarity analysis based on interpretable features with attention 时间:2021 作者:Shuai Jianga , Cai Fua , Yekui Qian(华科) 期刊:Computers & Security(中科院三区) 1.ABSTRACT二进制代码相似性分析(Binary code similarity analysis ,BCSA)是一项有意义的软件安全分析技术,包括漏洞挖掘、代码克隆检测和恶意代码检测。 尽管近年来出现了很多基于神经网络的很多BCSA研究成果,仍有一些问题未被解决。首先,大多数方法更聚焦于function pair similarity detection task (FPSDT),而忽略了function search task (FST),后者对漏洞挖掘更为重要。还有,现有方法为了提高FPSDT的准确率使用了一些无法解释的神经网络;最后,大多数现有方法无法抵抗BCSA中的交叉优化和交叉混淆。 为了解决这些问题,我们首次提出了一个结合了可解释特征工程和可学习注意力机制的适应性BCSA架构。我们设计了一个具有适应性的、富有可解释性特征的模型。测试结果表明对于FPSDT和FST的效果比state-of-the-art效果更好。 另外,我们还发现注意机制在功能语义表达方面具有突出的优势。 评估表明我们的方法可以显著提升FST在cross-architecture, cross-optimization, cross-obfuscation and cross-compiler binaries上的表现。

阅读全文

Function-level obfuscation detection method based on Graph Convolutional Networks

【论文阅读】Function-level obfuscation detection method based on Graph Convolutional Networks 时间:2021 作者:Shuai Jiang , Yao Hong, Cai Fu(华科) 期刊:Journal of Information Security and Applications(中科院三区) 1.ABSTRACT​ 在恶意样本检测中代码混淆检测技术是一个重要的辅助手段,对于安全从业者来说,其可以在人工逆向分析前来实施自动化混淆检测,这有助于逆向工程师更具体地进行逆向分析。 ​ 目前存在的混淆检测方法主要作用于Android应用,并基于传统的机器学习方法。其检测颗粒度很差,总体效果不佳。为了解决这些问题,在本篇文章,我们提出了一个应用于X86汇编和Android应用的、function level的、基于GCN的混淆检测方法。 1. 首先,我们的方法是function-level的。我们提取每个函数的CFG作为其特征(包括邻接矩阵和基本代码块的特征矩阵); 2. 我们构建一个GCN-LSTM神经网络作为混淆检测模型; 3. 最后,对于function-level的检测我们的方法准确率是94.7575%(X86汇编)和98.9457%(安卓应用),比baseline方法好。实验证明我们的方法不论是在function-levle还是APK-level上的检测准确率都好于baseline。

阅读全文

Planning at Decision Time(决策时规划)

参考资料: Reinforcement Learining. Second Edition. Sutton.Page 180-193 白板推导—强化学习.shuhuai008.Bilibili Easy RL.Qi Wang.Yang Yiyuan.Ji Jiang Planning at Decision Time(决策时规划)规划(Planning)至少有两种使用方式。 ①一种在DP和Dyna中已经讨论过,通过从一个model(不论是sample model或是distribution model )中获取模拟经验(simulated experience)的基础上来使用规划来逐渐提升一个policy或一个value function。 然后,选择动作是一个比较当前状态的动作value问题,该value是在之前优化的表格中获取的;或者通过使用书中Part 2中考虑的近似方法来评估数学表达式。 对于任意状态S~t~,在为其选择一个动作之前,其整个表格条目(例如Dyna-Q中的Q表)已经通过规划来优化过了。使用这种方式,规划并不是仅仅聚焦于当前的状态,我们称这种规划为background planning,后台规划。 ②另一种使用规划的方法就是在遇到每个新的状态S~t~后再开始一个完整的规划过程,其为每个当前状态选择一个动作A~t~,到下一个状态S~t+1~就选择一个动作A~t+1~,以此类推。 一个使用这种规划最简单的例子:当state values可用时,通过比较当前model对执行每个动作后到达的新状态的value来选择一个动作。 当然,更普遍的说,这种规划的用法可以比仅仅往后看一步(上面的例子就是)看得更深,评估动作的选择导致许多不同预测状态和奖励轨迹。 不同于第一种用法,在这里,规划聚焦于一个特定的状态,我们称之为decision-time planning,决策时规划。 这两种规划的方式可以用一种自然而有趣的方式结合在一起,不过一般二者被分开研究。 如同background planning,我们仍可以将决策时规划看作一个从模拟经验中更新values,最后到更新policy的过程。只是基于当前状态所生成的values和policy会在做完动作选择决策后被丢弃,在很多应用场景中这么做并不算一个很大的损失,因为有非常多的状态存在,且不太可能在短时间内回到同一个状态,故重复计算导致的资源浪费会很少。 一般来说,人们可能希望将两者结合起来:规划当前状态,并将规划的结果存储起来,以便在以后回到相同的状态时能走得更远。 Decision-time Planning,(决策时规划)在不需要快速反应的应用场景中作用最为显著。 决策时规划的常用算法有Heuristic Search(启发式搜索)、Rollout Algorithms(Rollout 算法)和Monte Carlo Tree Search(MCTS 蒙特卡洛树搜索)三种。

阅读全文

A Survey of Defense Mechanisms Against Distributed Denial of Service (DDoS) Flooding Attacks

A Survey of Defense Mechanisms Against Distributed Denial of Service (DDoS) Flooding Attacks 时间:2013 作者:Saman Taghavi Zargar,James Joshi, David Tipper 期刊:IEEE COMMUNICATIONS SURVEYS & TUTORIALS(中科院一区) ABSTRACT​ DDoS攻击是安全专业人员最关心的问题之一,其通常是为了扰乱合法用户对服务的访问而进行的显式尝试。攻击者通常通过攻击漏洞来获取到一大批电脑,以此来组建一个网络攻击军队(也就是僵尸网络),一旦组建了攻击部队,攻击者就可以对一个或多个目标发起协调一致、大规模的攻击。开发针对已识别和预期的DDoS泛洪攻击的综合防御机制,是入侵检测和预防研究界所期望的目标。然而,这种机制的发展需要对问题和迄今为止在预防、检测和应对各种DDoS洪泛攻击方面所采用的技术有一个全面的了解。 ​ 在本文,我们对DDoS洪泛攻击进行分类,并根据它们在何时何地预防、检测和应对DDoS洪泛攻击对现有的对策进行分类。 ​ 此外,我们强调需要一种全面的分布式协同防御方法。我们的主要目的是激发研究人员开发出创造性的、有效的、高效的、综合的预防、检测和响应机制来解决实际攻击前、中和后的DDoS泛洪问题。

阅读全文

HydraText-Multi-objective Optimization for Adversarial Textual Attack

HydraText: Multi-objective Optimization for Adversarial Textual Attack 作者:Shengcai Liu,Ning Lu,Cheng Chen,Chao Qian,Ke Tang 时间:2021 ABSTRACT​ 文字(text)(word-level)对抗样本黑盒攻击。在这项工作中,同时考虑攻击效率+可辨认性,并提出一种新的具有可证明性能保证的多优化方法(称为HydraText ),以实现具有高隐蔽性的成功攻击。 ​ 为了测试HydraText的功效,我们在score-based 和decision-based的黑盒攻击下,使用5个NLP模型+5个数据集。 (PS:[论文总结] Boundary Attack - 知乎 (zhihu.com)) ​ 一项人类观察评价研究表明,Hydra Text制作的对抗样本很好地保持了有效性和自然性。最后,这些实例还表现出良好的可迁移性,可以通过对抗训练给目标模型带来显著的鲁棒性提升。

阅读全文

Semantic Host-free Trojan Attack

Semantic Host-free Trojan Attack 作者:Haripriya Harikumar , Kien Do, Santu Rana , Sunil Gupta , Svetha Venkatesh(迪肯大学.澳大利亚) 时间:2021.10.27 ABSTRACT​ 在本文中,我们提出了一种新颖的host-free木马攻击,其触发器(trigger)固定在语义空间(semantic),但不一定在像素空间(pixel)。 ​ 与现有的木马攻击使用干净的输入图像作为宿主来携带小的、没有意义的trigger不同,我们的攻击将trigger看作是属于语义上有意义的对象类的整个图像。 ​ 由于在我们的攻击中,与任何特定的固定模式相比,分类器被鼓励记忆触发图像的抽象语义。因此它可以在以后由语义相似但看起来不同的图像触发。这使得我们的攻击更实际地被应用于现实世界中,更难以防御。广泛的实验结果表明,仅用少量的特洛伊木马模式进行训练,我们的攻击能很好地推广到同一特洛伊木马类的新模式,并且可以绕过目前的防御方法。

阅读全文