深度分析及防护——加密木马攻击,海莲花?

技术 作者:绿盟科技 2015-06-15 10:08:54

内容导读

 

随着匿名者攻击事件的跟踪分析走向深入,5月28日,又一系列针对中国的攻击行为浮出水面。这个被大家称为“海莲花”组织所实施的攻击,其攻击特性是怎样的,到底是单纯的木马,还是APT?随之而来的攻防思路会发生怎样的转变?用户又该如何应对?

本报告从此次攻击事件中截获的典型木马样本入手,分析其攻击行为,对比木马及APT的特性,为用户思考下一步的应对方案,给出了转变思路的攻防模型,提出未来攻防战中胜负判断标准及发展方向,并推荐了应对此次攻击的解决方案及实施步骤。

在看完本报告后,如果您有不同的见解,或者需要了解更多信息,请联系:

绿盟科技威胁响应中心微博:http://weibo.com/threatresponse

绿盟科技微博:http://weibo.com/nsfocus

绿盟科技微信号:搜索公众号 绿盟科技

攻击:是谁?

 

绿盟科技威胁响应中心一直在持续关注网络攻击事件并进行跟踪分析,这些攻击事件中有来自国内的,也有来自国外,如同现实社会中的恐怖主义一样,有些事件会有组织公开承认,比如匿名者(Anonymous),但也有一些事件是没有组织对其负责的,这些事件绿盟科技的专家会用相关的模型进行分类研究,其中的一个参考指标就是其攻击行为及惯用的攻击形式。

海莲花

2015年5月28日,一系列针对中国海事机构的攻击行为浮出水面,业界有传攻击事件涉及30多个国家,事后未有组织声称对这些攻击事件负责,但其中可以看到的是,相关海事机构的攻击大多数来自木马。如果说这些攻击是来自某个黑客组织,那么这个组织无疑是比较低调的,低调到没看到其公开的命名。可能是由于这些攻击目标常涉及中国的海事及相关机构,某公司将其命名为“海莲花”,但考虑到这些攻击的一些特性,1多采用木马,2多针对海事机构,3攻击有一定的数量,4如果存在这个组织,他们很低调,那可能使用海马(Seahorse)称呼他们更为贴切。

加密1

样本分析

绿盟科技威胁响应中心在日常监测中获取到了该组织的一些木马样本,考虑到国内用户的使用习惯,选择了一个具有代表性的加密木马(Encrypting Trojan horse)进行分析,通过分析可以看到其完整的执行过程。样本通常是一个可执行文件,可能其图标类似word.exe程序,执行后会生成两个比较的关键的文件qq.exe以及Bundle.rdb文件。

加密2

随后向IP地址193.169.244.73发起连接

加密3

通过追踪对应的IP地址,发现其所在区域及绑定域名来自乌克兰,目前域名页面获取已经失效,但不排除有相关的反追踪技术手段。而从过去的持续跟踪情况来看,美国和乌克兰的域名较多。

加密4

样本整个完整的执行过程如下:

1

2

3

4

5

6

1   点击之后样本会释放出形如XXXX.tmp的文件并运行;

2   该文件首先会释放一个正常的doc文件运行,用以迷惑普通用户;

3   然后释名为qq.exe和Bundle.rdb的两个文件;

4   用户一旦运行了”qq.exe”;

5   这个李鬼就会将Bundle.rdb文件注入到一个僵尸进程中;

6   Bundle.rdb实现与攻击者的服务器进行交互。<>

 

加密5

下面我们将其中的一些追踪的技术细节呈现出来,通过这些细节呈现,有利于后续对该木马进行查杀和防护,以及为整体分析攻击组织的行为提供信息及数据支撑。

木马样本入口分析

样本信息

加密6

从截获的样本来看,该样本伪装为word文档,引诱用户去点击,而传播途径也主要通过邮件传输,U盘拷贝等形式传播。先检查该样本有没有加壳。

加密7

也就是说该样本并没有采用传统的加壳技术来躲避查毒软件的查杀,而是采用了其他加密的方式来绕过扫描。

查找木马程序入口

加密8

