一种基于结构划分及字符串重组的口令攻击方法cjc.ict.ac.cn/online/onlinepaper/zml-201941793554.pdf ·...

16
42 2019 CHINESEJOURNALOFCOMPUTERS Vol.42No.4 Apr.2019 收稿日期 20180222 在线出版日期 20181106. 本课题得到国家自然科学基金 61502527 61702549 61862011 61872449 )、 广西自然 基金 2018GXNSFAA138116 和广西密码学与信息安全重点实验室研究课题 GCIS201704 资助 章梦礼 1993 年生 硕士研究生 要研究方向为口令安全 大数据安全 .Email zml1122y 163.com. 张启慧 1983 年生 博士研究生 讲师 主要研究方向为大数据安 刘文芬 通信作者 ), 1965 年生 博士 教授 博士生导师 主要研究领域为密码学 信息安全 .Email liuwenfen guet.edu.cn. 胡学先 1982 年生 博士 硕士生导师 中国计算机学会 CCF 会员 主要研究领域为安全协议 大数据安全 魏江宏 1987 年生 讲师 主要研究方向为认证协议 大数据安全及隐私保护 一种基于结构划分及字符串重组的口令攻击方法 章梦礼 张启慧 刘文芬 胡学先 魏江宏 中国人民解放军战略支援部队信息工程大学郑州 450000 桂林电子科技大学计算机与信息安全学院广西桂林 541000 身份认证是网络安全的一道重要防线 口令长期以来一直是身份认证的主流方式 口令攻击是口令安全 研究的重要手段 基于概率上下文无关文法 ProbabilisticContextFreeGrammar PCFG 和基于 Markov 链的模型 是目前效果最为显著的两类口令攻击方法 它们分别从子结构组成层面和字符前后依赖层面对口令进行有效地建 模刻画 该文中 作者在综合上述两类模型优点的基础上提出了一种基于结构划分及字符串重组的口令攻击方法 记为 SPSR 模型 首先将口令划分成抽象的子结构 然后利用改进的 Markov 链模型生成子结构中字符 数字和符 号等构成的子串 以同时兼顾模型的准确性和泛化能力 此外 作者在结构划分阶段还额外引入了常用字符段 加入了索引位对特殊字符在口令中的位置进行了明确地刻画 在字符串重组阶段 通过递归的思想减少子串概率 计算中的重复计算 给出了一个改进的 OMEN 算法 ——— Recursive OMEN 算法 为了验证 SPSR 模型的有效性 分别在 个真实的中英文口令集上进行了实验测试 结果表明 按概率递减顺序生成相同规模的猜测口令集时 提出的 Recursive OMEN 算法比 OMEN 算法用时缩短了 10 倍左右 在相同的猜测次数下考察攻击效果时 SPSR 模型比基于 Markov 链的模型能多破解出 40% 50% 的口令 比基于 PCFG 的模型能多破解出 20% 左右的口令 关键词 口令攻击 概率上下文无关文法 OMEN 算法 马尔可夫链 口令结构 字符串重组 常用字符集 中图法分类号 TP309 犇犗犐 10.11897 SP.J.1016.2019.00913 犃犕犲狋犺狅犱狅犳犘犪狊狊狑狅狉犱犃狋狋犪犮犽犅犪狊犲犱狅狀犛狋狉狌犮狋狌狉犲犘犪狉狋犻狋犻狅狀犪狀犱 犛狋狉犻狀 犚犲狅狉 犪狀犻狕犪狋犻狅狀 ZHANGMengLi ZHANGQiHui LIUWenFen HUXueXian WEIJiangHong 犘犔犃犛狋狉犪狋犲 犻犮犛狌 狆狆 狅狉狋犉狅狉犮犲犐狀 狅狉犿犪狋犻狅狀犈狀 犻狀犲犲狉犻狀 犝狀犻狏犲狉狊犻狋 犣犺犲狀 狕犺狅狌 450000 犇犲 犪狉狋犿犲狀狋狅 犆狅犿 狌狋犲狉犛犮犻犲狀犮犲犪狀犱犐狀 狅狉犿犪狋犻狅狀犛犲犮狌狉犻狋 犌狌犻犾犻狀犝狀犻狏犲狉狊犻狋 犈犾犲犮狋狉狅狀犻犮犜犲犮犺狀狅犾狅 犵狔 犌狌犻犾犻狀 犌狌犪狀 狓犻 541000 犃犫狊狋狉犪犮狋 Identityauthenticationisakeylineofdefensefornetworksecurity anditisalsothelast lineofdefensetoprotectuser sprivacy.Passwordsarethemainstreamofidentityauthentication. Despitethereareagreatmassofissuesinpasswordsregardingsecurityandusability andalarge numberofnewauthenticationtechnologieshavealsobeenproposedinsuccession passwordbased authenticationmethodwillstillbethemostimportantauthenticationmethodforalongtimedueto itssimplicity lowcost andeasinesstodeploy.Therefore passwordshaveattractedwidespread attentionfromscholarsaroundtheworldinrecentyears andalargenumberofsignificant researcheshaveemerged.Withthepopularityofpasswordauthenticationtechnology passwords areusedmoreandmorefrequentlyinpeople sdailylives andpasswordshavebeencloselyrelated topersonalinformationandpropertysecurity.Therefore passwordsecurityresearchhasimportant practicalsignificance.Passwordattackisanimportantmeansofpasswordsecurityresearch.Probabilistic 《 计 算 机 学 报 》

Transcript of 一种基于结构划分及字符串重组的口令攻击方法cjc.ict.ac.cn/online/onlinepaper/zml-201941793554.pdf ·...

Page 1: 一种基于结构划分及字符串重组的口令攻击方法cjc.ict.ac.cn/online/onlinepaper/zml-201941793554.pdf · 章梦礼1) 张启慧1) 刘文芬2) 胡学先1) 魏江宏1)

书书书

第42卷 第4期2019年4月

计  算  机  学  报CHINESEJOURNALOFCOMPUTERS

Vol.42No.4Apr.2019

 

收稿日期:20180222;在线出版日期:20181106.本课题得到国家自然科学基金(61502527,61702549,61862011,61872449)、广西自然基金(2018GXNSFAA138116)和广西密码学与信息安全重点实验室研究课题(GCIS201704)资助.章梦礼,男,1993年生,硕士研究生,主要研究方向为口令安全、大数据安全.Email:zml1122y@163.com.张启慧,女,1983年生,博士研究生,讲师,主要研究方向为大数据安全.刘文芬(通信作者),女,1965年生,博士,教授,博士生导师,主要研究领域为密码学、信息安全.Email:liuwenfen@guet.edu.cn.胡学先,男,1982年生,博士,硕士生导师,中国计算机学会(CCF)会员,主要研究领域为安全协议、大数据安全.魏江宏,男,1987年生,博士,讲师,主要研究方向为认证协议、大数据安全及隐私保护.

一种基于结构划分及字符串重组的口令攻击方法章梦礼1) 张启慧1) 刘文芬2) 胡学先1) 魏江宏1)

1)(中国人民解放军战略支援部队信息工程大学 郑州 450000)2)(桂林电子科技大学计算机与信息安全学院 广西桂林 541000)

摘 要 身份认证是网络安全的一道重要防线,口令长期以来一直是身份认证的主流方式,口令攻击是口令安全研究的重要手段.基于概率上下文无关文法(ProbabilisticContextFreeGrammar,PCFG)和基于Markov链的模型是目前效果最为显著的两类口令攻击方法,它们分别从子结构组成层面和字符前后依赖层面对口令进行有效地建模刻画.该文中,作者在综合上述两类模型优点的基础上提出了一种基于结构划分及字符串重组的口令攻击方法,记为SPSR模型:首先将口令划分成抽象的子结构,然后利用改进的Markov链模型生成子结构中字符、数字和符号等构成的子串,以同时兼顾模型的准确性和泛化能力.此外,作者在结构划分阶段还额外引入了常用字符段,并加入了索引位对特殊字符在口令中的位置进行了明确地刻画;在字符串重组阶段,通过递归的思想减少子串概率计算中的重复计算,给出了一个改进的OMEN算法———RecursiveOMEN算法.为了验证SPSR模型的有效性,分别在6个真实的中英文口令集上进行了实验测试.结果表明,按概率递减顺序生成相同规模的猜测口令集时,新提出的RecursiveOMEN算法比OMEN算法用时缩短了10倍左右;在相同的猜测次数下考察攻击效果时,SPSR模型比基于Markov链的模型能多破解出40%~50%的口令,比基于PCFG的模型能多破解出20%左右的口令.

关键词 口令攻击;概率上下文无关文法;OMEN算法;马尔可夫链;口令结构;字符串重组;常用字符集中图法分类号TP309   犇犗犐号10.11897/SP.J.1016.2019.00913

犃犕犲狋犺狅犱狅犳犘犪狊狊狑狅狉犱犃狋狋犪犮犽犅犪狊犲犱狅狀犛狋狉狌犮狋狌狉犲犘犪狉狋犻狋犻狅狀犪狀犱犛狋狉犻狀犵犚犲狅狉犵犪狀犻狕犪狋犻狅狀

ZHANGMengLi1) ZHANGQiHui1) LIUWenFen2) HUXueXian1) WEIJiangHong1)1)(犘犔犃犛狋狉犪狋犲犵犻犮犛狌狆狆狅狉狋犉狅狉犮犲犐狀犳狅狉犿犪狋犻狅狀犈狀犵犻狀犲犲狉犻狀犵犝狀犻狏犲狉狊犻狋狔,犣犺犲狀犵狕犺狅狌 450000)

