上医治未病:云上入侵检测安全启示录
首页 » 厂商供稿 » 上医治未病:云上入侵检测安全启示录
作者:星期二, 一月 7, 20200

两千多年前,《黄帝内经》提到“上医治未病,中医治欲病,下医治已病”。云安全也是同理,未雨绸缪、防患于未然,这虽是老生常谈,但真正能具备这一能力的企业却不多,各种各样的安全事件仍在频频上演。

一、云安全拒绝“事后诸葛亮”

2017年5月,WannaCry勒索病毒在全球爆发,百余个国家遭受大规模攻击,是史上波及范围最广的病毒之一。这次安全事件为各行各业敲响了警钟,但却并没有“长鸣”。

图:近两年部分重大网络安全事件一览

可以看到,黑客入侵攻击是无处不在的。而没有防护的云计算环境相当于裸奔,只要任意一点遭受攻击,便有可能波及云上所有业务。在黑客威胁日益严重的情况下,云主机又该如何应对呢?

UHIDS是UCloud为保护用户云主机安全而设计的一套基于主机的安全检测体系。该体系能够实时监控云主机的安全性,及时发现安全隐患,帮助用户了解云主机的安全状况并有针对性地进行加固。UHIDS能在事前做好风险检测并加以告警,也就是我们所说的“上医治未病”。

那么,UHIDS又是如何“治疗”云安全“未病”的呢?

二、从入侵时间链看“未病”

入侵受害者有两类人,一种是知道自己已经被入侵了,可此时亡羊补牢,为时晚矣;另一种是不知道自己被入侵了,等到大厦将倾时才发现。

其实,还可以存在第三类人:在系统受到危害前便已接收到警告,因而可以做到防患于未然。

如何才能做到在系统受到危害前便可有效检测出入侵方式呢?未知攻,焉知防,如下图,基于Cyber-Kill-Chain网络攻击杀伤链模型,我们还原出了一个简化的入侵攻击流程

图:一个简化的入侵攻击流程

 

每个阶段的攻击详情如下:

  • 侦察阶段:以扫描、信息收集为主,通常包含IP收集、域名收集、端口扫描等步骤,这些步骤的目的是尽可能探测出攻击目标的资产信息,例如使用什么软件,什么版本等。
  • 攻击阶段:收集到足够的信息后,攻击者会尝试使用一些手段来尝试目标是否存在可利用的漏洞,这些尝试有的是手工精确实施,有的是使用大量攻击手段来进行遍历尝试更利于对事件演变过程的重现,方便追溯审计。
  • 分发阶段:主要以留后门、下载木马等为主,攻击者会利用获取到的权限,在服务器上安装后门、botnet、挖矿程序等。
  • 安装维持阶段:主要以替换服务器关键配置为主,例如隐藏木马进程,对木马进程进行保护等。

UHIDS的整体设计思路就是在每一个攻击步骤的关键点设置检测手段,这样设计的好处是避免单点失效,且尽可能的提前知晓入侵手段并采取相应的防御措施。此外,在越早的攻击环节阻止入侵,修复漏洞的成本和时间损耗也会越低。

三、UHIDS全流程入侵检测设计

根据入侵攻击链不同阶段的特点,UHIDS云上入侵检测有三种思路,可提供对各类攻击的有效防御。

1、登录安全风险检测

登录安全是所有服务器最基础的安全内容,代表了服务器的入口。登录安全通常存在的安全风险包括:密码泄露、弱密码、暴力破解、不安全的配置、漏洞利用等。作为云上用户,我们遇到最常见造成入侵的风险往往是弱口令,弱口令带来的风险也是不容小觑的。

2015年春运前夕爆发了12306数据泄露事件,乌云网发布漏洞报告称,大量12306用户数据在网络上疯狂传播。本次泄露事件被泄露的数据达131653 条,弱密码在其中就占据了举足轻重的地位。

通常,针对弱口令的攻击方式包括异地登录暴力破解。传统的检测方式一般按照非黑即白的策略去检测,即让用户添加一个白名单列表,只要不在白名单列表中的地点/IP均告警,然而该方法的缺点在于需要用户在维护白名单列表上投入大量人力,往往造成用户使用上的麻烦。

图:黑白名单策略示意

 基于机器学习的检测机制

UHIDS提出了一种基于机器学习的检测方法。基于机器学习模型强大的自学习及泛化能力,通过学习大量的数据,挖掘出潜在的登录风险为业务决策提供支撑。

机器学习都需要一个训练阶段,从数据收集到模型建立通常需要会面临诸多难题。下面是我们遇到的典型问题与解决思路。

(1)样本类别不平衡

在入侵检测的场景中,由于黑名单数据(黑样本)的数量远少于白名单数据(白样本),因此会出现样本类别不平衡的问题,进而导致机器算法模型失效。

为解决该问题,我们通过SMOTE算法在相似样本中进行 feature 的随机选择并拼接出新的样本。SMOTE算法的思想是合成新的少数类样本,合成的策略是对每个少数类样本a,从它的最近邻中随机选一个样本b,然后在a、b之间的连线上随机选一点作为新合成的少数类样本,如下图所示。

图:SMOTE算法原理示意

(2)模型过拟合问题

