4

业务颗粒化思考 | WooYun知识库

 6 years ago
source link:
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

业务颗粒化思考

0x01 需求背景


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

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

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

0x02 流程、分级


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

具体流程如下:

enter image description here

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

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

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

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

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

0x03 实践、结果


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

enter image description here

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

enter image description here

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

enter image description here

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

enter image description here

0x04 最后


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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK