プロジェクト:私は現在、セキュリティ システムを開発しており、システムはサポートのためにレジストリに依存しています。
問題: 誰かが私が使用しているレジストリ キーを見つけることができた場合、その人はシステムをバイパスする可能性があります。 レジストリ キーでのアクティビティが隠されるように、レジストリ モニタやその他のソフトウェアを回避できる必要があります。
誰かがこれを行う方法を知っていますか、またはこの目的に使用できるより良い方法はありますか?
ありがとうございました。
管理者からソフトウェアを隠そうとするのはなぜですか? 管理者はマシンを所有しており、通常はマルウェアだけがマシンの所有者から身を隠そうとします。
ほとんどの検出試行に対して機能するルートキット タイプの手法があります。しかし、そのような手法に頼る必要がある場合、ソフトウェアは真のルートキットに似たものになります。これは通常、悪いことです。実際、一部の AV (および RootkitRevealer などのツール) は、ソフトウェアを見つけて強制終了します。本当にそのタイプの戦いに参加しますか?
何を保護または防止しようとしているのかを知らずに、適切な代替案についてアドバイスすることは困難です。最初のアクションは、脅威モデルを作成することです。次に、デジタル証明書を使用して個人情報を秘密に保ち、検出できない改ざんから解放する手法を検討することをお勧めします。アプリは、顧客が気付かないうちに独自のデジタル証明書を合法的にインストールできます。
編集:あなたのコメントに答えて、証明書の削除が検出されることを確認する最善の方法は、インストール中にマシンの ID のハッシュを使用して「電話をかける」ことです。ハッシュは、マシンに関する情報を提供することなく、マシンを一意に識別します。Desaware のライセンス システムなど、これらすべてを行うライセンス スキームがあります。
正しいことは、使用されているレジストリ キーを知っているだけではバイパスできないシステムを設計することです。
絶対確実というわけではありませんが、最も一般的なもの (RegMon や Process Explorer など) を探すことができます。それらが実行されていないことがわかった場合は、それらを無効にする必要があることをユーザーに知らせるダイアログを表示できます。継続する。ただし、インストールの開始後に彼が再び開始しないように、それらをチェックし続ける必要があります。これは、一部のゲームのコピープロテクトが行うことだと思います。
ユーザーは、インストール前にレジストリのほとんど/すべてのセクションをテキスト形式でエクスポートし、その後もう一度エクスポートして比較を行うことができると思っていましたが、何も実行されていないことを確認できたとしても、まだできません変更が見つからないことを確認します。