我正在学习有关文件格式的知识。我有一个应用程序将进行分析,并将有一些个人信息。我需要这样做,只有一些人能够访问数据,即使是那些人获得非常有限的访问,根据我将提供的api。我正在考虑加密,以及使用专有格式,使其难以反向工程的任何东西。加密只允许有密钥的人访问数据,而文件格式将阻止人们直接查看数据,并且只使用平台的api。虽然我对此不太了解,但我听说反向工程文件格式相对容易。我想要创建一个文件格式,这将是很难反向工程,以便应用程序是安全的。请给我指点什么将有助于使格式难以反向工程。此外,是否有任何指标可以帮助了解反求工程攻击算法的安全性?
发布于 2017-05-21 16:04:07
我正在考虑加密,以及使用专有格式,使其难以反向工程任何东西……我想要创建一个文件格式,这将是很难反向工程,以便应用程序是安全的。
与简单的文件格式相比,难以反向工程的文件格式在应用程序中更难正确实现。这意味着测试应用程序将变得更加困难和奇怪,并且很难重现bug。而且,可能会在没有人注意到的情况下引入与安全性相关的bug,因为支持复杂格式的代码比支持简单格式的代码要难得多。
因此,应用程序不会更安全,但实际上安全性更低。
总之:不要试图通过增加不必要的复杂性来达到安全性。相反,为了安全起见,请保持简单,并依赖于正确实现的加密,因为您无论如何都想使用加密。
发布于 2017-05-21 16:12:05
创建一个难以反向工程的文件格式是你不应该追求的,因为它可能会不必要地耗费时间,而且最终是无效的。
如果用户可以访问应用程序,那么通过更改应用程序中的少量数据并观察文件中的变化,逆向设计格式通常是非常简单的。你必须期待这比反向工程混淆的可执行文件更容易。
如果您担心用户可能会从您提供给他们访问的文件中提取敏感数据,则您必须对应用程序的设计进行过度考虑。这不是通过混淆就能解决的问题。
https://security.stackexchange.com/questions/160057
复制相似问题