刍议计算机软件安全检测技术的应用

点赞:6237 浏览:20981 近期更新时间:2024-03-16 作者:网友分享原创网站原创

摘 要:随着计算机技术和网络技术的快速发展,计算机软件也日趋复杂,软件是计算机重要的核心内容,是保证计算机安全和通信安全的基础,对计算机安全运行和日常维护具有重要的意义,而编写计算机软件和检测是防止计算机安全漏洞的重要的对策,下面我们就详细进行分析计算机软件安全检测技术及其应用.

关 键 词:计算机软件;安全检测技术;应用

中图分类号:TP311.52文献标识码:A文章编号:1007-9599(2013)02-0000-03

随着计算机技术和互联网的快速发展,用户对于软件的需求也日渐复杂,软件中会存在难以发现的漏洞,只有确保软件的安全才能保证计算机通信、信息安全,否则即便防火墙、杀毒软件、入侵检测等再强大,若软件自身存在安全隐患,也无法提升整体安全性能[1].计算机软件安全检测的目的主要是为了防止由于软件漏洞对计算机造成安全威胁,对计算机软件安全检测技术的研究及应用对保证计算机软件安全具有重要的作用和价值.

1软件安全漏洞概述

软件安全漏洞即可能引发安全问题的软件中的代码.漏洞通常有以下信息披露地方.(1)Bugtraq.这是一项邮件列表怎么写作,是专门针对安全性问题存在的邮件讨论列表.很多软件漏洞首先在这里被披露,它是重要的安全入侵新闻来源.(2)PISKSDigest.它同样是一个邮件列表怎么写作,包括安全性、保密性、可靠性等,有很高的技术含量,是目前已经发表的计算机软件安全研究圈内,有效攻击首选地方之一.目前计算机软件安全漏洞常常被忽略主要有以下几点:(1)Zgeronimo2.0这个安全漏洞主要是让远程攻击者能够绕过身份识别而在计算机软件中插入恶意代码或者访问的权限.(2)LIBTIFF开源软件库,其主要是为了读写标签图像文件格式的文件.(3)ZLIB主要是指用于数据压缩的软件库,计算机软件漏洞主要是通过一个不完整的代码进行解释长度大于1的代码造成的安全漏洞.(4)Net―SNMP,是指安全漏洞存在Net中或者存在SNMP中的协议文件里.在计算机软件系统中当“masteragents”模式运行NET_SNMP时,软件可以让攻击者通过引起一个特征的TCP的连接中断达到拒绝怎么写作的攻击,最终造成计算机系统崩溃的现象.(5)Jboss应用怎么写作器主要是应用在怎么写作器3.2.4至4.05版的“DeploymentFileRepository”类中的目录遍历的安全漏洞.

2软件中存在的安全漏洞及缺陷

计算机软件安全是一个非常复杂的系统,其主要是通过计算机系统的完整性、保密性以及可靠性实现计算机软件的安全可靠.但是计算机软件运行的过程中,由于计算机或者软件自身的缺陷或者操作配置失误等因素造成计算机软件从操作系统到应用程序,从通信基础设施到网络的应用怎么写作以及从系统的配置和管理到用户操作层面等诸多的方面都存在安全因素.

目前多采用C语言或C++编写协议通信软件,软件的安全漏洞潜在程序源代码中,可以引发编程遗漏或错误.软件安全漏洞主要有:(1)缓冲区溢出.这种软件漏洞主要是在程序的缓冲区写超出长度的内容,进而造成缓冲区溢出,最终造成的最直接结果是导致堆栈被摧毁,使得任意数据都能引起目标程序彻底崩溃;缓冲区溢出是一种非常普通而且危险的漏洞,其在计算机软件和操作系统中广泛存在,缓冲区溢出很容易造成程序运行失败、系统宕机、重新启动等后果的发生,利用它执行非常授权的指令,进而造成计算机软件漏洞的产生.(2)竞争条件.这是一项经常出现的软件BUG,其相对于缓冲区溢出漏洞来说,其更加难解决,造成这种漏洞发生的原因主要是由于每一个用户登录网站后,函数就会出现被调用的现象,进而会造成竞争条件的值增加,最终到时竞争条件问题的发生,如果在操作的多进程多任务系统里面出现这种现象,将会造成死锁等严重的后果;(3)格式化字符串.格式化字符串是程序函数中一个相对比较特殊的字符串的参数.此漏洞是一项微妙的程序代码缺陷,它可以将重要的信息显示出来,还能将指定数据写入进程的内存空间里;进而对系统造成危害(4)随机数.在Netscape中就存在有随机数的现象,其采用一种不好的方法给伪随机数进行播种,其种子主要是有进行ID和机器时间等决定的,造成攻击者和被攻击者使用同一机器,从而造成系统的,最终造成系统安全问题的发生.并且随机数它能够生成序列号及密钥.也是软件安全漏洞的重要组成部分.

