文章图片
文章图片
我就职过的三家公司各有自己的代码保护策略 , 前两家公司主要是在法律上进行保护和进行代码安全的教育 , 没有使用技术手段 。 而第三家公司对代码的保护非常的严格 , 用了好多技术手段 。 这家公司做互联网应用 , 代码是其核心资产 , 再加上用.net进行开发 , 容易被反编译 。
于是公司的做法: 设置安全人员 , 这个安全人员就是老板 , 他的亲戚和一个亲信 。 全公司只有这三个人能接触代码所在的服务器和测试所在的服务器 。 在各个阶段严格控制代码的泄露可能 。 开发阶段:开发人员用双层远程桌面进入内网的开发服务器后 , 才可以编辑代码 , 编译代码 。 开发人员用的远程服务器 , 文件在审查后可以拷入 , 但不允许拷出 , 如果实在有需求要拷出文件 , 需要安全人员审查拷出文件的内容 。 在远程开发服务器上 , 不允许安装公司标准开发工具以外的任何工具 , 除非你能说服安全人员没有风险 。
测试阶段:第一轮测试要在专用的内网测试服务器上进行测试 。 开发把内网服务器编译的dll放到内网专用的一个ftp上面 , 由测试人员把dll拷到测试服务器上 。 第二轮公网测试 , 开发人员要进行严格的代码混淆 。 测试的时候 , 任何相应人员也是拿不到混淆后的dll的 , 要由自动化发布工具或安全人员将dll从内网拷到公网的服务器上 。 在该公网的服务器上 , 测试人员无法拷入和拷出任何文件 , 开发人员未经允许 , 不得访问该服务器 。 开发查看log要用专用工具拷出来 。
发布阶段:测试结束后 , 测试人员将相应dll放在专用的服务器上 , 由安全人员进行最后的发布 。 这种严格的代码保护导致的问题:开发效率很低 , 每个开发者只能用开发服务器上的“官方”开发工具 , 不能安装自己习惯的开发工具 。 内部开发服务器由于多个开发人员登录 , 经常出现卡顿 。 有时候出现故障 , 全部开发人员就要停工等待 , 要等三位安全人员修复好服务器才能开工 。 另外拷入文件 和发布文件很多时候需要三位安全人员来做 , 存在不少等待时间 。
由于开发服务器不能连上外网 , 不能使用Nuget , 导致依赖dll不能得到应有的更新 。 前端开发人员包的更新也很有问题 。 远程开发比较麻烦 , 不能在自己的电脑上修改代码 , 要先用VPN , 再进两次远程桌面才能修改 , 卡顿比较严重 。 由于公网测试就用混淆过的dll , 看日志里面的打印出的堆栈非常痛苦 。 严格的混淆政策导致一些第三方库不能使用 , 比如这些库使用了反射就会出错 。
【相机|软件公司如何保护好代码?】
带来的种种不便 , 每年开发人员和测试人员都会向上层提出意见 , 最后都会被安全人员否定 , 后来大家也就习惯了 , 大家所在的软件开发公司有没有更好的办法?
- 小米科技|不聊性能只谈拍照!新旗舰反向升级成潮流,拍照手机如何选?
- 搜索引擎|淘宝运营系统出台春节打烊功能,淘宝运营商家该如何选择?
- 小米科技|RTX3060的性能到底如何?相比RTX2060提升有多大?
- GPU|天玑8000新机快了,相机的配置看上去挺不错,准备冲吗?
- 市值超 1.7 万亿的Netflix是如何做决策的?
- 单反|帮你留住精彩瞬间!年终奖到手之后,喜欢单反相机的必买这款?
- QQ音乐的2021专辑盘点,是如何征服资深乐迷的
- 饭饭1080°平台分析之生鲜电商平台如何选择ERP系统和SAAS系统
- 在2021大中华区艾菲国际论坛上|玛雅文化施葵:新消费时代,如何助力品牌跑出“破圈”加速度?
- 布局潮范多元化圈层 看MAZDA3昂克赛拉如何玩出花样?