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

    文章

    1741

    浏览量

    102165
  • 漏洞
    +关注

    关注

    0

    文章

    204

    浏览量

    15358
  • 扫描器
    +关注

    关注

    0

    文章

    156

    浏览量

    11896
收藏 人收藏

    评论

    相关推荐

    国产人工智能教学实验箱操作案例分享:5-27 指纹识别实验

    一、实验目的 熟悉Qt程序的开发流程。 掌握Qt Creator的基础开发使用。 通过编写Qt程序实现指纹识别的显示界面。 二、实验原理 Qt工程的创建步骤包括: (1)创建Qt工程; (2)GUI
    发表于 10-15 16:43

    漏洞扫描一般采用的技术是什么

    漏洞扫描是一种安全实践,用于识别计算机系统、网络或应用程序中的安全漏洞。以下是一些常见的漏洞扫描
    的头像 发表于 09-25 10:27 297次阅读

    漏洞扫描的主要功能是什么

    漏洞扫描是一种网络安全技术,用于识别计算机系统、网络或应用程序中的安全漏洞。这些漏洞可能被恶意用户利用来获取未授权访问、数据泄露或其他形式的
    的头像 发表于 09-25 10:25 313次阅读

    CW32模块使用 指纹识别传感器

    光学指纹识别传感器采用了国内著名指纹识别芯片公司杭州晟元芯片技术有限公司(Synochip) 的 AS608 指纹识别芯片。芯片内置 DSP 运算单元,集成了指纹识别算法,能高效快速采
    的头像 发表于 09-18 15:15 345次阅读
    CW32模块使用 <b class='flag-5'>指纹识别</b>传感器

    基于FPGA的指纹识别系统设计

    随着人们对安全问题的日益重视,指纹识别作为一种高效、可靠的生物识别技术,在多个领域得到了广泛应用。本文设计并实现了一种基于FPGA的嵌入式指纹识别系统,该系统利用FPGA的高集成度、低功耗和快速处理
    的头像 发表于 07-17 16:33 1263次阅读

    【开源获奖案例】基于T5L智能屏的指纹识别解决方案

    ——来自迪文开发者论坛本期为大家推送迪文开发者论坛获奖开源案例——基于T5L智能屏的指纹识别解决方案。该方案通过智能屏串口进行Modbus通讯,实现对指纹识别模块的精准控制,并集成了
    的头像 发表于 07-06 08:13 250次阅读
    【开源获奖案例】基于T5L智能屏的<b class='flag-5'>指纹识别</b>解决<b class='flag-5'>方案</b>

    兆易创新推出全新PC指纹识别解决方案

    兆易创新GigaDevice近日宣布,正式推出两款全新的PC指纹识别解决方案:GSL6186 MoC(Match-on-Chip)和GSL6150H0 MoH(Match-on-Host)。这两款方案均基于先进的生物
    的头像 发表于 05-23 10:59 761次阅读

    合泰单片机推出一款电容式指纹识别模块应用方案

    Holtek指纹识别方案,使用电容式指纹识别传感器,搭载HT32F12364作为主控MCU,HT32F12364配置256KB的Flash内存可以储存上百枚指纹
    的头像 发表于 05-06 10:49 645次阅读
    合泰单片机推出一款电容式<b class='flag-5'>指纹识别</b>模块应用<b class='flag-5'>方案</b>

    认证测试通过|绿展致力提供稳定可靠的指纹识别模组方案

    认证测试通过|绿展致力提供稳定可靠的指纹识别模组方案
    的头像 发表于 04-26 11:12 1141次阅读
    认证测试通过|绿展致力提供稳定可靠的<b class='flag-5'>指纹识别</b>模组<b class='flag-5'>方案</b>

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

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

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

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

    R307S 指纹识别模块用户手册

    R307S 指纹识别模块
    发表于 01-22 14:05 1次下载

    R306指纹识别模块用户手册V1

    R306指纹识别模块
    发表于 01-22 14:03 0次下载