上图是IDA反汇编后,截取的winmain函数的主要部分,从图中大体可以看出该样本运行时会检测命令参数开始部分是否含有”–ping”字符串。如果有该参数会直接进入SUB_40CF20函数中运行;如果没有该参数,之后会创建临时文件,并通过CreateProcessW函数以新进程的方式启动该临时文件(也就是子体)。

接下来我们分析两个方面:

-关注该木马(母体)创建的是什么临时文件(子体),子体的启动参数是什么(图中给出的commandline) -如果母体没有参数“–ping”情况,在sub_40cf20函数里面做什么动作

母体执行过程

分析母体入口

分析到这里,我们只知道该样本要带有”–ping”,但是还不知道到底有什么参数;那么能做的就是直接在虚拟机中启动它,不需带有任何参数,根据我们的静态分析可知,这种情况下会先生成一个子体,然后通过CreateProcessW来启动该子体.

启动windbg,虽然知道了母体里面有winmain函数,但是在没有符号文件的情况下windbg还不能识别出winmain入口函数,所以在windbg加载母体后,需要找到一个断点来动态调试winmain函数。通过IDA反汇编知道,在winmain函数里面先是调用了一个API函数GetComputerNameA。

加密9

在运行G命令号会断在此处,如下图所示

加密10

查看该函数的参数

加密11

用GU命令该函数运行完成后,可以看到该函数已经取得了主机名,如下图:

加密12

对于虚拟机系统:

加密13

接下来会将大写字母变成变成小写,如下图

加密14

转换后的结果:

加密15

之后会通过CoInitialize函数告诉Windows以单线程的方式创建com对象,CoInitialize并不装载COM 库,它只用来初始化当前线程,让线程注册一个套件,而线程运行过程中必然在此套件。如下图:

加密16

母体如何产生子体

下面的动作就是要判断它启动时是否带有参数,如果没有参数就会在临时文件夹建立一个文件

加密17

显示获取当前用户的临时目录,之后会在该目录下产生一个随机文件名。

加密18

在创建了临时文件后,接着就会先得到母体文件,同时产生一个随机字符串,该随机字符串会作为将来子体启动时参数部分,之后将释放产生的子体(前面只是产生临时文件还没有写入数据,就是要写入数据,写入的大部分内容还是母体的数据),同时在构造出CreateProcessW函数启动子体程序时的参数部分。入下图

加密19

子体躲避杀毒软件

当产生新的文件时,杀毒软件通常都有有所觉察,为了能躲避传统杀毒软件的查杀,在生成子体时,利用了加密技术对子体做了块加密。下面是函数SUB_40AFF0产生随机字符串的主要过程,

加密20

由下图可知,在复制母体过程中对母体本身先做了处理,函数SUB_40CEA0调用SUB_40CB30,该函数在复制写入之前对母体做的处理,调用过程和处理过程如下图:

加密21

加密22

由下图可知,在复制母体过程中对母体本身先做了处理,函数SUB_40CEA0调用SUB_40CB30,该函数在复制写入之前对母体做的处理,调用过程和处理过程如下图:

加密23

子体躲避杀毒软件

当产生新的文件时,杀毒软件通常都有有所觉察,为了能躲避传统杀毒软件的查杀,在生成子体时,利用了加密技术对子体做了块加密。下面是函数SUB_40AFF0产生随机字符串的主要过程,

加密24

由下图可知,在复制母体过程中对母体本身先做了处理,函数SUB_40CEA0调用SUB_40CB30,该函数在复制写入之前对母体做的处理,调用过程和处理过程如下图:

加密25

加密26

接下来就是要创建一个子进程(子体),同时检查启动的该子体和参数

加密27

加密28

从上图可知createprocessw第一个参数是”c:\Users\home\AppData\Local\Temp\DBE3.tmp”,第二个参数是“C:\Users\home\AppData\Local\Temp\DBE3.tmp” –pingC:\ocean\test.exe 98A92D9A03B32BBB789802827DD0F5FB245F07A28BE4E9251E55C06A43 DAA994A0852C6623D4FEB93139B4A028463B7BF27F727372E5813871AFD7D01AB44430”

也就是子体名字叫DBE3.tmp(在多次调试过程中,每次产生的临时文件都不一样),产生的随机字符串实在太长了。

子体执行过程

分析子体入口

到目前为止,母体的启动过程基本上分析完成了,我们在开始说到如果有—ping参数及其他部分,会进入SUB_40CF20函数。如下图

加密29

由于我们并不知道母体参数ping后面具体接什么内容,所以不与分析。其实不用单独今天分析else后面的内容,因为我们知道了子体主要复制了母体的程序,并添加了子体启动时的参数,通过createprocessW函数启动子体时,子体会直接进入else里面,因为现在已经有”–ping”参数了。所以我们分析子体就会分析到该分支。

加密30

子体分析,在上面已经知道了子体时由母体复制而来,并且在子体启动时已经有了参数,根据winmain函数的代码流程可知,子体会进入

子体入口动态跟踪

接下来就是要看函数SUB_40CF20里面做了哪些操作。 以上面得到的子图DBE3.tmp为例,在windbg调试带参数的子体可以像如下设置

加密31

为了能够动态调试子函数sub_40CF20,需要在该函数出下断点,但是由于该函数不是标准的API函数,所以也没有符号表,这样很难找到该函数的入口地址。对此我们通过观察IDA今天反汇编代码,可知sub_40CF20在CoInitialize和memicmp函数之后会被调用,所以我们可以在标准API _memicmp或是它之前的CoInitialize函数下断点,然后动态跟进sub_40CF20函数即可。本例在CoInitialize下断点

加密32

函数断下来后单步跟踪,跟进IDA静态分析_memicmp比较有没有”–ping”,如果有的话就会执行到sub_40CF20函数,由于子体里面包含了该参数,也就能直接进入else里面,查看伪C和反汇编代码

加密33加密34

单步动态跟踪windbg,进入JZ loc_40D6EE

加密35

进入else里面首先sleep(0x7d0),只有调用sub_40CF20,并将子体参数作为该该函数的参数传进去,跟进该函数

加密36

该函数内部做的操作:

加密37

验证子体参数中是否包含”\t”,也就是说在启动子体时,

加密38

此处参数之间的分割不能是空格,必须是”\t” ,生成test.exe生成test.docx文档

加密39

子体释放docx文档过程

上面说到sub_40BBA0函数成了docx文档,那么是怎么生成的,其调用过程如下图

加密40

也就是说最终调用了函数sub_40B9A0函数,那就看看该函数的主要流程:

加密41

上图是截图该还函数的主要代码,从代码中可知该函数利用test.exe,生成了test.docx文档,并打开了该文档,这就是为什么如果我们加参数直接打开DBE3.tmp文件时,生成的test.docx能够自动打开的原因。

加密42

子体的反调试技术

为了能够避开虚拟机检测或是在虚拟机中调试,子体中加入动态反调试技术,判断是否有虚拟机

加密43

函数调用关系如上图所示,在函数里面做了虚拟机的判断

加密44

从代码中看出,该子体会判断自己是否在虚拟机中;进一步跟踪sub_407260看看判断vmware里面是怎么操作的:

加密45

Vmware为真主机与虚拟机之间提供了相互沟通的通讯机制,它使用“IN”指令来读取特定端口的数据以进行两机通讯,但由于IN指令属于特权指令,在处于保护模式下的真机上执行此指令时,除非权限允许,否则将会触发类型为“EXCEPTION_PRIV_INSTRUCTION”的异常,而在虚拟机中并不会发生异常,在指定功能号0A(获取VMware版本)的情况下,它会在EBX中返回其版本号“VMXH”。

躲避虚拟机检测机制

经过上面的分析,我们知道了在虚拟中运行会直接退出,因为函数sub_40B840执行完成后返回后,返回了1;同时函数sub_40B930也就返回了1;这样子体就会终止了运行,如下图

加密46

但为了在虚拟机中分析子体,技术人员利用动态调试技术,修改代码流程,在sub_40B930返回后,修改返回值让其继续运行,如下图所示

加密47

这样程序就能进入if语句里面继续运行。接下来做的事情就是解析参数部分的随机字符串并转化编码

加密48

在编码转换完成后,开始解密文件。前面说过,母体在生成子体时会做处理后生成子体,该处理就是分块加密的过程。下面是先根据参数中的随机字符串生成解密秘钥,然后在进行解密。

加密49

接下来会遍历进程列表,关闭相关进程。在解密完成后,进入函数sub_40C6F0里面,遍历进程列表如下图

加密50

同时在函数里面sub_40C6F0里面完成进程遍历工作,其最终调用了sub_40B380

加密51

该还是开始显示遍历系统进程,并取得hash值,与指定的值比较,如果相等则关闭该进程。

加密52

加密53

加密54

释放qq.exe及bundle.rdb文件

为了能够迷惑用户,样本在生成执行文件时,特意命名为qq.exe;在调用关系图中的sub_40B790函数返回后,就会调用sub_40c260函数生成qq.exe文件,如下图

加密55

该函数在内部调用sub_40BE40来生成QQ.exe

加密55-1

释放为国际版的QQ.exe,国内的用户通常不会使用这个版本,不知道是攻击者的疏忽还是有其他的目的。

加密56

之后在再次调用该函数生成bundle.rdb文件,传入的参数发生了变化。

加密57

其内部调用关系,主要代码为

加密58

动态调试结果:

加密59

监控效果如下图

加密60

加密61

将bundle.rdb加入注册表

同时利用调用接下来的函数sub_40C130来将bundle添加入注册表,如下图:

加密62

其调用关系如下图

加密63

Sub_40C130内部实现为

加密64

在注册表中入两个键mspaint如下图:

加密65

加密66

添加QQ.EXE到任务管理其中,作为定期启动该程序

加密67

加密68

加密69

到目前为止,子体已经分析完成。

qq.exe程序分析

qq.exe程序分析过程

qq.exe程序分析过程

为了诱导用户能够手工去执行,释放的文件名为qq.exe。qq.exe的启动时靠计划任务来管理,为了能够动态调试该程序,我们改动手工调试启动。同样适用调试工具windbg。首先利用IDA反汇编后,发现该程序的主函数也就是掉了一个函数sub_401D20,如下图:

加密70

调用函数sub_4023A0获取当前进程句柄,并在函数sub_402320里面提升权限

加密71

加密72

注册表检测bundle.rdb文件

其调用过程为winmain->sub_401D20->loc_401d90->sub_4023A0。

接下来会调用sub_402A10函数检测注册标是否含有bundle.rdb

HKCU\SOFTWARE\Microsoft\mspaint

HKLM\SOFTWARE\Microsoft\mspaint

如果没有检测到就会退出。

加密73

加密74

加密75

在检测注册表包含bundle.rdb后会调用函数sub_402520,获取当前进程的SID,

加密76

加密77

检测用户权限

同时在内部调用sub_402420检测用户是否为administator,如果是不是就退出,否则继续运行

加密78

接下会比较当前运行的程序与”rundll32.exe /safemode”.是否相同

加密79

加密80

由于我们手动启动qq是会没有带有任何参数,所以比较结果不相等(相等的情况后面会介绍)。不相等就接着遍历进程是否还有特定的进程

加密81

同时会启动子进程来启动该参数” rundll32.exe /n”,接下来看是怎么启动该参数的。

创建qq.exe子进程

由于前面QQ.exe启动过程中没带有参数,会进入sub_404450分支

加密82

该函数的主要工作:

  • 判断参数是否是“rundll32.exe /n”
  • 复制自己到qq.exe.db,通过函数sub_404050对qq.exe.db做处理
  • 把原来的qq.exe拷贝到qq.exe.bak
  • 将处理后的qq.exe.db改名为qq.exe
  • Createprocess启动qq.exe并加入参数” rundll32.exe /n”

整个过程如下图所示

加密83

加密84

那么sub_44050函数做了哪些对qq.exe.db做了哪些操作呢,如下图所示对部分数据做了加密处理

加密85

qq.exe子进程免杀

到此我们知道qq.exe的目的是在将自身数据做加密处理后,利用createprocess再和参数“rundll32.exe /n”一起运行,只不过此事的在运行的子进程已经不是原来的qq.exe.

前面我们说到,qq.exe会判断参数部分是否包含”rundll32.exe /n”新启动的qq子进程包含了该参数,也就是第二种情况,在参数相等的情况下我们就来分析在包含参数时.qq.exe的代码走势。

动态调试qq.exe子进程-bundle.rdb加载

重新启动新生成的qq.exe,运行到函数sub404450,时判断参数是否为“rundll32.exe /n”,由于我们已经设置了该参数,所以就不会再创建新的qq.exe新进程。进入函数sub_403700里面

