信息安全从业人员^_^
一个未入门de情报学胖子(邮箱:tenghm1986@163.com)
Toggle navigation
信息安全从业人员^_^
主页
About Me
归档
标签
云安全实用指南--第5章 漏洞管理
2020-12-01 09:46:35
475
0
0
heming
- 漏洞管理(vulnerability management)与补丁管理(patch management)有许多重复之处。安装补丁的最重要原因是修复漏洞 - 漏洞管理与配置管理有许多重叠的部分,错误的配置导致漏洞的出现 # 5.1 与传统IT的区别 - 云上环境变化快,创建新的资产时通知漏洞管理工具,避免遗漏 - 传统的agent的方式不适用,占内存与CPU - 云计算/基础设施即代码/CI/CD和微服务架构的新世界中,我们**有机会降低安全事件发生的风险**(**云环境还居然有机会降低安全事件的发生**) - 云产品和基础设施即代码可以将环境定义为代码的一部分(新环境上部署,蓝绿发布) - CI/CD每次都可以将一个较小的改动部署到生产环境中。(出现问题容易排查,避免酿成大的风险) - 微服务架构可以解耦服务,因此一个微服务的改动不太可能另其他服务器产生副作用 - 微服务的水平扩展性比较好,可以部署到多个虚拟机和容器上来同时处理负载(灰度发布,影响部分实例) **云上的高可用性,安全更新更加主动** 传统的漏洞管理流程: - 1.发现(discover)可用的安全更新或配置变更 - 2.根据安全事件的风险等级,对需要应用的安全排列优先级(prioritize) - 3.在测试环境中验证(test)安全更新是否工作 - 4.安排(schedule)生产环境中的安全更新计划 - 5.将安全更新部署(deploy)到生产环境中 - 6.在生产环境中验证(verify) 云上漏洞管理流程(感觉为赋新词强说愁): - 1.自动拉取可用的安全更新 - 2.测试更新 - 3.部署新版本 - 4.发现并解决在测试和生产环境中没有被常规发布过程覆盖的任何额外漏洞,将他们作为bug添加到开发团队的待办列表中,下次部署时解决他们 # 5.2 漏洞区域(共享职责模型) <center> ![共享职责模型](https://leanote.com/api/file/getImage?fileId=5fbf09adab6441529e0005b3) </center> ## 5.2.1 数据访问 客户职责,数据访问层的漏洞绝大多数都是**访问管理问题**引起 ## 5.2.2 应用 - SAAS:云服务商职责,但作为客户一些安全配置需要注意,邮箱:安全/2FA/避免恶意扫描 - 非SAAS:代码bug/开源组件/框架等漏洞 ## 5.2.3 中间件 中间件或平台组件,攻击者可以利用相同的漏洞去攻击不同的应用,而完全不需要了解应用 ## 5.2.4 操作系统 操作系统补丁是漏洞管理的一个重要组成部分,但它并不是唯一(Patch Tuesday) ## 5.2.5 网络 - 网络组件本身 - 管理网络通信 ## 5.2.6 虚拟化的基础设施 - 保护虚拟化的基础设施(虚拟网络/虚拟机/存储)的安全是云服务商的职责 - 基于云提供商的虚拟化基础设施之上又做了一层虚拟化基础设施(容器),这一层安全责任属于自己 ## 5.2.7 物理基础设施 在大部分情况下,保护物理基础设施的安全是云提供商的职责 少数情况: 物理层的配置和漏洞管理是你的职责。如果你维护的一套私有云,或者你从云提供商那里购买的是**裸金属服务**,你就要承担物理基础设施管理 # 5.3 发现与解决漏洞 <center> ![资产管理流水线](https://leanote.com/api/file/getImage?fileId=5fc05b95ab6441141a00009a) </center> 两个思考点: - 发现的问题数量 - 这些问题对业务产生影响的程度 ## 5.3.1 网络漏洞扫描器 网络漏洞扫描器不会去查看软件组件,它们只是简单地发送网络请求,尝试找出对方在**监听什么**,然后检查服务器应用的**漏洞版本或存在的漏洞配置**。 网络团队和漏洞扫描团队争论:**是否要在防火墙上开一个洞,允许漏洞扫描器进入受限制的区域** 允许漏洞扫描器进入受限制区域,即使这会使边界网络的控制微受到削弱。 **假阳性告警**,知道某个版本的漏洞,但不知道已安装安全补丁,需过滤。 ## 5.3.2 无代理扫描器和配置管理 **网络漏洞扫描器检测**的是**房门和窗户**上的巨响,**无代理扫描器和配置管理系统**就会**进入房门四处检查漏洞** 无代理扫描器可以发现网络漏洞扫描器无法发现的漏洞,通过使用凭证进入系统。 无代理扫描器通常既执行缺失补丁检测,又执行安全配置管理: - 无代理扫描器通过运行包管理器(package manager)命令来确认已安装的软件是否是最新版本,并且是否已经包含了重要的安全修复 - 无代理扫描器可以检查安全配置是否正确,并且是否满足安全策略的要求 ## 5.3.3 有代理扫描器和配置管理 无代理模式是使用中心式的拉取(pull)模型,有代理agent,推送式 优缺点: - 凭证(无代理经常是特权品凭证) - 部署(代理需要部署,并且保持最新,可能成为攻击点) - 网络(入向网络访问权限,入向网络访问权限给环境带来风险,中继系统,然后创建一个出向连接) ## 5.3.4 云提供商安全管理工具 要么通过有代理或无代理方式收集配置和漏洞管理信息,要么从第三方拉取这些信息(一站式看板one-stop dashboard,集成云提供商的各种安全功能,包括资产管理/配置管理/漏洞管理) ## 5.3.5 容器扫描 有代理/无代理扫描适用于虚拟机环境,容器环境中经常无法有效工作 代理影响性能/无代理的不允许登录 目前解决方案: - 拉取容器镜像,扫描镜像内的漏洞 - 每个容器宿主机部署代理,通过代理扫描宿主机上所有容器 ## 5.3.6 动态应用扫描器(dynamic allplication scanner) 动态web应用漏洞扫描器是对运行的web应用或REST API的特定URL进行扫描 动态应用安全测试(DAST)可以通过模拟用户使用应用或API的行为来发现跨站脚本或SQL注入的漏洞,需要使用应用凭证 ## 5.3.7 静态应用扫描器 静态应用安全测试直接扫描你写的代码,发现内存泄露/off-by-one(堆漏洞,一个字节溢出) 静态应用扫描器最大问题:产生大量的假阳性,从而使开发者安全疲劳 ## 5.3.8 软件成分分析扫描器 软件成分分析(Software Composition Analysis,SCA),检测出你使用的开源组件及其版本,除了漏洞外,还检查开源软件的许可证 ## 5.3.9 交互式应用扫描器 静态/动态都执行,代码运行时监控代码的行为(功能测试/动态扫描/真实用户下的行为) ## 5.3.10 运行时应用自保护扫描器 运行时应用自保护(Runtime Application Self-Protection,RASP),检测漏洞/拦截攻击 ## 5.3.11 人工代码评审 成本高/费时,查找某些漏洞方面,效果好 ## 5.3.12 渗透测试 通过聘用其他人来执行,通过外部力量告诉你哪些地方存在漏洞 渗透测试显示的是在系统中真实的、成功的漏洞利用 ## 5.3.13 用户报告 缺陷赏金 ## 5.3.14 漏洞和配置管理的一些工具举例 云漏洞和配置管理领域比较有代表性的方案: - 检测与响应 - 访问管理 - 清单与资产管理 - 数据资产管理 工具列表: - Amazon Inspector(有代理扫描器) - Ansible(无代理自动化引擎,可执行包括配置管理在内的任何任务) - AWS Config(AWS 资源的详细配置) - AWS Systems Manager(SSM),一个安全管理工具,覆盖 - AWS Trusted Advisor - chef 一个有代理的自动化工具,可用来做配置管理 - Puppet 一个有代理的自动化工具,可用来做配置管理 - Qualys 网络漏洞扫描/动态web应用扫描以及其他类型 - Twistlock可以对容器镜像、运行中的容器、以及容器所在的宿主机执行配置和漏洞管理 - WhiteSource是一个SCA解决方案 # 5.4 风险管理过程 至此,了解环境中哪些区域最为脆弱,并且你可以利用哪些工具和流程来发现和修复漏洞 需要一个系统对无法快速解决的漏洞建立优先级("快速",安全策略的时间跨度) 一个简单地风险登记簿加上一个商定的严重性评定过程就已经很有用了 # 5.5 漏洞管理指标 ## 5.5.1 工具覆盖率 一个工具cover的程度,比如动态应用扫描器能测试web应用的百分之多少 ## 5.5.2 平均修复时间 考虑到威胁模型,你就能够判断修复这些漏洞所花的平均时间是否表示一个可接受的风险. 修复并不是仅仅安装补丁,也可以关闭一些功能 ## 5.5.3 存在未解决漏洞的系统/应用 百分比,not 绝对数量 ``` yum -y update ``` ## 5.5.4 假阳性百分比 衡量一个工具运行效果如何 ## 5.5.5 假阴性百分比 没检测出来,持续跟踪某些漏洞 ## 5.5.6 漏洞复发率 漏洞修复之后又再次出现 --- **tips:** 漏洞打分系统(CVSS common vulnerability scoring system),不能反映你的环境和公司的所有信息 --- # 5.6 变更管理 - 需要审批 - 大的变更必须通过审批 - 安全人员在CCB里 # 5.7 串联到示例应用中 漏洞管理过程: <center> ![漏洞管理过程](https://leanote.com/api/file/getImage?fileId=5fc59d42ab644126e700007b) </center> --- **tips:** DAST(Dynamic Application Security Testing):动态应用安全测试 SAST(Static Application Security Testing):静态应用安全测试 IAST(Interactive Application Security Tesing)交互式应用安全测试 RASP(Runtime Application Self-Protection):运行时应用自保护 ---
上一篇:
云安全实用指南--第6章 网络安全
下一篇:
云安全实用指南--第4章 身份与访问管理
0
赞
475 人读过
新浪微博
微信
腾讯微博
QQ空间
人人网
Please enable JavaScript to view the
comments powered by Disqus.
comments powered by
Disqus
文档导航