一种基于密码控件的网络账号保护方法及系统技术方案

技术编号:14704680 阅读:79 留言:0更新日期:2017-02-25 04:27
本发明专利技术公开了一种基于密码控件的网络账号保护方法及系统,涉及网络账号保护领域。该方法的步骤为:获取直播应用程序安全运行时需要加载的所有正常模块,将所有正常模块保存形成白名单列表;定时获取直播应用程序运行时加载的所有模块;在所述所有模块中,过滤掉白名单列表中的所有正常模块后,得到除白名单列表中的模块之外的剩余模块;分别判断每个剩余模块是否为钩子程序,若是,确定当前模块为异常模块,否则确定当前模块为正常模块。本发明专利技术能够定时检测直播应用程序运行是否安全,显著降低了直播应用程序的账号盗用率,保证了主播使用直播应用程序的安全。

【技术实现步骤摘要】

本专利技术涉及网络账号保护领域,具体涉及一种基于密码控件的网络账号保护方法及系统
技术介绍
目前,直播平台会在PC(personalcomputer,个人计算机)上提供一种供主播直播的软件(应用程序),该软件用于采集主播视频内容并进行直播。主播使用该软件时,需要输入自身唯一的账号以及对应的密码进行登录。目前,PC的操作系统程序一般使用Windows,而Windows提供了一种钩子机制,其中包括键盘钩子程序,该程序能够先于应用程序之前获取到所有的键盘操作。因此,若使用直播应用程序的同时在“不知情”的情况下打开了键盘钩子程序,则钩子程序的发布者即可得知使用当前PC电脑的主播的账号和密码。因此,现有的安装于PC上的直播应用程序使用时往往存在盗号的风险,主播的使用安全难以保障。
技术实现思路
针对现有技术中存在的缺陷,本专利技术解决的技术问题为:检测直播应用程序运行时加载的异常模块。本专利技术能够定时检测直播应用程序运行是否安全,显著降低了直播应用程序的账号盗用率,保证了主播使用直播应用程序的安全。为达到以上目的,本专利技术提供的基于密码控件的网络账号保护方法,包括以下步骤:S1:获取直播应用程序安全运行时需要加载的所有正常模块,将所有正常模块保存形成白名单列表,转到S2;S2:定时获取直播应用程序运行时加载的所有模块,转到S3;S3:在所述所有模块中,过滤掉白名单列表中的所有正常模块后,得到除白名单列表中的模块之外的剩余模块,转到S4;S4:分别判断每个剩余模块是否为钩子程序,若是,确定当前模块为异常模块,转到S5;否则确定当前模块为正常模块,转到S5;S5:判断当前直播应用程序是否运行完毕,若是,结束,否则继续执行S2。本专利技术提供的实现上述方法的基于密码控件的网络账号保护系统,包括白名单列表获取模块、定时检测模块、异常过滤模块、异常排查模块和程序使用状态监控模块;白名单列表获取模块用于:获取直播应用程序安全运行时需要加载的所有正常模块,将所有正常模块保存形成白名单列表,向定时检测模块发送定时检测信号;定时检测模块用于:收到定时检测信号后,定时获取直播应用程序运行时加载的所有模块,向异常过滤模块发送异常过滤信号;异常过滤模块用于:收到异常过滤信号后,在所述所有模块中,过滤掉白名单列表中的所有正常模块后,得到除白名单列表中的模块之外的剩余模块,向异常排查模块发送异常排查信号;异常排查模块用于:收到异常排查信号后,分别判断每个剩余模块是否为钩子程序,若是,确定当前模块为异常模块,向程序使用状态监控模块发送程序使用状态监控信号;否则确定当前模块为正常模块,向程序使用状态监控模块发送程序使用状态监控信号;程序使用状态监控模块用于:收到程序使用状态监控信号后,判断定时检测模块检测的直播应用程序是否运行完毕,若是,结束,否则向定时检测模块发送定时检测信号。与现有技术相比,本专利技术的优点在于:本专利技术会定时获取直播应用程序运行时加载的所有模块,过滤安全模块后,对剩余的每个模块进行检测是否存在钩子程序,若是,则证明该模块是异常模块。因此,与现有技术中存在盗号风险的直播应用程序相比,本专利技术能够定时检测直播应用程序运行是否安全,显著降低了直播应用程序的账号盗用率,保证了主播使用直播应用程序的安全。附图说明图1为本专利技术实施例中基于密码控件的网络账号保护方法的流程图。具体实施方式以下结合附图及实施例对本专利技术作进一步详细说明。参见图1所示,本专利技术实施例中的基于密码控件的网络账号保护方法,包括以下步骤:S1:获取直播应用程序安全运行时需要加载的所有正常模块,将所有正常模块保存形成白名单列表,转到S2。S1中直播应用程序安全运行时需要加载的所有正常模块的获取流程为:预先安全认证一台PC,在该PC上运行直播应用程序,获取直播应用程序加载的所有模块,即为正常模块(直播应用程序在安全的PC上运行时加载的模块,一定需要加载的正常模块)。S2:通过WindowsAPI函数EnumProcessModules定时获取直播应用程序运行时加载的所有模块,转到S3。S3:在S2获取的所有模块中,过滤掉白名单列表中的所有正常模块,得到除白名单列表中的模块之外的剩余模块,以便转到S4进行进一步检测。S4:分别判断每个剩余模块是否为钩子程序,若是,确定当前模块为异常模块,发出告警(例如提示用户是否进行病毒查杀等)后转到S5,否则确定当前模块为正常模块,直接转到S5。由于钩子程序必定会使用到Windows模块User32.dll中的函数SetWindowsHookEx,因此本专利技术通过检测剩余模块是否使用到函数SetWindowsHookEx,若是,则证明当前模块为异常模块,否则证明当前模块为正常模块。S5:判断当前直播应用程序是否运行完毕,若是,结束,否则继续执行S2。S2中获取直播应用程序运行时加载的所有模块的具体流程为:S201:获取与直播应用程序对应进程的句柄hProcess:HANDLEhProcess=GetCurrentProcess();其中GetCurrentProcess代表Windows提供的获取进程句柄API。S202:根据S201中进程的句柄,获取该进程加载的所有模块的句柄EnumProcessModules:EnumProcessModules(HANDLEhProcess,HMODULE*lphModule,DWORDcb,LPDWORDlpcbNeeded);其中参数hProcess填入S201中获取的进程的句柄,参数lphModule代表用来保存获取到的模块句柄列表,参数cb代表lphModule能够存放的句柄个数;参数lpcbNeeded代表实际获取到的句柄个数。S203:通过GetModuleFileNameEx获取每个句柄对应的模块名称:GetModuleFileNameEx(HANDLEhProcess,HMODULEhModule,LPTSTRlpFilename,DWORDnSize);其中参数hProcess与S202相同,参数hModule填入S202中获取的所有模块的句柄,参数lpFilename代表每个句柄对应的模块名称,参数nSize代表lpFilename的空间大小。S4中检测剩余模块是否使用到函数SetWindowsHookEx的原理为:检测一个模块使用到哪些函数时,需要读取该模块的导入表,导入表中存储有该模块使用到的函数。在此基础上,检测剩余模块是否使用到函数SetWindowsHookEx的具体流程为:S401:根据剩余模块的句柄(hMoudle),获取当前剩余模块的DOS头(DosHeader),根据DOS头获取当前剩余模块的NT头(NtHeader):PIMAGE_DOS_HEADERpDosHeader=(PIMAGE_DOS_HEADER)hMoudle;PIMAGE_NT_HEADERSpNtHeader=(PIMAGE_NT_HEADERS)(hMoudle+pDosHeader->e_lfanew)。S402:确定当前剩余模块的导入表索引(MAGE_DIRECTORY_ENTRY_IMPORT),根据该索引获取当前剩余模块的导入表;确定该导入表相对于NT头中存放的当前剩余模块的起始内存地本文档来自技高网...
一种基于密码控件的网络账号保护方法及系统

