11 2021 档案
摘要:一.前言 最近在研究C/C++源码的漏洞挖掘,需要用到Joern工具将源码转换为图来分析,于是开始寻找关于Joern的安装教程。首先是按照别人的博客安装,发现大部分依赖库都是远古版本,根本安装不了,于是找官方教程,找到了一个官方文档(准确来说应该是旧的官方文档,文档底部显示2014年),安装的版本为
阅读全文
摘要:一.摘要 提出了一种基于代码属性图和Bi-GRU的软件脆弱性检测方法。该方法通过从函数的代码属性图中提取出抽象语法树序列、控制流图序列作为函数表征的表征方式,减少代码表征过程中的信息的损失,并通过选取Bi-GRU来构建特征提取模型,提高对脆弱性代码的特征提取能力。实验结果表明,与以抽象语法树为表
阅读全文
摘要:一.摘要 首先从源代码中提取方法体,形成方法集;为方法集中的每个方法构建抽象语法树,借助抽象语法树抽取方法中的语句,形成语句集;替换语句集中程序员自定义的变量名、方法名及字符串,并为每条语句分配一个独立的节点编号,形成节点集。其次,运用数据流和控制流分析提取节点间的数据依赖和控制依赖关系。然后,
阅读全文
摘要:一.缓冲区分类: 按照缓冲区所在内存区域位置分类: 栈溢出 堆溢出 数据段溢出 按照导致溢出的内存操作函数分类: 字符串操作函数(strcpy) 格式化输出函数(sprintf) 按照溢出数据修改的关键值分类: 修改返回地址 修改函数指针 修改指针变量 二.栈溢出 基于栈溢出的攻击Stack Sma
阅读全文
摘要:以下为Ubuntu16.04编译arcsim-0.3.1的详细步骤: 安装编程套件(主要是g++): sudo apt-get install build-essential 安装vim和ctags: sudo apt-get install vim sudo apt-get install cta
阅读全文
摘要:一.缓冲区溢出攻击步骤: 注入攻击代码 跳转到攻击代码(核心环节) 执行攻击代码 二.缓冲区溢出按照所攻击对象的不同可分为 3 类 破坏栈数据 改变 RETADDR 的值,使其存放已经注入到栈中的攻击代码的地址或者是代码区中某些具有特权的系统函数地址(比如 system)。 破坏堆数据 更改类函
阅读全文