基于NLP的软件分析和程序漏洞挖掘(二)
找到NLP在软件分析和漏洞挖掘的契合点之后,我们需要去调研这方面现有的研究情况。发现已经有人使用NLP来对二进制代码进行分析,主要有3种方向上使用NLP分析二进制代码,但大多数都是对二进制代码进行静态分析,以下就这三种分析方向进行介绍。
Code Similarity Detection
至今,已经有两篇文章使用NLP做代码相似性检测,分别是 1)Safe: Self-attentive function embeddings for binary similarity 发表在2019 Detection of Intrusions and Malware & Vulnerability Assessment 和2)Neural Machine Translation Inspired Binary Code Similarity Comparison beyond Function Pairs发表在2019 NDSS。
首先1)文章描述了二进制分析已经从安全人员进行代码审计转换为将二进制代码转换为多维向量表示,然后通过简单有效的几何运算来比较向量。这种方法通常使用手工提取从二进制代码导出特征,这样导致漏洞检测或恶意代码检测的成功与否都受到安全人员选择特征提取方向的影响。所以这篇文章创新的提出了基于自注意神经网络的函数嵌入架构,直接通过反汇编二进制程序得到汇编代码作为数据集,并通过tensorflow的skip-gram来得到预训练模型。对于之后的自注意网络使用了双向递归神经网络以嵌入后的指令向量作为输入,RNN计算一个总结向量考虑到指令本身及其上下文。最终嵌入是所有
基于NLP的软件分析和程序漏洞挖掘(二)相关推荐
- 火车售票系统(基于UML的软件分析与设计模型建模实验)
火车售票系统(基于UML的软件分析与设计模型建模试验) 文章目录 火车售票系统(基于UML的软件分析与设计模型建模试验) 一.需求 二.UML用例图 三.UML类图 四.UML时序图 一.需求 实现一 ...
- ie 打开后端发过来的pdf_某办公软件PDF阅读器漏洞挖掘及Crash分析
摘要 本文主要讲述如何利用winafl对***pdf阅读器程序进行漏洞挖掘的过程. 准备 winafl.DynamoRIO ***pdf(11.6.0.8537)32位 测试环境:win7 32位.4 ...
- 【软件分析/静态程序分析学习笔记】7.指针分析(Pointer Analysis)入门
写在前面的话 本渣有幸成为南京大学软件学院研究生,在前往仙林校区蹭课的时候偶然发现了这门宝藏课程,听了以后感觉深有收获,但又因为课程难度较大,国庆假期归来发现遗忘较多,因此开了一坑来记录自己对每节课知 ...
- delphi 调用浏览器内核_HFL:基于混合模糊测试的Linux内核漏洞挖掘
Remarks Conference: NDSS 2020 Full Paper: HFL: Hybrid Fuzzing on the Linux Kernel Summary 针对的问题: Lin ...
- 重生之我是赏金猎人-SRC漏洞挖掘(二)-逆向app破解数据包sign值实现任意数据重放添加
0x00前言 本期登场的目标虽不是SRC,但是整个漏洞的利用手法很有学习意义.目前在很多大厂的http数据包中都会添加sign值对数据包是否被篡改进行校验,而sign算法的破解往往是我们漏洞测试的关键 ...
- 基于Gromacs模拟软件分析小分子配体与蛋白结合之后的稳定性
背景:随着分子病理学的发展,人们对疾病发生和药物发挥药效的分子机制有了更深入的认识,伴随着蛋白质晶体学的发展,越来越多的蛋白质晶体被解析出来,更多的药物与其靶标相互作用的三维结构被揭示,对于理解药物发 ...
- 【软件分析/静态程序分析学习笔记】2.中间表示(Intermediate Representation)
写在前面的话 本渣有幸成为南京大学软件学院研究生,在前往仙林校区蹭课的时候偶然发现了这门宝藏课程,听了以后感觉深有收获,但又因为课程难度较大,国庆假期归来发现遗忘较多,因此开了一坑来记录自己对每节课知 ...
- 软件设计实验(一)C#火车售票系统-基于UML的软件分析与设计模型建模实验(用例图、类图、时序图)
主要从用户管理模块分析: (1)用例图: (2)类图: (3)时序图:
- [iPhone高级] 基于XMPP的IOS聊天客户端程序(IOS端二)
接上一章的,这一章我们着重介绍XMPP 为了方便程序调用,我们把XMPP的一些主要方法写在AppDelegate中 在AppDelegate.m下这几个方法为: [java] view plainco ...
最新文章
- Mac上搭建直播服务器Nginx+rtmp
- Node.js-sublime text3 配置node.js(ERROR: The process node.exe not found.)
- dos 命令与 C++的联合作业,有点意思~
- ObjectStateManager 中已存在具有同一键的对象。ObjectStateManager 无法跟踪具有相同键的多个对象...
- 简述JQuery,Extjs,YUI,Prototype,Dojo等JS框架的区别和应用场景
- 数据结构 【实验3 链表基本操作】
- Educational Codeforces Round 106 (Rated for Div. 2) C. Minimum Grid Path 奇偶 + 思维
- Mac上command not found: vituralenv
- c语言数组字节偏移,C语言数组中的地址偏移问题
- how to set up github blog
- devc写Java_与dev c++类似的程序编写软件(适合初学者使用,支持c,c++,java,php,pascal等).pdf...
- XBuilder:Ext表单设计的完美实现
- 永利宝与火理财涉嫌非法吸收公众存款 6名犯罪嫌疑人抓捕
- python写的平行四边形_实现一个平行四边形
- 【LLS-Player】VS构建
- 高效C++ Effective C++
- 从零开始:微信小程序零基础入门宝典
- List remove的三种正确方法
- 云服务器上部署仿牛客网项目
- 游戏角色模型怎么做?3D建模小白学习从什么软件开始?
热门文章
- 【创意编程】《无限》:宇宙、三体、星云和轨迹
- 一阶广义差分模型_4.2 序列相关性_清华大学:计量经济学(李子奈博导)_ppt_大学课件预览_高等教育资讯网...
- fanfou+wiki
- 中小型企业如何选择合适又好用的CRM系统?
- 2023年国产CRM客户管理系统软件排名
- winds Server2016安装mysql8.0版教程
- 中科大软件学院-软件测试-实验4-web性能测试-Microsoft Web Application Stress Tool安装(win10下)
- python pdb 安装_Python MMTK“没有与..pdb文件关联的程序,请安装合适的查看器”
- 一个女孩主动加你微信,不说话也不打招呼是因为啥呢?
- MapReduce中文翻译