[发明专利]检测程序是否运行于金山安全沙箱系统环境的方法及系统有效
申请号: | 202010458742.4 | 申请日: | 2020-05-27 |
公开(公告)号: | CN111611580B | 公开(公告)日: | 2022-09-23 |
发明(设计)人: | 刘德建;任佳伟;陈宏展 | 申请(专利权)人: | 福建天晴在线互动科技有限公司 |
主分类号: | G06F21/53 | 分类号: | G06F21/53 |
代理公司: | 福州旭辰知识产权代理事务所(普通合伙) 35233 | 代理人: | 程勇 |
地址: | 350212 福*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 检测 程序 是否 运行 金山 安全 系统 环境 方法 | ||
1.一种检测程序是否运行于金山安全沙箱系统环境的方法,其特征在于:所述方法为:
遍历操作系统中运行的所有进程,检测是否匹配到一个进程名或进程的主模块的模块名为“ksandbox.exe”的进程;是,则操作系统存在特征一ksandbox.exe;否,则不存在;
遍历操作系统中运行的所有进程,检测是否匹配到一个加载了动态链接库“kislog.dll”的进程;是,则操作系统存在特征二kislog.dll;否,则不存在;
检测在应用程序的内存空间中是否发现加载动态链接库“KisDcom.dll”的痕迹;是,则操作系统存在特征三KisDcom.dll;否,则不存在;获取三个特征的检测结果;
通过设定的精确判定模式或者模糊判定模式的对应方式对检测结果做出分析,并返回分析结果,即能判断应用程序是否运行于金山安全沙箱系统环境中;
所述模糊判定模式的对应方式是只要应用程序检测到系统环境中存在金山安全沙箱系统三个特征中的任意一个,则判定应用程序当前运行的操作系统环境为金山安全沙箱系统环境;
所述精确判定模式的对应方式是当且仅当检测到系统环境中存在金山安全沙箱系统特征三时,则判定应用程序当前运行的操作系统环境为金山安全沙箱系统环境;
所述方法中三个特征均以字符串的形式被存储于程序文件中;应用程序A启动运行,应用程序A开始执行特征检测,应用程序A定义并初始化3个默认值为0的DWORD类型的数据变量,分别命名为Feature_1、Feature_2、Feature_3,其中Feature_1、Feature_2、Feature_3各自对应特征一、特征二、特征三是否被检测到;
所述方法进一步包括如下步骤:
步骤2.1、应用程序A申请一第一内存空间,将此第一内存空间命名为Buffer_Pid,用于存储所有进程的PID数组,应用程序A申请一第二内存空间,将此第二内存空间命名为Buffer_Module,用于存储进程的所有模块的句柄数组,应用程序A申请一第三内存空间,将此第三内存空间命名为Buffer_Path,用于存储进程的文件路径;
步骤2.2、应用程序A调用Windows API EnumProcesses枚举当前操作系统中所有进程的PID,并将枚举的结果以DWORD数组的形式存储于内存空间Buffer_Pid中,同时从EnumProcesses的返回结果中获得返回的PID数量,将此PID数量命名为Proc_Account;
步骤2.3、应用程序A遍历Proc_Account次,每次从Buffer_Pid中取出一个数据,第N轮遍历则取出Buffer_Pid中存储的第N个PID,记录为Pid_Tmp;如果遍历满Proc_Account次或满足计算条件(Feature_1+Feature_2)0,则退出循环,进入步骤2.9;
步骤2.4、应用程序A调用Windows API OpenProcess并且传入参数PROCESS_QUERY_INFORMATION和PROCESS_VM_READ,打开PID为Pid_Tmp的进程,获取该进程的进程句柄Handle_Proc;
步骤2.5、应用程序A调用Windows API EnumProcessModules并且传入参数Handle_Proc,枚举PID为Pid_Tmp的进程的所有模块的模块句柄信息,并将枚举的结果以DOWRD数组的形式存储于内存空间Buffer_Module中,同时从EnumProcessModules的返回结果中获得返回的模块数量,将此模块数量命名为Modules_Account;
步骤2.6、应用程序A遍历Modules_Account次,每次从Buffer_Module中取出一个数据,第N轮遍历则取出Buffer_Module中存储的第N个模块句柄,记录为ModuleHandle_Tmp;
步骤2.7、应用程序A调用Windows API GetModuleFileNameEx查询模块句柄为ModuleHandle_Tmp的模块的模块名Path,API调用完成后Path会以字符串的形式存储至内存空间Buffer_Path中;
步骤2.8、应用程序A通过字符串比较,查看Buffer_Path存储的字符串是否包含主模块的模块名特征字符串“ksandbox.exe”和模块名特征字符串“kislog.dll”,如果两次字符串比较均未匹配,则进入下一轮循环;否则,如果匹配“ksandbox.exe”成功,则将Feature_1赋值为1;如果匹配“kislog.dll”成功,则将Feature_2赋值为1;
步骤2.9、应用程序A调用Windows API GetModuleHandle,传入参数“KisDcom.dll”,若返回值不为0,则可判定在应用程序A的内存空间中发现加载动态链接库“KisDcom.dll”的痕迹,即应用程序A被金山安全沙箱软件注入了动态链接库“KisDcom.dll”,在这种情况下,将Feature_3赋值为1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建天晴在线互动科技有限公司,未经福建天晴在线互动科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010458742.4/1.html,转载请声明来源钻瓜专利网。