2)(犇犲狆犪狉狋犿犲狀狋狅犳犆狅犿狆狌狋犲狉犛犮犻犲狀犮犲犪狀犱犐狀犳狅狉犿犪狋犻狅狀犛犲犮狌狉犻狋狔,犌狌犻犾犻狀犝狀犻狏犲狉狊犻狋狔狅犳犈犾犲犮狋狉狅狀犻犮犜犲犮犺狀狅犾狅犵狔,犌狌犻犾犻狀,犌狌犪狀犵狓犻 541000)

犃犫狊狋狉犪犮狋 Identityauthenticationisakeylineofdefensefornetworksecurity,anditisalsothelastlineofdefensetoprotectuser’sprivacy.Passwordsarethemainstreamofidentityauthentication.Despitethereareagreatmassofissuesinpasswordsregardingsecurityandusability,andalargenumberofnewauthenticationtechnologieshavealsobeenproposedinsuccession,passwordbasedauthenticationmethodwillstillbethemostimportantauthenticationmethodforalongtimeduetoitssimplicity,lowcost,andeasinesstodeploy.Therefore,passwordshaveattractedwidespreadattentionfromscholarsaroundtheworldinrecentyears,andalargenumberofsignificantresearcheshaveemerged.Withthepopularityofpasswordauthenticationtechnology,passwordsareusedmoreandmorefrequentlyinpeople’sdailylives,andpasswordshavebeencloselyrelatedtopersonalinformationandpropertysecurity.Therefore,passwordsecurityresearchhasimportantpracticalsignificance.Passwordattackisanimportantmeansofpasswordsecurityresearch.Probabilistic

《 计

算 机

学 报

Page 2: 一种基于结构划分及字符串重组的口令攻击方法cjc.ict.ac.cn/online/onlinepaper/zml-201941793554.pdf · 章梦礼1) 张启慧1) 刘文芬2) 胡学先1) 魏江宏1)

contextfreegrammar(PCFG)andMarkovchainbasedmodelsarethemosteffectivemethodsofpasswordattackamongnumerousalgorithmsatpresent.Theyeffectivelycharacterizethepasswordsfromthesubstructurelevelandthecharacterdependentlevelrespectively.ThePCFGalgorithmsystematicallystudiesthestructureofpasswordsandcaneffectivelyabstractthestructuralfeaturesofpasswords.TheMarkovchainbasedalgorithmprofoundlyexploresthecompositionofcharacters,andcandigouttheuser’scharacterusagehabitswhenconstructingpasswords.Inthispaper,wecollect3Chinesedatasetsand3Englishdatasets:Dodonew,CSDN,JingDong,Yahoo,PhpBB,RockYou.Wefurtherstudythestructureandcharactercompositionofpasswordsandfindthatsomestringinthedatasetwillappearfrequently,andspecialcharactersalwaysappearinspecificlocationsofthepassword.Thus,basedonthemeritsofthePCFGandMarkovchainbasedmodels,weproposeapasswordattackmethodbasedonstructurepartitionandstringreorganization,whichisdenotedasSPSRmodel.Firstly,thepasswordsaredividedintoabstractsubstructures,andthensubstringsofcharacters,numbersandsymbolsinsubstructuresaregeneratedbyusinganimprovedMarkovchainmodeltotakeaccountoftheaccuracyandgeneralizationabilityofthemodel.Inaddition,wealsointroducecommoncharactersegmentinthestructuredivisionstage,andaddtheindexbittoexplicitlydepictthepositionofthespecialcharactersinthepasswords.Duringthestringreorganizationphase,wereducerepeatedcalculationinthegenerationofsubstring’sprobability,viaproposinganimprovedOMENalgorithmcalledRecursiveOMEN.TheSPSRmodelfullyexploitsthepasswordstructuredistributionandcharactercomposition,andexploresthedeeperuserhabitofconstructingpasswords.Itisasystematicandcomprehensivetrawlingpasswordattackingmodel.Finally,themethodisverifiedbyexperimentonsixrealChineseandEnglishpassworddatasets.TheresultsshowthatRecursiveOMENisabout10timesfasterthanOMENwhengeneratingthesamenumberofstrings.Onthecontextoffixednumberofguesstrials,theSPSRmodelbreaks40%-50%ofthepasswordmorethanNarayanan’smethod,about20%thanWeiretal.’smethodpasswordbetweenthecrossdatasets.

犓犲狔狑狅狉犱狊 passwordattack;probabilisticcontextfreegrammar;OMENalgorithm;Markovchain;passwordstructure;stringreorganization;commoncharacter

1 引 言口令以其简单、灵活、易用等特点,已经成为身

份认证领域应用最广泛的技术之一[1].虽然电子商务、网上银行等服务不断提出图形认证[2]、生物认证[3]、多因子认证[4]等认证技术,且这些替代型认证技术在某些方面比口令更安全或者可用性更强,但是研究表明口令简单、易部署的特性是无法被替代的[5].因此,在未来很长一段时间内,口令都将作为最主要的身份认证技术而存在[68].随着口令认证技术的普及,口令在人们的日常生活中使用越来越频繁,口令已经与个人信息和财产安全息息相关[9].因此,针对各类口令攻击的口令安全研究具有重要的现实意义.

早期的口令攻击,多根据攻击者的经验以及

一定的变形规则来穷举可能的候选口令,不仅攻击命中率低,而且非常耗费计算资源[1011].2005年,Narayanan和Shmatikov[12]首次将Markov链技术从自然语言处理迁移到口令攻击中来,提出了基于狀gram的Markov口令攻击模型,并证明Markov模型在口令攻击中的表现大大优于Oechslin的彩虹表攻击[10].虽然他们提出的攻击方法还存在一定的局限性(口令仅限某个概率阈值之上的,以及仅适用一阶和二阶Markov链),但首次摆脱了启发式的思想,建立了口令概率模型,为后来的研究提供了新的思路.2009年Weir等人[13]提出了基于结构的口令攻击模型———概率上下文无关文法(ProbabilisticContextFreeGrammar,PCFG).基于PCFG的模型从训练集中学习口令的结构分布,并以概率的形式来刻画这种分布规律,最终生成的猜测字典中口令的概率之和为1.虽然这种方法在训练集过大时会存

419 计  算  机  学  报 2019年

《 计

算 机

学 报

Page 3: 一种基于结构划分及字符串重组的口令攻击方法cjc.ict.ac.cn/online/onlinepaper/zml-201941793554.pdf · 章梦礼1) 张启慧1) 刘文芬2) 胡学先1) 魏江宏1)

在过拟合现象,但是,它能很好的刻画口令的结构规律,在小猜测次数下的攻击效率优于Markov模型.

随后,研究者们针对基于Markov链和基于PCFG的口令攻击模型,分别提出了一系列相应的改进方案.2014年,Ma等人[14]利用平滑和正规化等自然语言处理技术提高了Markov模型的性能,并得出猜测次数较大时Markov模型比Weir等人提出的PCFG模型[13]更适合估计口令概率的结论.2015年Dürmuth等人[15]提出了OrderedMarkovEnumerator(OMEN)算法,按概率递减的顺序枚举口令,而不是仅枚举超过一定阈值概率的口令,很大程度的提高了破解性能.2015年,Shiva等人[16]在PCFG算法的基础上,进一步在口令结构中加入了键盘词模式,将用户常用的依据键位顺序输入的字符串(例如,“qwertyui”)定义为键盘词K,他们的算法比原始的基于PCFG的模型攻击效率提高了20%左右.2016年,Wang等人[17]将用户的私人信息(例如,邮箱、姓名、生日、账号等)经过规范化处理后加入到PCFG算法中作为新的结构模式,在相同的猜测次数下攻击效率比原始的基于PCFG的模型提高了140%左右.

这些口令攻击算法,分别从字符和结构两个层面对现实中口令分布不均匀的事实予以了利用,从不同侧面构造了尽可能接近真实口令概率的口令候选集合,在攻击时按照概率“降序”逐个进行尝试,提高了口令攻击的成功率.并且,基于Markov链和基于PCFG的口令攻击算法各自有着不同的优势:基于Markov链的模型能够通过调节阶数调整泛化能力,基于PCFG的模型能够准确的抽象可能的基础口令结构.2016年,Wang等人[18]首次在大规模数据集上证实了口令分布服从Zipf定律,并发现PCFG模型和基于Markov的模型都遵循这一定律[19],为基于概率的口令攻击模型的有效性提供了统一的解释.

本文基于“口令服从Zipf分布”[1819]这一事实,在综合PCFG和Markov两类模型优点的基础上,提出了一种基于结构划分及字符串重组的口令攻击方法,记为SPSR模型:利用PCFG算法对口令的基础结构进行抽象分成不同的段结构,同时利用Markov模型对各个段结构内的字符串进行建模,生成新的字符串,达到同时兼顾模型的准确性和泛化能力的效果.其中,在利用PCFG算法对口令结构进行划分时,我们通过对口令中常用字符串进行统

计,在口令基本结构中定义了常用字符段模式,并对特殊字符在口令中的位置进行了区分.此外,我们对OMEN算法进行了改进,提出了一个新的基于Markov链的字符串生成模型———RecursiveOMEN.实验表明,本文的方法在满足Zipf分布的真实口令数据集上的攻击效果优于单一的PCFG和Markov算法.

本文第2节讨论口令攻击研究中的相关进展和关键技术;第3节对6个中英文口令集中的口令分布和结构进行统计分析;第4节构建PCFG和Markov的混合口令攻击模型———SPSR,并对OMEN算法进行改进,提出RecursiveOMEN字符串生成模型;第5节给出实验结果,并将我们的模型与其它模型进行横向比较;第6节对本文工作进行总结和展望,提出了几点潜在的优化方案.

