业务颗粒化思考

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

©乌云知识库版权所有 未经许可 禁止转载


30
milan 2015-09-30 16:37:46

搂住,模板,求 [email protected]

30
封停 2015-05-07 22:46:14

楼主你写得太好了,[email protected],来一发

30
smarttang 2015-03-04 14:48:03

我回头再发一篇更加详细的把。。。汗,或者你直接加我QQ跟我说都行。。QQ:505575655

30
missfortune 2015-03-02 21:04:55

楼主能麻烦你发一份报告么
我还是安全业务的新手,希望能向楼主多多学习..
[email protected]
感激不尽!

30
Lost_LOF 2015-03-02 15:31:21

[email protected] 求发一份学习学习,了解下 具体要做什么 怎么做。

30
smarttang 2015-02-28 15:21:50

加了

30
smarttang 2015-02-28 15:20:11

嗯。。因为领导要求必须要对业务熟悉,所以就做了这个颗粒化的事情。不过没有你想的那么复杂,只要真的把流程走完下来,对业务怎么着都有个深入的了解。

30
Teufel 2015-02-28 14:58:36

[email protected],同求O(∩_∩)O哈哈~楼主好人

30
Teufel 2015-02-28 14:57:02

做这个必须对业务流程相当了解吧,业务流的走向必须清楚楼主不简单啊

30
smarttang 2015-02-28 14:08:29

额。。客气了

30
smarttang 2015-02-28 14:08:14

这个你自己看自己保护的业务就有了啊。。。我发你的估计就是我自己分析我们这边业务的啊!大哥。。你说有啥不理解一起交流学习倒是可以。。

30
smarttang 2015-02-28 14:07:22

如果不是特别复杂的应用需要2-3天,如果逻辑非常复杂,模块特别多,需要10~15天。因为你需要整理、规划、还有分析、测试,整套流程做完是一件很需要毅力的事情。我做的时候,基本上有数次想放弃的冲动。。。最高峰做到1000多个模块。

30
我是壮丁 2015-02-27 17:14:23

真是辛苦楼主了

30
左手 2015-02-27 15:23:15

求发一份作为分析,[email protected]

30
D&G 2015-02-27 14:56:21

这样搞下来,一个应用/业务 要搞多久?

30
smarttang 2015-02-25 23:47:22

这个我知道的。但是有一点就是如果按照测试给的和你自己挖掘的结果是不一样的,很明显里面包含很多死角,用自己的角度去看业务,甚至了解每个细节会比测试给你的结果更加完整。我看过功能测试的一些文档,我觉得是有点虚的。(我不知道是不是所有都是那样)写这个东西只是启发,做安全的时候可以把所有东西都量化出来,同时可以梳理业务。业务才是核心,我是这么想得。

30
smarttang 2015-02-25 23:44:03

这个是提供一个思路。。说白了就是想办法让你的leader了解你在干什么,解决上面所说得一些问题。真实的技术含量不多..

30
为了说话 2015-02-25 17:30:46

LZ了解过功能测试的功能点和业务流程梳理吗,其实都差不多的。。。。

30
codefamily 2015-02-25 12:39:43

没看懂是什么,这个网站公布漏洞前 是不是都修复好的?

30
smarttang 2015-02-21 21:19:07

略小。。Sorry。。这文章只是给大家列举下思路...还有工作的感悟。。。

30
smarttang 2015-02-21 21:18:16

主要看你的业务,你可以直接把公司的业务按照这个思路一个个去分析,细化出来就好。。

30
smarttang 2015-02-21 21:16:24

可以这么理解。。。只是列举下。。。

30
健宇 2015-02-18 17:12:08

很不错的思路,过年了,分享思路图学习一下,[email protected]

30
黄口小儿 2015-02-17 18:20:27

一个盲注。七个跨站?

30
malayke 2015-02-17 13:16:34

思维图好小呀

感谢知乎授权页面模版