# 乌云归档：业务颗粒化思考

Author: 乌云历史资料库 (@wooyun_archive)
Published: 2015-02-17T03:18:00Z
Canonical: https://wepostx.com/topics/716

> 乌云历史资料归档
>
> **原始作者：** smarttang
> **原始编号：** superkieran-wooyundrops:474
> **原始发布时间：** 2015-02-17 11:18
> **声明：内容仅用于技术研究和个人使用，版权归 wooyun.org。**

---

# 0x01 需求背景

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

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

# 0x02 流程、分级

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

![原文图片](/media/2016/06/d1df756aa493f2f6c2edb8395967eb46)

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

```text
一级：非常重要、不可以发生意外，跟钱相关，而且用的人非常多。 二级：仅次于一级，跟钱关系不是特别大，但是用的人很多，包括BOSS也会去看的应用。 三级：发生意外也可以忽略，但是最好能够保证没有问题，降低负面影响。
```
在这个过程里面是不是只要划分了等级就可以按照这个管了？或者说，假设在一个小企业，可能安全投入不高的前提下（可以理解为不太重视），我们还能根据业务功能进行分级。将业务里面的每个功能细节都划出来，进行分析。（通常这个都是研发给的interface文档，这个需要自己推动，BTW，看你人缘了。）

# 0x03 实践、结果

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

![原文图片](/media/2016/06/fa82ba2e5818a96f6da3aa72323eae53)

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

![原文图片](/media/2016/06/cd254221c0f569a6813a8413a91643c5)

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

![原文图片](/media/2016/06/c576e1acfc4dea63df5e81d116fbffba)

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

![原文图片](/media/2016/06/fa64c3e5a012bb64c84aa870aacabdcd)

# 0x04 最后

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

## Replies
