最近调研了一下研发资产安全保护方案,简单地说就是,如何避免开发人员把核心代码和核心资料据为己有,离职时偷偷带走!网上有好多人认为这个东西没有必要做,或者根本不能根本杜绝。认为现在的软件产品拼的是业务和运营,代码真心不重要,即使把微信的源码给某某公司,又能怎么样呢?你能防住手抄写或者拍照吗?其实想想是这个道理,光有源码没有用户有何用啊!有同学认为,源码泄漏出去也没关系,自带混淆不说,搞懂的effort远大于再造一套新的代码的effort!更有同学表示大多数软件公司是依靠程序员的自尊心…泄露出去了实在特么丢人啊!
在这里我先不讨论对研发资产保护的必要性,我仅把自己调研的一些方法share给大家,希望能给大家一点点帮助!目前业界的主要方案包括:云桌面、公司自建安全体系制度监管、购买第三方软件产品监管
BAT等大厂
每个人的电脑中都装有自己开发的监控软件(限制上网行为,封闭U口,不能传输文件,限制使用软件)、工作中进行视频监控、网络监控等。当然这些公司钱多人牛逼,有能力开发出适合公司自己的产品,但是对于绝大多数公司来说该方案的投入与回报是不成正比的!
云桌面方案
云桌面又称桌面虚拟化、云电脑,是替代传统电脑的一种新模式。采用云桌面后,用户无需再购买电脑主机,主机所包含的CPU、内存、硬盘等组件全部在后端的服务器中虚拟出来。前端设备主流的是采用瘦客户机(与电视机顶盒类似的设备)连接显示器和键鼠,用户安装客户端后通过特有的通信协议访问后端服务器上的虚拟机主机来实现交互式操作,达到与电脑一致的体验效果。具体如下图所示,传统的机箱变成了类似机顶盒的东东
优点:
1.数据安全:数据存放在服务器后端,跨磁盘、服务器备份,有效防止数据损坏、丢失;同时可对云终端实施USB设备权限控制,防止数据泄露。
2.局域网安全:每台虚拟机均独立运行,一台发生故障或中毒,不会影响其他虚拟机。
3.电力费用节省、IT费用低。
缺点:
1.改造影响范围大,通常是公司级别(个人觉得不适合技术类公司)
2.会有网络延迟。
3.改造费用较高 。
公司自己构建安全体系
主要包括签保密协议、日常教育、代码权限控制、封闭u口、视频监控、网络监控、入职背景调查,这是一系列的行为管理方法。这个体系个人觉得最重要的就是签保密协议,一旦发现员工有泄漏公司源码资产的行为,直接告!在员工入职时重点强调,相信会有很强的警示作用。
购买第三方软件产品保护文件
目前该类别第三方软件产品都是以收费为主的主要技术手段包括数据安全隔离和文件加密解密两种
•数据安全隔离(DSA)
不做复杂的监控,构建安全区域保障敏感数据安全,在实现安全保障的同时,不影响效率,不改变操作习惯,安全性最高,具体产商这里就不提及了。关于安全区的概念如下所示:
该方案主要优点包括:
1、不影响编译、调试性能:调试过程中不用先解 密再调试再加密;
2、不破坏文件:虚拟文件磁盘加密技术;
3、难破解:多重隔离(内核)、网络通信加密;
5、不需要配置复杂的安全策略;
6、特别适合源代码(多文件)和设计图纸(大文 件)等企业核心智慧资产的安全保护
7、不影响使用者对网络资源的访问应用
该方案更适合研发类文件加密,因为工程中涉及的源码文件数目众多,频繁对文件加密解密势必会影响客户端性能,而研发人员对于电脑卡顿这件事是灰常灰常介意的,你可以加密,但是你不能让我卡啊!但目前该方案对于终端是mac的本本没有解决方案,这点是比较遗憾的。
•文件加密解密
该方案简单地说就是,利用加密算法对文件进行加密,授权的客户端可以打开加密的文件,这样即使文件被拷贝走,也无法在其他的客户端中查看。主要加解密技术包括透明和半透明两种。
透明:对企业内部所有涉密文档进行强制加密处理,从文件创建开始即可自动加密保护
半透明:本地自己生成的文件都不加密,而能打开公司内部的加密文件,并确保这些加密文件去编辑保存还是处于加密状态。
该方案需要频繁对文件加解密,会对客户端的性能有一定的损失,安全性不如DSA。同样的,具体产商这里就不提及了。