软件安全开发关键技术分析
2016-07-10沈晗
沈晗
现如今,软件已经在老百姓的生活中被广泛应用,它给人们的生活和工作带来了很多的便利,但是,在软件开发以及使用的过程中还存在着很多的安全问题,给软件开发的管理者以及使用者带来了很多的困扰,因此,软件安全开发的关键性技术就受到越来越多的重视。
【关键词】软件开发 关键技术 安全
目前,软件已经广泛的应用于人们的日常生活中,比如视频、游戏、交流、学习等等各个领域,同时也给人们带来了一定的安全隐患。这些安全隐患已经给我国的软件安全开发领域带来了不利的后果,所以,探索和分析软件安全开发的关键技术就变得尤为重要。
1 软件安全开发的内涵
1.1 对软件开发的版权进行保护
近年来,我国的各个行业对软件版权的重视日益加重。国家也加大了对软件版权保护的投入,但是,上有政策下有对策,仍然有很大一部分不法分子利用各种破解软件来对软件版权进行侵害,从中获取巨大的利润。此外,导致软件版权的问题有很多,比如说互联网的普及使盗版软件的传播几率加大;为了减少支出而使用盗版软件;反盗版软件的投入太少,对它的抑制不足,使人们习惯地用盗版软件,等等。因此,非常有必要在软件开发的阶段将先进的软件版权保护技术融入其中,而不被不法分子轻易察觉,这样就能够尽可能的避免盗版软件的出现。
1.2 对软件的安全漏洞进行监测
由于软件在开发的阶段会因为没有及时监控而出现各种漏洞,假如软件出现了安全漏洞,就很容易使个人的数据、信息泄露,还给不法分子可乘之机,不论是对个人还是企业都会带来不可估量的损失。主要造成软件安全漏洞的是:互联网的日渐开放,使得人们通过软件享受便利的同时,也带来了极大的安全隐患;人们在使用软件时,没有及时的对软件进行更新换代,也能造成安全隐患。
2 软件安全开发的关键技术
2.1 软件安全开发的流程
在软件安全开发过程中,软件开发技术人员应当从始至终都要具备较高的安全意识,并且通过各种防范措施为软件的安全开发提供技术保障,进而使软件安全开发过程能够顺利进行。软件安全开发的流程主要包括五个阶段:设计、编码、测试、发布以及维护。每一个环节都应该进行科学合理的管理及控制,但是,目前有很大一部分软件开发人员以及开发商在软件开发初期就缺乏良好的安全意识,把目光投在了如何减少软件开发的成本上,来获得更大的利润,忽视了在软件开发初期的安全问题,而是在软件的使用后期才加强了对它的安全管理,这往往不能达到预想的效果。
2.2 动态软件水印技术
近年来,有关软件安全问题的纠纷层出不穷,使得人们越来越关注软件的知识产权问题了。现如今,网络技术的不断发展,使得网络上的资源共享也越来越成熟和完善,软件的传播速度也越来越快,软件传播涉及的领域也越来越广,传统意义上的对软件知识产权的保护,只是单纯的运用加密狗技术或者密码等方式,但是,这样并不能从根本上的杜绝软件版权问题的发生,而且越来越先进的破解技术也会导致盗版软件的出现。而动态软件水印技术,就可以最大限度的缓解这种情况的发生,软件开发技术人员可以运用该技术将软件开发者的各项版权保护信息和数据隐藏到软件产品中去,使不法分子不能轻易的察觉,在一定程度上有效的减少了盗版软件出现的几率。
2.3 静态源代码分析技术
由于软件使用者的专业技术水平层次不齐,有很大一部分的软件使用者在使用软件的过程中,很难准确找出软件的安全漏洞,从而使他们在使用软件时会造成各种各样的损失。因此,针对软件的安全漏洞,一定要科学合理的控制并减少它所带来的损失。软件的静态源代码分析技术就可以很好地解决安全漏洞,它能够在软件运行前就对软件本身进行全面彻底的分析,并生成相关的安全检测报告,帮助我们找到以往找不到的各种类型的软件安全漏洞。同时还有一种相对成熟和完善的软件安全漏洞检测技术,即无穷状态系统。虽然它还存在很多不足,比如说需要花费很多精力来对安全检测报告进行核实、对发现的安全漏洞不能很好的进行解决等等,针对这些情况,还需要有关的技术人员来进一步的改进和完善。
3 软件安全开发管理平台的设计和实现
在我国众多的软件开发企业中,中小企业所占的比重比较大,所以,以中小企业的角度,对软件开发制定一个科学合理的软件安全开发的管理平台就变得至关重要。它主要包括以下几个方面:
3.1 项目管理
它可以对软件安全开发的各项环节有一个整体的把握,还能针对其中某一项环节进行严格的控制,让所有的项目都在软件开发技术人员的掌握之中。
3.2 安全开发管理
在这一模块中,它会针对软件安全开发过程中的每一个环节、每一个阶段,来提供各种各样的科学合理的防护手段,以此来保证整个软件开发过程的质量和进度。
3.3 安全知识库管理
主要是将所有与软件安全的信息和数据进行一个统一的管理,只有将安全知识库的管理工作做到位,才能在以后的软件开发过程中,发挥它应有的作用。与此同时,技术人员也可以通过把它和安全漏洞结合的方式,来提出合理的应对措施。
3.4 问卷管理
通常情况下,软件开发技术人员在开发的初期就会预备好调查问卷,通过问卷调查,技术人员可以从中吸取经验和教训,为以后的软件安全开发的顺利进行奠定基础。而将这些宝贵的意见进行科学的统一管理,就是问卷管理的主要工作。
3.5 系统管理
就是指对整个软件安全开发管理平台进行管理和配置。包括对软件的使用日志、软件用户的相关信息等,通过对这信息的管理,可以在很大程度上保证软件安全开发和使用的效果,及时发现软件出现的漏洞,并做出合理的应对措施。
4 结语
近些年来,随着我国网络技术的不断发展,越来越多的网络安全问题,如病毒、垃圾信息、网络犯罪等逐步引起了人们的广泛关注,这些现象使老百姓对互联网的安全性和可靠性又有了新的要求。因此,为了确保软件在使用中能抵挡来自各个方面的威胁,就必须在软件开发初期,让开发技术人员能够具备良好的安全意识,并在软件整个的安全开发周期内,提高软件开发以及使用过程中的安全性和可靠性,以此来提高软件的安全性和使用寿命。
参考文献
[1]冯晓媛.改善软件质量的软件安全开发流程研究[J].四川文理学院学报,2012,22(5):83-86.
[2]吴梦歌等.软件安全开发生命周期模型研究[C].//第22届全国计算机新科技与计算机教育学术会议论文集,2011:108-115.
[3]李松合,张超永,时晓宁等.对软件安全开发流程的研究[J].电脑编程技巧与维护,2015,(2):84-86.
[4]张楠.软件安全开发方法消化的影响因素及行为研究[D].大连理工大学,2015.
作者单位
江苏苏源高科技有限公司 江苏省南京市 210008