企业应用软件开发安全体系的构建

(整期优先)网络出版时间:2023-08-08
/ 2

企业应用软件开发安全体系的构建

李川

120101197805110516

要:在企业应用软件的设计和开发中,需要考虑到的安全问题,建立一种适合于企业应用软件的安全系统。通过对企业应用软件常见漏洞防护技术进行剖析,按照应用软件开发生命周期流程,从设计安全、编码安全、过程管理安全等方面对企业应用软件开发安全体系的框架进行重新梳理和补充。在该体系框架下,考虑到相应的安全需求,为便于指导应用软件设计人员、代码开发人员,提升应用软件的安全能力,对包括技术需求在内的企业应用软件开发安全体系进行了补充。建立企业应用软件开发的安全体系,可以有效地降低软件本身的缺陷,防止企业应用软件的安全漏洞被黑客所利用,进而避免其可能造成的严重乃至灾难性的结果。

关键词:信息安全;应用安全;应用软件;安全开发体系;安全漏洞

引言

在软件技术的发展和企业信息化的推动下,企业内部的应用软件业务得到了持续的拓展,各种软件功能层出不穷,使企业的生产效率得到了极大的提升。与此同时,企业应用软件的安全性问题也越来越突出,除其本身存在的漏洞外,还受到了来自外界的黑客的攻击与破坏。企业应用软件的安全缺陷一旦暴露,将会造成非常严重的后果。为了更好地应对企业应用软件的安全性,必须建立和完善应用软件开发的安全性系统。当前,应用软件开发的安全系统还不完善,所构建的系统大多是针对特定的平台。本论文就是以这些问题为切入点,为企业应用软件建立一个安全的体系架构,并在这个架构之下提出了一些安全的技术需求,目的是从内容的全面性和平台的普适性两个角度来对目前的应用软件开发的安全体系进行改进。

1开发安全体系构建基础

1.1应用软件安全漏洞防护技术

1.1.1漏洞检测技术

SajjadR [1]等人对2002~2015年研发出的应用软件漏洞检测工具在应用软件安全性防护方面的实际有效性进行了分析。其中,有些工具和检测机制延用到现在,仍然是主流技术,具体包括了输入参数分析、漏洞扫描、静态分析、运行检查、入侵检测、Sec-SIP框架、 SQLInjectionGen、 SaferXSS等。在移动应用程序中,应用程序的脆弱性也可以被渗透测试技术检测到。在此基础上,利用脆弱性检测技术,找出针对恶意攻击的风险点,为设计有效防御人为攻击的技术需求提供理论依据。

1.1.2漏洞防御技术

对脆弱性防护技术的研究,是抵御恶意攻击的重要手段。该系统采用了防火墙、访问控制、身份认证、数据加密、规则过滤和安全审计等多种技术手段来保证应用程序的安全。Mitro-poulosD [3]等人对41种防御技术的精度、性能展开了分析,构建了试验模型,分析并判断出了一些防御机制能够被攻击绕过的技术,从而帮助本文在安全技术要求的选择上,将防御机制效果差的方法排除掉。

1.2我国信息系统安全技术标准

GB/T22239-2019 《信息安全技术网络安全等级保护基本要求》是建立应用软件开发安全性系统的重要基础,从技术、管理两个方面对其进行了详细的规定。其中,技术要求具体包括了:物理环境、通信网络、区域边界、计算环境、管理中心。并且,通过计算环境,向用户提供了具体的安全要求,具体包括了身份鉴别、访问控制、安全审计、入侵防范、恶意代码防范、数据完整性保密性、信息保护等安全要求,为应用软件开发安全体系中应用安全、数据安全的安全风险和安全防护手段提供了借鉴。

2企业应用软件开发安全体系结构

企业应用软件开发安全体系是以专家学者对应用软件开发安全研究为基础,并以国家标准中与应用软件安全功能设计及安全管理的要求为依据,与企业应用软件开发流程相结合,遵循开发生命周期过程,对体系的内容进行充实。企业级应用程序的安全架构。

2.1应用软件设计安全

2.1.1架构安全设计

2.1.1.1架构安全

介绍了应用软件体系结构的安全性,包括传输协议,服务端口,元件等。(1)按照部件间的通信内容的安全等级,选择用于传送指令和数据的通信协议的不同的安全需求的协议;(2)针对构件资源建立一种存取控制机制;(3)没有使用一个公共的非安全的业务端口;(4)将配置文件和用户数据加密并保存在部件内部。

2.1.1.2与外接口安全

应用程序开放的界面用于应用程序作用域,认证,访问控制,等等。(1)对开放界面的适用范围进行了限定;(2)唯一地识别被允许访问的系统;(3)认证系统,以请求该连接;(4)利用校验技术验证外部接口传送的数据的正确性;(5)在两个系统间设置一个存取控制资源的机制;(6)在相同的时间中,对并行存取的接口的数目进行限制。

2.1.2通信安全设计

应用软件通过安全通讯协议实现数据的安全传送: WWW服务器推荐使用 HTTPS协议;FTP服务推荐 SFTP协定的使用;Telnet推荐 SSH协议;通过加密传送来保证通讯的安全性。在通讯中,应用软件在通讯中对全部消息或对话进行加密;检查在一个通道里传送的信息是否完整。

2.2过程管理安全

2.2.1第三方软件使用安全

(1)通过正规途径购买第三方软件,并将其全部部件按时更新至没有已知高风险缺陷的版本;(2)用于验证第三方软件的完整性,以保证其不会被篡改;(3)对第三方软件进行定期的安全检查,并不采用那些已经知道有高风险脆弱性的部件版本。

2.2.2开发环境安全

(1)建立一个安全的编译器环境,通过正规途径获得编译器,并保证所有的补丁都已安装完毕;(2)对源码进行安全的存储,通过对其进行权限控制,使其免遭非法使用者的存取;(3)保证系统的开发环境和真实的操作环境是物理上的分离。

2.2.3运行环境安全

(1)在应用程序正式发行之前,将与调试、测试有关的全部代码、组态、文件等全部删除;(2)在服务器上将无用的应用软件及系统文件及时地移除;(3)在服务器上关掉无用的业务;(4)避免采用具有已知脆弱性的部件版本的软件运行服务器的系统部件。

2.2.4归档管理

(1)在进行版本更新的时候,删除在开发期间存在的临时文件,备份文件,无用的目录等;(2)不将用于调试的代码保存在存档的程序文件中。

结束语

通过本研究,构建出了一个相对完整的企业应用软件安全体系,它可以满足应用软件设计、开发过程中的安全保障需求,可以为企业及员工的信息提供一道安全屏障。伴随着黑客技术的进步,针对企业应用软件的攻击方式也在不断地升级。未来,需要持续地对企业应用软件的安全体系进行研究,并对其进行完善,以便能够及时地发现安全问题,并为其提供安全措施。
参考文献
[1]王伟萌,刘承亮,朱韦桥,等.企业移动互联网应用安全保障体系构建方案[J].铁路计算机应用,20192612):49-54.
[2]全国信息安全标注化委员会.信息安全技术网络安全等级保护基本要求:GB/T22239—2019[S].北京:中国标准出版社,2019.
[3]全国信息安全标注化委员会.信息安全技术应用软件系统通用安全技术要求:GB/T28452—2012[S].北京:中国标准出版社,2020.