0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

干货:基于指纹识别的漏洞扫描设计方案

如意 来源:FreeBuf 作者:滴滴安全蓝军 2020-07-07 11:46 次阅读

扫描器设计

漏洞扫描器大家都不陌生,几乎是每家公司必备的安全产品。几乎早在快10年前,作为安全乙方,就需要扛着一台极光扫描器,到全国各地去做各种安服。在当时极光扫描器就是一款非常成熟的商业产品了,那么到现在为什么没有出现一款能够通杀的产品,大家还都要一直重复的造轮子呢。我想问题出在两个方面,一是扫描场景复杂,没有一款扫描器能否覆盖所有的场景,而是各有侧重。二是扫描器自身的保密需求,把防御能力完全暴露在外不是一个好主意,最多做到开源扫描框架,poc是万万不能全部开源的。

滴滴建设扫描器也已经好多年,并且去年作为滴滴云安全解决方案,实现了首次商业化输出。如何做扫描器,我比较推崇实用主义的理念,比较看重有利用价值的漏洞,有的扫描器扫完一看,一堆高危全是ssh版本漏洞,报告是好看,但实际利用价值不大(当然,版本漏洞也是有其价值的,我们也有购买商业扫描器,主要用于迎接各种合规检查,自家扫描器人家可能不认)。受限于场景,滴滴自研的扫描器PoC数量至今也才不到500个。商业化扫描器则不同,没有几千个poc都不好意思说自己是做扫描器的。有时候大而全并不一定好,我在某云光一台vm,就给我推了80多个漏洞,客户要么无法处理,要么形成漏洞免疫,反而容易漏过真正的风险。

自研扫描器架构如下图:

干货:基于指纹识别的漏洞扫描设计方案

1、 采用C-S架构,服务端分为3部分,WEB界面、交互API、调度控制等。数据存储采用mysql,队列服务redis 。

2、WEB界面主要负责与人的交互,包括资产管理、任务管理、Agent管理、插件管理、漏洞管理等模块。

3、交互API 主要负责与Agent的交互,Agent主动拉取任务并推送扫描结果。 生产网、办公网、测试网等公司内部属于不同的安全域,是有网络隔离的,但只要Agent与服务端WEB端口做到单向通信,就能解决一个服务端打通多个扫描安全域的问题。

4、控制调度模块负责 任务调度、维护redis队列、轮询更新任务状态。

5、客户端主要分为指纹识别、spider、WEB扫描、主机扫描四部分。Agent 架构很方便做到横向扩容。

6、web扫描分为两类,一种是基于spider的扫描,Web扫描依赖于spider 爬取的结果,瓶颈在spider,注定效果有限。第二是基于url的扫描。大公司可建设URL库,汇聚来自访问日志,流量镜像、测试人员agent 三者所采集到的url。

7、主机扫描是基于指纹的扫描,扫描效果就要看插件的质量和数量了。所有基于特征性的扫描都可以放到这里,例如对于discus扫描插件,虽然属于web服务,但应该放到主机扫描这里,因为它的明确的指纹特征,而WEB扫描主要基于URL,大多是针对参数的。

指纹识别的实现

今天先谈谈指纹识别吧,最简单的指纹识别方法就是Nmap,它的服务指纹真的很强大,但不适用于大规模的扫描任务,你会发现扫描1-65535个端口实在太慢了。于是拆分成两部分的任务,端口扫描和服务识别,nmap加 -sV选项只负责识别开放端口是什么具体服务。

干货:基于指纹识别的漏洞扫描设计方案

端口扫描首选要确认是否探活以及扫描范围,例如内网等不大会禁icmp的场景,建议进行ping探活,对于有资产完备且安全性要求较高的场景如外网边界建议不探活直接进行1-65535全端口扫描。

