关于安全:作为一个研发凭什么花大量时间修安全漏洞

48次阅读

共计 4611 个字符,预计需要花费 12 分钟才能阅读完成。

写在后面

间隔公众号的第一篇文章过来了 2 个月了,最近始终在忙上产品 3.0 的事件,两头加上感化新冠,这篇文章前后也写了半个月,趁着这两天 3.0 产品大版本公布了,连忙把这篇文章改好收回来,次要还是分享记录墨菲平安 3.0 产品的一些思考和心得。

搜寻关注公众号“航行笔记”

Part 1:从一个研发工程师对修复安全漏洞的吐槽说起

上周去上海出差,见了我的一个学弟,此学弟因为长得比拟显老,尽管是我学弟,然而大家都叫他老刘,当初在上海一家互联网公司的电商业务部门做研发。这次去上海出差住的中央离他公司特地近,而且他也是咱们墨菲平安晚期的 C 端用户,给咱们提了很多很好的倡议,所以想着这次在上海出差得请他吃个饭,顺便再找他调研调研需要。老刘是一个特地喜爱吐槽的人,很技术范,看不惯的所有也都不会惯着,加上他自身技术比拟好,所以吐槽就愈发 ” 猖獗 ”。

这次吃饭也不例外,各种吐槽,先是跟我讲当初互联网公司一个个卷的要命,很多人都胆怯裁员,天天卷,各个部门之间也十分卷,他通知我,他们公司的安全部门就特地卷,天天给他们发平安工单,让他们修破绽,很多时候焦急上线(因为自身就裁了一些人,业务一点都没有少,工作量天然变大了),他们基本就没有工夫修破绽,而且每次安全部门发工单都要天天催,感觉每个破绽都是咋咋唬唬,不修的话还要给领导发邮件,一顿吓唬不懂的大领导(因为他们是业务部门,老板不太懂技术),如同明天不修复,今天就得出事背锅,搞得他一天也是苦笑不得。

老刘说,其实我并不是不想修破绽,然而我最烦的是,很多破绽基本没有那么重大,而且平安发的工单也须要花大量的工夫去理解消化,而后本人去找修复计划,最终各种尝试修复,运气不好的话,修破绽的工夫比写代码的工夫还长,老刘最初气急的问:我作为一个研发,凭什么花这么多工夫去修一些莫名其妙的安全漏洞?

我问老刘,那你心愿是什么样的?出破绽就不修复了?躺平?老刘的一番话让我的播种还是挺大的,老刘说:修复必定是要修复的,作为研发来说,咱们就心愿每一个工单都能十分清晰的通知他哪块的代码出了什么破绽,给一个主观靠谱的破绽级别评估,而后最好通知他应该怎么修复?最好能帮我修复了那就最好了,当然这个就有点奢望了。哈哈哈,老刘也不好意思的笑了。如同要求提的有点高。哈哈。

老刘的这些话,让我感触十分深,想想 12 年我在百度发平安工单的时候,何尝不是老刘嘴里所说的 ” 平安团队 ” 呢,咱们一个工单发进来,一顿咋呼,不修就给你领导发邮件,如同全世界的工作都没有平安的优先级高,而后碰到不会修的研发还要一顿吐槽他们技术菜,这都不会,实际上大多数研发的确不是平安业余的,咱们工单也没有说的多分明。当初想想的确换个角度,有很多过后做的不妥的中央。

过来市场上平安产品和工具貌似更多的都是在服务平安工程师,很少有人真正关注研发们的感触,而大家如同又疏忽了十分重要的一点,最终所有的代码平安问题都须要研发操刀去解决。所以为什么不应该是让一个好的平安产品间接面向研发大大们去设计呢?让他们自助式的去解决平安问题,甚至帮忙他们 ” 主动 ” 修复这些破绽,满足老刘一个小小的宿愿?

老刘的这一顿吐槽,又深深的激励了我,我跟老刘说,咱们墨菲平安 3.0 的产品公布了,你抽空去试试咱们开发的 IDE 平安插件,它能帮你主动修破绽(目前 java 反对是最好的,惋惜老刘当初曾经写 go 了 …)。老刘将信将疑的跟我说,回去马上试试,haha..

Part 2:谈谈这两天感化新冠的感触,以此引发对企业平安建设的新思考

