首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 156 毫秒
1.
高凤娟  王豫 《软件学报》2020,31(10):2983-3003
随着移动计算、物联网、云计算、人工智能等领域的飞速发展,也涌现出了很多新的编程语言和编译器,但是C/C++语言依旧是最受欢迎的编程语言之一,而数组是C语言最重要的数据结构之一.当在程序中通过数组下标访问数组元素时,必须确保该下标在该数组的边界之内,否则就会导致数组越界.程序中的数组越界缺陷会使得程序在运行时导致系统崩溃,甚至使攻击者可以截取控制流以执行任意恶意代码.当前针对数组越界的静态检查方法无法达到高精度的分析,尤其是无法处理复杂约束和表达式,过多的误报额外增加了开发者的负担.因此,提出了一种基于污点分析的数组越界的静态检测方法.首先,提出流敏感、上下文敏感的按需指针分析方法,实现数组长度区间分析.然后,提出按需污点分析方法,实现数组下标和数组长度污染情况的计算.最后,定义数组越界缺陷判定规则,提出使用后向数据流分析方法,检测数组下标是否越界.在进行数组越界检测的过程中,为了处理程序中的复杂约束和表达式,在分析过程中将调用约束求解器来判断约束的可满足性.如果没有发现相应的语句,则报告数组越界缺陷警报.同时,实现了自动静态分析工具Carraybound,并通过实验展示了方法的有效性.  相似文献   

2.
Java 2数组容量扩充的通用方法   总被引:1,自引:2,他引:1  
在Java中,数组创建以后,不能进行越界访问。本文利用Java2提供的数组反射功能,建立了一个扩展数组容量的通用方法,希望能对大家在使用Java2的数组时有所帮助。  相似文献   

3.
数组越界的故障模型及其检测方法研究   总被引:1,自引:0,他引:1  
数组越界是C程序中的常见故障,该类故障可能造成系统的崩溃。首先针对常见的数组越界故障进行了分析,提出了检测数组越界的判定准则,建立了故障模型。根据该故障模型,采用程序控制流图和路径条件,并结合静态分析思想,给出了可有效地检测出程序中存在的数组越界故障的方法。最后通过实例分析了该方法的应用过程。  相似文献   

4.
缓存区溢出能引起非常严重的安全问题,对网络和分布式系统(如机群,网格,P2P系统等)构成严重威胁。数组越界在缓存区溢出中占据重要位置,如何检测数组越界错误是一个重要且极具意义的课题。针对该课题,给出一种对C语言数组越界进行运行时验证的方法。分析了数组越界的错误类型,根据这些类型分别研究了数组越界的运行时验证的思想;设计了基于程序插桩进行数组越界动态检测的算法,给出了该方法基于开源编译器Clang的具体实现;用实验证明了该方法是切实可行并且有效的。  相似文献   

5.
如何在OLE自动化组件中传递数组   总被引:1,自引:0,他引:1  
用MFC编制自动化组件时,借助类向导,我们可以很方便地为组件的属性及方法添加各种普通类型的参数,如整型、浮点型、字符串等。但遗憾的是,类向导不直接支持数组类型的参数,为了实现这一点,我们需要调用Win32函数。 一、预备知识 自动化组件中,数组以“安全数组(safearray)”的形式传递,它包含了数组的维数、每一维下标的范围等信息,保证数组访问不会越界。对“安全数组”的的访问是通过一个指向SAFEARRAY结构的指针实现的,SAFEARRAY结构也被称  相似文献   

6.
软件测试分为静态测试和动态测试,而数组越界是静态测试中最常见的问题之一,并且其带来的危害巨大,甚至导致软件系统崩溃。根据数组越界的现象及特点,详细描述了数组越界的定义和种类,给出了数组越界产生的条件及防范技巧,并对检测方法及工具进行比较分析,从而更好地实现软件测试。  相似文献   

7.
作为一个类型安全的程序语言,Java要求对每次数组访问提供越界检查.这些检查指令减慢了Java程序的运行速度.算法ABCE维护着一张不等式图,并在图中不断更新记录变量的取值信息,然后根据这些信息识另q出那些冗余的数组边界检查,最后删除它们,从而达到提高程序性能的目的.科学计算类测试集SciMark2.0的测试表明ABCE算法平均删除了76%的越界检查指令,其中LU子程序,该算法的加速近似达到理论最大值.  相似文献   

