论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
软件与程序人生
›
云原生
›
从云AK泄露利用看企业特权管理
从云AK泄露利用看企业特权管理
乌市泽哥
金牌会员
|
2022-9-17 08:42:46
|
显示全部楼层
|
阅读模式
楼主
主题
982
|
帖子
982
|
积分
2946
从云AK泄露利用看企业特权管理
目录
-
缘起
-
当前主流AK泄露检测方式
-
防止AK滥用的关键要素?
-
哪些算特权账号管理?
-
如何做特权账号管理?
-
特权管理与堡垒机、IAM、零信任的关系?
-
特权管理是否应该侵入到业务流程中?
如果你是一名黑客,你是试图直接攻击一个层层加固、布满各种检测技术、24小时人员职守的系统并窃取数据。还是选择通过社会工程学的方式获取系统账号后,如入无人之境地查看、下载数据。
大多数情况从外部发起攻击都需要经历建立据点、搜寻目标、获取权限、拿到数据的几个阶段。对于一个基础安全牢固且运营良好的系统而言,直接攻击将耗费大量的时间和精力,而通过社工等方式获取系统特权账号则成了一条捷径。
缘起
云环境相比传统环境,新增的一大风险即用户Access key的泄露风险。AK是应用程序调用云平台API时使用的认证凭据。一个用户的AK泄露往往代表用户在云平台最高权限的泄露,云环境中所有计算、存储资源对入侵者门洞大开。非法利用者甚至不需要为此单独开发工具,直接使用现成的产品就能直接获取用户在云内的所有资源列表。
将AK导入商用的产品后可轻松获取用户云上资源
入侵者实际能做的还远不止这些。包括轻易查看当前用户所有的数据资产,在主机资产上执行任意命令,修改存储访问权限,数据库账号创建、提权,增加高权限用户,删除日志等等,可谓是无所不能。所以不能简单地将云平台的AK当作单个系统的顶级权限,而是
云上所有资源的顶级权限
。这也注定了用户在云上的AK将成为攻击者的重点目标。
AK
功能强大,基本上管理员账号能做的AK都能做
当前主流AK泄露检测方式
从Gartner预言至少90%的云安全事故是因为用户的错误配置导致,到CSPM成为热门。AK泄露的检测其实并不是一个全新的领域。但是现有对于云平台AK泄露的手段主要还集中在检测代码泄露这一个途径上。
将仓库克隆到本地后就可以通过正则表达式来搜索,当时实际的扫描会更复杂一点,github承载的代码已经非常庞大了。
这种检测方式主要思想为:每次用户commit代码,添加新的文件或修改现有的文件时,密钥泄漏检测模块就会被启动。扫描被硬编码到代码中的Access Key和Access Secret字符串,将疑似AK的字符串发送给对应合作伙伴处进行确认,一旦合作伙伴匹配上真实的AK,即认为发生了AK明文泄露。随后对AK的拥有者发送邮件告警。
按照这位老哥在
这里
的测试,他故意提交包含AWS明文AK的代码到github平台测试恶意攻击者利用的时间。从提交代码到收到AWS 平台发出的AK泄露告警邮件,中间时间间隔不到1分钟。
而需要注意的是代码提交6分钟后,故意泄露的AK已经被3个攻击者利用,而且产生了查询S3存储桶的日志记录。
之所以有6分钟的延迟,还是因为github平台 commit 的事件订阅流有5分钟延迟。也就是说扣掉这5分钟延迟,攻击者和git平台几乎同时发现用户泄露的明文AK(扣除发邮件的时间,可能github平台稍快一点?不过重点还是在于攻击手段之普遍)。
这种通过扫描程序员代码中硬编码AK的检测技术,有点类似于密码撞库,其优点在于:
1、能在AK泄露的第一时间尽早发现,运气好的话AK此时还未被真正利用,给AK拥有者留了一定的反应时间。但是鉴于恶意使用者的扫描速度,以及从收到通知到完全禁用AK中间的操作时间,这个时间还是不容乐观,最好能通过SOAR工具进行自动化响应。
2、可检测的AK种类不局限于单个平台。目前国内的阿里云、腾讯云、京东云的AK都在github官方支持的范围内。https://docs.github.com/en/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-partner-patterns
但是,这种方案的问题也很明显:
对于非git平台上传的代码无法检测。代码管理平台那么多,不是每个都集成了AK明文检查。而且git平台的合作伙伴数量也很有限,并没有覆盖企业用户的核心供应商,这是非常致命的问题。而且在越来越多的企业信息管理趋严,禁止员工将代码上传公共平台的情况下,这个方案的效果将比较有限。
内部人员被网络钓鱼、社会工程后泄露的AK无法及时发现。极有可能发一个免费领云平台代金券的钓鱼邮件就能收获到一堆的AK,参照某学校发邮件领月饼的测试。
这种检测方式无法检测通过第三方系统暴露的AK,云平台AK应用范围极为广阔,云厂家在努力构建生态的同时,各种生态的合作伙伴水平参差不齐,容易成为整个环节的短板,一旦发生从第三方泄露的事件,极有可能又会产生对云平台的信任危机,以及最终责任难以追溯。
最后还是跟第三方有关,用户在开放AK给第三方时,如果没有做到良好的访问控制,不受监控的第三方可能滥用AK权限读取和保存过多原本它不应该读取的数据。
当然除了代码库扫描以外,还有其他的检测方式,比如通过浏览器插件来扫描隐藏在跨源http请求中的AK,但这些方案目前都还不是企业级方案。
防止
AK
滥用的关键要素?
AK滥用的问题需要从平台方和用户方两边共同解决。平台方需要提供足够多的安全措施,而用户则需要做好特权的管理。
1、默认安全:安全与开放和便利天然就是对立的,从云平台的角度来说对于开放API的范围以及开放的形式需要更加谨慎。高危的功能以什么形式开放,执行权限和编辑权限是否同时对外开放等。应该经过充分的安全评估后,再决定对外开放的范围。
2、分权。避免权限滥用最重要的就是做分权,这是API设计思想层面的改造。在给子账号分配权限时,将API分为读、写操作能达到及格的水平。按API业务属性和管理属性区分会更适合。参照三权分立的思想,创建密钥、重置主机密码这类授权类的读写API,与资源列表、弹性配置等业务数据类的读写API分开。上传任意自定义脚本与运行已经上传脚本的权限分开。最安全的方式也是云平台推荐的方式即删除主AK,只保留子AK。
3、审计和检测。对于AK的利用行为进行审计,记录下请求发起方的角色、调用的记录、读取的实例范围等内容。用以评估是否有AK在用户不知情的情况下被调用。在这基础上可以进一步基于行为进行调用风险的检测,对于某些特定的API调用序列进行告警,高风险API的调用告警。这一点似乎还没有哪一个云平台做到足够的重视。
4、访问控制。平台方有义务提供足够多的访问控制手段,包括不限于单独限制每一个AK访问源IP、访问时间段、可以访问的资源集/资源id、可以调用的API的范围。尽量从API权限层面缩减暴露面,减少不必要的访问风险。不过这么基础的能力,目前却只有华为云做了,而且不能单独对AK进行设置。限制key的使用范围是非常有必要的,但是访问控制不能解决所有的问题。因为高权限的key始终存在泄露的风险,除非高权限的key不存在。
这些都是在git平台泄露检测以外,出于安全的主观视角去考虑应该如何防止最高权限被滥用。当前主流云平台可提供的检测方案与理想还存在不小的差距,更别提还有很多云平台连AK泄露检测都还没有。
对于企业用户而言问题要更棘手一点,AK只是特权账号的一种,分散在各级系统、产品、控制台中的特权账号依旧无法得到有效管理。用户也无法被动指望自己的所有供应商都提供足够的特权管理手段。站在用户的角度来看,特权账号的管理必须是一个统一的产品,而不是松散的产品集合。但是目前并没有一个产品能够提供所有的保护手段。
哪些算特权账号管理?
特权账号广泛分布在企业内部的各个操作系统、应用程序中,而一旦发生云平台AK这种顶级权限的泄露将危害无穷。按照权限级别,大致可以分为以下3类。
根据账号的属性分,大致可以分为4类。
对于特权账号的管理,重点则在于对这4类账号中的高特权的管理员账号进行识别和管理。
如何做特权账号管理?
特权管理的思路本质上与管理其他的资产没有太大的区别。为了达到最佳效果,特权管理解决方案应该至少接入ATT&CK框架中常用到的本地账号、域账号、云账号。并且能够做到:
能够协助企业管理人员识别分散在内部各种系统中的特权账号-包括root账号、公用账号、高权限管理员、SSH密钥、证书、API key等等。
持续监控账号状态,包括账号的权限变更、轮换记录、使用范围等信息。
根据账号的权限等级和用途,将特权账号的使用监控起来,审计特权账号的所有使用记录,包括特权账号的登陆设备、访问源、访问目的、访问时间、访问数据范围等信息,及时发发现对关键文件和目录的未授权访问和/或更改。
最好能根据账号的使用记录自动学习生成每个账号的安全策略。再通过人的运营来补齐管理策略。
能对特权账号的可疑行为进行告警。必要时并可以联动其他设备,阻断恶意的访问行为。对可疑的活动进行阻断或放行后,能持续更新账号安全策略。
特权管理与堡垒机、IAM、零信任的关系?
堡垒机、IAM、零信任都属于特权管理的一部分,在特权管理的实施层面提供支持。这些产品在各自领域都能发挥特权访问控制的能力,应该利用他们自身的认证、审计和管控能力,保证特权管理策略落地。
而零信任平台则是在将来最有希望能够成为统一大PAM的平台。只是目前的阶段还挣扎在权限控制的大坑里。
特权管理是否应该侵入到业务流程中?
对于特权管理平台的建设,是否应该做一个大而全的系统,不仅仅是监控特权账号的滥用,还要深入到特权账号的整个生命周期中,将特权账号创建、使用、删除、审计全部管理起来?
我个人认为在初期没有必要,不要过度追求一个完美的系统。不同类型的账号管理方式差异很大,包括认证方式、密码轮换策略、访问控制策略等都不相同。如果在一开始就将所有的东西集成在一个大的平台内,会导致这一个平台的工程量和建设周期被无限拉长,且变得过于依赖执行层面的设备,然后面临大量定制开发。
相反通过采集这些特权账号的使用日志,通过大数据的方式检测特权账号的生成、使用、泄露。以及特权账号,会更容易落地。并且可以与恶意行为关联起来。
这个世界总会有新的变化,你无法阻止它们。安全不是阻止未知的事物或做一些很酷的新事物。决定你能做什么不能做什么,并集中精力把基本的事情做好。
参考资料:
1、Privileged Attack Vectors
2、Detecting and Mitigating Secret-Key Leaks in Source Code Repositories
3、
https://www.anquanke.com/post/id/275261
云主机AK/SK泄露利用
4、
https://docs.github.com/en/developers/overview/secret-scanning-partner-program
Secret scanning partner program
5、
https://medium.com/swlh/aws-access-keys-leak-in-github-repository-and-some-improvements-in-amazon-reaction-cc2e20e89003
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
乌市泽哥
金牌会员
这个人很懒什么都没写!
楼主热帖
是什么让.NET7的Min和Max方法性能暴增 ...
@RequestParam,@PathVariable两个注解 ...
2019 第十届蓝桥杯大赛软件赛决赛,国 ...
SqlServer远程连接
售前的职场生存法则
7 行代码搞崩溃 B 站,原因令人唏嘘! ...
想入行SAP咨询,最具性价比的方式 ...
MySQL审计插件-MariaDB Audit Plugin ...
CentOS7 安装 Redis 7.0.2
[WPF] 使用 HandyControl 的 CirclePan ...
标签云
运维
CIO
存储
服务器
浏览过的版块
SQL-Server
向量数据库
移动端开发
程序人生
鸿蒙
Postrge-SQL技术社区
快速回复
返回顶部
返回列表