1.一种基于信息安全大数据的软件在线升级方法,其特征在于,包括有:获取目标字符串,所述目标字符串包括软件在线升级过程中的字符串;
对所述目标字符串进行分词处理,将连续字符串拆分成多个独立的单词字符;
对所述多个独立的单词字符进行停用词过滤,并将完成停用词过滤后的单词字符的变体或衍生体提取为词干;或者,将完成停用词过滤后的单词字符的变体或衍生体提取为词根;
将所述词干或所述词根映射至向量空间中,作为软件在线升级漏洞分类模型的训练样本;
对所述训练样本进行标注,并基于标注结果对所述训练样本进行分类,得到正训练样本和负训练样本;
基于所述正训练样本和所述负训练样本进行监督学习训练,生成软件在线升级漏洞分类模型;
利用所述软件在线升级漏洞分类模型对进行在线升级的目标软件进行漏洞检测,确定所述目标软件是否存在漏洞;
基于所述正训练样本和所述负训练样本进行监督学习训练,生成软件在线升级漏洞分类模型的过程包括:获取第一正训练样本集P和未标记训练样本集U;
随机从所述第一正训练样本集P中取出部分样本作为间谍样本S,并将所述第一正训练样本集P中剩余的所有正训练样本作为第二正训练样本集Ps,以及,将所述第二正训练样本集Ps中的每个正训练样本标记为1;
将所述间谍样本S加入所述未标记训练样本集U中,并将加入间谍样本后的未标记训练样本集中的每个训练样本标记为‑1,得到负训练样本集Us;
利用所述第二正训练样本集Ps和所述负训练样本集Us训练分类器,并利用训练后的分类器对所述未标记训练样本集中的每个样本进行分类,得到所述未标记训练样本集中每个样本为正的概率,记为第一概率;
对所述第一概率进行加权求和,得到所述未标记训练样本集中所有样本为正的概率,记为第二概率;
将所述第二概率与预设概率阈值进行比对,并在所述第二概率大于所述预设概率阈值时,基于当前时刻的分类器以及对应的分类参数进行结合,生成软件在线升级漏洞分类模型;
利用所述软件在线升级漏洞分类模型对进行在线升级的目标软件进行漏洞检测,确定所述目标软件是否存在漏洞的过程包括:将所述软件在线升级漏洞分类模型定义为V={C,P};式中,C为软件升级通信线路安全指标,P为升级包校验安全指标;其中,1表示安全,0表示存在被攻击风险;
当V={1,1}时,表示目标软件是非常安全,不存在漏洞;
当V={1,0}或者V={0,1}时,表示目标软件虽然存在安全风险,但是不存在漏洞;
当V={0,0}时,表示目标软件是非常不安全,存在漏洞。
2.根据权利要求1所述的基于信息安全大数据的软件在线升级方法,其特征在于,利用所述第二正训练样本集Ps和所述负训练样本集Us训练分类器时,所述方法还包括:将损失函数设置为合页损失,则正样本分类错误损失目标函数F1为:将未标记样本贴上标签,并设定负样本分类错误损失目标函数F2为:+ ‑
其中,C表示正分类错误的惩罚因子,C表示负分类错误的惩罚因子;
yi表示未标记样本的标签;
xi表示特征向量;
w和b表示自然常数。
3.根据权利要求2所述的基于信息安全大数据的软件在线升级方法,其特征在于,利用所述软件在线升级漏洞分类模型对进行在线升级的目标软件进行漏洞检测前,所述方法还包括:遍历所述目标软件的软件目录,并输入所述目标软件的可执行文件路径;
从所述软件目录和所述可执行文件路径中提取出语义信息,并对提取出的语义信息进行预处理;
利用所述软件在线升级漏洞分类模型对预处理后的语义信息进行升级语义识别,并判断是否完成所述软件目录的遍历;
如果完成,则提取语义调用树,并计算定位函数;
如果未完成,则继续遍历所述目标软件的软件目录。
4.根据权利要求1所述的基于信息安全大数据的软件在线升级方法,其特征在于,当所述目标软件存在漏洞时,所述方法还包括:获取软件行为链S、软件在线升级过程中所调用的升级网络通信及升级包校验函数序列f1,f2,...,fn,其中,fi表示目标软件升级行为被记录的第i个动作,i=1,2,...,n;
将fi定义为三元组{Addr,Name,Params};其中,Addr表示函数地址,Name表示函数名,Params表示函数重点参数;
利用所述软件行为链S校验函数地址、函数名和函数重点参数,确定所述目标软件的漏洞位置。
5.根据权利要求4所述的基于信息安全大数据的软件在线升级方法,其特征在于,当所述目标软件存在漏洞时,所述方法还包括:采用哈希算法对升级包文本进行校验,确定所述升级包文本是否通过明文发送;如果所述升级包文本通过明文传送,则确定所述目标软件存在传输漏洞;
如果所述升级包文本未通过明文传送,则对所述升级包文本进行密钥校验;若所述升级包文本不存在密钥,则确定所述目标软件存在密钥泄露;若所述升级包文本存在密钥,则确定所述目标软件存在传输漏洞。
6.一种基于信息安全大数据的软件在线升级系统,其特征在于,包括有:字符串模块,用于获取目标字符串,所述目标字符串包括软件在线升级过程中的字符串;
分词模块,用于对所述目标字符串进行分词处理,将连续字符串拆分成多个独立的单词字符;
过滤模块,用于对所述多个独立的单词字符进行停用词过滤,并将完成停用词过滤后的单词字符的变体或衍生体提取为词干;或者,将完成停用词过滤后的单词字符的变体或衍生体提取为词根;
训练样本模块,用于将所述词干或所述词根映射至向量空间中,作为软件在线升级漏洞分类模型的训练样本;
标注模块,用于对所述训练样本进行标注,并基于标注结果对所述训练样本进行分类,得到正训练样本和负训练样本;
训练模块,用于基于所述正训练样本和所述负训练样本进行监督学习训练,生成软件在线升级漏洞分类模型;
检测模块,用于利用所述软件在线升级漏洞分类模型对进行在线升级的目标软件进行漏洞检测,确定所述目标软件是否存在漏洞;
基于所述正训练样本和所述负训练样本进行监督学习训练,生成软件在线升级漏洞分类模型的过程包括:获取第一正训练样本集P和未标记训练样本集U;
随机从所述第一正训练样本集P中取出部分样本作为间谍样本S,并将所述第一正训练样本集P中剩余的所有正训练样本作为第二正训练样本集Ps,以及,将所述第二正训练样本集Ps中的每个正训练样本标记为1;
将所述间谍样本S加入所述未标记训练样本集U中,并将加入间谍样本后的未标记训练样本集中的每个训练样本标记为‑1,得到负训练样本集Us;
利用所述第二正训练样本集Ps和所述负训练样本集Us训练分类器,并利用训练后的分类器对所述未标记训练样本集中的每个样本进行分类,得到所述未标记训练样本集中每个样本为正的概率,记为第一概率;
对所述第一概率进行加权求和,得到所述未标记训练样本集中所有样本为正的概率,记为第二概率;
将所述第二概率与预设概率阈值进行比对,并在所述第二概率大于所述预设概率阈值时,基于当前时刻的分类器以及对应的分类参数进行结合,生成软件在线升级漏洞分类模型;
利用所述软件在线升级漏洞分类模型对进行在线升级的目标软件进行漏洞检测,确定所述目标软件是否存在漏洞的过程包括:将所述软件在线升级漏洞分类模型定义为V={C,P};式中,C为软件升级通信线路安全指标,P为升级包校验安全指标;其中,1表示安全,0表示存在被攻击风险;
当V={1,1}时,表示目标软件是非常安全,不存在漏洞;
当V={1,0}或者V={0,1}时,表示目标软件虽然存在安全风险,但是不存在漏洞;
当V={0,0}时,表示目标软件是非常不安全,存在漏洞。