这两天咱们公司 80% 的共事都阳了,我当然也不例外,发烧了 2 天,而后就是一顿喉咙疼,咳嗽。明天终于复原的差不多了。这个过程咱们家在一起的四口人全都阳了,包含我妈还有我小孩,整个过程都是本人在家吃药,而后大量喝水,根本都是发烧 1 - 2 天,而后就缓缓复原了。我共事这些人基本上也都是这样,本人在家自助量体温、吃药加多喝热水,都问题不大。

国家这一轮放开来的十分猝不及防,导致感化新冠的人越来越多,张文宏医生说 99.5% 的感染者是不必去医院的,本人居家吃药就行了,将来新冠也会成为一种季节性流行病。过来国家不轻易放开的一个很重要起因也是因为放心医疗资源的挤兑危险,这一波放开尽管短暂也会引起医疗资源的挤兑,然而缓缓大家会产生一个感性的认知,大部分人是不须要去医院的。

我在想,其实你看过来十年,随着各行各业的数字化过程越来越快,企业的软件开发和利用的范畴也越来越广,从而带来了大量的安全漏洞危险,过来安全漏洞少的时候,企业的安全部门还能够为研发团队提供医院专家式的医治。明天随着软件的利用数量越来越多,安全漏洞的数量也越来越多,一旦呈现 log4j2、fastjson 这样的影响范畴很广的 0day,企业的平安工程师资源就会面临被挤兑的危险,很显著安全部门那点人很快就会成为瓶颈。而这将重大的影响企业重大安全事件的响应和处理效率。研发人员本身也不足自助响应的教训和技术撑持。

从过往疫情防控的教训来看,将来企业平安的治理模式应该有一些转变。平安团队应该为研发人员提供自助式的平安工具(相似咱们明天吃的退烧药,用的抗原,本人在家就能检测和医治),同时呈现疑难杂症自助解决不了的平安问题,才应该分割安全部门的专家来寻求撑持。这样企业安全漏洞的处理的效率能力大大的晋升。而安全部门的专家们也不必天天把工夫都花在沟通工单的修复和处理上,能够节俭大量的工夫去钻研新的、简单的安全漏洞,晋升业余程度,以备将来呈现新的安全漏洞能够更好的帮忙开发者去迭代降级他们的工具和响应能力。

当然这件事最大的挑战就在于,如何研制出研发人员都能自助应用且无效的平安工具,让研发人员很低成本的就能去自助解决本人研发过程中发现的平安问题?这显然并不是一件简略的事件。

不过没关系,路对了,就不怕远。

实际上,我做过一些调研,给大家分享一组数据,咱们对 github 一段时间(大略是往年 8 月份到 9 月份之间的 40 天)的开发者自助修复安全漏洞的数据做了一个抽样调研,咱们调研了大略 97033 个开源我的项目 ,其中这些我的项目的贡献者中有 9.84% 的贡献者自助修复过安全漏洞 ,而其中 中文开发者的数量大略占比 12.7%。所以实际上,咱们能够认为,只有你有一个很好的平安工具提供给开发者,开发者本人也能够发现并修复好这些破绽。

咱们也做了一个开源平安社区 OSCS,在 OSCS 社区,有超过 500 个开源我的项目的作者都在自助的修复安全漏洞,而墨菲平安上线半年多以来,也有超过 1 万名的开发者通过咱们的工具平台自助的修复了超过 2 万多个破绽。不仅如此,还有 283 个开发者用户给咱们提了超过 350 个的问题反馈或者需要。这是一件十分了不起的事件,有越来越多的开发者被动参加到平安的工作中来了,这使得咱们整个团队都十分受鼓励。

(这里是 3.0 内测用户 ” 正义 ”,间断 2 天早晨 1 点多还在给咱们产品一直提着优化倡议)

Part 3:沉下心来做开发者们青睐的平安产品

正是受到越来越多的开发者们的鼓励,咱们公布了 3.0 新版产品,这也是过来一年咱们团队熬过了多少个通宵,一路上,咱们从去年 10 月份给小米、keep 试用的 1.0,小步快跑,来到了全新版本 3.0。3.0 的产品重点在应用便捷性、破绽知识库的业余度及团队合作方面都有十分大的晋升。这里我也分享一下咱们 3.0 对于一个好的平安产品的了解。

