APP下载

对计算机软件安全问题的分析及其防御策略

2014-04-29张学习

中国电子商情 2014年8期
关键词:开发人员计算机系统计算机软件

张学习

计算机软件安全是指计算机软件的正常运行以及计算机系统的整体安全,其中包括软件安全和数据安全两个部分。由于信息技术发展的速度极快,故软件安全领域面临着极大的威胁,本文通过分析计算机软件安全所存在的问题及安全防御策略,探讨如何使用户树立正确的软件安全观及解决软件安全的问题。

前言

在计算机软件开发的过程中,算法或数据逻辑的问题经常会导致计算机软件及操作系统出现异常,此类异常是计算机软件的重大安全隐患,一般会造成用户数据丢失、损坏或软件系统崩溃[1]。软件开发人员在软件设计中首先要考虑的是用户的需求问题,之后通过相应的算法实现用户所需功能,但是为防止其他人员剽窃其软件开发思路,软件开发者一般采用数据加密的方式进行防御;软件的用户则更加关注软件的稳定性及数据的安全性,这些都是软件安全问题的一部分。

一、主要安全问题

计算机软件在计算机系统中具有极其重要的作用,相当于人类解决问题的知识,不包含软件的计算机系统仅等同于植物人,只有在安装相应的软件之后,计算机才可以看做是一个具有思想的“人”[2]。根据对计算机的资源调用能力可将计算机软件分为系统软件和应用软件,系统软件主要负责对计算机硬件资源的分配,以实现其他软件的正常运行,而应用软件在计算机系统中则负责实现对应的功能。

根据以上分类则可将计算机软件安全分为系统安全和应用程序安全。系统安全一般是指系统程序在设计中存在的逻辑缺陷,针对这些系统逻辑缺陷,黑客、病毒及木马能够进入计算机系统并进行操作,盗取计算机用户的数据或者对数据进行破坏。应用程序安全则是指应用程序在设计中存在的逻辑缺陷,一般情况下应用程序的缺陷并不会对系统运行产生影响,仅软件自身存在问题,但一些特殊的应用软件具有调用系统底层命令的功能,若此类软件出现逻辑缺陷则会影响系统的安全,使计算机系统在运行中出现安全隐患。总之,计算机软件系统的安全问题会给用户带来极大的损失,应给予足够的重视,下面着重探讨计算机应用程序的安全问题。

二、软件安全检测

通过安全检测能够发现计算机软件在设计过程中出现的逻辑错误和数据错误,并针对已知的错误对软件的设计进行修正,故软件的安全检测在程序设计中占有极其重要的地位,作用也十分显著。在计算机软件安全检测中能够通过较少的时间将软件中存在的安全漏洞进行及时的修复,已经成为计算机软件设计中有效保证程序安全的关键步骤。虽然通过软件安全检测能够发现程序中存在的大部分漏洞,但对于部分符合逻辑却影响程序运行的漏洞则很难检测出,这证明采用安全检测并不能完全保证软件的正常运行,还需要在实际使用中对软件进行各种测试,以收集软件漏洞,同时采取主动防御措施,完善计算机软件的安全性[3]。

三、软件安全防御策略

(一)安全检测方案

采用安全检测方案对计算机软件的安全性进行测试,这需要测试者对程序的设计有充分的了解,并根据软件的需求和功能选择相应的检测手段,以保证检测能够顺利进行并达成预期目标。由于测试人员一般不参与软件的开发过程,故在测试过程中应与程序开发者进行密切沟通,确保信息的及时性和准确性,只有与开发人员通力合作才能够顺利完成软件安全性的检测。在计算机软件安全性检测中,涉及到的领域十分广泛,首先应针对软件的各个模块进行检测,确保各模块的功能均能实现,在此基础之上再进行整个软件系统的功能检测和逻辑检测则相对简单得多。目前使用的软件安全性检测方法有以下几种,分别为形式化的安全检测、逻辑检测、语法检测、静态检测和动态检测。在不同领域的应用软件其功能和服务对象均有一定的差异,这就需要在检测中选择合适的方法,以实现快速、有效的检测软件的安全性。随着信息技术的不断发展,检测技术也逐步完善和创新,为未来的软件安全领域提供了更多的便利。

(二)培养良好的软件使用习惯

计算机软件存在的逻辑错误若被不法分子利用则会给用户带来严重的损失,其中包括数据丢失、用户信息丢失以及数据损坏等[4]。故计算机用户应提高自身的安全意识、规范操作,在计算机系统中安装杀毒软件并采用硬件防火墙,在上网过程中应避免打开不熟悉的网页和邮件,对于需要从网络中下载使用的软件,应在下载之后进行病毒和木马扫描,以保证软件的安全性。近年来由于电子商务系统的流行,用户网络购物及网上支付的频率逐渐提高,特别是在网上支付的过程中,一定要有防范意识,避免不必要的损失。在退出网页之前一定要点击安全登出,以免其他用户使用时获取前一用户的信息。总之,只有提高安全防范意识并规范自己的操作才能够避免损失。

(三)在程序设计中完善软件功能

软件在设计过程中不可避免的会存在一定数量的漏洞,这就需要程序设计人员在进行软件开发过程中尽量简化代码,采用通用的格式进行编写,以方便后期代码检查及安全性检测过程中测试人员的操作。在软件设计之初,开发人员应充分了解用户的需求,从而全面规划用户的功能模块和设计细节。通过用户反馈的信息修改软件设计中的不足之处,以用户的需求作为软件开发的第一目标才能够很好的解决设计中的问题,提高软件的安全性和实用性。

软件开发由于其工作量较大,故各部分功能的实现一般由不同的软件工程师完成,在开发过程中因为开发人员存在不同的设计理念,故在实际操作中会采取不同的方案,对同一方案也会有不同的理解,这也会导致程序在完成之后会有数量不等的漏洞。对于以上因素则需要软件开发人员在设计中进行充分的沟通,减少软件的逻辑错误,提高其安全性。

结论:综上所述,计算机软件的安全问题已经成为软件开发人员和用户共同关注的问题,虽然在软件开发中不可避免的会存在一定的漏洞,但通过开发人员和检测人员的努力,应当将软件的安全隐患降至最低。同时用户也需要养成良好的软件使用习惯,建立足够的安全防范意识,以避免操作失误所导致的软件安全问题。

参考文献

[1]左岑.计算机软件的安全防御策略探析[J].计算机光盘软件与应用,2013,20(12):151-152.

[2]陶穆.浅谈电脑软件安全问题与防御对策[J].计算机光盘软件与应用,2014,05(01):295-297.

[3]荆卫国.计算机软件的安全防御对策探讨[J].电子技术与软件工程,2013,11(04):41-42.

[4]贾杰.计算机软件安全检测技术研究[J].计算机光盘软件与应用,2012,05(06):204-205.

(作者单位:淮北矿业(集团)有限责任公司)

猜你喜欢

开发人员计算机系统计算机软件
Semtech发布LoRa Basics 以加速物联网应用
IBM推出可与人类“辩论”的计算机系统
基于C语言的计算机软件编程
浅谈不同编程语言对计算机软件开发的影响
浅谈基于C语言的计算机软件程序设计
分布处理计算机系统研究
MIMD 并行计算机系统结构与定量分析
后悔了?教你隐藏开发人员选项
基于国产CPU的立方星星载计算机系统设计
基于计算机软件开发中分层技术的应用