我们可以使用 TDE 作为一种反注入技术吗?

suj*_*lil 1 sql-server sql-injection encryption transparent-data-encryption

TDE通过将文件恢复到另一台服务器来防止对数据的未授权访问,因为它需要原始加密证书和主密钥。

如果我使用 TDE 对我的数据库应用了表级加密,并通过正确的身份验证从我的 Windows 应用程序访问数据库。考虑到入侵者正在尝试某种注入技术,我的问题是他收到的是原始数据还是加密数据?或者我们可以使用TDE as an anti-injection technique吗?我的应用程序中的查询可能如下所示:

Dim myQuery="Select * from myTable where some_id='" & txtUserId.Text & "'
Run Code Online (Sandbox Code Playgroud)

这样他们就可以通过提供像sameValue' or 1=1 or '将提供整个数据的文本来注入 sql 。在这种情况下,他是得到加密数据还是实际数据

注意:我不在我的应用程序中使用此类查询,而是在整个应用程序中使用参数化查询和 sp。要求这只是为了澄清。

Jus*_*ave 10

攻击者将获得未加密的数据。

TDE 中的 T 代表“透明”。用户永远不会看到加密的数据。数据库从磁盘读取时透明解密,写入磁盘时透明加密。如果您的应用程序不安全,TDE 不会帮助您堵住这些应用程序安全漏洞。您需要在应用程序中修复它们(因此请使用绑定变量!)