2017-10-10 71 views
0

我们在我们的应用程序(Xamarin C#跨平台)中有几个地方处理敏感信息 - 所以我们使用密码保护数据库(SQLCipher),并加密我们在数据库之外存储的数据。然而,我认为确定的黑客在我们的应用程序和数据库DLL之间注入DLL并且在Connect()函数中查看密码并且在我们的应用程序之间注入DLL同样也不困难以及任何系统DLL提供System.Security.Cryptography并查看我们的AES密钥。通过DLL注入窃取密码?

有没有办法防止这种情况发生?还是我不正确,这实际上不是一个很大的安全风险?

+0

应用程序包已签名,您不能动态更改代码而不破坏签名。我认为安全风险很低,但您必须根据客户的容忍度等来评估。 – Jason

+2

Raymond Chen称之为“处于气密舱口的另一侧”。当有人有足够的权利将恶意DLL复制到安装文件夹并诱使你的程序加载它时,他不会费心去做这件事。他会简单地替换你的程序。 –

回答