1、1,口令破解,2,内容概要,口令的密码学基础 加密脆弱性产生的原因 常用软件的口令加密和存储方法 常用口令破解方法 口令破解工具 如何有效的保护数据 练习,3,不包括的内容,密码算法的细节 密码协议 密码技术的其它应用,4,内容概要,口令的密码学基础 加密脆弱性产生的原因 常用软件的口令加密和存储方法 常用口令破解方法 口令破解工具 如何有效的保护数据 练习,5,一些定义,消息:我们所关心的数据,也称明文 加密:用某种方法伪装消息以隐藏其内容的过程称为加密,相反的过程称为解密 算法:用于加密和解密的数学函数 受限制的算法 密钥:密钥索引算法 密码系统:由算法及可能的明文、密文和可能的密钥组成,
2、6,加密的作用,机密性 秘密,访问控制,权限控制 鉴别 完整性 不可否认性,7,对称加密,加密密钥能够从解密密钥中推算出来,反过来也成立,也称秘密密钥算法或单密钥算法,8,对称加密算法,密码系统的安全性不依赖于算法的保密 而是依赖于使用的密钥,9,密钥长度,32 Bit key length - 232 = 4.300.000.000 40 Bit key length - 240 = 1.100.000.000.000 56 Bit key length - 256 = 72.000.000.000.000.000 128 Bit key length - 2128 = 34.000.000
3、.000.000.000.000.000.000.000.000.000.000,10,主要的对称加密算法,分组算法 DES, 3DES, IDEA, AES 序列算法 RC4, SEAL,11,公开密钥算法,也称非对称算法,加密密钥和解密密钥不同,解密密钥不能根据加密密钥计算出来 RSA算法 Diffie-Hellman算法,12,单向散列函数,作用于一任意长度的消息,返回一固定长度的散列值, h=H(M) 给定M,很容易计算h 给定h,根据H(M)=h计算M很难 给定M,要找到另一消息M并满足H(M)=H(M)很难 知名算法 MD5 SHA, SHA-1,13,单向散列函数,14,密码分析
4、,唯密文攻击 已知明文攻击 选择明文攻击 自适应选择明文攻击 选择密文攻击 选择密钥攻击 人为方法,全部破译 全盘推导 实例(局部)推导 信息推导,15,算法的安全性,数据复杂性 用作攻击输入所需的数据量 256=1017, 宇宙至今存在1018秒 处理复杂性 完成攻击所需要的时间 存储要求 进行攻击所需要的存储量,16,内容概要,口令的密码学基础 加密脆弱性产生的原因 常用软件的口令加密和存储方法 常用口令破解方法 口令破解工具 如何有效的保护数据 练习,17,脆弱加密的产生原因,弱加密算法 加密算法的错误实现 加密算法的错误应用 人为因素,18,弱加密算法,加密算法的应用限制(数据量大,高
5、性能要求) Norton DiskReet, Stacker 加密算法的出口限制 IE, Netscape Communicator, ARJ 2.60 私有加密算法 Office 95, ARJ, Novell, Microsoft LM-hash,19,加密算法的实现错误(一),密钥产生降低了算法强度 Old UNIX, Novell, RAR1.5 缺少弱密钥测试 DES, IDEA 针对恶意软件保护不足 口令窃取, 算法替代, 木马程序,20,加密算法的实现错误(二),密钥处理依赖于时间 时间攻击 软件实现错误 Novell Netware 3.12, SYSCON 3.76 后门 A
6、WORD BIOS 4.51, Paradox 随机数产生问题 Netscape Navigator 1.1 (SSL),21,加密算法的错误应用,短密钥 512位RSA, 48位RC5, 56位DES 算法类型的错误选择 AMI BIOS 挑战-响应 密钥的重复使用 Windows 3.1和Windows 95的早期版本 密钥和数据保存在一起 www, ftp, e-mail client,22,人为因素,口令选择 口令设置的心理学因素 用户名 用户名+用户名 用户姓名 单词+数字 搜索攻击,字典攻击 10 to 40% 的口令可以使用字典攻击破解,其中50%的口令在1000个单词当中,23
7、,内容概要,口令的密码学基础 加密脆弱性产生的原因 常用软件的口令加密和存储方法 常用口令破解方法 口令破解工具 如何有效的保护数据 练习,24,口令使用方式,口令保存在文档中 口令的Hash值保存在文档中 使用算法和口令对文档加密,25,Word 97/2000中的口令,写保护口令保存在文档中 文档保护口令的Hash值保存在文档中,32位,可以替换Hash值使密码失效 文档打开口令 使用RC4算法对文档加密 128位Hash值用来做口令验证 由于出口限制,密钥限定为40位,26,Excel 97/2000中的密码,写保护口令保存在文档中 文档保护口令的32位Hash值保存在文档中,可以替换H
8、ash值使口令失效 文档打开口令 使用RC4算法对文档加密,128位Hash值用来做口令验证 由于出口限制,密钥限定为40位 工作表口令 保存为16位的口令Hash值 工作簿口令 保存为16位的口令Hash值,算法同工作表 文档被加密,密钥为“VelvetSweatshop”,27,VBA宏保护,Office 97 口令存储使用了很弱的加密算法,可以即时恢复 Office 2000 调用Windows CryptAPI进行加密 使用SHA算法生成口令Hash值,可以使用暴力破解或者字典攻击,也可以修改/替换Hash值使口令失效,28,Outlook PST文件,保存口令的32位Hash值,Ha
9、sh算法为CRC-32,一种很弱的算法,29,更早的Office版本,Office 95以前使用口令导出的一个序列对文档进行异或,由于序列很容易猜测,可以在数秒内破解。,30,ZIP文档,使用特定算法加密,每个口令被映射为3个32位长的密钥 明文攻击比较有效(12字节的明文) 暴力破解,字典攻击 确保的Winzip文件破解(zip包中至少包括5个压缩文件),31,ARJ文档,很弱的异或算法用来加密 已知明文攻击 暴力破解 最新版本可以选用GOST算法,32,PDF文件,标准安全 属主口令 可以修改文档安全性,定义文档使用限制 保存Hash值 用户口令 打开文档 40位长的RC4算法对文档进行加
10、密,密钥由口令导出,33,操作系统,获取口令 Unix, Windows NT 暴力攻击,字典攻击 Novell 已登录系统,修改Hash值,使口令失效 Novell, NT,34,内容概要,口令的密码学基础 加密脆弱性产生的原因 常用软件的口令加密和存储方法 常用口令破解方法 口令破解工具 如何有效的保护数据 练习,35,常用口令破解方法,一字节修复 字典攻击 组合攻击 暴力攻击 已知明文攻击 基于规则的攻击 窃听 社会工程,36,一字节修复,直接获取口令或者修改HASH值使得口令失效 密码保存在文档中 Word/Excel 97/2000/XP的写保护口令 密码的Hash值保存在文档中 W
11、ord/Excel 97/2000/XP的文档保护口令 Excel 97/2000/XP工作簿和工作表保护 ICQ, Yahoo Messenger, MSN Messenger Outlook Express Lotus文档,Word Perfect文档 PDF主口令 Fox-mail, Eudora,37,字典攻击/暴力攻击/ 复合攻击/基于规则的攻击,采用保存在字典中的单词或者使用穷举法进行攻击 使用算法和密码文档对文档加密 Office 文档打开口令 PDF用户口令 压缩文件(Zip, ARJ, RAR, ACE) NT/2000/XP用户口令,38,已知明文攻击,已知部分明文, 计算
12、密钥并进一步推导出可能的口令 ZIP, ARJ,39,其它攻击方式,窃听 Sniffer, TCPDump, IDS 社会工程 凯文.米特尼克 美人计 ,40,破解技巧,不要首先使用暴力攻击,尽量采用更有效的方法 规则攻击 明文攻击 字典攻击,41,内容概要,口令的密码学基础 加密脆弱性产生的原因 常用软件的口令加密和存储方法 常用口令破解方法 口令破解工具 如何有效的保护数据 练习,42,口令破解工具,破解口令或者使口令失效的程序 并非对数据解密 使用同样算法 进行比较分析,43,推荐站点,44,Windows系统口令暴力破解,工具:WMICracker 适用目标:Windows NT/20
13、00/XP/2003 使用条件:目标主机开放135端口,45,Windows系统口令暴力破解,工具:SMBCrack 特点:没有采用系统API,针对Windows2000系统扫描速度很快,但针对NT系统速度则较慢。 Windows2000可以在同一个会话中多次尝试密码探测,而Windows NT每一次认证失败后会有3秒的延迟。,46,Windows系统口令暴力破解,工具:CNIPC NT 弱口令终结者 特点:同时也是弱口令扫描器 对存在IPC$空连接的服务器自动进行口令猜测,47,推荐站点(二),48,内容概要,口令的密码学基础 加密脆弱性产生的原因 常用软件的口令加密和存储方法 常用口令破解方法 口令破解工具 如何有效的保护数据 练习,49,如何有效地保护数据,使用安全的加密工具 PGP v2.6.2, gnuPGP 使用长的口令 不要将口令贴在显示器上 不要使用同样的口令,50,练习/讨论,