如何构造一个远程开发环境让开发者无法拷贝代码?

2016-04-27 20:33:03 +08:00
 kukuwhu
有个特殊项目需要做代码保护,开发环境是 linux ,如何让开发者远程到服务器上做开发,但不能通过其他技术手段 copy 代码到本地?中间可以加代理服务器,比如 windows 的 VDI,有没有简单的方法?主要是防君子,小人没法防,有经验的老司机请给些方案或建议,谢谢!
9434 次点击
所在节点    程序员
67 条回复
sphawkcn
2016-04-28 08:59:45 +08:00
其实我很理解楼主的需求,确实有些关键性代码需要做这种防护,不要说什么拍照啊,二维码之类的,有心偷代码的是防不住的,银行都有人动过,还有什么是不可能的,但是你能说银行就没必要防护了吗?防护也还是必要的,至少不能让人轻轻松松随便敲几下 git clone ,或者 cp 就能把完整代码加注释加文档连窝端。
des
2016-04-28 09:27:23 +08:00
我就想问背景调查,保密协议这些事干嘛的
Felldeadbird
2016-04-28 09:46:18 +08:00
远程的任何防止手段其实都不靠谱。真的要提防应该 是 包酒店,让相关的开发人员 封闭式开发。
如果担心对方出来后人肉拷贝。可以在项目开发完毕后,延长封闭时间。开发无相关的功能(正常人记忆力是由限的,而且在高压赶进度下开发,很快会把之前做得大部分都忘记掉)。
当然,其实都不靠谱。还是做背景调查,再考虑是否招这些人进行开发。
techme
2016-04-28 09:48:28 +08:00
每人发一支笔一个小本子,每天写好代码后上交,再雇一个不懂开发的录入到系统里
出错了再打印出来调试
Moker
2016-04-28 09:49:37 +08:00
突然想起了一部电影 记忆裂痕 只要想搞总有办法
des
2016-04-28 09:50:47 +08:00
既然你们担心代码被拷走,那么为什么不只让“可信任”的人才能看到??
这样只能恶心到人而已。
据我所知除了那些大型企业,也就外包公司喜欢这样做,大家都散了吧
wizardoz
2016-04-28 09:53:49 +08:00
防君子不防小人,君子会不会觉得很委屈
exer
2016-04-28 09:58:32 +08:00
君子用的这么大的动静去防么??
可以把功能细化。分工出去
yzimhao
2016-04-28 11:12:37 +08:00
这年头值钱不是代码,是模式,思想。
wgwang
2016-04-28 11:24:21 +08:00
给足够的钱比如 1 亿美刀,包养他一辈子,不管是君子还是小人应该都不会泄露了

其他方法,没戏。真要抄,每天下班前背一段,回到家写出来,任何方法都无法隔绝。
mengjue
2016-04-28 11:43:27 +08:00
开 WIN 虚拟机+禁止黏贴板,所有开发只能通过虚拟机进行,然后签订严厉的保密协议。上网只开 80 端口,禁掉所有网盘外部邮箱。这里的很多人好像都是学生,没有开发过大型项目,想当然的认为可以靠记忆把代码带走。采取这些措施不一定能够彻底杜绝代码偷窃,但是可以防止大部分人直接带走所有代码出去自己开公司。
paw
2016-04-28 13:01:29 +08:00
@xuboying 华为吗。,。 ?
inahesun8712
2016-04-28 13:05:25 +08:00
向华为学习吗?
tinyproxy
2016-04-28 13:18:17 +08:00
上 SVN 吧,代码给不同的人写,功能 checkin 了直接踢了,除了管理人员谁也不能编译整个程序
bk201
2016-04-28 14:50:49 +08:00
将关键程序包编译,签订好保密协议以及背景调查,其它代码 copy 吧。
murmur
2016-04-28 14:58:04 +08:00
@mengjue 看你个思路就够了,关键算法一扫就可以,谁对业务代码感兴趣
SlipStupig
2016-04-28 16:44:50 +08:00
没特别好的办法,说一些个人经历

1.软件配置部分
1.1 基本上就是在机器上装磁盘透明过滤驱动(只要文件一创建就被加密了,你拖出去根本没用),
1.2 软件安装白名单,只有白名单的软件能运行

2.硬件配置
2.1.封掉 USB/音频接口(以前有通过音频接口偷数据出去的)
2.2 然后开发网络是局域网,查资料是单独的机器每个人分配不同的 Token,每个 token 的权限是不一样的,你在该机器所有操作都会被记录(稍微大一点的公司都这么干)
2.3 出口网络流量特征审计,干掉一切未知流量和黑名单 IP
2.4 开发环境 24 小时监控

3.人员部分
3.1 人员背景调查有不良背景的直接 pass
3.2 关于人员方面尽可能让模块分散,每个人只负责一个模块,每个组的人不见面不接触最好是根本不知道有别人一起在做,在各地分散封闭开发。每个周五由管理人员代码 push 总服务器上,周一分发测试结果,项目完成后延期进行开发,人员进行分批解散
3.3 开发期间严禁带任何电子产品,每次上工地都进行安检(据说华为的核心机房是法拉第笼,没去过)
3.4 严格保密协议,开发解散后会发一定的保密费(视情况而定),出现泄密直接坐牢

某部队开发就是这么做的,仍然出现过泄密事件,说明制定只能减少不能杜绝
huobazi
2016-04-28 17:31:42 +08:00
多给钱
裸替封闭开发
项目结束后都杀了,或者打成脑残
huobazi
2016-04-28 17:33:01 +08:00
更正一下,刚才第二条是 ”裸体”
402124773
2016-04-28 17:59:24 +08:00
@huobazi
这个方法叼。和修建秦始皇皇陵差不多。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/274884

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX