web-dev-qa-db-ja.com

画面キャプチャアプリケーションの検出または防止

非常に機密性の高い情報を表示するアプリを作成しているので、次のいずれかを行えるようにしたい

  • 画面をキャプチャする機能を無効にします
  • キャプチャ中に画面上にあるアプリの部分を編集します
  • 画面キャプチャがイベント、フック、ログなどを介して行われたことを検出します

上記のいずれかはWindowsでも可能ですか?もしそうなら、どのように?

[〜#〜] update [〜#〜] Windowsイベントログで画面キャプチャを確認してみました。私はウェブ全体を検索しましたが、それを実行できるウィンドウフックを見つけることができませんでした。どんなアイデアでも大歓迎です

Context:2つのエンティティがあります。私のアプリを使用したい通常のユーザー(User A)と、User Bが使用する前にマシンにアクセスできるサードパーティ(User A)。 User Bの目的は、User Aのセッション中に画面キャプチャソフトウェアを使用して機密情報を盗むことです。したがって、VMの使用や、現在のユーザーの明示的なアクションが必要なものは含まれていません

4
Ody

これに関するブログ記事を少し前に読みました: http://www.patrick-wied.at/blog/image-protection-on-the-web

彼のアプローチは、単一の静止画像の代わりにインターレース画像を使用することです。たとえば、ストライプの形で画像をいくつかの部分に分割し、それらを非常に高速に交互に表示します。このようにして、画面にキャップを付けようとすると、元の画像の一部だけが-アルゴリズムによっては読み取れなくなる可能性があります-が表示されます。

Windowsでは、透明な縞模様のある複数の画像でアプリケーションをオーバーレイしようとしました。おそらく、テキストボックスのみをオーバーレイするか、表示/非表示を切り替えることができます...

これを回避するには、繰り返しスクリーンキャプチャを慎重に取り、それらを一緒にパズルする必要があります。または、JörgW Mittagが指摘したように、シャッター速度が遅いDSLRを使用します。

これが実際に問題の実用的な解決策であるかどうかはわかりませんが、このアプローチは独創的です。

4
zuiqo

私はあなたの最良の選択肢はその特定のコンピュータをインターネットから永久に切断することだと信じています。

この方法では、プログラムがキーボードのログの画面をキャプチャした場合でも、接続がないため、どこにも送信できません。

もちろん、接続する必要がなく、ネットワーク上のすべてのコンピューターが常にインターネットから切断されていることが確実でない限り、ネットワークからも切断する必要があります。

これが今のところ最も安全な方法です。

追伸インターネットにアクセスする必要がある場合は、機密情報が含まれていないコンピュータからアクセスしてください。

0
Mohamed Tahir

これを行う方法があり、他の回答に基づいて必ずしもあきらめる必要はありません。

私はデータの「印刷」が制限されているアプリを使用しています。スクリーンショットアプリを使用すると、ユーザーが単に画面を取得するのを防ぐために画面が暗くなります。

もちろんカメラを使用することもできますが、これは本当に苦痛であり、ユーザーがIPの用語に違反するのを防ぐにはおそらく十分です。

個人情報の盗難やアカウントのハッキングなど、データの盗難に関するものであれば、おそらくカメラの写真で十分です。

0
wcndave