期刊文献+
共找到131篇文章
< 1 2 7 >
每页显示 20 50 100
An Empirical Application of User-Guided Program Analysis
1
作者 Wang Jigang Cheng Shengyu +1 位作者 Cao Jicheng He Meihua 《China Communications》 SCIE CSCD 2024年第7期325-333,共9页
Although static program analysis methods are frequently employed to enhance software quality,their efficiency in commercial settings is limited by their high false positive rate.The EUGENE tool can effectively lower t... Although static program analysis methods are frequently employed to enhance software quality,their efficiency in commercial settings is limited by their high false positive rate.The EUGENE tool can effectively lower the false positive rate.However,in continuous integration(CI)environments,the code is always changing,and user feedback from one version of the software cannot be applied to a subsequent version.Additionally,people find it difficult to distinguish between true positives and false positives in the analytical output.In this study,we developed the EUGENE-CI technique to address the CI problem and the EUGENE-rank lightweight heuristic algorithm to rate the reports of the analysis output in accordance with the likelihood that they are true positives.On the three projects ethereum,go-cloud,and kubernetes,we assessed our methodologies.According to the trial findings,EUGENE-CI may drastically reduce false positives while EUGENE-rank can make it much easier for users to identify the real positives among a vast number of reports.We paired our techniques with GoInsight~1 and discovered a vulnerability.We also offered a patch to the community. 展开更多
关键词 continuous integration report ranking static program analysis
下载PDF
SHFuzz:A Hybrid Fuzzing Method Assisted by Static Analysis for Binary Programs
2
作者 Wenjie Wang Donghai Tian +4 位作者 Rui Ma Hang Wei Qianjin Ying Xiaoqi Jia Lei Zuo 《China Communications》 SCIE CSCD 2021年第8期1-16,共16页
Fuzzing is an effective technique to find security bugs in programs by quickly exploring the input space of programs.To further discover vulnerabilities hidden in deep execution paths,the hybrid fuzzing combines fuzzi... Fuzzing is an effective technique to find security bugs in programs by quickly exploring the input space of programs.To further discover vulnerabilities hidden in deep execution paths,the hybrid fuzzing combines fuzzing and concolic execution for going through complex branch conditions.In general,we observe that the execution path which comes across more and complex basic blocks may have a higher chance of containing a security bug.Based on this observation,we propose a hybrid fuzzing method assisted by static analysis for binary programs.The basic idea of our method is to prioritize seed inputs according to the complexity of their associated execution paths.For this purpose,we utilize static analysis to evaluate the complexity of each basic block and employ the hardware trace mechanism to dynamically extract the execution path for calculating the seed inputs’weights.The key advantage of our method is that our system can test binary programs efficiently by using the hardware trace and hybrid fuzzing.To evaluate the effectiveness of our method,we design and implement a prototype system,namely SHFuzz.The evaluation results show SHFuzz discovers more unique crashes on several real-world applications and the LAVA-M dataset when compared to the previous solutions. 展开更多
关键词 hybrid fuzzing static analysis concolic execution binary programs
下载PDF
Incremental Static Analysis of 2D Flow by Inter-Colliding Point-Particles and Use of Incompressible Rhombic Element 被引量:1
3
作者 Panagis G. Papadopoulos Christopher G. Koutitas Panos P. Lazaridis 《Open Journal of Civil Engineering》 2016年第3期397-409,共13页
A simple method is proposed, for incremental static analysis of a set of inter-colliding particles, simulating 2D flow. Within each step of proposed algorithm, the particles perform small displacements, proportional t... A simple method is proposed, for incremental static analysis of a set of inter-colliding particles, simulating 2D flow. Within each step of proposed algorithm, the particles perform small displacements, proportional to the out-of-balance forces, acting on them. Numerical experiments show that if the liquid is confined within boundaries of a set of inter-communicating vessels, then the proposed method converges to a final equilibrium state. This incremental static analysis approximates dynamic behavior with strong damping and can provide information, as a first approximation to 2D movement of a liquid. In the initial arrangement of particles, a rhombic element is proposed, which assures satisfactory incompressibility of the fluid. Based on the proposed algorithm, a simple and short computer program (a “pocket” program) has been developed, with only about 120 Fortran instructions. This program is first applied to an amount of liquid, contained in a single vessel. A coarse and refined discretization is tried. In final equilibrium state of liquid, the distribution on hydro-static pressure on vessel boundaries, obtained by proposed computational model, is found in satisfactory approximation with corresponding theoretical data. Then, an opening is formed, at the bottom of a vertical boundary of initial vessel, and the liquid is allowed to flow gradually to an adjacent vessel. Almost whole amount of liquid is transferred, from first to second vessel, except of few drops-particles, which remain, in equilibrium, at the bottom of initial vessel. In the final equilibrium state of liquid, in the second vessel, the free surface level of the liquid confirms that the proposed rhombing element assures a satisfactory incompressibility of the fluid. 展开更多
关键词 2D Flow Simulation Inter-Colliding Point-Particles Incremental static analysis Incompressible Rhombic Element Hydro-static Pressure Distribution Flow from a Vessel to Another One “Pocket” Special Purpose Computer program
下载PDF
Static program analysis for IoT risk mitigation in space-air-ground integrated networks 被引量:1
4
作者 Haotian Deng Tao Liu +4 位作者 Xiaochen Ma Weijie Wang Chuan Zhang Huishu Wu Liehuang Zhu 《Security and Safety》 2024年第2期43-57,共15页
The space-air-ground integrated networks(SAGINs)are pivotal for modern communication and surveillance,with a growing number of connected devices.The proliferation of Io T devices within these networks introduces new r... The space-air-ground integrated networks(SAGINs)are pivotal for modern communication and surveillance,with a growing number of connected devices.The proliferation of Io T devices within these networks introduces new risks due to potential erroneous synergistic interactions that could compromise system integrity and security.This paper addresses the challenges in coordination,synchronization,and security within SAGINs by introducing a novel static program analysis(SPA)technique using zero-knowledge(ZK)proofs.This approach ensures the detection of risky interactions without compromising sensitive source code,thus safeguarding intellectual property and privacy.The proposed method overcomes the incompatibility between SPA and ZK systems by developing an imperative programming language for SAGINs and a specialized abstract domain for interaction threats.The system translates network control algorithms into arithmetic circuits suitable for ZK analysis,maintaining high accuracy in detecting risks.Evaluations of real-world scenarios demonstrate the system's efficacy in identifying risky interactions with minimal computational overhead.This research presents the first ZK-based SPA scheme for SAGINs,enhancing security and confidentiality in network analysis while adhering to privacy regulations. 展开更多
关键词 Space-air-ground static program analysis abstract Interpretation zeroknowledge proof
原文传递
Using Deep Learning to Improve Automated Program Static Assessment
5
作者 Tao Lin Ming Li +2 位作者 Zhiming Wu Mei Hong Yuxia Yang 《计算机教育》 2020年第12期85-94,共10页
Evaluation is an essential part of the teaching process,especially in the programming course.Both students and teachers can benefit significantly from automatic program evaluation.It shortens the time required for ass... Evaluation is an essential part of the teaching process,especially in the programming course.Both students and teachers can benefit significantly from automatic program evaluation.It shortens the time required for assessment so that students can get immediate feedback.At the same time,it can also significantly reduce the workload of teachers.Currently,the automated program assessment system mainly uses a combination of static and dynamic analysis methods.The system is faced with two crucial problems of the unfinished code evaluation and the template code construction.This paper proposes a method of combining deep learning with static analysis.The syntax tree repair is used to solve the problem that the code with compiling errors cannot generate the correct syntax tree.Moreover,the target code is converted to a subset of solution space through the syntax tree standardization,which reduces the number of template code needed.Based on deep learning,the embedded token vector keeps the code’s context all the time,which ensures that the lexical-semantic remains unchanged as much as possible after the syntax tree changes.Finally,the standardized tree is represented as a vector by the recursive neural network.Cosine similarity between target and template code vectors is used as an evaluation score.The experiment shows that the similarity scores obtained by this method are consistent with the expert scores.This method can provide support for future research,such as difficult feedback and has great significance. 展开更多
关键词 deep learning automated program assessment static analysis abstract syntax tree
下载PDF
A Generic Graph Model for WCET Analysis of Multi-Core Concurrent Applications
6
作者 Robert Mittermayr Johann Blieberger 《Journal of Software Engineering and Applications》 2016年第5期182-198,共17页
Worst-case execution time (WCET) analysis of multi-threaded software is still a challenge. This comes mainly from the fact that synchronization has to be taken into account. In this paper, we focus on this issue and o... Worst-case execution time (WCET) analysis of multi-threaded software is still a challenge. This comes mainly from the fact that synchronization has to be taken into account. In this paper, we focus on this issue and on automatically calculating and incorporating stalling times (e.g. caused by lock contention) in a generic graph model. The idea that thread interleavings can be studied with a matrix calculus is novel in this research area. Our sparse matrix representations of the program are manipulated using an extended Kronecker algebra. The resulting graph represents multi-threaded programs similar as CFGs do for sequential programs. With this graph model, we are able to calculate the WCET of multi-threaded concurrent programs including stalling times which are due to synchronization. We employ a generating function-based approach for setting up data flow equations which are solved by well-known elimination-based dataflow analysis methods or an off-the-shelf equation solver. The WCET of multi-threaded programs can finally be calculated with a non-linear function solver. 展开更多
关键词 Worst-Case Execution Time analysis program analysis CONCURRENCY multi-threaded programs Kronecker Algebra
下载PDF
异常信息敏感的框架API生命周期模型构造
7
作者 燕季薇 黄进豪 +1 位作者 杨恒钦 严俊 《计算机学报》 EI CAS CSCD 北大核心 2024年第9期1989-2008,共20页
大型软件系统的实现依赖于底层框架或第三方库,但这些复杂的框架/库代码在演化升级时往往独立于其调用者,为上层软件的质量保障带来挑战.例如,框架/库代码演化时新增和删除API、更改API的代码语义等行为会导致框架/库代码的不同版本之... 大型软件系统的实现依赖于底层框架或第三方库,但这些复杂的框架/库代码在演化升级时往往独立于其调用者,为上层软件的质量保障带来挑战.例如,框架/库代码演化时新增和删除API、更改API的代码语义等行为会导致框架/库代码的不同版本之间不兼容,进而在上层应用开发者更新版本时,影响应用代码的正确性.为应对这一问题,需精准提取框架/库代码API的演化过程,形成演化报告,协助上层应用开发者选择兼容的版本或快速进行代码适配.其中,框架/库代码API的演化过程分析对应着框架API生命周期模型构造.现有工作中的API生命周期模型主要关注API的存在性变动,而未考虑特定代码语义变更对开发者的影响,特别是异常相关代码带来的语义变更,给上层软件系统带来隐患.为此,本文采用面向Java字节码的静态分析方法,识别框架API中的异常抛出行为并为其生成异常摘要报告,通过多轮流式匹配策略获取异常信息的变更情况,最终为框架/库代码构造异常信息敏感的API生命周期模型.该方法:(1)通过控制依赖语句切片提取异常抛出语句的关键触发条件,采用参数推断策略将局部变量的约束条件转换为仅与外部输入参数相关的异常前断言,并基于自底向上的摘要传递实现跨过程异常摘要提取;(2)通过关键信息精准匹配和自适应模糊匹配策略,分析异常摘要信息的新增、删除和修改情况,最终得到异常敏感的API生命周期模型(共涉及七种API变更形式).基于该方法,实现了基于Java字节码分析的API生命周期提取工具JavaExP.与现有最新方法相比,JavaExP的异常摘要信息提取准确性(F1值)提高了67%,分析用时减少了87%.对真实项目的API生命周期演化分析表明,与异常不敏感的API生命周期模型相比,采用异常敏感的模型时,API发生变动的比例提高了18%.在75,433个被分析的API中,约有20%API的异常抛出行为至少发生过一次改变,这些API共涉及超过七千多处独立的异常变更.在多个项目上的分析结果表明,异常敏感的模型构造能够更加精准地描述API的演化过程. 展开更多
关键词 静态分析 代码演化 Java异常摘要 API生命周期
下载PDF
UEFI的启发式逆向分析与模糊测试方法
8
作者 林欣康 顾匡愚 赵磊 《软件学报》 EI CSCD 北大核心 2024年第8期3577-3590,共14页
统一可扩展固件接口(unified extensible firmware interface,UEFI)作为新一代固件接口标准,广泛应用于现代计算机系统,但其漏洞可能引发严重安全威胁.为了减少UEFI漏洞引发的安全问题,需要进行漏洞检测.而第三方安全测试场景下的模糊... 统一可扩展固件接口(unified extensible firmware interface,UEFI)作为新一代固件接口标准,广泛应用于现代计算机系统,但其漏洞可能引发严重安全威胁.为了减少UEFI漏洞引发的安全问题,需要进行漏洞检测.而第三方安全测试场景下的模糊测试是检测的主要手段.但符号信息的缺失影响了测试效率.提出了一种启发式的UEFI逆向分析方法,恢复固件中的符号信息,改进模糊测试并实现了原型系统Re UEFuzzer.通过对来自4个厂商的525个EFI文件进行测试,证明了逆向分析方法的有效性.Re UEFuzzer可以提升函数测试覆盖率,并在测试过程中发现了一个零日漏洞,已报告给国家信息安全漏洞共享平台以及公共漏洞和暴露系统.实验证明,该方法在UEFI漏洞检测方面具有有效性,可以为UEFI安全提供一定的保障. 展开更多
关键词 统一可扩展固件接口 逆向工程 模糊测试 静态程序分析 固件安全
下载PDF
二进制程序安全缺陷静态分析的方法
9
作者 彭凌赟 《软件》 2024年第5期145-148,共4页
为确保操作系统的整体安全性与稳定性,提升对二进制程序内部潜在安全威胁的识别与防范能力,本文深入探讨了二进制程序的静态分析方法,概述了二进制安全性的重要性。详细研究了两种主要的二进制程序安全缺陷静态分析方法,一种是基于程序... 为确保操作系统的整体安全性与稳定性,提升对二进制程序内部潜在安全威胁的识别与防范能力,本文深入探讨了二进制程序的静态分析方法,概述了二进制安全性的重要性。详细研究了两种主要的二进制程序安全缺陷静态分析方法,一种是基于程序结构的分析,另一种则是侧重于程序语义的解读。本研究为提升操作系统的安全性奠定了坚实基础,也为软件安全领域相关研究提供了新的方法与思路。 展开更多
关键词 二进制程序 安全缺陷 静态分析
下载PDF
程序分析研究进展 被引量:45
10
作者 张健 张超 +8 位作者 玄跻峰 熊英飞 王千祥 梁彬 李炼 窦文生 陈振邦 陈立前 蔡彦 《软件学报》 EI CSCD 北大核心 2019年第1期80-109,共30页
在信息化时代,人们对软件的质量要求越来越高.程序分析是保障软件质量的重要手段之一,日益受到学术界和产业界的重视.介绍了若干基本程序分析技术(抽象解释、数据流分析、基于摘要的分析、符号执行、动态分析、基于机器学习的程序分析... 在信息化时代,人们对软件的质量要求越来越高.程序分析是保障软件质量的重要手段之一,日益受到学术界和产业界的重视.介绍了若干基本程序分析技术(抽象解释、数据流分析、基于摘要的分析、符号执行、动态分析、基于机器学习的程序分析等),特别是最近10余年的研究进展.进而介绍了针对不同类型软件(移动应用、并发软件、分布式系统、二进制代码等)的分析方法.最后展望了程序分析未来的研究方向和所面临的挑战. 展开更多
关键词 程序分析 软件质量保障 静态分析 动态分析
下载PDF
一种路径敏感的静态缺陷检测方法 被引量:29
11
作者 肖庆 宫云战 +2 位作者 杨朝红 金大海 王雅文 《软件学报》 EI CSCD 北大核心 2010年第2期209-217,共9页
提出一种多项式复杂度的路径敏感静态缺陷检测算法.该方法采用变量的抽象取值范围来表示属性状态条件,通过属性状态条件中的变量抽象取值范围为空来判断不可达路径.在控制流图(control flow graph,简称CFG)中的汇合节点上合并相同属性... 提出一种多项式复杂度的路径敏感静态缺陷检测算法.该方法采用变量的抽象取值范围来表示属性状态条件,通过属性状态条件中的变量抽象取值范围为空来判断不可达路径.在控制流图(control flow graph,简称CFG)中的汇合节点上合并相同属性状态的状态条件,从而避免完整路径上下文分析的组合爆炸问题.该算法已应用于缺陷检测系统DTS(defect testing system).实际测试结果表明,该方法能够减少误报. 展开更多
关键词 缺陷检测 静态分析 路径敏感 数据流分析 程序分析
下载PDF
程序静态分析技术与工具 被引量:26
12
作者 杨宇 张健 《计算机科学》 CSCD 北大核心 2004年第2期171-174,共4页
静态分析对于保证程序质量,提高软件生产率有重要的意义。本文综述了静态分析常用的策略,介绍了当前静态分析的研究现状,比较了目前已有的静态程序分析工具。
关键词 软件开发 软件测试 软件生产率 软件质量 静态程序分析工具 程序设计语言 计算机
下载PDF
面向Android应用隐私泄露检测的多源污点分析技术 被引量:10
13
作者 王蕾 周卿 +2 位作者 何冬杰 李炼 冯晓兵 《软件学报》 EI CSCD 北大核心 2019年第2期211-230,共20页
当前,静态污点分析检测Android应用隐私泄露存在误报率较高的问题,这给检测人员和用户带来很大的不便.针对这一问题,提出了一种多源绑定发生的污点分析技术.该技术可以精确地判断污点分析结果中多组源是否可以在一次执行中绑定发生,用... 当前,静态污点分析检测Android应用隐私泄露存在误报率较高的问题,这给检测人员和用户带来很大的不便.针对这一问题,提出了一种多源绑定发生的污点分析技术.该技术可以精确地判断污点分析结果中多组源是否可以在一次执行中绑定发生,用户可以从单一分析1条结果转为分析有关联的多组结果,这既缩小了分析范围,又降低了检测的误报率.在精度上,该技术支持上下文敏感、流敏感、域敏感等特性,并可以有效地区分出分支互斥的情况.在效率上,提供了一种高效的实现方法,可以将高复杂度(指数级别)的分析降低为与传统方法时间相近的分析(初始阶段开销为19.7%,进一步的多源分析平均时间为0.3s).基于此,实现了一个原型系统MultiFlow,利用其对2116个良性手机软件和2089个恶意手机软件进行应用,应用结果表明,多源污点分析技术可以有效地降低隐私泄露检测的误报率(减少多源对41.1%).同时,还提出了一种污点分析结果风险评级标准,评级标准可以进一步帮助用户提高隐私泄露检测的效率.最后探讨了该技术潜在的应用场景. 展开更多
关键词 程序分析 污点分析 软件安全 静态分析 ANDROID
下载PDF
程序理解:现状与未来 被引量:14
14
作者 金芝 刘芳 李戈 《软件学报》 EI CSCD 北大核心 2019年第1期110-126,共17页
程序理解是软件工程中的关键活动,在软件开发、维护、重用等任务中发挥着重要的作用.程序理解自软件工程出现以来,就一直是该领域的研究热点.随着软件应用的日益复杂和不断普及,程序理解研究的需求发生了新的变化,程序的自理解或自认知... 程序理解是软件工程中的关键活动,在软件开发、维护、重用等任务中发挥着重要的作用.程序理解自软件工程出现以来,就一直是该领域的研究热点.随着软件应用的日益复杂和不断普及,程序理解研究的需求发生了新的变化,程序的自理解或自认知逐渐成为新的关注点,有必要对程序理解进行重新审视.从工程、学习和认知以及方法和技术这3个角度定位程序理解任务;随后,通过文献分析展示其研究布局,进而分别从认知过程、理解技术以及软件工程任务中的应用这3个方面,综合论述程序理解研究的发展脉络和研究进展. 展开更多
关键词 软件工程 程序理解 软件理解 程序静态分析 程序动态分析
下载PDF
JUTA:一个Java自动化单元测试工具 被引量:14
15
作者 严俊 郭涛 +1 位作者 阮辉 玄跻峰 《计算机研究与发展》 EI CSCD 北大核心 2010年第10期1840-1848,共9页
描述了一个Java自动化的单元测试工具JUTA.JUTA首先调用工具Soot解析单个Java方法的源码,并将源码解析成一个控制流图.在此基础上,采用符号执行的方法分析控制流图上的路径.工具能够自动地产生满足覆盖率标准的程序的测试用例.这种方法... 描述了一个Java自动化的单元测试工具JUTA.JUTA首先调用工具Soot解析单个Java方法的源码,并将源码解析成一个控制流图.在此基础上,采用符号执行的方法分析控制流图上的路径.工具能够自动地产生满足覆盖率标准的程序的测试用例.这种方法产生的所有测试用例都是可执行的,并且一般来说具有较小的测试用例数.如果用户能够合理地给出描述程序错误的断言,框架JUTA能够自动地检查源码中部分特定类型的错误.实验结果表明工具对Java单元代码的动态测试和静态测试均能在可接受的时间内给出有效的结果. 展开更多
关键词 Java单元测试 动态测试 静态测试 程序分析 符号执行
下载PDF
基于稀疏框架的静态污点分析优化技术 被引量:7
16
作者 王蕾 何冬杰 +1 位作者 李炼 冯晓兵 《计算机研究与发展》 EI CSCD 北大核心 2019年第3期480-495,共16页
当前,隐私数据保护是信息系统安全的重要研究挑战,对应用程序进行隐私泄露检测是隐私泄露保护的有效方案.污点分析技术可以有效地对应用程序进行保密性和完整性的安全检测,提前报告出潜在的隐私泄露风险.然而,当前高敏感度的静态污点分... 当前,隐私数据保护是信息系统安全的重要研究挑战,对应用程序进行隐私泄露检测是隐私泄露保护的有效方案.污点分析技术可以有效地对应用程序进行保密性和完整性的安全检测,提前报告出潜在的隐私泄露风险.然而,当前高敏感度的静态污点分析还存在开销过高的问题.通过对目前主流的污点分析工具FlowDroid进行深入分析,发现其污点分析计算中大量无关联污点传播是导致开销过高的重要原因,统计实验表明无关联传播占比高达85.2%.针对这一问题,尝试利用近年来一种有效的程序分析优化手段——稀疏优化——的方法,对静态污点分析中无关联的传播进行消除,达到时间和空间的开销优化.创新地将经典的数据流分析框架扩展成稀疏的形式,在此基础上提供了基于稀疏优化的污点分析方法.最后实现了工具FlowDroidSP,实验表明:FlowDroidSP在非剪枝模式下相比原FlowDroid具有平均4.8倍的时间加速和61.5%的内存降低.在剪枝模式下,具有平均18.1倍的时间加速和76.1%的内存降低. 展开更多
关键词 隐私泄露检测 静态程序分析 污点分析 程序优化 安卓
下载PDF
提高路径敏感缺陷检测方法的效率及精度研究 被引量:9
17
作者 赵云山 宫云战 +2 位作者 刘莉 肖庆 杨朝红 《计算机学报》 EI CSCD 北大核心 2011年第6期1100-1113,共14页
路径敏感的缺陷检测方法其缺陷状态会关联当前控制流节点的所有数据流信息,由于其中包含与缺陷检测无关的数据流,因此会导致分析效率下降.为了避免全路径敏感分析时的路径爆炸问题,一般会在控制流汇合节点进行缺陷状态合并,而这种粗糙... 路径敏感的缺陷检测方法其缺陷状态会关联当前控制流节点的所有数据流信息,由于其中包含与缺陷检测无关的数据流,因此会导致分析效率下降.为了避免全路径敏感分析时的路径爆炸问题,一般会在控制流汇合节点进行缺陷状态合并,而这种粗糙的合并策略带来的精度损失会引起误报.针对上述问题,文中提出一种基于缺陷的程序切片方法,该方法基于缺陷特征和路径条件建立切片准则,根据控制流节点上的数据流信息与切片准则的包含关系进行程序切片,得到的切片程序在缺陷检测时切片掉了缺陷无关节点且与源程序完全等价,以提高缺陷检测效率.为了进一步减少路径敏感分析方法的误报,提出一种基于切片的缺陷状态合并策略,根据控制流分支节点的路径条件,对缺陷状态添加状态属性,从而有选择地对控制流汇合节点进行状态合并,减少精度损失.文中所述方法已在缺陷检测系统(DTSGCC)中实现.对大量Linux中GCC开源工程的测试结果表明,文中提出的方法可以提高路径敏感缺陷检测方法的效率,并减少误报. 展开更多
关键词 静态分析 缺陷检测 路径敏感 误报 程序切片 上下文敏感分析 域敏感分析
下载PDF
软件安全漏洞的静态检测技术 被引量:41
18
作者 张林 曾庆凯 《计算机工程》 CAS CSCD 北大核心 2008年第12期157-159,共3页
软件安全漏洞问题日益严重,静态漏洞检测提供从软件结构和代码中寻找漏洞的方法。该文研究软件漏洞静态检测的两个主要方面:静态分析和程序验证,重点分析词法分析、规则检查、类型推导、模型检测、定理证明和符号执行等方法,将常用的静... 软件安全漏洞问题日益严重,静态漏洞检测提供从软件结构和代码中寻找漏洞的方法。该文研究软件漏洞静态检测的两个主要方面:静态分析和程序验证,重点分析词法分析、规则检查、类型推导、模型检测、定理证明和符号执行等方法,将常用的静态检测工具按方法归类,讨论、总结静态检测技术的优势、适用性和发展趋势。 展开更多
关键词 软件安全漏洞 静态分析 程序验证
下载PDF
基于约束分析与模型检测的代码安全漏洞检测方法研究 被引量:6
19
作者 王雷 陈归 金茂忠 《计算机研究与发展》 EI CSCD 北大核心 2011年第9期1659-1666,共8页
与传统的程序分析相比,模型检测具有较高的检测精度,但无法将其直接应用于缓冲区溢出、代码注入等安全漏洞的检测.为解决此问题,提出了基于约束分析与模型检测相结合的安全漏洞自动检测方法.首先,通过约束分析跟踪代码中缓冲区的信息,... 与传统的程序分析相比,模型检测具有较高的检测精度,但无法将其直接应用于缓冲区溢出、代码注入等安全漏洞的检测.为解决此问题,提出了基于约束分析与模型检测相结合的安全漏洞自动检测方法.首先,通过约束分析跟踪代码中缓冲区的信息,在涉及缓冲区操作的危险点生成相应的属性传递和属性约束语句,并将安全漏洞检测问题转化为模型检测方法可接受的可达性检测问题.然后,采用模型检测方法对安全漏洞的可达性进行判断.同时采用程序切片技术,以减少状态空间.对6个开源软件的检测结果表明,基于该方法实现的CodeAuditor原型系统发现了18个新漏洞,误报率为23%.对minicom的切片实验显示,检测性能有较大提高. 展开更多
关键词 约束分析 模型检测 安全漏洞 程序切片 静态分析
下载PDF
Android应用软件功能泄露漏洞挖掘工具的设计与实现 被引量:8
20
作者 方喆君 刘奇旭 张玉清 《中国科学院大学学报(中英文)》 CAS CSCD 北大核心 2015年第1期127-135,共9页
Android平台的功能泄露漏洞会导致权限提升和隐私泄露等严重危害,常被恶意软件用于绕过安全机制.针对这一问题,提出一个基于静态分析的功能泄露漏洞挖掘工具CLDroid.CLDroid使用逆向控制流的程序切片算法从源代码中提取程序逻辑,并利用... Android平台的功能泄露漏洞会导致权限提升和隐私泄露等严重危害,常被恶意软件用于绕过安全机制.针对这一问题,提出一个基于静态分析的功能泄露漏洞挖掘工具CLDroid.CLDroid使用逆向控制流的程序切片算法从源代码中提取程序逻辑,并利用可定制的安全规则库来检测违规行为.实验结果表明,CLDroid能有效挖掘Android源代码中的功能泄露漏洞,且具有较好的可扩展性. 展开更多
关键词 功能泄露漏洞 静态分析 程序切片 Android安全
下载PDF
上一页 1 2 7 下一页 到第
使用帮助 返回顶部