4

非常に徹底的な調査の結果、Oracle のデータベース内にコードを隠す (つまり、ルーチン、関数、パッケージ、およびトリガーのコードを保護する) 現実的で信頼できる方法はないように思われます。

難読化 (WRAP) は最初は有望でしたが、難読化を元に戻して元の (読み取り可能な) コードを取り戻すのは非常に簡単であるため、役に立たないことが判明しました。

それで、私があきらめる前に、コードを実際に隠すことを可能にするオラクルでサポートされている方法はありますか? (つまり、資格情報を使用してアクセスをブロックする以外に)。

4

2 に答える 2

0

ラッピングのアイデアはまったく好きではありませんが。双方(クライアント/ベンダー)にとって有益ではないため。プロシージャ/関数のラッピングは、パッケージの場合とは異なる方法で機能すると言わざるを得ません。

パッケージの場合、ラッピングは単純にバイトを置き換えます。プロシージャーの場合、Oracle は ADA 仮想マシンの p-code を保管します。これはリバースエンジニアリングがはるかに困難です。

とにかく、セッション トレースを非表示にする方法はありません。したがって、DBA は常に PL/SQL コードによって実行される SQL ステートメントを確認できます。

于 2015-06-28T12:13:19.137 に答える