2 背景和相关工作口令安全性的分析评价可以采用攻击算法进行

实际攻击,然后根据攻击结果来衡量,而当前广泛采用的衡量指标是成功攻击口令所需要的猜测次数.目前口令攻击算法主要基于暴力破解技术和字典攻击技术[1].21 暴力破解

暴力破解,即利用穷举的方法尝试所有可能的字符组合,直到和真正的口令匹配.显而易见,口令的长度和字符种类的复杂性对暴力破解方法的性能有着决定性影响.即使任何口令理论上都能被暴力破解,但因为时间性能开销随着口令长度和口令空间的增大而呈指数级增长.这就造成暴力破解耗时长,效率低,只能适用于规模较小的口令集[1011].22 字典攻击

字典攻击是对暴力破解的一种改进.其思想是根据特定的字典文件[20],与真实口令进行匹配.字典文件包含了可能出现在用户口令中的一些单词,这些单词可以来源于对己泄漏真实口令集的分析,或者来源于特定的字符集.根据对用户创建口令的习惯和口令组成结构的分析,构建猜测字典集合.早期的字典攻击采用的基本是依靠奇思妙想的启发式方法,没有严密的理论体系做基础[1].比如,构造独特字典[20]或特殊猜测顺序[21]实施字典攻击.这些启发式算法不仅效率低(攻破率在30%以下,猜测字典大小为212~220),而且难以重现和相互比较[22].

近年来,口令攻击算法逐渐摆脱了启发式的方

5194期 章梦礼等:一种基于结构划分及字符串重组的口令攻击方法

《 计

算 机

学 报

Page 4: 一种基于结构划分及字符串重组的口令攻击方法cjc.ict.ac.cn/online/onlinepaper/zml-201941793554.pdf · 章梦礼1) 张启慧1) 刘文芬2) 胡学先1) 魏江宏1)

法,进入了依赖可靠的数学概率模型的科学化阶段[1].其中,基于Markov链和PCFG的算法是当前主流的2个字典攻击算法,也是后来很多改进算法的基础.2.2.1 Markov链

2005年,Narayanan和Shmatikov[12]首次提出了一种基于Markov模型的口令猜测方法,将口令字符串模型化为Markov链,通过训练集训练得到转移概率后,依据口令字符串的概率有针对性地生成猜测字典,实现了口令的有效破解.至此,口令攻击算法由启发式阶段进入了依赖严密的数学概率模型的科学化阶段.

基于Markov链的口令攻击模型的基本假设是:人类在构造口令时,相邻字符的选择不是独立的,而是遵循一定的规则(比如字符串passwor后面跟犱的可能比f的可能更大).在狀阶Markov链模型中,下一个字符出现的概率是基于它前面狀-1长的字符串.因此,对于给定字符串犮1,…,犮犿,狀元Markov模型按照如下方式计算其概率:

犘(犮1,…,犮犿)=犘(犮1,…,犮狀)·∏犿-1

犻=狀犘(犮犻+1|犮犻-狀+1,…,犮犻)

(1)其中,初始概率犘(犮1,…,犮狀)和转移概率犘(犮犻+1|犮犻-狀+1,…,犮犻)是在训练阶段统计得到,以一阶Markov链模型为例:犘(犮1,…,犮犿)=犘(犮1)犘(犮2|犮1)犘(犮3|犮2)…犘(犮犿|犮犿-1),并且

犘(犮犻|犮犻-1)=犮狅狌狀狋(犮犻-1犮犻)犮狅狌狀狋(犮犻-1·) (2)其中,犮狅狌狀狋(犮犻-1·)是训练集中字符犮犻-1后面接任意字符的个数,犮狅狌狀狋(犮犻-1·)=∑犮犻∈Σ犮狅狌狀狋(犮犻-1犮犻).当Markov链口令模型的阶数狀>1时,训练之前,在每个口令前面插入狀个起始字符犮0.在猜测集生成阶段,迭代式(1)得到各个口令字符串的概率,按概率递减顺序排序生成猜测字典.2015年,Dürmuth等人[15]提出了一个新的基

于Markov模型的口令攻击算法———OMEN.该算法能够按概率递减顺序枚举候选口令,提高了字典攻击的效率.OMEN算法通过对训练集中的概率使用公式:犾犲狏犲犾犻=狉狅狌狀犱(log(犮1·狆狉狅犫犻+犮2))和精心调整的参数犮1,犮2,将Markov链中的概率离散化为固定范围内的整数,使得生成口令的概率可以表示为初始概率段和转移概率段(离散化后)之和η,

η=犾犲狏犲犾0+犾犲狏犲犾1+…+犾犲狏犲犾狀,对应的向量为犪=(犪0,…,犪狀).其中,犪犻是口令中字符串的概率离散化后的值.然后,通过改变犾犲狏犲犾犻的大小来控制η值,从而按概率递减顺序生成候选口令.OMEN算法步骤如算法1所示.

算法1. OMEN算法.输入:训练口令集(犜狉犪犻狀犛犲狋),Markov链阶数为狀,口

令长度:320输出:猜测口令集犘犪狊狊狑狅狉犱犛犲狋1.犱犲犳犲狀狌犿犘狑犱(η,):2.FOReach狏犲犮狋狅狉(犪犻)2犻with∑犻犪犻=η3.foreach狓1…狓2∈Σ狀with犔(狓1…狓狀)=犪24. foreach狓狀+1∈Σwith犔(狓狀+1|狓1…狓狀)=犪35. 如此反复迭代,直到达到指定长度为止.6.RETURN(狊狆,犾犲狏犲犾,犾犲狀犵狋犺,狓1狓2…狓)7.FORIN狉犪狀犵犲(3,20):8.运行犲狀狌犿犘狑犱(0,)9.返回(狊狆,犾犲狏犲犾,犾犲狀犵狋犺,狆犪狊狊狑狅狉犱)10.犙.狆狌狊犺(狊狆,犾犲狏犲犾,犾犲狀犵狋犺,狆犪狊狊狑狅狉犱),犙是按概率

递减顺序排序的优先队列11.ENDFOR12.犐犽=犙.狆狅狆()犐犽=(狊狆犽,犾犲狏犲犾犽,犾犲狀犵狋犺犽,狆犪狊狊狑狅狉犱犽)13.将犐犽对应的口令狆犪狊狊狑狅狉犱犽添加到犘犪狊狊狑狅狉犱犛犲狋中14.犘犪狊狊狑狅狉犱犛犲狋.犪狆狆犲狀犱(狆犪狊狊狑狅狉犱犽)15.运行犲狀狌犿犘狑犱(犾犲狏犲犾犽-1,犾犲狀犵狋犺犽)16.犙.狆狌狊犺(狊狆,犾犲狏犲犾犽-1,犾犲狀犵狋犺犽)17.依次迭代,直到犙为空或者犘犪狊狊狑狅狉犱犛犲狋足够大为止OMEN算法生成候选口令的示例如图1所示:

考虑长为3的口令,字母表由Σ={犪,犫}组成,Markov链的阶数为2.

图1 OMEN生成猜测口令

OMEN算法通过迭代搜索每个η值对应的向量犪来生成候选口令,解决了Markov模型的概率

619 计  算  机  学  报 2019年

《 计

算 机

学 报

Page 5: 一种基于结构划分及字符串重组的口令攻击方法cjc.ict.ac.cn/online/onlinepaper/zml-201941793554.pdf · 章梦礼1) 张启慧1) 刘文芬2) 胡学先1) 魏江宏1)

排序问题.但是,随着组成口令的向量中元素个数的增加(犾犲狏犲犾个数的增加,也就是口令长度的增加),搜索的次数也会指数倍增长.另外,我们发现在对多个犾犲狏犲犾组成的口令进行搜索时,实际上对较小的犾犲狏犲犾的组合进行了重复的搜索,因此我们考虑将多个犾犲狏犲犾拆分成几组进行迭代,利用已经搜索完成的短字符串来生成长字符串,减少重复迭代的步数,从而提高生成候选口令的速率.具体方案将在4.3节中详细阐述.2.2.2 概率上下文无关文法

2009年,Weir等人[13]提出了基于口令结构的概率上下文无关文法(PCFG),利用概率模型对口令结构进行建模,从大规模的训练集合中去探寻口令的结构规律,提高了口令攻击的效率.

概率上下文无关文法在训练阶段按字符类型将口令切分成字母段(L),数字段(D),特殊字符段(S),并假设不同类型的段之间是彼此独立的.比如,在训练阶段“zhang123#”将被划分为犔5犇3犛1,犔5犇3犛1被定义为口令的基本结构,并将相同类型相同长度的字符串整合到一起,如犔5:Zhang,犇3:123,犛1:#.在口令生成阶段,通过搜索字符串集合来匹配基本结构,从而生成候选口令,将候选口令按概率递减顺序排序得到猜测字典.如口令“zhang123#”的概率为犘(zhang123#)=犘(犔5犇3犛1)·犘(犔5→zhang)·

