软件公司防止代码外泄的几种方法介绍
程序员文章站
2022-04-30 12:57:40
...
软件公司和别的行业不同的是, 所有的劳动成果你只要拿个U盘两分钟就可以拷走, 或者传上网。 对此,有的公司不采取任何措施,因为任何保密的措施都会带来开发工作的不便, 而有的公司则宁愿牺牲工作效率, 提高保密性,有如下方法:
一 、 每人分配两台电脑,一台可以上网、插U盘,另一台实际用来开发,不能与外界交换数据,只可以连公司内部网。两台电脑放在座位的左右两边,一个人同时可以使用。
二、 每人分配一台电脑,不能与外界交换数据,只可以连公司内部网。要查阅资料,可以使用公司专门提供的上网电脑,大约每100人拥有5台上网电脑,上网电脑基本上是个网吧,每次重启之后东西都没了。
有些情况下,到外地出差需要带自己的笔记本电脑,数据存在了自己的笔记本电脑。 这种公司有一个很雷人很恐怖的规定, 要求在员工携带电脑离开前, 专人检查是否有数据存留在电脑上, 检查方法是多次格式化硬盘。 这个具体执行的情景,我还没见过, 如果见到了, 可以再来谈一谈。
前两种方法都有一个致命的缺陷: 你只能用公司提供的开发工具。 比如有的公司给你一个IE 8.0, UltraEdit 12.0, 但你需要用的是Notepad++,需要用Firebug,这真的是毫无办法, 没办法使用的。你只能用公司提供的。
三、 使用云桌面技术,员工的电脑可以上网、插U盘, 但开发出来的成果和数据并不保存在这台电脑的硬盘上,而是存在公司的机房, 员工要安装虚拟桌面程序,每次工作要远程连接到公司的机器上。 这是最先进,工作效率最高的方法。员工可以任意带资料到公司查阅,可以任意带自己习惯使用的工具,Firebug,各种Eclipse插件,在开发中使用。 虚拟桌面技术允许把文件从公司外面拷到公司里面,但无法从公司里面拷到公司外面。
总结:无论哪种方法,一定要有一个途径能把开发出来的成果传给外界,这样产品才能投产。 也就是说,公司里一定会有一部分人,有办法把代码泄露出去。
防止泄露代码的意义,我感觉其实也不是特别大,牺牲了这么多工作效率,未必值得。我曾经发现所开发产品的一个安全漏洞,只要知道这个漏洞, 根本不用把什么代码拷出来,凭脑子就能记住攻击的步骤。 所以,如果软件公司真的要杜绝信息外泄,唯一彻底的方法是给每个人*。
无论哪种方法,根本的目的是防止把文件从“内部”转移到“外部”。 屏蔽USB接口,禁止上网,都是为了这个目的。 至于你是不是想把文件从“外部”带进“内部”,不是我关心的。 比如说,你从家里带了几个游戏来玩, 我不管你, 但你带游戏来玩的同时, 谁知道你会不会顺便把几个重要文件拷走? 所以, 出于这种考虑,我只能把USB接口屏蔽了。
有的公司,不仅屏蔽USB和上网, 还把光驱也屏蔽了。 照上面的思路,CD-ROM和DVD-ROM光驱应该是完全无害的, 而且员工要带技术资料进来查阅的话, 也方便很多。 屏蔽光驱的公司, 我认为是SB公司, 这种公司,没法查文档,工作效率低下,只能怪自己活该。
一 、 每人分配两台电脑,一台可以上网、插U盘,另一台实际用来开发,不能与外界交换数据,只可以连公司内部网。两台电脑放在座位的左右两边,一个人同时可以使用。
二、 每人分配一台电脑,不能与外界交换数据,只可以连公司内部网。要查阅资料,可以使用公司专门提供的上网电脑,大约每100人拥有5台上网电脑,上网电脑基本上是个网吧,每次重启之后东西都没了。
有些情况下,到外地出差需要带自己的笔记本电脑,数据存在了自己的笔记本电脑。 这种公司有一个很雷人很恐怖的规定, 要求在员工携带电脑离开前, 专人检查是否有数据存留在电脑上, 检查方法是多次格式化硬盘。 这个具体执行的情景,我还没见过, 如果见到了, 可以再来谈一谈。
前两种方法都有一个致命的缺陷: 你只能用公司提供的开发工具。 比如有的公司给你一个IE 8.0, UltraEdit 12.0, 但你需要用的是Notepad++,需要用Firebug,这真的是毫无办法, 没办法使用的。你只能用公司提供的。
三、 使用云桌面技术,员工的电脑可以上网、插U盘, 但开发出来的成果和数据并不保存在这台电脑的硬盘上,而是存在公司的机房, 员工要安装虚拟桌面程序,每次工作要远程连接到公司的机器上。 这是最先进,工作效率最高的方法。员工可以任意带资料到公司查阅,可以任意带自己习惯使用的工具,Firebug,各种Eclipse插件,在开发中使用。 虚拟桌面技术允许把文件从公司外面拷到公司里面,但无法从公司里面拷到公司外面。
总结:无论哪种方法,一定要有一个途径能把开发出来的成果传给外界,这样产品才能投产。 也就是说,公司里一定会有一部分人,有办法把代码泄露出去。
防止泄露代码的意义,我感觉其实也不是特别大,牺牲了这么多工作效率,未必值得。我曾经发现所开发产品的一个安全漏洞,只要知道这个漏洞, 根本不用把什么代码拷出来,凭脑子就能记住攻击的步骤。 所以,如果软件公司真的要杜绝信息外泄,唯一彻底的方法是给每个人*。
无论哪种方法,根本的目的是防止把文件从“内部”转移到“外部”。 屏蔽USB接口,禁止上网,都是为了这个目的。 至于你是不是想把文件从“外部”带进“内部”,不是我关心的。 比如说,你从家里带了几个游戏来玩, 我不管你, 但你带游戏来玩的同时, 谁知道你会不会顺便把几个重要文件拷走? 所以, 出于这种考虑,我只能把USB接口屏蔽了。
有的公司,不仅屏蔽USB和上网, 还把光驱也屏蔽了。 照上面的思路,CD-ROM和DVD-ROM光驱应该是完全无害的, 而且员工要带技术资料进来查阅的话, 也方便很多。 屏蔽光驱的公司, 我认为是SB公司, 这种公司,没法查文档,工作效率低下,只能怪自己活该。