首页
社区
课程
招聘
[讨论]穷举攻击的末路
2014-1-21 19:56 6516

[讨论]穷举攻击的末路

2014-1-21 19:56
6516
  一般用流密码加密用户密码不受限制,如果密码较长穷举攻击是无可奈何的。但是密码过长则不便于记忆。本文探索一种方法,即使密码不怎么长也没关系,穷举攻击仍然无可奈何。
  方法很简单就是在加密时除了一般的用户密码输入外,让加密程序去关联一个文件,这个文件可以是任何文件,唯一要求是在加密解密过程中数据保持不变,你可以使用操作系统的文件,或自己特设的文件,使用中检测其是否变动,加密程序将使用这个文件中的数据参与运算。
  这样不但穷举攻击将面临无限多选择而无法使用,分析法也将由于添加了许多未知数而不可能成功。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
打赏
分享
最新回复 (10)
雪    币: 53
活跃值: (42)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
liwenl 2014-1-21 20:25
2
0
我通过分析知道你用的哪个文件 不就破解了?
雪    币: 40
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
青v云 2014-1-21 21:51
3
0
这不就是加了salt吗, 只不过很长而已
雪    币: 10014
活跃值: (2012)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
sjdkx 2014-1-21 22:23
4
0
  不是啊,跟salt不同。
  关联文件是需要用户选择的,无法分析用户选择的文件,就像无法猜出用户密码一样。
雪    币: 11
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rqqeq 2014-1-21 22:28
5
0
你这就相当于是指定任意文件为密钥文件一样的思路
TrueCrypt有类似功能
雪    币: 11
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rqqeq 2014-1-21 22:29
6
0
文件数目是非常有限的……
而且如果你把这文件藏起来的话……不就等于设定超长密码……然后把密码抄下来藏起来一样……
雪    币: 108
活跃值: (44)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
bakurise 2014-1-22 13:24
7
0
某软件的做法非常好,能有效的改善穷举攻击,类似原理是使用多次加密,将一次密码计算的时间拉到非常长。

这个情况下穷举的话效率也非常低。

例如:

for (i = 0; i < 10000; i++)
{
    s = md5_sha_aes(s)
}

个人的一个小看法
雪    币: 10014
活跃值: (2012)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
sjdkx 2014-1-22 14:02
8
0
  可以选择的文件是很多的,例如操作系统的exe或dll文件,这些文件也相对稳定些,当然能使用自己制作的乱码文件就更好了。
  选择的关联文件是和用户密码一同使用的,采用其中什么数据都是用户密码直接控制的,所以即使知道了被选择文件也没有用。除非同时猜中了用户密码和关联文件。
雪    币: 33
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
idoiter 2014-1-22 14:04
9
0
我只想,你怎么解密。
雪    币: 10014
活跃值: (2012)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
sjdkx 2014-1-22 16:51
10
0
  解密和加密一样需要输入用户密码并且选择关联文件。
雪    币: 10014
活跃值: (2012)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
sjdkx 2014-2-9 07:50
11
0
  如何关联文件?仅举一例:例如加密程序关联了文件A,文件长度为N,加密程序从N/2处取值,如果取到的数值是零或和上一个值相同则向后继续取值,这样取M个字节,可将其并入用户密码参与运算......。
游客
登录 | 注册 方可回帖
返回