犘(犇3→123)·犘(犛1→#),概率上下文无关文法生成猜测字典的步骤如图2所示.

概率上下文无关文法定义了口令的结构模型,将训练集合中的口令按基本结构进行划分从而学习口令的结构特征,相比于JtR(一个流行的口令破解工具)Weir等人的模型在相同的猜测次数下能多破解出28%~129%的口令[13].

基于Markov链的模型和基于概率上下文无关文法(PCFG)的模型是目前最为流行的口令安全分析模型[23],文献[12,14,15]和文献[16,24,25]分别基于Markov链和PCFG提出了相应的口令攻击模型并达到了同时期的最好攻击水平.然而,基于Markov链的模型虽然能够通过调整阶数提高泛化能力,但是在估计口令概率方面存在偏差[14];基于PCFG的模型虽然能够准确的抽象可能的基础口令结构,但是泛化能力偏弱.是否能够在一种攻击算法中同时融合上述两种模型的优点,尚未见到公开研究成果.

图2 概率上下文无关文法生成猜测字典

3 口令分布和结构分析31 数据集

我们从公开网站收集到了以下3个英文数据集:RockYou数据集是2009年从RockYou网站泄露的,有超过3200万的口令;PhpBB数据集是2009年从Phpbb.com网站泄露的,有30万左右的口令;Yahoo数据集是2012年被黑客组织D33DS泄露出来的,有50万左右的口令.另外,国内研究人员也整理了一些中文数据集用于研究,本文中我们使用其中的3个:600万CSDN数据集、1600万Dodonew数据集、39万JingDong数据集.32 数据集统计分析

表1统计了字符的分布.在所有口令集中,字母和数字占了97%以上,因此,口令基本结构中的L段和D段隐藏了更多用户构造口令的习惯.有一个有趣的现象是:在英文口令集中,数字占了27%,而字母占了69%;在中文口令集中字母占了30%,数

7194期 章梦礼等:一种基于结构划分及字符串重组的口令攻击方法

《 计

算 机

学 报

Page 6: 一种基于结构划分及字符串重组的口令攻击方法cjc.ict.ac.cn/online/onlinepaper/zml-201941793554.pdf · 章梦礼1) 张启慧1) 刘文芬2) 胡学先1) 魏江宏1)

字占了68%.出现这一现象的原因可能是数字对于中文用户来说更容易记忆,而英文字母并不是中文用户的母语.并且,一些特殊的数字串对于中文用户来说有特定的意义,例如“5201314”代表“我爱你一生一世”,“88888”代表“发发发发发”.这也为我们对常用字符段的统计提供了思路.

表2统计了口令基本结构的分布.所有口令集中,仅由数字和字母组成的口令占了52%,由一个字母段和一个数字段组成的口令(LD和DL)占了38%.由此可知,用户倾向于使用不超过2种字符(如L和D)来构造口令,且在安全策略允许的情形下,更倾向于用一种字符构造口令.

表1 口令中字符分布All All/% RockYou PhpBB Yahoo All/% CSDN Dodonew JingDongD 27.31 27.38 23.15 24.56 65.84 67.40 65.01 70.71L 69.36 69.24 75.27 74.08 32.57 30.43 33.62 28.85S 0.69 0.69 0.31 0.49 0.41 0.63 0.32 0.33

表2 口令基本结构的分布All All/% RockYou PhpBB Yahoo All/% CSDN Dodonew JingDongL 44.25 44.31 53.12 34.64 15.03 12.35 11.03 9.84D 15.77 15.93 12.06 5.89 43.70 45.02 30.77 50.42LD 30.04 29.96 20.71 41.49 28.98 27.89 44.83 28.47LDL 1.86 1.81 4.65 4.13 1.64 1.86 1.54 1.77DL 2.75 2.71 2.29 2.30 5.62 6.31 7.76 6.02LDLD 0.47 0.46 1.29 1.23 0.40 0.50 0.29 0.43LDLDL 0.18 0.16 1.04 0.87 0.17 0.18 0.13 0.16DLD 0.46 0.44 0.87 1.02 0.44 0.53 0.39 0.57DLDL 0.12 0.11 0.57 0.45 0.13 0.14 0.11 0.15LSD 0.55 0.56 0.21 0.49 0.42 0.70 0.36 0.27

33 常用字符段的引入本文在Weir等人[13]的基础上,对口令基本结

构进行了进一步扩充,加入了常用字符段(U).首先,对口令集合中排名前20的口令进行了统计,如表3所示,发现用户对某些口令有特殊偏好,比如“12345”,“5201314”,“a123456”等口令几乎都在前20的位置,而且不同网站的口令集合中排名前

20的口令存在交叉.进一步,通过对口令中部分字符串进行统计,发现那些排名前20的口令频繁出现在了更长的口令中,比如“zhang5201314”.因此,对排名前20的口令进行了二次划分:将不同口令中频繁出现的数字段、字母段,相同口令中重复出现的字符串,符合键盘词模式的字符串提取出来.得到一个常用字符段集合,如表4所示.

表3 排名前20的口令分布RockYou PhpBB Yahoo CSDN Dodonew JingDong

1 123456 123456 123456 123456789 123456 52013142 12345 password password 12345678 a123456 77585213 123456789 Phpbb welcome 11111111 123456789 1233214 password qwerty ninja dearwork 111111 1002005 iloveyou 12345 abc123 00000000 5201314 13145206 princess 12345678 123456789 123123123 123123 a1234567 1234567 letmein 12345678 1234567890 a321654 1qaz2wsx8 rockyou 111111 sunshine 88888888 12345 52113149 12345678 1234 princess 111111111 000000 woaini10 abc123 123456789 qwerty 147258369 123456a 88888811 nicole abc123 writer 987654321 0 3141592612 daniel test monkey aaaaaaaa 123 11011013 babygirl 123123 freedom 1111111111 12345678 12365414 monkey 123 michael 66666666 Aaaaaa 52052015 lovely monkey 111111 a123456789 1314520 12345616 jessica dragon iloveyou 11223344 q123456 1q2w3e4r17 michael Trustnol Password1 1qaz2wsx 7758521 123456789018 qwerty master shadow 789456123 woaini1314 123456a19 111111 hello baseball password 123321 99999920 iloveu 1234567 tigger 87654321 a123456789 windows

819 计  算  机  学  报 2019年

《 计

算 机

学 报

Page 7: 一种基于结构划分及字符串重组的口令攻击方法cjc.ict.ac.cn/online/onlinepaper/zml-201941793554.pdf · 章梦礼1) 张启慧1) 刘文芬2) 胡学先1) 魏江宏1)

表4 常用字符段的划分长度 数字 字母 数字和字母3 111,666,888,999,123,321,110,520,000 abc,aaa,qwe,asd \4 1111,6666,8888,0000,1314 love,aaaa a123,a321,abc1,1qaz,2wsx5 12345,54321 loveu,aaaaa,ilove \6 666666,888888,999999,000000,123123,111111

123321,123456,654321,110110aaaaaa,woaini,monkey

qwerty,iloveu a12345,a54321,abc1237 1234567,5201314 loveyou,windows a123456,123456a8 12345678,66666666,88888888,99999999,11111111,87654321 password,iloveyou 1qaz2wsx9 123456789,987654321,123123123 \ a123456789

常用字符段作为一种口令的结构模式独立存在,并且优先级高于其他常规结构模式(例如L,D,S).在训练之前,首先建立预设的常用字符段的表,在训练阶段对口令结构进行划分时优先搜索常用字符段集合对应的表,并且按照长度原则优先匹配更长的字符段,若匹配成功则判定为对应的U,若不匹配则按照常规模式划分.例如,口令“zhang520123456”,若不加入常用词则被划分为L5D9,加入常用词之后划分成L5U3U6.表5中,我们列出了针对Yahoo数据

集加入常用字符段和不加常用字符段,利用PCFG算法生成三个常见口令的概率和其在生成字典中的排名.从表中可知,加入常用字符段后,在字典中常见口令的概率和排名都明显增加.

进一步,对数据集中包含有常用字符的口令进行统计,如表6所示.从表中可知27%的中文口令和15%的英文口令中包含有常用字符集.因此,在口令概率模型中加入常用字符集能更好的刻画口令的结构特征.

表5 加入常用字符前后生成口令的概率口令 不加常用字符

概率 字典中的排名加入常用字符

概率 字典中的排名iloveu 9.68×10-6 3041 1.13×10-4 114123456a 5.413×10-6 6058 5.977×10-5 340qweasd 2.632×10-6 4150 2.82×10-5 954

表6 常用字符段的分布All/% RockYou PhpBB Yahoo All/% CSDN Dodonew JingDong

U 15.02 15.31 13.05 14.73 27.03 29.11 26.88 24.68

34 特殊字符的分布特征在口令中加入特殊字符是人们常用的一种增加

口令强度的方式,基于PCFG的模型在对特殊字符进行划分时,默认的假设是:特殊字符在口令中的位置分布是均匀的,因此对特殊字符在口令中的位置

没有进行区分.但是,我们的统计结果发现,特殊字符的分布与其在口令字符串中所处的位置有着密切的关联.

表7统计了我们数据集中常用特殊字符的位置分布,其中:0表示出现在口令起始位置;1表示出现

表7 特殊字符的位置分布字符 位置 All/% RockYou PhpBB Yahoo All/% CSDN Dodonew JingDong

0 0.08 0.08 0.04 0.09 0.08 0.12 0.07 0.14! 1 0.13 0.13 0.12 0.10 0.40 0.44 0.39 0.36

2 0.79 0.79 0.84 0.81 0.52 0.44 0.54 0.50 @ 

012

0.130.700.17

0.120.700.18

0.170.710.12

0.190.670.14

0.100.720.18

0.080.680.24

0.110.720.17

0.030.880.09

 $ 

012

0.230.360.41

0.240.350.41

0.210.370.42

0.160.390.45

0.130.490.38

0.140.520.34

0.120.480.40

0.170.560.27

0 0.04 0.04 0.02 0.02 0.04 0.02 0.04 0.08_ 1 0.90 0.89 0.90 0.93 0.89 0.93 0.89 0.90

2 0.06 0.07 0.08 0.05 0.07 0.05 0.07 0.020 0.28 0.30 0.15 0.27 0.15 0.18 0.15 0.17

