内存保护|解决内存马攻击的有利手段
作者:星期一, 三月 15, 20210

对于信息安全从业者来说,内存马攻击并不是一个崭新的概念,在近两年的攻防演练中更是成为“热门话题”。内存马在攻防演练及实战中如何展开攻击、检测防御是大家一直关注的焦点。

本文将为大家介绍“为什么内存保护是解决内存马攻击的有利手段?”,帮助大家解决内存马攻击这一令人头痛的问题。

为什么内存马备受关注?

据波尼蒙研究所发现,2018年所有网络攻击中有35%是无文件的,而Carbon Black声称无文件攻击占2018年所有成功数据泄露的50%。Trend Micro网络安全报告数据显示,无文件攻击在2019年上半年增长了256%。可见,该攻击呈现剧增的趋势。

内存马作为无文件攻击的一种形式,以JAVA内存马为例,利用反序化漏洞、代码执行漏洞、文件上传漏洞,完成Filter内存马的注入后,结合其他攻击手法如采用冰蝎的AES动态加密Webshell、使用伪造的HTTPS证书进行流量加密或自定义编解码方式,进而达到流量混淆规避监测等效果。众所周知,“大数据”是企业的核心资产,而该攻击行为可以躲避传统安全产品的检测,对企业服务器进行攻击,从而造成数据泄露等严重后果。正因为此,近些年以来,内存马攻击一直备受关注,成为众多CIO/CSO等从业者关注的安全问题。

什么是内存马?

内存马,又称之为无文件马。是在内存中写入恶意后门和木马并执行,达到远程控制Web服务器的一类内存马,其瞄准了企业的对外窗口:网站、应用。但传统的Webshell都是基于文件类型的,黑客可以利用上传工具或网站漏洞植入木马,区别在于Webshell内存马是无文件马,利用中间件的进程执行某些恶意代码,不会有文件落地,给检测带来巨大难度。而内存攻击者正是利用软件安全漏洞,构造恶意输入导致软件在处理输入数据时出现非预期错误,将输入数据写入内存中的某些特定敏感位置,从而劫持软件控制流、执行流,转而执行外部输入的指令代码,造成目标系统被获取远程控制,让内存马的攻击得以实现。

常见内存马分类有哪些?

当前黑客攻击的目标不仅仅局限于终端,针对服务器的攻击也在日益增多。通过分析和梳理,内存马攻击通常发生在Web系统后端脚本、Java容器和操作系统平台脚本中。我们总结了部分基于运行环境的主流内存马分类图谱,如下图所示:

针对PC终端的内存马攻击主要有两类:

  1. PowerShell、WMI 、VBA、JS、VBS等类型的脚本攻击,它们会依托系统的一些白程序/工具,通过这些白程序/工具来在内存中执行脚本程序。
  2. 二进制Shellcode攻击,这类攻击会通过控制程序执行流让Shellcode获得执行机会,Shellcode在磁盘中没有文件跟它对应,只在内存中存在。服务器上除了会有上述两类攻击外,由于服务器上主要运行Java和PHP等应用,攻击者还会重点利用Java内存马和PHP内存马来攻击服务器。

内存马攻击的检测难点

内存马有如下三点让其难以检测:

  1. 内存马无逻辑结构边界,难以被发现内存马仅存在于进程的内存空间中,通常与正常的/合法的代码、数据混淆。内存马与传统恶意代码的不同之处在于它没有磁盘文件,会导致传统的检测防护手段失效。
  2. 内存马缺乏稳定的静态特征,难以被识别内存马缺乏结构化的静态形式,它依附在进程运行期间的输入数据进入进程,数据可能被加密混淆,因此,无法通过特征识别内存马。
  3.  内存马种类多,检测机制复杂而多样内存马有二进制代码片段(Shellcode)、PowerShelll脚本、Web中间件等类型,每种类型又可细分,不同类型内存马的执行方式、恶意代码/行为触发机制各不相同。

内存保护是解决内存马攻击的有利手段

通过前面的内容,我们了解到,内存马的种类多,检测机制复杂多样,传统的安全产品或解决方案难以在第一时间发现并阻断内存马攻击。而安芯神甲智能内存保护系统囊括了基于硬件虚拟化技术架构打造的内存保护、行为分析、漏洞防御、动态枚举等检测防御模块,可以有效帮助客户抵御各类内存马攻击。

写在最后

应对安全威胁,首先做的是对攻击深度认知、明确攻击原理及如何纵深防御。内存马虽然在攻击链中难以检测,但是内存保护系统可以从内存级别进行全方位的信息收集与检测分析,从根本上解决此类威胁攻击。无疑来讲,内存保护是解决内存马攻击的有利手段。


相关文章