软件嵌入式研发行业源代码安全管理方案概要

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件嵌入式研发行业源代码安全管理方案概要相关的知识,希望对你有一定的参考价值。

软件嵌入式研发行业现状分析

软件研发或嵌入式研发行业,其核心部分往往就是源代码,如何做好源代码的管理至关重要。此文仅谈源代码的安全管理。根据软件研发或嵌入式研发行业的从业者现状,认为研发从业人员有以下特点:

1.学历较高,都非常聪明,非常懂电脑。

2.每个研发人员都有能力写程序,甚至可以通过写程序,进行各种数据变形。例如:文件读写(输出日志)socket通信、内存映射,常驻服务等,对于Web开发者,经由IISTomCatweb服务器的代码变形更是轻而易举。

3.研发人员的个性较强,比较难管理

而我们软件研发或嵌入式行业特点要求必须对研发成果源代码进行安全管理。但是现实的工作必须环境特点为:

-大家必须有局域网,才能协同工作;

-需要能访问互联网,方便查找资料;

-必须通过U口串口网口等端口连接外部设备进行调试。

 

对于一些企业有的采用物理隔离,有的上虚拟化,有的上文档级加密软件,监控软件基本上都是形同虚设。例如常见的物理隔离,就是网络和外网断开,然后禁止使用U盘(软件或机箱),看上起很美好,但是对于懂电脑的研发人员来说,影响了工作效率,还是无法达到安全。

--对于软件禁止U盘的,搞个UPE,然后直接从U盘启动绕开操作系统的管控做任何事。

--插拔墙上的网线头直连自己的笔记本电脑进行数据传输。

--对于不能封U/串口的嵌入式调试环境更简单,直接可以把数据通过U口串口写出来。

。。。。。。

另外,对于虚拟化,所有数据在服务器端,看上去很完美,但是只要外网可用,外设可用,基本上没什么安全可言。

 

作为一个软件嵌入式研发公司的信息安全管理者,应该如何呢?

研发团队代码管理要点:

第一重要:必须构建源代码版本管理服务器

无论是多大的研发团队,源代码版本管理服务器都非常重要。不能因为团队小,图省事,就不使用源代码管理服务器了。使用源代码管理服务器,不但可以追朔历史,而且还能提高团队协作,提高产品质量。目前常见的源代码版本管理服务器有SVN/VSS/CVS/GIT等。

有了源代码版本管理服务器,就可以规范开发流程了。

  1. 1.     必须规定每个研发人员,每天必须把编译通过的源代码提交到版本服务器,防止终端异常代码找不到。修改代码必须要有注释,不但代码中要有,更新SVN的时候也要有。

  2. 2.     发布版本的时候,必须完整的从SVN下载代码进行编译,然后以此结果发布,不允许任何员工从自己的电脑直接发布软件版本。

  3. 3.     版本服务器上必须设严格的访问项目目录访问权限,没必要的使用的目录,不需要给员工开放。

  4. 4.     在源代码版本管理服务器上必须部署SDC沙盒机密端,做到只有安装了SDC沙盒客户端的电脑才能到这个源代码版本服务器上下载,更新代码。而一旦部署了SDC沙盒,所有代码都是拷贝不走的,安全的。

  5. 5.     服务器物理存放到机房或老板办公室,不要让员工直接接触。收回操作系统账号。

 

第二重要:设计时加入安全因素

  1. 1.     研发设计不能省,必须进行模块化设计,模块间有明确的接口,核心模块的代码最好做成library,避免无关的人直接接触核心代码,也可以避免每个开发者都有完整的代码,降低泄密风险。

  2. 2.     为有效防止反编译,关键模块代码最好使用C/C++语言。

第三重要:日常代码安全管理

任何项目研发,基本上都有设计,编程,测试,发布等几个基本环节。

1.在设计/编程阶段,要围绕SVN,在SDC沙盒安全环境下进行。SDC沙盒是个容器,什么都能跑。并且不影响安全。此阶段,使用普通策略即可。

2.在测试阶段,由于要连接测试服务器或者是外部设备进行调试,此时是代码安全风险最高的阶段,也最难管理。此阶段,首先要把测试服务器纳入SDC沙盒安全环境中来,这样发布到测试服务器上的内容,就无法被拷贝走。如果需要对设备进行烧录,那就启用SDC沙盒的智能端口过滤功能模块,不影响调试的同时,也能有效控制经由设备的中转代码泄露。

3.产品发布阶段,走外发审批,然后才能对外发布。如果有能力,推荐搭建web化的自动编译/发布服务器。

另外,其他注意事项:

4.必须严格遵循开发规范和流程,让每位员工有安全意识,如人离开电脑后锁屏。

5.开发电脑上都要部署SDC沙盒客户端,让其在涉密沙盒内写代码,如果要上外网,从沙盒外上外网。(沙盒内透明加密,不影响编译调试,各种变形都无法逃离沙盒);

6.访问互联网查资料的时候,数据只进不出;

7.使用QQ等即时聊天工具时,数据只进不出,并反截屏:

8.要向外部拿数据,必须让其走审批。

 

第三重要:充分发挥SDC沙盒的功能

SDC沙盒是一套完整的源代码安全解决方案,除了标准的防泄密功能之外,还有行为监控预警功能,例如打印内容监控,上网内容监控,外设数据通信监控,用户行为分析,屏幕监控,反截屏,反拍照等功能。如果能用好各项功能,可以极大的提高源代码的安全性,详细请参考SDC沙盒的官网www.shenxinda.com


以上是关于软件嵌入式研发行业源代码安全管理方案概要的主要内容,如果未能解决你的问题,请参考以下文章

高性能嵌入式仿真软件SkyEye

标准的产品解决方案Softerra与上海道宁为IT行业提供优质且全面的解决方案,帮助世界各地的企业应对严苛的IT挑战

中国(北京)国际智能工业与信息安全技术发展论坛暨2014年中国嵌入式系统年会邀请函

数据源代码防泄密解决方案

豹哥嵌入式讲堂:ARM知识概要杂辑- 内核架构编年史

软件公司主要防泄密点