1 0.22 0.21 0.26 0.25 0.30 0.35 0.28 0.332 0.50 0.49 0.59 0.49 0.55 0.47 0.57 0.50

9194期 章梦礼等:一种基于结构划分及字符串重组的口令攻击方法

《 计

算 机

学 报

Page 8: 一种基于结构划分及字符串重组的口令攻击方法cjc.ict.ac.cn/online/onlinepaper/zml-201941793554.pdf · 章梦礼1) 张启慧1) 刘文芬2) 胡学先1) 魏江宏1)

(续 表)字符 位置 All/% RockYou PhpBB Yahoo All/% CSDN Dodonew JingDong

0 0.18 0.18 0.15 0.16 0.04 0.08 0.02 0.03# 1 0.70 0.68 0.74 0.80 0.41 0.49 0.35 0.46

2 0.12 0.14 0.11 0.04 0.55 0.43 0.63 0.510 0.07 0.06 0.12 0.04 0.05 0.04 0.07 0.08

. 1 0.54 0.54 0.58 0.56 0.45 0.46 0.45 0.432 0.39 0.40 0.30 0.40 0.50 0.50 0.48 0.490 0.09 0.09 0.06 0.12 0.04 0.08 0.03 0.02

% 1 0.58 0.56 0.59 0.61 0.73 0.62 0.75 0.792 0.33 0.35 0.35 0.27 0.23 0.30 0.22 0.190 0.12 0.12 0.14 0.09 0.05 0.08 0.04 0.03

+ 1 0.53 0.53 0.55 0.52 0.55 0.46 0.57 0.612 0.34 0.34 0.31 0.39 0.40 0.46 0.39 0.36

!

012

0.160.500.34

0.140.490.37

0.180.520.30

0.200.560.24

0.030.660.31

0.050.640.31

0.020.690.29

0.060.650.29

=012

0.100.740.16

0.090.720.19

0.110.800.09

0.130.780.09

0.050.670.28

0.070.630.30

0.040.700.26

0.020.800.18

?012

0.100.220.68

0.100.210.69

0.070.2568

0.130.270.60

0.400.560.04

0.310.600.09

0.440.540.08

0.460.430.11

0 0.38 0.38 0.36 0.39 0.15 0.17 0.14 0.19~ 1 0.22 0.22 0.21 0.25 0.44 0.43 0.45 0.42

2 0.40 0.40 0.43 0.36 0.41 0.40 0.41 0.39

在口令中间位置;2表示出现在口令末尾.从表中我们可以看到,特殊字符的位置分布是极其不均匀的,特殊字符在口令起始位置的分布较少,部分字符较频繁出现在口令结尾(比如

!

),还有部分字符较频繁出现在口令中间(比如@).

4 基于结构划分及字符串重组的口令生成模型

41 整体框架本文提出的基于结构划分及Markov的口令生

成模型主要由两个基本模块组成:结构划分模块、字符串重组模块.结构划分模块主要功能是通过对训

练集中口令进行结构划分,从而学习用户构造口令的习惯,并得到基本结构和字符串字典按概率排序的集合.字符串重组模块将结构划分模块生成的字符串字典作为RecursiveOMEN算法的训练集.从表1和表2的统计中我们能够看出用户倾向于使用同一种字符去构造口令,其中字母和数字占了大部分,因此分别在L段和D段运用RecursiveOMEN算法能够充分利用训练集中的数据来提取用户构造口令的行为特征.在字符串重组模块中,运用RecursiveOMEN算法时,对于长度小于等于6的字符串采用2阶Markov链,对于长度在7~9的字符串采用3阶Markov链,对于长度大于9的,采用4阶Markov链.模型如图3所示.

图3 基于结构划分及字符串重组的口令生成模型

029 计  算  机  学  报 2019年

《 计

算 机

学 报

Page 9: 一种基于结构划分及字符串重组的口令攻击方法cjc.ict.ac.cn/online/onlinepaper/zml-201941793554.pdf · 章梦礼1) 张启慧1) 刘文芬2) 胡学先1) 魏江宏1)

本文的模型有训练和猜测集生成2个阶段.(1)训练阶段.①在基本结构的划分中预定义

字母段(L)、数字段(D)、特殊字符段(S)和常用字符段(U),根据PCFG结构划分算法建立概率模型,得到口令的基本结构集合犅犪狊犲犛狋狉狌犮狋犛犲狋,统计每种基本结构出现的概率,并将它们对应的具体口令中每个子字符串添加到字符串集合犛狋狉犻狀犵犛犲狋中;②对犛狋狉犻狀犵犛犲狋集合中长度大于等于4的L段和D段的相同长度的子字符串集合犛狌犫犛狋狉犻狀犵犛犲狋利用RecursiveOMEN算法进行字符串重组,按概率递减顺序生成与训练集中字符串长度相同的字符串,再用犛狌犫犛狋狉犻狀犵犛犲狋去替换犛狋狉犻狀犵犛犲狋中具有相同结构的字符串,生成新的字符串集合犕犛狋狉犻狀犵犛犲狋.

(2)猜测集生成阶段.得到口令的基本结构集合犅犪狊犲犛狋狉狌犮狋犛犲狋和各个结构段对应的字符串集合犕犛狋狉犻狀犵犛犲狋后,利用文献[13]中的“NEXT”算法按概率递减顺序生成候选口令.

训练过程中,可能某一长度的常用字符,并没有出现在训练集中,但是,这并不意味着用户不会使用它们来构造口令,为了更好的模拟用户构造口令的习惯,防止出现过拟合,我们在处理常用字符时,引入了Laplace平滑技术[14].具体算法流程如算法2所示.

算法2. 基于结构划分和字符串重组的口令生成算法.

输入:训练口令集(犜狉犪犻狀犛犲狋),PCFG结构划分方法,Markov字符串生成器,字典大小(狀)

输出:猜测口令集预定义口令基本结构模式(犔,犇,犛,犝)1.犅犪狊犲犛狋狉狌犮狋犛犲狋,犛狋狉犻狀犵犛犲狋←结构划分(犜狉犪犻狀犛犲狋)2.FOReach犜狔狆犲犛狋狉犻狀犵IN犛狋狉犻狀犵犛犲狋3.IF犜狔狆犲犛狋狉犻狀犵==LORDand犾犲狀(犜狔狆犲犛狋狉犻狀犵)>44. 犖犲狑犜狔狆犲犛狋狉犻狀犵←RecursiveOMEN(犜狔狆犲犛狋狉犻狀犵)5. 犕犛狋狉犻狀狋犛犲狋.狆狌狊犺(犖犲狑犜狔狆犲犛狋狉犻狀犵)6.ELSE7. 犕犛狋狉犻狀狋犛犲狋.狆狌狊犺(犜狔狆犲犛狋狉犻狀犵)8.ENDIF9.ENDFOR10.IF犾犲狀(犘犪狊狊狑狅狉犱犛犲狋)<狀OR犅犪狊犲犛狋狉狌犮狋犛犲狋isnotNull11.犘犪狊狊狑狅狉犱犛犲狋←猜测集生成在预定义完口令的基本结构后,利用算法2对

训练口令集合进行训练学习,并自动按概率递减顺序生成猜测字典,直至字典大小达到预置的个数,或者基本结构用完.在算法2中,口令基本结构的类型

是可以增加和更改的,并且不会影响算法的整体运行.后期如果挖掘出更丰富的口令结构特征,就能够很容易的添加到算法中来进行验证.42 特殊字符的处理

结构划分子模块中,我们基于PCFG算法对口令结构进行划分,但是原始基于PCFG的模型没有对特殊字符的位置进行区分,而实际上特殊字符的分布和其在口令字符串中所处的位置有着密切的关联.

由表7我们可知,同一个字符出现在口令开头、中间和结尾的概率相差很大,不是均匀分布的.特殊字符大部分都出现在口令的中间位置,很少一部分出现在口令开头和结尾位置.在训练阶段统计的特殊字符串的概率是所有位置的概率之和(假设是均匀分布的),在口令生成阶段应用这个概率显然是不准确的.因此,在对特殊字符进行概率统计的时候,我们增加了一个索引位来区分他们的位置信息:0表示出现在口令起始位置;1表示出现在口令中间位置;2表示出现在口令末尾.

训练阶段,在对特殊字符进行统计时,相同长度不同位置的特殊字符将被分别计数,视为不同的基本结构段,用三元组“(段类型,位置,个数)”来表示.例如,训练集中口令“Hu123##”和“li##520”都包含字符“##”,但是由于所处位置不同,所以不能笼统的用犛2表示,而是分别产生两个三元组(犛2,2,1)和(犛2,1,1).字符串生成阶段,根据特殊字符在不同的基本结构中的位置,选择相应的三元组来计算生成口令的概率.索引位的引入对特殊字符进行了更加精细的划分,能够更充分地学习用户构造口令的习惯.特殊字符的处理步骤如图4所示.其中,犛2类型的字符串有“##”和“!!”两种,出现次数分别为2和1,但是由于“##”在口令的中间和结尾出现的次数都为1,所以在计算概率时不是狆(##)=2/3,狆(!!)=1/3,而是按照狆(##,1)=1/3,狆(##,2)=1/3,狆(!!,1)=1/3来计算.以生成口令“li123##”为例,不对特殊字符位置进行区分时,其概率为狆(li123##)=狆(犛→犔2犇3犛2)·狆(犔2→li)·

 狆(犇3→123)·狆(犛2→##)=15·

13·

13·

23=

2135.

增加索引位后,概率为

1294期 章梦礼等:一种基于结构划分及字符串重组的口令攻击方法

《 计

算 机

学 报

Page 10: 一种基于结构划分及字符串重组的口令攻击方法cjc.ict.ac.cn/online/onlinepaper/zml-201941793554.pdf · 章梦礼1) 张启慧1) 刘文芬2) 胡学先1) 魏江宏1)

