苏文伟 李玲璠
云南电网有限责任公司信息中心,云南省,昆明市,650217
摘要:现阶段,我国的网络时代发展迅速,信息化在很多企业得到普遍应用。但是现在很多居心不良的人利用高科技技术攻击企业的应用系统,来偷取企业发展的相关数据。本文分析了源代码安全问题及产生原因,如安全技术教育、安全意识淡薄及用户对安全不够重视等,提出几点有效措施和对策,如在软件分析和设计阶段及验收阶段等,安全相关的技术检测十分必要,可以帮助各阶段的人员及时发现并弥补系统存在的不足。
关键词:应用系统;源代码;风险管理
我国的企业每年在信息系统的安全保护方面的花费数额很高,很多管理人员对安全问题也加强重视,但是传统的方法对部分特殊的安全问题来说,作用已不再那么有效,风险逐渐转移到应用系统,不仅给企业的业务带来繁重负担,还给企业造成一定的经济损失。
1.源代码安全问题的原因分析
1.1 安全技术教育不足
在传统的安全技术教育工作中,对源代码没有充分的重视,传统的安全教育方法有:防火墙的使用,系统的“边界”用防火墙来做简单地定义,将内部的服务器网络与外界进行隔离,防火墙在这里对部分恶意信息起到阻挡作用;加密技术,人们的惯性思维觉得只要有相关的密码保护就是绝对安全的,在系统及网络的使用中也是沿用这种想法,导致人们在保证信息系统安全的时候对加密技术过于依赖;补丁的使用,一旦系统出现问题,传统的方式是用补丁修复系统漏洞;杀毒软件,在系统的使用过程中,如果出现系统对相关命令反应迟缓等问题,首先想到的是用杀毒软件进行垃圾清理及病毒查杀,虽然以上几种方法都在不同程度上有一定效果,但是却忽略了源代码安全这个重要环节。
1.2 开发人员安全意识淡薄
对于整套应用系统来说,开发设计环节特别重要,对设计人员的专业要求也很高。但是部分系统开发人员没有很强的安全意识,只是为了完成任务而工作,没有深刻地理解系统安全的意义,从而在进行设计工作时忽略了安全风险的防范和应对,导致应用系统的风险很大程度上提高。系统开发人员缺少专业的理论知识学习,平时的工作中也很少参加相关的技能培训,导致个人综合能力不足。
1.3 用户对源代码安全不够重视
在我国有部分行业迫于相关法律法规的监管对系统安全引起重视,但是部分行业还没有相关的政策对其进行约束,很多用户在进行系统验收时,过于重视系统设计的完成时间,并不关心安全问题,同时缺少安全检测,对系统的整体要求较低,导致开发部门在工作的过程中也敷衍了事。这种对安全的疏忽容易让不安全的系统在我们的服务器上运行,对公司的业务数据进行掌控及篡改,跟木马病毒给系统带来的风险类似。
2.源代码安全风险管理的措施
2.1源代码风险管理
源代码安全风险管理的主要内容是用识别和分析的方式找到可能给企业带来风险的系统缺陷,然后找到对应的方法进行修复。如果企业想让自身的应用系统更加安全,就要在软件投入使用之前的每一个环节融入安全规划。从软件的开发设计到实验测试,再到系统用户,这其中的每个阶段的相关工作人员要积极做好配合工作。
2.2在软件分析和设计阶段
在对软件的需求进行分析时,分析人员要对客户的需求进行识别和分类,将安全的保留,不安全的部分减少或者直接去除,降低软件需求阶段的安全威胁;同时设计分析人员要用文档记录的方式,把已经识别出来和假定的风险清晰地固定下来,此阶段的风险分析特别重要,可以让设计人员意识到工作中面临的问题,并找到对应的办法及时地解决,在一定程度上避免安全风险的发生。
2.3在软件开发和测试阶段
在软件开发的工作开始之前,针对代码编写制定相关规范,用特定语言的编程规则称作代码编写规范。它可以降低应用代码在编写过程中出现错误的可能性,它的来源是一些专家分析代码的编写过程中错误出现的原因,然后有针对性地使用特定的代码对这些错误进行纠正。对保证源代码安全来说,安全测试是重要手段,主要包含人工分析和测试与相关工具自动测试等方法。应用系统在对客户进行交付之前,还要接受渗透测试,即安全工程师模拟黑客的技术攻击系统漏洞,可以让我们更深入地找到系统最脆弱的部分。
2.4在安全验收阶段
在应用系统上线使用之前,责任单位应该聘请相关领域内的安全专家对系统进行严谨地验收,因为前期发现问题相对好解决,后期如果出现问题需要企业投入的成本较高,需要进行数据维护及系统更换等。安全验收主要采用的是渗透测试及代码审查两种方式,验收阶段的渗透测试与开发阶段不同,除了要对系统进行测试,还要对系统运行的环境进行渗透,其中包含对网络和主机等深入地探测,在这个过程中发现系统薄弱的环节,也可以将问题更直观地展现在管理人员面前。此外还需要对代码进行安全审查,安全测试最有效的方法是自动源代码安全分析,因为它可以在对应用程序不是非常了解的情况下,评估任意代码的安全性。
2.5系统常见问题应对
在系统使用时经常出现的有这样几种漏洞:跨站脚本攻击,通常是数据通过不受信赖的网页请求进入到程序里,修改这类漏洞的办法有两种,首先可以对外部输入进来的数据进行安全验证,第二,页面输出数据的时候最好使用转码的方式,避免所使用的浏览器执行恶意的脚本,或者使用标签技术进行输出。还有如果在配置文件时使用的存储密码是明文的话,可能会给系统带来安全威胁,因为明文密码的使用会让可以访问此文件的人同时能够对用该密码保护的其他资源进行访问,所以设置及修改的存储密码不要使用明文。应该在系统启动时,让管理员设置密码,但是部分人群嫌这种方式较麻烦,可以将所设置的储存密码模糊化,这样别有用心的人想破译也是很麻烦的事。
结语:现阶段的信息技术发展过程中,源代码的安全问题不断增多,让很多黑客有可乘之机,盗用企业的经营数据,从中获取不义之财。重要信息及数据的泄露,不仅让企业在激烈的市场之中处于劣势,还让企业在经济收益上收到影响。阻碍了企业正常的运行和发展,企业应重视加强应用系统源代码安全的风险管理,从源头抓起,严格把控每一个环节,确保自身使用系统的安全性和可靠性。
参考文献:
[1]张立勇.软件源代码安全分析研究[D].西安电子科技大学.2011.
[2]余亚明,邢阳,于明荣.从源代码管理入手提升企业信息系统的安全性[C]// 中国烟草学会2017年学术年会.2017.