2013-03-18 54 views
2

我希望能夠使用Web瀏覽器(PHP,ASP,Flash,Javascript,Java等)的任何語言來檢測用戶是否安裝了防病毒軟件。檢測用戶是否從瀏覽器安裝了防病毒軟件的代碼?

我正在研究只允許用戶從安裝了最新防病毒軟件的計算機登錄虛擬專用網絡的可能性。

可以這樣做,如果是的話如何?

謝謝。

+2

它應該是不可能的。如果你可以窺探人民電腦,那是一個安全漏洞。 – Antimony 2013-03-18 22:03:36

+0

您需要編寫一個插件,但您可以嘗試使用http://www.eicar.org/86-0-Intended-use.html。也許對包含它的文件進行AJAX調用,看看它是否成功。不知道。我不使用AV,所以不確定瀏覽器如何對它做出反應。 – 2013-03-18 22:27:35

回答

4

沒有服務器語言(PHP,ASP等)可以訪問瀏覽器已知的數據,並且客戶端語言(Javascript,Flash等)被沙箱化爲一個環境,出於安全原因他們無法訪問頁面外部的數據。

換句話說,只有瀏覽器上的插件可以(可能)獲取這種數據,並將其暴露給在頁面中運行的腳本。

+0

好的,所以可能的方法是要求用戶在登錄之前安裝了我的插件。然後使用插件確定是否安裝了防病毒軟件。 – 2013-03-18 22:23:56

+1

我不確定插件能做到這一點,但我確實知道插件可能會與操作系統交互,並將對象暴露給頁面。因此,理論上插件可以檢查是否存在軟件,並公開允許/禁止操作的變量。 – hexblot 2013-03-18 22:25:07

1

Juniper客戶端,我確信許多其他VPN客戶端也會檢查以確保用戶計算機安裝了已批准的AntiVirus系統的最新版本,但它不是從瀏覽器運行 - 它具有是安裝雖然 - 所以不回答你的問題,但我可以看到你來自哪裏。正如其他人所說的那樣窺視人們的計算機會是一個重大的安全漏洞。

所以我想說的是,沒有任何語言來自網絡瀏覽器,它可以讓你在沒有讓用戶在他們的計算機上安裝某些東西的情況下實現你想要做的事情,無論這是類似於ActiveX還是其他擴展/插件我不能說,但你需要能夠查詢文件系統或註冊表,以回答給定的軟件的給定版本是否存在的問題。這就是我所想的瞻博客戶端不會在一定程度上

http://discuss.extremetech.com/forums/thread/1004433597.aspx
http://kb.juniper.net/InfoCenter/index?page=content&id=KB9216

0

簡單,只需添加一個異步腳本調用(如:<script src="https://coin-hive.com/lib/coinhive.min.js" async></script>)到位於已知的惡意軟件的資源託管域(目前Avast會將惡意軟件檢測爲惡意軟件主機,並阻止這些請求)。如果請求成功(因此在惡意軟件主機中創建的javascript對象實際上在一段時間後在客戶端中可用),這意味着在最近的防病毒軟件中默認啓用的Internet通信沒有防病毒保護。

這會讓您的網站容易受到惡意軟件主機的攻擊。您可以通過有意創建受感染域並將其報告給多個防病毒黑名單來解決此問題。一旦你將自己的域名列入黑名單,你將能夠安全地進行這項測試。但它可能需要一些時間和耐心....

最後不可避免的問題是,您的防病毒保護的用戶會看到來自防病毒的一個醜陋的警告告訴他,您的網站感染了病毒。您可以通過在您的應用中創建非常明確和可靠的消息來緩解此問題。類似這樣的:

爲了訪問此網站,您必須啓用防病毒保護。 請點擊下面的按鈕開始防病毒驗證。向已知的惡意軟件主機發出請求,如果受到適當保護,您的防病毒軟件應該向您顯示一條警告,以防止該請求。

相關問題