刍议计算机软件安全检测技术的应用参考属性评定
有关论文范文主题研究: 关于计算机软件的论文范文集 大学生适用: 高校毕业论文、大学毕业论文
相关参考文献下载数量: 14 写作解决问题: 本科论文怎么写
毕业论文开题报告: 标准论文格式、论文总结 职称论文适用: 杂志投稿、中级职称
所属大学生专业类别: 本科论文怎么写 论文题目推荐度: 优质选题

3计算机软件安全检测技术方法

3.1计算机软件安全监测步骤

通常,计算机软件有一定数量的子系统组成的软件规模比较大,并且不同的子系统中有若干的模块组成.计算机软件安全检测主要是为了确定软件预期设计和软件具有的安全实现是否一致的检测过程,其中软件检测过程主要包括功能测试、渗透测试和验证测试等.计算机软件安全检测程序主要是将通过有效性的检测软件与计算机硬件、数据以及辅助软件等元素结合起来的测试过程[4].计算机软件安全监测步骤如下:先进行单元(即模块)测试,从软件设计最小单位开始实施安全检测,能将各模块中的缺陷问题一一找出,并解决.然后根据程序设计的要求对计算机软件中所有的模块组装成系统,并检测软件体系结构的安全性,接着对各个模块实施有效性的测试,从而确定计算机软件是否与用户需求相符.最后是对计算机软件的系统进行测试.如下图所示为计算机软件安全检测的静态分析技术的过程,首先输入源代码,构成一个表示所要分析的模型,然后结合安全知识对模型进行分析,最后输出检测的结果.

3.2计算机软件安全检测方法

(1)形式化安全检测.这种方式需要先建立软件的数学模型,以模型说明提供语言支持的形式化规格.基于模型的语言、基于行为的语言及基于有限状态的语言是常用的形式规格语言[5].

(2)模型的安全功能测试.这种方法主要是针对计算机软件的结构和行为,以建立模型方式生成具有安全测试功能的模型,基于模型基础生成检测用例,进而对计算机软件实施安全监测.基于模型的有限状态机是目前常用的模型安全功能测试方式.(3)语法测试.语法测试是一种基于语法对检测软件功能接口的语法生成软件进行输入测试的技术,语法测试技如果输入条件不同,则将会产生不同类型的反应,其主要应用在对计算机软件源程序中有错误或者危险的C语言库函数和系统调用中.计算机软件的功能接口语言,能够生成软件测试输入,并检测各种语言输入计算机后的反映情况,这种方式能够有效识别计算机软件接口处语言,并对语言的语法进行定义,实现软件安全检测.

(4)模糊测试.目前模糊测试大多基于白盒安全测试,是传统模糊测试技术的进一步发展,能够与传统模糊测试技术有机结合,实现计算机软件安全的有效检测.

3.3动态检测技术与静态检测技术

动态检测技术:主要为了确保目标程序源码不会发生改动,维持二进制代码原样.利用对程序执行过程中的漏洞状况进行判定,确定计算机软件的安全状态.动态监测主要有以下措施:(1)非执行栈技术,以有效禁止执行代码能力的方式抵抗攻击者;(2)非执行堆与数据技术.起到阻碍软件继续执行的作用,使恶意代码失去执行途径;(3)内存映射技术.结合代码页拦截攻击者的非法操作;(4)安全的共享库技术.依赖动态链接技术,阻止不安全函数的运行;(5)沙箱技术.利用控制某项进程访问的资源实现防范恶意攻击的目的;(6)程序解释技术.对正在运行的程序进行检查,维护系统的运行.

静态检测技术:主要是通过程序分析技术深入分析二进制代码.需要计算机操作人员做好相应工作.静态检测技术主要为:(1)词法检测技术.限用于对程序源代码中存在不稳定因素的C库函数的检测以及系统的调用;(2)程序评注技术.对各种语言注释说明,以此加深静态研究,确定内部存在的漏洞;(3)类型推断技术,通过对应修饰方式对数据信息等进行安全束缚;(4)约束解算器技术[6].直接约束目标程序的特定属性建模,结合静态分析解算实行二次约束,防止安慰威胁产生;(5)元编译技术.元编译技术主要是利用编译器的简单技术,这种技术的误报率低,并且这种技术对于语言特性的扩展不会更新.在计算机软件安全检测中元编译技术主要是将计算机程序的安全属性看做是轻量级的编译器进行扩展,并根据扩展的内容建立相应的模型实现计算机软件安全检测.利用此技术能够自动判断代码安全属性,同时编写编译扩展;(6)变异语言技术.变异语言技术主要是通过对指针算术运算和不安全类型的转换,setjmp/longjmp等不安全的操作进行限制,其中安全编程变异技术一般都采用C语言或C++,实现类型转换、标志转换、算术运算等过程的安全操作.由于静态检测对软件的二进制代码和源代码进行检测,因此采用静态检测的错误越多,则编写的程序就越可靠.

3.4web怎么写作器技术的应用

