一种基于调用链验证的勒索软件对抗方法与流程

文档序号:36328500发布日期:2023-12-09 23:03阅读:52来源:国知局
一种基于调用链验证的勒索软件对抗方法与流程

本发明涉及计算机数据安全,具体为一种基于调用链验证的勒索软件对抗方法。


背景技术:

1、调用链是指一个软件程序在执行期间各个模块或函数之间的相互调用关系,系统会对进程或应用程序进行监视,记录它们的调用链信息和执行流程。通过分析和验证这些调用链,系统能够检测到不正常的行为或恶意活动,包括勒索软件的加密过程、文件修改和网络通信等。从而中断勒索软件的运行、阻止其对文件的写入操作。由于勒索病毒针对的是普通数据文件,所以本身不要求较高的运行权限,也没有其他木马、病毒类的高危特征行为,因此,杀毒软件往往对勒索病毒并无察觉。应运而生的防勒索软件一方面通过特征检查查杀已知的勒索软件,对于未知的勒索软件,主要靠行为分析来鉴别和隔离。

2、目前大多的靠特征检查查杀防勒索软件,仅适用于已知的勒索软件。而勒索软件是不断推陈出新的,特征不断在变化中,这种方式无法防范变种的或新型的勒索软件。靠未知程序行为分析的话必然要设定白名单,例如office的应用程序读取doc必然要通过白名单放行。2020年以来,以ryuk勒索病毒为代表的新一代勒索病毒都具备了应用程序注入能力,即注入正规应用程序内部去破坏特定类型的数据文件。这种情况靠未知程序行为分析技术往往会直接忽略,导致勒索软件得逞。为此本发明提出一种基于调用链验证的勒索软件对抗方法。


技术实现思路

1、针对现有技术的不足,本发明提供了一种基于调用链验证的勒索软件对抗方法,解决了现有技术中系统靠未知程序行为分析技术往往会直接忽略,导致勒索软件得逞的问题。

2、为实现以上目的,本发明通过以下技术方案予以实现:一种基于调用链验证的勒索软件对抗方法,包括以下步骤:

3、步骤一、首先安装一个minifilter驱动程序,过滤所有的对敏感文件的写操作,对于敏感文件的写操作,需要对其进行中断调查处理,获取一个从应用到内核的调用链;

4、步骤二、对获取到的调用链进行清洗,将调用地址同所在模块基地址相减,得到相对地址,将连续的重复的调用所在模块合并为一,形成一个简单的、但保留了主要特征的调用链;

5、步骤三、将调用链存储到数据库,标记为正常应用程序行为,此数据库就是当前计算机的基线数据库;

6、步骤四、对于一些知名软件的正规文件访问行为形成一个内建数据库,随同产品一起发布;

7、步骤五、在运行期,采用同样的办法获取到对敏感文件的写操作,并提取和清洗调用链,将调用链在内建数据库中查找,以做进一步的判定,如果匹配不到,则中断此次写文件的行为,并向管理员发出告警;

8、步骤六、管理员如果认为这依然是正规的文件读写行为,则此次的调用链被当作正规调用链记录到当前计算机的基线数据库内;

9、步骤七、如果发现这不是正规文件读写行为,则很有可能遭遇未知勒索病毒,管理员可以发起进一步处置。

10、优选的,所述步骤一中的过滤所有的对敏感文件的写操作包括以下步骤:

11、在minifilter驱动程序中实现文件写操作的回调函数,这些回调函数会在文件写入操作发生之前被调用,允许驱动程序检查和干预文件操作;

12、在回调函数中,驱动程序可以通过硬编码敏感文件路径检查正在被写入的文件路径,筛选出敏感文件路径或特定类型的文件。

13、优选的,所述步骤一中的中断调查处理包括以下步骤:

14、敏感文件的写操作首先产生中断,然后调用内核函数rtlcapturestackbacktrace来获取当前的调用栈帧;

15、回溯栈到达内核层顶端之后,获取当前线程id,再在应用层获取该线程的应用层调用栈,形成一个从应用层到内核层的完整调用链;

16、每一层调用都记录函数地址、参数个数。

17、优选的,所述步骤二中的调用链清洗包括以下步骤:

18、对获取到的调用链数据进行初步处理,排除系统中正常的、合法的调用行为;

19、通过识别和提取勒索软件行为的特征来对调用链进行过滤;

20、对过滤出的调用链进行关联分析,以确定恶意行为之间的关系和序列;

21、对于被过滤出的调用链,进一步进行验证和验证结果的后处理。

22、优选的,所述步骤二中的重复的调用所在模块合并为一包括以下步骤:

23、对收集到的调用链数据进行遍历,找出连续重复的调用;

