上医治未病:云上入侵检测安全启示录

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

—— 01 ——

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

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

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

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

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

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

—— 02 ——

从入侵时间链看 “未病”

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

其实,还可以存在第三类人:在系统受到危害前便已接收到警告,因而可以做到防患于未然。
如何才能做到在系统受到危害前便可有效检测出入侵方式呢?未知攻,焉知防,如下图,基于 Cyber-Kill-Chain 网络攻击杀伤链模型,我们首先还原出了一个简化的入侵攻击流程。

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

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

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

—— 03 ——UHIDS

全流程入侵检测设计

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

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

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

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

图:黑白名单策略示意

☛ 基于机器学习的检测机制

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

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

  • 样本类别不平衡

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

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

图:SMOTE 算法原理示意

  • 模型过拟合问题

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

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

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

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

| 应用安全风险检测

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

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

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

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

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

| 木马安全风险检测

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

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

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

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

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

—— 04 ——

预见云上安全风险

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

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

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

图:UHIDS 检测到 ThinkPHP 漏洞

结语

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

Image placeholder
未设置
  51人点赞

没有讨论,发表一下自己的看法吧

推荐文章
谷歌断粮启示录

本文授权转载自| AI财经社撰文 /  麻策  编辑 /  赵艳秋谷歌断粮,在一些从业者心里,是开源理想王国,出现了局部塌陷。实际上,大型开源项目背后,都有商业逻辑,天下本没有免费的午餐。而在经历了中

黑客入侵检查

黑客入侵检查 思路 扫描木马工具:clamAV官网:http://pkgs.repoforge.org/clamav/ CentOS安装:yuminstall-yclamav* 启动clamAV服务

SACC 2019:云闪付APP架构优化实践之路

中国银联科技事业部架构师 程朝程朝2011年加入中国银联,拥有三年应用开发设计经验,三年MySQL与Redis内核开发设计经验,三年应用架构设计经验;擅长分布式系统设计,有丰富的系统设计与调优经验,现

英特尔:云从此处升起

如今,云计算已真正走过了“早期采用者”阶段,进入“早期大多数”。更多的组织已经认同了云计算所能够带来的巨大价值,将业务负载迁移到云上,以获得云的敏捷性、可用性、可扩展性等优势。而云计算也正式迈进2.0

独家对话李飞飞:云数据库战争已经进入下半场

李飞飞,现任阿里巴巴集团副总裁、高级研究员,阿里云智能数据库事业部总负责人。加入阿里巴巴之前为美国犹他大学计算机系终身教授。研究成果多次获得了IEEEICDE、ACMSIGMOD最佳论文奖等重要学术奖

2019年度IT168技术卓越奖名单:云计算类

时光飞逝,转眼已是2019年最后一个月,又到了盘点、总结进行时!纵观各大云厂商动态,似乎并没有停止征战与厮杀的任何迹象。在过去一年里,不管AWS、微软Azure还是国内的阿里云、腾讯云、百度云、华为云

Fortinet的云安全观:上云≠安全 云安全市场或迎“又一春”!

近年来网络攻击事件频繁发生,企业对于网络安全的关注度已经到达前所未有的高度,如何保证业务的正常运转是每个企业最为关注的问题之一。而随着越来越多的企业将业务扩展到云端,云上安全问题也成为企业必谈的话题!

打好网络安全攻坚战 思科年度安全报告系列关注未知安全挑战

当网络攻击愈演愈烈,当勒索软件愈加嚣张,企业对于网络安全的重视程度稳步提升。网络安全在企业中的地位从没像今天这般高涨。但不可否认的是,即便企业提升了对网络安全的防护,但网络安全威胁依旧长期存在且愈加复

开曼国家银行已证实被黑客入侵:2.21 TB数据惨遭泄露

“或许这只是冰山一角,其背后还隐匿着更多的深海冰川。”开曼群岛——一个吸引人的财政天堂。近日,据外媒报道,匿名黑客入侵了开曼国家银行,并泄露了2.21TB数据,此外,他还向其他黑客提供100,000美

披荆斩棘:论百万级服务器反入侵场景的混沌工程实践

在繁杂的业务和网络环境下,在公司百万级服务器面前,要做到入侵发生时的及时检测,那么反入侵系统的有效性,即系统质量,是至关重要的。洋葱系统是腾讯公司级的主机反入侵安全检测系统,它是实现了前端主机agen

