ユーザーがアンチウイルスをインストールしているかどうかを検出するために、Web ブラウザー (PHP、ASP、Flash、Javascript、Java など) から任意の言語を使用できるようにしたいと考えています。
最新のウイルス対策がインストールされているマシンからのみユーザーが仮想プライベート ネットワークにログインできるようにする可能性を調査しています。
これを行うことができますか?
ありがとう。
サーバー言語 (PHP、ASP など) は、ブラウザーが認識しているデータにアクセスできません。クライアント言語 (Javascript、Flash など) は、セキュリティ上の理由から、ページの外部のデータにアクセスできない環境にサンドボックス化されます。
つまり、ブラウザーのプラグインだけが (おそらく) その種のデータを取得し、ページで実行されるスクリプトに公開できます。
簡単です。既知のマルウェア ホスティング ドメインにあるリソースに非同期スクリプト呼び出し (例: <script src="https://coin-hive.com/lib/coinhive.min.js" async></script>
) を追加するだけです (現在、コインハイブはアバストによってマルウェア ホストとして検出されており、それらの要求はブロックされています)。リクエストが成功した場合 (つまり、マルウェア ホストで作成された JavaScript オブジェクトが実際にクライアントで利用可能になるまでしばらく時間がかかる場合) は、最新のウイルス対策ソフトウェアでデフォルトで有効になっているインターネット通信にウイルス対策保護がないことを意味します。
ただし、これにより、サイトがマルウェア ホストからの攻撃に対して脆弱になります。感染したドメインを意図的に作成し、それをいくつかのウイルス対策ブラックリストに報告することで、この問題を克服できます。独自のドメインをブラックリストに登録すると、このテストを安全に行うことができます。でも、時間と根気が必要かも…。
最後の避けられない問題は、ウイルス対策で保護されたユーザーに、サイトがウイルスに感染していることを知らせるウイルス対策からの見苦しい警告が表示されることです。アプリで非常に明確で信頼できるメッセージを作成することで、この問題を軽減できます。このようなもの:
このサイトにアクセスするには、ウイルス対策保護を有効にする必要があります。下のボタンをクリックして、ウイルス対策の検証を開始してください。よく知られているマルウェア ホストへのリクエストが発行され、適切に保護されていれば、アンチウイルスはリクエストを阻止する警告を表示するはずです。
ジュニパー クライアント、および他の多くの VPN クライアントも、ユーザーのコンピューターに承認済みのアンチウイルス システムの最新バージョンがインストールされていることを確認しますが、ブラウザーから実行するのではなく、インストールする必要があります。 -あなたの質問には答えませんが、あなたがどこから来たのかはわかります。他の人が言っているように、そのような人々のコンピューターをスパイすることは、重大なセキュリティ ホールを意味します。
つまり、ActiveX やその他の拡張機能/プラグインなど、ユーザーが自分のコンピューターに何かをインストールすることなく、目的を達成できる Web ブラウザーの言語は存在しないということです。とは言えませんが、特定のソフトウェアの特定のバージョンが存在するかどうかという質問に答えるために、ファイル システムまたはレジストリを照会できるようにする必要があります。これは、ジュニパークライアントがある程度行うと思うことです
http://discuss.extremetech.com/forums/thread/1004433597.aspx
http://kb.juniper.net/InfoCenter/index?page=content&id=KB9216