加密86

该函数主要做的事情启动msiexec.exe,释放代码注入到进程中,同时注入的代码启动bundle.rdb

加密87

Sub_403220判断” C:\Windows\syswow64\msiexec.exe”是否存在,如果不存在就启动该进程如下图所示

加密88

加密89

加密90

到此qq.exe已经向msiexec.exe加载了bundle.rdb。接下来看该dll,做了哪些事情

bundle.rdb分析

Bundle.rdb是一个动态库,为其核心功能组建,其相当于一个云配置客户端,内部并没有多少恶意行为痕迹,只负责请求、接收,处理服务器端的信息(由于当前截获的样本ip已经失效,所以看不到与服务端的通信)并且收集被感染系统的信息,相对来说代码也比前两个阶段的代码复杂,解密过程极为复杂,有一些是为了对抗杀毒软件特征查杀的技巧,但是也相对比较简单。

加密91

如上图会对国外一些域名发起链接。在监控模式下抓取的数据包为

加密92

在建立链接好就会上传主机的一些数据,下图是链接成功后,上传我的虚拟机的信息,从下图可以看出上传过程有些信息明文显示,有些做了编码。

加密93

攻击:是木马还是APT

通过上面的分析,我们再与木马及APT的特性来对比看看

木马特性

在Wiki中对木马的解释是这样的,“A Trojan horse, or Trojan, in computing is generally a non-self-replicating type of malware program containing malicious code that, when executed, carries out actions determined by the nature of the Trojan, typically causing loss or theft of data, and possible system harm.

A Trojan often acts as a backdoor, contacting a controller which can then have unauthorized access to the affected computer. While Trojans and backdoors are not easily detectable by themselves, computers may appear to run slower due to heavy processor or network usage.Malicious programs are classified as Trojans if they do not attempt to inject themselves into other files (computer virus) or otherwise propagate themselves (worm)

.A computer may host a Trojan via a malicious program that a user is duped into executing (often an e-mail attachment disguised to be unsuspicious, e.g., a routine form to be filled in), or by drive-by download.”

对比Wiki对木马的解释,可以看到这次分析的样本及其行为,具有木马的常见特性,1该样本并没有自我复制的特性;2该样本有注入关键进程的行为;3该样本有躲避追踪及查杀的行为;4该样本有侦测虚拟环境,并通过rbd文件保留后门的行为

APT特性

在相关报道中,也有提到此次攻击应归属于高级持续威胁APT,那同样看看wiki中对于APT的描述 。“An advanced persistent threat (APT) is a set of stealthy and continuous computer hacking processes, often orchestrated by human(s) targeting a specific entity. APT usually targets organizations and/or nations for business or political motives. APT processes require a high degree of covertness over a long period of time. The “advanced” process signifies sophisticated techniques using malware to exploit vulnerabilities in systems. The “persistent” process suggests that an external command and control system is continuously monitoring and extracting data from a specific target. The “threat” process indicates human involvement in orchestrating the attack”。该描述中还给出了一张APT life cycle图形,有利于我们比对此次攻击的特性。

加密94

仅就上面分析的单一木马样本来看,此攻击行为不具备APT的特性,那么将视野拓展到绿盟科技威胁响应中心持续跟踪到的木马攻击事件来看呢?

  • 这些攻击事件的确具有明确的目标
    • 从目前业界热议的案例来看,是这样呈现的
    • 但这是事实还是人为的归类,目前不好说
  • 这些攻击事件的确尝试在被攻击者的电脑中留下后门
    • 但这些后门是否已经在所处网络环境中形成了有组织的布局?
    • 从目前获取的信息及样本中,还很难准确判断
  • 这些被控制的电脑是否都用于攻击中国海事机构?
    • 从目前获取的信息中,还很难准确判断
    • 进而很难说是否还有水面下的攻击涉及了其他目标
  • 一般来说APT攻击都是组合拳,很少呈现单一形式
    • 而此次被业界热议的这些事件,主要都是使用木马
    • 目前绿盟科技威胁响应中心跟踪来看,还没有明显的其他攻击方式,比如漏洞利用的攻击事件,能够与与海事机构的攻击事件相关联
  • 这些攻击背后的组织的确很低调,甚至没有一个准确的名字称呼他们
    • 但从其样本分析及攻击行为来看,虽然水平有所提高,但还没有到达有效掩盖当前攻击路径及未来攻击目标的效果
    • 就此类型及相关攻击目标的木马而言,从2014年甚至更早就有了,且覆盖的范围较大