8.
C语言程序设计的健壮性与安全性研究   总被引:1,自引:0,他引:1  
C语言的灵活性、高效率及庞大的用户群,使得其具有广阔的应用市场。设计高效、健壮、安全的C语言程序,一直是一种挑战。文章指出了在C语言程序设计中必须注意的问题,即类型转换不匹配、数组越界、指针非法访问、内存泄漏等。  相似文献   

9.
数组越界是软件中普遍存在的一种故障类型,并对软件安全造成了潜在的威胁.传统的故障检测使用程序插装的方法,并相应的以编译优化技术来排除掉多余的数组边界检查.这种检测方法不仅降低了程序运行效率,增加了开销,而且往往不能对故障进行彻底的测试,容易造成漏报.本文在对程序进行静态分析的基础上,通过引入区间概念,建立了整型区间集和数组区间集,进而给出了数组越界的故障模型,模型的建立对软件故障进行了规范.本文随后给出了故障检测算法,最后给出了实验.结果表明这种方法比以往的测试方法具有更强的故障检测能力.  相似文献   

10.
付亮 《数字社区&智能家居》2013,(18):4223-4224,4228
在C程序设计中数组或串的越界访问是难以发现且相当危险的,因为它可能改变了其他存储空间的内容。C++语言在编译或运行期间均不报告这一类型的错误,所以关于指针或数组的错误特别难以调试,初学者一定要注意这种陷阱。  相似文献   

11.
针对现存的大部分软件漏洞静态检测工具无法灵活检测用户关心的漏洞的情况,提出了一种基于模式匹配的漏洞检测方法。首先,对待测程序源码进行解析,将其转化为中间表示并存放在自定义的数据结构中;然后,用安全规则语言描述漏洞并解析安全规则,将其转换成对应的自动机模型存放在内存中;最后,将源代码的中间表示与安全规则进行模式匹配,并跟踪自动机的状态转化,根据自动机状态向用户提交漏洞报告。实验结果表明,该方法的漏报率低、扩展性好。  相似文献   

12.
Construction workplace hazard detection requires engineers to analyze scenes manually against many safety rules, which is time-consuming, labor-intensive, and error-prone. Computer vision algorithms are yet to achieve reliable discrimination of anomalous and benign object relations underpinning safety violation detections. Recently developed deep learning-based computer vision algorithms need tens of thousands of images, including labels of the safety rules violated, in order to train deep-learning networks for acquiring spatiotemporal reasoning capacity in complex workplaces. Such training processes need human experts to label images and indicate whether the relationship between the worker, resource, and equipment in the scenes violate spatiotemporal arrangement rules for safe and productive operations. False alarms in those manual labels (labeling no-violation images as having violations) can significantly mislead the machine learning process and result in computer vision models that produce inaccurate hazard detections. Compared with false alarms, another type of mislabels, false negatives (labeling images having violations as “no violations”), seem to have fewer impacts on the reliability of the trained computer vision models.This paper examines a new crowdsourcing approach that achieves above 95% accuracy in labeling images of complex construction scenes having safety-rule violations, with a focus on minimizing false alarms while keeping acceptable rates of false negatives. The development and testing of this new crowdsourcing approach examine two fundamental questions: (1) How to characterize the impacts of a short safety-rule training process on the labeling accuracy of non-professional image annotators? And (2) How to properly aggregate the image labels contributed by ordinary people to filter out false alarms while keeping an acceptable false negative rate? In designing short training sessions for online image annotators, the research team split a large number of safety rules into smaller sets of six. An online image annotator learns six safety rules randomly assigned to him or her, and then labels workplace images as “no violation” or ‘violation” of certain rules among the six learned by him or her. About one hundred and twenty anonymous image annotators participated in the data collection. Finally, a Bayesian-network-based crowd consensus model aggregated these labels from annotators to obtain safety-rule violation labeling results. Experiment results show that the proposed model can achieve close to 0% false alarm rates while keeping the false negative rate below 10%. Such image labeling performance outdoes existing crowdsourcing approaches that use majority votes for aggregating crowdsourced labels. Given these findings, the presented crowdsourcing approach sheds lights on effective construction safety surveillance by integrating human risk recognition capabilities into advanced computer vision.  相似文献   

