业务颗粒化思考

0x01 需求背景


公司发展比较迅速,安全团队增长的速度永远跟不上业务增长的速度,同时给予安全人员的压力越来越大,每个系统的优先级别都一样的前提下,无法想象我们的工作量。同时对于我们来说,工作无法量化思考,领导也无法了解我们到底做了什么。

我初步列了下这种情况给我们带来什么:

1. 工作时间无法量化上峰随时有可能告诉你渗透一个网站只需要1个小时。(WTF
2. 对业务的不了解往往解决安全问题时很费脑子面对复杂的业务逻辑需要一步步分析。(开什么玩笑大家都这么忙
3. 老被研发喷你懂不懂业务这个就是这么干的!(我要懂还问你么..
4. 优先级不突出不明确分级的需求。(妈蛋大半夜一个被放弃的业务居然要我凌晨起来看看...

0x02 流程、分级


根据目前的情况,我们需要深耕业务,并且把业务进行颗粒化。这个过程枯燥、乏味,但是对于了解业务、提高作业效率有直线的提升。

具体流程如下:

以上是我们需要做的事情,简单阐述,但是并不能把所有的东西都叙述出来,例如,如何分级?如何把优先级别凸显出来?具体级别划分说明如下:

一级:非常重要、不可以发生意外,跟钱相关,而且用的人非常多。

二级:仅次于一级,跟钱关系不是特别大,但是用的人很多,包括BOSS也会去看的应用。

三级:发生意外也可以忽略,但是最好能够保证没有问题,降低负面影响。

在这个过程里面是不是只要划分了等级就可以按照这个管了?或者说,假设在一个小企业,可能安全投入不高的前提下(可以理解为不太重视),我们还能根据业务功能进行分级。将业务里面的每个功能细节都划出来,进行分析。(通常这个都是研发给的interface文档,这个需要自己推动,BTW,看你人缘了。)

0x03 实践、结果


根据自己所思考并且实践后,通过xmind 画出的图应该如下图一样复杂。

在这个过程里面,你应该非常深入的了解业务的每个环节,同时知道每个业务有可能存在的风险,并且一一列举出来。当然,你检测每个功能点所耗的时长,应该是一张非常细致的列表。诸如以下这样的方式,给你的上峰。

当然,那么小伙伴就会问,这个业务功能颗粒列表具体长什么样子?具体如下:

这个是我做了不久的业务,一个内部的业务系统,总共100多个功能模块,并且全部拆解分析,在这个过程当中,我发现了很多以往被我忽略的漏洞(见鬼)。在这个过程里面,分析业务的同时,把漏洞全部深耕出来。诸如以下这样…(诸位抱歉,我不能把公司的安全检测报告全部展现出来..)

0x04 最后


看完了整个列表和xmind的图后,领导也有些惊讶,原来我们的业务这么复杂,同时工作量居然这么大,从那以后领导再也没有质疑我到底在干嘛,同时表示谅解。在这个过程里面枯燥、乏味,基本上有好多次都准备放弃了。但是得到的好处是,在白帽子爆出一个漏洞时,我可以快速定位到这个漏洞所在的模块,并且迅速的了解到这个模块所存在的问题,然后让研发快速修复这个问题。同时再也不担心研发说我们不懂业务了…<sub>~</sub>~

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。查看原文

为您推荐