一种计算机口令统计分析方法及装置与流程

文档序号:14718986发布日期:2018-06-17 00:15阅读:305来源:国知局
本发明涉及计算机领域,具体涉及一种计算机口令统计分析方法及装置。
背景技术
:基于规则或字典的暴力破解是国际上或行业内实施计算机口令解密的通行方法。相关高新技术企业借助图形处理器(GraphicsProcessingUnit,GPU)等加速设备,已开发出功能强大、配置灵活的分布式解密平台。美国Passware、俄罗斯Elcomsoft、我国厦门市美亚柏科信息股份有限公司等公司均研制成功并公开销售口令解密软件或设备,其主要算法范围、技术参数成为行业内的公认标准。PasswareKitForensic提供完整的电子物证解密方案,可对加密硬盘、哈希类散列函数、Word/Excel/PowerPoint、PDF等200余种口令算法实施基于字典或规则的暴力破解,该软件提供“口令调节器”,支持单词及数字组合、字母更改、单词反转等规则类简易生成及变换,在一定程度上实现了破解策略的自定义设计。但是,破解策略的自定义设计在一定程度上缺乏科学的口令库统计依据,其默认的基准策略过于依赖设备性能。厦门市美亚柏科信息股份有限公司的极光密码分析系统是典型的综合硬件平台,可通过节点分布式部署来构建大规模解密运算资源,支持包括Office、WPS、PDF、Rar、Zip、PGP、Windows操作系统NT密钥、无线WPA/WPA2密钥、MD5、MD5($pass.$salt)、md5(md5($pass).$salt)、SHA-1($salt.$pass)、Phpbb3、黑莓/苹果手机备份加密文件等哈希类和文件类总超过50种类型、200种算法的加密信息的解析。该系统拥有黄金字典功能,可以把所有解析出来的口令自动加入黄金字典,供后续新任务解密使用,以进一步提高口令解密成功率;支持用户自定义多段的高级规则设置,如把某几个固定字符串随机组合等。但是,黄金字典的理念是口令的简单复制,而非技术性地特征把握,不利于对大规模口令实施规则化抽象。基于规则或字典的暴力破解在硬件上依托高性能分布式计算系统,在软件上除算法设计、性能调优之外,搜索策略十分关键。搜索策略是指根据具体搜索顺序进行搜索的方法。如果搜索策略(决定暴力破解的方向)设计失误,表现为空间过大或偏离目标,则整个破解作业将归于失败。上述PasswareKitForensic及极光密码分析系统主要侧重于实现计算机口令暴力搜索的计算工程,其对口令库的统计分析虽有涉及,但并不完善,也不强大,仅将口令的统计分析作为附加功能,不支持对大规模口令库实施分析作业,无法提高司法鉴定口令破解业务的效率,也无法充分挖掘解密技术装备的潜力。技术实现要素:由于现有的计算机口令解密方法侧重于计算机口令暴力搜索,缺乏科学的策略统计分析模块导致解密效率不高,且不支持对大规模口令库实施分析作业问题,本发明提出一种计算机口令统计分析方法及装置。第一方面,本发明提出一种计算机口令统计分析方法,包括:根据计算机口令的位数将口令库中的计算机口令分成若干组;根据预设的若干个正则表达式,统计并分析每组计算机口令中每个正则表达式对应的口令数;根据每个正则表达式对应的口令数,对每组计算机口令的正则表达式进行排序,以获得计算机口令统计分析结果。优选地,所述根据计算机口令的位数将口令库中的计算机口令分成若干组,进一步包括:将口令库中的计算机口令存入口令库文件,根据计算机口令的位数将所述口令库文件中的口令分成若干组。优选地,所述将口令库中的计算机口令存入口令库文件,根据计算机口令位数将所述口令库文件中的口令分成若干组之后,包括:对每组计算机口令进行排序和去重处理。优选地,所述根据每个正则表达式对应的口令数,对每组计算机口令的正则表达式进行排序,以获得计算机口令统计分析结果之后,包括:根据所述计算机口令统计分析结果中排序后的正则表达式,对待测计算机口令文件进行解密,得到解密后的计算机口令。第二方面,本发明还提出一种计算机口令统计分析装置,包括:口令分组模块,用于根据计算机口令的位数将口令库中的计算机口令分成若干组;口令统计模块,用于根据预设的若干个正则表达式,统计并分析每组计算机口令中每个正则表达式对应的口令数;排序模块,用于根据每个正则表达式对应的口令数,对每组计算机口令的正则表达式进行排序,以获得计算机口令统计分析结果。优选地,所述口令分组模块进一步用于将口令库中的计算机口令存入口令库文件,并根据计算机口令的位数将所述口令库文件中的口令分成若干组。优选地,还包括:口令处理模块,用于对每组计算机口令进行排序和去重处理。优选地,还包括:口令解密模块,用于根据所述计算机口令统计分析结果中排序后的正则表达式,对待测计算机口令文件进行解密,得到解密后的计算机口令。由上述技术方案可知,本发明通过对计算机口令进行分组,并通过正则表达式对每组口令进行统计分析,能够得到按照口令统计数量排序后的正则表达式,以提高计算机口令的解密效率,且支持对大规模口令库的分析作业。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。图1为本发明一实施例提供的一种计算机口令统计分析方法的流程示意图;图2为本发明一实施例提供的一种计算机口令统计分析装置的结构示意图。具体实施方式下面结合附图,对发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。图1示出了本发明一实施例提供的一种计算机口令统计分析方法的流程示意图,包括:S1、根据计算机口令的位数将口令库中的计算机口令分成若干组;S2、根据预设的若干个正则表达式,统计并分析每组计算机口令中每个正则表达式对应的口令数;S3、根据每个正则表达式对应的口令数,对每组计算机口令的正则表达式进行排序,以获得计算机口令统计分析结果。其中需要说明的是,计算机口令统计分析结果中包含若干个排序后的正则表达式,所述排序后的正则表达式即为计算机口令的解密策略。计算机口令的首要特征是口令位数(或称口令长度),口令中某一位可选择的字符范围称为该口令位的字符集,各口令位字符集的可能性依乘法原理作积即构成该口令的空间。以一个4位数(长度)、前两位字符集均为小写字母、第三位字符集为数字、第四位字符集为大小写字母或数字的口令为例,第一位字符集为小写字母,可有26种选择;第二位同第一位,亦有26种选择;第三位字符集有10种选择;第四位字符集包含大写、小写和数字三种类型,共有26+26+10=62种选择方法。从乘法原理出发,完成这个口令需要依次计算每一个步骤(口令位)所需的方法数,即将每一口令位的字符集数相乘(26×26×10×62),得到口令的全部可能性数(口令空间)419120。本实施例中,各口令位拥有固定的字符集,或可看作各字符集在口令位上的分布呈明显的“排列性”,因此容易得出该口令的某个特例,如aa0a。再举一列:若构造三位长度、字符集为小写或数字的口令,则结果将包含aaa、aa0、a0a、a00、0aa、0a0、00a、000八种字符集排布形式。这种口令表述方式由于不强调口令位与字符集的一一对应,各字符集随机分布在所有可能的口令位上,使得口令“组合性”特征突出。口令描述依赖特征,多维特征可构建为规则。除用汉语描述规则外,还可用字符串进行标示,以便于计算机自动识别。口令的“正则模式”(RegularMode)或“正则表达式”(RegularExpression)使用单个字符串来逻辑地描述一系列符合某个句法的字符串规则,前者侧重于“组合性”,表述比较精炼;后者侧重于“排列性”,表述更加具体。一般来说,模式可按照“组合法”展开为一系列的表达式,而表达式则无法进一步展开。举例说明,三位长度、字符集为小写字母或数字的口令可描述为正则模式:[a-z0-9]{3};该模式可展开为若干个正则表达式:[a-z]{1}[a-z]{1}[a-z]{1}、[a-z]{1}[a-z]{1}[0-9]{1}、[a-z]{1}[0-9]{1}[a-z]{1}、[a-z]{1}[0-9]{1}[0-9]{1}、[0-9]{1}[a-z]{1}[a-z]{1}、[0-9]{1}[a-z]{1}[0-9]{1}、[0-9]{1}[0-9]{1}[a-z]{1}、[0-9]{1}[0-9]{1}[0-9]{1}。具体地,11位数(长度)、依次由数字、小写字母、数字混排的口令可描述为正则模式:!<[0-9]+[a-z]+[0-9]>{11};10至12位数字的口令可描述为正则模式:[0-9]{10,12};8位数(长度)、依次由若干位小写字母、1位特殊符号、若干位数字混排的口令可描述为正则模式:!<[a-z]+[SP]{1}+[0-9]>{8};1至7位全字符的口令可描述为正则模式:[ALL]{1,7};4位数(长度)、前两位字符集均为小写字母、第三位字符集为数字、第四位字符集为大小写字母或数字的口令可描述为正则表达式:![a-z]{2}[0-9]{1}[A-Za-z0-9]{1}。其中,!表示字符集排布次序固定,[a-z]表示小写字母字符集,[A-Z]表示大写字母字符集,[0-9]表示数字字符集,[SP]表示非上述字符的可打印特殊字符集,[UP]表示不可打印字符集,[All]表示全字符,{2}表示左邻字符集部署2位长度,<>表示两个或两个以上字符集呈固定次序混排,+表示尖括号内异类字符集之间的混排关系,{1,7}表示1至7位,包含7种长度的口令,不同于{7}仅指7位数长度。规则描述法与字典描述法在系统操作中效率基本等同,但前者在口令特征分析、策略查找与替换中优势明显。很容易发现,口令apple、smart、green同属正则表达式[a-z]{5}或正则模式[All]{1,6}。*234a&、^as99#、(5788)同属正则表达式[SP]{1}[a-z0-9]{4}[SP]{1}或正则模式!<[SP]+[a-z0-9]+[SP]>{6}。每个口令都会产生对应的正则表达式或正则模式(前者描述更为精确),如果两个口令的正则模式或表达式相同,则进行归并,并统计该正则模式或表达式的累积次数,再以此累积次数与口令库的总数做商来获得该正则表达式在该样本口令库中的频度(概率),从而实现对计算机口令进行统计分析的目的。基于海量口令库的口令特征归并及频度统计在实践中必须借助计算机实现智能识别、统计和分析,因此使用正则模式或表达式来描述口令特征最为合适。基于海量口令库的特征规则及其频度分析是设定解密策略的基准,按照实际需求和具体情况建立专门口令库并实施补充分析是调教基准策略的工具。随着时代的发展和工作的深入,司法鉴定中心将获得大批来源丰富、层次复合的高质量样本库,通过先进的计算机数据分析手段,可以科学地设定出覆盖面广、指向精准的解密规则序列和字典文件,实现工作效能的大幅提升。海量口令库和专门口令库取材不同,造成频度分析的背景噪声有较大区别。对海量口令库来讲,相同正则模式或表达式归并、累积的次数与口令库的样本总数(库容量)做商求得的频度值是以整个口令库作为背景的,由于库容量十分庞大,因此统计噪声相对较小。一般来说,基准解密策略可以等同于分析海量口令库生成的正则模式或表达式序列,而专门口令库则仅能有针对性地或部分地反映出某一样本或某一阶段的解密策略,而本实施例提供的计算机口令统计分析方法为生成或优化解密策略提出了简易实现途径,能够为司法鉴定口令破解从业者提高工作效能和业务水平发挥重要作用。本实施例通过对计算机口令进行分组,并通过正则表达式对每组口令进行统计分析,能够得到按照口令统计数量排序后的正则表达式,以提高计算机口令的解密效率,且支持Linux环境下大规模口令库的导入及分析作业。作为本实施例的可选方案,步骤S1进一步包括:S11、将口令库中的计算机口令存入口令库文件,根据计算机口令的位数将所述口令库文件中的口令分成若干组。以文件的形式对口令库进行存储,便于对口令库执行各种操作和处理。进一步地,步骤S11之后,包括:S12、对每组计算机口令进行排序和去重处理。通过对每组计算机口令进行排序,将相同或相近的计算机口令排在一起,便于后续通过正则表达式进行口令统计时,能够提高统计速度和解密效率;通过对每组计算机口令进行去重,能够避免因统计相同口令而对统计结果造成偏差。进一步地,步骤S3之后,包括:S4、根据所述计算机口令统计分析结果中排序后的正则表达式,对待测计算机口令文件进行解密,得到解密后的计算机口令。对待测计算机口令文件进行解密时,由于正则表达式是按照口令库文件中口令的频数高低进行排序的,因此根据排序后的正则表达式匹配到正确的计算机口令的平均速度将大大提高。举例来说,以海量口令库rockyou为分析对象,进行计算机口令统计分析方法的具体演示:A1、依口令位数分割口令库并自动识别、归并其正则表达式;之所以依口令位数分割口令库,主要是考虑到在实际工作中6位以下的口令一般采取全空间搜索模式,故对这一部分口令开展特征分析的必要性不足。以下主要面向7位至12位口令运用计算机口令数据分析工具实施正则模式或表达式的智能识别与归并,表1统计出rockyou库口令数目和平均长度,表2反映出rockyou库不同口令长度下口令的数量分布与生成的正则表达式数量分布。表1rockyou口令数目与平均长度口令库名称口令数目平均长度主要使用人群Rockyou325827067.88社交游戏用户表2rockyou不同口令长度下口令的数量与生成的正则表达式数量本实施例提供的计算机口令统计分析方法具有大容量、高速度、高精度的智能识别与归并能力,在极短时间内即可对千万余条rockyou库口令样本开展统计分析。表1显示出该口令库的平均长度是7.88,结合表2可看出,7到10位的口令数量居多。尽管如此,其中7位口令生成的正则表达式数量较少,也反映出人们在7位口令的设置方式上思维趋同。A2、计算正则模式或表达式在口令库中的频度;为方便说明问题,以下列举口令7位长度、8位长度这两组频度排序前4名正则表达式的分析过程。如前所述,在统计出不同口令长度下口令的数量与生成的正则表达式数量后,要着重对该正则模式或表达式在口令库中的频度进行计算并对结果进行排序,以确定某种口令正则特征的可能性排布。表3和表4左起纵列出正则模式或表达式,横列依次分析该正则的归并累积次数、库样本容量、及某口令长度的容量,用前者除以后者可得出该正则的相应频度。表3rockyou命中概率和超过90%的正则表达式(口令长度为7)表4rockyou命中概率和超过90%的正则表达式(口令长度为8)从表3和表4容易看出,7位或8位长度,字符集选取数字的口令特征频度最高,前三位选取小写字母、后四位选取数字的特征其次,前一位选取小写字母、后六位选取数字再次,前六位选取数字、后一位选取小写字母最次。以上两表只是频度计算的局部样本,实际工作中正则式数量十分庞大,特征表现包罗万象。A3、设定策略并分析;通过对基于海量口令库不同长度口令正则式的频度计算,可以得出基准解密策略。实践中依据解密平台的工作性能科学地排布解密策略,可在最大限度内提高工作效能。对于具体的数据来源,则可以单凭人工观察或借助智能分析工具,结合基准解密策略开展专门分析,梳理、总结口令的特殊规律,改换基准正则式序列的内容、次序等,生成专用解密策略。表5以rockyou库为例,生成了7至12位长下的最优策略并得出其搜索空间。表5最优策略搜索空间及所占比例在司法鉴定中心的实际工作中,按照实际需求和具体情况长期积累有一系列的专用口令库,也可运用正则方法和智能工具开展口令特征分析和解密策略设定,可在具体项目上不断调教、优化基准策略。图2示出了本发明一实施例提供的一种计算机口令统计分析装置的结构示意图,包括:口令分组模块21,用于根据计算机口令的位数将口令库中的计算机口令分成若干组;口令统计模块22,用于根据预设的若干个正则表达式,统计并分析每组计算机口令中每个正则表达式对应的口令数;排序模块23,用于根据每个正则表达式对应的口令数,对每组计算机口令的正则表达式进行排序,以获得计算机口令统计分析结果。可选地,所述口令分组模块21进一步用于将口令库中的计算机口令存入口令库文件,并根据计算机口令的位数将所述口令库文件中的口令分成若干组。进一步地,还包括:口令处理模块24,用于对每组计算机口令进行排序和去重处理。进一步地,还包括:口令解密模块25,用于根据所述计算机口令统计分析结果中排序后的正则表达式,对待测计算机口令文件进行解密,得到解密后的计算机口令。本实施例所述的计算机口令统计分析装置可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。本发明的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1