很多网友想要对网站程序源码的安全审计有兴趣,那么由网站漏洞修复公司的SINE安全技术来给大家讲解下,源代码安全管理是整个软件开发当中的一小部分,主要的内容我们把它整理出来,认为是就是基于零信任去实现这种源代码的CIA,就是它的机密性、完整性和可用性。年轻人体现的就是一种思想,更多的是说我不仅防范外部的攻击,而且防止内部的攻击,比如研发测试运维人员的一个攻击就是内外两方面都会去进行。
在这里我们将整个的防护划分为几层,第一层就是管理制度,一个公司要想去做一个信息安全,最少要有信息安全的保密制度和源代码相关的管理规定,这样的话所有的人可以基于制度去进行执行。第二层是,基础环境,基础环境就是说源代码存储的基础软件,比如说我们的服务端可能是SUV或git的APP,客户端可能是对应的git等客户端,服务端我们要使用正版打最新的补丁,防止出现常见的这种安全漏洞,客户端我们要防止员工去泄露,拿走我们的源代码,最常用的就是防泄漏DLP,还有云桌面远程开发等等的防护措施。
基本的维护就是源代码我们要保证它一定是可用的,一旦是源代码丢失是非常危险的,所以我们的版本一定是有分支,备份是由双人分管,就是说我有两套源代码,那一定是两个人,分别有权限,不能一个人同时有两套的权限,比如说我们经常听到的一些脱库跑路的,就是因为一个人的权限过大所导致的。
第二个配置与代码分开存储,这个是最基本的,有时候源代码泄露,会发现里面有很多的自动密钥key的认证信息,所以源代码一定是跟核心的配置分开的,人员的安全,人员就是他入职之前要做背调,我觉得培训签保密协议、竞业协议、离职审计等等,权限就是大家要按需去申请权限实现一个最小化,按需怎么去体现,就是需要你的对应人申请人的leader去审批,来确认是不是有权限,调岗离职的回收权限等一个完整的一个闭环管理过程。
流程管理就是我们测试只要独立的测试环境,及时删除源代码,运维要在源代码混淆编译之后自动上线部署,因为要通过堡垒机去进行维护,他看到的都应该是编译之后或混淆之后的源代码。外发流程就是对外开源或出售要有一个严格的一个审批流程,研发的流程就是双因素认证,访问仓库、提交代码,添加代码的仓库,自己的分支时要进行审核的一个流程。一个是权限的升级,我们要知道这个人都有哪些仓库的什么权限,是读还是写。从仓库的角度来说,我们要知道有哪些人员,有对应一个什么样的权限。比如说我这是个核心仓库,我可能更关心是有哪些人是可以建的,操作就是提交记录下载记录的一个日常审核,通过这样的一个完整机制去保证我们的源代码一个保密性完整性和可用性。