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

admin 2024年6月20日13:58:49评论16 views字数 1996阅读6分39秒阅读模式

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

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

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

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

总体设计:

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

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

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

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

执行逻辑:

初始化流程

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

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

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之类的,一般商业化软件存在该行为,绿色软件较少)、触发进程注入、获取计算机敏感信息等等等等,懂得都懂,不细举例。

写到最后

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

原文始发于微信公众号(锐眼安全实验室):一种针对高级威胁惯用方法dll侧加载(白加黑)的防御技术

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年6月20日13:58:49
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   一种针对高级威胁惯用方法dll侧加载(白加黑)的防御技术https://cn-sec.com/archives/2857051.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息