狆(li123##)=狆(S→犔2犇3犛2)·狆(犔2→li)· 狆(犇3→123)·狆(犛2→(##,2))=15·

13·

13·

13=

1135.

由于利用PCFG算法生成候选口令,是精确按照各个段搜索字符串的,在特殊字符中增加索引位,对于算法的时间复杂度的影响可以忽略.另外,引入索引位后增加了表格的存储空间,但是特殊字符在口令中存在的比例很小,所以增加的存储空间不会影响算法的运行效率.

图4 特殊字符的处理

43 改进的犗犕犈犖算法字符串重组子模块中,我们利用Markov模型

对基本结构对应的字符串进行建模.原始的基于Markov模型的OMEN算法能够按概率递减顺序枚举候选口令,但是由于在生成不同的口令时对相同的字符串进行了重复计算,增加了该算法的运行时间.因此,我们对OMEN算法进行了改进,提出了一个折中迭代的字符串生成算法———RecursiveOMEN.4.3.1 RecursiveOMEN算法思想

OMEN算法在计算不同长度字符串概率时,对相同子字符串进行了重复计算.一方面,不同的口令中可能包含相同的字符串;另一方面,随着口令长度的增加犾犲狏犲犾个数也会增多,对应着向量犪=(犪1,…,犪犽)中的元素个数增多.在迭代生成口令时,向量犪的前一部分元素的取值被重新规划,从而导致重复生成了相同的字符串,浪费了计算资源.我们考虑通过递归的方式去生成长口令,减少重复计算,从而提高效率.

在RecursiveOMEN算法中,对向量犪进行了折

中处理:将向量犪拆分成前后两个或者三个向量.如果犪中的元素个数为偶数,则拆分成前后三个向量:犪1=(犪1,…,犪犽/2),犪2=(犪(犽+2)/2,…,犪犽-1),犪3=(犪犽),三个向量的长度分别为犽/2,(犽-2)/2,1;如果为奇数则拆分成前后两个向量:犪1=(犪1,…,犪犽/2),犪2=(犪(犽+3)/2,…,犪犽),长度分别为(犽+1)/2,(犽-1)/2.下面我们分别讨论当犽为奇数和偶数时(Markov链的阶数为狀)RecursiveOMEN的运行机制.犽为奇数时(以犽=5为例):η=犾犲狏犲犾1+犾犲狏犲犾2+犾犲狏犲犾3+犾犲狏犲犾4+犾犲狏犲犾5,向

量犪=(犪1,犪2,犪3,犪4,犪5),其中犪1是起始字符串(狀-1)gram的犾犲狏犲犾,犪2,犪3,犪4,犪5分别对应各个狀gram的犾犲狏犲犾.将犪拆分成犪1=(犪1,犪2,犪3),犪2=(犪4,犪5)两部分,则η=η1+η2,犪=(犪1,犪2).首先,针对向量犪1,搜索满足条件的犪1,犪2,犪3生成犪1对应的字符串和它们的η值.并且,由于向量犪1和犪2对应的字符串的搜索空间是一样的,不同的是犪2对应的字符串搜索空间中的η值比犪1少一个犾犲狏犲犾0,因此在搜索犪1的同时我们也得到了相应的犪2.下一步,只需对η1和η2的值进行迭代即可,只要满足犪1对应的字符串后狀位的字符和犪2对应的字符串前狀位的字符相同则有效(能够组成口令).犽为偶数时(以犽=6为例):η=犾犲狏犲犾1+犾犲狏犲犾2+犾犲狏犲犾3+犾犲狏犲犾4+犾犲狏犲犾5+

犾犲狏犲犾6对应的向量犪=(犪1,犪2,犪3,犪4,犪5,犪6).将犪拆分成犪1=(犪1,犪2,犪3),犪2=(犪4,犪5),犪3=(犪6)三部分,则η=η1+η2+η3,犪=(犪1,犪2,犪3).针对向量犪1,犪2我们按照犽为奇数时的方法进行迭代后,向量犪可表示成犪=((犪1+犪2+犪3+犪4+犪5),犪6),对应的η=(η1+η2)+η3,犪中的犾犲狏犲犾个数为2,其中犪1可以通过迭代狀=5得到,犪2是原始的狀gram对应的犾犲狏犲犾.最后,搜索所有满足条件的犪1和犪2生成口令.

RecursiveOMEN算法迭代生成固定长度字符串的过程如图5所示,字母表由Σ={犪,犫}组成,Markov链的阶数为2.首先,迭代3长的向量犪1=(犪1,犪2,犪3),生成4长的字符串的同时,通过将每个犪1对应的η值减去起始字符的犾犲狏犲犾值,得到向量犪2=(犪4,犪5).然后通过组合犪1,犪2得到5长的向量犪=(犪1,犪2,犪3,犪4,犪5),将犪与转移概率对应的犾犲狏犲犾组合起来,生成6长的向量犪=((犪1+犪2+犪3+犪4+

229 计  算  机  学  报 2019年

《 计

算 机

学 报

Page 11: 一种基于结构划分及字符串重组的口令攻击方法cjc.ict.ac.cn/online/onlinepaper/zml-201941793554.pdf · 章梦礼1) 张启慧1) 刘文芬2) 胡学先1) 魏江宏1)

犪5),犪6)=(犪1,犪2)以及它们对应的字符串,这样就由3长的向量得到了5长和6长的向量.依次迭代,我们能利用更短长度的向量犪得到更长的向量,即短口令生成长口令.

图5 RecursiveOMEN算法生成固定长度字符串

4.3.2 RecursiveOMEN算法描述在给定初始字符串和转移字符串,以及它们的

犾犲狏犲犾的情况下,生成固定长度,固定η值的字符串的算法如算法3所示.其中,对于每一个向量,犪=(犪0,犪1,犪2,…,犪犽),选择所有犾犲狏犲犾为犪0的2gram狓1狓2,然后迭代所有的狓3使得3gram狓1狓2狓3的犾犲狏犲犾为犪1.下一步,迭代所有的狓4使得3gram狓2狓3狓4的犾犲狏犲犾为犪2,如此反复,直到达到固定长度为止.最后,输出长为,“强度”犾犲狏犲犾为η的候选字符串集合.

算法3. 字符串迭代算法(犛狋狉犻狀犵犖狌犿())(其中Markov链阶数取2,字符空间为Σ).

输入:初始字符串的表犜犪犫犾犲0,3gram的表犜犪犫犾犲1输出:长为字符串的集合犛狋狉犻狀犵犛犲狋_1.搜索所有长为-1的向量犪=(犪0,犪1,…,犪-2),满

足∑-2

犻=0犪犻=η

2.FOR狓1狓2INΣ2:3.IF犾犲狏犲犾(狓1狓2)=犪0:4. FOR狓3INΣ:5. IF犾犲狏犲犾(狓3|狓1狓2)=犪1:

6. FOR狓4INΣ7. IF犾犲狏犲犾(狓4|狓2狓3)=犪2:8.如此反复迭代,直到达到指定长度为止.犛狋狉犻狀犵犛犲狋_.狆狌狊犺(狆狉狅犫,狓1狓2…狓,犾犲狏犲犾)

9.ENDFOR10.output犛狋狉犻狀犵犛犲狋_RecursiveOMEN快速迭代算法流程如图6所

示.通过训练,生成起始字符串和狀gram字符串,以及它们对应的犾犲狏犲犾,并建立表犜犪犫犾犲0和犜犪犫犾犲1.表犜犪犫犾犲0中的项由三元组(狆狉狅犫0,狓1狓2…狓狀-1,犾犲狏犲犾0)组成,包含起始字符串以及它的概率犾犲狏犲犾0,表犜犪犫犾犲1中的项由(狆狉狅犫1,狓1狓2…狓狀,犾犲狏犲犾1)组成,包含狀gram字符串以及对应的转移概率犾犲狏犲犾1.首先对犜犪犫犾犲0,犜犪犫犾犲1运用犛狋狉犻狀犵犖狌犿()算法,构造新的三元组(狆狉狅犫2,狔1狔2…狔狀,犾犲狏犲犾2)并插入到表犜犪犫犾犲2中,其中狆狉狅犫2=狆狉狅犫0·狆狉狅犫1,犾犲狏犲犾2=犾犲狏犲犾0+犾犲狏犲犾1,狔1狔2…狔狀是生成的字符串.然后对犜犪犫犾犲2,犜犪犫犾犲1使用犛狋狉犻狀犵犖狌犿()算法,生成表犜犪犫犾犲3,将表犜犪犫犾犲3中三元组(狆狉狅犫3,狔1狔2…狔狀狔狀+1,犾犲狏犲犾3)的概率狆狉狅犫3和犾犲狏犲犾3分别除去字符串狔1狔2…狔狀狔狀+1中起始字符对应的狆狉狅犫0和犾犲狏犲犾0,建立表犜犪犫犾犲3.并对犜犪犫犾犲3,犜犪犫犾犲3和犜犪犫犾犲3,犜犪犫犾犲1运用犛狋狉犻狀犵犖狌犿()算法,同理得到表犜犪犫犾犲4,犜犪犫犾犲4和犜犪犫犾犲5,犜犪犫犾犲5,依次迭代,生成各个长度的表犜犪犫犾犲,即得到了不同长度的字符串.

图6 RecursiveOMEN快速迭代算法流程图

3294期 章梦礼等:一种基于结构划分及字符串重组的口令攻击方法

《 计

算 机

学 报

