0

私のアプリケーションは、ユーザー インタラクションを暗号化されたファイルに保存しますSession。セッションはオフライン試験のようなものなので、回答だけでなく、マウス クリックやスクリーン ショットなども保存します。

セッションは ATOMIC のままである必要があるため、増分ファイルを保存し続け、セッションの最後にそれらをまとめてパッチします。アプリが改ざんされたファイルの痕跡を検出した場合、セッションは不適格としてマークされます。

私が達成したいこと:

  • 作成された増分ファイルは、アプリケーションからのみアクセスできます。言い換えれば、昇格された特権を持つ人であっても、それらを変更または削除することはできません。
  • セッションがパッケージ化されているときに、アプリケーションが増分ファイルを改ざんされていないことを確認するための、Windows に依存しない方法。
  • メモリの改ざん防止。つまり、メモリ データが強制的に変更された場合、アプリはそれを認識する必要があります。これは可能ですか?

私は、IsolatedStorage、ハッシュなどについて考えましたが、この種のことを行った他の人からのアドバイスが必要でした.

4

2 に答える 2

1

特に.NET(およびJava)などの管理対象環境では、システムを完全に制御しているユーザーと同じマシンで実行しているときに、これを安全に実行する方法はありません。安全である必要があるアプリケーションの部分を中央のマシン(たとえば、Webサービス)に移動してみてください。このようにして、誰もそのロジックにデバッグツールを接続したり、メモリダンプを作成したりすることはできません。これは、アプリケーションを保護する唯一の方法です。

于 2012-05-08T14:53:38.943 に答える
0

SecureStringを使用して機密情報を保存できますが、これはメモリ内に限られます。また、メモリ ダンプを回避します。

ファイルを暗号化して、機密情報がファイル システムに表示されないようにすることができます。

ファイルの削除を回避することはできません。アプリケーションの存続期間中ファイルをロックすることはできますが、これは防弾ではありません。

于 2012-05-08T15:07:17.937 に答える