要关注的事情

上面这些问题的答案需要等待各方面的拼图完成后,才能看到全貌,而正如APT的特性一样,答案的揭晓依赖于威胁响应机构的长期跟踪及分析,这个时间可能需要几个月甚至几年。事实上这个组织到底是谁,可能只有获得公开信息的那一天才能准确描述他们。然而无论真相到底是单纯的木马攻击还是APT,都只是一个定义而已,作为用户真正需要关注的不是这些定义,而是通过分析这些威胁情报,为正确制定自己的防护方案提供支撑。在此之前,作为用户应该关注的事情,是怎么理解目前这些威胁情报,以及下一步该怎么做。

防护:思路转换

绿盟科技威胁响应中心在长年对黑客组织攻击事件的追踪及分析中,获得了丰富的经验积累,建立了成熟的模型去理解它们,试图从中找到规律,以便为应对未来的未知威胁提供经验借鉴。下面跟大家分享其中一个分析模型,虽然不一定适合所有业务环境,但希望可以帮助大家找到指定自身防护方案的一点灵感。

怎么理解

在安全的历史事件长河中,攻击和防护总是像一对冤家相生相克,这些攻防事件虽然呈现万千形态,体现了人与人的智慧较量,但所谓大道至简,通过不断的信息积累,还是可以从中找到一定的规律。

加密95

加密96

这个模型在日前的第7届RSAC 2015安全热点讨论会上 ,赵粮博士曾经提到过,随着攻击方正在变得更有组织化,攻击手段更加复杂化,攻防的格局已经发生变化:

  • 攻击方从正面进攻转向多维度渗透,防守方不再是城防战,而是在广谱和定向的多层次进行塔防战;
  • 攻击者正在变得越来越像防守者,他们同样需要向自己的雇佣者证明的攻击的价值,并取得等效的回报;
  • 攻守双方成败的标准,不再是突破及固守,而是谁获取了更大的价值,局部战术性的胜利对攻击者的意义日益变小;
  • 塔防战胜负的关键,在于防守方需要具有
    • 实时曝光”攻击者的能力,以应急响应为基础,所谓攻守转换
    • 全局视野和态势判断能力,以数据及情报为基础,所谓威胁态势
    • 实时调度和部署能力,以快速机动为前提,所谓软件定义安全

APT攻击从其概念诞生起已经过去了数年,其攻击形式也在不断的发生变化,更何况APT从根本上来说并不能算是一种创新,只是随着防守方的技术及经验的积累,其进攻意识正在向高级形态转变,而这种转变在广泛安全及战争的历史长河中,是很容易找到经验借鉴的。这种意识形态的快速转变,正逼迫着防守方不得不加快自己的脚步,如果还只是停留在基础能力构建上,那么应对APT攻击将日益困难,在未来塔防战中势必处于劣势,更不要说应对未知威胁了。

说到底,技术、机器都是死的,人才是活的,在未来人与人的攻防较量中,需要先把思路转化过来,如果可以通过防守策略调整,建立结构化纵深,让进攻者在短期内很难获得重要性的、大批量的战果,那么就会逼迫攻守双方转入持久战,防守方将有机会赢得更多时间,为转变攻守角色及赢得胜利争取时机,所以可以预期防守方在未来的发展方向,也应该高级化、持续化,或可称为高级持续防护(APP, Advanced Persistent Protection)。

如果您需要咨询相关信息,可以直接通过获取本报告的途径联系您的服务人员,或者直接通过绿盟科技官方微博、微信等方式联系我们。本小节相关的文档可以在这里下载:http://www.nsfocus.com.cn/event/rsa2015/download.html

怎么做

