具体实施方式
在一个实施例中,如图1所示,一种更新扫描规则的方法,包括:
步骤S102,获取上传的操作记录,提取操作记录对应的扫描信息。
操作记录为用户根据反馈的扫描结果对存在风险的文件进行处理的记录,可包括用户选取的操作类型、用户使用的客户端的硬件环境参数和软件环境参数等。扫描信息即为扫描内容的校验信息。扫描内容可包括文件和扫描点。
在一个实施例中,对扫描内容进行扫描后,可根据用户针对存在风险的扫描内容进行处理时的输入指令的记录生成操作记录。对扫描内容进行扫描的过程可具体为:
步骤S202,获取扫描信息。
步骤S204,判断扫描信息与预设的校验信息是否匹配,若不匹配,则根据扫描规则获取对应的推荐操作提示。
步骤S206,返回推荐操作提示。
扫描信息可以是文件的MD5码,也可以是扫描点的配置信息。可根据预设的校验规则对扫描内容进行处理得到扫描信息。例如,对于文件类型的扫描内容,校验规则可以是计算其MD5码;对于扫描点类型的扫描内容,校验规则可以是获取或计算其配置信息。可通过比较MD5码或配置信息是否相等来判断扫描信息与预设的校验信息是否匹配。
需要说明的是,判断扫描信息与预设的校验信息是否匹配的步骤既可在客户端上执行也可在服务器上执行。在服务器上执行时,客户端先计算扫描内容的扫描信息,然后将该扫描信息上传至服务器,服务器再对该上传的扫描信息进行校验。
在一个实施例中,推荐操作提示可包括删除提示和信任提示。删除提示和信任提示为相反提示。客户端可通过弹窗的形式展示该推荐操作提示,从而引导用户进行相应的操作。在本实施例中,校验信息不匹配的扫描信息对应了存在风险的扫描内容。客户端可在弹出窗口中标注存在风险的扫描内容的名称、扫描内容位置、扫描时间以及推荐操作提示等信息,并展示三个按钮,分别对应删除操作、信任操作以及忽略操作。
在本实施例中,操作记录中包含了用户针对推荐操作提示输入的实际操作类型。例如,若推荐操作提示为删除,而用户认为该提示为误报,则可点击信任按钮,则操作记录中包含的实际操作类型为信任操作;若用户认为不确定,则可点击忽略按钮,则操作记录中包含的实际操作类型为忽略操作。
在一个实施例中,扫描内容还可以对应多项扫描信息,可分别与多项预设的校验信息进行匹配。
如图3所示,扫描点a可分别对应三种校验规则a1、a2以及a3,即在扫描过程中可对扫描点采用三种不同的方法获取其扫描信息。例如,校验规则可以是比较文件数量、比较文件大小、比较文件的目录层级等。
步骤S104,根据扫描规则获取与扫描信息对应的推荐操作提示。
在本实施例中,与扫描信息与对应的推荐操作提示在初始时,可通过测试环境进行设置,例如,可根据流行病毒的感染文件后的特征来设置初始的推荐操作提示,并记录在扫描规则中。
如表1所示:
表1
文件名 |
校验结果 |
推荐操作 |
实际操作 |
文件1 |
风险 |
删除 |
信任 |
文件2 |
风险 |
删除 |
删除 |
文件3 |
正常 |
信任 |
信任 |
文件4 |
正常 |
信任 |
删除 |
表1的前三列表示了扫描规则,实际操作为从操作记录中提取的用户针对该文件的提示信息执行的具体的操作。其中,“校验结果”为扫描信息与预设的校验信息比对后的结果。风险即表示比对结果为匹配,正常即表示比对结果为不匹配。
如表2所示:
表2
用户类型 |
扫描内容 |
校验规则 |
扫描信息 |
匹配 |
推荐 |
实际 |
类型1 |
文件a |
校验规则a |
扫描信息a |
正常 |
信任 |
忽略 |
类型2 |
文件a |
校验规则a |
扫描信息a |
风险 |
删除 |
忽略 |
类型2 |
扫描点b |
校验规则b1 |
扫描信息b1 |
风险 |
删除 |
信任 |
类型1 |
扫描点b |
校验规则b3 |
扫描信息b3 |
风险 |
删除 |
删除 |
类型2 |
扫描点c |
校验规则c2 |
扫描信息c2 |
正常 |
信任 |
信任 |
类型2 |
文件d |
校验规则d |
扫描信息d |
正常 |
信任 |
信任 |
类型3 |
文件e |
校验规则e |
扫描信息e |
风险 |
删除 |
删除 |
表2表示了接收到的操作记录与扫描规则的整体对应关系。其中,用户类型用于区分不同类型的用户对应的扫描规则。校验规则用于确定扫描内容与扫描信息之间的对应关系。通常情况下,文件类型的扫描内容的校验规则相同,均为通过计算并比较文件的哈希值,例如MD5码等,即校验规则a、d、e可以相同。“推荐”列表示扫描规则定义的扫描信息对应的推荐操作,“实际”列表表示用户的实际操作。
需要说明的是,表1和表2仅用于说明扫描规则中定义的扫描信息与推荐操作的对应关系,实际运行过程以及实际产品中,并不需要存在类似表1的实体表。
步骤S106,计算操作记录与推荐操作提示的匹配度。
在一个实施例中,匹配度包括支持度。
计算操作记录与推荐操作提示的匹配度的步骤为:
获取与操作记录中的用户类型相同的类型用户的总数目,获取类型用户中上传的操作记录对应扫描信息的事件用户的事件用户数,根据事件用户数和总数目计算支持度。
支持度可反映特定用户类型的用户群体中,上传了与扫描信息对应的操作记录的用户所占的比例。由于一般情况下,在扫描信息有风险时才会有相应的操作记录并上传,因此,该比例可以反映该扫描信息的风险涉及的用户范围。
进一步的,匹配度还可包括置信度。
获取类型用户中上传的操作记录对应扫描信息的事件用户的事件用户数的步骤之后还包括:
获取与扫描信息对应的推荐操作提示,获取事件用户中上传的操作记录匹配推荐操作提示的置信用户的置信用户数,根据置信用户数和事件用户数计算置信度。
置信度可反映事件用户中认可推荐操作提示的用户占事件用户的比例。置信度较高时,说明推荐操作提示得到较多数用户的认可,即误报率较低。
进一步的,匹配度还可包括置疑度;
获取类型用户中上传的操作记录对应扫描信息的事件用户的事件用户数的步骤之后还包括:
获取与扫描信息对应的推荐操作提示的相反提示;获取事件用户中上传的操作记录匹配相反提示的置疑用户的置疑用户数;根据置疑用户数和事件用户数计算置疑度。
置疑度可反映事件用户中不认可推荐操作提示的用户占事件用户的比例。置疑度较高时,说明推荐操作提示得到较多数用户的反对或质疑,即误报率较高。
例如,若全体用户数为N,操作记录中的用户类型相同的类型用户的总数目为Nu,则对于扫描信息i,类型用户中上传过对应扫描信息i的操作记录的事件用户的事件用户数为Nui,Nui为Nu的子集。
则,可通过Nui/Nu计算得到支持度。
若事件用户中上传的操作记录包含有信任操作的操作记录的用户数为Nuia,事件用户中上传的操作记录包含有删除操作的操作记录的用户数为Nuid,由于用户可能会选择忽略操作,因此Nuia+Nuid<Nui。
则,当推荐操作提示为信任时,Nuia即为置信用户数,Nuid即为置疑用户数。可通过Nuia/Nui计算得到置信度;通过Nuid/Nui计算得到置疑度。
当推荐操作提示为删除时,Nuid即为置信用户数,Nuia即为置疑用户数。可通过Nuid/Nui计算得到置信度;通过Nuia/Nui计算得到置疑度。
需要说明的是,获取类型用户的总数目、事件用户数、置信用户数、置疑用户数的步骤没有严格的执行顺序;计算支持度、置信度以及置疑度的步骤也没有严格的执行顺序,计算支持度、置信度以及置疑度的步骤可同时执行,也可根据实际需要以任意顺序执行。
在本实施例中,获取上传的操作记录的步骤之后还可根据上传的操作记录更新类型用户的总数目、事件用户数、选择信任操作的用户数以及选择删除操作的用户数。
选择信任操作的用户数即为事件用户中上传的操作记录包含有信任操作的用户的总数目;选择删除操作的用户数即为事件用户中上传的操作记录包含有删除操作的用户的总数目。当推荐操作提示为信任时,选择信任操作的用户数即为置信用户数,选择删除操作的用户数即为置疑用户数;当推荐操作提示为删除时,选择信任操作的用户数即为置疑用户数,选择删除操作的用户数即为置信用户数。
在本实施例中,更新类型用户的总数目、事件用户数、选择信任操作的用户数以及选择删除操作的用户数的方法可采用累加法。
例如,可获取操作记录中的用户类型,根据用户类型获取类型用户的总数目并累加;进一步的可根据扫描信息获取类型用户中的事件用户,并将事件用户数并累加;然后判断操作记录中包含的实际操作类型,若为信任操作,则将对应该事件用户的选择信任操作的用户数累加;若为删除操作,则将对应该事件用户的选择删除操作的用户数累加;若为忽略操作,则不做任何操作。
步骤S108,根据匹配度更新扫描规则。
在一个实施例中,匹配度包括支持度、置信度以及置疑度。根据匹配度更新扫描规则的步骤可具体为:在支持度大于支持度阈值,且置信度小于置信度阈值,且置疑度大于置疑度阈值时,更改扫描信息对应的推荐操作提示为相反提示。
如上例中,若推荐操作提示为信任,支持度Nui/Nu大于0.9,且置信度Nuia/Nui小于0.2,且置信度Nuid/Nui大于0.6,则更新扫描信息对应的推荐提示操作为删除。也就是说,当该用户类型的用户群体中,有较大一部分用户检测出风险弹出了提示框时(支持度大于支持度阈值),若只有小部分用户采取了与推荐提示操作相同的实际操作(置信度小于置信度阈值),且有大部分用户采取了与推荐提示操作相反的实际操作(置疑度大于置疑度阈值),则将扫描规则中扫描信息对应的推荐操作提示更改为相反提示。
在一个实施例中,获取上传的扫描信息的步骤之后还可判断是否存在与扫描信息对应的预设的校验信息,若是,则继续执行判断扫描信息与预设的校验信息是否匹配的步骤;否则,根据预设的权重系数通过比较选择信任操作的用户数和选择删除操作的用户数获取所对应的推荐操作提示并返回。
对于未知扫描内容,即未知或新建的文件和未知或新建的扫描点,可求得选择信任操作的用户数和选择删除操作的用户数各自占事件用户数的比例之后,再将比例乘以各自对应的权重系数并相减,根据相减的结果获取对应的推荐操作提示并返回。
例如,若权重系数为a,则选择信任操作的用户数占事件用户数的比例为Nuia/Nui,选择删除操作的用户数占事件用户数的比例为Nuid/Nui,可根据下述公式的计算结果获取推荐操作提示。
T=axNuia/Nui-(1-a)×Nuid/Nui
其中,T为中间结果,a和(1-a)为各自的权重系数。若T大于阈值,例如0,则推荐提示操作为信任,若T小于阈值,则推荐提示操作为删除。
在一个实施例中,如图4所示,一种更新扫描规则的装置,包括:操作记录获取模块102、推荐操作获取模块104、匹配度计算模块106、扫描规则更新模块108,其中:
操作记录获取模块102,用于获取上传的操作记录,提取操作记录对应的扫描信息。
操作记录为用户根据反馈的扫描结果对存在风险的文件进行处理的记录,可包括用户选取的操作类型、用户使用的客户端的硬件环境参数和软件环境参数等。扫描信息即为扫描内容的校验信息。扫描内容可包括文件和扫描点。
在一个实施例中,如图5所示,更新扫描规则的装置还包括:
扫描信息获取模块110,用于获取扫描信息。
扫描信息校验模块112,用于断扫描信息与预设的校验信息是否匹配,若不匹配,则根据扫描规则获取对应的推荐操作提示。
推荐操作返回模块114,用于返回推荐操作提示。
通过扫描信息获取模块110、扫描信息校验模块112以及推荐操作返回模块114对扫描内容进行扫描后,可根据用户针对存在风险的扫描内容进行处理时的输入指令的记录生成操作记录。
扫描信息可以是文件的MD5码,也可以是扫描点的配置信息。扫描信息获取模块110可用于根据预设的校验规则对扫描内容进行处理得到扫描信息。例如,对于文件类型的扫描内容,校验规则可以是计算其MD5码;对于扫描点类型的扫描内容,校验规则可以是获取或计算其配置信息。扫描信息校验模块112可用于通过比较MD5码或配置信息是否相等来判断扫描信息与预设的校验信息是否匹配。
需要说明的是,扫描信息校验模块112既可设置在客户端上也可设置在服务器上。扫描信息校验模块112设置在服务器上时,设置于客户端上的扫描信息获取模块110可先计算扫描内容的扫描信息,然后将该扫描信息上传至服务器上的扫描信息校验模块112,推荐操作返回模块112可用于对该上传的扫描信息进行校验。
在一个实施例中,推荐操作提示可包括删除提示和信任提示。删除提示和信任提示为相反提示。客户端可通过弹窗的形式展示该推荐操作提示,从而引导用户进行相应的操作。在本实施例中,校验信息不匹配的扫描信息对应了存在风险的扫描内容。客户端可在弹出窗口中标注存在风险的扫描内容的名称、扫描内容位置、扫描时间以及推荐操作提示等信息,并展示三个按钮,分别对应删除操作、信任操作以及忽略操作。
在本实施例中,操作记录中包含了用户针对推荐操作提示输入的实际操作类型。例如,若推荐操作提示为删除,而用户认为该提示为误报,则可点击信任按钮,则操作记录中包含的实际操作类型为信任操作;若用户认为不确定,则可点击忽略按钮,则操作记录中包含的实际操作类型为忽略操作。
在一个实施例中,扫描内容还可以对应多项扫描信息,可分别与多项预设的校验信息进行匹配。
如图3所示,扫描点a可分别对应三种校验规则a1、a2以及a3,即在扫描过程中可对扫描点采用三种不同的方法获取其扫描信息。例如,校验规则可以是比较文件数量、比较文件大小、比较文件的目录层级等。
推荐操作获取模块104,根据扫描规则获取与扫描信息对应的推荐操作提示。
在本实施例中,与扫描信息与对应的推荐操作提示在初始时,可通过测试环境进行设置,例如,可根据流行病毒的感染文件后的特征来设置初始的推荐操作提示,并记录在扫描规则中。
如表3所示:
表3
文件名 |
校验结果 |
推荐操作 |
实际操作 |
文件1 |
风险 |
删除 |
信任 |
文件2 |
风险 |
删除 |
删除 |
文件3 |
正常 |
信任 |
信任 |
文件4 |
正常 |
信任 |
删除 |
表3的前三列表示了扫描规则,实际操作为从操作记录中提取的用户针对该文件的提示信息执行的具体的操作。其中,“校验结果”为扫描信息与预设的校验信息比对后的结果。风险即表示比对结果为匹配,正常即表示比对结果为不匹配。
如表4所示:
表4
用户类型 |
扫描内容 |
校验规则 |
扫描信息 |
匹配 |
推荐 |
实际 |
类型1 |
文件a |
校验规则a |
扫描信息a |
正常 |
信任 |
忽略 |
类型2 |
文件a |
校验规则a |
扫描信息a |
风险 |
删除 |
忽略 |
类型2 |
扫描点b |
校验规则b1 |
扫描信息b1 |
风险 |
删除 |
信任 |
类型1 |
扫描点b |
校验规则b3 |
扫描信息b3 |
风险 |
删除 |
删除 |
类型2 |
扫描点c |
校验规则c2 |
扫描信息c2 |
正常 |
信任 |
信任 |
类型2 |
文件d |
校验规则d |
扫描信息d |
正常 |
信任 |
信任 |
类型3 |
文件e |
校验规则e |
扫描信息e |
风险 |
删除 |
删除 |
表4表示了接收到的操作记录与扫描规则的整体对应关系。其中,用户类型用于区分不同类型的用户对应的扫描规则。校验规则用于确定扫描内容与扫描信息之间的对应关系。通常情况下,文件类型的扫描内容的校验规则相同,均为通过计算并比较文件的哈希值,例如MD5码等,即校验规则a、d、e可以相同。“推荐”列表示扫描规则定义的扫描信息对应的推荐操作,“实际”列表示用户的实际操作。
需要说明的是,表3和表4仅用于说明扫描规则中定义的扫描信息与推荐操作的对应关系,实际运行过程以及实际产品中,并不需要存在类似表3的实体表。
匹配度计算模块106,用于计算操作记录与推荐操作提示的匹配度。
在一个实施例中,匹配度包括支持度。
匹配度计算模块106还可用于获取与操作记录中的用户类型相同的类型用户的总数目,获取类型用户中上传的操作记录对应扫描信息的事件用户的事件用户数,根据事件用户数和总数目计算支持度。
支持度可反映特定用户类型的用户群体中,上传了与扫描信息对应的操作记录的用户所占的比例。由于一般情况下,在扫描信息有风险时才会有相应的操作记录并上传,因此,该比例可以反映该扫描信息的风险涉及的用户范围。
进一步的,匹配度还可包括置信度。
匹配度计算模块106还可用于获取与扫描信息对应的推荐操作提示,获取事件用户中上传的操作记录匹配推荐操作提示的置信用户的置信用户数,根据置信用户数和事件用户数计算置信度。
置信度可反映事件用户中认可推荐操作提示的用户占事件用户的比例。置信度较高时,说明推荐操作提示得到较多数用户的认可,即误报率较低。
进一步的,匹配度还可包括置疑度。
匹配度计算模块106还可用于获取与扫描信息对应的推荐操作提示的相反提示;获取事件用户中上传的操作记录匹配相反提示的置疑用户的置疑用户数;根据置疑用户数和事件用户数计算置疑度。
置疑度可反映事件用户中不认可推荐操作提示的用户占事件用户的比例。置疑度较高时,说明推荐操作提示得到较多数用户的反对或质疑,即误报率较高。
例如,若全体用户数为N,操作记录中的用户类型相同的类型用户的总数目为Nu,则对于扫描信息i,类型用户中上传过对应扫描信息i的操作记录的事件用户的事件用户数为Nui,Nui为Nu的子集。
则,匹配度计算模块106可用于通过计算Nui/Nu得到支持度。
若事件用户中上传的操作记录包含有信任操作的操作记录的用户数为Nuia,事件用户中上传的操作记录包含有删除操作的操作记录的用户数为Nuid,由于用户可能会选择忽略操作,因此Nuia+Nuid<Nui。
则,当推荐操作提示为信任时,Nuia即为置信用户数,Nuid即为置疑用户数。可通过Nuia/Nui计算得到置信度;匹配度计算模块106可用于通过计算Nuid/Nui得到置疑度。
当推荐操作提示为删除时,Nuid即为置信用户数,Nuia即为置疑用户数。可通过Nuid/Nui计算得到置信度;匹配度计算模块106可用于通过计算Nuia/Nui得到置疑度。
需要说明的是,匹配度计算模块106在获取类型用户的总数目、事件用户数、置信用户数、置疑用户数时没有严格的执行顺序;匹配度计算模块106在计算支持度、置信度以及置疑度时也没有严格的执行顺序,匹配度计算模块106可同时计算支持度、置信度以及置疑度,也可根据实际需要以任意顺序执行。
在本实施例中,如图5所示,更新扫描规则的装置还包括日志模块116,用于根据上传的操作记录更新类型用户的总数目、事件用户数、选择信任操作的用户数以及选择删除操作的用户数。
选择信任操作的用户数即为事件用户中上传的操作记录包含有信任操作的用户的总数目;选择删除操作的用户数即为事件用户中上传的操作记录包含有删除操作的用户的总数目。当推荐操作提示为信任时,选择信任操作的用户数即为置信用户数,选择删除操作的用户数即为置疑用户数;当推荐操作提示为删除时,选择信任操作的用户数即为置疑用户数,选择删除操作的用户数即为置信用户数。
在本实施例中,日志模块116在更新类型用户的总数目、事件用户数、选择信任操作的用户数以及选择删除操作的用户数时可采用累加法。
例如,日志模块116可用于获取操作记录中的用户类型,根据用户类型获取类型用户的总数目并累加;进一步的日志模块116可用于根据扫描信息获取类型用户中的事件用户,并将事件用户数并累加;日志模块116还可用于判断操作记录中包含的实际操作类型,若为信任操作,则将对应该事件用户的选择信任操作的用户数累加;若为删除操作,则将对应该事件用户的选择删除操作的用户数累加;若为忽略操作,则不做任何操作。
扫描规则更新模块108,用于根据匹配度更新扫描规则。
在一个实施例中,匹配度包括支持度、置信度以及置疑度。扫描规则更新模块108可用于在支持度大于支持度阈值,且置信度小于置信度阈值,且置疑度大于置疑度阈值时,更改扫描信息对应的推荐操作提示为相反提示。
如上例中,若推荐操作提示为信任,支持度Nui/Nu大于0.9,且置信度Nuia/Nui小于0.2,且置信度Nuid/Nui大于0.6,则扫描规则更新模块108更新扫描信息对应的推荐提示操作为删除。也就是说,当该用户类型的用户群体中,有较大一部分用户检测出风险弹出了提示框时(支持度大于支持度阈值),若只有小部分用户采取了与推荐提示操作相同的实际操作(置信度小于置信度阈值),且有大部分用户采取了与推荐提示操作相反的实际操作(置疑度大于置疑度阈值),则扫描规则更新模块108将扫描规则中扫描信息对应的推荐操作提示更改为相反提示。
在一个实施例中,更新扫描规则的装置还包括未知扫描信息处理模块118,用于在与扫描信息对应的预设的校验信息不存在时,根据预设的权重系数通过比较选择信任操作的用户数和选择删除操作的用户数获取所对应的推荐操作提示并返回。
对于未知扫描内容,即未知或新建的文件和未知或新建的扫描点,可求得选择信任操作的用户数和选择删除操作的用户数各自占事件用户数的比例之后,再将比例乘以各自对应的权重系数并相减,根据相减的结果获取对应的推荐操作提示并返回。
例如,若权重系数为a,则选择信任操作的用户数占事件用户数的比例为Nuia/Nui,选择删除操作的用户数占事件用户数的比例为Nuid/Nui,可根据下述公式的计算结果获取推荐操作提示。
T=a×Nuia/Nui-(1-a)×Nuid/Nui
其中,T为中间结果,a和(1-a)为各自的权重系数。若T大于阈值,例如0,则推荐提示操作为信任,若T小于阈值,则推荐提示操作为删除。
需要说明的是,上述更新扫描规则的装置可设置于单一服务器上或者提供云查杀的云服务器的各个服务节点上或者根据实际需要部分设置于P2P服务器上和部分设置于P2P客户端上。
上述更新扫描规则的方法和装置,通过比较上传的操作记录与对应的推荐操作提示的匹配度更新扫描规则,使得更新后的扫描规则中定义的推荐操作提示可更加适应用户的实际应用环境,从而降低了误报率,提高了安全性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。