在模型建立后,后续的数据清洗和预处理、数据分析到合并稀疏特征、One-hot编码处理离散型特征、随机森林选择特征、标准化、归一化、正则化也都会对模型的最终效果也会产生较大影响。因此这就需要研究如何根据登录IP、登录时间、登录地点、登录方式等字段构建出不影响模型拟合问题的特征工程。

针对该问题,我们采用交叉验证的方法评估模型的预测性能,并通过网格搜索进行模型参数选择,在后期还会通过bagging、stacking等模型集成手段进一步提升效果。

最终,通过机器学习和业务经验的结合,UHIDS的检测模型大大提高了异地登录的检测准确率,降低了误报率,提升了用户体验。

图:UHIDS异地登录检测功能示意

2、应用安全风险检测

应用安全风险通常由三部分构成:

  • 漏洞风险:程序是人为写的,只要是人为参与的就一定会有Bug,这类漏洞被黑客分析出来后,加以利用就构成了入侵服务器的杀手锏。
  • 不安全的配置:这类问题通常是某种特性使用不当造成的,比如最常见的Redis空密码的问题。Redis本身提供了一个配置,使得用户可以不使用密码就能登录Redis,很多用户有意或无意间设置了这个选项,被黑客利用造成Redis被入侵,并以Redis为跳板又可以进一步入侵至整个服务器。
  • 设计问题:这类问题基本为开发人员的不规范操作导致的。例如开发人员一次性返回API所有字段,放松了对前端人员的管控,造成敏感字段数据泄露。再比如在公网开远程debug接口,导致被黑客攻击。这个问题的解决需要企业的代码规范与前端开发管理,提高人员安全意识。

针对应用安全漏洞风险,UHIDS的应对方案如下:

  • UHIDS采集服务器上应用的特征信息,送往后端数据集群和漏洞库进行比对,并将比对结果进行入库,在UHIDS控制台上用户也可看到漏洞检测结果。如果发现系统存在漏洞风险,便会向用户发出告警,以此便可规避黑客的无差别漏洞扫描。

图:UHIDS漏洞库匹配功能示意

  • UHIDS继续通过分析进程确定配置文件路径,再对配置文件内容按照标准语法树进行解析。解析后,使用预先定义好的通用数据模型将其一一填充送往服务端进行再次分析检测,一旦发现不安全的配置,便会向用户发出告警及修复建议。

3、木马安全风险检测

云计算场景中最常见的木马类型是僵尸网络 Botnet和挖矿木马。近年来,随着区块链技术和数字货币的火爆,无数黑客及黑产组织“盯”上了云端充足的计算资源,据统计,今年挖矿木马已经超越Botnet成为造成用户损失最多的病毒。挖矿木马通常会占用用户全部服务器带宽和CPU资源,导致正常业务中断。

图:挖矿木马

这类木马通常是利用成熟已公开的漏洞或者简单的安全问题进行全球范围内的无差别扫描,一般不会涉及到特别复杂的技术原理。预防此类木马,需要用户加强对应用安全中未修复的安全漏洞和不安全的配置的关注。

目前,UHIDS针对木马查杀主要使用以下三种手段:

  • 分析关键系统配置:在这里UHIDS更多关注的是深层次的系统基础配置,比如内核模块加载等问题,通过分析上述问题来确认用户是否被感染木马。
  • 清除残余顽固木马:由于Linux的特性,即使木马进程的可执行文件被删除了,其进程如果仍在运行,那么Linux中仍残存有顽固木马文件。对此,UHIDS会还原出该文件进行分析,分析后送往大数据集群进行检测。一旦检测到某个进程和特征库中的木马相匹配,那么便会向用户发出告警。
  • Webshell漏洞检测:Webshell作为Web入侵后留下的后门,在入侵过程中非常常见。UHIDS首先对Webserver的进程进行分析,确定好Web目录后,进而解析Web目录中的文件。然后进行特征匹配,将匹配到的内容上传到大数据集群,进行打分模型判断,当分数权重超过一定值后就会告警。

图:UHIDS控制台木马检测功能示意

四、UHIDS:预见云上安全风险

最后,从安全防御的角度来讲,安全防御是一个与黑客竞争的过程,只有抢占先机,在攻击者利用漏洞攻击前修复漏洞,才可以有效防止此类攻击。而抢占先机的前提就是关注云厂商发布的漏洞和事件预警,在第一时间做好防范工作。

以一个ThinkPHP漏洞为例。ThinkPHP是一款国内流行的开源PHP框架,2018年12月9日ThinkPHP官方发布一则安全更新,内容为修复了一个严重的远程代码执行漏洞,该漏洞可导致(php/系统)代码执行,由于框架对控制器名没有进行足够的检测会导致在没有开启强制路由的情况下可能的Getshell漏洞。

在官方预警发布后,UHIDS也在第一时间更新漏洞特征库并开启入侵检测模式。此后,在该漏洞大规模爆发时,UHIDS及时向用户发布了漏洞告警,免于遭受入侵攻击。

图:UHIDS检测到ThinkPHP漏洞

五、结语

需要明确的是,UHIDS入侵检测只是UCloud云安全防护体系中的一环。在实际业务中,还需针对具体需求明确具体防护手段,例如DDoS防护、Web安全防护等。此外,在与黑客暗中较量的赛场上,最重要的还是安全意识的建立,产品可以提供外力的辅助,但内在安全的构建仍需企业巩固提高自身安全意识。

 


相关文章

写一条评论

 

 

0条评论