随着科学技术的快速发展,web技术的广泛应用,一种基于web怎么写作的分布式软件安全性能检测技术也逐步发展起来,其主要是基于识别内容的分布是web怎么写作器技术,这种技术的特点有好互操作性强、松散耦合、语言中立和平台无关等,在计算机软件安全检测中使用这种技能够将复杂的安全功能分解成不同的安全处理类型,以方便采用故障注入机制实现错误的soap消息以达到支持异常测试[7].通过实验研究表明,将web怎么写作器技术应用到计算机软件安全检测中不仅具有先进性、高效性以及灵活性的特点,而且还能够实现度对软件的可靠性和容错性以及安全性进行检测.

3.5故障注入的软件安全检测技术

在计算机软件安全检测中,故障注入的安全检测技术具有提高安全检测自动化程度的独特的优点,是计算机软件安全检测技术中一项重要的检测技术.故障注入安全检测技术主要是指在选定的故障模型上进行构建故障树,然后通过人为的反复测试和对软件反馈的故障信息以达到检测故障安全性和容错性的效果.

3.6基础设施即怎么写作安全策略

(1)实施入侵检测:可以检测出违反安全策略的行为、及时发现并报告系统中异常或未授权的现象,从而使计算机系统和网络的安全性得到保证.具体操作是:审计系统的弱点和构造、对系统和用户的活动进行分析和监视、跟踪关系操作系统的审计、统计分析异常行为模式、对数据文件和重要系统的完整性进行评估、对用户违反安全策略的行为进行识别[8].(2)实施包括可维护性、容错性、耐久性在内的可靠性网络系统措施,其中耐久性决定着网路系统各个组件连续无故障不间断运行的平均时间;容错性决定网络系统的平均恢复时间;可维护性属于事后很快定位和解决故障,通过配置有责任心专业的技术管理人员提高这一性能.(3)加强对设备操作管理人员的教育培训提高设备寿命和使用效率,尽量应用光纤或加压电缆作为传输介质并做好防护措施,另外人工/自动的检查维护也是必要的,这样可以很大7、建立以数据为中心的安全系统


云计算系统包括网络、存储、计算三方面资源,在数据中心里大量应用虚拟化技术,由实变虚的资源打破了资源边界,可被灵活调度的资源池取代了孤立的单个的资源.在共享的环境中数据的使用被进行全面的控制.基于云环境的数据应用交换安全技术应运而生,数据的安全交换采取应用交换方式,实现信心单向流动,应用不对称的数据交互,“数据”和“用户”能够被用户区分,数据信息和接收方行为信息分成两个不同的路径[9].

在分级标签交互系统中定义了系统中主、客体的重要程度,在客体信息中提取的知识表达了生成客体的主体对于客体所反映知识的重要性;通过进行数据分析获取消息是文件中常用的方式,所以主体即人很容易进一步处理文件这种信息形式从而形成与文件信息相对应的分级知识;因为缺少对数据库中原始文件中包含信息的提取,所以主人即人要向从中直接提炼出分级知识是相当困难的[10].总之,数据操作的写作、数据转化为信息、权限控制操作,这些过程都包含在应用交换方式中实现数据交换过程中的安全策略.

4计算机软件安全检测应注意的问题

计算机软件安全检测技术属于一个动态的检测过程,在计算机软件安全检测中通常应该注意以下几个问题:4.1选择科学合理的安全检测方案

在计算机软件安全检测时,通常简答的方法很难达到解决问题的效果,因此在安全检测中,首先应该充分了解计算机软件的特性及其对检测方法的要求,然后根据计算机软件的具体情况进行详细的分析,选择合适的检测方法,编制出计算机软件安全检测方案.同时还应该从用户的需求为出发点,从多方面多角度制度合理的安全检测方案.

4.2推广检测人员多元化

多元化主要是指在某种程度上相似但是不相同的人员的组合.在计算机软件安全检测时保证检测人员多元化能够更好的检检测初出计算机软件存在的问题或者漏洞.计算机在进行软件安全检测中,对软件检测人员也应该具有一定的要求,不仅应该具有软件检测相关的知识和经验的人员参与其中,还应该具有熟悉并掌握软件的特性及使用的相关人员,只有将计算机安全检测人员和计算机软件技术人员等人员相互配合,才能保证计算机软件性能的安全性.

4.3全面分析

在计算机软件安全检测中,对计算机软件的系统级、代码级以及需求级等进行详细仔细分析是非常重要的.软件检测中,如果计算机软件的规模较大,应对计算机软件的结构进行详细的分析,并且还应该根据软件不同层级的需要选择不同的技术方法,以保证结果的准确可靠,在必要的情况下,需要借助分析功工具和仿真环境实施计算机软件安全检测,以做好计算机软件安全检测工作.

5总结

计算机软件安全检测技术是保证计算机和网络安全的一项重要的技术,能够有效促进计算机软件的发展和进步.因此想要保证计算机安全可靠的运行,必须加强对相应的技术进行研究,有效提升计算机的怎么写作性能,保证计算机软件的安全性,从而为计算机软件的发展奠定坚实的基础.