【技术保护点】
一种基于密码控件的网络账号保护方法,其特征在于,该方法包括以下步骤:S1:获取直播应用程序安全运行时需要加载的所有正常模块,将所有正常模块保存形成白名单列表,转到S2;S2:定时获取直播应用程序运行时加载的所有模块,转到S3;S3:在所述所有模块中,过滤掉白名单列表中的所有正常模块后,得到除白名单列表中的模块之外的剩余模块,转到S4;S4:分别判断每个剩余模块是否为钩子程序,若是,确定当前模块为异常模块,转到S5;否则确定当前模块为正常模块,转到S5;S5:判断当前直播应用程序是否运行完毕,若是,结束,否则继续执行S2。

【技术特征摘要】
1.一种基于密码控件的网络账号保护方法,其特征在于,该方法包括以下步骤:S1:获取直播应用程序安全运行时需要加载的所有正常模块,将所有正常模块保存形成白名单列表,转到S2;S2:定时获取直播应用程序运行时加载的所有模块,转到S3;S3:在所述所有模块中,过滤掉白名单列表中的所有正常模块后,得到除白名单列表中的模块之外的剩余模块,转到S4;S4:分别判断每个剩余模块是否为钩子程序,若是,确定当前模块为异常模块,转到S5;否则确定当前模块为正常模块,转到S5;S5:判断当前直播应用程序是否运行完毕,若是,结束,否则继续执行S2。2.如权利要求1所述的基于密码控件的网络账号保护方法,其特征在于:S1中所述直播应用程序安全运行时需要加载的所有正常模块的获取流程为:预先安全认证一台PC,在该PC上运行直播应用程序,获取直播应用程序加载的所有模块,所述所有模块均为正常模块。3.如权利要求1所述的基于密码控件的网络账号保护方法,其特征在于:S2中所述获取直播应用程序运行时加载的所有模块的具体流程为:S201:获取与直播应用程序对应进程的句柄;S202:根据所述进程的句柄,获取该进程加载的所有模块的句柄;S203:获取每个句柄对应的模块名称。4.如权利要求1所述的基于密码控件的网络账号保护方法,其特征在于:S4的具体流程为:分别检测每个剩余模块是否使用到函数SetWindowsHookEx,若是,则确定当前模块为异常模块,否则确定当前模块为正常模块。5.如权利要求4所述的基于密码控件的网络账号保护方法,其特征在于:S4中所述检测每个剩余模块是否使用到函数SetWindowsHookEx的具体流程为:S401:根据剩余模块的句柄,获取当前剩余模块的DOS头,根据DOS头获取当前剩余模块的NT头,NT头中存放有当前剩余模块的起始内存地址;S402:确定当前剩余模块的导入表索引,根据该索引获取当前剩余模块的导入表;确定该导入表相对于当前剩余模块的起始内存地址的偏移;S403:根据导入表相对于当前剩余模块的起始内存地址的偏移,确定当前导入表的内存地址;S404:在导入表中获取当前剩余模块使用的所用函数,判断所有函数中是否存在函数SetWindowsHookEx,若是,则证明当前模块使用到函数SetWindowsHookEx,否则证明当前模块未使用到函数SetWindowsHookEx。6.一种实现权利要求1至5任一项所述方法的基于密码控件的网络账号保护系统,其特征在于,该系统包括白名单列表获取模块、定时检测模块、异常过滤模块、异常排查模块和程序使用状态监控模块;白名单列表获取模块用于:获取直...

【专利技术属性】
技术研发人员:周志刚
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1