2

ボタンが付いたWindowsGUIアプリケーションがあるとします。BM_CLICK呼び出しのパラメーターとしてsendMessagewinapi呼び出しを使用することにより、そのボタンのクリックをシミュレートできます。

さて、セキュリティの観点から、私はこれが起こらないようにしたいと思います。つまり、ターゲットプロセスは別のプロセスからのsendMessage呼び出しを無視する必要があります。これを行うための規定はありますか?sendMessage呼び出しを認証する方法は?

編集:言い換えると、Enabler、TurnitOnなどのアプリケーションを防ぐにはどうすればよいですかhttp://www.raymond.cc/blog/how-to-enable-and-access-disabled-grayed-out-buttons-windows-and-チェックボックス/ユーザーがアクセスすることを意図していない機能にアクセスすることから?

4

1 に答える 1

2

アプリケーションがユーザー自身のコンテキストで実行されている場合、アプリケーションはユーザーが実行できることのみを実行できます。これの当然の結果として、見過ごされがちですが、アプリケーションが実行できることはすべて、ユーザーが実行できるということです。

したがって、そのようなアプリケーションのボタンが「本当に」無効になっているかどうかについてあまり心配する必要はありません。ユーザーは、ボタンがとにかくやろうとしていたことを何でもする別の方法をいつでも見つけることができます。(これは、レジストリエディターを使用するか、同じ機能を持つ別のアプリケーションを取得するか、他に便利なものがない場合は、デバッガー内でアプリケーションを実行して、ボタンを再度有効にすることができます。)

適切な解決策は、コンテキストによって異なります。

  • 多くの場合、最も適切な解決策はそれについて心配するのをやめることです。ユーザーを信頼できるはずですが、信頼できない場合、それはHRの問題であり、技術的な問題ではありません。

  • アプリケーションが、たとえばウイルス対策ソフトウェアのフロントエンドなど、より高いコンテキストで実行されているものへのインターフェイスを提供している場合、セキュリティの決定(ユーザーはこれを行うことができますか?)はバックで行われる必要があります。終わり。つまり、セキュリティの決定は、ユーザーが制御できないコードによって行われる必要があります。

  • キオスクマシン(信頼できないユーザーが使用するマシン、通常はある種の単一のゲストアカウントを使用するマシン)をロックダウンしようとしているシステム管理者の場合は、AppLockerまたはソフトウェア制限ポリシーを使用して、ユーザーは実行を許可されます。EnablerとTurnItOnはリストに含まれないため、ユーザーはセキュリティポリシーをバイパスするためにそれらを実行することはできません。

于 2012-08-09T02:26:27.213 に答える