Page 12: 一种基于结构划分及字符串重组的口令攻击方法cjc.ict.ac.cn/online/onlinepaper/zml-201941793554.pdf · 章梦礼1) 张启慧1) 刘文芬2) 胡学先1) 魏江宏1)

算法4. RecursiveOMEN快速迭代算法.输入:预生成口令的犾犲狏犲犾的个数犓(犓2),离散概率

值为η,初始字符串概率离散化后的表犜犪犫犾犲0,狀gram概率离散化后的表犜犪犫犾犲1

输出:长为口令的集合犛狋狉犻狀犵犛犲狋_1.由犜犪犫犾犲0和犜犪犫犾犲1构造2长向量对应的表犜犪犫犾犲22.犜犪犫犾犲2←犛狋狉犻狀犵犖狌犿(犜犪犫犾犲0,犜犪犫犾犲1)3.IF犓34.判断犓的奇偶性5.IF犓mod2==16. 令犓1=犽+127. 搜索表犜犪犫犾犲犽1,犜犪犫犾犲犽1是否在缓存中8.IF犜犪犫犾犲犽1,犜犪犫犾犲犽1INCacheTHEN9. 犜犪犫犾犲犓←犛狋狉犻狀犵犖狌犿(犜犪犫犾犲犓1,犜犪犫犾犲犽1)10.ELSE11. 令犓=犓1,重复步骤312.利用中间犜犪犫犾犲生成最终的字符串13.犜犪犫犾犲犓←犛狋狉犻狀犵犖狌犿((犛狋狉犻狀犵犖狌犿(…),…))14.ELSE15.令犓1=犓-116.搜索表犜犪犫犾犲犽1是否在缓存中17.IF犜犪犫犾犲犽1INCacheTHEN18. 犜犪犫犾犲犓←犛狋狉犻狀犵犖狌犿(犜犪犫犾犲犓1,犜犪犫犾犲1)19.ELSE20. 令犓=犽-12,重复步骤321.利用中间犜犪犫犾犲生成最终的字符串22.犜犪犫犾犲犓←犛狋狉犻狀犵犖狌犿(犛狋狉犻狀犵犖狌犿(…),…)23.ELSE24.犜犪犫犾犲犓←犛狋狉犻狀犵犖狌犿(犜犪犫犾犲0,犜犪犫犾犲1)

5 实验结果分析本文中实验的软硬件运行环境如下:Intel

Corei74790CPU、16GBRAM、GTX1070GPU、Windows64位旗舰版、Python2.9、Matlab2015a.51 场景设置

针对RecursiveOMEN算法,在PhpBB,Yahoo,CSDN,RockYou四个数据集上进行了测试,来验证该算法生成固定长度字符串的效率.

Wang等人[26]指出,当训练集和测试集来自于同一数据集时,由于口令集合符合Zipf分布,所以攻击者能够了解目标系统口令分配的大部分情况,但是不能够全部掌握,这满足机器学习中“训练集和

测试集不同”的要求.当训练集和测试集来自于不同口令集合时,则能够很好的模拟漫无目的的攻击者的行为.所以,针对本文的攻击模型,设置了8个攻击场景,如表8所示.场景1,从1600万Dodonew中文数据集中随机抽取1400万作为训练集,剩下200万作为测试集;场景2,从3200万RockYou英文数据集中随机抽取2500万作为训练集,剩下700万作为测试集;场景3,用RockYou数据集作为训练集,Dodonew数据集作为测试集;场景4,用Dodonew数据集作为训练集,RockYou数据集作为测试集;场景5,用Dodonew数据集作为训练集,剩下两个中文数据集:CSDN,JingDong作为测试集;场景6,用RockYou数据集作为训练集,剩下两个英文数据集:PhpBB,Yahoo作为测试集;场景7,用Dodonew数据集作为训练集,两个英文数据集:PhpBB、Yahoo作为测试集;场景8,用RockYou数据集作为训练集,两个中文数据集:JingDong、CSDN作为测试集.

表8 攻击场景# name1 Dodonew→Dodonew2 RockYou→RockYou3 RockYou→Dodonew4 Dodonew→RockYou5 Dodonew→CSDN+JingDong6 RockYou→PhpBB+Yahoo7 Dodonew→PhpBB+Yahoo8 RockYou→CSDN+JingDong

52 结果分析5.2.1 RecursiveOMEN算法运行时间对比

在验证实验中,设置犾犲狏犲犾个数分别为:2,3,4,5,6,7,8,9,对OMEN算法选择4阶Markov链,为了使比较结果更精确,我们控制生成字符串的个数为一千万以便在相同条件下进行比较,将OMEN算法的运行时间取自然对数以便在坐标轴上刻画.实验结果如图7所示,从图中可以看出,生成相同长度的字符串RecursiveOMEN算法比原始的OMEN算法用时更短,并且随着字符串长度的增加,RecursiveOMEN算法的用时没有急剧上升.5.2.2 SPSR算法攻击效率对比

本文在每个场景中,设置猜测次数分别为:102,103,104,105,106,107,Narayanan的算法Markov链的阶数设置为4.并计算了每个猜测次数下破解的

429 计  算  机  学  报 2019年

《 计

算 机

学 报

Page 13: 一种基于结构划分及字符串重组的口令攻击方法cjc.ict.ac.cn/online/onlinepaper/zml-201941793554.pdf · 章梦礼1) 张启慧1) 刘文芬2) 胡学先1) 魏江宏1)

图7 RecursiveOMEN算法在4个数据集上的运行时间成功率.实验中,对比了Narayanan的方法,Weir的方法以及我们的算法的攻击效率(SPSR).

观察图8中的(a)和(b),可知,当训练集与测试集来自于同一个口令集合时,在猜测次数低于104次的情况下,本文的算法攻击效率略低于PCFG;在猜测次数高于104次后,攻击效率接近并略高于PCFG;在猜测次数低于106时,本文的算法的攻击效率比Markov高了50%左右,当攻击次数达到107后,也比Markov高了15%左右.

观察图8中的(c)和(d),可知,当训练集和测试集来自于不同语言的不同口令集合时,本文的算法的攻击效率比PCFG高了约20%左右;在猜测次数低于106次的情况下,攻击效率比Markov高了50%左右,当猜测次数增加到107以后,本文的算法的攻击效率仍比Markov高20%左右.并且,场景3和场景4形成交叉验证,排除了偶然性因素的影响,结果更有说服力.

观察图8中的(e)和(f),可知,当训练集和测试集来自于相同语言的不同口令集合时,本文的算法的攻击效率比PCFG高了约20%左右;在猜测次数

低于105次的情况下,攻击效率比Markov高了40%左右,当猜测次数增加到106以后,本文的算法的攻击效率仍比Markov高20%左右.

观察图8中的(g)和(h),可知,当训练集和测试集来自于不同语言的不同口令集合时,在猜测次数低于104次的情况下,本文的算法与PCFG的攻击效率接近,当猜测次数超过104次后,开始优于PCFG,攻击效率提高了10%左右;在猜测次数低于105的情况下本文的算法比Markov高了40%左右,当猜测次数超过105后,仍然比Markov高20%左右.

综上,当猜测次数低于106时,本文算法的攻击效率比Markov高了40%~50%,当猜测次数高于107后,攻击效率比Markov高了20%左右;当训练集和测试集来自相同口令集合时,本文的算法取得了不弱于PCFG的攻击效率,并且当训练集和测试集来自不同的口令集合时,攻击效率比PCFG提高了20%左右.真实攻击场景中,训练集和待猜测数据集来自同一群体的情况是较少发生的,攻击者采用其它来源的训练集来攻击目标口令集是更为普遍的情况.

5294期 章梦礼等:一种基于结构划分及字符串重组的口令攻击方法

《 计

算 机

学 报

Page 14: 一种基于结构划分及字符串重组的口令攻击方法cjc.ict.ac.cn/online/onlinepaper/zml-201941793554.pdf · 章梦礼1) 张启慧1) 刘文芬2) 胡学先1) 魏江宏1)

图8 八个场景的攻击结果对比

629 计  算  机  学  报 2019年

《 计

算 机

学 报

Page 15: 一种基于结构划分及字符串重组的口令攻击方法cjc.ict.ac.cn/online/onlinepaper/zml-201941793554.pdf · 章梦礼1) 张启慧1) 刘文芬2) 胡学先1) 魏江宏1)

6 总结和展望本文在“口令相同类型的字符间存在强关联,而

不同类型的字符间相互独立”的假设下,提出了一个PCFG和Markov的混合口令攻击模型———SPSR.训练阶段,在原始PCFG结构模式中加入了常用字符段,并对特殊字符的位置进行了区分加入了索引位.字符串生成阶段,我们对OMEN算法进行了改进,提出了一个折中迭代的字符串算法———RecursiveOMEN,将基本结构中字母段和数字段对应的字符串作为Markov生成器的训练集,用生成的字符串更新了字母段和数字段,最后按概率递减顺序生成口令字典.从对比实验中,可以看出,我们的算法相比原始的基于Markov的算法的攻击效率更好,运行时间更短,并且在交叉数据集上的表现也优于原始的基于PCFG的模型.

在接下来的工作中,我们会继续优化我们的算法,同时也会挖掘更深层次的口令结构特征,并探寻更优的结构划分方法.比如在个人信息唾手可得的大数据时代,Wang等人[17]已经证明利用个人信息PII来破解口令成功率将更高.本文中的SPSR算法,在结构划分模块,可以利用他们提出的Tagbased标签技术将个人信息PII融入到口令结构中,进一步提高算法的效率.

致 谢 向本文编辑和对本文提出宝贵意见的各位审稿专家表示衷心的感谢!

参考文献

