首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

基于ring3环对抗的程序行为保护方法、系统及存储介质 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:中国电力科学研究院有限公司;国网福建省电力有限公司电力科学研究院;国家电网有限公司

摘要:本发明提供的基于ring3环对抗的程序行为保护方法、系统及存储介质,设置了两个独立保护方法,即利用异常处理链对程序实行反调试保护和通过自实现的接口调用函数对程序中需要使用的API进行隐藏;上述两种方法既可独立执行又可相互配合执行。为了防止攻击者对软件进行InlineHook,设置了统一的函数接口,并监控函数入口处代码是否被修即hook,根据判断情况选择性地执行不同逻辑完成函数的调用,从而绕过hook;给所有API的调用套上了一层保护膜,通过设计统一的函数接口,所有API的调用都将借用该接口实现,通过这种方法,能够很好地实现程序行为隐藏,实现行为保护。

主权项:1.一种基于ring3环对抗的程序行为保护方法,其特征在于,包括以下步骤:S1、捕捉异常事件,在自定义的异常处理链中设置检测代码,判断程序是否被调试,如果被调试,则终止程序的运行;如果未检查出是否被调试,则进行下一步;S2、采用自实现GetModuleHandle函数获取动态链接库中dll的基地址;并根据获取到的dll的基地址,以及想获取的API函数名,利用自定义GetProcAddress函数,得到API函数的地址,并将API函数的地址按照匹配规则保存在函数向量中,隐藏API函数;S3、设置统一函数接口,检测被调用的API函数是否被InlineHook,若是,则绕过被Hook的代码,否则,直接调用API函数,实现有选择性地完成系统调用;在S1中,捕捉异常事件时,包括如下步骤:在异常处理链分发流程中,设置取消线程调试事件,使异常调用链接管异常;从EXCEPTION_RECORD,CONTEXT结构中获取异常类型,异常信息以及异常上下文;设置DR0~DR3调试寄存器的值为固定的陷阱值,在自定义的异常处理链中通过比对陷阱值,并检测异常类型和异常地址所在页的页属性进行反调试;通过InlineHookRtlpCallVectoredHandlers函数,先于VEH调试器接管异常,掌握代码逻辑执行流,实现代码控制,进行反调试检测;在S1中依据异常处理链的分发逻辑设置联合反调试框架,实现反调试,所述异常处理链的分发逻辑包括如下步骤:S101、系统第一次分发被调试程序发出的调试事件,如果存在调试器调用WaitForDebugEvent函数,则WaitForDebugEvent函数会返回一个DEBUG_EVENT结构体,如果没有调试器处理调试事件,则进行下一步;S102、系统进入异常分发处理逻辑,经过RtlDispatchException函数,进行异常处理,RtlpCallVectoredHandlers函数将异常分发给注册的VEH函数,如果无法处理异常,则进行下一步;S103、系统继续执行异常分发处理逻辑,经过KiUserExceptionDispatcher函数,RtlDispatchException函数和RtlpExecuteHandlerForException函数将异常分发给注册的SEH函数,如果无法处理异常,则进行下一步;S104、系统再次发出被调试程序发出的调试事件,如果存在调试器,则由调试器接管,否则,则进行下一步;S105、系统执行异常分发处理逻辑,经过KiUserExceptionDispatcher函数,RtlDispatchException函数和RtlExecuteHandlerForException函数将异常分发给系统处理异常的UEF函数,在分发异常给UEF函数时,会调用NtQueryInformationProcess函数,并设置函数的第二个参数ProcessInformationClass为ProcessDebugPort,判断当前进程是否被调试,如果被调试,则终止程序的运行。

全文数据:

权利要求:

百度查询: 中国电力科学研究院有限公司 国网福建省电力有限公司电力科学研究院 国家电网有限公司 基于ring3环对抗的程序行为保护方法、系统及存储介质

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。