13.
基于XML的软件安全静态检测方法研究   总被引:2,自引:0,他引:2       下载免费PDF全文
安全关键软件设计使用的C/C++语言含有大量未定义行为,使用不当可能产生重大安全隐患。软件静态检测是从软件代码和结构中找出安全缺陷的重要手段。从安全规则的角度,提出了基于XML(eXtensible Markup Language)中间模型的静态检测方法。该方法将C/C++源代码解释为XML中间模型,将安全规则转化为缺陷模式,利用Xquery查询表达式对软件安全缺陷进行定位。基于该方法的原型系统检验结果表明:该方法能够有效地检测出违反安全规则的软件缺陷,并具有安全规则可定制的特点。  相似文献   

14.
刘艺  张红旗  代向东  雷程 《计算机应用》2015,35(11):3270-3274
针对OpenFlow网络数据平面频繁改变导致网络难以实时满足访问控制策略要求的问题,提出了面向OpenFlow网络的访问控制规则自动实施方案.首先,由实时构建的转发路径获得可达空间,并通过规则集动态合成算法消除访问控制规则间的冲突;之后,采用规则空间分割算法将合成后访问控制规则的拒绝空间与可达空间比较,以检测直接和间接违反访问控制规则的非法转发路径;在此基础上,结合网络更新事件与违反检测结果灵活采取自动的违反解决方法,包括规则更新拒绝、规则序列移除、基于线性规划(LP)的近源端规则部署和末端规则部署4种;最后转换访问控制规则形式.理论分析和仿真结果表明,方案可用于控制器上运行多个安全应用程序和交换机内存受限的情况,并且基于LP的近源端规则部署方法可以降低网络中的不期望流量.  相似文献   

15.
挖掘Web日志中的分类关联规则   总被引:1,自引:0,他引:1       下载免费PDF全文
用户分类是Web访问模式挖掘研究的一个重要任务。提出一种应用关联分类技术对Web用户进行分类的方法:首先通过对Web日志文件预处理得到训练事务数据集,然后从该事务集中挖掘分类关联规则,并利用所挖掘的规则集构建了一个分类器,从而实现了根据用户访问历史对用户进行分类。  相似文献   

16.
基于Web挖掘的个性化算法及其在网络教学平台的应用   总被引:10,自引:1,他引:10  
高鹏  高岭  王峥  胡青山 《计算机应用》2005,25(5):1012-1015
在Web挖掘的基础上设计针对Web服务的Web访问事务模型WTM和个性化推荐算法。算法以WTM为基础,旨在根据用户的访问模式向用户推荐个性化的Web资源。其利用关联规则得到的频繁项集实时地匹配用户的当前访问序列,对不同的用户提供不同的推荐资源。在此过程中不需产生所有的关联规则,提高了推荐的效率。最后,将该模型和算法应用于网络教学实践得出了个性化的网络教学环境。  相似文献   

17.
关联规则挖掘在煤矿安全监测中的应用   总被引:1,自引:0,他引:1  
李峰  姜丽莉 《软件》2011,32(2):85-86,114
为了从大量的煤矿安全监测数据中获取有用的知识,来指导煤矿安全预警工作,本文将关联规则挖掘算法应用于安全监测数据的数据挖掘。根据数据的特点,对数据进行了预处理后,采用了多维关联规则挖掘算法。文章设计并实现了安全监测数据的关联规则挖掘系统。通过该系统,用户在设置最小支持度和最小置信度阈值后,就可以挖掘出关联规则。  相似文献   

18.
基于网络的数据库访问安全问题,即数据库远程访问安全问题成为研究热点问题,本文针对信息系统中基于广域网的数据库访问带来的非法访问、黑客攻击、数据的截取、篡改等安全问题提供了建立一个安全代理系统代理对数据库的访问的思路,并对其中整个系统结构进行分析。  相似文献   

19.
CSLA是一种可灵活配置的分布式、面向对象的应用程序架构。具有N层撤销、跟踪违反业务规则、跟踪对象变化、支持数据绑定、身份验证等应用服务。该文以人力资源解决方案HRS在实际应用当中遇到的问题从应对多变需求、数据绑定与数据访问、上层应用等方面给出基于CSLA架构的解决方法。  相似文献   

20.
自由访问控制(DAC)是大多数操作系统保护机制的核心,DAC的安全性研究关注对象的权限是否被泄漏给未授权主体.本文介绍了DAC安全性研究的相关工作,重点讨论了三种典型的DAC模式及其安全性分析.现有的模型在DAC定义上还存在争论,同时对安全性的分析也存在不足.研究满足DAC定义且安全性可判定的访问控制系统,是一个重要的研究方向.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司    京ICP备09084417号-23

京公网安备 11010802026262号