[1]WangPing,WangDing,HuangXinYi.Advancesinpasswordsecurity.ComputerResearchandDevelopment,2016,53(10):21732188(inChinese)(王平,汪定,黄欣沂.口令安全研究进展.计算机研究与发展,2016,53(10):21732188)

[2]BiddleR,ChiassonS,OorschotPCV.Graphicalpasswords:Learningfromthefirsttwelveyears.ACMComputingSurveys,2012,44(4):141

[3]JainAK,RossA,PankantiS.Biometrics:Atoolforinformationsecurity.IEEETransactionsonInformationForensics&Security,2006,1(2):125143

[4]HuangXY,YangX,ChonkaA,etal.Agenericframeworkforthreefactorauthentication:Preservingsecurityandprivacyindistributedsystems.IEEETransactionsonParallel&DistributedSystems,2010,22(8):13901397

[5]StajanoF,OorschotPCV,HerleyC,etal.Thequesttoreplacepasswords:Aframeworkforcomparativeevaluationofwebauthenticationschemes//Proceedingsofthe33rd

IEEESymposiumonSecurityandPrivacy.SanFrancisco,USA,2012:553567

[6]BonneauJ,HerleyC,OorschotPCV,etal.Passwordsandtheevolutionofimperfectauthentication.CommunicationsoftheACM,2015,58(7):7887

[7]HerleyC,OorschotPV.Aresearchagendaacknowledgingthepersistenceofpasswords.IEEESecurity&Privacy,2012,10(1):2836

[8]FreemanD,DürmuthM,BiggioB.Whoareyou?astatisticalapproachtomeasuringuserauthenticity//ProceedingsoftheNetwork&DistributedSystemSecuritySymposium.SanDiego,USA,2016:115

[9]ShenYing,LiaoLiuCheng,DongTianYang.Passwordstrengthmetricbasedclassificationproactivemodel.ComputerScience,2015,42(11):222227(inChinese)(沈瑛,廖刘承,董天阳.口令强度评估的分级先验模型研究.计算机科学,2015,42(11):222227)

[10]OechslinP.Makingafastercryptanalytictimememorytradeoff.LectureNotesinComputerScience,2003,2729(4):617630

[11]WangDing.ResearchonKeyIssuesinPasswordSecurity[Ph.D.dissertation].SchoolofInformationScienceandTechnology,PekingUniversity,Beijing,2017(inChinese)(汪定.口令安全关键技术研究[博士学位论文].北京大学信息科学技术学院,北京,2017)

[12]NarayananA,ShmatikovV.Fastdictionaryattacksonpasswordsusingtimespacetradeoff//Proceedingsofthe12thACMConferenceonComputerandCommunicationsSecurity.Alexander,USA,2005:364372

[13]WeirM,AggarwalS,MedeirosBD,etal.Passwordcrackingusingprobabilisticcontextfreegrammars//Proceedingsofthe30thIEEESymposiumonSecurityandPrivacy.Washington,USA,2009:391405

[14]MaJ,YangWN,LuoM,etal.Astudyofprobabilisticpasswordmodels//Proceedingsofthe35thIEEESymposiumonSecurityandPrivacy2014.SanJose,USA,2014:689704

[15]DürmuthM,AngelstorfF,CastellucciaC,etal.OMEN:FasterpasswordguessingusinganorderedMarkovenumerator//Proceedingsofthe7thInternationalSymposiumonEngineeringSecureSoftwareandSystems.Milan,Italy,2015:119132

[16]HoushmandS,AggarwalS,FloodR.NextgenPCFGpasswordcracking.IEEETransactionsonInformationForensics&Security,2017,10(8):17761791

[17]WangD,ZhangZJ,WangP,etal.Targetedonlinepasswordguessing:anunderestimatedthreat//Proceedingsofthe2016ACMSIGSACConferenceonComputerandCommunicationsSecurity.Vienna,Austria,2016:12421254

[18]WangD,WangP.OntheimplicationsofZipf’slawinpasswords//Proceedingsofthe21stEuropeanSymposiumonResearchinComputerSecurity.Heraklion,Greece,2016:111131

[19]WangD,ChengHB,WangP,etal.Zipf’slawinpassword.IEEETransactionsonInformationForensicsandSecurity,2017,12(11):27762791

7294期 章梦礼等:一种基于结构划分及字符串重组的口令攻击方法

《 计

算 机

学 报

Page 16: 一种基于结构划分及字符串重组的口令攻击方法cjc.ict.ac.cn/online/onlinepaper/zml-201941793554.pdf · 章梦礼1) 张启慧1) 刘文芬2) 胡学先1) 魏江宏1)

[20]PaarC,PelzlJ.UnderstandingCryptography.BerlinHeidelberg:Springer,2010:519551

[21]KleinDV.Asurveyof,andimprovementsto,passwordsecurity.Programming&ComputerSoftware,2001,17(3):514

[22]BonneauJ.Thescienceofguessing:Analyzingananonymizedcorpusof70millionpasswords//Proceedingsofthe33rdIEEESymposiumonSecurityandPrivacy.SanFrancisco,USA,2012:538552

[23]LopezJ,CranorLF,ChristinN,etal.Guessagain(andAgainandAgain):Measuringpasswordstrengthbysimulatingpasswordcrackingalgorithms//Proceedingsofthe33rdIEEESymposiumonSecurityandPrivacy.SanFrancisco,USA,2012:523537

[24]ZouJing,LinDongDai,HaoChunHui.Apasswordcrackingmethodbasedonstructuredivisionprobability.ChineseJournalofComputers,2014,37(5):12061215(inChinese)(邹静,林东岱,郝春辉.一种基于结构划分概率的口令攻击方法.计算机学报,2014,37(5):12061215)

[25]HanWeiLi,YuanLang,LiSiSi,etal.Anefficientalgorithmtogeneratepasswordsetsbasedonsamples.ChineseJournalofComputers,2017,40(5):11511167(inChinese)(韩伟力,袁琅,李思斯等.一种基于样本的模拟口令集生成算法.计算机学报,2017,40(5):11511167)

[26]WangD,ChengHB,WangP,etal.Asecurityanalysisofhoneywords//Proceedingsofthe25thISOCNetworkandDistributedSystemSecuritySymposium.SanDiego,USA,2018:116

犣犎犃犖犌犕犲狀犵犔犻,bornin1993,M.S.candidate.Hisresearchinterestsincludepasswordsecurityandbigdatasecurity.

犣犎犃犖犌犙犻犎狌犻,bornin1983,Ph.D.candidate,lecturer.Hermainresearchfocusesonbigdatasecurity.

犔犐犝犠犲狀犉犲狀,bornin1965,Ph.D.,professor,Ph.D.supervisor.Herresearchinterestsincludecryptographyandinformationsecurity.

犎犝犡狌犲犡犻犪狀,bornin1982,Ph.D.,lecturer.Hiscurrentresearchinterestsincludesecurityprotocolandbigdatasecurity.

犠犈犐犑犻犪狀犵犎狅狀犵,bornin1987,Ph.D.,lecturer.Hisresearchinterestsincludeauthenticationprotocol,bigdatasecurityandprivacyprotection

犅犪犮犽犵狉狅狌狀犱Identityauthenticationisakeylineofdefensefornetwork

security,andpasswordshavelongbeenthemainstreamofidentityauthentication.Theanalysisandevaluationofpasswordsecuritycanbeconductedbyusingattackalgorithmtomakeactualattackandthenmeasureitaccordingtoattackresult.Currently,thewidelyusedmeasureisthenumberofguessesneededtosuccessfullyattackthepassword.Passwordattackisanimportantmeansofpasswordsecurityresearch.

Probabilitymodelisthemostefficientpasswordattackmodel,amongthem,probabilisticcontextfreegrammar(PCFG)andMarkovchainbasedmodelsarethemosteffectivemethodsofpasswordattackatpresent.Theyeffectivelycharacterizethepasswordsfromthesubstructurelevelandthecharacterdependentlevelrespectively.TheresearchersproposedthecorrespondingpasswordattackmodelbasedonPCFGandMarkovchaintoreachthebestattacklevelinthesameperiod.However,thePCFGbasedmodelcanabstractthepossiblebasicpasswordstructureaccurately,butitsgeneralizationabilityisweak.AlthoughtheMarkovchainbasedmodelcanimprovethegeneralizationabilitybyadjustingtheorder,thereisabiasinestimatingthepasswordprobability.

Thispaperproposeapasswordattackmethodbasedonstructurepartitionandstringreorganization,whichisdenotedasSPSRmodel.Firstly,thepasswordsaredividedintoabstractsubstructures,andthensubstringsofcharacters,numbersandsymbolsinsubstructuresaregeneratedbyusinganimprovedMarkovchainmodeltotakeaccountoftheaccuracyandgeneralizationabilityofthemodel.Inaddition,wealsointroducecommoncharactersegmentinthestructuredivisionstage,andaddtheindexbittoexplicitlydepictthepositionofthespecialcharactersinthepasswords.Duringthestringreorganizationphase,wereducerepeatedcalculationinthegenerationofsubstring’sprobability,viaproposinganimprovedOMENalgorithmcalledRecursiveOMEN.AseriesofexperimentsshowtheadvantagesofthenewmodelsandalgorithmcomparedwithPCFGandMarkovchainbasedmodels.

ThispaperissupportedbytheNationalNaturalScienceFoundationofChina(GrantNos.61502527,61702549,61862011,61872449),theGuangxiNaturalScienceFoundation(GrantNo.2018GXNSFAA138116)andtheGuangxiKeyLaboratoryofCryptographyandInformationSecurity(No.GCIS201704).

829 计  算  机  学  报 2019年

《 计

算 机

学 报