如何保护企业核心代码 | FreeBuf甲方群话题讨论
2022-11-3 20:11:47 Author: www.freebuf.com(查看原文) 阅读量:10 收藏

freeBuf

主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

在众多厂商、企业都在尽力强调数据安全、落地各种防护方案时,关于代码安全,尤其是企业的核心代码防护仿佛并没有被时常提及,是否代码的敏感性、重要程度已不如数据?企业保护核心代码的措施又应该是怎样的?本期话题我们以核心代码安全为话题,就相关问题展开讨论。

现在有企业会把核心代码开放给大部分甚至所有部门员工,而不像数据一样设置各种权限,这是否说明现在代码安全已经不像数据安全那么重要了?

A1:

代码安全要看行业的,如果是快速迭代的互联网模式,老的代码没什么用,也就不用怎么保护了。要是传统软件的代码就不一样了,你看微软什么时候公开过代码库。

A2:

现在企业中都有专门的代码仓库来保管代码,分组织、项目、人员来管理的。

A3:

代码安全根据行业来区分,例如公司是专门从事软件开发行业、软件服务的,他们的核心资产就是代码,那么他们会对代码安全要求很严格;如果行业并不是靠这行吃饭的,代码算不上核心资产,那么自然也就不会那么重视。

A4:

没错,看行业,尤其是制造等硬件底层的一些代码,开发环境都得隔离,代码落地加密处理,敏捷开发的前端没这个必要。

A5:

重不重要取决于对公司的价值。代码如果是核心产品,必然很重要。代码库也会设置各种权限,尤其是核心代码。

A6:

我这并没有开放给大部分员工,一般是项目相关的会有权限。但是我现在没遇到特别好用的代码管理软件,Git虽然优秀,但是其实面向的还是开源软件开发,在容错性上做的很好,但是权限和安全性是不足的。比如某人如果取消了权限,但是Clone到本地的代码一样能用。举个例子,某云的Devcloud也明显就是社区作风,代码库的创建者可以自行删掉代码库,真的是震撼了我。

Q:现在认为核心代码脱离了公司测试环境,根本就毫无用处, 跑不起来,那核心代码的安全价值该如何衡量?

A1:

核心代码的安全我认为应该分两方面来考量吧,第一是自身的安全考量,比如遭受安全事件后的影响程度;第二是从合作伙伴来考虑吧,比如华为就对合作伙伴有专门的标准,要求必需满足某些指标才会采购。

A2:

确实有这种声音。但被竞争对手拿到也不是那么绝对。安全价值或者说对公司的价值更多的是产品依赖度和知识产权。

A3:

题干说的这种核心代码应该是“瘦”核心,只要最重要的工作,其他都通过中、外围系统的完成,要有接口和相应的能力,不然核心代码只能跑非常少的功能。

A4:

除非特别大公司的特别大的业务系统的某个模块,其他的不存在跑不起来,毫无用处这个概念。无论是设计思路的窃取还是攻击漏洞的暴露,代码保护还是重要的,重要程度取决于老板预算。

A5:

这个说法应该是我老东家当年提的把,号称的代码太吃资源了,被偷走了也跑不起来。结果,201x年的时候,真的有离职员工做竞品,结果现在互联网大厂普通员工都要签竞业协议了。而且也专门设置了安全部门来检查员工是否拉不该拉的代码,特别是离职前。

A6:

代码不出网这是基本要求,所谓和核心代码放出来的,只是现在的开源文化,放出一个公版,其他就不细说了。

A7:

小规模业务的代码,离开公司绝对能跑起来,客户端代码离开公司绝对可以跑起来。基本上就是轮子造的多的公司,可能代码没法直接Run起来,但是核心业务的核心代码,根本不需要直接Run,直接抄里面的功能逻辑就行。

不过说实在,现在大多数企业也没有核心代码吧,写的大多数是垃圾。代码泄露更大的问题是增加攻击面。

A8:

打个比方,开源那些机器人项目,人家的机器人18岁能蹦能跳,你把开源抄过来,看上去像脑血栓,真正的核心,不管是核心功能还是存在隐患,不太可能让所有人都能访问。

A9:

这部分的差异可能不是代码,有的时候是数据。甚至是日积月累的,这是真正的技术壁垒。比如搜索头部公司为啥会一骑绝尘,就是网页库这个后来者很难追赶了,成本极高。

A10:

感觉死代码是最没用的技术壁垒,太容易被复制了。

A11:

但好像还是有很多人复制了代码,也不会用。

A12:

国内不是卷嘛,研发核心人员把代码拿着出去又成立一个公司,产品五折,这种例子不要太多。

A13:

话说代码仓库开放不是会产生硬编码的泄漏吗?硬编码那才是影响巨大。

A14:

对,所以杜绝硬编码,因代码泄露感觉是不可避免的。