首先,上手老本要足够低: 面向研发工程师们的产品,上手学习老本肯定要足够低,最好是不须要看文档就会应用,一键接入,就能够开始检测,所以咱们做了体验还是不错的 IDE 插件,此外咱们通过治理后盾能够通过疏导式的疾速配置让开发者们十分低成本的对接 gitlab 做检测,当然,上传文件也是能够的哦。

而后,了解老本要低: 因为研发工程师们并不是业余的平安研究员,那么咱们应该尽可能要做到产品所有出现给开发者们的内容了解老本要足够低,这样他们就能疾速的认可产品所发明的价值,并且付出口头去修复这些被检测发现的破绽。当然你的检测成果足够好是一个最根本的要求,你要保障你的准确率是足够高的,误报率同时又是足够低的,这样能力最大水平的保障研发兄弟的每一次修复工作都更有价值。

最初,要反对一键修复: 这也是最初一公里,就是修复平安问题的老本要足够低,过来很多平安产品都只管扫描出一个报告,至于怎么修复,齐全不论,你本人去钻研吧。这是十分要不得的,好比去医院只管化验、诊断,然而又不给开药或者没有医治床位一样让人好受。所以最好提供破绽主动修复的工具,开发者们甚至都不必了解这个破绽,就能够自动化实现修复,那就太完满啦。

要达到这个程度,成为一个好的平安产品,必须有几个关键点:

1)业余、诚恳、不忽悠 平安是一个十分专的细分畛域,在一个企业外面懂平安的人很少,其实很多时候老板或者其余技术共事是不懂平安业余的,这样就会呈现很多人开始忽悠,比方成心制作误报,明明没有的破绽,或者自身工具检测不进去的破绽,胡编乱造,显得本人的破绽很多。他人不懂啊,所以感觉你检测后果多,那就是牛逼。这就很容易让做产品做工具的人偷懒,走“捷径”。不好好优化产品体验,就忽悠。所以做平安的人,要本人守住底线,哪怕身边他人都在靠忽悠,检测一堆误报以显示本人多牛逼,你也不能以恶治恶,给他来更多误报。你必须把产品做的更实在的同时,把检测成果晋升下来,技术的透明度会越来越高。长期以往,会更好的博得用户的认可。

2)离实在的用户更近,去理解用户应用场景和痛点。 你必须和真正应用你产品的用户走的更近,你必须理解他们日常是怎么应用你的产品的,他们的痛点在哪。产品的性能应该放弃克服,好的产品性能肯定是更少的,越少的性能解决更多的用户痛点,那就意味着你对用户的需要了解要更精确,笼罩的场景要足够全,而后再进行正当的形象设计。最偷懒的做法,就是去抄他人的性能甚至代码,往年 9 月份的时候,过后咱们也遭逢了同行抄咱们代码的事件,当然也有同行抄咱们产品性能,当然我是当笑话看的。

3)继续一直的获取用户反馈和细节的打磨, 好产品靠的不是一个好点子,或者灵光一现,好的想法诚然重要,然而最终拼的都是你可能从客户和用户那边获取多少无效的反馈,以及你能消化和了解多少。最终将这些体现在你的产品能力上,这些都是须要披星戴月的去认真打磨的,好的产品都是磨进去的。

我跟团队说,咱们沉下心来,花 3 年工夫,和社区的开发者们一起,打造一款寰球最好用最牛逼的平安产品,真正面向开发者们的好平安产品。一开始,我的一些新共事是取笑我的(大略他以前的公司素来没有人通知过他们咱们要做什么寰球最好的产品这样的话吧),起初他们发现咱们是认真的,便也就再也不笑了,转而埋头苦干。

向埋头苦干的共事们致敬:

(一组宝贵的照片)

Part 4:诚邀敌人们来体验咱们 3.0 产品

好了,说了这么多,其实,我认为开发者并不是不想解决安全漏洞,相同是冀望有更好的产品和工具来辅助他们疾速晋升代码平安品质。基于开发者这样的诉求,咱们正式公布了 3.0 的新产品,新版本会进一步优化产品体验,晋升开发者的应用效率,欢送开发者们、devops 工程师及平安工程师们来体验体验吧,拜访官网,应用手机号注册就能够收费应用啦 http://www.murphysec.com

最初,我在除夕后,会带来一场直播,我和咱们的产品经理们给大家讲讲咱们的 3.0 产品,也会给大家分享一些软件供应链平安治理的企业最佳实际。欢送大家搜寻视频号“墨菲平安”预约管看。

正文完
 0