面对这样的挑战,用户制定适合自己的安全防护策略及结构化体系是有一定困难的,特别是在一一些大型的企业或组织中,针对单一木马的防护或许比较容易,但如果是防护APT攻击,就不那么简单了,其原因在于:1需要考虑业务系统的可用性;2需要考虑整体实施方案制定;3需要尽可能降低调整动作对业务环境的二次伤害。这就需要企业自身、业务系统相关厂商、安全厂商一起协作才能形成快速、安全、有效的行动方案,避免业务系统在获得安全加固之前遭受攻击。在此次攻击事件的防护过程中,绿盟科技的服务人员向客户建议实施方案应该且至少包含如下环节:

  • 首先,应该第一时间获取攻击事件的相关情报,分析及理解攻击者的思路及技术特性;
  • 再者,需要将情报与自身实际业务系统状况相结合,全面判断出影响范围和程度(这包括对自身业务及对其客户的影响程度),这个判断过程,需要数据作为准确方案制定的事实依据;
  • 建议用户使用安全可靠的木马扫描工具,升级最新发布的插件或规则库,对全网进行安全扫描,拿到第一手数据后以便作为决策依据;
  • 再次,IT人员需要从业务稳定性、危害程度和范围及重要性等多个维度综合考虑,制定整改时间计划表,权重由高到低依次对局部网络及主机设备或某业务系统设备展开整改和加固工作(建议邀请业务系统相关厂商及安全厂商一同参与)。
  • 这个阶段需要安全厂商提供专业技术协助,比如解决方案选择、系统加固咨询、验证加固是否成功;同时需要了解安全厂商的哪些设备已经发布或即将发布防护规则,升级后即可进行防护;
  • 如果还没有采用任何一款安全设备,就需要采取临时防护措施,包括采用业务系统相关厂商及安全厂商的相关方案,为整体加固争取时间,避免在未加固整改成功之前这个窗口时间遭到攻击并受到损失;
  • 另外,还需要业务系统相关厂商与安全厂商通力协作,互相沟通攻击原理和过程,进行较深层次的解读,才能够促进业务系统相关厂商的开发人员深入了解相关信息,并根据其自身情况进行代码层面的整改;
  • 然后,在加固阶段性或整体完成后,需要再次进行完整扫描和人工验证整改加固结果,在技术投入允许的条件下,建议您再次进行各方面日志分析,观察整改加固期间有没有成功的攻击到其系统造成其他损失;
  • 最后,在整体响应工作完成后,进行总结和备案记录。

防护:NGTP方案

 

在此次攻击事件中,绿盟科技作为安全厂商,建议使用新一代威胁防御解决方案 (NGTP Solution)进行整体防护体系的搭建,从而有效检测和防御APT攻击。考虑到不同的业务环境及成本因素,在使用该解决方案的时候,推荐三种方式:

完整部署

在NGTP方案中着重考虑APT攻击的攻击链条,实现攻击前的检测和防御,让攻击者击“进不来“;即便是在攻击扩散阶段,也可以持续曝光攻击行为,让攻击者及攻击路径“藏不住”,更“带不走”敏感数据。该解决方案由多个不同功能的模块组成,包括绿盟全球威胁信誉系统、威胁分析系统、入侵防护模块、邮件过滤模块、内网流量感知模块,以及本地的安全管理平台。考虑到部署成本,在某些条件不具备的情况下,也可以考虑简化部署方式。

简化部署

在简化部署模式中,主要使用绿盟威胁分析系统(TAC )及绿盟网络入侵防护系统(NIPS)进行联动,从而实现高级恶意软件的检测和防护,尤其是对未知威胁的检测,让用户能够持续应对APT攻击,

对抗攻击者逃避技术 采用虚拟执行技术,不依赖已知攻击特征,可以检测利用0day漏洞以及传统防病毒引擎无法检测的高级恶意软件。不同于沙箱技术仅在行为层面进行检测,可以通过内存指令级分析,在漏洞利用阶段发现攻击,对抗针对沙箱技术的逃避技术;

呈现完整攻击路径及态势分析 对木马、恶意软件在终端的整个活动进行分析,跟踪漏洞利用、软件下载、回连命令控制服务器、外传数据等恶意软件各阶段的活动行为,并输出详细的入侵行为报告。同时提供事件的关联分析、攻击的地理位置视图等先进的可视化能力,更直观的呈现威胁态势;

