【技术实现步骤摘要】
动态链接库文件劫持检测方法、设备及存储介质
本公开涉及计算机安全
,尤其涉及一种动态链接库劫持检测方法、设备及存储介质。
技术介绍
动态链接库(DynamicLinkLibrary,DLL)是一种包含了可由多个程序同时使用的代码和数据的库,可节省内存和实现代码重用。在Windows中,当执行某一程序时,相应的DLL就会被调用。当进程在加载一个DLL时没有指定DLL的绝对路径,那么Windows会使用一个预定义搜索路径去寻找DLL文件,并且会按照特定的顺序来检索这些路径。若攻击者将恶意的DLL文件放到其中一个路径下,并保证该恶意DLL先于合法的DLL被程序找到时,恶意的DLL便会被进程所加载,发生所谓的DLL劫持。在现有技术中,可以让程序本身去防御或检测DLL劫持,但是程序需要启动后才能开始防御,但程序启动过程中就必须要加载DLL,若启动过程中DLL已经被劫持,则可以修改原有程序的防御或检测逻辑,因此所有程序自身无法防御启动中的DLL劫持。
技术实现思路
本公开实施例提供一种动态数据库劫持检测 ...
【技术保护点】
1.一种动态链接库劫持检测方法,其特征在于,所述方法包括:/n获取目标程序对应的动态链接库DLL文件列表,所述DLL文件列表包括所述目标程序所要调用的所有DLL文件;/n将所述DLL文件列表嵌入到预设的启动器程序中;/n通过所述启动器程序调试启动所述目标程序,并捕获所述目标程序的DLL文件加载事件;/n根据所述DLL文件加载事件,检测加载的DLL文件是否与所述DLL文件列表中的DLL文件是否匹配;/n在加载的DLL文件与所述DLL文件列表中任意一个DLL文件均不匹配时,确定存在DLL劫持。/n
【技术特征摘要】 【专利技术属性】
1.一种动态链接库劫持检测方法,其特征在于,所述方法包括:
获取目标程序对应的动态链接库DLL文件列表,所述DLL文件列表包括所述目标程序所要调用的所有DLL文件;
将所述DLL文件列表嵌入到预设的启动器程序中;
通过所述启动器程序调试启动所述目标程序,并捕获所述目标程序的DLL文件加载事件;
根据所述DLL文件加载事件,检测加载的DLL文件是否与所述DLL文件列表中的DLL文件是否匹配;
在加载的DLL文件与所述DLL文件列表中任意一个DLL文件均不匹配时,确定存在DLL劫持。
2.根据权利要求1所述的方法,其特征在于,所述DLL文件列表还包括:每个DLL文件的校验值;所述方法还包括:
在加载的DLL文件与所述DLL文件列表中的目标DLL文件匹配时,计算所述加载的DLL文件的校验值;
检测所述加载的DLL文件的校验值与所述目标DLL文件的校验值是否相同;
在所述加载的DLL文件的校验值与所述目标DLL文件的校验值不相同时,确定存在DLL劫持。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
在确定存在DLL劫持时,生成提示信息并结束运行所述目标程序。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述加载的DLL文件的校验值与所述目标DLL文件的校验值相同时,继续运行所述目标程序。
技术研发人员:赵培源,韩鹏,余俊峰,
申请(专利权)人:西安四叶草信息技术有限公司,
类型:发明
国别省市:陕西;61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。