Questions tagged «initrd»

2
破解以下复制保护有多容易?[关闭]
这个问题不太可能对将来的访客有所帮助;它仅与较小的地理区域,特定的时间段或格外狭窄的情况(通常不适用于Internet的全球受众)有关。要获得使该问题更广泛适用的帮助,请访问帮助中心。 6年前关闭。 我正在尝试对某些工作进行复制保护,这是一个可引导SD卡,用于在ARM设备(Raspberry Pi)上引导Linux内核。我正在使用这种方法: 该方法使用initrd挂接加密的根文件系统。 initrd根据SD卡的CID生成文件系统的密码。(使用了哈希函数,尚未决定是否通过md5或sha1)。Initrd将尝试使用生成的密码来挂载文件系统。 现在,这是最有趣/可疑的部分:initrd本身使用自定义C函数加密,基本上每个字节都使用自定义伪随机生成器进行XOR运算。内核被修改为具有相同的加密功能,可以用作解密程序。 系统本身已被精简,因此无法使用键盘或外部存储器。单个应用全屏运行。 因此,在引导加载程序加载内核和initrd之后,内核解密initrd并执行其init脚本,这将生成密码并挂载根文件系统。 我的问题是:破坏此设置(解密根文件系统并使其从任何SD卡启动)有多容易?最薄弱的部分是什么?反编译内核并找到那些自定义的加密函数有多容易? 编辑:这是一些更正,所以您不会在明显的事情上浪费时间: 根设备将使用LUKS(aes256)进行加密,并且密钥将由某些HMAC功能使用SD卡的CID和一些盐生成。 实际上,用于initramfs加密的伪随机算法将是RC4,只是使用某些自定义函数生成密钥,因为如果我仅将密钥存储在字节数组中,则将其检索变得非常简单(是的,这是通过默默无闻来实现的安全性)但似乎没有其他方法)。 我知道如果使用SD卡仿真器,某人可以复制该系统,但这对我来说是可以的,因为这样做很困难,而且没有人可以做到这一点。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.