控制流

  • 基于OpenMP的并行Fortran程序数据竞争静态检测方法
    影响,具有动态控制流和不规则访问的程序不在LLOV分析范围内.现有的缺陷检测工具对OpenMP并行程序的语言和语法特性进行分析的不多,一些研究人员是通过多面体模型来检测指定的OMP并行构造进行静态检测分析,与他们工作不同的是,本文是针对OpenMP并行程序的指令特性来对数据竞争故障进行分析,从而建立数据竞争模型.因此本文方法对OpenMP制导指令的支持更健全和更准确.1.2.2 本文工作本文的工作应用数据流分析以及模型检测理论,将数据竞争抽象为一种故障模型

    小型微型计算机系统 2023年11期2023-11-10

  • 面向DCU非一致控制流的编译优化
    向DCU非一致控制流的编译优化杨小艺1,2,赵荣彩1,2,王洪生2*,韩林1,2,徐坤坤1,2(1.郑州大学 计算机与人工智能学院,郑州 450001; 2.国家超级计算郑州中心,郑州 450001)( ∗ 通信作者电子邮箱whs1814@foxmail.com)国产DCU采用单指令多线程(SIMT)的并行执行模型,在程序执行时核函数内会产生非一致控制流,导致线程束中的线程部分只能串行执行,即线程束分化。针对核函数的性能因线程束分化受到严重制约的问题,提出

    计算机应用 2023年10期2023-10-21

  • 面向基本路径学习的代码自动命名
    代码的数据流和控制流相关的特征,作为方法名模板对应的规则,根据启发式规则去检测具有与规则类似特征的方法代码名称是否准确.应用文本分析技术的方法的基本思想是将方法代码当作自然语言文本进行处理.文献[3]将源代码中关键字标识符剔除,使用文本主题提取算法得到文本主题特征,将提取的文本摘要作为方法名.最近,研究者将机器学习的技术引入到方法代码的抽象命名中[4,7],这种方法的关键技术是将方法代码抽象成新的代码表示作为代码特征,应用机器学习技术自动学习代码特征,根据

    小型微型计算机系统 2022年11期2022-11-18

  • 致密油藏压裂水平井产量预测
    ,提出了以边界控制流时间为节点的新型组合模式,同时根据节点处的产量相等和递减率相等,推导出了新型分段产量预测模型,并给出了边界控制流时间及该模型的求解方法,可预测不同生产阶段的单井全生命周期产量。1 产量预测模型的推导根据Arps 产量递减模型[12],当递减指数为0 时,可特殊化为指数递减,其特点是单位时间内产量下降与产量成比例,即递减率为定值,为现场常用模型,其产量和时间的关系为指数递减的递减率:而借鉴的SEPD 模型,则是一个基于经验的公式[13],

    新疆石油地质 2022年5期2022-09-20

  • 基于IDA microcode的控制流反混淆框架设计与实现
    指令替换、虚假控制流控制流平坦化。随后有多位开发者在O-LLVM官方版本基础上进行修改并开源,增加了更多的混淆方案,例如:字符串加密[2]、寄存器间接跳转[3]、函数间接调用[3]、指令虚拟化[4]等。O-LLVM可以有效保护软件知识产权,同时也被广泛应用在病毒、木马等恶意软件。因此,实现 O-LLVM反混淆对于维护健康的软件安全生态环境具有重要的现实意义。2015年,Yadegari等[5]提出了一种基于模拟执行的反混淆方法。但是,此类方案主要存在以下

    桂林电子科技大学学报 2022年2期2022-07-08

  • 基于级联森林的控制流错误检测优化算法
    将这种错误称为控制流错误.研究表明,瞬时故障引起的错误中有约33%~77%的错误是控制流错误[3,4].控制流错误主要是由于瞬时故障发生在程序计数器(PC),地址存储单元或者条件判断语句中的变量存储单元.控制流错误会造成计算机程序不按照正确的指令顺序执行,可能会干扰程序的运行结果、造成程序陷入死循环甚至崩溃[5].针对瞬时故障,现有的故障检测方法可以分为硬件方法和软件方法.硬件方法主要依靠硬件模块的冗余或者设置错误检测电路来实现,需要针对不同的硬件体系专门

    小型微型计算机系统 2022年5期2022-05-10

  • 采用隐式跳转的控制流混淆技术
    易地构建软件的控制流信息,未经保护的控制流信息暴露了包括源程序静态结构、代码逻辑在内的大量信息,因此对于许多逆向工具而言,控制流图都是必须构造的数据结构。本文研究的主要目的是抵御静态代码分析。抵抗静态代码分析特别是控制流分析的主要技术是代码混淆,这个概念最早由Collerg等[3]提出并加以分类及实现。代码混淆技术是将一些结构良好、易于理解的代码转换为难以阅读分析的代码,但是还能完整地保留其所实现的功能,著名的国际C语言混乱代码大赛[4]就是典型的例子。一

    计算机工程与应用 2021年20期2021-10-28

  • 一种基于控制流解耦的可重构阵列动态调度方法
    时映射时,会因控制流的非一致性导致处于不同控制体的数据流无法同时并行执行,进而引起阵列计算单元利用率下降的问题。常见的非一致性控制流有非完美循环、分支以及循环依赖等。针对非完美循环,可以通过循环交换和循环展开,对内层循环体和外层循环体进行重新组织,但并没有解决执行外层循环PE 利用率低的问题[1-4];针对分支,通过将不同分支上的指令合并映射到同一PE 上以提高PE 利用率,但这种方法不适用于路径长度差异较大的非平衡分支[5-6];针对循环依赖,通过利用线

    上海航天 2021年4期2021-09-11

  • Android应用Smali代码混淆研究
    通过插入多余的控制流和压扁控制流控制流进行混淆以对安卓应用进行防御。并从功能、性能两个方面做出了评价。刘方圆等人[14]同样在smali层面对安卓应用加固进行研究,其主要是对寄存器的值加以混淆以及通过不透明谓词对控制流进行混淆,并且在强度、弹性、开销进行的技术评价。吴林[15]提出了基于Dalvik字节码指令的混淆技术,从数据流和控制流两个层面对apk进行混淆。综合现有的工作,大部分的工作都是针对于Android应用程序中源码级别Java代码的混淆,对于

    计算机技术与发展 2021年7期2021-08-02

  • 基于代数的软件路径的自动生成
    分为代码分析、控制流图生成、路径生成和测试用例四个部分[3]。因此,路径测试的准确性与路径生成密切相关。然而,随着软件规模的不断增加,软件系统中的循环结构出现次数也随之增多,路径成爆炸式增长,目前已有的软件路径生成方法代价大且困难。文献[4-7]中对于软件路径的自动生成问题均提出了相关算法,但这些算法只生成了软件的基本路径集,并没有生成软件的完整路径。文献[8]提出了一种基于状态图自动生成软件路径的方法,并实现了对路径的优化,但该方法未对程序中循环结构的出

    信阳农林学院学报 2021年2期2021-07-07

  • 抵御控制流分析的Python 程序混淆算法
    00)0 引言控制流分析是一种特殊的分析技术,通常用于对程序的控制流结构进行静态结构分析。随着软件功能的增加,算法结构也变得越来越复杂,程序员们开始在程序语言中使用越来越多的分支语句[1]。为了能够提高程序执行的效率,通过控制流分析将这些程序编译为相对较为简单的语言,以便程序员们能够更好地利用和处理这些程序语言。但是这种能够将所有程序语言变得简单易懂的分析方法使得软件失去了程序语言对自身算法结构的保护能力,很多黑客利用控制流分析能够轻易地对软件程序的安全构

    数字技术与应用 2021年5期2021-06-29

  • 基于动态分析的控制流劫持攻击检测
    式多种多样,而控制流劫持攻击是最常见的一种. 控制流劫持攻击允许攻击者破坏程序的控制数据,通常将执行流重定向到攻击者自己的注入代码. 通过执行恶意代码能够完全控制程序和系统,造成极大的危害. 目前的操作系统中部署了地址空间布局随机化(Address Space Layout Randomization,ASLR)、数据执行保护(Data Execution Protection,DEP)、结构化异常处理安全校验(Safe Structured Except

    四川大学学报(自然科学版) 2021年3期2021-06-03

  • 面向进程控制流劫持攻击的拟态防御方法
    )1 引言进程控制流劫持是一种常见的攻击手段,其通常利用缓冲区溢出[1]等二进制漏洞篡改进程的控制流,从而进行程序正常功能之外的恶意操作[2]。控制流劫持攻击的危害非常大,控制流劫持的目的往往是获取目标机器的控制权,然后提取系统特权对目标机器实现全面控制。根据 CWE Top25[3]的排名,内存缓冲区溢出仍然是最危险的软件错误。控制流劫持攻击可以分为代码注入和代码重用两大类[2]。代码注入类攻击利用程序本身的输入功能向进程的虚拟地址空间注入恶意代码,然后

    通信学报 2021年1期2021-02-28

  • 基于控制流的软件树生成及其应用
    ,研究采用基于控制流分析结果的软件故障树自动化分析技术,实现SFTA基于客观分析结果(控制流分析结果),并可达到分析过程短周期及计算机自动化的目的。1 软件故障树分析的基本理论故障树分析(FTA)是产品(系统)可靠性和安全性分析的工具之一,用来寻找导致不希望的系统故障或灾难性危险事件(顶事件)发生的所在原因和原因组合,在具有基础数据时求出顶事件发生的概率及其他定量指标。FTA也是分析已经发生的事故的一种基本方法,在装备研发、维护等领域有广泛的应用。故障树分

    微型电脑应用 2021年1期2021-01-28

  • 基于程序双维度特征的恶意程序相似性分析
    块序列构造软件控制流图,从软件代码语义特征和结构特征两个维度对软件进行相似性分析。动态提取软件特征能够有效避免加壳、混淆等软件变形技术的影响,提取汇编层面的信息使检测不受软件开发语言的限制,从两个维度进行检测,既考虑到软件的语义特征又考虑到软件的结构特征,能够对软件进行较为全面的分析。1 相关工作随着软件技术的发展,软件复用技术给软件开发带来极大便利,同时也带来了盗版软件泛滥,恶意软件开发门槛降低,恶意软件泛滥的问题。最初,软件相似性或同源性的检测分析技术

    计算机工程与应用 2021年1期2021-01-11

  • 工控系统中PLC安全漏洞及控制流完整性研究
    安全漏洞和利用控制流完整性对PLC进行保护的研究具有重要意义。1 PLC存在的安全漏洞根据PLC设备的特点以及程序的执行流程和控制逻辑,PLC存在的安全漏洞被分为3种类型:固件修改漏洞、配置操作漏洞和控制流劫持漏洞[1]。1.1 PLC的固件修改漏洞PLC拥有以太网模块,且制造商也提供了升级或替换以太网卡的服务,但在大多数情况下,固件上传到现场设备的以太网卡时没有有效的安全保护机制,攻击者利用PLC的以太网模块上载恶意固件,实现对PLC的攻击[2]。PLC

    电子科技 2021年2期2021-01-08

  • 基于返回地址签名的控制流攻击检测方法
    击通道。近年来控制流攻击事件不断发生,如 2017 年 5 月,WannaCry 勒索病毒利用 TCP445端口漏洞将系统控制流篡改到恶意代码处,进而实施了控制流攻击,造成至少150 个国家和地区受到攻击,严重影响金融、能源、医疗等行业的正常运行。相比于木马攻击、旁道攻击、反向工程等硬件载体攻击,控制流攻击具有有效性高、可行性强以及与其他攻击模式兼容等特性,因此防御控制流攻击,保障嵌入式系统的安全性已经成为当前各领域的迫切需求。由于控制流攻击的危害性巨大,

    华东理工大学学报(自然科学版) 2020年6期2020-12-23

  • 抵御控制流分析的程序混淆算法
    点,因此程序的控制流是可归约的,可以通过控制流分析将程序反编译成高级语言。近年来,程序控制流分析成为软件分析的研究热点,许多学者提出了基于符号执行、程序切片和形式化推理等的程序控制流分析技术[2],大大提升了程序控制流的完整性和准确性。利用控制流分析技术可以有效地分析程序结构和行为,给程序安全带来巨大的威胁。为保护程序,许多学者和研究机构对此进行了大量研究,提出了控制流完整性防护[3]、控制流异常检测[4]和控制流混淆等各种程序安全保护方法[5]。其中,控

    计算机工程与设计 2020年11期2020-11-17

  • 基于控制流的软件设计与实现一致性分析方法
    息,比如代码的控制流和数据流[12]971。本文采用基于语义的表征方式,语义信息为代码的控制流,基于代码控制流获取函数特征。函数特征分为外部特征和内部特征。外部特征为函数间调用关系,内部特征为函数控制流信息,包括基本块序列和控制流图。函数间调用关系反映了系统的结构[13],每个函数内部的控制流信息反映了函数的内部结构,因此选其作为函数特征并建立特征模型。函数特征提取具体过程如下:2.1 中间表示的生成伪代码和源代码中的控制结构会造成控制流的改变,难以直接从

    计算机应用 2020年10期2020-10-18

  • 基于XOR 门加密的抗控制流攻击方法*
    用软件漏洞实施控制流攻击进而对整个系统进行控制. 控制流攻击是指利用程序漏洞, 通过篡改程序控制流的存储地址或控制流数据等方式, 将程序导向并执行预先设定的恶意代码, 达到破坏系统或盗取关键信息的目的. 根据恶意代码注入与否, 控制流攻击可分为代码注入攻击和代码复用攻击. 代码注入攻击指攻击者利用软件的某些漏洞将恶意代码注入到应用程序. 堆栈溢出攻击是代码注入攻击的一种典型方式, 堆栈中写入的数据量超过堆栈本身的容量, 溢出的数据可以覆盖合法的数据, 但由

    密码学报 2020年4期2020-09-12

  • 一种检测控制流错误的多层分段标签方法
    于解决软错误中控制流错误的检测问题。程序控制流错误是软错误的一大类型,根据Zhu等人[3]和Ohlsson等人[4]的实验结果可知,在程序发生的软错误中,有33%~77%的可能性造成程序的控制流错误。当高能粒子在与程序调用地址相关的位置引发故障时,就有可能造成控制流错误[5]。对于任何计算机程序,只要给程序输入,其内部执行指令的顺序就是固定的,但是控制流错误会改变这种顺序,从而影响程序的正确执行[6]。目前检测控制流错误的软件技术通常是维护并更新一个全局的

    计算机与现代化 2020年8期2020-08-17

  • ASLR机制脆弱性自动分析方法*
    ,通过劫持程序控制流,跳转至指定内存地址,实现任意代码执行,需要在触发程序控制流劫持状态的同时,注入目标内存地址。地址随机化(Address Space Layout Randomization, ASLR)机制对加载于程序内存空间中的各模块进行随机化布局,导致攻击者无法准确定位目标代码的内存地址,从而阻止控制流劫持攻击[2-3]。但是,ASLR依然存在不少局限性[4-5]。受地址随机化的影响,内存中各模块的加载地址随机分布,但各模块的内部结构依然相对固定

    国防科技大学学报 2020年2期2020-05-06

  • 基于分段拟合的致密气藏递减分析方法
    :气井处于边界控制流阶段。尤其是致密气藏的气井,有很长时间的不稳定流阶段,若对该阶段的生产数据应用Arps 递减曲线进行产量预测与指标评价,会存在较大误差。文献[4-6]提出:对于致密气藏有限边界压裂气井,随着流动阶段的变化,递减指数呈现“急速上升、持续下降、趋于稳定”的变化趋势。达到边界控制流以后,递减指数趋于稳定,产量变化规律也趋于稳定。根据前人的研究成果及Arps 递减曲线的适用条件,针对苏里格致密气藏压裂气井生产实际,提出其产量递减分析的关键—分段

    石油化工应用 2020年3期2020-04-11

  • 分布式SDN控制平面下可靠的控制流传输路径选择
    器与交换机间的控制流传输路径选择.现有研究通常默认交换机到控制器的最短路径作为控制流的传输路径,而忽略传输路径的可靠性对SDN性能的影响[5].特别是在In-Band控制平面下,控制流传输路径的可靠性非常重要,网络故障将导致大量交换机的控制流无法被正常转发,进而影响SDN网络正常运行.现有的控制流路径研究主要分为两类: 一是基于交换机本地的切换机制,二是在基于全局拓扑的控制流路径选择.第一类研究专注于在单个SDN交换机上实现各类机制来选择控制流路径,这类机

    福州大学学报(自然科学版) 2020年2期2020-04-07

  • 基于控制流的盒图动态建模与测试
    ,研究工作流中控制流的可视化建模与实现;通过分析盒图和控制流的转换关系,将静态的盒图无缝地转换成可视化的动态控制流模型,完成从盒图静态过程描述到控制流的可视化动态建模、实现、测试和验证;实现快速构建复杂业务流程的可视化分析模型并提前验证,解决了复杂业务过程模型在编码之前的逻辑验证,在实际的建模中,逻辑关系清晰,便于验证。关键词:工作流;盒图;控制流;动态建模与测试中图分类号:TP311.51     文献标识码:AAbstract: This paper

    软件工程 2020年12期2020-01-07

  • 进程控制流劫持攻击与防御技术综述
    伟光,孙蒙进程控制流劫持攻击与防御技术综述王丰峰,张涛,徐伟光,孙蒙(陆军工程大学,江苏 南京 210001)控制流劫持攻击是一种常见的针对计算机软件的攻击,给计算机软件安全带来了巨大的危害,是信息安全领域的研究热点。首先,从攻击代码的来源角度出发,阐述了进程控制流劫持攻击的相关研究;其次,根据控制流劫持攻击技术的发展现状,基于不同防御思想介绍了近年来国内外的相关防御技术;最后对控制流劫持攻防技术发展趋势进行总结和展望。软件安全;控制流劫持攻击;控制流完整

    网络与信息安全学报 2019年6期2019-12-13

  • 面向动态加载的Android恶意行为动静态检测方法
    术,提取程序的控制流图,通过分析动态加载点的位置进行路径制导的动态执行,以获得动态加载的APK。然后,再针对其进行静态分析获得控制流图[6],通过对宿主App和被加载APK的控制流组合,得到整个系统的完整控制流图。针对该控制流图进行遍历和恶意行为模式的匹配,就可以完成对完整App的检测。本文基于所提出的恶意代码检测方法,开发了相应的原型工具、构造了实例,并且进行了实例研究。1 相关工作及背景现有的恶意代码检测技术主要分为静态分析和动态分析。静态分析是在获取

    计算机应用与软件 2019年12期2019-12-12

  • 一种基于数据流/控制流+知识条目的回归影响域分析方案
    是基于数据流/控制流的研究.董燕等[6]从控制结构算法更动、逻辑更动、参数更动等方面对基于代码更动的影响域分析方法进行了研究,提出了各类更动的分析方法和原则,并将其应用于航天嵌入式软件,取得了良好的效果;杨贞祥、王德敏等[7,8]对基于控制流和数据流的更动影响域分析方法进行了研究,阐述了分析原理,提出了分析操作步骤;杨波等[9]针对基于变量自身变化和变量间依赖关系的变量行为模型开展了研究,提出了一种基于变量影响分析和数据变异的回归测试用例方法;侯成杰[10

    测试技术学报 2019年5期2019-10-18

  • 面向C程序的环形复杂度自动化计算方法
    度量法根据程序控制流的复杂程度定量度量程序复杂程度,这样度量出的结果称为程序的环形复杂度。在软件测试中,环形复杂度用于衡量一个模块判定结构的复杂程度,数量上表现为独立路径条数,即合理的预防错误所需测试的最少路径条数,这是为确保所有语句至少执行一次而必须进行测试的数量的上界,也可以理解为覆盖所有的可能情况最少使用的测试用例数[2-4]。在通常情况下,程序环形复杂度值越大,说明程序判断逻辑越复杂,越容易出错,且软件难以测试与维护。大量研究和经验表明,环形复杂度

    计算机工程 2018年12期2019-01-02

  • 基于Petri网数据流约束下的业务流程变化域分析
    廓;依赖关系;控制流;数据流[中图分类号]TP319.1 [文献标志码]A文章编号:1003-6180(2018)02-0015-06Abstract:Based on the behavioral profile theory of Petri nets, the control dependences and data dependences of the models are found and analyzed by studying the be

    牡丹江师范学院学报(自然科学版) 2018年2期2018-09-10

  • 一种基于本地代码特征的Android恶意代码检测方法
    提取汇编代码的控制流图集合,将其与已知恶意应用的控制流图集合进行相似性比较,得出它们的相似度.如果相似度大于某个阈值,则可以确定待检测的Android应用包含了恶意代码.由于提取了SO文件中包含的代码的特征,该方法的代码覆盖率比传统的静态检测方法高.2 方法描述本文提出一种基于本地代码特征的Android恶意代码检测方法,该方法通过提取Android应用的本地代码的控制流图特征来检测和分析恶意代码,流程如图1所示:图1 检测方法的流程2.1 ART虚拟机A

    信息安全研究 2018年6期2018-06-15

  • Java自动化基本路径测试技术研究
    现有方法主要以控制流图为输入来生成基本路径集合[6-8],减少了人工分析得到基本路径集合的工作量。为了减少由代码生成控制流图以及执行路径与基本路径集合比对的工作量,本文提出了针对Java源码的路径测试自动化方法,首先通过对Java代码的分析构建控制流图和实现程序插桩,保持控制流图和代码插桩中节点的一致性,然后通过控制流图生成基本路径集合,最后执行插桩后被测程序判断测试数据对基本路径集合的覆盖程度。1 控制流图定义与构造基本路径集通过分析被测程序的控制流图来

    计算机测量与控制 2018年4期2018-04-25

  • 一种基于控制流图特征的Linux平台恶意代码检测方法
    了一种基于软件控制流图特征的恶意代码检测方法。通过对软件进行静态分析得到汇编代码,进而分析汇编代码构建控制流图。提取控制流图的属性作为特征向量,将这些特征向量送入机器学习算法进行训练,得出分类器,使用分类器来检测恶意软件。1 相关定义基本块:一段有序指令序列,从第一条指令顺序执行到序列的最后一条指令。除了最后一条指令外,序列中的其他指令不会是分支或者跳转指令[6]。控制流图:定义V={VI,V2,...,Vn}为代表基本块的顶点集,E={brijl bri

    现代计算机 2018年8期2018-04-24

  • 基于表驱动的纯软件签名错误检测算法
    过纯软件签名的控制流检测(CFDSS)[4-5]、通过断言的控制流检测(ACFC)[6]、运用断言的增强型控制流检测(ECCA)[7]、通过冗余指令[8]的错误检测(EDDI)[9-11]等在内的纯软件处理方法,比上述这2种概念运用得更加广泛,因为这些纯软件检错方式不要求特定的硬件设备提供支持。ACFC在执行过程中赋予每一个基本块一个奇偶校验位,可检测出奇偶性错误;EDDI采用复制指令,并通过插入合适的检测指令进行验证,但这种方法易导致代码容量增加近100

    计算机工程 2018年4期2018-04-19

  • PLC程序控制流分析方法
    7)PLC程序控制流分析方法张 晔*,陆余良(合肥电子工程学院 ,合肥 230037)可编程逻辑控制器(PLC)是工业控制系统的重要组成部分,控制着各类物理设备及工艺流程。无论是攻击者的恶意篡改还是内部人员的编程错误所造成的PLC控制程序错误都将严重威胁设备及人身安全。为解决该问题,提出了针对PLC程序的控制流分析方法。首先,利用flex和bison分析了源代码的词法及语法结构;其次,通过分析抽象语法树(AST)生成并优化了不含指令副作用的中间表示;最后,

    计算机应用 2017年12期2018-01-08

  • 基于状态转换的PLC程序模型构建方法
    的文法结构进行控制流分析生成控制流图;然后,通过数据流分析得到程序依赖图;最后,根据程序依赖图生成NuSMV的输入模型。实验结果表明,所提方法实现了ST程序到NuSMV输入模型的自动化构建,并且构建的NuSMV输入模型既保留了ST程序的原有特性又符合NuSMV模型检测工具输入的规范,与传统手工模型构建方法相比,提高了模型生成的效率和准确率。工业控制系统安全;模型检测;NuSMV;程序分析;模型构建0 引言工控安全事关经济发展、社会稳定和国家安全。近年来,随

    计算机应用 2017年12期2018-01-08

  • 基于影响域分析的软件回归测试设计
    分析,并对基于控制流和数据流的影响域分析、影响域重定位、基于影响域的回归测试设计进行了详细论述,希望由此能够为相关业内人士带来一定启发。影响域;回归测试;数据流;控制流1 软件回归测试分析1.1 回归测试的关键点作为软件工程的重要组成,软件测试属于保证软件质量的重要手段,本文研究的回归测试便是软件测试的重要组成,其与首轮测试均在软件工程中占据着较为重要的地位。首轮测试主要采用追踪法保证测试需求覆盖率,回归测试则将开展的重点放在了更改内容的确认与影响方面,而

    电子测试 2017年22期2018-01-03

  • 基于符号执行的Android原生代码控制流图提取方法
    oid原生代码控制流图提取方法颜慧颖,周振吉,吴礼发,洪征,孙贺(解放军理工大学指挥信息系统学院,江苏南京 210000)提出了一种基于符号执行的控制流图提取方法,该方法为原生库中的函数提供了符号执行环境,对JNI函数调用进行模拟,用约束求解器对符号进行求解。实现了控制流图提取原型系统CFGNative。实验结果表明,CFGNative可准确识别样例中所有的JNI函数调用和原生方法,并能够在可接受的时间内达到较高的代码覆盖率。控制流图;Android应用软

    网络与信息安全学报 2017年7期2017-07-31

  • 基于UML活动图的场景法测试用例生成策略的研究
    本路径覆盖法;控制流图;独立路径1 引言UML是一种可视化的建模语言,它通过图形表示法从多个侧面对系统的分析、设计、实现、测试等进行刻画.研究表明,采用有效的形式化方法来描述问题域,并选择适当的测试策略,是设计和生成完备的测试用例集合的关键环节[1].活动图是UML中的一种行为图,它描述系统为完成某项功能而执行的操作序列,其实质就是流程图,可用于描述程序流程和工作流程.所以活动图是软件系统测试,尤其是业务流程测试的重要手段.场景测试法是通过构建各种测试场景

    赤峰学院学报·自然科学版 2017年10期2017-06-01

  • 一种JAVA控制流混淆方案
    )一种JAVA控制流混淆方案葛 华a, 余沛钊a, 夏梦森b(武汉理工大学 a.信息工程学院; b.计算机科学与技术学院, 武汉 430072)在逆向分析的领域里,JAVA软件最需要保护的地方毫无疑问是整个软件的结构。本文在总结代码混淆领域中的一些混淆策略后,提出一个基于结构代码块的控制流混淆方案。该方案不是以基本代码块为基础来提出具体的混淆策略,而是从软件结构角度上,只对那些复杂的结构块进行混淆处理。该方案首先插入含有垃圾代码块的分支路径,然后以结构代码

    湖北第二师范学院学报 2017年2期2017-05-15

  • 控制流完整性的发展历程
    成岗 李建军控制流完整性的发展历程文/武成岗李建军武成岗中国科学院计算技术研究所正高级工程师、博士生导师,主要研究领域为动态编译、软件安全、程序分析等。李建军中国科学院计算技术研究所副研究员,主要研究领域为动态程序分析、软件安全保障等。控制流劫持是一种危害性极大的攻击方式,攻击者能够通过它来获取目标机器的控制权,甚至进行提权操作,对目标机器进行全面控制。当攻击者掌握了被攻击程序的内存错误漏洞后,一般会考虑发起控制流劫持攻击。早期的攻击通常采用代码注入的方

    中国教育网络 2016年4期2016-06-06

  • 面向动态生成代码的攻防技术综述
    的安全问题,为控制流劫持攻击和相应的防御提供了新机会,受到越来越多的关注。针对动态生成代码在数据区且可被执行和直接依赖输入的特性,本文从代码注入攻击和代码重用攻击两个角度总结分析了控制流劫持攻击新技术,并从强制性防御和闪避防御(Moving target defense)两个角度对相关的主要防御新方法进行了阐述。同时提出动态代码生成系统安全性的衡量模型,对代表性防御技术进行对比分析和评估,并探讨了面向动态生成代码攻防技术的发展趋势和下一步的研究方向。软件安

    信息安全学报 2016年4期2016-03-01

  • 二进制代码块: 面向二进制程序的细粒度控制流完整性校验方法
    制程序的细粒度控制流完整性校验方法王明华1,2, 尹 恒2, Abhishek Vasisht Bhaskar2, 苏璞睿3,4, 冯登国41百度X-Lab2雪城大学3中国科学院软件研究所计算机科学国家重点实验室4中国科学院软件研究所可信计算与信息保障实验室控制流完整性(CFI)是一种在程序中通过保护间接转移有效减少代码注入和代码重用攻击等威胁的技术。由于二进制程序缺少源代码级别的语义, CFI策略的设定需要很谨慎。现有的面向二进制的 CFI解决方案, 如

    信息安全学报 2016年2期2016-02-20

  • 分存技术在代码混淆中的研究
    度。其中,代码控制流混淆是当前代码混淆技术中的研究热点。目前,存在着许多种代码控制流混淆变换[3-4],但都由于变换形式过于单一,很容易被逆向工程所过滤。针对这种情况,文献[5]提出不透明谓词变换和降级高级控制结构变换,加大了反编译及逆向工程的难度;文献 [6]提出插入垃圾代码的改进的控制变换,增加了防止破解者静态分析的能力;文献 [7]提出混沌不透明谓词变换,尽可能地防止破解者对代码进行静态攻击。但是这些变换最终无法确定代码的混淆强度是否足够抵抗攻击,并

    计算机工程与设计 2015年1期2015-12-20

  • 利用智能控制流方法的嵌入式软件故障检测*
    00)利用智能控制流方法的嵌入式软件故障检测*周改云1,张国平1,吕琼帅1,黎远松2(1.平顶山学院 软件学院,河南 平顶山 467000;2.四川理工学院 计算机学院,四川 自贡 643000)针对现有的嵌入式软件故障检测方法性能低、开销大的缺点,提出一种智能选择检测点的控制流方法,其创新之处主要为:使用变量的频率和基本块的执行频率用作选择重要变量和基本块的两个参数。检测的基本流程是首先过滤器还原标准C语句为伪代码语句,然后扫描仪获取伪代码,并发送它到解

    电子技术应用 2015年10期2015-12-16

  • 采用控制流监控的Cisco IOS指针攻击检测方法
    郑州)采用控制流监控的Cisco IOS指针攻击检测方法刘胜利,邹睿,彭飞,武东英,肖达(中国人民解放军信息工程大学数学工程与先进计算国家重点实验室, 450000, 郑州)针对当前Cisco IOS(internetwork operating system)漏洞攻击检测方法检测效率低的问题,提出了一种采用控制流监控来判定Cisco IOS指针攻击的方法。该方法通过静态分析和动态跟踪相结合的方式对Cisco IOS中不同类别的控制流分别构造合法转移地

    西安交通大学学报 2015年12期2015-03-07

  • ARM架构中控制流完整性验证技术研究
    )ARM架构中控制流完整性验证技术研究叶雁秋,王震宇,赵利军(解放军信息工程大学,郑州450001)通用平台目标二进制代码运行时控制流的提取主要依赖于处理器硬件特性,或其动态二进制插桩工具,该平台的控制流完整性验证方法无法直接移植到进阶精简指令集机器(ARM)架构中。为此,基于控制流完整性验证技术,设计一种用于ARM架构,利用缓冲溢出漏洞检测控制流劫持攻击的方法。该方法在程序加载时、执行前动态构建合法跳转地址白名单,在目标二进制代码动态执行过程中完成控制流

    计算机工程 2015年3期2015-02-20

  • 涡流阀调节特性冷流实验研究*
    实验。通过改变控制流的路数、控制流的压强研究涡流阀的性能影响。实验系统主要由主流模拟气源、控制流模拟气源、涡流阀实验器、时序控制器、数据采集器及阀门管路等组成。主流模拟气源和控制流模拟气源采用压缩氮气源,主要由气瓶、汇流排、减压器等组成;涡流阀实验器(见图2)采用固定几何结构,4个控制流接口,根据实验工况进行控制流接口数量的使用;时序控制器主要实现系统中的开关阀门的打开、关闭时刻的控制;数据采集器主要进行实验中主流模拟气源、控制流模拟气源和涡流室的压强信号

    弹箭与制导学报 2014年6期2014-12-10

  • 基于动态数据流分析的虚拟机保护破解技术
    迹,还原程序的控制流图,根据轨迹信息对数据生成过程进行分层次、分阶段还原,并由分析人员结合控制流图和数据生成过程进行算法重构。实验结果证明,该方法能够正确还原程序的控制流和数据生成过程,辅助分析人员完成被保护算法的重构。数据流分析;虚拟机保护;控制流还原;算法还原1 概述软件核心算法的逆向分析在网络协议逆向、恶意代码机理分析、协议特征提取等安全应用中发挥着重要的作用。目前恶意软件广泛采用虚拟机保护等抗分析技术对核心算法进行保护,使得已有的逆向分析方法面临新

    计算机工程 2014年9期2014-06-06

  • 白盒测试之基本路径测试技术探析
    径测试是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,然后据此设计测试用例[4,5]。设计出的测试用例要保证在测试中程序的每一条可执行语句至少执行一次。1.4 程序控制流图在进行软件(程序)测试的设计时,对程序的流程图进行简化,图1中每个处理都退化成一个结点,流线变成连接不同结点的有向弧,简化之后所得的图形称为程序控制流图,即控制流图是退化的程序流程图[5]。控制流图将程序流程图中结构化构件改用一般有向图的形式表示。在软件(

    重庆工商大学学报(自然科学版) 2014年1期2014-05-25

  • BPM软件建模能力的评估
    套标准。本文从控制流的视角出发对比了国内具有代表性的一款BPM软件与一个自由软件,从对比中可以看出国内BPM软件的一些优势以及劣势。为后续国内BPM软件的发展开拓了空间,也为国内企业级应用厂商选择BPM软件提供一些选择依据。1.BPM软件控制流评估体系的建立BPM软件从应用初期凭借其可视化的特性降低了使得开发变得简便,降低了开发的门槛,同时其所见及所得的特性缩短了业务人员和开发人员的距离,因此BPM软件一直被推崇。近几年BPM软件发展迅猛,各种软件如雨后春

    电子世界 2014年7期2014-03-15

  • 基于异常控制流识别的漏洞利用攻击检测方法
    方法,通过劫持控制流实施利用攻击。为了应对这些新安全环境下的利用攻击,安全人员需要及时地发现攻击威胁,以便快速做出响应,避免造成损失。近年来,学术界提出了控制流完整性检测、污点分析等分析方法,来对程序执行过程中的异常控制流进行检测,取得了一定的效果。控制流完整性检测方法[2],通过在CFG图中构造控制流转移的合法目标地址集合,在控制流转移发生时,校验目标地址是否在合法的集合内,并以此作为攻击检测的依据。此种方法依赖CFG,无法解决动态生成代码相关的恶意控制

    通信学报 2014年9期2014-01-01

  • 过程模型中控制流反模式的定义和检测方法
    程模型反模式以控制流反模式(控制结构方面的反模式)最为常见[2]。文献[3]对过程模型进行化简并根据化简结果判断过程模型中是否存在死锁或乏同步,但该方法无法定位反模式。文献[4]使用编译技术中的控制流块分析技术[5]分析过程模型并利用启发式方法检测并定位控制流反模式,但该方法只支持一些既定的控制流反模式,扩展性不足。文献[6]利用 BPMN-Q[7]定义并查询BPMN模型中的常见控制流反模式,该方法允许用户自定义反模式,但它的效率较低,而且不支持BPMN以

    中国石油大学学报(自然科学版) 2013年3期2013-04-27

  • 基于控制流切片的代码安全缺陷检测方法
    测,该方法通过控制流图实现属性状态条件的合并,判断不可达性,降低误报率[1]。近年来模型验证也成为代码诊断领域研究的热点,卞磊,刘超等人使用有穷状态机模型对过程内变量数据流异常进行检测,根据数据项的状态迁移判断过程内的数据流是否异常[5]。周宽久等人提出了一种基于XML中间模型的代码安全规范检测方法,使用GJB安全子集对代码安全进行分析[6]。陈忠湘,詹瑾瑜等人提出一种带控制流的函数分析模型,对函数间调用次序以及逻辑设计复杂度都有描述,辅助程序设计人员进行

    计算机工程与设计 2012年6期2012-05-04

  • 基于结构语义树的高级控制结构恢复技术
    的概念,在进行控制流图结构化之后,构建结构语义树,从而得到高级控制结构的嵌套关系信息。最后通过前序遍历结构语义树,则可恢复过程的高级控制结构。准确恢复过程的高级控制结构对提高反编译结果的正确性,代码语义与功能的等价性等方面具有重要意义。1 预备知识定义1 基本块[14-15]b=[i1,…,in-1,in],n≥1是一个满足下列条件的指令序列:[i1,…,in-1]∈NTIin∈NTI或[i1,…,in-1,in]∈NTIin+1是另一个基本块的第一条指令

    计算机工程与设计 2011年9期2011-07-25

  • C++反编译中控制流图优化方法研究
    执行模块;4)控制流分析,对流程进行分析,为生成高级语言控制流做准备;5)类型分析,识别数据的类型。最终生成可理解的高级语言代码。其中步骤1),2)都有不少论文介绍这方面工作。其中,文献[5]介绍了静态反汇编的两种方法。文献[6]介绍了C++库函数的识别方法。而且现在也出现了成熟的反汇编分析工具,如IDA。控制流分块与控制流分析是反编译器中间的部分,为输出的高级语言代码生成提供依据[7],直接影响到生成高级代码的正确性。文中首先介绍了现有的控制流分块方法以

    电子设计工程 2011年21期2011-06-05

  • 改进的CFCSS控制流检测算法
    据流、指令流及控制流错误,但几率最大、危害最大的是改变指令序列执行顺序的控制流错误[6].文中首先分析总结了控制流检测算法的原理,其次,分析CFCSS算法原理[7-8],并简述其中存在的检测混淆和检测出错现象的原因;最后,根据CFCSS算法中存在的问题,修改了基础基本块的选择方法和多调整签名值赋值语句的插入位置,提出了改进的ICFCSS算法(improved CFCSS).1 控制流图与基本块为了方便描述控制流检测算法,在此引入几个定义.定义1 控制流图(

    哈尔滨工程大学学报 2011年6期2011-04-13

  • 一种改进的数据流分析方法
    分析数据流方程控制流语句块中图分类号:TP6文献标识码:A文章编号:1671-7597(2009)0710059-02一、引言基于源代码静态分析的数据流分析[1][2]作为程序分析的一种重要技术,能够从程序代码中收集程序的语义信息,它不必实际运行程序就能够获取程序运行时的信息,更易于人们理解和分析程序,因此被广泛用于解决编译优化、程序验证、调试、测试和并行编程环境等中的问题。数据流分析获取信息的方法有两种,对于结构化的程序可采用语法制导的求解方法,对于任意

    新媒体研究 2009年13期2009-10-26