> 博客 > 密码学与安全 > 密码破解方式杂谈及可行性分析

密码破解方式杂谈及可行性分析

   2018-10-26  点击:18403次

密码破解方式杂谈及可行性分析

版权声明:本文由贯日建站(孙佳伟)原创,未经授权严禁转载,侵权必究!

一、破解密码的可能性及主要方式

1. 算法漏洞:加密算法通常是基于未解的数学难题,随着加密算法的不断更新、以及现代计算机算力的不断升级,加密算法也一直在更新迭代。很多已经被认为不安全的加密算法、和一些私有的加密算法可能会存在可怕的缺陷,这使得通过算法漏洞破解密码成为可能。比如“one byte patching”方法,可以通过简单的修改程序中的一个比特即可实现正确的解密而无需正确的密码。令人担忧的是,使用这种弱强度加密的程序仍然存在。

2. 暴力破解:在安全的加密算法下(当攻击者只能随机生成密码来猜测正确的密码时)只存在一种方式,即暴力破解。暴利攻击:即尝试所有的密码组合,暴力破解通常与密码字典配合使用(以及在社会工程学帮助下制作密码字典库),此方法需要依赖高算力设备或FPGA芯片。

什么是社会工程学?通俗的讲就是对人进行物理攻击,比如通过跟文件的加密者交流、获取其信任,并得到需要的信息(生日、电话、邮箱等)。随着技术的不断进步和完善,黑客通过技术手段的攻击越来越难,社会工程学成为未来最大的安全隐患。世界第一黑客凯文·米特尼克曾说过“人为因素才是安全的软肋,很多企业花费大量资金在信息安全上,最终导致数据泄露的原因往往是人本身”。

二、暴力破解之王:Rainbow Tables(彩虹表)

Rainbow 攻击是种在时间复杂度和空间复杂度之间取得一定平衡的攻击方法。在已知部分明文 P0 和加密方法 S 的情况下, Rainbow 攻击还引入一种还原函数(reduction function)R。该还原函数的作用是根据密文 C 生成密钥 k。当然,真正的“还原”是不可能的。所以,这里的还原函数只是负责生成密钥 k,而不用管该密钥是否正确。很多时候在具体应用时,还原函数只是简单地复制或者哈希函数。在有了加密方法 S 和还原函数 R 之后, Rainbow 方法建立若干条密钥链:

Rainbow

Rainbow 方法的巧妙之处在于它只需要存储该密钥链的第 1 个密钥和最后 1 个密钥,这样就节省了大量的存储空间。最简单的情况下,对于一个密钥空间为 N 的问题,采用Rainbow 方法,可以使用 N2/3 的存储空间,在 N2/3 的时间内进行破解。

、哪些文件的密码可以被破解

事实上,所有提示输入密码的加密文件(密码通过hash验证)都是可以破解的,不同的加密算法决定了不同的破解速度。比如:使用ZipCrypto加密算法加密的zip文件的暴力破解速度为每秒九百万次,这意味着破解6位纯数字密码只需不要1秒钟时间。

可以被暴力攻击、字典攻击的文件有:word、excel、zip、rar、7z、pdf、Linux账户密码、Windows账户密码等等、以及所有通过MD5散列算法校验的密码。

、office 2003-2007版本的加密形同虚设

Office2003-2007加密的doc、xls、ppt文件采用RC4加密,密钥长度为40bit,现已经可以在不知道原密码的情况下快速破解。原理很简单,40bit的密钥长度所能组合出的密钥约为一万亿个(1099511627776),保存这一万亿个密钥和密文大约需要10TB空间。如果使用Rainbow(彩虹表),可能只需要16.8GB。

、各大网站数据泄露暴露了你常用的密码

很多知名的网站曾遭遇攻击导致数据库泄露,而这些知名的网站好像都喜欢直接存放明文密码,比如网易邮箱曾泄露了超过50GB的用户数据库,这其中包含用户的邮箱和明文密码,CSDN、天涯等等也都泄露过,某酒店甚至泄露了两千万条开房数据库在互联网中流传。数据泄露是一件非常严重的事情,但并没有受到应有的重视。大部分人在注册各类网站、应用账号时,习惯性的使用同一个密码或稍做变动。比如:攻击者得到了你的网易邮箱密码,那么他可以去多个网站尝试使用你的邮箱找回密码,从而得到你常用的用户名及更多信息,使得攻击可以进一步推进。

、利用社工库(社会工程学数据库)进行密码攻击

将各大网站泄露的数据库下载(很多泄露的数据库依然可以下载到),整理并按照自己的需求做成数据库,被称为社工库。社工库可以通过一个信息入口(如姓名、用户名、电话、邮箱等信息)快速找到更多信息甚至密码,这也是人肉搜索中的重要的手段。事实证明,互联网中泄露的数据库,在检索时某人信息时,命中率超过30%。

在已知文件加密者身份的前提下,配合社工库制作密码字典库,比如姓名首字母+生日、姓氏拼音+一段数字等等,对加密文件进行有针对性的密码字典暴力攻击,这将有效提高成功率。

七、怎么做才能让我的密码无法被破解?

首先,选择安全的加密算法(这是前提),其次,使用尽可能长、尽可能复杂的密码(前提是你必须记住它)。

参考资料:《An Intensive Introduction to Cryptography(加密学导论)》—开源英文电子书

商用密码恢复可联系我司,我司拥有高新技术、专业的高算力设备、配合优秀的字典库以及社会工程学的分析,可以将破解成功率提升至最高,避免因重要资料丢失给企业带来损失。


相关文章