全面分析保护敏感信息 覆盖主要的传输协议,http、smtp、pop3、ftp等,同时可以对攻击者利用的主要文件类型全面检测,包括Office文档、PDF、Flash等,并可对压缩文件进行检测;

检测精确,减少误报 基于木马、恶意软件在模拟环境下运行的真实行为做判断,误报的几率可以忽略不计,使安全专家聚焦响应真正的威胁,保障安全运维的效率和效果

多引擎集成,更高检测能力 提供事件响应的优先排序:集成多种传统检测引擎,可以通过报警比对等方式了解威胁的严重程度,确定事件响应的优先级。并同时面对传统恶意软件提供更高的检测能力;

闭环结构化纵深,赢得先机 通过两级信誉系统(企业本地信誉库、全球信誉库)联动NIPS,自动化阻截恶意软件的下载及回连活动,保障防御的及时性,为扭转攻防局势赢得先机。

加密97

产品部署

如果您的业务环境中暂时不便实施整体防护方案,部署网络防护产品也是有助于缓解攻击的,以上述方案中的绿盟网络入侵防护系统(NSFOCUS Network Intrusion Prevention System,简称:NSFOCUS NIPS )为例,产品在部署后即可针对已知安全威胁进行防护,同时其持续更新的信誉特征库能够降低未知的恶意软件所带来的危害,并从如下几个方面进行防护:

敏感数据保护 能够识别并阻断特定格式的文件的外发,同时能够检测出文件中包含的敏感数据,进行告警和阻断,保护企业敏感数据,防止敏感数据泄露造成的损失。比如此次攻击事件中的木马,主要外传的文档类型就包括了常见的办公文档类型。

客户端防护 增加了针对主流客户端应用程序的攻击签名规则,如Word、Excel、PDF、Firefox等,增强了客户终端应用程序的安全防护能力。这里也同样建议客户端安装防病毒软件,以便增加防护效能。

服务器非法外联防护 通过服务器的自学习功能或手动设置服务器正常外联行为,建立合法连接,能够检测服务器异于该合法连接的非法外联行为,及时产生告警信息通知网络管理人员,从而检测是否存在跳转等攻击行为。

僵尸网络防护 基于实时的信誉机制,结合企业级和全球信誉库,可有效检测恶意URL、僵尸网络,保护用户在访问被植入木马等恶意代码的网站地址时不受侵害,第一时间有效拦截Web威胁,并能及时发现网络中可能出现的僵尸网络主机和C&C连接。比如此次攻击事件中的木马,就会出现CC连接。

目前,绿盟网络入侵防护系统规则升级包已经就绪,请所有使用绿盟产品的用户尽快升级。

用户可以在绿盟科技官方网站软件升级公告中下载规则升级包进行离线升级,也可以通过产品界面的在线升级进行,相关信息请访问产品升级公告 。

终端防护

通过上面的分析来看,此次的攻击事件可以通过发送定向邮件,引诱收信人打开附件等手段实现感染入侵。为了防止此类事件发生,建议用户内部办公电脑上安装终端防病毒软件。一旦发现异常,需立即隔离受感染电脑,联系安全专家进行查杀。

另外,提高内部员工的安全意识和建立完备的监控体系是防范APT的重要手段。建议对内部员工开展广泛的安全意识培训,避免出现使用弱口令、点击不明来历邮件附件、访问恶意网站等危险行为。

威胁情报

 

从目前此次攻击及各方面应对情况来看,对于一些高级攻击形式,关键在于尽可能快的了解到相关的情报,以便尽可能快的启动应急响应机制。这无论对于解决木马或者APT攻击来说都是重要的手段之一,威胁情报的获取及响应都体现了防御能力的建设程度,威胁情报服务体系至少包含了威胁监测及响应、数据分析及整理、业务情报及交付、风险评估及咨询、安全托管及应用等各个方面,涉及研究、产品、服务、运营及营销的各个环节,绿盟科技通过研究、云端、产品、服务等立体的应急响应体系,向企业和组织及时提供威胁情报,并持续对对匿名者攻击事件进行关注,保障客户业务的顺畅运行。

如果您对我们提供的内容有任何疑问,或者需要了解更多的信息,可以随时通过在微博、微信中搜索 绿盟科技 联系我们,欢迎您的垂询!

关于绿盟科技

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

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

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

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接