暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle DBMS_CRYPTO例程的审计

ASKTOM 2019-09-26
365

问题描述

更高级别的数据库用户帐户是否有可能审核或检测传递给DBMS_CRYPTO加密和解密例程的参数 (尤其是密钥) 和/或从这些调用返回的结果?如果是这样,是否有任何方法可以检测或防止这种情况 (首选Oracle的当前或最新版本)?

Results = DBMS_CRYPTO.DECRYPT(Parameters);
Results = DBMS_CRYPTO.ENCRYPT(Parameters);


专家解答

我不确定您所说的 “更高级别的” 数据库帐户是什么意思?

如果您的意思是DBA,那么如果DBA具有对数据库的完全访问权限,那么肯定有机制可以通过它们提取传递的参数的值。

显然,有一些很好的做法使这一点变得困难,例如不要在调用中使用文字,因为它们将通过简单查询V $ SQL可见,但即使使用绑定变量,然后有诊断设施,DBA可以访问,让他们转储绑定变量,特别是如果他们有操作系统访问 (跟踪文件等)。

最终,如果你不信任你的dba,你有很多事情要担心,更多的是组织流程,而不是技术问题。但是,如果您必须阻止DBA访问事物,那么您将研究诸如Data Vault之类的解决方案。

https://www.oracle.com/database/technologies/security/db-vault.html

回到临时用户,只要用户无法访问V $ 视图,因此可以嗅探绑定变量之类的东西,那么他们将无法看到数据库服务器中使用的密钥,但是显然,您需要确保整个堆栈的控制级别 (例如,通过网络飞行的密钥等)。

关键管理是 .... 难。
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论