在企业的信息安全管理中,大多数的管理者都非常注重基础设施的安全,而基础设施中,又特别注重客户端、服务器、防火墙或者IPS等设备的安全管理。但事实上,我们更应该关注信息化过程中,开发系统的安全。今天我将分享几点可以帮助管理者提升安全等级的前提措施。
我们通常意义上的资产,对大多数人来说,特别是传统管理者来讲,更多的是硬体类、可视的资产。这对企业高层来说,最容易的资产管理方式。但是其实我们还应特别包含软体类的资产。比如开发代码的语言、购买的软体系统、采用的开源技术等。也都应该归纳为资产识别并进行管理。
您的资产清单将有助于确保您的所有资产都得到基于安全视角的关注,并有专人进行管理。比如开发程式运用了微软的visual studio code,那么您应该关注和统一版本,并确保没有开发工程师注册azure 线上服务,将企业代码信息和运用的数据库信息上传到azure服务。
所有产生的信息都应该被适当的运用安全的存储方式进行存储,如您的企业运用了很多线上服务,您应该需要确保所有的代码信息不被他人获取,并采用线下存储的方式管理代码。将代码功能作为资产形式列管,并不定期进行检查和确认。团队领导有责任和义务清楚团队开发工程师存储代码的方式,以及是否进行了安全备份。在需要恢复和获取时,团队领导和企业管理者能自动和主动获取到功能代码,并在安全区域进行恢复业务系统。
团队成员的开发工程师可能基于博客,github等方式分享代码,管理者也应该清楚和掌握这些账号信息,并确保分享和上传的代码不涉及机密信息,以及涉及机密信息后可以最快速度采取应对措施。团队领导同样有责任和义务宣导和了解成员的开发账号应被安全使用。
开发语言和程式的迭代更新非常快,旧有的版本很有可能时时会爆出新的漏洞,或者自身就存在零日漏洞,需要时刻更新至新的版本以尽可能的规避旧版本的漏洞。最佳的情况为定期统一更新旧程式代码和新开发语言和程式的版本为稳定版本或者安全版本。
以Log4j漏洞而言,因为缺乏程式版本列入资产管理,当存在重大漏洞时,开发运维工程师往往疲于奔命寻找哪里有使用Log4j,漏洞修复过程中,可能存在漏网之鱼而被攻击者利用而成为不应该发生的网络安全事件。
在企业的开发进程中,往往有很多旧有的、可替代的代码和程式。这些维护成本可能很高,建议断舍离,用新的技术来取代不仅可以提高安全运维能力,也可以降低运维成本。摒弃一些不需要的旧东西,保留当前最低运维成本的资产也可以帮助企业降低成本。