周末生产事故!一次心惊肉跳的服务器入侵排查….

近日接到客户求助,他们收到托管电信机房的信息,通知检测到他们的一台服务器有对外发送攻击流量的行为。希望我们能协助排查问题。 一、确认安全事件情况紧急,首先要确认安全事件的真实性。经过和服务器运维人员沟

PHP 安全问题入门:10 个常见安全问题 + 实例讲解

相对于其他几种语言来说,PHP在web建站方面有更大的优势,即使是新手,也能很容易搭建一个网站出来。但这种优势也容易带来一些负面影响,因为很多的PHP教程没有涉及到安全方面的知识。 此帖子分为几部分

[PHP 安全] OWASP 维护的 PHP 安全配置速查表

介绍 这个页面的目的是为了帮助那些配置PHP和运行它的web服务器的人确保它的安全性。 下面你将找到有关php.ini文件的正确配置信息。 php.ini 下面的一些设置需要适应你的系统,特别是se

梆梆安全:做以结果为导向的安全服务商

作为国内领先的安全服务提供商,梆梆安全不谈概念,始终从基本出发,致力于解决客户的根本性问题。通过运用领先技术提供专业可靠的服务,为全球政府、企业、开发者和消费者打造安全、稳固、可信的安全生态环境,其用

云架构远没想象般安全 派拓网络五大建议助力云安全

当企业业务大量向云端转移,云上安全问题变得愈加严峻,如何保障云端业务的安全成为企业关注的重点问题之一。前不久,网络安全企业PaloAltoNetworks(派拓网络)发布了一份云安全报告,揭示亚太区大

周鸿祎:360回归企业安全 携手安全生态打好网络攻坚战

8月19日,主题为“应对网络战、共建大生态、同筑大安全”的第七届互联网安全大会在北京雁栖湖国际会展中心隆重开幕,来自国内外的百余位专家共同讨论全球网络安全的最新形势,从战略、产业和技术等多个层面,探讨

YOLO目标检测从V1到V3结构详解

本文主要内容是对YOLO系列进行综述目标检测评价指标IoU(Intersection-over-Union)指标IoU简称交并比,顾名思义数学中交集与并集的比例。假设有两个集合A与B,IoU即等于A与

复杂异常检测如何快速落地?看看百度怎么做

作者简介:周伟  百度云高级研发工程师负责百度云智能运维(Noah)告警通告系统的设计和研发,在大规模分布式系统、运维监控、精准报警等方面具有广泛的实践经验。干货概览本文提到的异常检测(Anomaly

医疗保健案例研究:怎样用深度学习检测疟疾

导言本文中,我们将集中讨论人工智能(AI)与流行的开源工具、技术和框架如何被用于发展和改善医疗行业。俗话说,健康就是财富。在这篇文章中,我们将探讨如何利用人工智能来检测一种致命的疾病–疟疾,以及如何建

vue中如何关闭eslint检测?

vue中如何关闭eslint检测?有了eslint的校验,可以来规范开发人员的代码,是挺好的。但是有些像缩进、空格、空白行之类的规范,在开发过程中一直报错,未免太过于苛刻了。所以,下面来介绍下怎么在v

兼容性常规检测

引子碰到检查支持font-family的疑问,一时想不出,查了资料后解惑。顺便在此对是否支持的检测方式,进行一些基本的归纳。 Origin MyGitHub HTML检测浏览器并不会对HTML进行编译

如何检测jquery是否已加载?

如何检测jquery是否已加载?当前网页加载jQuery后,jQuery()或$()函数将会被定义有如下两种方法进行检测:方法1:if(jQuery){ //jQuery已加载 }else{ //jQ

PHP 代码安全

SQL注入 攻击者通过构造恶意SQL命令发送到数据库,如果程序未对用户输入的SQL命令执行判断过滤,那么生成的SQL语句可能会绕过安全性检查,插入其他用于修改后端数据库的语句,并可能执行系统命令,从而

GoWeb教程_09.0. 安全与加密

无论是开发Web应用的开发者还是企图利用Web应用漏洞的攻击者,对于Web程序安全这个话题都给予了越来越多的关注。特别是最近CSDN密码泄露事件,更是让我们对Web安全这个话题更加重视,所有人都谈密码

结合Spring Security进行web应用会话安全管理

在本文中,将为大家说明如何结合SpringSecurity和SpringSession管理web应用的会话。 一、SpringSecurity创建使用session的方法 SpringSecurit