zoukankan      html  css  js  c++  java
  • 扫描器竞品分析框架(其他安全产品可以类比)

    扫描器竞品分析
    持续一个季度的扫描器竞品分析
    写了万字长文后,把报告的框架抽出来一下
    ​(写大型文档先用思维导图把框架和大纲整理出来吧)

    0X01 竞品分析描述
    竞品分析的维度、对象

    本次分析从产品概况、产品功能、产品检测能力三个维度对XX等N款漏洞扫描系统(服务)进行分析各自的优缺点

    0X02 竞品分析目的
    本次竞品分析的目的

    了解业内主流扫描器的产品功能以及检测能力,判断我方扫描器目前的能力以及未来可优化方向

    0X03 产品概况
    每款产品的概况,维度为产品定位、用户群体、产品规模及运营状况等
    使用表格的形式展示

    0X04 产品功能分析
    个人把各个扫描器的功能都梳理了一遍,功能都脱离不开一下九个模块,其他如IDS等也大同小异
    1 用户管理

    平台用户管理的功能模块

    1.1 基础功能

    基础功能的定义是超过两个或两个以上的产品共有的功能,如注册、登录。将所有产品的功能列出来后,以表格的形式呈现。
    划分二级功能,划分的时候看看这些划分如果放在导航栏是否合理。按功能划分二级功能模块,而不是用心去感受。

    1.2 特有功能/特有实现方式

    其他产品的功能我们需要关注的点主要在于特别的功能(也就是只有某一款产品实现了)以及特别的实现方式(对于同一个功能或同一个目的,某个产品的实现方式比较特别)。
    同样是控制QPS的功能,有的扫描器是同一域名设置了50,有的是根据服务器的响应时间来控制,而甲方的是结合了甲方内部的资源控制。同样的功能,不一样的实现方式有不一样的效果。个人认为,有亮点的实现方式也要挑出来讲。

    在捞功能和实现方式的时候,不仅仅关注只是前端交互层看到的功能,也要有深入交互层下的功能。
    比如,从一个产品的功能上,大致地去猜测引擎的实现方式。比如awvs记录了有漏洞的请求包和响应包,这里说明了awvs可能也有一个统一的发包收包功能。而某扫描器复测时的时间能比正常扫描的时间快,说明复测时发包量少,扫描任务的最小单位可能是请求,这个是涉及到引擎底层架构的功能和需求(低代码化)。

    1.2.1 扫描器A
    1.2.1.1 【实现方式】第一个特殊实现方式xx
    1.2.1.2 【实现方式】第二个特殊实现方式xx
    1.2.1.3 【功能】第一个特殊功能xx
    1.2.2 扫描器B
    1.2.3 扫描器C
    1.3 我方产品优化方向

    针对特有的功能和特有的实现方式,我方产品要做什么,包括功能模块、扫描器产品、功能差距、结论(判断要不要做、如果要做的话应该怎么做,如果不做的话又是为什么)几个列。

    以上的基础功能、特有功能/特有时间方式、我方产品优化方向,每个模块都有

    2 系统管理

    系统设置这一方面

    3 数据来源

    通常是扫描器的任务中的"扫描目标"

    4 资产管理

    扫描器扫描完毕后对所有发现的资产的整合和展示

    5 扫描规则

    扫描器的扫描规则

    6 任务管理与扫描设置

    扫描器的任务管理,以及扫描过程的设置

    7 漏洞与报告管理

    扫描器的漏洞和报告,类比其他产品的结果和处置方式

    8 日志管理

    包括运行日志、报错日志、用户操作日志等

    9 其他

    严格意义上来说可以不属于扫描器的,如基线检测,对甲方扫描器来说,更适合作为HIDS的功能;如开源组件安全扫描,由SCA作扫描。

    0X05 产品检测能力

    产品的效果判断,扫描器主要分成了通用的web漏洞检测能力,如sql注入/xss等;以及基于ip/端口的主机流量扫描的框架/组件漏洞检测能力。

    1 通用漏洞检测
    1.1 各扫描器结果
    1.1.1 扫描器A
    1.1.2 扫描器B
    1.1.3 扫描器C
    1.2 扫描结果汇总
    每个场景各个扫描器是否正确的表格

    需要漏洞靶场
    靶场理论上作为裁判员,应该独立于我方的扫描器。
    靶场首先需要挑选漏洞类型,挑选的原则应该是各扫描器能检测的漏洞类型的总和。
    接下来是每个漏洞类型的场景。
    我们对每个场景做了抽象,基本上每个场景都可以用四个流程来构成,输入位置、过滤方式、执行方式、输出方式。
    比如,sql注入的输入位置有 get参数、post参数、json形式的post参数、文件名、路径、cookie、其他header等;过滤方式有 过滤单引号、过滤双引号、过滤括号等;执行方式再划分维度,有执行的位置(select后/where/order by/limit)、执行的操作(insert/update/select/delete)、函数等,执行的方式应该根据漏洞形成原理,划分再一级的维度,再进行执行方式的补充;输出方式包括有无回显、输出在html中的位置等。
    每一种漏洞类型将维度做乘,就可以得到相对全面的场景。
    靶场开发时,再添加自动生成路径、发送流量、定时巡检、访问白名单的功能,基本上就简单的实现了。

    2 主机漏洞检测
    2.1 各扫描器结果总结
    2.2 主机漏洞结果表格

    主机漏洞主要是挑选各个扫描器能扫描的主机类型,再根据自己公司有的资产,过一遍筛选。比如一些公司内部可能没有wordpress/骑士/帝国这些php cms。制作主机漏洞靶机的时候,将这些漏洞环境都搭建起来,就很浪费时间。本质上,己方公司没有的资产,是没必要做漏洞场景的,对比其他扫描器与己方扫描器的效果,也是为了对比在自己公司的环境下的检测效果。
    漏洞环境可以用vulhub起,注意添加iptables白名单,防止靶场的漏洞被其他部门找到并提交抄送领导。

    0X06 总结
    1 各扫描器总结

    经过了一番功能和效果的分析,我们对几款产品也有了较为深入的了解。
    不同产品的功能有所侧重点,检测效果上也有分好坏。
    是时候来个总结了

    2 优化方向汇总
    2.1 功能

    在第四点九个模块的分析中,我们已经对每个模块挑选出来的特有功能/特有实现方式作了结论,在总结这里,将可以优化的功能汇总一下,最好顺便把排期做了,确定什么时候完善这些功能。

    2.2 规则

    在第五点中,我们得出了很多目前我方扫描器规则还没有覆盖的场景,这里汇总一下,作优化的人员安排以及排期。

  • 相关阅读:
    SSH免密码登录
    Qt编译错误GL/gl.h: No such file or directory
    UVA 11645
    《逆袭大学》文摘——9.4 基础和应用的平衡中找到大学的节奏
    EBS採购模块中的高速接收和高速接收事务
    笔记-Android中打开各种格式的文件(apk、word、excel、ppt、pdf、音视频、图片等)
    git 冲突解决的方法
    SICP 习题 (1.43)解题总结
    Swift百万线程攻破单例(Singleton)模式
    setjmp/longjmp
  • 原文地址:https://www.cnblogs.com/huim/p/15394756.html
Copyright © 2011-2022 走看看