Q:如果需要建立核心代码安全保护机制,研发和安全部门应该如何制定?

A1:

分级管理,最小化知悉。核心代码权限申请需要审批。

A2:

这种的措施挺多的了,比如代码开发环境完全隔离,代码开发不落地,都在云平台上实施。根据不同的行业,实施的方案也不同。游戏开发需要使用大量的美术资源,就无法适用上面的方法。

包括零信任方案,也有推出相关的解决方案。还有制度要求、技术要求、惩罚措施、定期审计。不同的公司支持力度不同,预算不同,也就有了不同的方案。

A3:

技术层面,我们这边搞得是代码落地加密,实施比较快,但是也有一些不足,比如加密客户端对MAC兼容性不太友好。

A4:

1.完善的代码设计、开发、测试、上线流程。
2.独立开发、测试、上线环境。
3.审计。

A5:

看老板预算,有多少钱办多少事情,我现在这种情况,只能做到所有代码库在我管辖范围之内,并且代码提交和和拉取记录有备份,也就是防一下离职前的大规模代码拉取。至于电脑上的管控,成本太高,就不做了。

A5:

暗水印技术。

A6:

那得拍多少呀?

A7:

不一定要拍很多,比如游戏行业,他只要拍一点开发画面,对于游戏接下来的计划、发行方案都有影响。

A8:

能详细说说吗,在代码上加水印,还是在屏幕上加水印?

A9:

放拍照当然是屏幕水印了,源文件加上会影响文件属性。

A10:

水印技术更多是为了泄漏后增强可追溯性,并不能防止拍照或截图。不过在心理上,会造成一定的震慑。

A11:

类似隐写,你可以了解一下。就是你拍照看不出什么东西,但是查到了根据图片的暗水印信息就能定位是谁泄露出去的。

A12:

暗水印是在文挡或屏幕里加不可见点阵,通过反选,或者调色能把点阵显示出来,然后根据点阵特征溯源。

话题二:数据安全和个人信息保护,在涉及到数据加密脱敏时谁来负责,这两个岗位的职责区分是什么?

A1:

前者负责方案,后者负责审核、审计。

A2:

在这个场景内,个信更多偏需求方,数安偏方案和执行。

A3:

目前大家墨守陈规的是个信和数据交融相错。

A4:

数据安全包含个人信息,但是由于PII比较重要,所以专门拿出来做隐私管理,至于加密之类的归属数据安全。

A5:

那说起来,个信这块,还是偏向于前端能不能收;数据这块,偏向于要不要加密、怎么加,是这么理解吗?至于要不要加密,得结合个信一起讨论(总觉得这个地方是双方共同的点,一个偏向法律要求,一个偏向技术实现)。

A6:

我觉得这么理解吧,个人信息主要在于前期收集、收集范围、告知用户权力、数据所有者权力,如何处置收集到个人信息(根据当地政策),收集到了,那就是归属数据安全进行管理。因为个人信息主要就是违法收集信息问题和过度收集信息。

我觉得企业如果在做PII管理,可以融入数据安全流程,主要时在收集到的数据如果进行管理,例如加密、脱敏、以及后续共享传输等方面,还有授权控制。

A7:

我指的是加密,不是收集。数据安全仅仅处理已经拿到的数据,而不管能不能拿这个数据。

A8:

我们是归公司总经理管,成立数据安全小组,负责人由高层担任,包括了法务和研发负责人,安全只是干活的。规则可以安全订,订完其他人审核。通过之后下发是以高层的名义来。

A9:

所以你们的用户隐私协议要写好,告知用户他的权力、数据所有者的权力,所以国内一些隐私协议写的很长,就是让用户不想看,出卖自己的隐私。这也算是一些小动作吧,在法律范围内,数据所有者增加自己持有个人信息的处置权。

A10:

增加了自己的处置权,也意味着自己需要对数据提供保护义务和责任。

A11:

所以,回归到问题本身,数据安全和个信的分工。

A12:

刚开始就已经说明了,如果有能力情况下肯定是分工的。但是实际工作过程中也是融入数据安全进行协同的,我不知道为什么要分的那么清楚,而且前期很多时候法务就可以搞定,都不用安全。

——————————————————

本期精彩观点到此结束啦~此外,FreeBuf会定期开展不同的精彩话题讨论,想了解更多话题和观点,快来扫码免费申请加入FreeBuf甲方群吧!

加入即可获得FreeBuf月刊专辑,还有更多精彩内容尽在FreeBuf甲方会员专属社群,小助手周周送福利,社群周周有惊喜,还不赶快行动?

申请流程:扫码申请-后台审核(2-5个工作日)-邮件通知-加入会员俱乐部

如有疑问,也可扫码添加小助手微信哦!


文章来源: https://www.freebuf.com/articles/348817.html
如有侵权请联系:admin#unsafe.sh