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

【发明授权】一种识别口令中词汇变形并产生猜测规则的方法_华南理工大学_202011023884.4 

申请/专利权人:华南理工大学

申请日:2020-09-25

公开(公告)日:2024-04-09

公开(公告)号:CN112149388B

主分类号:G06F40/126

分类号:G06F40/126

优先权:

专利状态码:有效-授权

法律状态:2024.04.09#授权;2021.01.15#实质审查的生效;2020.12.29#公开

摘要:本发明公开了一种识别口令中词汇变形并产生猜测规则的方法。所述方法包括如下步骤:构建语料库Ω,生成三字符词汇表;基于语料库Ω,生成训练口令集合P中单条口令p对应的变形语料乘积规则r,构成规则集合T={r1,r2,…,rn};统计规则集合T中各个变形语料乘积规则的频度;使用效费比指标对规则集合T中的变形语料乘积规则进行排序,得到猜测规则序列R;根据口令猜测数量要求S,从R中选择规则,形成猜测次数不超过S的口令猜测规则序列RS;快速检测猜测规则序列Rs对测试口令集P'的命中率。本发明具有命中率高、规则描述清楚、能高效描述和猜测带词汇变形的口令、可以检测大规模猜测口令集合命中率等优点。

主权项:1.一种识别口令中词汇变形并产生猜测规则的方法,其特征在于,具体包括以下步骤:S1、构建语料库Ω,生成三字符词汇表;S2、基于语料库Ω,对训练口令集合P中所有口令生成对应的变形语料乘积规则,构成由n条规则构成的规则集合T={r1,r2,…,rn};变形语料乘积规则是k个语料集合经过对应变形规则变形后字符串集合的组合,记为r=W1M1…WkMk,其中Wi1∈Ω,Mi1为语料集合Wi1对应的变形规则,1≤i1≤k,每个语料集合可以具有独立的变形规则;变形语料乘积规则所对应的猜测口令集合为变形语料乘积规则中所有语料集合经过变形规则处理后的字符串集合的笛卡尔乘积,猜测口令集合Gr={w1||…||wk|wi1∈Mi1Wi1,Wi1∈Ω,1≤i1≤k},其中i1为临时变量,k为规则r的段数,wi1为语料集合Wi1中的一个词汇经过Mi1变形后的字符串,||为字符串拼接操作;猜测次数变形语料乘积规则所对应的猜测口令集合中的所有猜测口令的长度相同;所述变形规则是一个或多个变形命令组成的序列,记为M=m1,m2,…,mt,其中m1,m2,…,mt表示变形命令;变形规则M对字符串w产生的变形字符串为Mw=mt…m2m1w;语料集合W经过变形规则M所产生的变形字符串集合为MW={Mw|w∈W};如果M为空,则MW=W;所述变形命令包括字符替换、在特定位置删除字符、在特定位置大小写转换、全部字符大写四种,对于长度为N个字符的输入字符串d0d1…dN-1,四种变形命令如下所示:Sxy:将输入字符串中的字符x替换成y输出字符串c0c1…cN-1的值Du:删除第u个字符,其中0≤u≤N-1输出字符串c0c1…cN-2的值为Tv:对第v个字符大小写转换,其中0≤v≤N-1输出字符串c0c1…cN-1的值为:大小写转换也可以视为特殊的字符替换,定义大写字母替换集合STU={a→A,b→B,c→C,…,z→Z,1→!,2→@,3→#,4→$,5→%,6→,7→,8→*,9→,0→},小写字母替换集合STL={A→a,B→b,C→c,…,Z→z};一个字符所有的可能替换集合定义为STA=ST48∪STU∪STL,STA的逆替换集合定义为STA-1;U:字符串全部大写,输出字符串c0c1…cN-1,定义为cj4=upperdj4,1≤j4≤N-1;定义字符大小转换、全部大写的变形消耗分别为cU=cTv=1,删除和字符替换的变形消耗分别为cDu=cSxy=2,变形规则M=m1,m2,…,mt的变形消耗为所有变形命令的变形消耗之和,即变形语料乘积规则r=W1M1…WkMk的变形消耗为所有变形规则的变形消耗之和,即对于语料库Ω和口令p,如果存在k个词汇w1,…,wk和k个变形规则M1,…,Mk满足:1wi∈Wi,Wi∈Ω;2p=M1w1||M2w2||…||Mkwk;则r=W1M1…WkMk为p的一种可能变形语料乘积规则;具体包括以下步骤:S2.1、基于步骤S1中生成的三字符词汇表H3筛选语料库Ω中与单条口令p潜在关联的词汇集合U,得到词汇集合中各个词汇的内容、所属的语料集合以及在口令中的位置;集合U的每个元素是一个四元组w,W,l,k,其中w为与单条口令p相关的词汇,W是w所属的语料集合,l和k表示w与p[l:k]区间的字符可能具有近似匹配关系;潜在关联的词汇集合U的计算如下:遍历p所有三个字符的逆替换集合STA-1中的元素c0c1c2,并使用c0c1c2查找H3以得到粗略的集合U1;从粗略的集合U1中筛选包括了不多于2个p的逆替换字符集STA-1中不存在的字符的w;S2.2、使用基于Levenshtein算法的字符串近似匹配方法计算潜在关联的词汇集合U中每个词汇与口令p相关字段之间的变形规则,得到变形规则集合Q;Q的每个元素为一个五元组w,W,l,k,M,其中w,W,l,k的含义与词汇集合U相同,M为w变换到p[l:k]所需要的变形规则;具体步骤如下:采用支持S48字符替换集合、删除特定字符和大小写替换三种操作的Levenshtein算法计算w和p[l:k]的编辑距离矩阵CL,编辑距离矩阵CL最后一行的最小值即为对应的最小开销;由最小值的位置出发使用回溯方法找到从w变换到p[l:k]的变形消耗costL和变形命令序列,即对应的变形规则ML;将词汇w都转换为大写构成的字符串upperw,计算字符串upperw转为p[l:k]的变形消耗costU和变形规则MU;比较从w变换到p[l:k]的变形消耗costL和字符串upperw转为p[l:k]的变形消耗costU与词汇w都转换为大写构成的字符串upperw的变形消耗cU之和,若costL数值更大则选择使用全部转为大写的变形命令;检查w所产生的变形消耗,仅仅在Q中保留消耗小于等于5的变形规则;S2.3、若口令p产生多个变形语料乘积规则,使用同时考虑了猜测次数和变形消耗两个因素的规则评估函数fr=cr+0.754×|Gr|,选择变形规则集合Q中规则评估函数值最小的规则作为口令p对应的变形语料乘积规则r;基于B个字符的口令p=d0d1…dB-1和Q建立一个有向图G=V,E,其中节点集合V={v0,…,vn},边集合E的每个元素为一个四元组vsrc,vdst,W,M;vsrc和vdst为边的起始节点和结束节点,0≤srcdst≤B,W为此边对应的语料集合,M为变形规则,其中W和M的含义与步骤S2.2中Q的五元组中W和M含义相同;图G包含B+1个节点,其中前B个节点与p的B个字符对应,vB为结束节点;具体步骤如下:构造一条从第一个节点到结束节点的路径,对应于该口令的暴力规则;根据Q的每个元素构造一条边,每条边表示语料集合W中的一个词汇可以通过变形规则M转换为口令p中从边起点到终点的字符子串;采用规则评估函数fr=cr+0.754×|Gr|综合考虑规则的变形消耗和猜测次数;选择规则评价函数最小的规则作为该口令对应的变形语料乘积规则;S3、统计规则集合T中各个变形语料乘积规则的频度;S4、使用效费比指标对规则集合T中的变形语料乘积规则进行排序,得到猜测规则序列R;S5、根据口令猜测数量要求S,从R中选择规则,形成猜测次数不超过S的口令猜测规则序列RS;S6、快速检测猜测规则序列Rs对测试口令集P'的命中率。

全文数据:

权利要求:

百度查询: 华南理工大学 一种识别口令中词汇变形并产生猜测规则的方法

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