共查询到20条相似文献,搜索用时 171 毫秒
1.
2.
底层虚拟机混淆器(OLLVM)是一个著名的代码混淆工具,除了用于保护商业软件的安全外,也被恶意代码的开发者所利用,以此增加分析难度。为便于安全研究人员对ARM恶意程序进行分析,提出并实现了基于动态分析的OLLVM自动化反混淆方法。对于虚假控制流,根据不透明谓词的内存特征监控内存读写并利用动态污点分析技术识别虚假控制流来完成反混淆;对于控制流平坦化,通过动态运行程序并记录基本块的执行顺序来完成反混淆;同时利用多执行路径构造来提高代码覆盖率,最后通过指令修复还原基本块之间的关系。实验结果表明,该方法可准确消除可执行程序中因混淆产生的条件分支,且反混淆后得到的程序其运行结果与未混淆的程序保持一致,能有效完成对ARM混淆程序的反混淆工作。 相似文献
3.
一种基于异常传播分析的数据流分析方法 总被引:8,自引:0,他引:8
异常处理是一种用来检测异常并对其进行处理的技术.异常传播改变了程序原来的执行路线,从而改变了程序中的数据流.在进行数据流分析时,如果不考虑异常传播对其造成的影响,则得到的信息将是不准确的.在分析C++异常传播机制和异常传播对数据流分析影响的基础上,提出一种包含异常传播信息的函数间控制流图的构建方法.该控制流图可以清晰地表示出异常的隐式控制流和异常的传播路径;然后提出了基于异常传播分析的数据流分析方法,并给出相应的算法.该方法既克服了因忽略异常传播对数据流影响而造成分析结果不准确的不足,又有助于实现异常传播数据流分析的自动处理;最后用一个实例验证了该方法的可用性.该方法可以为结构测试、回归测试、程序切片等软件工程任务提供相关信息. 相似文献
4.
控制流图描述了函数执行时可能采取的执行路径。绝大多数静态分析工具都在抽象语法树之上生成控制流图并据此对程序的运行行为进行分析。在模型检测过程中,提取正确的控制流图是构建系统模型的关键。在分析C程序的抽象语法树和控制结构的基础上,设计并实现了程序控制流图提取的算法,并分析了算法的正确性。基于提取的控制流程,可对C程序的某些性质进行模型检验。 相似文献
5.
6.
目前的平展控制流主要是结合不透明谓词使用,例如混沌映射和同余方程算法。这些算法会引起大量额外开销。此外,这种结合不透明谓词的平展控制流混淆方法难抵御动态逆向攻击。针对这些问题,提出了在插入与原基本块结构类似、但数据随机生成且与原基本块不同的冗余块,使攻击者难以区分实际执行基本块的基础上,对实际执行基本块和冗余块进行控制流平展化处理,进一步混淆控制流结构。此外,构建分支函数动态赋值算法,对分支变量进行强化,提高混淆弹性。该控制流混淆算法在mbed TLS程序测试集上进行控制流、逆向工程和性能测试与分析,测试与分析结果表明该混淆算法不仅能大大提高混淆强度,还能有效保护程序控制流信息,抵抗动静态逆向分析。 相似文献
7.
为轻松获得程序的可能执行路径,进而实现程序变量的状态跟踪,提出了一种C/C++源代码控制流提取算法,通过该模型获取控制流切片,产生局部控制流图,将数据流异常检测与安全子集检测相结合,弥补了单独使用安全子集方法无法跟踪数据流的不足,增强代码安全隐患的挖掘能力.利用控制流图化简,排除部分不可达控制流信息,提高跟踪效率.通过对3个Linux内核源文件的检测,验证了该方法不仅可以检测出违反安全子集的代码安全隐患,同时对代码数据流异常检测提供支持,准确率达94.9%. 相似文献
8.
间接跳转目标地址的识别一直是二进制代码控制流重构的难点之一,其跳转目标一般依赖于程序动态执行时的信息,传统方法无法精确识别。通过对控制流重构技术的研究,提出一种基于路径约束的间接跳转目标地址识别方法,即对于一个间接跳转,在初始控制流图的基础上构建从程序入口点到间接跳转的路径集合,对于每条路径,首先通过数据流分析相关技术得到跳转目标地址关于自由变量的一个表达式,然后对路径约束求解,得到满足约束的自由变量的一组特定解,并以此确定跳转目标表达式的值。通过该方法,每个间接跳转都可以根据路径集合确定跳转目标的地址集合。 相似文献
9.
10.
11.
针对传统的基于垃圾指令插入的花指令技术在软件保护应用中的不足,提出了一种基于自封闭代码块的软件反静态分析和动态调试的软件保护技术。重点介绍了自封闭代码块的相关概念,阐述了自封闭代码块的自动生成技术,包括基于指令编码表的随机指令序列生成技术和基于指令逆向思想的逆指令序列生成技术,并给出了相关算法和实例分析。 相似文献
12.
针对传统仪器功能单一、传统编程语言的不足,采用计算机多线程技术、虚拟仪器技术等,根据信号自身的特点.结合信号处理方法,利用LabVIEW软件设计了虚拟信号测量分析仪。该分析仪可以对信号进行仿真、采集、多种时域参数的测量、小波降噪和频谱分析等功能,还可以实现波形的存储、回放。另外。该系统具有界面友好、扩展性强的优点,设计者可以通过软件改变系统功能,使用方便直观。经实践证明本软件达到良好的效果,可以进行推广。 相似文献
13.
离线污点分析的轨迹记录过程的时空开销非常巨大,因此研究高效的轨迹记录方式在离线污点分析中具有重要意义。基于此,针对传统指令级轨迹记录存在的时空开销过大的问题,结合程序重放的思想,提出了一种启发式的轨迹记录方法,只在基本块和特殊事件发生时记录寄存器变化状态信息,并对该种记录方法的信息等价性进行了理论证明。实验表明,该方法能够有效降低离线污点分析中轨迹记录的时空开销,提高污点分析效率。 相似文献
14.
结合已有的键盘记录器,分析了Windows中从用户按键到应用程序处理消息的过程,并针对该过程详细分析了可能出现的安全威胁。在此基础上提出了基于硬件辅助虚拟化的反键盘记录器模型。利用CPU提供的硬件辅助虚拟化技术实现了虚拟机监控器,当获取用户输入时通过在虚拟机监控器中自主处理键盘中断并将读取到的键盘扫描码信息交由受保护的用户线程来保护用户键盘输入的安全。 相似文献
15.
16.
当前的很多最坏执行时间分析工具都是针对特定的编程语言或特定的编译器的,因而缺乏平台间的迁移性,从而不能被广泛使用.介绍了一种基于Java字节码的可平台迁移的最坏执行时间分析方法.该分析方法包括两方面:一是对字节码(javabyte code)的高层分析,提取出程序数据流和控制流信息;二是对Java虚拟机的底层分析,获得虚拟机的时间模型.最后这两种分析结合得到程序的最坏执行时间.同时还探讨了将来的研究方向. 相似文献
17.
虚拟机技术的广泛应用给信息安全带来新的问题和挑战,由于现有的安全扫描系统检测不到虚拟机的存在,所以无法扫描虚拟机的安全漏洞。文中提出了一种面向VPC(Microsoft VirtualPC)的虚拟机远程检测方法,此方法根据虚拟机MAC地址中携带的厂商标识符,能正确地识别网络中存在的VPC虚拟机;并利用虚拟机与宿主机的关联性快速寻找到虚拟机的宿主机,为进一步扫描虚拟机的安全漏洞和管理虚拟机网络提供基础。实验结果表明,该方法能准确地检测网络中存在的VPC虚拟机。 相似文献
18.
19.
20.
动态系统建模工具可以按照设定的仿真步长对控制器的行为动态模拟,也可以在仿真环境下模拟控制器所在的系统架构和动态数据交互,因此传统的卫星控制系统方案设计时一般采用在同一模型建模体系进行,并进行相应的控制算法设计。但是由于动态系统建模工具其自身的时钟步长和数据流处理逻辑,不能完全模拟目标机的内部ALU逻辑和真实外围设备工作行为,可能与真实物理环境要求的系统有一定的出入,造成对承载卫星控制器功能的目标机CPU处理系统存在一定程度的失真,影响仿真效果。提出了一种基于虚拟化技术的卫星控制系统软件构件库可信验证技术,使用虚拟化技术实现对真实物理目标机功能的完全模拟,运用软件非干涉运行监控技术,获取可信的开发证据和应用证据,利用协同仿真组件和卫星控制系统方案设计的控制算法模型对各个软件构件进行动态同步仿真验证。 相似文献