24、将连续重复的调用所在的模块合并为一个模块表示,即将这些重复的调用看作一个整体,只保留一个代表性的调用作为合并后模块的代表;

25、在合并结束后,更新调用链数据,将合并后的模块替代原来的连续重复调用,这样可以减少调用链的长度,并提高后续分析和识别的效率。

26、优选的,所述步骤三中的标记为正常应用程序行为包括以下步骤:

27、将收集到的调用链数据存储到数据库中,每个调用链将作为一个记录插入数据库表中;

28、对已知的正常应用程序行为进行分析和确定,并为这些行为的调用链添加标记或标识。

29、优选的,所述步骤四中形成一个内建数据库包括以下步骤:

30、收集与这些知名软件相关的文件访问行为数据;

31、设计一个数据结构来存储知名软件的文件访问行为数据,并将收集到的文件访问行为数据录入到数据库中;

32、定期维护和更新数据库,以跟踪知名软件的版本更新和行为变化。

33、优选的,所述步骤五中的在内建数据库中查找包括以下步骤:

34、在系统中的内核函数rtlcapturestackbacktrace设置监测和捕获机制,以获取运行时的调用链数据;

35、将实时捕获的调用链与建立的内建数据库进行比,通过模式匹配算法对其进行验证判定。

36、优选的,所述步骤五中进一步的判定包括:

37、如果匹配到,则说明是正规应用程序读写行为,执行放行指令;

38、如果匹配不到,则在当前计算机的基线数据库中查找,并采用相同的方式查找,如果匹配到,则说明是正规应用程序读写行为,执行放行指令。

39、优选的,所述步骤一和步骤五中对写入文件进行中断的方式为tripwire、osquery、acl、crowdstrike或carbon black中的任意一种。

40、本发明提供了一种基于调用链验证的勒索软件对抗方法。具备以下有益效果:

41、1、本发明通过采用调用链验证的方式,使通过注入方式来访问敏感文件的勒索病毒也能被阻断。

42、2、本发明采用内建基线库加当前计算机自学习基线库的方法,提高本方法的适应性。

43、3、本发明通过驱动程序拦截分析调用链,勒索病毒注入正规应用程序中发起操作,依然能够被准确识别。



技术特征:

1.一种基于调用链验证的勒索软件对抗方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于调用链验证的勒索软件对抗方法,其特征在于,所述步骤一中的过滤所有的对敏感文件的写操作包括以下步骤:

3.根据权利要求1所述的一种基于调用链验证的勒索软件对抗方法,其特征在于,所述步骤一中的中断调查处理包括以下步骤:

4.根据权利要求1所述的一种基于调用链验证的勒索软件对抗方法,其特征在于,所述步骤二中的调用链清洗包括以下步骤:

5.根据权利要求1所述的一种基于调用链验证的勒索软件对抗方法,其特征在于,所述步骤二中的重复的调用所在模块合并为一包括以下步骤:

6.根据权利要求1所述的一种基于调用链验证的勒索软件对抗方法,其特征在于,所述步骤三中的标记为正常应用程序行为包括以下步骤:

7.根据权利要求1所述的一种基于调用链验证的勒索软件对抗方法,其特征在于,所述步骤四中形成一个内建数据库包括以下步骤:

8.根据权利要求1所述的一种基于调用链验证的勒索软件对抗方法,其特征在于,所述步骤五中的在内建数据库中查找包括以下步骤:

9.根据权利要求1所述的一种基于调用链验证的勒索软件对抗方法,其特征在于,所述步骤五中进一步的判定包括:

10.根据权利要求1所述的一种基于调用链验证的勒索软件对抗方法,其特征在于,所述步骤一和步骤五中对写入文件进行中断的方式为tripwire、osquery、acl、crowdstrike或carbon black中的任意一种。


技术总结
本申请涉及计算机数据安全技术领域,公开了一种基于调用链验证的勒索软件对抗方法,包括以下步骤:步骤一、首先安装一个Minifilter驱动程序,过滤所有的对敏感文件的写操作,对于敏感文件的写操作,需要对其进行中断调查处理,获取一个从应用到内核的调用链;步骤二、对获取到的调用链进行清洗,将调用地址同所在模块基地址相减,得到相对地址,将连续的重复的调用所在模块合并为一,形成一个简单的、但保留了主要特征的调用链。通过采用调用链验证的方式,使通过注入方式来访问敏感文件的勒索病毒也能被阻断,同时通过驱动程序拦截分析调用链,勒索病毒注入正规应用程序中发起操作,依然能够被准确识别。

技术研发人员:陆腾
受保护的技术使用者:山东固信软件有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1