其实最纠结的是扫描方法的选择,我们尝试过nmap、masscanpython、go开发tcp扫描、tcp-syn扫描等,最后的结论是go语言实现的扫描效率最佳。过程就不多说了, 有兴趣的朋友可以参考小伙伴的博客(https://thief.one/2018/05/17/1/)

再说服务识别,世间服务千万种,但大致可以分为web服务和其他服务。非web服务识别主要依赖于nmap,对于少量未识别的,也支持自定义扩展指纹。而对于WEB指纹,主要依赖于自建指纹库,web服务非常规范,http header、title、body、robots.txt等都可以很方便的自定义指纹规则。自建指纹是个逐步积累的过程,在未完善之前,可以依赖于开源的服务如whatsweb,cms规则非常丰富,完善后再逐步淘汰。

指纹识别的功能

1、指纹联动扫描插件

标题为基于指纹识别的漏洞扫描,主要是说扫描条件是由指纹决定的。扫描插件只对匹配到指纹条件的目标进行扫描,编写扫描插件时就要同步check下指纹规则,两者联动更新,这样就可以做到精准扫描。扫描poc未能很好的匹配指纹规则,这样就会存在一定的gap, 有时候使用简单的默认端口会造成漏扫,有时候又扩大了扫描范围,例如一个wordpress漏洞插件需要对所有http服务进行扫描。有了精准指纹识别,则可以发起针对性扫描。

干货:基于指纹识别的漏洞扫描设计方案

2、指纹识别漏洞

指纹即漏洞:部分漏洞不需要经过漏洞扫描,直接在指纹识别阶段就筛选出来了。对于公司外网扫描,有安全规范的公司一般会要求禁止高危端口开放外网,禁止使用高危框架,后台要有双因素等。这些都可以通过指纹识别来探测到。另外常规的主页信息泄露漏洞也可以探测到,如列目录,报错,敏感信息泄露等。

指纹无漏洞: 即指纹白名单的概念,以外网为例,我们已知SSO是安全的,那么一旦指纹探测到后台接入了SSO,就可以打个标签。其他白名单也类似,我们若是已知某个服务是安全的,就不用去反复扫描了。

3、0day应急响应

有了完备的指纹库,当发生0day漏洞的时候,就能够迅速排查到可能受影响的资产,进而进行快速响应。 当然公司可以有两个指纹库,扫描器探测属于黑盒指纹库,还有主机agent采集上来的“白盒”指纹库。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 指纹识别
    +关注

    关注

    43

    文章

    1715

    浏览量

    101704
  • 漏洞
    +关注

    关注

    0

    文章

    192

    浏览量

    15111
  • 扫描器
    +关注

    关注

    0

    文章

    130

    浏览量

    11750
收藏 人收藏

    评论

    相关推荐

    指纹挂锁方案——采用ACH512或ACM32FP4指纹芯片和88*112传感器,指纹识别速度快,BOM成本低

    方案概述指纹挂锁方案采用ACH512或ACM32FP4指纹芯片和88*112传感器,指纹识别速度快,BOM成本低,非常适合挂锁、内门锁、箱包
    发表于 03-12 11:46

    超声波指纹识别技术原理 超声波指纹识别和短焦区别

    超声波指纹识别技术是一种利用声波在物体表面的反射和散射特性来识别指纹的方法。与传统的光学指纹识别技术相比,超声波指纹识别技术具有独特的优势,
    的头像 发表于 02-03 14:06 1861次阅读

    C语言指纹识别源码分享

    电子发烧友网站提供《C语言指纹识别源码分享.rar》资料免费下载
    发表于 11-18 14:50 0次下载
    C语言<b class='flag-5'>指纹识别</b>源码分享

    使用stm32f103c8t6怎么做指纹识别

    使用stm32f103c8t6怎么做指纹识别
    发表于 11-10 08:21

    基于机器学习的应用系统指纹识别技术研究

    摘要: 在信息安全测试领域,基于机器学习的应用系统深度指纹识别技术对应用系统进行漏洞检测时,可快速获取应用系统指纹信息,并且能够根据系统深度指纹信息进行精确的自适应
    的头像 发表于 11-03 11:50 575次阅读
    基于机器学习的应用系统<b class='flag-5'>指纹识别</b>技术研究

    基于linux系统的指纹识别

    电子发烧友网站提供《基于linux系统的指纹识别.doc》资料免费下载
    发表于 10-30 11:01 0次下载
    基于linux系统的<b class='flag-5'>指纹识别</b>

    屏下指纹识别技术工作原理 屏下指纹识别技术的难题是什么

    光学式指纹识别是在屏幕下方设置光学传感器,通过发出近红外光来识别用户的指纹纹路。而超声波式指纹识别就是在屏幕下方设置超声波传感器,通过超声波完成指纹
    发表于 10-13 12:28 857次阅读
    屏下<b class='flag-5'>指纹识别</b>技术工作原理 屏下<b class='flag-5'>指纹识别</b>技术的难题是什么

    基于dsp的指纹识别模块设计与实现

    电子发烧友网站提供《基于dsp的指纹识别模块设计与实现.pdf》资料免费下载
    发表于 10-12 09:26 2次下载
    基于dsp的<b class='flag-5'>指纹识别</b>模块设计与实现

    人脸识别指纹识别哪个安全?

    进行探讨,以期为大家解决这个问题。 一、技术原理 人脸识别指纹识别的原理有所不同。人脸识别是通过比对人脸特征来确定身份的。在识别时,会采集人脸图像,并提取其特征点,例如眼睛、鼻子、嘴
    的头像 发表于 08-09 18:26 1683次阅读

    人脸识别指纹识别哪个安全?人脸识别指纹识别的利弊及风险

      人脸识别是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别的一系列相关技
    发表于 08-03 16:55 2304次阅读

    一款​跨平台指纹识别工具原理解析

    一款跨平台社区网页指纹识别工具,类似glass、eholo,不同的是该工具调用 nuclei ,可以同时进行漏洞验证。
    发表于 07-28 15:56 1088次阅读
    一款​跨平台<b class='flag-5'>指纹识别</b>工具原理解析

    AS608指纹识别模块简介

    AS608 指纹识别模块主要是指采用了杭州晟元芯片技术有限公司(Synochip)的 AS608 指纹识别芯片 而做成的指纹模块,模块厂商只是基于该芯片设计外围电路,集成一个可供2次开发的指纹
    的头像 发表于 06-21 15:08 1693次阅读
    AS608<b class='flag-5'>指纹识别</b>模块简介

    指纹识别环粘接固定低温固化环氧胶水用胶方案

    指纹识别环粘接固定低温固化环氧胶水用胶方案由汉思新材料提供客户是一家电子产品生产工厂。专业研发、产销、设计电子产品,发光二极管背光源,家用电器,节能环保产品,指纹识别传感器,其中指纹识别
    的头像 发表于 06-19 17:21 435次阅读
    <b class='flag-5'>指纹识别</b>环粘接固定低温固化环氧胶水用胶<b class='flag-5'>方案</b>

    掌纹怎么是被识别的?掌纹识别指纹识别有什么不同?

    从技术原理来看,掌纹识别的核心逻辑和人脸识别以及指纹识别一样,都是利用人体某方面的唯一性。人的面容无论看起来多么相似,但总会在结构上有细微差别。掌纹也是一样,人的掌纹是由万千纹线随机排列组合而成,这构成了掌纹的独特性与唯一性。
    发表于 06-03 14:17 1103次阅读
    掌纹怎么是被<b class='flag-5'>识别的</b>?掌纹<b class='flag-5'>识别</b>与<b class='flag-5'>指纹识别</b>有什么不同?

    学习了这期视频被媳妇揍,可别回来找我!arduino:指纹识别

    指纹识别
    YS YYDS
    发布于 :2023年05月19日 17:07:39