长亭百川云 - 文章详情

一种针对高级威胁惯用方法dll侧加载(白加黑)的防御技术

virk

61

2024-06-17

高级威胁技术目前不仅在APT攻击中使用频繁,黑灰产也同样在使用,花样繁多,举不胜数,大致可分为两派系,其一是以武力见长短的漏洞植入派,其二是以利用人性弱点的欺骗派,本文不做细度探讨,仅针对其惯用技术且从出现就是业内难题的dll侧加载(俗称白加黑)技术做防御思路。

依稀记得早年有个病毒名唤九月的雪,由一个exe和一个配置文件构成,如果不存在那个配置文件,exe就是个非常浪漫的屏保,如果存在,屏保下就藏着一个后门,可谓是白加黑的开山鼻祖,后面的白加黑也都以这类模式进行传承,无非是加载的组件多少与过程复杂度罢了,通俗点讲可以理解为灯下黑,也可以看成金庸先生描写《倚天屠龙记》中绿柳山庄中的投毒故事。

本文分享一种基于软件组态差异化进行正推理、逆推理从而鉴定软件是否被非法利用的方法。下述思路主要出自于笔者这些年工作总结,一同分享出来,抛砖引玉。

总体设计:

总体流程分为两部分,第一部分是初始化流程,第二部分是对进程或白名单进程的判断流程。

初始化流程需要在软件安装后重新进行,判断软件安装比较简单,比如开始菜单、桌面、快速启动等位置创建了lnk文件,主要作用用是构建本机软件组态特征库,并在有条件的情况下进行云同步。

判断流程是根据软件组态的不一致性对不同差异的处置逻辑。

执行逻辑:

初始化流程

1)该程序首次启动(可判断数据库是否为空鉴别)或开机启动(防止被曾经异常结束)对安装软件进行组态库创建,特征组以应用程序的每个exe为检索key创建,对应图中“单独exe文件特征”,应用程序可以通过枚举注册表或遍历相应目录获得。特征取值使用文件资源中的产品名称加原始文件名计算crc32就可以了,可以保证性能和跨版本的检出率。同理,特征一、二、三、四均使用该方法计算,区别是特征一、二、三、四是使用了多个文件获取的数据进行计算,用于区别正常软件与被恶意利用软件在使用形态上的差异。如果软件组态完整只是其中某功能模块遭到篡改,本文监测能力是对其无效的,具体问题具体处置,软件供应链安全检测相关方法可参见笔者另一篇文章。对于新增的软件,可监控开始菜单、桌面、快速启动lnk文件的创建事件从而获取。

2)注册进程启动通知对exe文件启动进行检查,有条件的可对属于白名单的exe文件启动进行检查。

检测流程

1)捕获进程启动事件后获取进程映像,根据初始化例程中的计算方法计算其“单独exe文件特征”,查询本地软件组态特征库,命中返回该exe对应的特征组并进入逻辑2,非命中返回空进入逻辑6

2)判断返回的特征组中特征一是否等于当前特征,特征一的描述是当前目录所有exe文件共同计算出的特征值,如果特征一等于当前特征则可以表明原始软件当前目录只有一个exe,故进入逻辑3进一步判断;如果不等于则表明原始软件目录是大于一个exe文件的,进入逻辑4

3)获取当前目录所有dll与sys文件计算特征值,并判断是否等于特征三,如果不等于进入处置流程1进行阻断,这一步表明在exe文件相同的情况下目录存在与个数或分发者与原始软件不同的dll文件,这里误报仅可能为将多家软件绿化后打包到一起的工具集;如果等于进入逻辑5

4)遍历当前目录是否大于1个exe文件,如果不大于,说明合法软件被拿出利用,则可以进入处置流程1,这里存在人为性的拷贝测试误报或单一功能打包分发情况,亦可根据情况进入处置流程5或定义返回标志位增加判断逻辑;如果大于则获取并计算所有exe文件的特征值,并与特在一比较,不等于进入处置流程1或流程5或自定义其他判断逻辑;等于则进入流程3

5)递归子目录遍历所有exe文件计算特征二与遍历所有dll和sys文件计算特征四(没有子目录或目录为空以空特征计算),并于特征二与特征四进行对,如果均不同,说明原始软件被删改很大,进入处置逻辑2;如果其中一个不等于,进入处置逻辑3,这里其中一个不一致大概率为软件绿化删减了部分执行程序;如果均相同进入处置逻辑4,说明软件与原始版本一致,从软件发行商角度可视为安全。

6)计算特征值一、二、三、四进行云查,云查命中返回具体处置方式(数据运营模式决策);非命中执行处置流程5

处置流程

1、报警不安全的软件,默认阻断运行

2、报警高风险的软件,推荐阻断

3、报警缺失组件的绿色软件,提示用户

4、正常软件,不处置

5、进入行为监控,触发高风险行为阻断。高风险行为可参考联网发送密文数据,联网发送包含敏感关键字的明文数据(敏感关键字可为username之类的,一般商业化软件存在该行为,绿色软件较少)、触发进程注入、获取计算机敏感信息等等等等,懂得都懂,不细举例。

写到最后

本方法本文作者不保留任何知识产权,可在公益与商用环境下随意使用,但禁止使用本文相关内容申请发明专利,如与他人知识产权存在冲突,本文作者概不负责。

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2